Added immunity for hidden and SRD additions for immunity

This commit is contained in:
WBHarry 2025-11-22 23:23:24 +01:00
parent 397879d39d
commit f810653059
10 changed files with 131 additions and 21 deletions

View file

@ -33,7 +33,10 @@ export default class DHTokenHUD extends foundry.applications.hud.TokenHUD {
: context.canToggleCombat;
context.systemStatusEffects = Object.keys(context.statusEffects).reduce((acc, key) => {
const effect = context.statusEffects[key];
if (effect.systemEffect) acc[key] = effect;
if (effect.systemEffect) {
const disabled = !effect.isActive && this.actor.system.rules.conditionImmunities[key];
acc[key] = { ...effect, disabled };
}
return acc;
}, {});

View file

@ -59,8 +59,9 @@ export default class DhpAdversary extends BaseDataActor {
}),
rules: new fields.SchemaField({
conditionImmunities: new fields.SchemaField({
vulnerable: new fields.BooleanField({ initial: false }),
restrained: new fields.BooleanField({ initial: false })
hidden: new fields.BooleanField({ initial: false }),
restrained: new fields.BooleanField({ initial: false }),
vulnerable: new fields.BooleanField({ initial: false })
})
}),
attack: new ActionField({

View file

@ -284,8 +284,9 @@ export default class DhCharacter extends BaseDataActor {
})
}),
conditionImmunities: new fields.SchemaField({
vulnerable: new fields.BooleanField({ initial: false }),
restrained: new fields.BooleanField({ initial: false })
hidden: new fields.BooleanField({ initial: false }),
restrained: new fields.BooleanField({ initial: false }),
vulnerable: new fields.BooleanField({ initial: false })
}),
runeWard: new fields.BooleanField({ initial: false }),
burden: new fields.SchemaField({

View file

@ -53,8 +53,9 @@ export default class DhCompanion extends BaseDataActor {
),
rules: new fields.SchemaField({
conditionImmunities: new fields.SchemaField({
vulnerable: new fields.BooleanField({ initial: false }),
restrained: new fields.BooleanField({ initial: false })
hidden: new fields.BooleanField({ initial: false }),
restrained: new fields.BooleanField({ initial: false }),
vulnerable: new fields.BooleanField({ initial: false })
})
}),
attack: new ActionField({