32 lines
1.1 KiB
JavaScript
32 lines
1.1 KiB
JavaScript
/**
|
|
* Data model pour les compétences
|
|
*/
|
|
export default class CompetenceDataModel extends foundry.abstract.TypeDataModel {
|
|
static defineSchema() {
|
|
const fields = foundry.data.fields;
|
|
return {
|
|
description: new fields.HTMLField({ initial: "" }),
|
|
niveau: new fields.NumberField({ initial: 0, integer: true }),
|
|
attribut1: new fields.StringField({ initial: "" }),
|
|
attribut2: new fields.StringField({ initial: "" }),
|
|
attribut3: new fields.StringField({ initial: "" }),
|
|
doublebonus: new fields.BooleanField({ initial: false }),
|
|
predilections: new fields.ArrayField(
|
|
new fields.SchemaField({
|
|
name: new fields.StringField({ initial: "" }),
|
|
used: new fields.BooleanField({ initial: false })
|
|
}),
|
|
{ initial: [] }
|
|
)
|
|
};
|
|
}
|
|
|
|
static migrateData(source) {
|
|
if (Array.isArray(source.predilections)) {
|
|
source.predilections = source.predilections.map(pred =>
|
|
typeof pred === "string" ? { name: pred, used: false } : pred
|
|
);
|
|
}
|
|
return super.migrateData(source);
|
|
}
|
|
} |