diff --git a/module/data/action/attackAction.mjs b/module/data/action/attackAction.mjs index 984ff97a..62463d15 100644 --- a/module/data/action/attackAction.mjs +++ b/module/data/action/attackAction.mjs @@ -50,23 +50,21 @@ export default class DHAttackAction extends DHDamageAction { _getLabels() { const labels = []; const { roll, range, damage } = this; - + if (roll.trait) labels.push(game.i18n.localize(`DAGGERHEART.CONFIG.Traits.${roll.trait}.short`)) - labels.push(game.i18n.localize(`DAGGERHEART.CONFIG.Range.${range}.short`)); + if (range) labels.push(game.i18n.localize(`DAGGERHEART.CONFIG.Range.${range}.short`)); for (const { value, type } of damage.parts) { - const str = [value.dice]; - if (value.bonus) str.push(value.bonus.signedString()); + const str = Roll.replaceFormulaData(value.getFormula(), this.actor?.getRollData() ?? {}); const icons = Array.from(type) .map(t => CONFIG.DH.GENERAL.damageTypes[t]?.icon) .filter(Boolean); - const labelValue = str.join(''); if (icons.length === 0) { - labels.push(labelValue); + labels.push(str); } else { - labels.push({ value: labelValue, icons }); + labels.push({ value: str, icons }); } } diff --git a/module/data/item/armor.mjs b/module/data/item/armor.mjs index a8c3dcec..7f70d3f7 100644 --- a/module/data/item/armor.mjs +++ b/module/data/item/armor.mjs @@ -144,7 +144,8 @@ export default class DHArmor extends AttachableItem { * @returns {(string | { value: string, icons: string[] })[]} An array of localized strings and damage label objects. */ _getLabels() { - const labels = [`${game.i18n.localize('DAGGERHEART.ITEMS.Armor.baseScore')}: ${this.baseScore}`]; + const labels = []; + if(this.baseScore) labels.push(`${game.i18n.localize('DAGGERHEART.ITEMS.Armor.baseScore')}: ${this.baseScore}`) return labels; } diff --git a/module/data/item/domainCard.mjs b/module/data/item/domainCard.mjs index 7705adb1..9d5e80e7 100644 --- a/module/data/item/domainCard.mjs +++ b/module/data/item/domainCard.mjs @@ -89,7 +89,7 @@ export default class DHDomainCard extends BaseDataItem { */ _getLabels() { const labels = [ - game.i18n.localize(`DAGGERHEART.CONFIG.DomainCardTypes.${this.type}`), + , this.domainLabel, { value: `${this.recallCost}`, //converts the number to a string @@ -97,6 +97,14 @@ export default class DHDomainCard extends BaseDataItem { } ]; + if (this.type) labels.push(game.i18n.localize(`DAGGERHEART.CONFIG.DomainCardTypes.${this.type}`)); + if (this.domainLabel) labels.push(this.domainLabel); + if (this.recallCost) { + labels.push({ + value: `${this.recallCost}`, //converts the number to a string + icons: ['fa-bolt'] + }); + } return labels; } } diff --git a/module/data/item/weapon.mjs b/module/data/item/weapon.mjs index 60a17e3d..0cba35b8 100644 --- a/module/data/item/weapon.mjs +++ b/module/data/item/weapon.mjs @@ -209,26 +209,23 @@ export default class DHWeapon extends AttachableItem { * @returns {(string | { value: string, icons: string[] })[]} An array of localized strings and damage label objects. */ _getLabels() { + const labels = []; const { roll, range, damage } = this.attack; - const labels = [ - game.i18n.localize(`DAGGERHEART.CONFIG.Traits.${roll.trait}.short`), - game.i18n.localize(`DAGGERHEART.CONFIG.Range.${range}.short`) - ]; + if (roll.trait) labels.push(game.i18n.localize(`DAGGERHEART.CONFIG.Traits.${roll.trait}.short`)) + if (range) labels.push(game.i18n.localize(`DAGGERHEART.CONFIG.Range.${range}.short`)); for (const { value, type } of damage.parts) { - const str = [value.dice]; - if (value.bonus) str.push(value.bonus.signedString()); + const str = Roll.replaceFormulaData(value.getFormula(), this.actor?.getRollData() ?? {}); const icons = Array.from(type) .map(t => CONFIG.DH.GENERAL.damageTypes[t]?.icon) .filter(Boolean); - const labelValue = str.join(''); if (icons.length === 0) { - labels.push(labelValue); + labels.push(str); } else { - labels.push({ value: labelValue, icons }); + labels.push({ value: str, icons }); } }