From 84afec31a774c007d6542ee7d4bd7ba39b7061f4 Mon Sep 17 00:00:00 2001 From: Carlos Fernandez Date: Fri, 24 Apr 2026 14:47:33 -0400 Subject: [PATCH] [Fix] class domains when setting max domains to null or 0 (#1832) * Fix class domains when setting max domains to null or 0 * Convert max loadout to use data prep --- module/data/actor/character.mjs | 9 +++------ module/data/settings/Homebrew.mjs | 8 +++++++- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/module/data/actor/character.mjs b/module/data/actor/character.mjs index 1bb3560f..32f44df6 100644 --- a/module/data/actor/character.mjs +++ b/module/data/actor/character.mjs @@ -410,14 +410,11 @@ export default class DhCharacter extends DhCreature { } get loadoutSlot() { - const loadoutCount = this.domainCards.loadout?.length ?? 0, - worldSetting = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Homebrew).maxLoadout, - max = !worldSetting ? null : worldSetting + this.bonuses.maxLoadout; - + const loadoutCount = this.domainCards.loadout?.length ?? 0; + const worldSetting = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Homebrew).maxLoadout; return { current: loadoutCount, - available: !max ? true : Math.max(max - loadoutCount, 0), - max + available: loadoutCount < worldSetting }; } diff --git a/module/data/settings/Homebrew.mjs b/module/data/settings/Homebrew.mjs index d4b7b03f..b5e02675 100644 --- a/module/data/settings/Homebrew.mjs +++ b/module/data/settings/Homebrew.mjs @@ -54,7 +54,7 @@ export default class DhHomebrew extends foundry.abstract.DataModel { maxDomains: new fields.NumberField({ required: true, integer: true, - min: 1, + min: 0, initial: 2, label: 'DAGGERHEART.SETTINGS.Homebrew.FIELDS.maxDomains.label' }), @@ -196,6 +196,12 @@ export default class DhHomebrew extends foundry.abstract.DataModel { return source; } + _initialize(options) { + super._initialize(options); + this.maxDomains ||= Infinity; + this.maxLoadout ||= Infinity; + } + /** Invoked by the setting when data changes */ handleChange() { if (this.maxFear) {