Prevent class sheet and character errors when features/domains no longer exist

This commit is contained in:
Carlos Fernandez 2026-04-24 03:02:54 -04:00
parent da11510e02
commit a41a2c9ee1
4 changed files with 5 additions and 3 deletions

View file

@ -391,8 +391,9 @@ export default class DhCharacter extends DhCreature {
return this.domains.map(key => { return this.domains.map(key => {
const domain = allDomainData[key]; const domain = allDomainData[key];
return { return {
id: key,
...domain, ...domain,
label: game.i18n.localize(domain.label) label: game.i18n.localize(domain?.label) ?? key
}; };
}); });
} }

View file

@ -18,7 +18,7 @@ export default class DhParty extends BaseDataActor {
const fields = foundry.data.fields; const fields = foundry.data.fields;
return { return {
...super.defineSchema(), ...super.defineSchema(),
partyMembers: new ForeignDocumentUUIDArrayField({ type: 'Actor' }, { prune: true }), partyMembers: new ForeignDocumentUUIDArrayField({ type: 'Actor' }),
notes: new fields.HTMLField(), notes: new fields.HTMLField(),
gold: new GoldField(), gold: new GoldField(),
tagTeam: new fields.EmbeddedDataField(TagTeamData), tagTeam: new fields.EmbeddedDataField(TagTeamData),

View file

@ -10,6 +10,7 @@ export default class ForeignDocumentUUIDArrayField extends foundry.data.fields.A
*/ */
constructor(fieldOption = {}, options = {}, context = {}) { constructor(fieldOption = {}, options = {}, context = {}) {
super(new ForeignDocumentUUIDField(fieldOption), options, context); super(new ForeignDocumentUUIDField(fieldOption), options, context);
this.options.prune ??= true;
} }
/** @inheritdoc */ /** @inheritdoc */

View file

@ -19,7 +19,7 @@ export default class DHScene extends foundry.abstract.DataModel {
close: new fields.NumberField({ integer: true, label: 'DAGGERHEART.CONFIG.Range.close.name' }), close: new fields.NumberField({ integer: true, label: 'DAGGERHEART.CONFIG.Range.close.name' }),
far: new fields.NumberField({ integer: true, label: 'DAGGERHEART.CONFIG.Range.far.name' }) far: new fields.NumberField({ integer: true, label: 'DAGGERHEART.CONFIG.Range.far.name' })
}), }),
sceneEnvironments: new ForeignDocumentUUIDArrayField({ type: 'Actor', prune: true }) sceneEnvironments: new ForeignDocumentUUIDArrayField({ type: 'Actor' })
}; };
} }
} }