Initial release for FoundryVTT
This commit is contained in:
16
modules/models/arme.mjs
Normal file
16
modules/models/arme.mjs
Normal file
@@ -0,0 +1,16 @@
|
||||
import BaseItemDataModel from "./base-item.mjs";
|
||||
|
||||
export default class ArmeDataModel extends BaseItemDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
...super.defineSchema(),
|
||||
categorie: new fields.StringField({ initial: "melee" }),
|
||||
caracteristique: new fields.StringField({ initial: "force" }),
|
||||
degats: new fields.StringField({ initial: "1d6" }),
|
||||
portee: new fields.StringField({ initial: "" }),
|
||||
mains: new fields.NumberField({ initial: 1, integer: true }),
|
||||
equipee: new fields.BooleanField({ initial: false })
|
||||
};
|
||||
}
|
||||
}
|
||||
14
modules/models/armure.mjs
Normal file
14
modules/models/armure.mjs
Normal file
@@ -0,0 +1,14 @@
|
||||
import BaseItemDataModel from "./base-item.mjs";
|
||||
|
||||
export default class ArmureDataModel extends BaseItemDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
...super.defineSchema(),
|
||||
delta: new fields.NumberField({ initial: 8, integer: true }),
|
||||
resultatProtection: new fields.NumberField({ initial: 0, integer: true }),
|
||||
equipee: new fields.BooleanField({ initial: false }),
|
||||
encombrement: new fields.StringField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
9
modules/models/base-item.mjs
Normal file
9
modules/models/base-item.mjs
Normal file
@@ -0,0 +1,9 @@
|
||||
export default class BaseItemDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
notes: new fields.HTMLField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
12
modules/models/capacite.mjs
Normal file
12
modules/models/capacite.mjs
Normal file
@@ -0,0 +1,12 @@
|
||||
import BaseItemDataModel from "./base-item.mjs";
|
||||
|
||||
export default class CapaciteDataModel extends BaseItemDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
...super.defineSchema(),
|
||||
cout: new fields.StringField({ initial: "" }),
|
||||
effet: new fields.StringField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
13
modules/models/consommable.mjs
Normal file
13
modules/models/consommable.mjs
Normal file
@@ -0,0 +1,13 @@
|
||||
import BaseItemDataModel from "./base-item.mjs";
|
||||
|
||||
export default class ConsommableDataModel extends BaseItemDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
...super.defineSchema(),
|
||||
quantite: new fields.NumberField({ initial: 1, integer: true }),
|
||||
delta: new fields.NumberField({ initial: 6, integer: true }),
|
||||
effet: new fields.StringField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
66
modules/models/employe.mjs
Normal file
66
modules/models/employe.mjs
Normal file
@@ -0,0 +1,66 @@
|
||||
import { DONJON_ET_CIE } from "../donjon-et-cie-config.mjs";
|
||||
|
||||
export default class EmployeDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
const makeCharacteristic = (label, short) => new fields.SchemaField({
|
||||
label: new fields.StringField({ initial: label }),
|
||||
short: new fields.StringField({ initial: short }),
|
||||
value: new fields.NumberField({ initial: 10, integer: true })
|
||||
});
|
||||
const favorFields = Object.fromEntries(Object.keys(DONJON_ET_CIE.favorDepartments).map((key) => [
|
||||
key,
|
||||
new fields.SchemaField({
|
||||
delta: new fields.NumberField({ initial: 0, integer: true })
|
||||
})
|
||||
]));
|
||||
|
||||
return {
|
||||
concept: new fields.StringField({ initial: "" }),
|
||||
anciennete: new fields.SchemaField({
|
||||
rang: new fields.NumberField({ initial: 1, integer: true }),
|
||||
libelle: new fields.StringField({ initial: "Nouvel employe" })
|
||||
}),
|
||||
caracteristiques: new fields.SchemaField({
|
||||
force: makeCharacteristic("FORce", "FOR"),
|
||||
dexterite: makeCharacteristic("DEXterite", "DEX"),
|
||||
constitution: makeCharacteristic("CONstitution", "CON"),
|
||||
intelligence: makeCharacteristic("INTelligence", "INT"),
|
||||
sagesse: makeCharacteristic("SAGesse", "SAG"),
|
||||
charisme: makeCharacteristic("CHArisme", "CHA")
|
||||
}),
|
||||
sante: new fields.SchemaField({
|
||||
dv: new fields.StringField({ initial: "1d6" }),
|
||||
pv: new fields.SchemaField({
|
||||
value: new fields.NumberField({ initial: 6, integer: true }),
|
||||
max: new fields.NumberField({ initial: 6, integer: true })
|
||||
})
|
||||
}),
|
||||
combat: new fields.SchemaField({
|
||||
initiativeBonus: new fields.NumberField({ initial: 0, integer: true }),
|
||||
degatsBonus: new fields.NumberField({ initial: 0, integer: true }),
|
||||
attaquesCorpsACorps: new fields.NumberField({ initial: 1, integer: true }),
|
||||
attaquesDistance: new fields.NumberField({ initial: 1, integer: true })
|
||||
}),
|
||||
magie: new fields.SchemaField({
|
||||
focus: new fields.SchemaField({
|
||||
delta: new fields.NumberField({ initial: 0, integer: true }),
|
||||
resultat: new fields.NumberField({ initial: 0, integer: true }),
|
||||
sceneId: new fields.StringField({ initial: "" })
|
||||
}),
|
||||
chaos: new fields.SchemaField({
|
||||
delta: new fields.NumberField({ initial: 12, integer: true })
|
||||
})
|
||||
}),
|
||||
profil: new fields.SchemaField({
|
||||
objectifPersonnel: new fields.HTMLField({ initial: "" }),
|
||||
suspicion: new fields.NumberField({ initial: 0, integer: true }),
|
||||
avertissements: new fields.NumberField({ initial: 0, integer: true }),
|
||||
missionsReussies: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
faveurs: new fields.SchemaField(favorFields),
|
||||
notes: new fields.HTMLField({ initial: "" }),
|
||||
gmnotes: new fields.HTMLField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
13
modules/models/equipement.mjs
Normal file
13
modules/models/equipement.mjs
Normal file
@@ -0,0 +1,13 @@
|
||||
import BaseItemDataModel from "./base-item.mjs";
|
||||
|
||||
export default class EquipementDataModel extends BaseItemDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
...super.defineSchema(),
|
||||
quantite: new fields.NumberField({ initial: 1, integer: true }),
|
||||
equipee: new fields.BooleanField({ initial: false }),
|
||||
emplacement: new fields.StringField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
11
modules/models/index.mjs
Normal file
11
modules/models/index.mjs
Normal file
@@ -0,0 +1,11 @@
|
||||
export { default as BaseItemDataModel } from "./base-item.mjs";
|
||||
export { default as TraitDataModel } from "./trait.mjs";
|
||||
export { default as LangueDataModel } from "./langue.mjs";
|
||||
export { default as CapaciteDataModel } from "./capacite.mjs";
|
||||
export { default as SortilegeDataModel } from "./sortilege.mjs";
|
||||
export { default as ArmeDataModel } from "./arme.mjs";
|
||||
export { default as ArmureDataModel } from "./armure.mjs";
|
||||
export { default as EquipementDataModel } from "./equipement.mjs";
|
||||
export { default as ConsommableDataModel } from "./consommable.mjs";
|
||||
export { default as EmployeDataModel } from "./employe.mjs";
|
||||
export { default as PnjDataModel } from "./pnj.mjs";
|
||||
11
modules/models/langue.mjs
Normal file
11
modules/models/langue.mjs
Normal file
@@ -0,0 +1,11 @@
|
||||
import BaseItemDataModel from "./base-item.mjs";
|
||||
|
||||
export default class LangueDataModel extends BaseItemDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
...super.defineSchema(),
|
||||
niveau: new fields.StringField({ initial: "courant" })
|
||||
};
|
||||
}
|
||||
}
|
||||
36
modules/models/pnj.mjs
Normal file
36
modules/models/pnj.mjs
Normal file
@@ -0,0 +1,36 @@
|
||||
export default class PnjDataModel extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
|
||||
return {
|
||||
espece: new fields.StringField({ initial: "" }),
|
||||
categorie: new fields.StringField({ initial: "Resident" }),
|
||||
role: new fields.StringField({ initial: "" }),
|
||||
resume: new fields.StringField({ initial: "" }),
|
||||
sante: new fields.SchemaField({
|
||||
dv: new fields.StringField({ initial: "1d8" }),
|
||||
pv: new fields.SchemaField({
|
||||
value: new fields.NumberField({ initial: 6, integer: true }),
|
||||
max: new fields.NumberField({ initial: 6, integer: true })
|
||||
})
|
||||
}),
|
||||
defense: new fields.SchemaField({
|
||||
armure: new fields.SchemaField({
|
||||
delta: new fields.NumberField({ initial: 0, integer: true }),
|
||||
resultatProtection: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
courage: new fields.SchemaField({
|
||||
delta: new fields.NumberField({ initial: 0, integer: true })
|
||||
})
|
||||
}),
|
||||
attaque: new fields.SchemaField({
|
||||
nom: new fields.StringField({ initial: "Attaque" }),
|
||||
degats: new fields.StringField({ initial: "1d6" }),
|
||||
notes: new fields.StringField({ initial: "" })
|
||||
}),
|
||||
pouvoirsSpeciaux: new fields.HTMLField({ initial: "" }),
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
notes: new fields.HTMLField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
17
modules/models/sortilege.mjs
Normal file
17
modules/models/sortilege.mjs
Normal file
@@ -0,0 +1,17 @@
|
||||
import BaseItemDataModel from "./base-item.mjs";
|
||||
|
||||
export default class SortilegeDataModel extends BaseItemDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
...super.defineSchema(),
|
||||
caracteristique: new fields.StringField({ initial: "intelligence" }),
|
||||
difficulte: new fields.NumberField({ initial: 0, integer: true }),
|
||||
coutPv: new fields.NumberField({ initial: 0, integer: true }),
|
||||
portee: new fields.StringField({ initial: "" }),
|
||||
duree: new fields.StringField({ initial: "" }),
|
||||
effet: new fields.StringField({ initial: "" }),
|
||||
degats: new fields.StringField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
11
modules/models/trait.mjs
Normal file
11
modules/models/trait.mjs
Normal file
@@ -0,0 +1,11 @@
|
||||
import BaseItemDataModel from "./base-item.mjs";
|
||||
|
||||
export default class TraitDataModel extends BaseItemDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
...super.defineSchema(),
|
||||
etiquette: new fields.StringField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user