diff --git a/Apps/HeroSummaryCardV1/content.hbs b/Apps/HeroSummaryCardV1/content.hbs index ed99c46..9d43da0 100644 --- a/Apps/HeroSummaryCardV1/content.hbs +++ b/Apps/HeroSummaryCardV1/content.hbs @@ -45,14 +45,34 @@ {{#each weapons as | slot |}} {{#if slot.empty}} - - --- + + {{ rc-i18n "RipCrypt.common.empty" }} {{else}} - + + {{ slot.data.name }} + + {{#if slot.data.system.traitString}} + {{ slot.data.system.traitString }} + {{/if}} + {{#if slot.data.system.rangeString}} + {{ slot.data.system.rangeString }} + {{/if}} + + + {{ slot.data.system.wear.value }} / {{ slot.data.system.wear.max }} + + + {{ slot.data.system.damage }} + + {{/if}} {{/each}} diff --git a/module/Apps/ActorSheets/HeroSummaryCardV1.mjs b/module/Apps/ActorSheets/HeroSummaryCardV1.mjs index 0b54107..24e2054 100644 --- a/module/Apps/ActorSheets/HeroSummaryCardV1.mjs +++ b/module/Apps/ActorSheets/HeroSummaryCardV1.mjs @@ -102,11 +102,12 @@ export class HeroSummaryCardV1 extends GenericSheetMixin(HandlebarsApplicationMi static async prepareWeapons(ctx) { const limit = ctx.actor.system.limit.weapons; + const embedded = ctx.actor.itemTypes.weapon; ctx.weapons = []; for (let i = 0; i < limit; i++) { ctx.weapons.push({ - data: null, - empty: true, + data: embedded[i], + empty: embedded.at(i) === undefined, index: i + 1, class: i % 2 === 1 ? `row-alt` : ``, }); diff --git a/module/data/Item/Weapon.mjs b/module/data/Item/Weapon.mjs index fe8979a..2e42e35 100644 --- a/module/data/Item/Weapon.mjs +++ b/module/data/Item/Weapon.mjs @@ -42,4 +42,17 @@ export class WeaponData extends foundry.abstract.TypeDataModel { prepareDerivedData() { super.prepareDerivedData(); }; + + // #region Getters + get traitString() { + return [...this.traits].join(`, `); + } + + get rangeString() { + if (this.range.short && this.range.long) { + return `${this.range.short} / ${this.range.long}`; + }; + return String(this.range.short ?? this.range.long ?? ``); + } + // #endregion };