163 - Actor Sub Datas (#182)

* Added rules/bonuses for all classes and subclasses

* More
This commit is contained in:
WBHarry 2025-06-26 21:46:55 +02:00 committed by GitHub
parent 7ac3066f68
commit 021361ef69
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 48 additions and 7 deletions

View file

@ -393,6 +393,14 @@ export const abilityCosts = {
slayer: { slayer: {
id: 'slayer', id: 'slayer',
label: 'Slayer Dice' label: 'Slayer Dice'
},
tide: {
id: 'tide',
label: 'Tide'
},
chaos: {
id: 'chaos',
label: 'Chaos'
} }
}; };

View file

@ -68,7 +68,13 @@ export default class DhpAdversary extends BaseDataActor {
name: new fields.StringField(), name: new fields.StringField(),
value: new fields.NumberField({ required: true, integer: true, initial: 1 }) value: new fields.NumberField({ required: true, integer: true, initial: 1 })
}) })
) ),
bonuses: new fields.SchemaField({
difficulty: new fields.SchemaField({
all: new fields.NumberField({ integer: true, initial: 0 }),
reaction: new fields.NumberField({ integer: true, initial: 0 })
})
})
}; };
} }
} }

View file

@ -38,7 +38,9 @@ export default class DhCharacter extends BaseDataActor {
resources: new fields.SchemaField({ resources: new fields.SchemaField({
hitPoints: resourceField(6), hitPoints: resourceField(6),
stress: resourceField(6), stress: resourceField(6),
hope: resourceField(6) hope: resourceField(6),
tokens: new fields.ObjectField(),
dice: new fields.ObjectField()
}), }),
traits: new fields.SchemaField({ traits: new fields.SchemaField({
agility: attributeField(), agility: attributeField(),
@ -93,9 +95,22 @@ export default class DhCharacter extends BaseDataActor {
}), }),
levelData: new fields.EmbeddedDataField(DhPCLevelData), levelData: new fields.EmbeddedDataField(DhPCLevelData),
bonuses: new fields.SchemaField({ bonuses: new fields.SchemaField({
attack: new fields.NumberField({ integer: true, initial: 0 }), armorScore: new fields.NumberField({ integer: true, initial: 0 }),
spellcast: new fields.NumberField({ integer: true, initial: 0 }), damageThresholds: new fields.SchemaField({
armorScore: new fields.NumberField({ integer: true, initial: 0 }) severe: new fields.NumberField({ integer: true, initial: 0 }),
major: new fields.NumberField({ integer: true, initial: 0 })
}),
roll: new fields.SchemaField({
attack: new fields.NumberField({ integer: true, initial: 0 }),
spellcast: new fields.NumberField({ integer: true, initial: 0 }),
action: new fields.NumberField({ integer: true, initial: 0 }),
hopeOrFear: new fields.NumberField({ integer: true, initial: 0 })
}),
damage: new fields.SchemaField({
all: new fields.NumberField({ integer: true, initial: 0 }),
physical: new fields.NumberField({ integer: true, initial: 0 }),
magic: new fields.NumberField({ integer: true, initial: 0 })
})
}), }),
rules: new fields.SchemaField({ rules: new fields.SchemaField({
maxArmorMarked: new fields.SchemaField({ maxArmorMarked: new fields.SchemaField({
@ -107,7 +122,15 @@ export default class DhCharacter extends BaseDataActor {
severe: stressDamageReductionRule(), severe: stressDamageReductionRule(),
major: stressDamageReductionRule(), major: stressDamageReductionRule(),
minor: stressDamageReductionRule() minor: stressDamageReductionRule()
}) }),
strangePatterns: new fields.NumberField({
integer: true,
min: 1,
max: 12,
nullable: true,
initial: null
}),
runeWard: new fields.BooleanField({ initial: false })
}) })
}; };
} }
@ -274,7 +297,11 @@ export default class DhCharacter extends BaseDataActor {
const data = super.getRollData(); const data = super.getRollData();
return { return {
...data, ...data,
tier: this.tier ...this.resources.tokens,
...this.resources.dice,
...this.bonuses,
tier: this.tier,
level: this.levelData.level.current
}; };
} }
} }