From b054d7b5241736cbcc9e1832afc30f850e96c9b7 Mon Sep 17 00:00:00 2001 From: WBHarry Date: Sat, 6 Dec 2025 15:55:55 +0100 Subject: [PATCH] Fixed combatant isNPC --- daggerheart.mjs | 1 + module/documents/_module.mjs | 1 + module/documents/combatant.mjs | 6 ++++++ module/documents/tooltipManager.mjs | 2 +- 4 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 module/documents/combatant.mjs diff --git a/daggerheart.mjs b/daggerheart.mjs index 37efbef6..644d6d86 100644 --- a/daggerheart.mjs +++ b/daggerheart.mjs @@ -43,6 +43,7 @@ CONFIG.ActiveEffect.dataModels = models.activeEffects.config; CONFIG.Combat.documentClass = documents.DhpCombat; CONFIG.Combat.dataModels = { base: models.DhCombat }; +CONFIG.Combatant.documentClass = documents.DHCombatant; CONFIG.Combatant.dataModels = { base: models.DhCombatant }; CONFIG.ChatMessage.dataModels = models.chatMessages.config; diff --git a/module/documents/_module.mjs b/module/documents/_module.mjs index ce33f982..af1e9942 100644 --- a/module/documents/_module.mjs +++ b/module/documents/_module.mjs @@ -1,6 +1,7 @@ export { default as DhpActor } from './actor.mjs'; export { default as DHItem } from './item.mjs'; export { default as DhpCombat } from './combat.mjs'; +export { default as DHCombatant } from './combatant.mjs'; export { default as DhActiveEffect } from './activeEffect.mjs'; export { default as DhChatMessage } from './chatMessage.mjs'; export { default as DhToken } from './token.mjs'; diff --git a/module/documents/combatant.mjs b/module/documents/combatant.mjs new file mode 100644 index 00000000..ad658509 --- /dev/null +++ b/module/documents/combatant.mjs @@ -0,0 +1,6 @@ +export default class DhCombatant extends Combatant { + /**@inheritdoc */ + get isNPC() { + return this.actor?.isNPC ?? (!this.actor || !this.hasPlayerOwner); + } +} diff --git a/module/documents/tooltipManager.mjs b/module/documents/tooltipManager.mjs index bd82dda3..23e04ac1 100644 --- a/module/documents/tooltipManager.mjs +++ b/module/documents/tooltipManager.mjs @@ -261,7 +261,7 @@ export default class DhTooltipManager extends foundry.helpers.interaction.Toolti async getBattlepointHTML(combatId) { const combat = game.combats.get(combatId); const adversaries = - combat.turns?.filter(x => x.isNPC)?.map(x => ({ ...x.actor, type: x.actor.system.type })) ?? []; + combat.turns?.filter(x => x.actor?.isNPC)?.map(x => ({ ...x.actor, type: x.actor.system.type })) ?? []; const characters = combat.turns?.filter(x => !x.isNPC) ?? []; const nrCharacters = characters.length;