From 7f898bb98377131d2c6b69f0defeeb1503934896 Mon Sep 17 00:00:00 2001 From: WBHarry Date: Wed, 25 Jun 2025 00:37:28 +0200 Subject: [PATCH 1/3] Fixed Tagify again --- module/helpers/utils.mjs | 4 +--- styles/daggerheart.css | 1 + styles/daggerheart.less | 1 + 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/module/helpers/utils.mjs b/module/helpers/utils.mjs index 1e12e430..b86cc277 100644 --- a/module/helpers/utils.mjs +++ b/module/helpers/utils.mjs @@ -196,9 +196,7 @@ export const tagifyElement = (element, options, onChange, tagifyOptions = {}) => const unusedDropDownItems = event.detail.tagify.suggestedListItems; const missingOptions = Object.keys(options).filter(x => !unusedDropDownItems.find(item => item.value === x)); const removedItem = missingOptions.find(x => !selectedOptions.find(item => item.value === x)); - const addedItem = removedItem - ? null - : selectedOptions.find(x => !missingOptions.find(item => item === x.value)); + const addedItem = removedItem ? null : selectedOptions.find(x => missingOptions.find(item => item === x.value)); const changedItem = { option: removedItem ?? addedItem.value, removed: Boolean(removedItem) }; diff --git a/styles/daggerheart.css b/styles/daggerheart.css index d4b084bd..c4f791f8 100755 --- a/styles/daggerheart.css +++ b/styles/daggerheart.css @@ -8,6 +8,7 @@ /* Background */ /* Duality */ /* Fear */ +@import '../node_modules/@yaireo/tagify/dist/tagify.css'; .daggerheart.sheet.class .editor { height: 500px; } diff --git a/styles/daggerheart.less b/styles/daggerheart.less index 3920be5b..8bd60fd4 100755 --- a/styles/daggerheart.less +++ b/styles/daggerheart.less @@ -44,6 +44,7 @@ @import './less/global/feature-section.less'; @import './less/global/inventory-item.less'; @import './less/global/inventory-fieldset-items.less'; +@import '../node_modules/@yaireo/tagify/dist/tagify.css'; .daggerheart { .vertical-separator { From d9c003b64b6bb393afd15c78540a3a2b8825a22d Mon Sep 17 00:00:00 2001 From: WBHarry <89362246+WBHarry@users.noreply.github.com> Date: Wed, 25 Jun 2025 16:33:38 +0200 Subject: [PATCH 2/3] 175 - Character Sheet Levelup Functionality (#181) * Attached CharacterCreate and Levelup functionality to the sheet * Changed to a warning icon --- lang/en.json | 7 ++- module/applications/sheets/character.mjs | 20 +++++-- module/data/actor/character.mjs | 4 ++ module/documents/actor.mjs | 22 +++++-- module/helpers/utils.mjs | 28 ++++----- styles/daggerheart.css | 58 +++++++++++++++++- styles/less/actors/character/header.less | 40 ++++++++++++- styles/less/global/elements.less | 28 ++++++--- styles/less/utils/colors.less | 62 +++++++++++++------- templates/sheets/actors/character/header.hbs | 10 +++- 10 files changed, 218 insertions(+), 61 deletions(-) diff --git a/lang/en.json b/lang/en.json index d91fe61a..5b05f58a 100755 --- a/lang/en.json +++ b/lang/en.json @@ -1078,8 +1078,9 @@ "faith": "Faith", "ShortRest": "Take a Short Rest", "LongRest": "Take a Long Rest", + "CharacterSetup": "Character setup isn't done yet", "Level": "Level", - "LevelUp": "Level Up!", + "LevelUp": "You can level up", "Tabs": { "Features": "Features", "Inventory": "Inventory", @@ -1177,7 +1178,9 @@ "NewScar": "New Scar", "DeleteConfirmation": "Are you sure you want to delete the item - {item}?", "Errors": { - "missingClassOrSubclass": "The character doesn't have a class and subclass" + "missingClassOrSubclass": "The character doesn't have a class and subclass", + "tooHighLevel": "You cannot raise the character level past the maximum", + "tooLowLevel": "You cannot lower the character level below starting level" } }, "Adversary": { diff --git a/module/applications/sheets/character.mjs b/module/applications/sheets/character.mjs index 76a8c603..82679ccd 100644 --- a/module/applications/sheets/character.mjs +++ b/module/applications/sheets/character.mjs @@ -5,7 +5,7 @@ import AncestrySelectionDialog from '../ancestrySelectionDialog.mjs'; import DaggerheartSheet from './daggerheart-sheet.mjs'; import { abilities } from '../../config/actorConfig.mjs'; import DhlevelUp from '../levelup.mjs'; -import DHDualityRoll from '../../data/chat-message/dualityRoll.mjs'; +import DhCharacterCreation from '../characterCreation.mjs'; const { ActorSheetV2 } = foundry.applications.sheets; const { TextEditor } = foundry.applications.ux; @@ -47,7 +47,7 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) { useAdvancementCard: this.useAdvancementCard, useAdvancementAbility: this.useAdvancementAbility, toggleEquipItem: this.toggleEquipItem, - levelup: this.openLevelUp, + levelManagement: this.levelManagement, editImage: this._onEditImage }, window: { @@ -217,7 +217,7 @@ 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]') @@ -457,7 +457,19 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) { } } - static openLevelUp() { + static levelManagement() { + if (this.document.system.needsCharacterSetup) { + this.characterSetup(); + } else { + this.openLevelUp(); + } + } + + characterSetup() { + new DhCharacterCreation(this.document).render(true); + } + + openLevelUp() { if (!this.document.system.class.value || !this.document.system.class.subclass) { ui.notifications.error(game.i18n.localize('DAGGERHEART.Sheets.PC.Errors.missingClassOrSubclass')); return; diff --git a/module/data/actor/character.mjs b/module/data/actor/character.mjs index 7f82ba5a..9e467cab 100644 --- a/module/data/actor/character.mjs +++ b/module/data/actor/character.mjs @@ -110,6 +110,10 @@ export default class DhCharacter extends BaseDataActor { return this.parent.items.find(x => x.type === 'community') ?? null; } + get needsCharacterSetup() { + return !this.class.value || !this.class.subclass; + } + get domains() { const classDomains = this.class.value ? this.class.value.system.domains : []; const multiclassDomains = this.multiclass.value ? this.multiclass.value.system.domains : []; diff --git a/module/documents/actor.mjs b/module/documents/actor.mjs index 6b9571a9..6af98f31 100644 --- a/module/documents/actor.mjs +++ b/module/documents/actor.mjs @@ -32,10 +32,22 @@ export default class DhpActor extends Actor { if (this.type !== 'character' || newLevel === this.system.levelData.level.changed) return; if (newLevel > this.system.levelData.level.current) { - await this.update({ 'system.levelData.level.changed': newLevel }); + const maxLevel = Object.values( + game.settings.get(SYSTEM.id, SYSTEM.SETTINGS.gameSettings.LevelTiers).tiers + ).reduce((acc, tier) => Math.max(acc, tier.levels.end), 0); + if (newLevel > maxLevel) { + ui.notifications.warn(game.i18n.localize('DAGGERHEART.Sheets.PC.Errors.tooHighLevel')); + } + + await this.update({ 'system.levelData.level.changed': Math.min(newLevel, maxLevel) }); } else { + const usedLevel = Math.max(newLevel, 1); + if (newLevel < 1) { + ui.notifications.warn(game.i18n.localize('DAGGERHEART.Sheets.PC.Errors.tooLowLevel')); + } + const updatedLevelups = Object.keys(this.system.levelData.levelups).reduce((acc, level) => { - if (Number(level) > newLevel) acc[`-=${level}`] = null; + if (Number(level) > usedLevel) acc[`-=${level}`] = null; return acc; }, {}); @@ -45,7 +57,7 @@ export default class DhpActor extends Actor { const subclassFeatureState = { class: null, multiclass: null }; let multiclass = null; Object.keys(this.system.levelData.levelups) - .filter(x => x > newLevel) + .filter(x => x > usedLevel) .forEach(levelKey => { const level = this.system.levelData.levelups[levelKey]; const achievementCards = level.achievements.domainCards.map(x => x.itemUuid); @@ -106,8 +118,8 @@ export default class DhpActor extends Actor { system: { levelData: { level: { - current: newLevel, - changed: newLevel + current: usedLevel, + changed: usedLevel }, levelups: updatedLevelups } diff --git a/module/helpers/utils.mjs b/module/helpers/utils.mjs index b86cc277..7f711ddb 100644 --- a/module/helpers/utils.mjs +++ b/module/helpers/utils.mjs @@ -189,20 +189,20 @@ export const tagifyElement = (element, options, onChange, tagifyOptions = {}) => } }); - const onSelect = async event => { - const inputElement = event.detail.tagify.DOM.originalInput; - const selectedOptions = event.detail?.value ? JSON.parse(event.detail.value) : []; - - const unusedDropDownItems = event.detail.tagify.suggestedListItems; - const missingOptions = Object.keys(options).filter(x => !unusedDropDownItems.find(item => item.value === x)); - const removedItem = missingOptions.find(x => !selectedOptions.find(item => item.value === x)); - const addedItem = removedItem ? null : selectedOptions.find(x => missingOptions.find(item => item === x.value)); - - const changedItem = { option: removedItem ?? addedItem.value, removed: Boolean(removedItem) }; - - onChange(selectedOptions, changedItem, inputElement); - }; - tagifyElement.on('change', onSelect); + tagifyElement.on('add', event => { + const input = event.detail.tagify.DOM.originalInput; + const currentList = input.value ? JSON.parse(input.value) : []; + onChange([...currentList, event.detail.data], { option: event.detail.data.value, removed: false }, input); + }); + tagifyElement.on('remove', event => { + const input = event.detail.tagify.DOM.originalInput; + const currentList = input.value ? JSON.parse(input.value) : []; + onChange( + currentList.filter(x => x.value !== event.detail.data.value), + { option: event.detail.data.value, removed: true }, + event.detail.tagify.DOM.originalInput + ); + }); }; export const getDeleteKeys = (property, innerProperty, innerPropertyDefaultValue) => { diff --git a/styles/daggerheart.css b/styles/daggerheart.css index c4f791f8..72459da7 100755 --- a/styles/daggerheart.css +++ b/styles/daggerheart.css @@ -3452,16 +3452,16 @@ div.daggerheart.views.multiclass { } .application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .name-row { display: flex; - gap: 20px; - align-items: baseline; + gap: 5px; + align-items: center; justify-content: space-between; padding: 0; padding-top: 5px; + flex: 1; } .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; @@ -3472,6 +3472,36 @@ div.daggerheart.views.multiclass { } .application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .name-row .level-div { white-space: nowrap; + display: flex; + justify-content: end; +} +.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .name-row .level-div .label { + display: flex; + align-items: center; + gap: 4px; +} +.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .name-row .level-div input { + width: 40px; + padding: 0; + text-align: center; +} +.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .name-row .level-div .level-button { + color: light-dark(#222, #efe6d8); + font-size: 18px; + line-height: 1; + min-height: unset; + height: min-content; + padding: 4px; + font-family: 'Cinzel', serif; + margin: 0; + font-weight: normal; + border-color: light-dark(#18162e, #f3c267); + background-color: light-dark(transparent, #0e0d15); +} +.application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .name-row .level-div .level-button:hover { + background-image: none; + background-color: var(--color-warm-2); + filter: drop-shadow(0 0 3px lightgray); } .application.sheet.daggerheart.actor.dh-style.character .character-header-sheet .character-details { display: flex; @@ -4071,6 +4101,22 @@ div.daggerheart.views.multiclass { justify-content: center; gap: 10px; } +@keyframes glow { + 0% { + box-shadow: 0 0 1px 1px #f3c267; + } + 100% { + box-shadow: 0 0 2px 2px #f3c267; + } +} +@keyframes glow-dark { + 0% { + box-shadow: 0 0 1px 1px #18162e; + } + 100% { + box-shadow: 0 0 2px 2px #18162e; + } +} @font-face { font-family: 'Cinzel'; font-style: normal; @@ -4254,6 +4300,9 @@ div.daggerheart.views.multiclass { background: light-dark(rgba(0, 0, 0, 0.3), #18162e); color: light-dark(#18162e, #f3c267); } +.application.sheet.dh-style button.glow { + animation: glow 0.75s infinite alternate; +} .application.sheet.dh-style select { background: light-dark(transparent, transparent); color: light-dark(#222, #efe6d8); @@ -4477,6 +4526,9 @@ div.daggerheart.views.multiclass { .system-daggerheart.theme-light .tagify__dropdown .tagify__dropdown__item--active { color: #efe6d8; } +.theme-light .application.sheet.dh-style button.glow { + animation: glow-dark 0.75s infinite alternate; +} .theme-light .application .component.dh-style.card-preview-container { background-image: url('../assets/parchments/dh-parchment-light.png'); } diff --git a/styles/less/actors/character/header.less b/styles/less/actors/character/header.less index 7d7403e5..4a2c1cec 100644 --- a/styles/less/actors/character/header.less +++ b/styles/less/actors/character/header.less @@ -9,16 +9,16 @@ .name-row { display: flex; - gap: 20px; - align-items: baseline; + gap: 5px; + align-items: center; justify-content: space-between; padding: 0; padding-top: 5px; + flex: 1; input[type='text'] { font-size: 32px; height: 42px; - width: 380px; text-align: start; border: 1px solid transparent; outline: 2px solid transparent; @@ -31,6 +31,40 @@ .level-div { white-space: nowrap; + display: flex; + justify-content: end; + + .label { + display: flex; + align-items: center; + gap: 4px; + } + + input { + width: 40px; + padding: 0; + text-align: center; + } + + .level-button { + color: light-dark(@dark, @beige); + font-size: 18px; + line-height: 1; + min-height: unset; + height: min-content; + padding: 4px; + font-family: 'Cinzel', serif; + margin: 0; + font-weight: normal; + border-color: light-dark(@dark-blue, @golden); + background-color: light-dark(transparent, @deep-black); + + &:hover { + background-image: none; + background-color: var(--color-warm-2); + filter: drop-shadow(0 0 3px lightgray); + } + } } } diff --git a/styles/less/global/elements.less b/styles/less/global/elements.less index 8137e7de..c4745a16 100755 --- a/styles/less/global/elements.less +++ b/styles/less/global/elements.less @@ -48,6 +48,10 @@ background: light-dark(@light-black, @dark-blue); color: light-dark(@dark-blue, @golden); } + + &.glow { + animation: glow 0.75s infinite alternate; + } } select { @@ -336,16 +340,24 @@ } } -.theme-light .application .component.dh-style.card-preview-container { - background-image: url('../assets/parchments/dh-parchment-light.png'); - - .preview-text-container { - background-image: url(../assets/parchments/dh-parchment-dark.png); +.theme-light .application { + &.sheet.dh-style { + button.glow { + animation: glow-dark 0.75s infinite alternate; + } } - .preview-selected-icon-container { - background-image: url(../assets/parchments/dh-parchment-dark.png); - color: var(--color-light-5); + .component.dh-style.card-preview-container { + background-image: url('../assets/parchments/dh-parchment-light.png'); + + .preview-text-container { + background-image: url(../assets/parchments/dh-parchment-dark.png); + } + + .preview-selected-icon-container { + background-image: url(../assets/parchments/dh-parchment-dark.png); + color: var(--color-light-5); + } } } diff --git a/styles/less/utils/colors.less b/styles/less/utils/colors.less index 8dbb0f63..7ac572b9 100755 --- a/styles/less/utils/colors.less +++ b/styles/less/utils/colors.less @@ -1,21 +1,41 @@ -@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-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%); +@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-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%); + +@keyframes glow { + 0% { + box-shadow: 0 0 1px 1px @golden; + } + + 100% { + box-shadow: 0 0 2px 2px @golden; + } +} + +@keyframes glow-dark { + 0% { + box-shadow: 0 0 1px 1px @dark-blue; + } + + 100% { + box-shadow: 0 0 2px 2px @dark-blue; + } +} diff --git a/templates/sheets/actors/character/header.hbs b/templates/sheets/actors/character/header.hbs index c79ed105..4d02fc07 100644 --- a/templates/sheets/actors/character/header.hbs +++ b/templates/sheets/actors/character/header.hbs @@ -12,8 +12,16 @@

+ {{#if (or document.system.needsCharacterSetup document.system.levelData.canLevelUp)}} + + {{/if}} {{localize 'DAGGERHEART.Sheets.PC.Level'}} - {{document.system.levelData.level.current}} +

From edbb32ccc086555e96953e1aeb8932681f2dd69a Mon Sep 17 00:00:00 2001 From: WBHarry Date: Wed, 25 Jun 2025 17:40:33 +0200 Subject: [PATCH 3/3] Added effects to domainCards --- .../applications/sheets/items/domainCard.mjs | 44 +++++++++++++++++-- module/data/item/domainCard.mjs | 12 ++++- module/documents/activeEffect.mjs | 4 ++ styles/daggerheart.css | 3 ++ styles/less/items/class.less | 4 ++ templates/sheets/actors/character/sidebar.hbs | 8 ++-- .../sheets/items/domainCard/settings.hbs | 4 +- templates/sheets/items/subclass/header.hbs | 2 +- 8 files changed, 68 insertions(+), 13 deletions(-) diff --git a/module/applications/sheets/items/domainCard.mjs b/module/applications/sheets/items/domainCard.mjs index 17a83f95..dd951be5 100644 --- a/module/applications/sheets/items/domainCard.mjs +++ b/module/applications/sheets/items/domainCard.mjs @@ -4,20 +4,56 @@ const { ItemSheetV2 } = foundry.applications.sheets; export default class DomainCardSheet extends DHItemSheetV2(ItemSheetV2) { static DEFAULT_OPTIONS = { classes: ['domain-card'], - position: { width: 450, height: 700 } + position: { width: 450, height: 700 }, + actions: { + addEffect: this.addEffect, + editEffect: this.editEffect, + removeEffect: this.removeEffect + } }; static PARTS = { header: { template: 'systems/daggerheart/templates/sheets/items/domainCard/header.hbs' }, tabs: { template: 'systems/daggerheart/templates/sheets/global/tabs/tab-navigation.hbs' }, description: { template: 'systems/daggerheart/templates/sheets/global/tabs/tab-description.hbs' }, + settings: { + template: 'systems/daggerheart/templates/sheets/items/domainCard/settings.hbs', + scrollable: ['.settings'] + }, actions: { template: 'systems/daggerheart/templates/sheets/global/tabs/tab-actions.hbs', scrollable: ['.actions'] }, - settings: { - template: 'systems/daggerheart/templates/sheets/items/domainCard/settings.hbs', - scrollable: ['.settings'] + effects: { + template: 'systems/daggerheart/templates/sheets/global/tabs/tab-effects.hbs', + scrollable: ['.effects'] } }; + + static TABS = { + ...super.TABS, + effects: { + active: false, + cssClass: '', + group: 'primary', + id: 'effects', + icon: null, + label: 'DAGGERHEART.Sheets.Feature.Tabs.Effects' + } + }; + + static async addEffect() { + await this.document.createEmbeddedDocuments('ActiveEffect', [ + { name: game.i18n.localize('DAGGERHEART.Feature.NewEffect') } + ]); + } + + static async editEffect(_, target) { + const effect = this.document.effects.get(target.dataset.effect); + effect.sheet.render(true); + } + + static async removeEffect(_, target) { + await this.document.effects.get(target.dataset.effect).delete(); + } } diff --git a/module/data/item/domainCard.mjs b/module/data/item/domainCard.mjs index dcafd0d9..f9ecca8a 100644 --- a/module/data/item/domainCard.mjs +++ b/module/data/item/domainCard.mjs @@ -16,10 +16,18 @@ export default class DHDomainCard extends BaseDataItem { const fields = foundry.data.fields; return { ...super.defineSchema(), - domain: new fields.StringField({ choices: SYSTEM.DOMAIN.domains, required: true, blank: true }), + domain: new fields.StringField({ + choices: SYSTEM.DOMAIN.domains, + required: true, + initial: SYSTEM.DOMAIN.domains.arcana.id + }), level: new fields.NumberField({ initial: 1, integer: true }), recallCost: new fields.NumberField({ initial: 0, integer: true }), - type: new fields.StringField({ choices: SYSTEM.DOMAIN.cardTypes, required: true, blank: true }), + type: new fields.StringField({ + choices: SYSTEM.DOMAIN.cardTypes, + required: true, + initial: SYSTEM.DOMAIN.cardTypes.ability.id + }), foundation: new fields.BooleanField({ initial: false }), inVault: new fields.BooleanField({ initial: false }), actions: new fields.ArrayField(new ActionField()) diff --git a/module/documents/activeEffect.mjs b/module/documents/activeEffect.mjs index 7bbf79e3..ce73441b 100644 --- a/module/documents/activeEffect.mjs +++ b/module/documents/activeEffect.mjs @@ -4,6 +4,10 @@ export default class DhActiveEffect extends ActiveEffect { return !this.parent.system.equipped; } + if (this.parent.type === 'domainCard') { + return this.parent.system.inVault; + } + return super.isSuppressed; } diff --git a/styles/daggerheart.css b/styles/daggerheart.css index 72459da7..c1824583 100755 --- a/styles/daggerheart.css +++ b/styles/daggerheart.css @@ -4071,6 +4071,9 @@ div.daggerheart.views.multiclass { gap: 10px; grid-template-columns: 1fr 1.5fr 1.5fr; } +.application.sheet.daggerheart.dh-style.class .tab.settings .fieldsets-section .drop-section { + width: 100%; +} .application.sheet.daggerheart.dh-style.class .tab.settings .list-items { margin-bottom: 10px; width: 100%; diff --git a/styles/less/items/class.less b/styles/less/items/class.less index a70b56d4..f8004d31 100644 --- a/styles/less/items/class.less +++ b/styles/less/items/class.less @@ -7,6 +7,10 @@ display: grid; gap: 10px; grid-template-columns: 1fr 1.5fr 1.5fr; + + .drop-section { + width: 100%; + } } .list-items { diff --git a/templates/sheets/actors/character/sidebar.hbs b/templates/sheets/actors/character/sidebar.hbs index f6589f62..8e4891dc 100644 --- a/templates/sheets/actors/character/sidebar.hbs +++ b/templates/sheets/actors/character/sidebar.hbs @@ -6,12 +6,12 @@

/

-

{{document.system.resources.hitPoints.max}}

+

{{document.system.resources.hitPoints.maxTotal}}

Health

@@ -22,12 +22,12 @@

/

-

{{document.system.resources.stress.max}}

+

{{document.system.resources.stress.maxTotal}}

Stress

diff --git a/templates/sheets/items/domainCard/settings.hbs b/templates/sheets/items/domainCard/settings.hbs index 4b3f2968..2a55fb88 100644 --- a/templates/sheets/items/domainCard/settings.hbs +++ b/templates/sheets/items/domainCard/settings.hbs @@ -7,11 +7,11 @@ {{localize tabs.settings.label}} {{localize "DAGGERHEART.Sheets.DomainCard.Type"}} - {{formField systemFields.type value=source.system.type localize=true blank=""}} + {{formField systemFields.type value=source.system.type localize=true}} {{localize "DAGGERHEART.Sheets.DomainCard.Foundation"}} {{formField systemFields.foundation value=source.system.foundation }} {{localize "DAGGERHEART.Sheets.DomainCard.Domain"}} - {{formField systemFields.domain value=source.system.domain localize=true blank=""}} + {{formField systemFields.domain value=source.system.domain localize=true}} {{localize "DAGGERHEART.Sheets.DomainCard.Level"}} {{formField systemFields.level value=source.system.level data-dtype="Number"}} {{localize "DAGGERHEART.Sheets.DomainCard.RecallCost"}} diff --git a/templates/sheets/items/subclass/header.hbs b/templates/sheets/items/subclass/header.hbs index 4e6d10e9..8459949b 100644 --- a/templates/sheets/items/subclass/header.hbs +++ b/templates/sheets/items/subclass/header.hbs @@ -4,7 +4,7 @@

{{localize 'TYPES.Item.subclass'}}

-

{{localize (concat 'DAGGERHEART.Abilities.' source.system.spellcastingTrait '.name')}}

+ {{#if source.system.spellcastingTrait}}

{{localize (concat 'DAGGERHEART.Abilities.' source.system.spellcastingTrait '.name')}}

{{/if}}
\ No newline at end of file