Improved the EffectDisplay tooltip of the beastform effect to show the info about the active beastform

This commit is contained in:
WBHarry 2026-03-25 20:29:52 +01:00
parent a4fff56461
commit 42b344dc8c
12 changed files with 222 additions and 163 deletions

View file

@ -97,11 +97,11 @@ export default class DHBeastform extends BaseDataItem {
/* -------------------------------------------- */
get beastformAttackData() {
const effect = this.parent.effects.find(x => x.type === 'beastform');
static getBeastformAttackData(effect) {
if (!effect) return null;
const traitBonus = effect.changes.find(x => x.key === `system.traits.${this.mainTrait}.value`)?.value ?? 0;
const mainTrait = effect.changes.find(x => x.key === 'system.rules.attack.roll.trait')?.value;
const traitBonus = effect.changes.find(x => x.key === `system.traits.${mainTrait}.value`)?.value ?? 0;
const evasionBonus = effect.changes.find(x => x.key === 'system.evasion')?.value ?? 0;
const damageDiceIndex = effect.changes.find(x => x.key === 'system.rules.attack.damage.diceIndex');
@ -109,7 +109,7 @@ export default class DHBeastform extends BaseDataItem {
const damageBonus = effect.changes.find(x => x.key === 'system.rules.attack.damage.bonus')?.value ?? 0;
return {
trait: game.i18n.localize(CONFIG.DH.ACTOR.abilities[this.mainTrait].label),
trait: game.i18n.localize(CONFIG.DH.ACTOR.abilities[mainTrait]?.label),
traitBonus: traitBonus ? Number(traitBonus).signedString() : '',
evasionBonus: evasionBonus ? Number(evasionBonus).signedString() : '',
damageDice: damageDice,