Migration vers DataModels et appv2
This commit is contained in:
16
modules/models/accessoire.mjs
Normal file
16
modules/models/accessoire.mjs
Normal file
@@ -0,0 +1,16 @@
|
||||
/**
|
||||
* Data model pour les accessoires
|
||||
*/
|
||||
export default class AccessoireDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
rarete: new fields.NumberField({ initial: 0, integer: true }),
|
||||
quantite: new fields.NumberField({ initial: 0, integer: true }),
|
||||
prix: new fields.NumberField({ initial: 0, integer: true }),
|
||||
equipped: new fields.BooleanField({ initial: false }),
|
||||
lieu: new fields.NumberField({ initial: 0, integer: true })
|
||||
};
|
||||
}
|
||||
}
|
||||
30
modules/models/arme.mjs
Normal file
30
modules/models/arme.mjs
Normal file
@@ -0,0 +1,30 @@
|
||||
/**
|
||||
* Data model pour les armes
|
||||
*/
|
||||
export default class ArmeDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
rarete: new fields.NumberField({ initial: 0, integer: true }),
|
||||
quantite: new fields.NumberField({ initial: 0, integer: true }),
|
||||
prix: new fields.NumberField({ initial: 0, integer: true }),
|
||||
equipped: new fields.BooleanField({ initial: false }),
|
||||
categorie: new fields.StringField({ initial: "" }),
|
||||
armetype: new fields.StringField({ initial: "" }),
|
||||
degats: new fields.NumberField({ initial: 0, integer: true }),
|
||||
precision: new fields.NumberField({ initial: 0, integer: true }),
|
||||
cadence: new fields.StringField({ initial: "" }),
|
||||
enraiement: new fields.StringField({ initial: "" }),
|
||||
magasin: new fields.NumberField({ initial: 0, integer: true }),
|
||||
charge: new fields.NumberField({ initial: 0, integer: true }),
|
||||
portee: new fields.StringField({ initial: "" }),
|
||||
legalite: new fields.StringField({ initial: "" }),
|
||||
dissimulation: new fields.StringField({ initial: "" }),
|
||||
zone: new fields.NumberField({ initial: 0, integer: true }),
|
||||
temps: new fields.StringField({ initial: "" }),
|
||||
allumage: new fields.StringField({ initial: "" }),
|
||||
special: new fields.StringField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
11
modules/models/atoutfeerique.mjs
Normal file
11
modules/models/atoutfeerique.mjs
Normal file
@@ -0,0 +1,11 @@
|
||||
/**
|
||||
* Data model pour les atouts féériques
|
||||
*/
|
||||
export default class AtoutFeeriqueDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
11
modules/models/avantage.mjs
Normal file
11
modules/models/avantage.mjs
Normal file
@@ -0,0 +1,11 @@
|
||||
/**
|
||||
* Data model pour les avantages
|
||||
*/
|
||||
export default class AvantageDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
11
modules/models/base-item.mjs
Normal file
11
modules/models/base-item.mjs
Normal file
@@ -0,0 +1,11 @@
|
||||
/**
|
||||
* Base data model pour les items
|
||||
*/
|
||||
export default class BaseItemDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
21
modules/models/capacitenaturelle.mjs
Normal file
21
modules/models/capacitenaturelle.mjs
Normal file
@@ -0,0 +1,21 @@
|
||||
/**
|
||||
* Data model pour les capacités naturelles
|
||||
*/
|
||||
export default class CapaciteNaturelleDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
pouvoirtype: new fields.StringField({ initial: "" }),
|
||||
activation: new fields.StringField({ initial: "" }),
|
||||
cibles: new fields.StringField({ initial: "" }),
|
||||
effet: new fields.StringField({ initial: "" }),
|
||||
duree: new fields.StringField({ initial: "" }),
|
||||
portee: new fields.StringField({ initial: "" }),
|
||||
resistance: new fields.StringField({ initial: "" }),
|
||||
resistanceautre: new fields.StringField({ initial: "" }),
|
||||
isvirulence: new fields.BooleanField({ initial: false }),
|
||||
virulence: new fields.StringField({ initial: "" }),
|
||||
description: new fields.HTMLField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
43
modules/models/competence.mjs
Normal file
43
modules/models/competence.mjs
Normal file
@@ -0,0 +1,43 @@
|
||||
/**
|
||||
* Data model pour les compétences
|
||||
*/
|
||||
export default class CompetenceDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
categorie: new fields.StringField({ initial: "" }),
|
||||
profil: new fields.StringField({ initial: "" }),
|
||||
niveau: new fields.NumberField({ initial: 0, integer: true }),
|
||||
nomniveau: new fields.SchemaField({
|
||||
1: new fields.StringField({ initial: "" }),
|
||||
2: new fields.StringField({ initial: "" }),
|
||||
3: new fields.StringField({ initial: "" }),
|
||||
4: new fields.StringField({ initial: "" })
|
||||
}),
|
||||
nomniveausouffle: new fields.SchemaField({
|
||||
soufflecombat: new fields.SchemaField({
|
||||
1: new fields.StringField({ initial: "" }),
|
||||
2: new fields.StringField({ initial: "" }),
|
||||
3: new fields.StringField({ initial: "" }),
|
||||
4: new fields.StringField({ initial: "" })
|
||||
}),
|
||||
soufflemouvement: new fields.SchemaField({
|
||||
1: new fields.StringField({ initial: "" }),
|
||||
2: new fields.NumberField({ initial: 0, integer: true }),
|
||||
3: new fields.StringField({ initial: "" }),
|
||||
4: new fields.StringField({ initial: "" })
|
||||
}),
|
||||
souffleesprit: new fields.SchemaField({
|
||||
1: new fields.StringField({ initial: "" }),
|
||||
2: new fields.StringField({ initial: "" }),
|
||||
3: new fields.StringField({ initial: "" }),
|
||||
4: new fields.StringField({ initial: "" })
|
||||
})
|
||||
}),
|
||||
predilection: new fields.BooleanField({ initial: false }),
|
||||
specialites: new fields.ArrayField(new fields.ObjectField(), { initial: [] }),
|
||||
ismagie: new fields.BooleanField({ initial: false }),
|
||||
description: new fields.HTMLField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
12
modules/models/contact.mjs
Normal file
12
modules/models/contact.mjs
Normal file
@@ -0,0 +1,12 @@
|
||||
/**
|
||||
* Data model pour les contacts
|
||||
*/
|
||||
export default class ContactDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
contacttype: new fields.StringField({ initial: "" }),
|
||||
description: new fields.HTMLField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
11
modules/models/desavantage.mjs
Normal file
11
modules/models/desavantage.mjs
Normal file
@@ -0,0 +1,11 @@
|
||||
/**
|
||||
* Data model pour les désavantages
|
||||
*/
|
||||
export default class DesavantageDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
15
modules/models/equipement.mjs
Normal file
15
modules/models/equipement.mjs
Normal file
@@ -0,0 +1,15 @@
|
||||
/**
|
||||
* Data model pour les équipements
|
||||
*/
|
||||
export default class EquipementDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
rarete: new fields.NumberField({ initial: 0, integer: true }),
|
||||
quantite: new fields.NumberField({ initial: 0, integer: true }),
|
||||
prix: new fields.NumberField({ initial: 0, integer: true }),
|
||||
equipped: new fields.BooleanField({ initial: false })
|
||||
};
|
||||
}
|
||||
}
|
||||
19
modules/models/fee.mjs
Normal file
19
modules/models/fee.mjs
Normal file
@@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Data model pour les fées
|
||||
*/
|
||||
export default class FeeDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
feetype: new fields.NumberField({ initial: 0, integer: true }),
|
||||
avantages: new fields.StringField({ initial: "" }),
|
||||
desavantages: new fields.StringField({ initial: "" }),
|
||||
pouvoirsfeeriquesmasque: new fields.StringField({ initial: "" }),
|
||||
pouvoirsfeeriquesdemasque: new fields.StringField({ initial: "" }),
|
||||
atoutsfeeriques: new fields.StringField({ initial: "" }),
|
||||
competences: new fields.StringField({ initial: "" }),
|
||||
capacitenaturelles: new fields.StringField({ initial: "" }),
|
||||
description: new fields.HTMLField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
24
modules/models/index.mjs
Normal file
24
modules/models/index.mjs
Normal file
@@ -0,0 +1,24 @@
|
||||
/**
|
||||
* Index des DataModels pour Les Héritiers
|
||||
* Ce fichier centralise tous les exports des modèles de données
|
||||
*/
|
||||
|
||||
// Modèles d'acteurs
|
||||
export { default as PersonnageDataModel } from './personnage.mjs';
|
||||
export { default as PnjDataModel } from './pnj.mjs';
|
||||
|
||||
// Modèles d'items
|
||||
export { default as AccessoireDataModel } from './accessoire.mjs';
|
||||
export { default as ArmeDataModel } from './arme.mjs';
|
||||
export { default as AtoutFeeriqueDataModel } from './atoutfeerique.mjs';
|
||||
export { default as AvantageDataModel } from './avantage.mjs';
|
||||
export { default as CapaciteNaturelleDataModel } from './capacitenaturelle.mjs';
|
||||
export { default as CompetenceDataModel } from './competence.mjs';
|
||||
export { default as ContactDataModel } from './contact.mjs';
|
||||
export { default as DesavantageDataModel } from './desavantage.mjs';
|
||||
export { default as EquipementDataModel } from './equipement.mjs';
|
||||
export { default as FeeDataModel } from './fee.mjs';
|
||||
export { default as PouvoirDataModel } from './pouvoir.mjs';
|
||||
export { default as ProfilDataModel } from './profil.mjs';
|
||||
export { default as ProtectionDataModel } from './protection.mjs';
|
||||
export { default as SortDataModel } from './sort.mjs';
|
||||
234
modules/models/personnage.mjs
Normal file
234
modules/models/personnage.mjs
Normal file
@@ -0,0 +1,234 @@
|
||||
/**
|
||||
* Data model pour les personnages
|
||||
*/
|
||||
export default class PersonnageDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
// Template biodata
|
||||
biodata: new fields.SchemaField({
|
||||
name: new fields.StringField({ initial: "" }),
|
||||
activite: new fields.StringField({ initial: "" }),
|
||||
nomhumain: new fields.StringField({ initial: "" }),
|
||||
activites: new fields.StringField({ initial: "" }),
|
||||
fortune: new fields.NumberField({ initial: 0, integer: true }),
|
||||
traitscaracteres: new fields.StringField({ initial: "" }),
|
||||
tailledemasquee: new fields.StringField({ initial: "" }),
|
||||
taillemasquee: new fields.StringField({ initial: "" }),
|
||||
poidsmasquee: new fields.StringField({ initial: "" }),
|
||||
poidsdemasquee: new fields.StringField({ initial: "" }),
|
||||
apparencemasquee: new fields.StringField({ initial: "" }),
|
||||
apparencedemasquee: new fields.StringField({ initial: "" }),
|
||||
titrefamille: new fields.StringField({ initial: "" }),
|
||||
langues: new fields.StringField({ initial: "" }),
|
||||
factionfeerique: new fields.StringField({ initial: "" }),
|
||||
typetaille: new fields.StringField({ initial: "" }),
|
||||
age: new fields.NumberField({ initial: 0, integer: true }),
|
||||
poids: new fields.StringField({ initial: "" }),
|
||||
taille: new fields.StringField({ initial: "" }),
|
||||
cheveux: new fields.StringField({ initial: "" }),
|
||||
sexe: new fields.StringField({ initial: "" }),
|
||||
yeux: new fields.StringField({ initial: "" }),
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
revesetranges: new fields.HTMLField({ initial: "" }),
|
||||
secretsdecouverts: new fields.HTMLField({ initial: "" }),
|
||||
questions: new fields.HTMLField({ initial: "" }),
|
||||
habitat: new fields.HTMLField({ initial: "" }),
|
||||
notes: new fields.HTMLField({ initial: "" }),
|
||||
statut: new fields.StringField({ initial: "" }),
|
||||
playernotes: new fields.HTMLField({ initial: "" }),
|
||||
gmnotes: new fields.HTMLField({ initial: "" }),
|
||||
magie: new fields.BooleanField({ initial: false })
|
||||
}),
|
||||
// Template core
|
||||
subactors: new fields.ArrayField(new fields.StringField(), { initial: [] }),
|
||||
caracteristiques: new fields.SchemaField({
|
||||
agi: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Agilité" }),
|
||||
labelnorm: new fields.StringField({ initial: "agilite" }),
|
||||
abbrev: new fields.StringField({ initial: "agi" }),
|
||||
kind: new fields.StringField({ initial: "physical" }),
|
||||
value: new fields.NumberField({ initial: 1, integer: true }),
|
||||
rang: new fields.NumberField({ initial: 0, integer: true }),
|
||||
max: new fields.NumberField({ initial: 1, integer: true })
|
||||
}),
|
||||
con: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Constitution" }),
|
||||
labelnorm: new fields.StringField({ initial: "constitution" }),
|
||||
abbrev: new fields.StringField({ initial: "con" }),
|
||||
kind: new fields.StringField({ initial: "physical" }),
|
||||
value: new fields.NumberField({ initial: 1, integer: true }),
|
||||
rang: new fields.NumberField({ initial: 0, integer: true }),
|
||||
max: new fields.NumberField({ initial: 1, integer: true })
|
||||
}),
|
||||
for: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Force" }),
|
||||
labelnorm: new fields.StringField({ initial: "force" }),
|
||||
abbrev: new fields.StringField({ initial: "for" }),
|
||||
kind: new fields.StringField({ initial: "physical" }),
|
||||
value: new fields.NumberField({ initial: 1, integer: true }),
|
||||
rang: new fields.NumberField({ initial: 0, integer: true }),
|
||||
max: new fields.NumberField({ initial: 1, integer: true })
|
||||
}),
|
||||
prec: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Précision" }),
|
||||
labelnorm: new fields.StringField({ initial: "precision" }),
|
||||
abbrev: new fields.StringField({ initial: "prec" }),
|
||||
kind: new fields.StringField({ initial: "physical" }),
|
||||
value: new fields.NumberField({ initial: 1, integer: true }),
|
||||
rang: new fields.NumberField({ initial: 0, integer: true }),
|
||||
max: new fields.NumberField({ initial: 1, integer: true })
|
||||
}),
|
||||
esp: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Esprit" }),
|
||||
labelnorm: new fields.StringField({ initial: "esprit" }),
|
||||
abbrev: new fields.StringField({ initial: "esp" }),
|
||||
kind: new fields.StringField({ initial: "mental" }),
|
||||
value: new fields.NumberField({ initial: 1, integer: true }),
|
||||
rang: new fields.NumberField({ initial: 0, integer: true }),
|
||||
max: new fields.NumberField({ initial: 1, integer: true })
|
||||
}),
|
||||
per: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Perception" }),
|
||||
labelnorm: new fields.StringField({ initial: "perception" }),
|
||||
abbrev: new fields.StringField({ initial: "per" }),
|
||||
kind: new fields.StringField({ initial: "mental" }),
|
||||
value: new fields.NumberField({ initial: 1, integer: true }),
|
||||
rang: new fields.NumberField({ initial: 0, integer: true }),
|
||||
max: new fields.NumberField({ initial: 1, integer: true })
|
||||
}),
|
||||
pres: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Prestance" }),
|
||||
labelnorm: new fields.StringField({ initial: "pres" }),
|
||||
abbrev: new fields.StringField({ initial: "pres" }),
|
||||
kind: new fields.StringField({ initial: "mental" }),
|
||||
value: new fields.NumberField({ initial: 1, integer: true }),
|
||||
rang: new fields.NumberField({ initial: 0, integer: true }),
|
||||
max: new fields.NumberField({ initial: 1, integer: true })
|
||||
}),
|
||||
san: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Sang-Froid" }),
|
||||
labelnorm: new fields.StringField({ initial: "sangfroid" }),
|
||||
abbrev: new fields.StringField({ initial: "san" }),
|
||||
kind: new fields.StringField({ initial: "mental" }),
|
||||
value: new fields.NumberField({ initial: 1, integer: true }),
|
||||
rang: new fields.NumberField({ initial: 0, integer: true }),
|
||||
max: new fields.NumberField({ initial: 1, integer: true })
|
||||
})
|
||||
}),
|
||||
statutmasque: new fields.StringField({ initial: "masque" }),
|
||||
rang: new fields.SchemaField({
|
||||
tricherie: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Tricherie" }),
|
||||
value: new fields.NumberField({ initial: 0, integer: true }),
|
||||
max: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
feerie: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Féerie" }),
|
||||
value: new fields.NumberField({ initial: 0, integer: true }),
|
||||
max: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
masque: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Masque" }),
|
||||
value: new fields.NumberField({ initial: 0, integer: true }),
|
||||
max: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
heritage: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Héritage" }),
|
||||
value: new fields.NumberField({ initial: 0, integer: true }),
|
||||
max: new fields.NumberField({ initial: 0, integer: true }),
|
||||
scenarios: new fields.NumberField({ initial: 0, integer: true })
|
||||
})
|
||||
}),
|
||||
pv: new fields.SchemaField({
|
||||
value: new fields.NumberField({ initial: 0, integer: true }),
|
||||
max: new fields.NumberField({ initial: 0, integer: true }),
|
||||
mod: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
competences: new fields.SchemaField({
|
||||
aventurier: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Aventurier" }),
|
||||
niveau: new fields.NumberField({ initial: 0, integer: true }),
|
||||
rang: new fields.NumberField({ initial: 0, integer: true }),
|
||||
pp: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
combattant: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Combattant" }),
|
||||
niveau: new fields.NumberField({ initial: 0, integer: true }),
|
||||
rang: new fields.NumberField({ initial: 0, integer: true }),
|
||||
pp: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
erudit: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Erudit" }),
|
||||
niveau: new fields.NumberField({ initial: 0, integer: true }),
|
||||
rang: new fields.NumberField({ initial: 0, integer: true }),
|
||||
pp: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
gentleman: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Gentleman" }),
|
||||
niveau: new fields.NumberField({ initial: 0, integer: true }),
|
||||
rang: new fields.NumberField({ initial: 0, integer: true }),
|
||||
pp: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
roublard: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Roublard" }),
|
||||
niveau: new fields.NumberField({ initial: 0, integer: true }),
|
||||
rang: new fields.NumberField({ initial: 0, integer: true }),
|
||||
pp: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
savant: new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: "Savant" }),
|
||||
niveau: new fields.NumberField({ initial: 0, integer: true }),
|
||||
rang: new fields.NumberField({ initial: 0, integer: true }),
|
||||
pp: new fields.NumberField({ initial: 0, integer: true })
|
||||
})
|
||||
}),
|
||||
magie: new fields.SchemaField({
|
||||
pointsame: new fields.SchemaField({
|
||||
value: new fields.NumberField({ initial: 0, integer: true }),
|
||||
max: new fields.NumberField({ initial: 0, integer: true })
|
||||
})
|
||||
}),
|
||||
experience: new fields.SchemaField({
|
||||
value: new fields.NumberField({ initial: 0, integer: true }),
|
||||
pourtricher: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
combat: new fields.SchemaField({
|
||||
esquive: new fields.SchemaField({
|
||||
masquee: new fields.NumberField({ initial: 0, integer: true }),
|
||||
demasquee: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
parade: new fields.SchemaField({
|
||||
masquee: new fields.NumberField({ initial: 0, integer: true }),
|
||||
demasquee: new fields.NumberField({ initial: 0, integer: true }),
|
||||
value: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
resistancephysique: new fields.SchemaField({
|
||||
value: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
resistancepsychique: new fields.SchemaField({
|
||||
value: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
protection: new fields.SchemaField({
|
||||
value: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
effetssecondaires: new fields.StringField({ initial: "" }),
|
||||
dissimulation: new fields.SchemaField({
|
||||
value: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
initiative: new fields.SchemaField({
|
||||
masquee: new fields.NumberField({ initial: 0, integer: true }),
|
||||
demasquee: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
corpsacorps: new fields.SchemaField({
|
||||
masquee: new fields.NumberField({ initial: 0, integer: true }),
|
||||
demasquee: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
tir: new fields.SchemaField({
|
||||
masquee: new fields.NumberField({ initial: 0, integer: true }),
|
||||
demasquee: new fields.NumberField({ initial: 0, integer: true })
|
||||
})
|
||||
})
|
||||
};
|
||||
}
|
||||
}
|
||||
10
modules/models/pnj.mjs
Normal file
10
modules/models/pnj.mjs
Normal file
@@ -0,0 +1,10 @@
|
||||
/**
|
||||
* Data model pour les PNJ
|
||||
* Utilise le même schéma que les personnages
|
||||
*/
|
||||
import PersonnageDataModel from './personnage.mjs';
|
||||
|
||||
export default class PnjDataModel extends PersonnageDataModel {
|
||||
// Les PNJ utilisent exactement le même schéma que les personnages
|
||||
// On hérite simplement de PersonnageDataModel
|
||||
}
|
||||
29
modules/models/pouvoir.mjs
Normal file
29
modules/models/pouvoir.mjs
Normal file
@@ -0,0 +1,29 @@
|
||||
/**
|
||||
* Data model pour les pouvoirs
|
||||
*/
|
||||
export default class PouvoirDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
pouvoirtype: new fields.StringField({ initial: "" }),
|
||||
masquetype: new fields.StringField({ initial: "" }),
|
||||
niveau: new fields.StringField({ initial: "" }),
|
||||
activation: new fields.StringField({ initial: "" }),
|
||||
istest: new fields.BooleanField({ initial: false }),
|
||||
feeriemasque: new fields.StringField({ initial: "feerie" }),
|
||||
zoneffet: new fields.StringField({ initial: "" }),
|
||||
testautre: new fields.StringField({ initial: "" }),
|
||||
carac: new fields.StringField({ initial: "pre" }),
|
||||
duree: new fields.StringField({ initial: "" }),
|
||||
cibles: new fields.StringField({ initial: "" }),
|
||||
effet: new fields.StringField({ initial: "" }),
|
||||
portee: new fields.StringField({ initial: "" }),
|
||||
resistance: new fields.StringField({ initial: "" }),
|
||||
resistanceautre: new fields.StringField({ initial: "" }),
|
||||
pointsusagecourant: new fields.NumberField({ initial: -1, integer: true }),
|
||||
isvirulence: new fields.BooleanField({ initial: false }),
|
||||
virulence: new fields.StringField({ initial: "" }),
|
||||
description: new fields.HTMLField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
12
modules/models/profil.mjs
Normal file
12
modules/models/profil.mjs
Normal file
@@ -0,0 +1,12 @@
|
||||
/**
|
||||
* Data model pour les profils
|
||||
*/
|
||||
export default class ProfilDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
profiltype: new fields.StringField({ initial: "majeur" }),
|
||||
description: new fields.HTMLField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
20
modules/models/protection.mjs
Normal file
20
modules/models/protection.mjs
Normal file
@@ -0,0 +1,20 @@
|
||||
/**
|
||||
* Data model pour les protections
|
||||
*/
|
||||
export default class ProtectionDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
rarete: new fields.NumberField({ initial: 0, integer: true }),
|
||||
quantite: new fields.NumberField({ initial: 0, integer: true }),
|
||||
prix: new fields.NumberField({ initial: 0, integer: true }),
|
||||
equipped: new fields.BooleanField({ initial: false }),
|
||||
points: new fields.NumberField({ initial: 0, integer: true }),
|
||||
protectiontype: new fields.StringField({ initial: "" }),
|
||||
effetsecondaire: new fields.StringField({ initial: "" }),
|
||||
malusagilite: new fields.NumberField({ initial: 0, integer: true }),
|
||||
dissimulation: new fields.StringField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
27
modules/models/sort.mjs
Normal file
27
modules/models/sort.mjs
Normal file
@@ -0,0 +1,27 @@
|
||||
/**
|
||||
* Data model pour les sorts
|
||||
*/
|
||||
export default class SortDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
niveau: new fields.StringField({ initial: "1" }),
|
||||
rang: new fields.StringField({ initial: "1" }),
|
||||
competence: new fields.StringField({ initial: "Druidisme" }),
|
||||
carac1: new fields.StringField({ initial: "esp" }),
|
||||
carac2: new fields.StringField({ initial: "none" }),
|
||||
sdspecial: new fields.StringField({ initial: "" }),
|
||||
duree: new fields.StringField({ initial: "" }),
|
||||
portee: new fields.StringField({ initial: "" }),
|
||||
concentration: new fields.StringField({ initial: "" }),
|
||||
informatif: new fields.BooleanField({ initial: false }),
|
||||
texteinformatif: new fields.StringField({ initial: "" }),
|
||||
critique: new fields.StringField({ initial: "" }),
|
||||
ingredients: new fields.StringField({ initial: "" }),
|
||||
resistance: new fields.StringField({ initial: "" }),
|
||||
coutactivation: new fields.StringField({ initial: "" }),
|
||||
souffle: new fields.StringField({ initial: "" }),
|
||||
description: new fields.HTMLField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user