Skip to content

Commit

Permalink
More fixes to actor datamodels
Browse files Browse the repository at this point in the history
  • Loading branch information
juanferrer committed Jan 14, 2024
1 parent e627d45 commit 4a73ab5
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 44 deletions.
53 changes: 42 additions & 11 deletions src/module/data/common.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,48 @@ export function attributes() {
})
}

export function characteristics() {
return new foundry.data.fields.SchemaField({
defense: makeIntField(),
health: makeHealth(),
insanity: makeInsanity(),
corruption: makeCorruption(),
power: makeIntField(),
size: makeStringField(),
speed: makeIntField(10),
fortune: makeIntField()
})
export function characteristics(actorType) {
switch (actorType) {
case 'character':
return new foundry.data.fields.SchemaField({
defense: makeIntField(),
health: makeHealth(),
insanity: makeInsanity(),
corruption: makeCorruption(),
power: makeIntField(),
size: makeStringField(),
speed: makeIntField(10),
fortune: makeIntField()
})
case 'creature':
return new foundry.data.fields.SchemaField({
defense: makeIntField(),
health: makeHealth(),
insanity: makeInsanity(),
corruption: makeCorruption(),
power: makeIntField(),
size: makeStringField(),
speed: makeIntField(10),
speedtraits: makeStringField(),
difficulty: makeIntField(),
descriptor: makeStringField(),
perceptionsenses: makeStringField(),
frightening: makeBoolField(),
horrifying: makeBoolField()

})
case 'vehicle':
return new foundry.data.fields.SchemaField({
defense: makeIntField(),
health: makeHealth(),
size: makeStringField(),
speed: makeIntField(10),
speedtraits: makeStringField(),
descriptor: makeStringField("object (vehicle)"),
price: makeStringField('0 gc'),
cargo: makeIntField(0)
})
}
}

export function action() {
Expand Down
36 changes: 3 additions & 33 deletions src/module/data/item/AncestryDataModel.js
Original file line number Diff line number Diff line change
Expand Up @@ -68,43 +68,13 @@ export default class AncestryDataModel extends foundry.abstract.DataModel {
option1: makeBoolField(true),
option1text: makeStringField(),
talent: new foundry.data.fields.ArrayField(levelItem(makeTalentSchema)),
spells: new foundry.data.fields.ArrayField(new foundry.data.fields.SchemaField({
system: makeSpellSchema(),
description: new foundry.data.fields.SchemaField({
value: makeStringField()
}),
id: makeStringField(),
name: makeStringField(),
pack: makeStringField(),
selected: makeBoolField(),
uuid: makeStringField()
})),
spells: new foundry.data.fields.ArrayField(levelItem(makeSpellSchema)),
pickedTalents: new foundry.data.fields.ArrayField(new foundry.data.fields.ArrayField(levelItem(makeTalentSchema))),
picks: makeIntField(1)
}),
languages: makeStringField(),
talents: new foundry.data.fields.ArrayField(new foundry.data.fields.SchemaField({
system: makeTalentSchema(),
description: new foundry.data.fields.SchemaField({
value: makeStringField()
}),
id: makeStringField(),
name: makeStringField(),
pack: makeStringField(),
selected: makeBoolField(),
uuid: makeStringField()
})),
languagelist: new foundry.data.fields.ArrayField(new foundry.data.fields.SchemaField({
system: makeLanguageSchema(),
description: new foundry.data.fields.SchemaField({
value: makeStringField()
}),
id: makeStringField(),
name: makeStringField(),
pack: makeStringField(),
selected: makeBoolField(),
uuid: makeStringField()
})),
talents: new foundry.data.fields.ArrayField(levelItem(makeTalentSchema)),
languagelist: new foundry.data.fields.ArrayField(levelItem(makeLanguageSchema)),
editTalents: makeBoolField(),
editAncestry: makeBoolField(true)
}
Expand Down

0 comments on commit 4a73ab5

Please sign in to comment.