From f48459114ada20a364e3e9caa41214d3340c0f1f Mon Sep 17 00:00:00 2001 From: moliloo Date: Tue, 1 Jul 2025 00:42:34 -0300 Subject: [PATCH] finish actions setting tab --- lang/en.json | 42 ++++--- .../applications/sheets/actors/adversary.mjs | 8 +- .../applications/adversary-settings.mjs | 69 ++++++++-- module/config/actionConfig.mjs | 20 +-- module/config/itemConfig.mjs | 6 +- module/data/actor/adversary.mjs | 1 + styles/daggerheart.css | 118 +++++++++++------- styles/daggerheart.less | 4 +- styles/less/actors/adversary/actions.less | 20 +++ styles/less/actors/adversary/header.less | 44 ------- styles/less/actors/adversary/sidebar.less | 13 +- .../adversary-settings/actions.less | 62 +++++++++ .../adversary-settings/experiences.less | 28 +++++ .../sheet.less | 0 .../less/global/inventory-fieldset-items.less | 2 +- templates/sheets/actors/adversary/actions.hbs | 11 ++ .../sheets/actors/adversary/features.hbs | 10 -- templates/sheets/actors/adversary/sidebar.hbs | 2 +- .../adversary-settings/actions.hbs | 34 +++++ .../adversary-settings/experiences.hbs | 24 ++-- .../adversary-settings/features.hbs | 7 -- .../partials/inventory-fieldset-items.hbs | 5 + .../sheets/global/partials/inventory-item.hbs | 10 ++ 23 files changed, 365 insertions(+), 175 deletions(-) create mode 100644 styles/less/actors/adversary/actions.less create mode 100644 styles/less/applications/adversary-settings/actions.less create mode 100644 styles/less/applications/adversary-settings/experiences.less rename styles/less/applications/{adversary => adversary-settings}/sheet.less (100%) create mode 100644 templates/sheets/actors/adversary/actions.hbs delete mode 100644 templates/sheets/actors/adversary/features.hbs create mode 100644 templates/sheets/applications/adversary-settings/actions.hbs delete mode 100644 templates/sheets/applications/adversary-settings/features.hbs diff --git a/lang/en.json b/lang/en.json index 47111ca4..d911de61 100755 --- a/lang/en.json +++ b/lang/en.json @@ -227,14 +227,15 @@ "details": "Details", "attack": "Attack", "experiences": "Experiences", - "features": "Features" + "features": "Features", + "actions": "Actions" }, "basics": "Basics" }, "ActionType": { - "Passive": "Passive", - "Action": "Action", - "Reaction": "Reaction" + "passive": "Passive", + "action": "Action", + "reaction": "Reaction" }, "Abilities": { "agility": { @@ -1530,6 +1531,7 @@ "sendToChat": "Send to Chat", "moreOptions": "More Options", "equip": "Equip", + "edit": "Edit", "unequip": "Unequip", "delete": "Delete", "sendToVault": "Send to Vault", @@ -1537,29 +1539,29 @@ }, "Actions": { "Types": { - "Attack": { - "Name": "Attack" + "attack": { + "name": "Attack" }, - "Spellcast": { - "Name": "Spellcast" + "spellcast": { + "name": "Spellcast" }, - "Resource": { - "Name": "Resource" + "resource": { + "name": "Resource" }, - "Damage": { - "Name": "Damage" + "damage": { + "name": "Damage" }, - "Healing": { - "Name": "Healing" + "healing": { + "name": "Healing" }, - "Summon": { - "Name": "Summon" + "summon": { + "name": "Summon" }, - "Effect": { - "Name": "Effect" + "effect": { + "name": "Effect" }, - "Macro": { - "Name": "Macro" + "macro": { + "name": "Macro" } }, "Settings": { diff --git a/module/applications/sheets/actors/adversary.mjs b/module/applications/sheets/actors/adversary.mjs index 14901040..98b3bb12 100644 --- a/module/applications/sheets/actors/adversary.mjs +++ b/module/applications/sheets/actors/adversary.mjs @@ -28,19 +28,19 @@ export default class AdversarySheet extends DaggerheartSheet(ActorSheetV2) { static PARTS = { sidebar: { template: 'systems/daggerheart/templates/sheets/actors/adversary/sidebar.hbs' }, header: { template: 'systems/daggerheart/templates/sheets/actors/adversary/header.hbs' }, - features: { template: 'systems/daggerheart/templates/sheets/actors/adversary/features.hbs' }, + actions: { template: 'systems/daggerheart/templates/sheets/actors/adversary/actions.hbs' }, notes: { template: 'systems/daggerheart/templates/sheets/actors/adversary/notes.hbs' }, effects: { template: 'systems/daggerheart/templates/sheets/actors/adversary/effects.hbs' } }; static TABS = { - features: { + actions: { active: true, cssClass: '', group: 'primary', - id: 'features', + id: 'actions', icon: null, - label: 'DAGGERHEART.Sheets.Adversary.Tabs.features' + label: 'DAGGERHEART.General.tabs.actions' }, notes: { active: false, diff --git a/module/applications/sheets/applications/adversary-settings.mjs b/module/applications/sheets/applications/adversary-settings.mjs index 58b3ffdf..d0551939 100644 --- a/module/applications/sheets/applications/adversary-settings.mjs +++ b/module/applications/sheets/applications/adversary-settings.mjs @@ -1,5 +1,7 @@ import DHActionConfig from '../../config/Action.mjs'; import DaggerheartSheet from '../daggerheart-sheet.mjs'; +import DHBaseItemSheet from '../api/base-item.mjs'; +import { actionsTypes } from '../../../data/_module.mjs'; const { HandlebarsApplicationMixin, ApplicationV2 } = foundry.applications.api; @@ -24,8 +26,11 @@ export default class DHAdversarySettings extends HandlebarsApplicationMixin(Appl }, position: { width: 455, height: 'auto' }, actions: { - addExperience: this.addExperience, - removeExperience: this.removeExperience + addExperience: this.#addExperience, + removeExperience: this.#removeExperience, + addAction: this.#addAction, + editAction: this.#editAction, + removeAction: this.#removeAction }, form: { handler: this.updateForm, @@ -52,9 +57,9 @@ export default class DHAdversarySettings extends HandlebarsApplicationMixin(Appl id: 'experiences', template: 'systems/daggerheart/templates/sheets/applications/adversary-settings/experiences.hbs' }, - features: { - id: 'features', - template: 'systems/daggerheart/templates/sheets/applications/adversary-settings/features.hbs' + actions: { + id: 'actions', + template: 'systems/daggerheart/templates/sheets/applications/adversary-settings/actions.hbs' } }; @@ -83,13 +88,13 @@ export default class DHAdversarySettings extends HandlebarsApplicationMixin(Appl icon: null, label: 'DAGGERHEART.General.tabs.experiences' }, - features: { + actions: { active: false, cssClass: '', group: 'primary', - id: 'features', + id: 'actions', icon: null, - label: 'DAGGERHEART.General.tabs.features' + label: 'DAGGERHEART.General.tabs.actions' } }; @@ -114,7 +119,7 @@ export default class DHAdversarySettings extends HandlebarsApplicationMixin(Appl return tabs; } - static async addExperience() { + static async #addExperience() { const newExperience = { name: 'Experience', modifier: 0 @@ -123,11 +128,55 @@ export default class DHAdversarySettings extends HandlebarsApplicationMixin(Appl this.render(); } - static async removeExperience(_, target) { + static async #removeExperience(_, target) { await this.actor.update({ [`system.experiences.-=${target.dataset.experience}`]: null }); this.render(); } + static async #addAction(_event, _button) { + const actionType = await DHBaseItemSheet.selectActionType(); + if (!actionType) return; + try { + const cls = actionsTypes[actionType] ?? actionsTypes.attack, + action = new cls( + { + _id: foundry.utils.randomID(), + type: actionType, + name: game.i18n.localize(SYSTEM.ACTIONS.actionTypes[actionType].name), + ...cls.getSourceConfig(this.actor) + }, + { + parent: this.actor + } + ); + console.log(action); + await this.actor.update({ 'system.actions': [...this.actor.system.actions, action] }); + await new DHActionConfig(this.actor.system.actions[this.actor.system.actions.length - 1]).render({ + force: true + }); + this.render(); + } catch (error) { + console.log(error); + } + } + + static async #editAction(event, target) { + event.stopPropagation(); + const actionIndex = target.dataset.index; + await new DHActionConfig(this.actor.system.actions[actionIndex]).render({ + force: true + }); + } + + static async #removeAction(event, target) { + event.stopPropagation(); + const actionIndex = target.dataset.index; + await this.actor.update({ + 'system.actions': this.actor.system.actions.filter((_, index) => index !== Number.parseInt(actionIndex)) + }); + this.render(); + } + static async updateForm(event, _, formData) { await this.actor.update(formData.object); this.render(); diff --git a/module/config/actionConfig.mjs b/module/config/actionConfig.mjs index 91004bdd..6506e485 100644 --- a/module/config/actionConfig.mjs +++ b/module/config/actionConfig.mjs @@ -1,42 +1,42 @@ export const actionTypes = { attack: { id: 'attack', - name: 'DAGGERHEART.Actions.Types.Attack.Name', + name: 'DAGGERHEART.Actions.Types.attack.name', icon: 'fa-swords' }, // spellcast: { // id: 'spellcast', - // name: 'DAGGERHEART.Actions.Types.Spellcast.Name', + // name: 'DAGGERHEART.Actions.Types.spellcast.name', // icon: 'fa-book-sparkles' // }, healing: { id: 'healing', - name: 'DAGGERHEART.Actions.Types.Healing.Name', + name: 'DAGGERHEART.Actions.Types.healing.name', icon: 'fa-kit-medical' }, // resource: { // id: 'resource', - // name: 'DAGGERHEART.Actions.Types.Resource.Name', + // name: 'DAGGERHEART.Actions.Types.resource.name', // icon: 'fa-honey-pot' // }, damage: { id: 'damage', - name: 'DAGGERHEART.Actions.Types.Damage.Name', + name: 'DAGGERHEART.Actions.Types.damage.name', icon: 'fa-bone-break' }, summon: { id: 'summon', - name: 'DAGGERHEART.Actions.Types.Summon.Name', + name: 'DAGGERHEART.Actions.Types.summon.name', icon: 'fa-ghost' }, effect: { id: 'effect', - name: 'DAGGERHEART.Actions.Types.Effect.Name', + name: 'DAGGERHEART.Actions.Types.effect.name', icon: 'fa-person-rays' }, macro: { id: 'macro', - name: 'DAGGERHEART.Actions.Types.Macro.Name', + name: 'DAGGERHEART.Actions.Types.macro.name', icon: 'fa-scroll' } }; @@ -76,7 +76,7 @@ export const damageOnSave = { label: 'Full damage', mod: 1 } -} +}; export const diceCompare = { below: { @@ -104,4 +104,4 @@ export const diceCompare = { label: 'Above', operator: '>' } -} +}; diff --git a/module/config/itemConfig.mjs b/module/config/itemConfig.mjs index a2a786b9..6d8488ba 100644 --- a/module/config/itemConfig.mjs +++ b/module/config/itemConfig.mjs @@ -712,14 +712,14 @@ export const valueTypes = { export const actionTypes = { passive: { id: 'passive', - label: 'DAGGERHEART.ActionType.Passive' + label: 'DAGGERHEART.ActionType.passive' }, action: { id: 'action', - label: 'DAGGERHEART.ActionType.Action' + label: 'DAGGERHEART.ActionType.action' }, reaction: { id: 'reaction', - label: 'DAGGERHEART.ActionType.Reaction' + label: 'DAGGERHEART.ActionType.reaction' } }; diff --git a/module/data/actor/adversary.mjs b/module/data/actor/adversary.mjs index 390fe7aa..6e94d38e 100644 --- a/module/data/actor/adversary.mjs +++ b/module/data/actor/adversary.mjs @@ -43,6 +43,7 @@ export default class DhpAdversary extends BaseDataActor { hitPoints: resourceField(), stress: resourceField() }), + actions: new fields.ArrayField(new ActionField()), attack: new ActionField({ initial: { name: 'Attack', diff --git a/styles/daggerheart.css b/styles/daggerheart.css index 18b01222..3750be78 100755 --- a/styles/daggerheart.css +++ b/styles/daggerheart.css @@ -4333,42 +4333,6 @@ div.daggerheart.views.multiclass { padding: 0; margin-bottom: 15px; } -.application.sheet.daggerheart.actor.dh-style.adversary .adversary-header-sheet .character-traits { - display: flex; - justify-content: space-between; - padding: 0; - margin-bottom: 15px; -} -.application.sheet.daggerheart.actor.dh-style.adversary .adversary-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.adversary .adversary-header-sheet .character-traits .trait { - background: url('../assets/svg/trait-shield-light.svg') no-repeat; -} -.application.sheet.daggerheart.actor.dh-style.adversary .adversary-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.adversary .adversary-header-sheet .character-traits .trait .trait-name i { - line-height: 17px; - font-size: 10px; -} -.application.sheet.daggerheart.actor.dh-style.adversary .adversary-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.adversary .window-content { display: grid; grid-template-columns: 275px 1fr; @@ -4628,6 +4592,9 @@ div.daggerheart.views.multiclass { gap: 10px; align-items: center; } +.application.sheet.daggerheart.actor.dh-style.adversary .adversary-sidebar-sheet .experience-section { + margin-bottom: 20px; +} .application.sheet.daggerheart.actor.dh-style.adversary .adversary-sidebar-sheet .experience-section .title { display: flex; gap: 15px; @@ -4651,19 +4618,13 @@ div.daggerheart.views.multiclass { align-items: center; justify-content: space-between; } -.application.sheet.daggerheart.actor.dh-style.adversary .adversary-sidebar-sheet .experience-section .experience-list .experience-row input[type='text'] { - height: 32px; +.application.sheet.daggerheart.actor.dh-style.adversary .adversary-sidebar-sheet .experience-section .experience-list .experience-row .experience-name { width: 180px; - border: 1px solid transparent; - outline: 2px solid transparent; + text-align: start; font-size: 14px; font-family: 'Montserrat', sans-serif; - transition: all 0.3s ease; color: light-dark(#222, #efe6d8); } -.application.sheet.daggerheart.actor.dh-style.adversary .adversary-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.adversary .adversary-sidebar-sheet .experience-section .experience-list .experience-value { height: 25px; width: 35px; @@ -4709,6 +4670,71 @@ div.daggerheart.views.multiclass { display: flex; gap: 16px; } +.application.daggerheart.dh-style.dialog .tab.experiences .add-experience-btn { + width: 100%; + margin-bottom: 12px; +} +.application.daggerheart.dh-style.dialog .tab.experiences .experience-list { + display: flex; + flex-direction: column; + gap: 10px; +} +.application.daggerheart.dh-style.dialog .tab.experiences .experience-list .experience-item { + display: grid; + grid-template-columns: 3fr 1fr 30px; + align-items: center; + gap: 5px; +} +.application.daggerheart.dh-style.dialog .tab.experiences .experience-list .experience-item a { + text-align: center; +} +.application.daggerheart.dh-style.dialog .tab.actions .add-action-btn { + width: 100%; + margin-bottom: 12px; +} +.application.daggerheart.dh-style.dialog .tab.actions .action-list { + display: flex; + flex-direction: column; + gap: 10px; +} +.application.daggerheart.dh-style.dialog .tab.actions .action-list .action-item { + display: grid; + grid-template-columns: 40px 1fr auto; + align-items: center; + gap: 5px; +} +.application.daggerheart.dh-style.dialog .tab.actions .action-list .action-item .label { + font-family: 'Montserrat', sans-serif; +} +.application.daggerheart.dh-style.dialog .tab.actions .action-list .action-item .label .tags { + display: flex; + gap: 10px; +} +.application.daggerheart.dh-style.dialog .tab.actions .action-list .action-item .label .tags .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.daggerheart.dh-style.dialog .tab.actions .action-list .action-item .label .tags .label { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + font-size: 12px; +} +.application.daggerheart.dh-style.dialog .tab.actions .action-list .action-item .controls { + display: flex; + gap: 5px; +} +.application.daggerheart.dh-style.dialog .tab.actions .action-list .action-item .controls a { + text-align: center; +} .application.sheet.daggerheart.actor.dh-style.adversary .window-content { overflow: auto; } @@ -5717,13 +5743,13 @@ div.daggerheart.views.multiclass { transition: all 0.3s ease; color: #efe6d8; } -.application.sheet.daggerheart.actor.dh-style.character .items-list { +.application.daggerheart.dh-style .items-list { display: flex; flex-direction: column; gap: 10px; align-items: center; } -.application.sheet.daggerheart.actor.dh-style.character .card-list { +.application.daggerheart.dh-style .card-list { display: flex; flex-direction: row; gap: 10px; diff --git a/styles/daggerheart.less b/styles/daggerheart.less index 57b8c969..f10c2828 100755 --- a/styles/daggerheart.less +++ b/styles/daggerheart.less @@ -30,7 +30,9 @@ @import './less/actors/adversary/sidebar.less'; @import './less/applications/header.less'; -@import './less/applications/adversary/sheet.less'; +@import './less/applications/adversary-settings/sheet.less'; +@import './less/applications/adversary-settings/experiences.less'; +@import './less/applications/adversary-settings/actions.less'; @import './less/actors/adversary.less'; @import './less/actors/environment.less'; diff --git a/styles/less/actors/adversary/actions.less b/styles/less/actors/adversary/actions.less new file mode 100644 index 00000000..97bb45e7 --- /dev/null +++ b/styles/less/actors/adversary/actions.less @@ -0,0 +1,20 @@ +@import '../../utils/colors.less'; +@import '../../utils/fonts.less'; + +.application.sheet.daggerheart.actor.dh-style.adversary { + .tab.actions { + .action-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; + padding-top: 10px; + height: 95%; + + scrollbar-width: thin; + scrollbar-color: light-dark(@dark-blue, @golden) transparent; + } + } +} diff --git a/styles/less/actors/adversary/header.less b/styles/less/actors/adversary/header.less index 0cc1c4c5..a7a55f35 100644 --- a/styles/less/actors/adversary/header.less +++ b/styles/less/actors/adversary/header.less @@ -148,49 +148,5 @@ padding: 0; margin-bottom: 15px; } - - .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/adversary/sidebar.less b/styles/less/actors/adversary/sidebar.less index f3f1d6b1..cf7a788a 100644 --- a/styles/less/actors/adversary/sidebar.less +++ b/styles/less/actors/adversary/sidebar.less @@ -277,6 +277,8 @@ } .experience-section { + margin-bottom: 20px; + .title { display: flex; gap: 15px; @@ -302,19 +304,12 @@ align-items: center; justify-content: space-between; - input[type='text'] { - height: 32px; + .experience-name { width: 180px; - border: 1px solid transparent; - outline: 2px solid transparent; + text-align: start; 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); - } } } diff --git a/styles/less/applications/adversary-settings/actions.less b/styles/less/applications/adversary-settings/actions.less new file mode 100644 index 00000000..8bce0ad7 --- /dev/null +++ b/styles/less/applications/adversary-settings/actions.less @@ -0,0 +1,62 @@ +@import '../../utils/colors.less'; +@import '../../utils/fonts.less'; + +.application.daggerheart.dh-style.dialog { + .tab.actions { + .add-action-btn { + width: 100%; + margin-bottom: 12px; + } + + .action-list { + display: flex; + flex-direction: column; + gap: 10px; + + .action-item { + display: grid; + grid-template-columns: 40px 1fr auto; + align-items: center; + gap: 5px; + + .label { + font-family: @font-body; + + .tags { + 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; + gap: 5px; + a { + text-align: center; + } + } + } + } + } +} diff --git a/styles/less/applications/adversary-settings/experiences.less b/styles/less/applications/adversary-settings/experiences.less new file mode 100644 index 00000000..36fe85cb --- /dev/null +++ b/styles/less/applications/adversary-settings/experiences.less @@ -0,0 +1,28 @@ +@import '../../utils/colors.less'; +@import '../../utils/fonts.less'; + +.application.daggerheart.dh-style.dialog { + .tab.experiences { + .add-experience-btn { + width: 100%; + margin-bottom: 12px; + } + + .experience-list { + display: flex; + flex-direction: column; + gap: 10px; + + .experience-item { + display: grid; + grid-template-columns: 3fr 1fr 30px; + align-items: center; + gap: 5px; + + a { + text-align: center; + } + } + } + } +} diff --git a/styles/less/applications/adversary/sheet.less b/styles/less/applications/adversary-settings/sheet.less similarity index 100% rename from styles/less/applications/adversary/sheet.less rename to styles/less/applications/adversary-settings/sheet.less diff --git a/styles/less/global/inventory-fieldset-items.less b/styles/less/global/inventory-fieldset-items.less index 0c427bf7..1cbc9353 100644 --- a/styles/less/global/inventory-fieldset-items.less +++ b/styles/less/global/inventory-fieldset-items.less @@ -1,7 +1,7 @@ @import '../utils/colors.less'; @import '../utils/fonts.less'; -.application.sheet.daggerheart.actor.dh-style.character { +.application.daggerheart.dh-style { .items-list { display: flex; flex-direction: column; diff --git a/templates/sheets/actors/adversary/actions.hbs b/templates/sheets/actors/adversary/actions.hbs new file mode 100644 index 00000000..1c7e46fb --- /dev/null +++ b/templates/sheets/actors/adversary/actions.hbs @@ -0,0 +1,11 @@ +
+
+ {{#if document.system.actions}} + {{> 'systems/daggerheart/templates/sheets/global/partials/inventory-fieldset-items.hbs' title=(localize tabs.actions.label) type='action'}} + {{/if}} +
+
\ No newline at end of file diff --git a/templates/sheets/actors/adversary/features.hbs b/templates/sheets/actors/adversary/features.hbs deleted file mode 100644 index f2e251a1..00000000 --- a/templates/sheets/actors/adversary/features.hbs +++ /dev/null @@ -1,10 +0,0 @@ -
-

features

- {{#debug document}} - - {{/debug}} -
\ No newline at end of file diff --git a/templates/sheets/actors/adversary/sidebar.hbs b/templates/sheets/actors/adversary/sidebar.hbs index a67a4e5c..ce2b20be 100644 --- a/templates/sheets/actors/adversary/sidebar.hbs +++ b/templates/sheets/actors/adversary/sidebar.hbs @@ -96,7 +96,7 @@
+{{experience.modifier}}
- {{experience.name}} + {{experience.name}}
diff --git a/templates/sheets/applications/adversary-settings/actions.hbs b/templates/sheets/applications/adversary-settings/actions.hbs new file mode 100644 index 00000000..73594da2 --- /dev/null +++ b/templates/sheets/applications/adversary-settings/actions.hbs @@ -0,0 +1,34 @@ +
+ +
+ {{localize tabs.actions.label}} +
    + {{#each document.system.actions as |action index|}} +
  • + +
    + {{action.name}} +
    +
    + {{localize (concat 'DAGGERHEART.Actions.Types.' action.type '.name')}} +
    +
    + {{localize (concat 'DAGGERHEART.ActionType.' action.actionType)}} +
    +
    +
    +
    + + +
    +
  • + {{/each}} +
+
+
\ No newline at end of file diff --git a/templates/sheets/applications/adversary-settings/experiences.hbs b/templates/sheets/applications/adversary-settings/experiences.hbs index 0e307929..5e4a483c 100644 --- a/templates/sheets/applications/adversary-settings/experiences.hbs +++ b/templates/sheets/applications/adversary-settings/experiences.hbs @@ -3,15 +3,21 @@ data-tab='{{tabs.experiences.id}}' data-group='{{tabs.experiences.group}}' > - - {{#each document.system.experiences as |experience key|}} -
- - - -
- {{/each}} +
+ {{localize tabs.experiences.label}} + +
+ \ No newline at end of file diff --git a/templates/sheets/applications/adversary-settings/features.hbs b/templates/sheets/applications/adversary-settings/features.hbs deleted file mode 100644 index 1ccf7aeb..00000000 --- a/templates/sheets/applications/adversary-settings/features.hbs +++ /dev/null @@ -1,7 +0,0 @@ -
-

Features

-
\ No newline at end of file diff --git a/templates/sheets/global/partials/inventory-fieldset-items.hbs b/templates/sheets/global/partials/inventory-fieldset-items.hbs index 1465c74a..62e213f8 100644 --- a/templates/sheets/global/partials/inventory-fieldset-items.hbs +++ b/templates/sheets/global/partials/inventory-fieldset-items.hbs @@ -34,6 +34,11 @@ {{> 'systems/daggerheart/templates/sheets/global/partials/inventory-item.hbs' item=effect type=../type}} {{/if}} {{/each}} + {{#each document.system.actions as |action|}} + {{#if (or (eq ../type 'action'))}} + {{> 'systems/daggerheart/templates/sheets/global/partials/inventory-item.hbs' item=action type=../type}} + {{/if}} + {{/each}} {{/unless}} diff --git a/templates/sheets/global/partials/inventory-item.hbs b/templates/sheets/global/partials/inventory-item.hbs index e712e0fb..3366780b 100644 --- a/templates/sheets/global/partials/inventory-item.hbs +++ b/templates/sheets/global/partials/inventory-item.hbs @@ -100,6 +100,16 @@ {{/each}} {{/if}} + {{#if (eq type 'action')}} +
+
+ {{localize (concat 'DAGGERHEART.Actions.Types.' item.type '.name')}} +
+
+ {{localize (concat 'DAGGERHEART.ActionType.' item.actionType)}} +
+
+ {{/if}}
{{#if (eq type 'weapon')}}