mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-12 11:41:08 +01:00
* Fixed datamodel and set up basic template in new style * Added in a temp attack button, because why not * Restored HitPoints counting up
60 lines
2.6 KiB
JavaScript
60 lines
2.6 KiB
JavaScript
const resourceField = () =>
|
|
new foundry.data.fields.SchemaField({
|
|
value: new foundry.data.fields.NumberField({ initial: 0, integer: true }),
|
|
max: new foundry.data.fields.NumberField({ initial: 0, integer: true })
|
|
});
|
|
|
|
export default class DhpAdversary extends foundry.abstract.TypeDataModel {
|
|
static LOCALIZATION_PREFIXES = ['DAGGERHEART.Sheets.Adversary'];
|
|
|
|
static defineSchema() {
|
|
const fields = foundry.data.fields;
|
|
return {
|
|
tier: new fields.StringField({
|
|
required: true,
|
|
choices: SYSTEM.GENERAL.tiers,
|
|
initial: SYSTEM.GENERAL.tiers.tier1.id
|
|
}),
|
|
type: new fields.StringField({
|
|
required: true,
|
|
choices: SYSTEM.ACTOR.adversaryTypes,
|
|
initial: SYSTEM.ACTOR.adversaryTypes.standard.id
|
|
}),
|
|
description: new fields.HTMLField(),
|
|
motivesAndTactics: new fields.HTMLField(),
|
|
difficulty: new fields.NumberField({ required: true, initial: 1, integer: true }),
|
|
damageThresholds: new fields.SchemaField({
|
|
major: new fields.NumberField({ required: true, initial: 0, integer: true }),
|
|
severe: new fields.NumberField({ required: true, initial: 0, integer: true })
|
|
}),
|
|
resources: new fields.SchemaField({
|
|
hitPoints: resourceField(),
|
|
stress: resourceField()
|
|
}),
|
|
attack: new fields.SchemaField({
|
|
name: new fields.StringField({}),
|
|
modifier: new fields.NumberField({ required: true, integer: true, initial: 0 }),
|
|
range: new fields.StringField({
|
|
required: true,
|
|
choices: SYSTEM.GENERAL.range,
|
|
initial: SYSTEM.GENERAL.range.melee.id
|
|
}),
|
|
damage: new fields.SchemaField({
|
|
value: new fields.StringField(),
|
|
type: new fields.StringField({
|
|
required: true,
|
|
choices: SYSTEM.GENERAL.damageTypes,
|
|
initial: SYSTEM.GENERAL.damageTypes.physical.id
|
|
})
|
|
})
|
|
}),
|
|
experiences: new fields.TypedObjectField(
|
|
new fields.SchemaField({
|
|
name: new fields.StringField(),
|
|
value: new fields.NumberField({ required: true, integer: true, initial: 1 })
|
|
})
|
|
)
|
|
/* Features waiting on pseudo-document data model addition */
|
|
};
|
|
}
|
|
}
|