54 lines
1.8 KiB
JavaScript
54 lines
1.8 KiB
JavaScript
/**
|
|
* Template de base pour tous les items
|
|
*/
|
|
export class BaseItemModel extends foundry.abstract.TypeDataModel {
|
|
static defineSchema() {
|
|
const fields = foundry.data.fields;
|
|
return {
|
|
description: new fields.HTMLField({ initial: "" })
|
|
};
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Template pour les équipements de base
|
|
*/
|
|
export class BaseEquipItemModel extends foundry.abstract.TypeDataModel {
|
|
static defineSchema() {
|
|
const fields = foundry.data.fields;
|
|
return {
|
|
prixpo: new fields.NumberField({ initial: 0, integer: true }),
|
|
prixca: new fields.NumberField({ initial: 0, integer: true }),
|
|
prixsc: new fields.NumberField({ initial: 0, integer: true }),
|
|
rarete: new fields.NumberField({ initial: 0, integer: true }),
|
|
quantite: new fields.NumberField({ initial: 1, integer: true }),
|
|
equipped: new fields.BooleanField({ initial: false })
|
|
};
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Template pour l'automatisation
|
|
*/
|
|
export class AutomationItemModel extends foundry.abstract.TypeDataModel {
|
|
static defineSchema() {
|
|
const fields = foundry.data.fields;
|
|
return {
|
|
isautomated: new fields.BooleanField({ initial: false }),
|
|
automations: new fields.ArrayField(
|
|
new fields.SchemaField({
|
|
id: new fields.StringField({ initial: "" }),
|
|
eventtype: new fields.StringField({ initial: "on-drop" }),
|
|
name: new fields.StringField({ initial: "" }),
|
|
bonusname: new fields.StringField({ initial: "vigueur" }),
|
|
bonus: new fields.NumberField({ initial: 0, integer: true }),
|
|
competence: new fields.StringField({ initial: "" }),
|
|
minLevel: new fields.NumberField({ initial: 0, integer: true }),
|
|
baCost: new fields.NumberField({ initial: 0, integer: true })
|
|
}),
|
|
{ initial: [] }
|
|
)
|
|
};
|
|
}
|
|
}
|