foundry-dsa41-game/src/module/data/species.mjs

38 lines
1.9 KiB
JavaScript

import BaseItem from "./base-item.mjs";
const {BooleanField, ArrayField, SchemaField, NumberField, StringField, HTMLField} = foundry.data.fields;
export class SpeciesDataModel extends BaseItem {
static defineSchema() {
return {
description: new HTMLField(),
baseSpeed: new NumberField({required: true, initial: 6, integer: true}),
modAttributes: new SchemaField({
mu: new NumberField({required: false, initial: 0, integer: true}),
kl: new NumberField({required: false, initial: 0, integer: true}),
in: new NumberField({required: false, initial: 0, integer: true}),
ch: new NumberField({required: false, initial: 0, integer: true}),
ff: new NumberField({required: false, initial: 0, integer: true}),
ge: new NumberField({required: false, initial: 0, integer: true}),
ko: new NumberField({required: false, initial: 0, integer: true}),
kk: new NumberField({required: false, initial: 0, integer: true}),
}),
mod: new SchemaField({
le: new NumberField({required: true, initial: 10, integer: true}),
au: new NumberField({required: true, initial: 10, integer: true}),
mr: new NumberField({required: true, initial: -4, integer: true}),
}),
defaultAdvantages: new ArrayField(new StringField()),
recommendedAdvantages: new ArrayField(new StringField()),
discouragedAdvantages: new ArrayField(new StringField()),
availableCultures: new ArrayField(new StringField()),
talentModifications: new ArrayField(new SchemaField({
name: new StringField(),
value: new NumberField(),
})),
feminineDemonym: new StringField(),
masculineDemonym: new StringField(),
}
}
}