This commit is contained in:
WBHarry 2026-03-08 13:59:08 +01:00
parent f1f5102af1
commit c6bf482b07
12 changed files with 280 additions and 94 deletions

View file

@ -213,7 +213,7 @@ export default class BaseDataActor extends foundry.abstract.TypeDataModel {
const textData = Object.keys(changes.system.resources).reduce((acc, key) => {
const resource = changes.system.resources[key];
if (resource.value !== undefined && resource.value !== this.resources[key].value) {
acc.push(getScrollTextData(this.resources, resource, key));
acc.push(getScrollTextData(this.resources, resource, key, this.parent.type));
}
return acc;

View file

@ -28,26 +28,32 @@ export default class DhCharacter extends DhCreature {
return {
...super.defineSchema(),
resources: new fields.SchemaField({
hitPoints: resourceField(
0,
0,
'DAGGERHEART.GENERAL.HitPoints.plural',
true,
'DAGGERHEART.ACTORS.Character.maxHPBonus'
),
stress: resourceField(6, 0, 'DAGGERHEART.GENERAL.stress', true),
hope: new fields.SchemaField(
{
value: new fields.NumberField({
initial: 2,
min: 0,
integer: true,
label: 'DAGGERHEART.GENERAL.hope'
}),
isReversed: new fields.BooleanField({ initial: false })
},
{ label: 'DAGGERHEART.GENERAL.hope' }
)
...Object.values(CONFIG.DH.ACTOR.characterResources).reduce((acc, resource) => {
if (resource.max !== undefined) {
acc[resource.id] = resourceField(
resource.max,
resource.initial,
resource.label,
resource.reverse,
resource.maxLabel
);
} else {
acc[resource.id] = new fields.SchemaField(
{
value: new fields.NumberField({
initial: resource.initial,
min: resource.min,
integer: true,
label: resource.label
}),
isReversed: new fields.BooleanField({ initial: resource.reverse })
},
{ label: resource.label }
);
}
return acc;
}, {})
}),
traits: new fields.SchemaField({
agility: attributeField('DAGGERHEART.CONFIG.Traits.agility.name'),

View file

@ -224,7 +224,12 @@ export default class BaseDataItem extends foundry.abstract.TypeDataModel {
const armorChanged =
changed.system?.marks?.value !== undefined && changed.system.marks.value !== this.marks.value;
if (armorChanged && autoSettings.resourceScrollTexts && this.parent.parent?.type === 'character') {
const armorData = getScrollTextData(this.parent.parent.system.resources, changed.system.marks, 'armor');
const armorData = getScrollTextData(
this.parent.parent.system.resources,
changed.system.marks,
'armor',
this.parent.parent.type
);
options.scrollingTextData = [armorData];
}