fvtt-te-deum/modules/data/tedeum-schema-armure.js

30 lines
1.1 KiB
JavaScript
Raw Normal View History

2024-02-19 22:02:44 +01:00
export class TeDeumArmureSchema extends foundry.abstract.TypeDataModel {
2023-12-11 22:44:06 +01:00
static defineSchema() {
const fields = foundry.data.fields;
const requiredInteger = { required: true, nullable: false, integer: true };
2024-02-29 22:35:12 +01:00
const requiredDouble = { required: true, nullable: false, integer: false };
2023-12-11 22:44:06 +01:00
const schema = {};
schema.localisation = new fields.SchemaField(
2024-02-29 22:35:12 +01:00
Object.values(game.system.tedeum.config.LOCALISATION).reduce((obj, loc) => {
2024-02-19 22:02:44 +01:00
obj[loc.id] = new fields.SchemaField({
2023-12-11 22:44:06 +01:00
protege: new fields.BooleanField({initial: false}),
});
return obj;
}, {})
);
schema.protection = new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 });
2024-02-29 22:35:12 +01:00
schema.prix = new fields.NumberField({ ...requiredDouble, initial: 0, min: 0 });
schema.monnaie = new fields.StringField({ required: true, blank: false, initial: "denier" });
schema.equipe = new fields.BooleanField({initial: false}),
2024-02-29 22:35:12 +01:00
2023-12-11 22:44:06 +01:00
schema.description = new fields.HTMLField({ required: true, blank: true });
return schema;
}
}