diff --git a/assets/svg/experience-shield-light.svg b/assets/svg/experience-shield-light.svg
new file mode 100644
index 00000000..bede0e26
--- /dev/null
+++ b/assets/svg/experience-shield-light.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/assets/svg/experience-shield.svg b/assets/svg/experience-shield.svg
new file mode 100644
index 00000000..ffd897ab
--- /dev/null
+++ b/assets/svg/experience-shield.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/assets/svg/trait-shield-light.svg b/assets/svg/trait-shield-light.svg
new file mode 100644
index 00000000..dc6f77c3
--- /dev/null
+++ b/assets/svg/trait-shield-light.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/svg/trait-shield.svg b/assets/svg/trait-shield.svg
new file mode 100644
index 00000000..87c18dd7
--- /dev/null
+++ b/assets/svg/trait-shield.svg
@@ -0,0 +1,3 @@
+
diff --git a/daggerheart.mjs b/daggerheart.mjs
index 2b25ce77..99eceed5 100644
--- a/daggerheart.mjs
+++ b/daggerheart.mjs
@@ -272,6 +272,11 @@ Hooks.on('renderJournalDirectory', async (tab, html, _, options) => {
const preloadHandlebarsTemplates = async function () {
return foundry.applications.handlebars.loadTemplates([
+ 'systems/daggerheart/templates/sheets/global/tabs/tab-navigation.hbs',
+ 'systems/daggerheart/templates/sheets/global/partials/inventory-item.hbs',
+ 'systems/daggerheart/templates/sheets/global/partials/domain-card-item.hbs',
+ 'systems/daggerheart/templates/sheets/global/partials/inventory-fieldset-items.hbs',
+
'systems/daggerheart/templates/sheets/parts/attributes.hbs',
'systems/daggerheart/templates/sheets/parts/defense.hbs',
'systems/daggerheart/templates/sheets/parts/armor.hbs',
diff --git a/lang/en.json b/lang/en.json
index 3cb0fb35..106a032b 100755
--- a/lang/en.json
+++ b/lang/en.json
@@ -274,17 +274,17 @@
"SpellcastingTrait": "Spellcasting Trait"
},
"Condition": {
- "Vulnerable": {
- "Name": "Vulnerable",
- "Description": "While a creature is Vulnerable, all rolls targeting them have advantage.\nA creature who is already Vulnerable can’t be made to take the condition again."
+ "vulnerable": {
+ "name": "Vulnerable",
+ "description": "While a creature is Vulnerable, all rolls targeting them have advantage.\nA creature who is already Vulnerable can’t be made to take the condition again."
},
- "Hidden": {
- "Name": "Hidden",
- "Description": "While Hidden, attacks cannot be made directly targeting them nd any rolls against them are at disadvantage.\nWhen a Hidden creature moves or attacks, they are no longer Hidden. However, if a creature is Hidden when they begin making an attack, the roll has advantage; the Hidden condition isn’t cleared until after the attack is resolved."
+ "hidden": {
+ "name": "Hidden",
+ "description": "While Hidden, attacks cannot be made directly targeting them nd any rolls against them are at disadvantage.\nWhen a Hidden creature moves or attacks, they are no longer Hidden. However, if a creature is Hidden when they begin making an attack, the roll has advantage; the Hidden condition isn’t cleared until after the attack is resolved."
},
- "Restrained": {
- "Name": "Restrained",
- "Description": "When an effect makes a creature Restrained, it means they cannot move until this condition is cleared.\nThey can still take actions from their current position."
+ "restrained": {
+ "name": "Restrained",
+ "description": "When an effect makes a creature Restrained, it means they cannot move until this condition is cleared.\nThey can still take actions from their current position."
}
},
"Tiers": {
@@ -1081,6 +1081,8 @@
"PC": {
"Name": "Name",
"Pronouns": "Pronouns",
+ "age": "Age",
+ "faith": "Faith",
"ShortRest": "Take a Short Rest",
"LongRest": "Take a Long Rest",
"Level": "Level",
@@ -1092,7 +1094,9 @@
"Loadout": "Loadout",
"Vault": "Vault",
"Heritage": "Heritage",
- "Story": "Story"
+ "Story": "Story",
+ "biography": "Biography",
+ "effects": "Effects"
},
"Armor": {
"Title": "Active Armor"
@@ -1171,6 +1175,7 @@
"BackgroundTitle": "Background",
"AppearanceTitle": "Appearance",
"ConnectionsTitle": "Connections",
+ "characteristics": "Characteristics",
"Scars": {
"Title": "Scars"
}
@@ -1330,7 +1335,9 @@
},
"Global": {
"Actions": "Actions",
- "Effects": "Effects"
+ "Effects": "Effects",
+ "activeEffects": "Active Effects",
+ "inativeEffects": "Inative Effects"
},
"DomainCard": {
"Type": "Type",
@@ -1421,6 +1428,10 @@
}
},
"Effects": {
+ "duration": {
+ "passive": "Passive",
+ "temporary": "Temporary"
+ },
"Types": {
"health": {
"Name": "Health"
@@ -1446,7 +1457,13 @@
},
"Tooltip": {
"openItemWorld": "Open Item World",
- "delete": "Delete"
+ "sendToChat": "Send to Chat",
+ "moreOptions": "More Options",
+ "equip": "Equip",
+ "unequip": "Unequip",
+ "delete": "Delete",
+ "sendToVault": "Send to Vault",
+ "sendToLoadout": "Send to Loadout"
},
"Actions": {
"Types": {
diff --git a/module/applications/sheets/character.mjs b/module/applications/sheets/character.mjs
index 0c98d2bc..76a8c603 100644
--- a/module/applications/sheets/character.mjs
+++ b/module/applications/sheets/character.mjs
@@ -16,8 +16,8 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
static DEFAULT_OPTIONS = {
tag: 'form',
- classes: ['daggerheart', 'sheet', 'pc'],
- position: { width: 810, height: 1080 },
+ classes: ['daggerheart', 'sheet', 'actor', 'dh-style', 'daggerheart', 'character'],
+ position: { width: 850, height: 800 },
actions: {
attributeRoll: this.rollAttribute,
toggleMarks: this.toggleMarks,
@@ -47,10 +47,10 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
useAdvancementCard: this.useAdvancementCard,
useAdvancementAbility: this.useAdvancementAbility,
toggleEquipItem: this.toggleEquipItem,
- levelup: this.openLevelUp
+ levelup: this.openLevelUp,
+ editImage: this._onEditImage
},
window: {
- minimizable: false,
resizable: true
},
form: {
@@ -66,9 +66,76 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
};
static PARTS = {
- form: {
- id: 'character',
- template: 'systems/daggerheart/templates/sheets/character/character.hbs'
+ sidebar: {
+ id: 'sidebar',
+ template: 'systems/daggerheart/templates/sheets/actors/character/sidebar.hbs'
+ },
+ header: {
+ id: 'header',
+ template: 'systems/daggerheart/templates/sheets/actors/character/header.hbs'
+ },
+ features: {
+ id: 'features',
+ template: 'systems/daggerheart/templates/sheets/actors/character/features.hbs'
+ },
+ loadout: {
+ id: 'loadout',
+ template: 'systems/daggerheart/templates/sheets/actors/character/loadout.hbs'
+ },
+ inventory: {
+ id: 'inventory',
+ template: 'systems/daggerheart/templates/sheets/actors/character/inventory.hbs'
+ },
+ biography: {
+ id: 'biography',
+ template: 'systems/daggerheart/templates/sheets/actors/character/biography.hbs'
+ },
+ effects: {
+ id: 'effects',
+ template: 'systems/daggerheart/templates/sheets/actors/character/effects.hbs'
+ }
+ };
+
+ static TABS = {
+ features: {
+ active: true,
+ cssClass: '',
+ group: 'primary',
+ id: 'features',
+ icon: null,
+ label: 'DAGGERHEART.Sheets.PC.Tabs.Features'
+ },
+ loadout: {
+ active: false,
+ cssClass: '',
+ group: 'primary',
+ id: 'loadout',
+ icon: null,
+ label: 'DAGGERHEART.Sheets.PC.Tabs.Loadout'
+ },
+ inventory: {
+ active: false,
+ cssClass: '',
+ group: 'primary',
+ id: 'inventory',
+ icon: null,
+ label: 'DAGGERHEART.Sheets.PC.Tabs.Inventory'
+ },
+ biography: {
+ active: false,
+ cssClass: '',
+ group: 'primary',
+ id: 'biography',
+ icon: null,
+ label: 'DAGGERHEART.Sheets.PC.Tabs.biography'
+ },
+ effects: {
+ active: false,
+ cssClass: '',
+ group: 'primary',
+ id: 'effects',
+ icon: null,
+ label: 'DAGGERHEART.Sheets.PC.Tabs.effects'
}
};
@@ -150,17 +217,29 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
_attachPartListeners(partId, htmlElement, options) {
super._attachPartListeners(partId, htmlElement, options);
- htmlElement.querySelector('.level-value').addEventListener('change', this.onLevelChange.bind(this));
+ // htmlElement.querySelector('.level-value').addEventListener('change', this.onLevelChange.bind(this));
// To Remove when ContextMenu Handler is made
htmlElement
.querySelectorAll('[data-item-id]')
.forEach(element => element.addEventListener('contextmenu', this.editItem.bind(this)));
}
+ static _onEditImage() {
+ const fp = new FilePicker({
+ current: this.document.img,
+ type: 'image',
+ redirectToRoot: ['icons/svg/mystery-man.svg'],
+ callback: async path => this._updateImage.bind(this)(path),
+ top: this.position.top + 40,
+ left: this.position.left + 10
+ });
+ return fp.browse();
+ }
+
async _prepareContext(_options) {
const context = await super._prepareContext(_options);
context.document = this.document;
- context.tabs = this._getTabs();
+ context.tabs = super._getTabs(this.constructor.TABS);
context.config = SYSTEM;
diff --git a/module/config/generalConfig.mjs b/module/config/generalConfig.mjs
index 279300fc..18c8aba4 100644
--- a/module/config/generalConfig.mjs
+++ b/module/config/generalConfig.mjs
@@ -83,21 +83,21 @@ export const healingTypes = {
export const conditions = {
vulnerable: {
id: 'vulnerable',
- name: 'DAGGERHEART.Condition.Vulnerable.Name',
+ name: 'DAGGERHEART.Condition.vulnerable.name',
icon: 'icons/magic/control/silhouette-fall-slip-prone.webp',
- description: 'DAGGERHEART.Condition.Vulnerable.Description'
+ description: 'DAGGERHEART.Condition.vulnerable.description'
},
hidden: {
id: 'hidden',
- name: 'DAGGERHEART.Condition.Hidden.Name',
+ name: 'DAGGERHEART.Condition.hidden.name',
icon: 'icons/magic/perception/silhouette-stealth-shadow.webp',
- description: 'DAGGERHEART.Condition.Hidden.Description'
+ description: 'DAGGERHEART.Condition.hidden.description'
},
restrained: {
id: 'restrained',
- name: 'DAGGERHEART.Condition.Restrained.Name',
+ name: 'DAGGERHEART.Condition.restrained.name',
icon: 'icons/magic/control/debuff-chains-shackle-movement-red.webp',
- description: 'DAGGERHEART.Condition.Restrained.Description'
+ description: 'DAGGERHEART.Condition.restrained.description'
}
};
diff --git a/module/data/actor/character.mjs b/module/data/actor/character.mjs
index 273b7a72..7f82ba5a 100644
--- a/module/data/actor/character.mjs
+++ b/module/data/actor/character.mjs
@@ -62,14 +62,21 @@ export default class DhCharacter extends BaseDataActor {
bags: new fields.NumberField({ initial: 0, integer: true }),
chests: new fields.NumberField({ initial: 0, integer: true })
}),
- pronouns: new fields.StringField({}),
scars: new fields.TypedObjectField(
new fields.SchemaField({
name: new fields.StringField({}),
description: new fields.HTMLField()
})
),
- story: new fields.HTMLField(),
+ biography: new fields.SchemaField({
+ background: new fields.HTMLField(),
+ connections: new fields.HTMLField(),
+ characteristics: new fields.SchemaField({
+ pronouns: new fields.StringField({}),
+ age: new fields.StringField({}),
+ faith: new fields.StringField({})
+ })
+ }),
class: new fields.SchemaField({
value: new ForeignDocumentUUIDField({ type: 'Item', nullable: true }),
subclass: new ForeignDocumentUUIDField({ type: 'Item', nullable: true })
diff --git a/module/helpers/handlebarsHelper.mjs b/module/helpers/handlebarsHelper.mjs
index 25dd0e5e..6200b690 100644
--- a/module/helpers/handlebarsHelper.mjs
+++ b/module/helpers/handlebarsHelper.mjs
@@ -13,10 +13,43 @@ export default class RegisterHandlebarsHelpers {
signedNumber: this.signedNumber,
length: this.length,
switch: this.switch,
- case: this.case
+ case: this.case,
+ eq: this.eq,
+ ne: this.ne,
+ lt: this.lt,
+ gt: this.gt,
+ lte: this.lte,
+ gte: this.gte,
+ and: this.and,
+ or: this.or
});
}
+ static eq(v1, v2) {
+ return v1 === v2;
+ }
+ static ne(v1, v2) {
+ return v1 !== v2;
+ }
+ static lt(v1, v2) {
+ return v1 < v2;
+ }
+ static gt(v1, v2) {
+ return v1 > v2;
+ }
+ static lte(v1, v2) {
+ return v1 <= v2;
+ }
+ static gte(v1, v2) {
+ return v1 >= v2;
+ }
+ static and() {
+ return Array.prototype.every.call(arguments, Boolean);
+ }
+ static or() {
+ return Array.prototype.slice.call(arguments, 0, -1).some(Boolean);
+ }
+
static times(nr, block) {
var accum = '';
for (var i = 0; i < nr; ++i) accum += block.fn(i);
@@ -101,7 +134,7 @@ export default class RegisterHandlebarsHelpers {
}
static debug(a) {
- console.log(JSON.stringify(a));
+ console.log(a);
return a;
}
}
diff --git a/styles/daggerheart.css b/styles/daggerheart.css
index 29cdac79..d4b084bd 100755
--- a/styles/daggerheart.css
+++ b/styles/daggerheart.css
@@ -404,6 +404,8 @@
flex-direction: column;
align-items: flex-start;
border-radius: 6px;
+ height: 100px;
+ width: 100px;
}
.daggerheart.sheet.pc div[data-application-part] .sheet-body .left-main-container .legend {
margin-left: auto;
@@ -3442,6 +3444,553 @@ div.daggerheart.views.multiclass {
.daggerheart.dh-style.setting .trait-array-container .trait-array-item input {
text-align: center;
}
+.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet {
+ padding: 0 15px;
+ padding-top: 36px;
+ width: 100%;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .name-row {
+ display: flex;
+ gap: 20px;
+ align-items: baseline;
+ justify-content: space-between;
+ padding: 0;
+ padding-top: 5px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .name-row input[type='text'] {
+ font-size: 32px;
+ height: 42px;
+ width: 380px;
+ text-align: start;
+ border: 1px solid transparent;
+ outline: 2px solid transparent;
+ transition: all 0.3s ease;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .name-row input[type='text']:hover {
+ outline: 2px solid light-dark(#222, #f3c267);
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .name-row .level-div {
+ white-space: nowrap;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .character-details {
+ display: flex;
+ justify-content: space-between;
+ padding: 5px 0;
+ margin-bottom: 10px;
+ font-size: 12px;
+ color: light-dark(#18162e, #f3c267);
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .character-details span {
+ padding: 3px;
+ border-radius: 3px;
+ transition: all 0.3s ease;
+ cursor: pointer;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .character-details span:hover {
+ background: light-dark(#18162e40, #f3c26740);
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .character-details span.dot {
+ background: transparent;
+ cursor: default;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .character-row {
+ display: flex;
+ gap: 20px;
+ align-items: center;
+ justify-content: space-between;
+ padding: 0;
+ margin-bottom: 15px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .character-row .hope-section,
+.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .character-row .threshold-section {
+ position: relative;
+ display: flex;
+ gap: 10px;
+ background-color: light-dark(transparent, #18162e);
+ color: light-dark(#18162e, #f3c267);
+ padding: 5px 10px;
+ border: 1px solid light-dark(#18162e, #f3c267);
+ border-radius: 6px;
+ align-items: center;
+ width: fit-content;
+ height: 30px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .character-row .hope-section h4,
+.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .character-row .threshold-section h4 {
+ font-size: 14px;
+ font-weight: bold;
+ text-transform: uppercase;
+ color: light-dark(#18162e, #f3c267);
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .character-row .hope-section h4.threshold-value,
+.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .character-row .threshold-section h4.threshold-value {
+ color: light-dark(#222, #efe6d8);
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .character-row .hope-section .threshold-legend,
+.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .character-row .threshold-section .threshold-legend {
+ position: absolute;
+ bottom: -21px;
+ color: light-dark(#f3c267, #18162e);
+ background-color: light-dark(#18162e, #f3c267);
+ padding: 3px;
+ justify-self: anchor-center;
+ border-radius: 0 0 3px 3px;
+ text-transform: capitalize;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .character-row .hope-section .hope-value,
+.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .character-row .threshold-section .hope-value {
+ display: flex;
+ cursor: pointer;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .character-traits {
+ display: flex;
+ justify-content: space-between;
+ padding: 0;
+ margin-bottom: 15px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .character-traits .trait {
+ height: 60px;
+ width: 60px;
+ background: url(../assets/svg/trait-shield.svg) no-repeat;
+ cursor: pointer;
+}
+.theme-light .application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .character-traits .trait {
+ background: url('../assets/svg/trait-shield-light.svg') no-repeat;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .character-traits .trait .trait-name {
+ display: flex;
+ padding-top: 5px;
+ color: light-dark(#18162e, #f3c267);
+ font-size: 14px;
+ font-weight: 600;
+ align-items: center;
+ justify-content: center;
+ gap: 3px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .character-traits .trait .trait-name i {
+ line-height: 17px;
+ font-size: 10px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .character-traits .trait .trait-value {
+ font-family: 'Montserrat', sans-serif;
+ font-style: normal;
+ font-weight: 400;
+ font-size: 20px;
+ text-align: center;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet {
+ width: 275px;
+ min-width: 275px;
+ border-right: 1px solid light-dark(#18162e, #f3c267);
+ background-image: url('../assets/parchments/dh-parchment-dark.png');
+}
+.theme-light .application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet {
+ background: transparent;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet img {
+ height: 235px;
+ width: 275px;
+ border-bottom: 1px solid light-dark(#18162e, #f3c267);
+ cursor: pointer;
+ object-fit: cover;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .info-section {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ top: -20px;
+ gap: 30px;
+ margin-bottom: -10px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .info-section .resources-section {
+ display: flex;
+ justify-content: space-evenly;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .info-section .resources-section .status-bar {
+ position: relative;
+ width: 100px;
+ height: 40px;
+ justify-items: center;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .info-section .resources-section .status-bar .status-label {
+ position: relative;
+ top: 40px;
+ height: 22px;
+ width: 79px;
+ clip-path: path('M0 0H79L74 16.5L39 22L4 16.5L0 0Z');
+ background: light-dark(#18162e, #f3c267);
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .info-section .resources-section .status-bar .status-label h4 {
+ font-weight: bold;
+ text-align: center;
+ line-height: 18px;
+ color: light-dark(#efe6d8, #18162e);
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .info-section .resources-section .status-bar .status-value {
+ position: absolute;
+ display: flex;
+ padding: 0 6px;
+ font-size: 1.5rem;
+ align-items: center;
+ width: 100px;
+ height: 40px;
+ justify-content: center;
+ text-align: center;
+ z-index: 2;
+ color: #efe6d8;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .info-section .resources-section .status-bar .status-value input[type='number'] {
+ background: transparent;
+ font-size: 1.5rem;
+ width: 40px;
+ height: 30px;
+ text-align: center;
+ border: none;
+ outline: 2px solid transparent;
+ color: #efe6d8;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .info-section .resources-section .status-bar .status-value input[type='number'].bar-input {
+ padding: 0;
+ color: #efe6d8;
+ backdrop-filter: none;
+ background: transparent;
+ transition: all 0.3s ease;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .info-section .resources-section .status-bar .status-value input[type='number'].bar-input:hover,
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .info-section .resources-section .status-bar .status-value input[type='number'].bar-input:focus {
+ background: rgba(24, 22, 46, 0.33);
+ backdrop-filter: blur(9.5px);
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .info-section .resources-section .status-bar .status-value .bar-label {
+ width: 40px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .info-section .resources-section .status-bar .progress-bar {
+ position: absolute;
+ appearance: none;
+ width: 100px;
+ height: 40px;
+ border: 1px solid light-dark(#18162e, #f3c267);
+ border-radius: 6px;
+ z-index: 1;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .info-section .resources-section .status-bar .progress-bar::-webkit-progress-bar {
+ border: none;
+ background: #18162e;
+ border-radius: 6px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .info-section .resources-section .status-bar .progress-bar::-webkit-progress-value {
+ background: linear-gradient(15deg, #46140a 0%, #be0000 42%, #fcb045 100%);
+ border-radius: 6px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .info-section .resources-section .status-bar .progress-bar.stress-color::-webkit-progress-value {
+ background: linear-gradient(15deg, #823b01 0%, #fc8e45 65%, #be0000 100%);
+ border-radius: 6px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .info-section .resources-section .status-bar .progress-bar::-moz-progress-value,
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .info-section .resources-section .status-bar .progress-bar::-moz-progress-bar {
+ border-radius: 6px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .info-section .resources-section .status-bar .progress-bar::-moz-progress-bar {
+ background: linear-gradient(15deg, #46140a 0%, #be0000 42%, #fcb045 100%);
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .info-section .resources-section .status-bar .progress-bar.stress-color::-moz-progress-bar {
+ background: linear-gradient(15deg, #823b01 0%, #fc8e45 65%, #be0000 100%);
+ border-radius: 6px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .info-section .status-section {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 5px;
+ justify-content: center;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .info-section .status-section .status-number {
+ justify-items: center;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .info-section .status-section .status-number .status-value {
+ position: relative;
+ display: flex;
+ width: 50px;
+ height: 30px;
+ border: 1px solid light-dark(#18162e, #f3c267);
+ border-bottom: none;
+ border-radius: 6px 6px 0 0;
+ padding: 0 6px;
+ font-size: 1.2rem;
+ align-items: center;
+ justify-content: center;
+ background: light-dark(transparent, #18162e);
+ z-index: 2;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .info-section .status-section .status-number .status-value.armor-slots {
+ width: 80px;
+ height: 30px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .info-section .status-section .status-number .status-label {
+ padding: 2px 10px;
+ width: 100%;
+ border-radius: 3px;
+ background: light-dark(#18162e, #f3c267);
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .info-section .status-section .status-number .status-label h4 {
+ font-weight: bold;
+ text-align: center;
+ line-height: 18px;
+ font-size: 12px;
+ color: light-dark(#efe6d8, #18162e);
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .items-sidebar-list {
+ display: flex;
+ flex-direction: column;
+ gap: 5px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .items-sidebar-list .inventory-item {
+ padding: 0 10px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .equipment-section .title {
+ display: flex;
+ gap: 15px;
+ align-items: center;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .equipment-section .title h3 {
+ font-size: 20px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .equipment-section .items-list {
+ display: flex;
+ flex-direction: column;
+ gap: 10px;
+ align-items: center;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .loadout-section .title {
+ display: flex;
+ gap: 15px;
+ align-items: center;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .loadout-section .title h3 {
+ font-size: 20px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .experience-section .title {
+ display: flex;
+ gap: 15px;
+ align-items: center;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .experience-section .title h3 {
+ font-size: 20px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .experience-section .experience-list {
+ display: flex;
+ flex-direction: column;
+ gap: 5px;
+ width: 100%;
+ margin-top: 10px;
+ align-items: center;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .experience-section .experience-list .experience-row {
+ display: flex;
+ gap: 5px;
+ width: 250px;
+ align-items: center;
+ justify-content: space-between;
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .experience-section .experience-list .experience-row input[type='text'] {
+ height: 32px;
+ width: 180px;
+ border: 1px solid transparent;
+ outline: 2px solid transparent;
+ font-size: 14px;
+ font-family: 'Montserrat', sans-serif;
+ transition: all 0.3s ease;
+ color: light-dark(#222, #efe6d8);
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .experience-section .experience-list .experience-row input[type='text']:hover {
+ outline: 2px solid light-dark(#222, #efe6d8);
+}
+.application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .experience-section .experience-list .experience-value {
+ height: 25px;
+ width: 35px;
+ font-size: 14px;
+ font-family: 'Montserrat', sans-serif;
+ color: light-dark(#222, #efe6d8);
+ align-content: center;
+ text-align: center;
+ background: url(../assets/svg/experience-shield.svg) no-repeat;
+}
+.theme-light .application.sheet.daggerheart.actor.dh-style.character .character-sidebar-sheet .experience-section .experience-list .experience-value {
+ background: url('../assets/svg/experience-shield-light.svg') no-repeat;
+}
+.application.sheet.daggerheart.actor.dh-style.character .window-content {
+ display: grid;
+ grid-template-columns: 275px 1fr;
+ grid-template-rows: 283px 1fr;
+ gap: 15px 0;
+ height: 100%;
+ width: 100%;
+}
+.application.sheet.daggerheart.actor.dh-style.character .window-content .character-sidebar-sheet {
+ grid-row: 1 / span 2;
+ grid-column: 1;
+}
+.application.sheet.daggerheart.actor.dh-style.character .window-content .character-header-sheet {
+ grid-row: 1;
+ grid-column: 2;
+}
+.application.sheet.daggerheart.actor.dh-style.character .window-content .tab {
+ grid-row: 2;
+ grid-column: 2;
+}
+.application.sheet.daggerheart.actor.dh-style.character .window-content .old-sheet {
+ width: 500px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .tab.inventory .search-section {
+ display: flex;
+ gap: 10px;
+ align-items: center;
+}
+.application.sheet.daggerheart.actor.dh-style.character .tab.inventory .search-section .search-bar {
+ position: relative;
+ color: light-dark(#18162e50, #efe6d850);
+ width: 100%;
+ padding-top: 5px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .tab.inventory .search-section .search-bar input {
+ border-radius: 50px;
+ font-family: 'Montserrat', sans-serif;
+ background: light-dark(#18162e10, #f3c26710);
+ border: none;
+ outline: 2px solid transparent;
+ transition: all 0.3s ease;
+ padding: 0 20px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .tab.inventory .search-section .search-bar input:hover {
+ outline: 2px solid light-dark(#222, #f3c267);
+}
+.application.sheet.daggerheart.actor.dh-style.character .tab.inventory .search-section .search-bar input:placeholder {
+ color: light-dark(#18162e50, #efe6d850);
+}
+.application.sheet.daggerheart.actor.dh-style.character .tab.inventory .search-section .search-bar .icon {
+ align-content: center;
+ height: 32px;
+ position: absolute;
+ right: 20px;
+ font-size: 16px;
+ z-index: 1;
+ color: light-dark(#18162e50, #efe6d850);
+}
+.application.sheet.daggerheart.actor.dh-style.character .tab.inventory .items-section {
+ display: flex;
+ flex-direction: column;
+ gap: 10px;
+ overflow-y: auto;
+ mask-image: linear-gradient(0deg, transparent 0%, black 5%, black 95%, transparent 100%);
+ padding: 20px 0;
+ height: 80%;
+ scrollbar-width: thin;
+ scrollbar-color: light-dark(#18162e, #f3c267) transparent;
+}
+.application.sheet.daggerheart.actor.dh-style.character .tab.inventory .currency-section {
+ display: flex;
+ gap: 10px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .tab.loadout .search-section {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+.application.sheet.daggerheart.actor.dh-style.character .tab.loadout .search-section .search-bar {
+ position: relative;
+ color: light-dark(#18162e50, #efe6d850);
+ width: 80%;
+ padding-top: 5px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .tab.loadout .search-section .search-bar input {
+ border-radius: 50px;
+ font-family: 'Montserrat', sans-serif;
+ background: light-dark(#18162e10, #f3c26710);
+ border: none;
+ outline: 2px solid transparent;
+ transition: all 0.3s ease;
+ padding: 0 20px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .tab.loadout .search-section .search-bar input:hover {
+ outline: 2px solid light-dark(#222, #f3c267);
+}
+.application.sheet.daggerheart.actor.dh-style.character .tab.loadout .search-section .search-bar input:placeholder {
+ color: light-dark(#18162e50, #efe6d850);
+}
+.application.sheet.daggerheart.actor.dh-style.character .tab.loadout .search-section .search-bar .icon {
+ align-content: center;
+ height: 32px;
+ position: absolute;
+ right: 20px;
+ font-size: 16px;
+ z-index: 1;
+ color: light-dark(#18162e50, #efe6d850);
+}
+.application.sheet.daggerheart.actor.dh-style.character .tab.loadout .search-section .btn-toogle-view {
+ background: light-dark(#18162e10, #18162e);
+ border: 1px solid light-dark(#18162e, #f3c267);
+ border-radius: 15px;
+ padding: 0;
+ gap: 0;
+ width: 62px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .tab.loadout .search-section .btn-toogle-view span {
+ margin: 1px;
+ width: 26px;
+ color: light-dark(#18162e, #f3c267);
+}
+.application.sheet.daggerheart.actor.dh-style.character .tab.loadout .search-section .btn-toogle-view span.list-icon i {
+ margin-left: 3px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .tab.loadout .search-section .btn-toogle-view span.grid-icon i {
+ margin-right: 3px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .tab.loadout .search-section .btn-toogle-view span.list-active {
+ border-radius: 32px 3px 3px 32px;
+ background-color: light-dark(#18162e, #f3c267);
+ color: light-dark(#efe6d8, #18162e);
+ padding: 2px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .tab.loadout .search-section .btn-toogle-view span.grid-active {
+ border-radius: 3px 32px 32px 3px;
+ background-color: light-dark(#18162e, #f3c267);
+ color: light-dark(#efe6d8, #18162e);
+ padding: 2px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .tab.loadout .items-section {
+ display: flex;
+ flex-direction: column;
+ gap: 10px;
+ height: 100%;
+ overflow-y: auto;
+ mask-image: linear-gradient(0deg, transparent 0%, black 10%, black 98%, transparent 100%);
+ padding: 20px 0;
+ height: 90%;
+ scrollbar-width: thin;
+ scrollbar-color: light-dark(#18162e, #f3c267) transparent;
+}
+.application.sheet.daggerheart.actor.dh-style.character .tab.biography .items-section {
+ display: flex;
+ flex-direction: column;
+ gap: 10px;
+ overflow-y: auto;
+ mask-image: linear-gradient(0deg, transparent 0%, black 10%, black 98%, transparent 100%);
+ padding-bottom: 40px;
+ height: 100%;
+ scrollbar-width: thin;
+ scrollbar-color: light-dark(#18162e, #f3c267) transparent;
+}
+.application.sheet.daggerheart.actor.dh-style.character .tab.features .features-sections {
+ display: flex;
+ flex-direction: column;
+ gap: 10px;
+ overflow-y: auto;
+ mask-image: linear-gradient(0deg, transparent 0%, black 5%, black 95%, transparent 100%);
+ padding: 20px 0;
+ padding-top: 10px;
+ height: 95%;
+ scrollbar-width: thin;
+ scrollbar-color: light-dark(#18162e, #f3c267) transparent;
+}
.application.sheet.daggerheart.actor.dh-style.adversary .window-content {
overflow: auto;
}
@@ -3521,9 +4070,6 @@ div.daggerheart.views.multiclass {
justify-content: center;
gap: 10px;
}
-.application.sheet.daggerheart.dh-style.class .tab.settings .list-items .item-line .controls a {
- text-shadow: none;
-}
@font-face {
font-family: 'Cinzel';
font-style: normal;
@@ -3622,7 +4168,6 @@ div.daggerheart.views.multiclass {
transition: opacity 0.3s ease;
}
.application.sheet.dh-style.minimized .window-content {
- display: none;
opacity: 0;
transition: opacity 0.1s ease;
}
@@ -3630,26 +4175,38 @@ div.daggerheart.views.multiclass {
opacity: 1;
transition: opacity 0.3s ease;
}
-.application.sheet.dh-style .window-content {
- overflow: initial;
- backdrop-filter: none;
- padding: 0;
-}
.theme-dark .application.sheet.dh-style {
- backdrop-filter: blur(4px);
+ background: rgba(24, 22, 46, 0.33);
+ backdrop-filter: blur(9px);
}
.theme-light .application.sheet.dh-style {
background-image: url('../assets/parchments/dh-parchment-light.png');
background-repeat: no-repeat;
background-position: center;
}
+.application.sheet.daggerheart.dh-style {
+ border-radius: 10px;
+}
.application.sheet.daggerheart.dh-style .window-content {
+ padding: 0;
position: relative;
top: -36px;
+ min-height: -webkit-fill-available;
}
.application.sheet.daggerheart.dh-style .window-content .tab {
padding: 0 10px;
}
+.application.sheet.daggerheart.character.dh-style {
+ border-radius: 10px;
+}
+.application.sheet.daggerheart.character.dh-style .window-content {
+ position: absolute;
+ top: 0;
+}
+.application.sheet.daggerheart.character.dh-style .window-content .tab {
+ padding: 0 15px;
+ overflow-y: hidden;
+}
.application.sheet.dh-style {
border: 1px solid light-dark(#18162e, #f3c267);
}
@@ -3724,19 +4281,36 @@ div.daggerheart.views.multiclass {
.application.sheet.dh-style li {
margin: 0;
}
+.application.sheet.dh-style a:hover,
+.application.sheet.dh-style a.active {
+ text-shadow: 0 0 8px light-dark(#18162e, #f3c267);
+}
.application.sheet.dh-style fieldset {
align-items: center;
margin-top: 5px;
border-radius: 6px;
border-color: light-dark(#18162e, #f3c267);
}
+.application.sheet.dh-style fieldset.glassy {
+ background-color: light-dark(#18162e10, #f3c26710);
+ border-color: transparent;
+}
+.application.sheet.dh-style fieldset.glassy legend {
+ padding: 2px 12px;
+ border-radius: 3px;
+ background-color: light-dark(#18162e, #f3c267);
+ color: light-dark(#efe6d8, #18162e);
+}
+.application.sheet.dh-style fieldset.flex {
+ display: flex;
+ gap: 20px;
+}
.application.sheet.dh-style fieldset.one-column {
display: flex;
flex-direction: column;
align-items: start;
gap: 10px;
min-height: 64px;
- width: 100%;
}
.application.sheet.dh-style fieldset.two-columns {
display: grid;
@@ -3754,9 +4328,6 @@ div.daggerheart.views.multiclass {
font-weight: bold;
color: light-dark(#18162e, #f3c267);
}
-.application.sheet.dh-style fieldset legend a {
- text-shadow: none;
-}
.application.sheet.dh-style fieldset input[type='text'],
.application.sheet.dh-style fieldset input[type='number'] {
color: light-dark(#222, #efe6d8);
@@ -3795,6 +4366,16 @@ div.daggerheart.views.multiclass {
border-bottom: 1px solid light-dark(#18162e, #f3c267);
mask-image: linear-gradient(270deg, transparent 0%, black 50%, transparent 100%);
}
+.application.sheet.dh-style side-line-div {
+ display: block;
+ height: 1px;
+ width: 100%;
+ border-bottom: 1px solid light-dark(#18162e, #f3c267);
+ mask-image: linear-gradient(270deg, transparent 0%, black 100%);
+}
+.application.sheet.dh-style side-line-div.invert {
+ mask-image: linear-gradient(270deg, black 0%, transparent 100%);
+}
.application.sheet.dh-style .item-description {
opacity: 1;
transform: translateY(0);
@@ -3989,11 +4570,9 @@ div.daggerheart.views.multiclass {
}
.sheet.daggerheart.dh-style .tab-navigation .feature-tab {
border: none;
- gap: 5px;
}
.sheet.daggerheart.dh-style .tab-navigation .feature-tab a {
color: light-dark(#18162e, #f3c267);
- text-shadow: none;
font-family: 'Montserrat', sans-serif;
}
.sheet.daggerheart.dh-style .tab-form-footer {
@@ -4038,9 +4617,6 @@ div.daggerheart.views.multiclass {
justify-content: center;
gap: 10px;
}
-.sheet.daggerheart.dh-style .tab.actions .actions-list .action-item .controls a {
- text-shadow: none;
-}
.sheet.daggerheart.dh-style .tab.effects .effects-list {
display: flex;
flex-direction: column;
@@ -4073,9 +4649,6 @@ div.daggerheart.views.multiclass {
justify-content: center;
gap: 10px;
}
-.sheet.daggerheart.dh-style .tab.effects .effects-list .effect-item .controls a {
- text-shadow: none;
-}
.application.sheet.daggerheart.dh-style .item-sheet-header {
display: flex;
}
@@ -4248,12 +4821,129 @@ div.daggerheart.views.multiclass {
.sheet.daggerheart.dh-style.item .tab.features .feature-list .feature-item .feature-line .controls a {
text-shadow: none;
}
-#logo {
- content: url(../assets/DaggerheartLogo.webp);
- height: 50px;
- width: 50px;
+.application.sheet.daggerheart.actor.dh-style.character .inventory-item {
+ display: grid;
+ grid-template-columns: 40px 1fr 60px;
+ gap: 10px;
+ width: 100%;
+}
+.application.sheet.daggerheart.actor.dh-style.character .inventory-item .item-img {
+ height: 40px;
+ width: 40px;
+ border-radius: 3px;
+ border: none;
+ cursor: pointer;
+ object-fit: cover;
+}
+.application.sheet.daggerheart.actor.dh-style.character .inventory-item .item-label {
+ font-family: 'Montserrat', sans-serif;
+ align-self: center;
+}
+.application.sheet.daggerheart.actor.dh-style.character .inventory-item .item-label .item-name {
+ font-size: 14px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .inventory-item .item-label .item-tags,
+.application.sheet.daggerheart.actor.dh-style.character .inventory-item .item-label .item-labels {
+ display: flex;
+ gap: 10px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .inventory-item .item-label .item-tags .tag,
+.application.sheet.daggerheart.actor.dh-style.character .inventory-item .item-label .item-labels .tag {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+ padding: 3px 5px;
+ font-size: 12px;
+ background: light-dark(#22222215, #efe6d815);
+ border: 1px solid light-dark(#222, #efe6d8);
+ border-radius: 3px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .inventory-item .item-label .item-tags .label,
+.application.sheet.daggerheart.actor.dh-style.character .inventory-item .item-label .item-labels .label {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+ font-size: 12px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .inventory-item .controls {
+ display: flex;
+ align-items: center;
+ justify-content: end;
+ gap: 8px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .inventory-item .controls a {
+ text-align: center;
+}
+.application.sheet.daggerheart.actor.dh-style.character .inventory-item .controls a.unequipped {
+ opacity: 0.4;
+}
+.application.sheet.daggerheart.actor.dh-style.character .card-item {
position: relative;
- left: 25px;
+ height: 120px;
+ width: 100px;
+ border: 1px solid light-dark(#18162e, #f3c267);
+ border-radius: 6px;
+ cursor: pointer;
+}
+.application.sheet.daggerheart.actor.dh-style.character .card-item:hover .card-label {
+ padding-top: 15px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .card-item:hover .card-label .controls {
+ opacity: 1;
+ visibility: visible;
+ transition: all 0.3s ease;
+ max-height: 16px;
+}
+.application.sheet.daggerheart.actor.dh-style.character .card-item .card-img {
+ height: 100%;
+ width: 100%;
+ object-fit: cover;
+}
+.application.sheet.daggerheart.actor.dh-style.character .card-item .card-label {
+ display: flex;
+ flex-direction: column;
+ height: fit-content;
+ align-items: center;
+ gap: 5px;
+ padding-top: 5px;
+ padding-bottom: 5px;
+ width: 100%;
+ position: absolute;
+ background-color: #18162e;
+ bottom: 0;
+ mask-image: linear-gradient(180deg, transparent 0%, black 20%);
+}
+.application.sheet.daggerheart.actor.dh-style.character .card-item .card-label .card-name {
+ font-family: 'Montserrat', sans-serif;
+ font-style: normal;
+ font-weight: 400;
+ font-size: 12px;
+ line-height: 15px;
+ color: #efe6d8;
+}
+.application.sheet.daggerheart.actor.dh-style.character .card-item .card-label .controls {
+ display: flex;
+ gap: 15px;
+ align-items: center;
+ max-height: 0px;
+ opacity: 0;
+ visibility: collapse;
+ transition: all 0.3s ease;
+ color: #efe6d8;
+}
+.application.sheet.daggerheart.actor.dh-style.character .items-list {
+ display: flex;
+ flex-direction: column;
+ gap: 10px;
+ align-items: center;
+}
+.application.sheet.daggerheart.actor.dh-style.character .card-list {
+ display: flex;
+ flex-direction: row;
+ gap: 10px;
+ align-items: center;
}
.daggerheart {
/* Flex */
diff --git a/styles/daggerheart.less b/styles/daggerheart.less
index 9094d312..3920be5b 100755
--- a/styles/daggerheart.less
+++ b/styles/daggerheart.less
@@ -16,7 +16,14 @@
@import './settings.less';
// new styles imports
-@import './less/actors/character.less';
+@import './less/actors/character/header.less';
+@import './less/actors/character/sidebar.less';
+@import './less/actors/character/sheet.less';
+@import './less/actors/character/inventory.less';
+@import './less/actors/character/loadout.less';
+@import './less/actors/character/biography.less';
+@import './less/actors/character/features.less';
+
@import './less/actors/adversary.less';
@import './less/actors/environment.less';
@@ -35,14 +42,8 @@
@import './less/global/tab-effects.less';
@import './less/global/item-header.less';
@import './less/global/feature-section.less';
-
-#logo {
- content: url(../assets/DaggerheartLogo.webp);
- height: 50px;
- width: 50px;
- position: relative;
- left: 25px;
-}
+@import './less/global/inventory-item.less';
+@import './less/global/inventory-fieldset-items.less';
.daggerheart {
.vertical-separator {
diff --git a/styles/less/actors/character.less b/styles/less/actors/character.less
index e69de29b..e8d7d5fd 100644
--- a/styles/less/actors/character.less
+++ b/styles/less/actors/character.less
@@ -0,0 +1,11 @@
+@import '../utils/colors.less';
+@import '../utils/fonts.less';
+
+.application.sheet.daggerheart.actor.dh-style.character {
+ .window-content {
+ display: flex;
+ flex-direction: row;
+ height: 100%;
+ width: 100%;
+ }
+}
diff --git a/styles/less/actors/character/biography.less b/styles/less/actors/character/biography.less
new file mode 100644
index 00000000..c4ce81ac
--- /dev/null
+++ b/styles/less/actors/character/biography.less
@@ -0,0 +1,20 @@
+@import '../../utils/colors.less';
+@import '../../utils/fonts.less';
+
+.application.sheet.daggerheart.actor.dh-style.character {
+ .tab.biography {
+ .items-section {
+ display: flex;
+ flex-direction: column;
+ gap: 10px;
+ height: 100%;
+ overflow-y: auto;
+ mask-image: linear-gradient(0deg, transparent 0%, black 10%, black 98%, transparent 100%);
+ padding-bottom: 40px;
+ height: 100%;
+
+ scrollbar-width: thin;
+ scrollbar-color: light-dark(@dark-blue, @golden) transparent;
+ }
+ }
+}
diff --git a/styles/less/actors/character/features.less b/styles/less/actors/character/features.less
new file mode 100644
index 00000000..406544e6
--- /dev/null
+++ b/styles/less/actors/character/features.less
@@ -0,0 +1,20 @@
+@import '../../utils/colors.less';
+@import '../../utils/fonts.less';
+
+.application.sheet.daggerheart.actor.dh-style.character {
+ .tab.features {
+ .features-sections {
+ display: flex;
+ flex-direction: column;
+ gap: 10px;
+ overflow-y: auto;
+ mask-image: linear-gradient(0deg, transparent 0%, black 5%, black 95%, transparent 100%);
+ padding: 20px 0;
+ padding-top: 10px;
+ height: 95%;
+
+ scrollbar-width: thin;
+ scrollbar-color: light-dark(@dark-blue, @golden) transparent;
+ }
+ }
+}
diff --git a/styles/less/actors/character/header.less b/styles/less/actors/character/header.less
new file mode 100644
index 00000000..7d7403e5
--- /dev/null
+++ b/styles/less/actors/character/header.less
@@ -0,0 +1,157 @@
+@import '../../utils/colors.less';
+@import '../../utils/fonts.less';
+
+.application.sheet.daggerheart.actor.dh-style.character {
+ .character-header-sheet {
+ padding: 0 15px;
+ padding-top: 36px;
+ width: 100%;
+
+ .name-row {
+ display: flex;
+ gap: 20px;
+ align-items: baseline;
+ justify-content: space-between;
+ padding: 0;
+ padding-top: 5px;
+
+ input[type='text'] {
+ font-size: 32px;
+ height: 42px;
+ width: 380px;
+ text-align: start;
+ border: 1px solid transparent;
+ outline: 2px solid transparent;
+ transition: all 0.3s ease;
+
+ &:hover {
+ outline: 2px solid light-dark(@dark, @golden);
+ }
+ }
+
+ .level-div {
+ white-space: nowrap;
+ }
+ }
+
+ .character-details {
+ display: flex;
+ justify-content: space-between;
+ padding: 5px 0;
+ margin-bottom: 10px;
+ font-size: 12px;
+ color: light-dark(@dark-blue, @golden);
+
+ span {
+ padding: 3px;
+ border-radius: 3px;
+ transition: all 0.3s ease;
+ cursor: pointer;
+
+ &:hover {
+ background: light-dark(@dark-blue-40, @golden-40);
+ }
+
+ &.dot {
+ background: transparent;
+ cursor: default;
+ }
+ }
+ }
+
+ .character-row {
+ display: flex;
+ gap: 20px;
+ align-items: center;
+ justify-content: space-between;
+ padding: 0;
+ margin-bottom: 15px;
+
+ .hope-section,
+ .threshold-section {
+ position: relative;
+ display: flex;
+ gap: 10px;
+ background-color: light-dark(transparent, @dark-blue);
+ color: light-dark(@dark-blue, @golden);
+ padding: 5px 10px;
+ border: 1px solid light-dark(@dark-blue, @golden);
+ border-radius: 6px;
+ align-items: center;
+ width: fit-content;
+ height: 30px;
+
+ h4 {
+ font-size: 14px;
+ font-weight: bold;
+ text-transform: uppercase;
+ color: light-dark(@dark-blue, @golden);
+
+ &.threshold-value {
+ color: light-dark(@dark, @beige);
+ }
+ }
+
+ .threshold-legend {
+ position: absolute;
+ bottom: -21px;
+ color: light-dark(@golden, @dark-blue);
+ background-color: light-dark(@dark-blue, @golden);
+ padding: 3px;
+ justify-self: anchor-center;
+ border-radius: 0 0 3px 3px;
+ text-transform: capitalize;
+ }
+
+ .hope-value {
+ display: flex;
+ cursor: pointer;
+ }
+ }
+ }
+
+ .character-traits {
+ display: flex;
+ justify-content: space-between;
+ padding: 0;
+ margin-bottom: 15px;
+
+ .trait {
+ height: 60px;
+ width: 60px;
+ background: url(../assets/svg/trait-shield.svg) no-repeat;
+
+ cursor: pointer;
+
+ .theme-light & {
+ background: url('../assets/svg/trait-shield-light.svg') no-repeat;
+ }
+
+ .trait-name {
+ display: flex;
+ align-items: center;
+ padding-top: 5px;
+ color: light-dark(@dark-blue, @golden);
+ font-size: 14px;
+ font-weight: 600;
+ align-items: center;
+ justify-content: center;
+ gap: 3px;
+
+ i {
+ line-height: 17px;
+ font-size: 10px;
+ }
+ }
+
+ .trait-value {
+ font-family: @font-body;
+ font-style: normal;
+ font-weight: 400;
+ font-size: 20px;
+ text-align: center;
+ }
+ }
+ }
+ }
+}
diff --git a/styles/less/actors/character/inventory.less b/styles/less/actors/character/inventory.less
new file mode 100644
index 00000000..1b2beaf8
--- /dev/null
+++ b/styles/less/actors/character/inventory.less
@@ -0,0 +1,65 @@
+@import '../../utils/colors.less';
+@import '../../utils/fonts.less';
+
+.application.sheet.daggerheart.actor.dh-style.character {
+ .tab.inventory {
+ .search-section {
+ display: flex;
+ gap: 10px;
+ align-items: center;
+
+ .search-bar {
+ position: relative;
+ color: light-dark(@dark-blue-50, @beige-50);
+ width: 100%;
+ padding-top: 5px;
+
+ input {
+ border-radius: 50px;
+ font-family: @font-body;
+ background: light-dark(@dark-blue-10, @golden-10);
+ border: none;
+ outline: 2px solid transparent;
+ transition: all 0.3s ease;
+ padding: 0 20px;
+
+ &:hover {
+ outline: 2px solid light-dark(@dark, @golden);
+ }
+
+ &:placeholder {
+ color: light-dark(@dark-blue-50, @beige-50);
+ }
+ }
+
+ .icon {
+ align-content: center;
+ height: 32px;
+ position: absolute;
+ right: 20px;
+ font-size: 16px;
+ z-index: 1;
+ color: light-dark(@dark-blue-50, @beige-50);
+ }
+ }
+ }
+
+ .items-section {
+ display: flex;
+ flex-direction: column;
+ gap: 10px;
+ overflow-y: auto;
+ mask-image: linear-gradient(0deg, transparent 0%, black 5%, black 95%, transparent 100%);
+ padding: 20px 0;
+ height: 80%;
+
+ scrollbar-width: thin;
+ scrollbar-color: light-dark(@dark-blue, @golden) transparent;
+ }
+
+ .currency-section {
+ display: flex;
+ gap: 10px;
+ }
+ }
+}
diff --git a/styles/less/actors/character/loadout.less b/styles/less/actors/character/loadout.less
new file mode 100644
index 00000000..0eb514e2
--- /dev/null
+++ b/styles/less/actors/character/loadout.less
@@ -0,0 +1,101 @@
+@import '../../utils/colors.less';
+@import '../../utils/fonts.less';
+
+.application.sheet.daggerheart.actor.dh-style.character {
+ .tab.loadout {
+ .search-section {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ .search-bar {
+ position: relative;
+ color: light-dark(@dark-blue-50, @beige-50);
+ width: 80%;
+ padding-top: 5px;
+
+ input {
+ border-radius: 50px;
+ font-family: @font-body;
+ background: light-dark(@dark-blue-10, @golden-10);
+ border: none;
+ outline: 2px solid transparent;
+ transition: all 0.3s ease;
+ padding: 0 20px;
+
+ &:hover {
+ outline: 2px solid light-dark(@dark, @golden);
+ }
+
+ &:placeholder {
+ color: light-dark(@dark-blue-50, @beige-50);
+ }
+ }
+
+ .icon {
+ align-content: center;
+ height: 32px;
+ position: absolute;
+ right: 20px;
+ font-size: 16px;
+ z-index: 1;
+ color: light-dark(@dark-blue-50, @beige-50);
+ }
+ }
+
+ .btn-toogle-view {
+ background: light-dark(@dark-blue-10, @dark-blue);
+ border: 1px solid light-dark(@dark-blue, @golden);
+ border-radius: 15px;
+ padding: 0;
+ gap: 0;
+ width: 62px;
+
+ span {
+ margin: 1px;
+ width: 26px;
+ color: light-dark(@dark-blue, @golden);
+
+ &.list-icon {
+ i {
+ margin-left: 3px;
+ }
+ }
+ &.grid-icon {
+ i {
+ margin-right: 3px;
+ }
+ }
+
+ &.list-active {
+ border-radius: 32px 3px 3px 32px;
+ background-color: light-dark(@dark-blue, @golden);
+ color: light-dark(@beige, @dark-blue);
+ padding: 2px;
+ }
+
+ &.grid-active {
+ border-radius: 3px 32px 32px 3px;
+ background-color: light-dark(@dark-blue, @golden);
+ color: light-dark(@beige, @dark-blue);
+ padding: 2px;
+ }
+ }
+ }
+ }
+
+ .items-section {
+ display: flex;
+ flex-direction: column;
+ gap: 10px;
+ height: 100%;
+ overflow-y: auto;
+ mask-image: linear-gradient(0deg, transparent 0%, black 10%, black 98%, transparent 100%);
+ padding: 20px 0;
+ height: 90%;
+
+ scrollbar-width: thin;
+ scrollbar-color: light-dark(@dark-blue, @golden) transparent;
+ }
+ }
+}
diff --git a/styles/less/actors/character/sheet.less b/styles/less/actors/character/sheet.less
new file mode 100644
index 00000000..5317b3b5
--- /dev/null
+++ b/styles/less/actors/character/sheet.less
@@ -0,0 +1,32 @@
+@import '../../utils/colors.less';
+@import '../../utils/fonts.less';
+
+.application.sheet.daggerheart.actor.dh-style.character {
+ .window-content {
+ display: grid;
+ grid-template-columns: 275px 1fr;
+ grid-template-rows: 283px 1fr;
+ gap: 15px 0;
+ height: 100%;
+ width: 100%;
+
+ .character-sidebar-sheet {
+ grid-row: 1 / span 2;
+ grid-column: 1;
+ }
+
+ .character-header-sheet {
+ grid-row: 1;
+ grid-column: 2;
+ }
+
+ .tab {
+ grid-row: 2;
+ grid-column: 2;
+ }
+
+ .old-sheet {
+ width: 500px;
+ }
+ }
+}
diff --git a/styles/less/actors/character/sidebar.less b/styles/less/actors/character/sidebar.less
new file mode 100644
index 00000000..b3ac42e0
--- /dev/null
+++ b/styles/less/actors/character/sidebar.less
@@ -0,0 +1,283 @@
+@import '../../utils/colors.less';
+@import '../../utils/fonts.less';
+
+.application.sheet.daggerheart.actor.dh-style.character {
+ .character-sidebar-sheet {
+ width: 275px;
+ min-width: 275px;
+ border-right: 1px solid light-dark(@dark-blue, @golden);
+ background-image: url('../assets/parchments/dh-parchment-dark.png');
+
+ .theme-light & {
+ background: transparent;
+ }
+
+ img {
+ height: 235px;
+ width: 275px;
+ border-bottom: 1px solid light-dark(@dark-blue, @golden);
+ cursor: pointer;
+ object-fit: cover;
+ }
+
+ .info-section {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ top: -20px;
+ gap: 30px;
+ margin-bottom: -10px;
+
+ .resources-section {
+ display: flex;
+ justify-content: space-evenly;
+
+ .status-bar {
+ position: relative;
+ width: 100px;
+ height: 40px;
+ justify-items: center;
+
+ .status-label {
+ position: relative;
+ top: 40px;
+ height: 22px;
+ width: 79px;
+ clip-path: path('M0 0H79L74 16.5L39 22L4 16.5L0 0Z');
+ background: light-dark(@dark-blue, @golden);
+
+ h4 {
+ font-weight: bold;
+ text-align: center;
+ line-height: 18px;
+ color: light-dark(@beige, @dark-blue);
+ }
+ }
+ .status-value {
+ position: absolute;
+ display: flex;
+ padding: 0 6px;
+ font-size: 1.5rem;
+ align-items: center;
+ width: 100px;
+ height: 40px;
+ justify-content: center;
+ text-align: center;
+ z-index: 2;
+ color: @beige;
+
+ input[type='number'] {
+ background: transparent;
+ font-size: 1.5rem;
+ width: 40px;
+ height: 30px;
+ text-align: center;
+ border: none;
+ outline: 2px solid transparent;
+ color: @beige;
+
+ &.bar-input {
+ padding: 0;
+ color: @beige;
+ backdrop-filter: none;
+ background: transparent;
+ transition: all 0.3s ease;
+
+ &:hover,
+ &:focus {
+ background: @semi-transparent-dark-blue;
+ backdrop-filter: blur(9.5px);
+ }
+ }
+ }
+
+ .bar-label {
+ width: 40px;
+ }
+ }
+ .progress-bar {
+ position: absolute;
+ appearance: none;
+ width: 100px;
+ height: 40px;
+ border: 1px solid light-dark(@dark-blue, @golden);
+ border-radius: 6px;
+ z-index: 1;
+
+ &::-webkit-progress-bar {
+ border: none;
+ background: @dark-blue;
+ border-radius: 6px;
+ }
+ &::-webkit-progress-value {
+ background: @gradient-hp;
+ border-radius: 6px;
+ }
+ &.stress-color::-webkit-progress-value {
+ background: @gradient-stress;
+ border-radius: 6px;
+ }
+ &::-moz-progress-value,
+ &::-moz-progress-bar {
+ border-radius: 6px;
+ }
+
+ &::-moz-progress-bar {
+ background: @gradient-hp;
+ }
+ &.stress-color::-moz-progress-bar {
+ background: @gradient-stress;
+ border-radius: 6px;
+ }
+ }
+ }
+ }
+
+ .status-section {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 5px;
+ justify-content: center;
+
+ .status-number {
+ justify-items: center;
+
+ .status-value {
+ position: relative;
+ display: flex;
+ width: 50px;
+ height: 30px;
+ border: 1px solid light-dark(@dark-blue, @golden);
+ border-bottom: none;
+ border-radius: 6px 6px 0 0;
+ padding: 0 6px;
+ font-size: 1.2rem;
+ align-items: center;
+ justify-content: center;
+ background: light-dark(transparent, @dark-blue);
+ z-index: 2;
+
+ &.armor-slots {
+ width: 80px;
+ height: 30px;
+ }
+ }
+
+ .status-label {
+ padding: 2px 10px;
+ width: 100%;
+ border-radius: 3px;
+ background: light-dark(@dark-blue, @golden);
+
+ h4 {
+ font-weight: bold;
+ text-align: center;
+ line-height: 18px;
+ font-size: 12px;
+ color: light-dark(@beige, @dark-blue);
+ }
+ }
+ }
+ }
+ }
+
+ .items-sidebar-list {
+ display: flex;
+ flex-direction: column;
+ gap: 5px;
+
+ .inventory-item {
+ padding: 0 10px;
+ }
+ }
+
+ .equipment-section {
+ .title {
+ display: flex;
+ gap: 15px;
+ align-items: center;
+
+ h3 {
+ font-size: 20px;
+ }
+ }
+ .items-list {
+ display: flex;
+ flex-direction: column;
+ gap: 10px;
+ align-items: center;
+ }
+ }
+
+ .loadout-section {
+ .title {
+ display: flex;
+ gap: 15px;
+ align-items: center;
+
+ h3 {
+ font-size: 20px;
+ }
+ }
+ }
+
+ .experience-section {
+ .title {
+ display: flex;
+ gap: 15px;
+ align-items: center;
+
+ h3 {
+ font-size: 20px;
+ }
+ }
+
+ .experience-list {
+ display: flex;
+ flex-direction: column;
+ gap: 5px;
+ width: 100%;
+ margin-top: 10px;
+ align-items: center;
+
+ .experience-row {
+ display: flex;
+ gap: 5px;
+ width: 250px;
+ align-items: center;
+ justify-content: space-between;
+
+ input[type='text'] {
+ height: 32px;
+ width: 180px;
+ border: 1px solid transparent;
+ outline: 2px solid transparent;
+ font-size: 14px;
+ font-family: @font-body;
+ transition: all 0.3s ease;
+ color: light-dark(@dark, @beige);
+
+ &:hover {
+ outline: 2px solid light-dark(@dark, @beige);
+ }
+ }
+ }
+
+ .experience-value {
+ height: 25px;
+ width: 35px;
+ font-size: 14px;
+ font-family: @font-body;
+ color: light-dark(@dark, @beige);
+ align-content: center;
+ text-align: center;
+ background: url(../assets/svg/experience-shield.svg) no-repeat;
+
+ .theme-light & {
+ background: url('../assets/svg/experience-shield-light.svg') no-repeat;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/styles/less/global/elements.less b/styles/less/global/elements.less
index 139d5c53..8137e7de 100755
--- a/styles/less/global/elements.less
+++ b/styles/less/global/elements.less
@@ -84,19 +84,40 @@
margin: 0;
}
+ a:hover,
+ a.active {
+ text-shadow: 0 0 8px light-dark(@dark-blue, @golden);
+ }
+
fieldset {
align-items: center;
margin-top: 5px;
border-radius: 6px;
border-color: light-dark(@dark-blue, @golden);
+ &.glassy {
+ background-color: light-dark(@dark-blue-10, @golden-10);
+ border-color: transparent;
+
+ legend {
+ padding: 2px 12px;
+ border-radius: 3px;
+ background-color: light-dark(@dark-blue, @golden);
+ color: light-dark(@beige, @dark-blue);
+ }
+ }
+
+ &.flex {
+ display: flex;
+ gap: 20px;
+ }
+
&.one-column {
display: flex;
flex-direction: column;
align-items: start;
gap: 10px;
min-height: 64px;
- width: 100%;
}
&.two-columns {
@@ -117,10 +138,6 @@
font-family: @font-body;
font-weight: bold;
color: light-dark(@dark-blue, @golden);
-
- a {
- text-shadow: none;
- }
}
input[type='text'],
@@ -169,6 +186,18 @@
mask-image: linear-gradient(270deg, transparent 0%, black 50%, transparent 100%);
}
+ side-line-div {
+ display: block;
+ height: 1px;
+ width: 100%;
+ border-bottom: 1px solid light-dark(@dark-blue, @golden);
+ mask-image: linear-gradient(270deg, transparent 0%, black 100%);
+
+ &.invert {
+ mask-image: linear-gradient(270deg, black 0%, transparent 100%);
+ }
+ }
+
.item-description {
opacity: 1;
transform: translateY(0);
diff --git a/styles/less/global/inventory-fieldset-items.less b/styles/less/global/inventory-fieldset-items.less
new file mode 100644
index 00000000..b09ad1b3
--- /dev/null
+++ b/styles/less/global/inventory-fieldset-items.less
@@ -0,0 +1,17 @@
+@import '../utils/colors.less';
+@import '../utils/fonts.less';
+
+.application.sheet.daggerheart.actor.dh-style.character {
+ .items-list {
+ display: flex;
+ flex-direction: column;
+ gap: 10px;
+ align-items: center;
+ }
+ .card-list {
+ display: flex;
+ flex-direction: row;
+ gap: 10px;
+ align-items: center;
+ }
+}
diff --git a/styles/less/global/inventory-item.less b/styles/less/global/inventory-item.less
new file mode 100644
index 00000000..a5b829ed
--- /dev/null
+++ b/styles/less/global/inventory-item.less
@@ -0,0 +1,133 @@
+@import '../utils/colors.less';
+@import '../utils/fonts.less';
+
+.application.sheet.daggerheart.actor.dh-style.character {
+ .inventory-item {
+ display: grid;
+ grid-template-columns: 40px 1fr 60px;
+ gap: 10px;
+ width: 100%;
+
+ .item-img {
+ height: 40px;
+ width: 40px;
+ border-radius: 3px;
+ border: none;
+ cursor: pointer;
+ object-fit: cover;
+ }
+
+ .item-label {
+ font-family: @font-body;
+ align-self: center;
+
+ .item-name {
+ font-size: 14px;
+ }
+
+ .item-tags,
+ .item-labels {
+ display: flex;
+ gap: 10px;
+
+ .tag {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+ padding: 3px 5px;
+ font-size: 12px;
+
+ background: light-dark(@dark-15, @beige-15);
+ border: 1px solid light-dark(@dark, @beige);
+ border-radius: 3px;
+ }
+
+ .label {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+ font-size: 12px;
+ }
+ }
+ }
+
+ .controls {
+ display: flex;
+ align-items: center;
+ justify-content: end;
+ gap: 8px;
+
+ a {
+ text-align: center;
+
+ &.unequipped {
+ opacity: 0.4;
+ }
+ }
+ }
+ }
+ .card-item {
+ position: relative;
+ height: 120px;
+ width: 100px;
+ border: 1px solid light-dark(@dark-blue, @golden);
+ border-radius: 6px;
+ cursor: pointer;
+
+ &:hover {
+ .card-label {
+ padding-top: 15px;
+ .controls {
+ opacity: 1;
+ visibility: visible;
+ transition: all 0.3s ease;
+ max-height: 16px;
+ }
+ }
+ }
+
+ .card-img {
+ height: 100%;
+ width: 100%;
+ object-fit: cover;
+ }
+
+ .card-label {
+ display: flex;
+ flex-direction: column;
+ height: fit-content;
+ align-items: center;
+ gap: 5px;
+ padding-top: 5px;
+ padding-bottom: 5px;
+ width: 100%;
+ position: absolute;
+ background-color: @dark-blue;
+ bottom: 0;
+ mask-image: linear-gradient(180deg, transparent 0%, black 20%);
+
+ .card-name {
+ font-family: @font-body;
+ font-style: normal;
+ font-weight: 400;
+ font-size: 12px;
+ line-height: 15px;
+
+ color: @beige;
+ }
+
+ .controls {
+ display: flex;
+ gap: 15px;
+ align-items: center;
+ max-height: 0px;
+ opacity: 0;
+ visibility: collapse;
+ transition: all 0.3s ease;
+ color: @beige;
+ }
+ }
+ }
+}
diff --git a/styles/less/global/sheet.less b/styles/less/global/sheet.less
index 975841db..669b00ec 100755
--- a/styles/less/global/sheet.less
+++ b/styles/less/global/sheet.less
@@ -35,7 +35,6 @@
.application.sheet.dh-style.minimized {
.window-content {
- display: none;
opacity: 0;
transition: opacity 0.1s ease;
}
@@ -48,15 +47,10 @@
}
}
-.application.sheet.dh-style .window-content {
- overflow: initial;
- backdrop-filter: none;
- padding: 0;
-}
-
.theme-dark {
.application.sheet.dh-style {
- backdrop-filter: blur(4px);
+ background: @semi-transparent-dark-blue;
+ backdrop-filter: blur(9px);
}
}
@@ -69,12 +63,29 @@
}
.application.sheet.daggerheart.dh-style {
+ border-radius: 10px;
+
.window-content {
+ padding: 0;
position: relative;
top: -36px;
+ min-height: -webkit-fill-available;
.tab {
padding: 0 10px;
}
}
}
+
+.application.sheet.daggerheart.character.dh-style {
+ border-radius: 10px;
+
+ .window-content {
+ position: absolute;
+ top: 0;
+ .tab {
+ padding: 0 15px;
+ overflow-y: hidden;
+ }
+ }
+}
diff --git a/styles/less/global/tab-actions.less b/styles/less/global/tab-actions.less
index 7279688d..7b225d4a 100644
--- a/styles/less/global/tab-actions.less
+++ b/styles/less/global/tab-actions.less
@@ -36,9 +36,6 @@
display: flex;
justify-content: center;
gap: 10px;
- a {
- text-shadow: none;
- }
}
}
}
diff --git a/styles/less/global/tab-effects.less b/styles/less/global/tab-effects.less
index c926f5d1..0c34a3ea 100644
--- a/styles/less/global/tab-effects.less
+++ b/styles/less/global/tab-effects.less
@@ -36,9 +36,6 @@
display: flex;
justify-content: center;
gap: 10px;
- a {
- text-shadow: none;
- }
}
}
}
diff --git a/styles/less/global/tab-navigation.less b/styles/less/global/tab-navigation.less
index 4e167e20..a3b48d87 100755
--- a/styles/less/global/tab-navigation.less
+++ b/styles/less/global/tab-navigation.less
@@ -8,11 +8,9 @@
.feature-tab {
border: none;
- gap: 5px;
a {
color: light-dark(@dark-blue, @golden);
- text-shadow: none;
font-family: @font-body;
}
}
diff --git a/styles/less/items/class.less b/styles/less/items/class.less
index 61974778..a70b56d4 100644
--- a/styles/less/items/class.less
+++ b/styles/less/items/class.less
@@ -36,9 +36,6 @@
display: flex;
justify-content: center;
gap: 10px;
- a {
- text-shadow: none;
- }
}
}
}
diff --git a/styles/less/utils/colors.less b/styles/less/utils/colors.less
index 7e2ed6ca..8dbb0f63 100755
--- a/styles/less/utils/colors.less
+++ b/styles/less/utils/colors.less
@@ -1,22 +1,21 @@
@primary-blue: #1488cc;
@secondary-blue: #2b32b2;
@golden: #f3c267;
+@golden-40: #f3c26740;
+@dark-blue-40: #18162e40;
+@golden-10: #f3c26710;
+@dark-blue-10: #18162e10;
+@dark-blue-50: #18162e50;
@dark-blue: #18162e;
@deep-black: #0e0d15;
@beige: #efe6d8;
-@beige-60-opacity: #efe6d860;
+@beige-15: #efe6d815;
+@beige-50: #efe6d850;
@dark-blue: rgb(24, 22, 46);
@semi-transparent-dark-blue: rgba(24, 22, 46, 0.33);
@dark: #222;
+@dark-15: #22222215;
@light-black: rgba(0, 0, 0, 0.3);
@soft-shadow: rgba(0, 0, 0, 0.05);
@gradient-hp: linear-gradient(15deg, rgb(70, 20, 10) 0%, rgb(190, 0, 0) 42%, rgb(252, 176, 69) 100%);
@gradient-stress: linear-gradient(15deg, rgb(130, 59, 1) 0%, rgb(252, 142, 69) 65%, rgb(190, 0, 0) 100%);
-
-.theme-dark {
- @primary-color: @golden;
-}
-
-.theme-light {
- @primary-color: @dark-blue;
-}
diff --git a/styles/pc.less b/styles/pc.less
index 07a91411..c9abd821 100644
--- a/styles/pc.less
+++ b/styles/pc.less
@@ -1,3 +1,6 @@
+@import 'variables/values.less';
+@import 'variables/colors.less';
+
.daggerheart.sheet.pc {
width: 810px !important; // Form won't apply height for some reason
@@ -457,6 +460,9 @@
align-items: flex-start;
border-radius: @normalRadius;
+ height: 100px;
+ width: 100px;
+
.legend {
margin-left: auto;
margin-right: auto;
diff --git a/templates/sheets/actors/character/biography.hbs b/templates/sheets/actors/character/biography.hbs
new file mode 100644
index 00000000..c0bf55a9
--- /dev/null
+++ b/templates/sheets/actors/character/biography.hbs
@@ -0,0 +1,36 @@
+
+
+
+
+
+ {{localize 'DAGGERHEART.Sheets.PC.Level'}}
+ {{document.system.levelData.level.current}}
+
+ {{localize "DAGGERHEART.General.Hope"}}
+ {{#times document.system.resources.hope.max}}
+
+ {{#if (gte ../document.system.resources.hope.value this)}}
+
+ {{else}}
+
+ {{/if}}
+
+ {{/times}}
+ {{localize "DAGGERHEART.Sheets.PC.Health.Minor"}}
+ {{document.system.damageThresholds.major}}
+ {{localize "DAGGERHEART.Sheets.PC.Health.Major"}}
+ {{document.system.damageThresholds.severe}}
+ {{localize "DAGGERHEART.Sheets.PC.Health.Severe"}}
+