Amelioration fiche items

This commit is contained in:
2024-02-29 22:35:12 +01:00
parent 3b98a18ee0
commit 6b1ecb6353
30 changed files with 389 additions and 455 deletions

View File

@ -2,12 +2,13 @@ export class TeDeumArmeSchema extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields;
const requiredInteger = { required: true, nullable: false, integer: true };
const requiredDouble = { required: true, nullable: false, integer: false };
const schema = {};
schema.typeArme = new fields.StringField({required: true, choices: ["melee", "tir"], initial: "melee"});
schema.specificites = new fields.SchemaField(
Object.values((game.system.tedeum.ARME_SPECIFICITE)).reduce((obj, spec) => {
Object.values((game.system.tedeum.config.ARME_SPECIFICITE)).reduce((obj, spec) => {
obj[spec.id] = new fields.SchemaField({
hasSpec: new fields.BooleanField({initial: false}),
});
@ -25,6 +26,10 @@ export class TeDeumArmeSchema extends foundry.abstract.TypeDataModel {
schema.initiativeBonus = new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 });
schema.degats = new fields.StringField({ required: false, blank: true, initial: undefined });
schema.prix = new fields.NumberField({ ...requiredDouble, initial: 0, min: 0 });
schema.monnaie = new fields.StringField({ required: true, blank: false, initial: "denier" });
schema.description = new fields.HTMLField({ required: true, blank: true });
return schema;

View File

@ -2,10 +2,12 @@ export class TeDeumArmureSchema extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields;
const requiredInteger = { required: true, nullable: false, integer: true };
const requiredDouble = { required: true, nullable: false, integer: false };
const schema = {};
schema.localisation = new fields.SchemaField(
Object.values(LOCALISATION).reduce((obj, loc) => {
Object.values(game.system.tedeum.config.LOCALISATION).reduce((obj, loc) => {
obj[loc.id] = new fields.SchemaField({
protege: new fields.BooleanField({initial: false}),
});
@ -15,6 +17,9 @@ export class TeDeumArmureSchema extends foundry.abstract.TypeDataModel {
schema.protection = new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 });
schema.prix = new fields.NumberField({ ...requiredDouble, initial: 0, min: 0 });
schema.monnaie = new fields.StringField({ required: true, blank: false, initial: "denier" });
schema.description = new fields.HTMLField({ required: true, blank: true });
return schema;

View File

@ -5,6 +5,7 @@ export class TeDeumCompetenceSchema extends foundry.abstract.TypeDataModel {
const schema = {};
schema.caracteristique = new fields.StringField({ required: true, blank: false, initial: "puissance" });
schema.isBase = new fields.BooleanField({ initial: false });
schema.score = new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 });
schema.scoreBase = new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 });
schema.description = new fields.HTMLField({ required: true, blank: true });

View File

@ -1,12 +0,0 @@
export class TeDeumDeboucheSchema extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields;
const requiredInteger = { required: true, nullable: false, integer: true };
const schema = {};
schema.cagnotteMultiplier = new fields.NumberField({ ...requiredInteger, initial: 1, min: 1 });
schema.description = new fields.HTMLField({ required: true, blank: true });
return schema;
}
}

View File

@ -2,8 +2,46 @@ export class TeDeumEducationSchema extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields;
const requiredInteger = { required: true, nullable: false, integer: true };
const requiredDouble = { required: true, nullable: false, integer: false };
const schema = {};
schema.etape = new fields.StringField({required: true, initial: "pouponniere"});
schema.accessible = new fields.SchemaField(
Object.values((game.system.tedeum.config.origineSociale)).reduce((obj, spec) => {
obj[spec.id] = new fields.SchemaField({
isaccessible: new fields.BooleanField({initial: false}),
});
return obj;
}, {})
);
schema.caracteristiques = new fields.SchemaField(Array.fromRange(3, 1).reduce((caracs, i) => {
caracs[`carac${i}`] = new fields.SchemaField({
caracId: new fields.StringField({ required: true, blank: false, initial: "entregent" })
});
return caracs;
}, {}));
schema.competences = new fields.SchemaField(Array.fromRange(9, 1).reduce((comps, i) => {
comps[`comp${i}`] = new fields.SchemaField({
compName: new fields.StringField({ required: true, blank: true, initial: "" })
});
return comps;
}, {}));
schema.questionnaire = new fields.SchemaField(Array.fromRange(4, 1).reduce((questions, i) => {
questions[`question${i}`] = new fields.SchemaField({
question: new fields.StringField({ required: true, blank: true, initial: "" }),
reponses: new fields.SchemaField( Array.fromRange(6, 1).reduce((resp, i) => {
resp[`reponse${i}`] = new fields.SchemaField({
num: new fields.NumberField({ ...requiredInteger, initial: i, min:i }),
reponse: new fields.StringField({ required: true, blank: true, initial: "" }),
compName: new fields.StringField({ required: true, blank: true, initial: "" })
});
return resp;
}, {}))
});
return questions;
}, {}));
schema.cagnotteMultiplier = new fields.NumberField({ ...requiredDouble, initial: 1.0, min: 0 });
schema.description = new fields.HTMLField({ required: true, blank: true });
return schema;

View File

@ -2,8 +2,13 @@ export class TeDeumEquipementSchema extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields;
const requiredInteger = { required: true, nullable: false, integer: true };
const requiredDouble = { required: true, nullable: false, integer: false };
const schema = {};
schema.prix = new fields.NumberField({ ...requiredDouble, initial: 0, min: 0 });
schema.monnaie = new fields.StringField({ required: true, blank: false, initial: "denier" });
schema.description = new fields.HTMLField({ required: true, blank: true });
return schema;