Fixed up data model and a basic placeholder template (#117)

This commit is contained in:
WBHarry 2025-06-09 13:25:43 +02:00 committed by GitHub
parent 746e0f239a
commit ad0acd62cd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 300 additions and 145 deletions

View file

@ -14,7 +14,10 @@ export default class DhpAdversary extends foundry.abstract.TypeDataModel {
max: new fields.NumberField({ initial: 0, integer: true })
})
}),
tier: new fields.StringField({ choices: Object.keys(SYSTEM.GENERAL.tiers), integer: false }),
tier: new fields.StringField({
choices: Object.keys(SYSTEM.GENERAL.tiers),
initial: SYSTEM.GENERAL.tiers.tier1.id
}),
type: new fields.StringField({
choices: Object.keys(SYSTEM.ACTOR.adversaryTypes),
integer: false,

View file

@ -1,22 +1,28 @@
export default class DhpEnvironment extends foundry.abstract.TypeDataModel {
import { environmentTypes } from '../config/actorConfig.mjs';
import ForeignDocumentUUIDField from './fields/foreignDocumentUUIDField.mjs';
export default class DhEnvironment extends foundry.abstract.TypeDataModel {
static LOCALIZATION_PREFIXES = ['DAGGERHEART.Sheets.Environment'];
static defineSchema() {
const fields = foundry.data.fields;
return {
resources: new fields.SchemaField({}),
tier: new fields.StringField({ choices: Object.keys(SYSTEM.GENERAL.tiers), integer: false }),
type: new fields.StringField({
choices: Object.keys(SYSTEM.ACTOR.adversaryTypes),
integer: false,
initial: Object.keys(SYSTEM.ACTOR.adversaryTypes).find(x => x === 'standard')
tier: new fields.StringField({
required: true,
choices: SYSTEM.GENERAL.tiers,
initial: SYSTEM.GENERAL.tiers.tier1.id
}),
description: new fields.StringField({}),
toneAndFeel: new fields.StringField({}),
difficulty: new fields.NumberField({ initial: 1, integer: true }),
potentialAdversaries: new fields.StringField({})
type: new fields.StringField({ choices: environmentTypes }),
description: new fields.HTMLField(),
impulses: new fields.HTMLField(),
difficulty: new fields.NumberField({ required: true, initial: 11, integer: true }),
potentialAdversaries: new fields.TypedObjectField(
new fields.SchemaField({
label: new fields.StringField(),
adversaries: new fields.TypedObjectField(new ForeignDocumentUUIDField({ type: 'Actor' }))
})
)
/* Features pending datamodel rework */
};
}
get features() {
return this.parent.items.filter(x => x.type === 'feature');
}
}