From 9771741e3fa9ba5f0119d0fc87c1e4810b8fa324 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9gory=20Soup=C3=A9?= Date: Mon, 22 Jul 2024 02:16:09 +0200 Subject: [PATCH 01/13] fix #83 --- modules/applications/CharacterGenerator.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/applications/CharacterGenerator.js b/modules/applications/CharacterGenerator.js index 069ec96..ed203df 100644 --- a/modules/applications/CharacterGenerator.js +++ b/modules/applications/CharacterGenerator.js @@ -301,7 +301,7 @@ export default class CharacterGenerator extends FormApplication do { await startingCareerRollTable.draw({displayChat: false}).then(async tableResult => { - if(tableResult.results[0].type === 2 && !drawnCareers.has(tableResult.results[0].documentId)) + if(tableResult.results[0].type === "pack" && !drawnCareers.has(tableResult.results[0].documentId)) drawnCareers.set( tableResult.results[0].documentId, await game.packs.get("wfrp3e.items").getDocument(tableResult.results[0].documentId) From b789647d3b8a9cad46781abeeb3546eeb93d3c0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9gory=20Soup=C3=A9?= Date: Mon, 22 Jul 2024 02:25:24 +0200 Subject: [PATCH 02/13] fix #85 --- modules/data/items/WFRP3eCareerDataModel.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/data/items/WFRP3eCareerDataModel.js b/modules/data/items/WFRP3eCareerDataModel.js index 6a31bc9..2d5d23e 100644 --- a/modules/data/items/WFRP3eCareerDataModel.js +++ b/modules/data/items/WFRP3eCareerDataModel.js @@ -35,7 +35,7 @@ export default class WFRP3eCareerDataModel extends foundry.abstract.TypeDataMode cost: new fields.NumberField({initial: 0, integer: true, min: 0}), type: new fields.StringField({initial: "", nullable: false, required: true}) }), - {initial: new Array(2).fill({cost: 0, nature: ""})} + {initial: new Array(2).fill({cost: 0, type: ""})} ) }), careerSkills: new fields.StringField({initial: ", , , , ", required: true}), From e080f77cae1a74e6016ab5c0777450c3acec062f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9gory=20Soup=C3=A9?= Date: Mon, 22 Jul 2024 14:55:56 +0200 Subject: [PATCH 03/13] fix #84 --- lang/en-EN.json | 1 + lang/fr-FR.json | 1 + modules/CheckHelper.js | 12 +- .../actors/WFRP3eCharacterSheet.js | 8 + .../actors/WFRP3eCreatureSheet.js | 8 + .../data/actors/WFRP3eCharacterDataModel.js | 30 +-- .../data/actors/WFRP3eCreatureDataModel.js | 21 ++- styles/less/components/character_sheet.less | 172 +----------------- styles/less/components/creature_sheet.less | 120 +++++------- styles/less/components/sheet.less | 172 +++++++++++++++++- .../applications/actors/character-sheet.hbs | 152 ++-------------- .../applications/actors/creature-sheet.hbs | 72 +++++--- templates/partials/trapping-tab.hbs | 95 ++++++++++ wfrp3e.js | 3 +- 14 files changed, 437 insertions(+), 430 deletions(-) create mode 100644 templates/partials/trapping-tab.hbs diff --git a/lang/en-EN.json b/lang/en-EN.json index 333888d..d980167 100644 --- a/lang/en-EN.json +++ b/lang/en-EN.json @@ -248,6 +248,7 @@ "CREATURE.SoakValue": "Soak Value", "CREATURE.Stance": "Stance", "CREATURE.ThreatRating": "Threat Rating", + "CREATURE.Trappings": "Trappings", "CREATURE.WoundsThreshold": "Wounds Threshold", "CREATURE.WoundsValue": "Wounds Value", "CREATURE.ABBREVIATION.DamageRating": "DR", diff --git a/lang/fr-FR.json b/lang/fr-FR.json index f033878..1c708ea 100644 --- a/lang/fr-FR.json +++ b/lang/fr-FR.json @@ -248,6 +248,7 @@ "CREATURE.SoakValue": "Valeur d'Encaissement", "CREATURE.Stance": "Attitude", "CREATURE.ThreatRating": "Niveau de Menace", + "CREATURE.Trappings": "Dotations", "CREATURE.WoundsThreshold": "Plafond de Blessure", "CREATURE.WoundsValue": "Points de Blessures", "CREATURE.ABBREVIATION.DamageRating": "ND", diff --git a/modules/CheckHelper.js b/modules/CheckHelper.js index b87b287..88fdf0d 100644 --- a/modules/CheckHelper.js +++ b/modules/CheckHelper.js @@ -405,8 +405,7 @@ export default class CheckHelper if(match) { const characteristicName = checkData.action.system.type === "ranged" ? "agility" : "strength"; outcome.targetDamages = actor.system.characteristics[characteristicName].rating + - (checkData.weapon?.system.damageRating ?? 0) + - (actor.system.damageRating ?? 0) + + (checkData.weapon ? checkData.weapon.system.damageRating : actor.system.damageRating ?? 0) + parseInt(match[1]); } @@ -422,17 +421,14 @@ export default class CheckHelper match = effectDescription.match(new RegExp(game.i18n.localize("ROLL.REGEX.ForMinusAmountDamage"), "u")); if(match) { const characteristicName = checkData.action.system.type === "ranged" ? "agility" : "strength"; - console. outcome.targetDamages = actor.system.characteristics[characteristicName].rating + - (checkData.weapon?.system.damageRating ?? 0) + - (actor.system.damageRating ?? 0) + + (checkData.weapon ? checkData.weapon.system.damageRating : actor.system.damageRating ?? 0) + parseInt(match[1]); } match = effectDescription.match(new RegExp(game.i18n.localize("ROLL.REGEX.ForNormalDamage"), "u")); if(match) { const characteristicName = checkData.action.system.type === "ranged" ? "agility" : "strength"; - console.log(actor.system.characteristics[characteristicName].rating, checkData.weapon?.system.damageRating, actor.system.damageRating) outcome.targetDamages = actor.system.characteristics[characteristicName].rating + (checkData.weapon?.system.damageRating ?? 0) + (actor.system.damageRating ?? 0); @@ -505,9 +501,7 @@ export default class CheckHelper if(targetActor) { // If the attack inflicts damages, reduce them by Toughness and Soak values. if(outcome.targetDamages > 0) { - outcome.targetDamages -= targetActor.system.characteristics.toughness.rating + - (targetActor.system.totalSoak ?? 0) + - (targetActor.system.soakValue ?? 0); + outcome.targetDamages -= targetActor.system.characteristics.toughness.rating + targetActor.system.totalSoak; // If the attack still inflicts more damages than the target's wound threshold, the target suffers from a critical wound // (in addition to those coming from effects). diff --git a/modules/applications/actors/WFRP3eCharacterSheet.js b/modules/applications/actors/WFRP3eCharacterSheet.js index 42d998d..fbd194b 100644 --- a/modules/applications/actors/WFRP3eCharacterSheet.js +++ b/modules/applications/actors/WFRP3eCharacterSheet.js @@ -45,6 +45,14 @@ export default class WFRP3eCharacterSheet extends ActorSheet talentSocketsByType: this._buildTalentSocketsList() }; data.items = this._buildItemLists(data.items); + data.hasAbility = (data.items.abilities.length > 0 + || data.items.conditions.length > 0 + || data.items.criticalWounds.length > 0 + || data.items.diseases.length > 0 + || data.items.insanities.length > 0 + || data.items.miscasts.length > 0 + || data.items.mutations.length > 0); + data.hasTrapping = (data.items.armours.length > 0 || data.items.trappings.length > 0 || data.items.weapons.length > 0); this.options.tabs[1].initial = this.actor.system.currentCareer?._id; diff --git a/modules/applications/actors/WFRP3eCreatureSheet.js b/modules/applications/actors/WFRP3eCreatureSheet.js index fb25637..82d3b41 100644 --- a/modules/applications/actors/WFRP3eCreatureSheet.js +++ b/modules/applications/actors/WFRP3eCreatureSheet.js @@ -29,6 +29,14 @@ export default class WFRP3eCreatureSheet extends ActorSheet symbols: CONFIG.WFRP3e.symbols }; data.items = this._buildItemLists(data.items); + data.hasAbility = (data.items.abilities.length > 0 + || data.items.conditions.length > 0 + || data.items.criticalWounds.length > 0 + || data.items.diseases.length > 0 + || data.items.insanities.length > 0 + || data.items.miscasts.length > 0 + || data.items.mutations.length > 0); + data.hasTrapping = (data.items.armours.length > 0 || data.items.trappings.length > 0 || data.items.weapons.length > 0); console.log(data) diff --git a/modules/data/actors/WFRP3eCharacterDataModel.js b/modules/data/actors/WFRP3eCharacterDataModel.js index 5fdb32c..6e3bf75 100644 --- a/modules/data/actors/WFRP3eCharacterDataModel.js +++ b/modules/data/actors/WFRP3eCharacterDataModel.js @@ -73,9 +73,8 @@ export default class WFRP3eCharacterDataModel extends foundry.abstract.TypeDataM this._calculateCurrentExperience(); this._prepareRace(); - this._prepareDefence(); + this._prepareDefenceAndSoak(); this._prepareEncumbrance(); - this._prepareSoak(); this._prepareRank(); this._prepareStanceMeter(); this._prepareDefaultStance(); @@ -129,12 +128,24 @@ export default class WFRP3eCharacterDataModel extends foundry.abstract.TypeDataM } /** - * Prepares the total defence of the WFRP3eCharacter. + * Prepares the total defence and soak of the WFRP3eCharacter. * @private */ - _prepareDefence() + _prepareDefenceAndSoak() { - this.totalDefence = this.parent.itemTypes.armour.reduce((totalDefence, armour) => totalDefence + armour.system.defenceValue, 0); + this.totalDefence = 0; + this.totalSoak = 0; + + this.parent.itemTypes.armour.forEach((armour) => { + this.totalDefence += armour.system.defenceValue; + this.totalSoak += armour.system.soakValue; + }); + + if(this.totalDefence === 0) + this.totalDefence = this.defenceValue; + + if(this.totalSoak === 0) + this.totalSoak = this.soakValue; } /** @@ -148,15 +159,6 @@ export default class WFRP3eCharacterDataModel extends foundry.abstract.TypeDataM .reduce((totalEncumbrance, item) => totalEncumbrance + item.system.encumbrance, 0); } - /** - * Prepares the total soak of the WFRP3eCharacter. - * @private - */ - _prepareSoak() - { - this.totalSoak = this.parent.itemTypes.armour.reduce((totalSoak, armour) => totalSoak + armour.system.soakValue, 0); - } - /** * Prepares the rank of the WFRP3eCharacter. * @private diff --git a/modules/data/actors/WFRP3eCreatureDataModel.js b/modules/data/actors/WFRP3eCreatureDataModel.js index 06f94dc..55bc6ba 100644 --- a/modules/data/actors/WFRP3eCreatureDataModel.js +++ b/modules/data/actors/WFRP3eCreatureDataModel.js @@ -46,7 +46,7 @@ export default class WFRP3eCreatureDataModel extends foundry.abstract.TypeDataMo { super.prepareBaseData(); - this._prepareDefence(); + this._prepareDefenceAndSoak(); this._prepareDefaultStance(); if(this.specialRuleSummary) @@ -66,13 +66,24 @@ export default class WFRP3eCreatureDataModel extends foundry.abstract.TypeDataMo } /** - * Prepares the total defence of the WFRP3eCharacter. + * Prepares the total defence and soak of the WFRP3eCharacter. * @private */ - _prepareDefence() + _prepareDefenceAndSoak() { - const armourValue = this.parent.itemTypes.armour.reduce((totalDefence, armour) => totalDefence + armour.system.defenceValue, 0); - this.totalDefence = armourValue > 0 ? armourValue : this.defenceValue; + this.totalDefence = 0; + this.totalSoak = 0; + + this.parent.itemTypes.armour.forEach((armour) => { + this.totalDefence += armour.system.defenceValue; + this.totalSoak += armour.system.soakValue; + }); + + if(this.totalDefence === 0) + this.totalDefence = this.defenceValue; + + if(this.totalSoak === 0) + this.totalSoak = this.soakValue; } /** diff --git a/styles/less/components/character_sheet.less b/styles/less/components/character_sheet.less index 770a1b1..0fb28e9 100644 --- a/styles/less/components/character_sheet.less +++ b/styles/less/components/character_sheet.less @@ -24,7 +24,7 @@ & .characteristics-tab { &.active { - flex-direction: row; + flex-direction: row !important; } & .attributes { @@ -256,10 +256,6 @@ } } - & .trappings-tab { - gap: 1rem; - } - & .item-container .career-partial { display: flex; flex-flow: row wrap; @@ -311,172 +307,6 @@ } } } - - & .table { - display: flex; - flex-direction: column; - min-height: 0; - - & hr { - margin: 0; - } - - & > * hr { - border: none; - border-left: 1px solid var(--color-border-light-primary); - border-right: 1px solid var(--color-border-light-highlight); - height: 1rem; - width: 1px; - } - - & .buttons { - font-size: 10pt; - width: 5%; - } - - & .encumbrance { - width: 5%; - } - - & .quantity { - width: 10%; - } - - & .row { - background: #D8CFC0; - padding: 0.25rem; - - &:nth-of-type(even) { - background: #E9E2DB; - } - - &.skill { - background: #EDE1D1; - - &:nth-of-type(even) { - background: #E1CFB6; - } - } - - & .content:first-child { - align-items: center; - display: flex; - text-align: center; - } - } - - & .table-header { - background: #7E1518; - color: var(--color-text-light-highlight); - display: flex; - font-weight: bold; - padding: 0.25rem; - text-align: center; - text-shadow: 1px 1px var(--color-shadow-dark); - - &.skill { - background: initial; - color: initial; - font-variant-caps: small-caps; - text-shadow: initial; - } - - &.title { - background: #3F0B0CFF; - display: block; - } - - & hr { - border-right: 1px solid var(--color-border-light-primary); - } - } - - & .table-body { - overflow: auto; - } - - &.armour { - & .armour-defence-value { - width: 10%; - } - - & .armour-soak-value { - width: 10%; - } - - & .armour-name { - text-align: initial; - width: 70%; - } - } - - &.money { - & .money-value { - width: 10%; - } - - & .money-name { - text-align: initial; - width: 70%; - } - } - - &.skill { - & .buttons { - width: 10%; - } - - & .skill-characteristic { - font-variant-caps: small-caps; - width: 15%; - } - - & .skill-name { - font-variant-caps: small-caps; - text-align: initial; - width: 50%; - } - - & .skill-training-level { - width: 25%; - } - } - - &.trapping { - - & .trapping-name { - text-align: initial; - width: 90%; - } - } - - &.weapon { - & .weapon-critical-rating { - width: 5%; - } - - & .weapon-damage-rating { - width: 5%; - } - - & .weapon-group { - width: 15%; - } - - & .weapon-name { - text-align: initial; - width: 20%; - } - - & .weapon-qualities { - width: 40%; - } - - & .weapon-range { - width: 10%; - } - } - } } & .character-sheet-header { diff --git a/styles/less/components/creature_sheet.less b/styles/less/components/creature_sheet.less index 4cd8772..02f0d18 100644 --- a/styles/less/components/creature_sheet.less +++ b/styles/less/components/creature_sheet.less @@ -6,7 +6,19 @@ display: flex; flex-direction: column; - & .creature-sheet-body { + & .category { + background-color: #240000; + border: solid dimgray; + border-radius: 0; + border-width: 2px 0; + color: white; + font-style: italic; + padding-top: 0.25rem; + text-align: center; + width: 100%; + } + + & .sheet-body { flex: 1 1 0; min-height: 0; @@ -17,44 +29,15 @@ overflow: auto; } - & .creature-sheet-actions-tab { - overflow: unset; - - &.action-card { - margin: 0.5rem auto; - } - - & .creature-sheet-actions { - min-height: 0; - overflow: auto; - } - - & .creature-sheet-action-tabs { - border-bottom: 1px solid #b5b3a4; - display: flex; - flex-flow: row wrap; - justify-content: space-around; - - & > * { - margin: 0 5px; - } - } - - & .action-container { - &.active { - align-items: center; - display: flex; - flex-wrap: wrap; - justify-content: space-around; - } - } + & .action-tab .actions .action-container { + justify-content: center; } - & .creature-sheet-main-tab { + & .main-tab { & > div { display: flex; - &.creature-sheet-attributes { + &.attributes { background-color: #884832; border: solid dimgray; border-radius: 0; @@ -63,14 +46,14 @@ padding: 0.25rem 0 0.5rem; text-align: center; text-shadow: - -1pt -1pt 0 black, - -1pt 0 0 black, - 0 -1pt 0 black, - -1pt 1pt 0 black, - 1pt -1pt 0 black, - 0 1pt 0 black, - 1pt 0 0 black, - 1pt 1pt 0 black; + -1pt -1pt 0 black, + -1pt 0 0 black, + 0 -1pt 0 black, + -1pt 1pt 0 black, + 1pt -1pt 0 black, + 0 1pt 0 black, + 1pt 0 0 black, + 1pt 1pt 0 black; & .attribute { flex-grow: 1; @@ -87,11 +70,11 @@ font-style: italic; padding-top: 0.5rem; text-shadow: - -1pt -1pt 0 black, + -1pt -1pt 0 black, -1pt 0 0 black, - 0 -1pt 0 black, + 0 -1pt 0 black, -1pt 1pt 0 black, - 1pt -1pt 0 black, + 1pt -1pt 0 black, 0 1pt 0 black, 1pt 0 0 black, 1pt 1pt 0 black; @@ -108,9 +91,9 @@ } } - &.creature-sheet-main-infos { - & .creature-sheet-characteristics { - flex: 1 1 20%; + &.main-infos { + & .characteristics { + flex: 0 0 100px; padding: 0 0.5rem; & > div { @@ -146,12 +129,17 @@ } } - & .creature-sheet-image { - flex-basis: 60%; + & .image { + flex: 1 1 auto; + + & > img { + display: block; + margin: auto; + } } - & .creature-sheet-ratings { - flex: 1 1 20%; + & .ratings { + flex: 0 0 100px; padding-left: 0.5rem; & > div { @@ -182,11 +170,11 @@ } } - &.creature-sheet-secondary-infos { + &.secondary-infos { flex-grow: 1; padding: 0 1rem 1rem; - & .creature-sheet-special-rule-summary { + & .special-rule-summary { flex-grow: 1; & > .editor { @@ -194,7 +182,7 @@ } } - & .creature-sheet-stance { + & .stance { font-size: var(--font-size-18); margin: auto 1rem 1rem 0; @@ -211,19 +199,7 @@ } } - & .creature-sheet-category { - background-color: #240000; - border: solid dimgray; - border-radius: 0; - border-width: 2px 0; - color: white; - font-style: italic; - padding-top: 0.25rem; - text-align: center; - width: 100%; - } - - & .creature-sheet-header { + & .sheet-header { background: url(../assets/images/creature-sheet-header.webp) center/100% 100% no-repeat; flex-wrap: nowrap; padding: 0 0.5rem; @@ -247,7 +223,7 @@ text-shadow: 0 0 5px var(--color-shadow-primary); } - &.creature-sheet-threat-rating { + &.threat-rating { color: white; flex: 0 0 12.5%; font-size: var(--font-size-28); @@ -255,7 +231,7 @@ } } - & .creature-sheet-name > input { + & .name > input { color: bisque; text-shadow: -1pt -1pt 2pt black, @@ -268,7 +244,7 @@ 1pt 1pt 2pt black; } - & .creature-sheet-wounds { + & .wounds { flex: 0 0 3rem; & hr { @@ -283,7 +259,7 @@ } } - & .creature-sheet-tabs { + & .primary-tabs { border-top: none; } } diff --git a/styles/less/components/sheet.less b/styles/less/components/sheet.less index c8bb76a..c91aa58 100644 --- a/styles/less/components/sheet.less +++ b/styles/less/components/sheet.less @@ -1,4 +1,4 @@ -.sheet { +.wfrp3e.sheet { & nav.primary-tabs { font: small-caps bold var(--font-size-18) var(--font-primary); } @@ -76,6 +76,176 @@ display: flex; } } + + & .table { + display: flex; + flex-direction: column; + min-height: 0; + + & hr { + margin: 0; + } + + & > * hr { + border: none; + border-left: 1px solid var(--color-border-light-primary); + border-right: 1px solid var(--color-border-light-highlight); + height: 1rem; + width: 1px; + } + + & .buttons { + font-size: 10pt; + width: 5%; + } + + & .encumbrance { + width: 5%; + } + + & .quantity { + width: 10%; + } + + & .row { + background: #D8CFC0; + padding: 0.25rem; + + &:nth-of-type(even) { + background: #E9E2DB; + } + + &.skill { + background: #EDE1D1; + + &:nth-of-type(even) { + background: #E1CFB6; + } + } + + & .content:first-child { + align-items: center; + display: flex; + text-align: center; + } + } + + & .table-header { + background: #7E1518; + color: var(--color-text-light-highlight); + display: flex; + font-weight: bold; + padding: 0.25rem; + text-align: center; + text-shadow: 1px 1px var(--color-shadow-dark); + + &.skill { + background: initial; + color: initial; + font-variant-caps: small-caps; + text-shadow: initial; + } + + &.title { + background: #3F0B0CFF; + display: block; + } + + & hr { + border-right: 1px solid var(--color-border-light-primary); + } + } + + & .table-body { + overflow: auto; + } + + &.armour { + & .armour-defence-value { + width: 10%; + } + + & .armour-soak-value { + width: 10%; + } + + & .armour-name { + text-align: initial; + width: 70%; + } + } + + &.money { + & .money-value { + width: 10%; + } + + & .money-name { + text-align: initial; + width: 70%; + } + } + + &.skill { + & .buttons { + width: 10%; + } + + & .skill-characteristic { + font-variant-caps: small-caps; + width: 15%; + } + + & .skill-name { + font-variant-caps: small-caps; + text-align: initial; + width: 50%; + } + + & .skill-training-level { + width: 25%; + } + } + + &.trapping { + + & .trapping-name { + text-align: initial; + width: 90%; + } + } + + &.weapon { + & .weapon-critical-rating { + width: 5%; + } + + & .weapon-damage-rating { + width: 5%; + } + + & .weapon-group { + width: 15%; + } + + & .weapon-name { + text-align: initial; + width: 20%; + } + + & .weapon-qualities { + width: 40%; + } + + & .weapon-range { + width: 10%; + } + } + } + + & .trappings-tab { + gap: 1rem; + } } & .tab-link.active { diff --git a/templates/applications/actors/character-sheet.hbs b/templates/applications/actors/character-sheet.hbs index 28b2e24..0787a3d 100644 --- a/templates/applications/actors/character-sheet.hbs +++ b/templates/applications/actors/character-sheet.hbs @@ -30,11 +30,21 @@ @@ -222,134 +232,10 @@ {{>systems/wfrp3e/templates/partials/action-tab.hbs}} - {{>systems/wfrp3e/templates/partials/ability-tab.hbs}} - -
-
-
{{localize "CHARACTER.Weapons"}}
- -
- {{localize "TRAPPING.Name"}} - -
- - {{localize "WEAPON.ABBREVIATION.DamageRating"}} - -
- - {{localize "WEAPON.ABBREVIATION.CriticalRating"}} - -
- - {{localize "WEAPON.Range"}} - -
- - {{localize "WEAPON.Qualities"}} - -
- - {{localize "WEAPON.Group"}} - -
- - {{localize "TRAPPING.ABBREVIATION.Encumbrance"}} - -
- - -
- - {{#each items.weapons as |weapon wp|}} - {{>systems/wfrp3e/templates/partials/item-weapon-row.hbs weapon=weapon}} - - {{#unless @last}}
{{/unless}} - {{/each}} -
- - -
-
{{localize "CHARACTER.Armours"}}
- -
- {{localize "TRAPPING.Name"}} - -
- - {{localize "ARMOUR.Defence"}} - -
- - {{localize "ARMOUR.Soak"}} - -
- - {{localize "TRAPPING.ABBREVIATION.Encumbrance"}} - -
- - -
- - {{#each items.armours as |armour arm|}} - {{>systems/wfrp3e/templates/partials/item-armour-row.hbs armour=armour}} - - {{#unless @last}}
{{/unless}} - {{/each}} -
- -
-
{{localize "CHARACTER.Trappings"}}
- -
- {{localize "TRAPPING.Name"}} - -
- - {{localize "TRAPPING.ABBREVIATION.Encumbrance"}} - -
- - -
- - {{#each items.trappings as |trapping trp|}} - {{>systems/wfrp3e/templates/partials/item-trapping-row.hbs trapping=trapping}} - - {{#unless @last}}
{{/unless}} - {{/each}} -
- -
-
{{localize "CHARACTER.Money"}}
- -
- {{localize "TRAPPING.Name"}} - -
- - {{localize "MONEY.Value"}} - -
- - {{localize "TRAPPING.ABBREVIATION.Quantity"}} - -
- - {{localize "TRAPPING.ABBREVIATION.Encumbrance"}} - -
- - -
- - {{#each items.money as |money mo|}} - {{>systems/wfrp3e/templates/partials/item-money-row.hbs money=money}} - - {{#unless @last}}
{{/unless}} - {{/each}} -
-
+ {{#if hasAbility}} + {{>systems/wfrp3e/templates/partials/ability-tab.hbs}} + {{/if}} + {{>systems/wfrp3e/templates/partials/trapping-tab.hbs}}
{{editor actor.system.background.biography target="system.background.biography" button=true owner=owner editable=editable}} diff --git a/templates/applications/actors/creature-sheet.hbs b/templates/applications/actors/creature-sheet.hbs index c07892f..9a21bb9 100644 --- a/templates/applications/actors/creature-sheet.hbs +++ b/templates/applications/actors/creature-sheet.hbs @@ -1,31 +1,48 @@
-
- +
+ -

+

-
- +
+
- +
- + -
- {{editor item.system.description target='system.description' button=true owner=owner editable=editable}} +
+ {{editor item.system.description target='system.description' button=true owner=owner editable=editable}} +
\ No newline at end of file diff --git a/templates/applications/items/action-sheet.hbs b/templates/applications/items/action-sheet.hbs index 39bb5c2..01e5973 100644 --- a/templates/applications/items/action-sheet.hbs +++ b/templates/applications/items/action-sheet.hbs @@ -10,7 +10,7 @@ @@ -105,9 +105,8 @@
-
- {{localize "TRAPPING.Description"}} - -
diff --git a/templates/applications/items/weapon-sheet.hbs b/templates/applications/items/weapon-sheet.hbs index fa0f2a0..5ecb6b6 100644 --- a/templates/applications/items/weapon-sheet.hbs +++ b/templates/applications/items/weapon-sheet.hbs @@ -94,18 +94,18 @@ -