Fixed automatic battleToggles

This commit is contained in:
WBHarry 2025-11-29 15:25:47 +01:00
parent e32454b7c7
commit d7bbc9e650
10 changed files with 201 additions and 21 deletions

View file

@ -221,7 +221,7 @@ export default class DhTooltipManager extends foundry.helpers.interaction.Toolti
const nrCharacters = characters.length;
const currentBP = AdversaryBPPerEncounter(adversaries, characters);
const maxBP = combat.system.battleToggles.reduce(
const maxBP = combat.system.extendedBattleToggles.reduce(
(acc, toggle) => acc + toggle.category,
BaseBPPerEncounter(nrCharacters)
);
@ -252,18 +252,21 @@ export default class DhTooltipManager extends foundry.helpers.interaction.Toolti
return acc;
}, foundry.utils.deepClone(CONFIG.DH.ENCOUNTER.adversaryTypeCostBrackets));
const extendedBattleToggles = combat.system.extendedBattleToggles;
const toggles = Object.keys(CONFIG.DH.ENCOUNTER.BPModifiers)
.reduce((acc, categoryKey) => {
const category = CONFIG.DH.ENCOUNTER.BPModifiers[categoryKey];
acc.push(
...Object.keys(category).reduce((acc, toggleKey) => {
const grouping = category[toggleKey];
acc.push({
...category[toggleKey],
...grouping,
categoryKey: Number(categoryKey),
toggleKey,
checked: combat.system.battleToggles.find(
checked: extendedBattleToggles.find(
x => x.category == categoryKey && x.grouping === toggleKey
)
),
disabled: grouping.automatic
});
return acc;
@ -302,6 +305,13 @@ export default class DhTooltipManager extends foundry.helpers.interaction.Toolti
}
});
await combat.toggleModifierEffects(
event.target.checked,
combat.combatants.filter(x => x.actor.type === 'adversary').map(x => x.actor),
category,
grouping
);
this.tooltip.innerHTML = await this.getBattlepointHTML(combatId);
const lockedTooltip = this.lockTooltip();
lockedTooltip.querySelectorAll('.battlepoint-toggle-container input').forEach(element => {