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

@ -12,7 +12,7 @@ export class TeDeumActorPJSheet extends ActorSheet {
static get defaultOptions() {
return mergeObject(super.defaultOptions, {
classes: ["fvtt-tedeum", "sheet", "actor"],
classes: ["fvtt-te-deum", "sheet", "actor"],
template: "systems/fvtt-te-deum/templates/actors/actor-sheet.hbs",
width: 860,
height:680,

View File

@ -65,6 +65,17 @@ export class TeDeumActor extends Actor {
}
/* -------------------------------------------- */
getBonusDegats() {
return game.system.tedeum.config.BONUS_DEGATS[this.system.caracteristiques.puissance.value]
}
/* -------------------------------------------- */
getNbArmures() {
return game.system.tedeum.config.MAX_ARMURES_LOURDES[this.system.caracteristiques.puissance.value]
}
getNbActions() {
return game.system.tedeum.config.ACTIONS_PAR_TOUR[this.system.caracteristiques.adresse.value]
}
/* -------------------------------------------- */
getCompetences() {
let comp = duplicate(this.items.filter(item => item.type == 'competence') || [])
@ -118,11 +129,6 @@ export class TeDeumActor extends Actor {
}
}
/* ------------------------------------------- */
getEquipments() {
return this.items.filter(item => item.type == 'equipment')
}
/* ------------------------------------------- */
async buildContainerTree() {
let equipments = duplicate(this.items.filter(item => item.type == "equipment") || [])
@ -179,6 +185,7 @@ export class TeDeumActor extends Actor {
clearInitiative() {
this.getFlag("world", "initiative", -1)
}
/* -------------------------------------------- */
getInitiativeScore(combatId, combatantId) {
let init = Math.floor((this.system.attributs.physique.value + this.system.attributs.habilite.value) / 2)
@ -238,7 +245,6 @@ export class TeDeumActor extends Actor {
/* -------------------------------------------- */
getCommonRollData() {
//this.system.internals.confrontbonus = 5 // TO BE REMOVED!!!!
let rollData = TeDeumUtility.getBasicRollData()
rollData.alias = this.name
rollData.actorImg = this.img

View File

@ -1,39 +1,39 @@
export const SYSTEM_ID = "fvtt-te-deum";
export const __BONUS_DEGATS = [{}, { label: "1d4", value: -2 }, { label: "1d6", value: -1 }, { label: "1d8", value: 0 },
{ label: "1d10", value: 1 }, { label: "1d12", value: 2 }, { label: "1d20", value: 3 }]
export const __MAX_ARMURES_LOURDES = [{}, { value: 1 }, { value: 3 }, { value: 5 },
{ value: 7 }, { value: 9 }, { value: 11 }]
export const __EFFORT = [{}, { value: 1 }, { value: 2 }, { value: 3 },
{ value: 4 }, { value: 5 }, { value: 6 }]
export const __ACTIONS_PAR_TOUR = [{}, { value: 1 }, { value: 2 }, { value: 2 },
{ value: 3 }, { value: 3 }, { value: 4 }]
export const __COUT_XP = [{}, { value: 10 }, { value: 10 }, { value: 10 },
{ value: 10 }, { value: 30 }, { value: 50 }]
export const LOCALISATION = {
"pieddroit": { label: "Pied Droit", value: 1, id: "pieddroit", nbArmure: 1 },
"jambedroite": { label: "Jambe Droite", value: 1, id: "jambedroite", nbArmure: 1 },
"jambegauche": { label: "Jambe Gauche", value: 1, id: "jambegauche", nbArmure: 1 },
"piedgauche": { label: "Pied Gauche", value: 1, id: "piedgauche", nbArmure: 1 },
"piedgauche": { label: "Pied Gauche", value: 1, id: "piedgauche", nbArmure: 1 },
"maindroite": { label: "Main Droite", value: 1, id: "maindroite", nbArmure: 1 },
"maingauche": { label: "Main Gauche", value: 1, id: "maingauche", nbArmure: 1 },
"brasdroit": { label: "Bras Droit", value: 1, id: "brasdroit", nbArmure: 2 },
"brasgauche": { label: "Bras Gauche", value: 1, id: "brasgauche", nbArmure: 2 },
"corps": { label: "Corps", value: 1, id: "corps", nbArmure: 2 },
"tete": { label: "Tête", value: 1, id: "tete", nbArmure: 2 },
}
export const ARME_SPECIFICITE = {
"encombrante": { label: "Encombrante", id: "encombrante" },
"maintiendistance": { label: "Maintien à distance", id: "maintiendistance" },
"treslongue": { label: "Très longue", id: "treslongue" },
"coupassomant": { label: "Coup assomant", id: "coupassomant" },
"peutlancer": { label: "Peut être lancée", id: "peutlancer" },
}
export const TEDEUM_CONFIG = {
BONUS_DEGATS: [{}, { label: "1d4", value: -2 }, { label: "1d6", value: -1 }, { label: "1d8", value: 0 },
{ label: "1d10", value: 1 }, { label: "1d12", value: 2 }, { label: "1d20", value: 3 }],
MAX_ARMURES_LOURDES: [{}, { value: 1 }, { value: 3 }, { value: 5 },
{ value: 7 }, { value: 9 }, { value: 11 }],
ACTIONS_PAR_TOUR: [{}, { value: 1 }, { value: 2 }, { value: 2 },
{ value: 3 }, { value: 3 }, { value: 4 }],
COUT_XP: [{}, { value: 10 }, { value: 10 }, { value: 10 },
{ value: 10 }, { value: 30 }, { value: 50 }],
LOCALISATION: {
"pieddroit": { label: "Pied Droit", value: 1, id: "pieddroit", nbArmure: 1 },
"jambedroite": { label: "Jambe Droite", value: 1, id: "jambedroite", nbArmure: 1 },
"jambegauche": { label: "Jambe Gauche", value: 1, id: "jambegauche", nbArmure: 1 },
"piedgauche": { label: "Pied Gauche", value: 1, id: "piedgauche", nbArmure: 1 },
"piedgauche": { label: "Pied Gauche", value: 1, id: "piedgauche", nbArmure: 1 },
"maindroite": { label: "Main Droite", value: 1, id: "maindroite", nbArmure: 1 },
"maingauche": { label: "Main Gauche", value: 1, id: "maingauche", nbArmure: 1 },
"brasdroit": { label: "Bras Droit", value: 1, id: "brasdroit", nbArmure: 2 },
"brasgauche": { label: "Bras Gauche", value: 1, id: "brasgauche", nbArmure: 2 },
"corps": { label: "Corps", value: 1, id: "corps", nbArmure: 2 },
"tete": { label: "Tête", value: 1, id: "tete", nbArmure: 2 },
},
ARME_SPECIFICITE: {
"encombrante": { label: "Encombrante", id: "encombrante" },
"maintiendistance": { label: "Maintien à distance", id: "maintiendistance" },
"treslongue": { label: "Très longue", id: "treslongue" },
"coupassomant": { label: "Coup assomant", id: "coupassomant" },
"peutlancer": { label: "Peut être lancée", id: "peutlancer" },
},
descriptionValeur: {
1: { qualite: "Mauvais", dice: "d4", negativeDice: "d20", savoir: "Sot", sensibilite: "Obtus", entregent: "Rustaud", puissance: "Menu", complexion: "Anémique", adresse: "Empesé" },
2: { qualite: "Médiocre", dice: "d6", negativeDice: "d12", savoir: "Limité", sensibilite: "Etriqué", entregent: "Frustre", puissance: "Délicat", complexion: "Languide", adresse: "Gauche" },
@ -48,50 +48,38 @@ export const TEDEUM_CONFIG = {
11: { qualite: "Excellent", dice: "d12", negativeDice: "d6", savoir: "Docte", sensibilite: "Subtil", entregent: "Galant", puissance: "Musculeux", complexion: "Sanguin", adresse: "Preste" },
12: { qualite: "Admirabme", dice: "d20", negativeDice: "d4", savoir: "Humaniste", sensibilite: "Spirituel", entregent: "Sémillant", puissance: "Hercule", complexion: "Aguerri", adresse: "Alerte" },
},
degatsArmure : {
sansarmure : { label: "Sans armure"},
cuir : { label: "Cuir"},
plates : { label: "Plates"},
mailles : { label: "Mailles"},
},
caracteristiques: {
savoir: { id: "savoir", value: 1, label: "Savoir" },
sensibilite: { id: "sensibilite", value: 1, label: "Sensibilité" },
entregent: { id: "entregent", value: 1, label: "Entregent" },
complexion: { id: "complexion", value: 1, label: "Complexion" },
puissance: { id: "puissance", value: 1, label: "Puissance" },
adresse: { id: "adresse", value: 1, label: "Adresse" },
savoir: { id: "savoir", value: "savoir", label: "Savoir" },
sensibilite: { id: "sensibilite", value: "sensibilite", label: "Sensibilité" },
entregent: { id: "entregent", value: "entregent", label: "Entregent" },
complexion: { id: "complexion", value: "complexion", label: "Complexion" },
puissance: { id: "puissance", value: "puissance", label: "Puissance" },
adresse: { id: "adresse", value: "adresse", label: "Adresse" },
},
providence: [
{labelM: "Brebis égarée", labelF: "Brebis égarée",value: 0, diceValue: "0"},
{labelM: "Pauvre pêcheur", labelF: "Pauvre pêcheresse",value: 1, diceValue: "d4"},
{labelM: "Fils prodigue", labelF: "Fille prodigue",value: 2, diceValue: "d6"},
{labelM: "Bon samaritain", labelF: "Bon samaritain",value: 3, diceValue: "d8"},
{labelM: "Animé par la grâce", labelF: "Animée par la grâce",value: 4, diceValue: "d10"},
{labelM: "Oint du Seigneur", labelF: "Ointe du Seigneur",value: 5, diceValue: "d12"},
{labelM: "Dans la main de Dieu", labelF: "Dans la main de Dieu",value: 6, diceValue: "d20"},
{ labelM: "Brebis égarée", labelF: "Brebis égarée", value: 0, diceValue: "0" },
{ labelM: "Pauvre pêcheur", labelF: "Pauvre pêcheresse", value: 1, diceValue: "d4" },
{ labelM: "Fils prodigue", labelF: "Fille prodigue", value: 2, diceValue: "d6" },
{ labelM: "Bon samaritain", labelF: "Bon samaritain", value: 3, diceValue: "d8" },
{ labelM: "Animé par la grâce", labelF: "Animée par la grâce", value: 4, diceValue: "d10" },
{ labelM: "Oint du Seigneur", labelF: "Ointe du Seigneur", value: 5, diceValue: "d12" },
{ labelM: "Dans la main de Dieu", labelF: "Dans la main de Dieu", value: 6, diceValue: "d20" },
],
localisation: {
1: LOCALISATION.pieddroit,
2: LOCALISATION.piedgauche,
3: LOCALISATION.jambedroite,
4: LOCALISATION.jambedroite,
5: LOCALISATION.jambegauche,
6: LOCALISATION.jambegauche,
7: LOCALISATION.maindroite,
8: LOCALISATION.maingauche,
9: LOCALISATION.brasdroit,
10: LOCALISATION.brasdroit,
11: LOCALISATION.brasgauche,
12: LOCALISATION.brasgauche,
13: LOCALISATION.corps,
14: LOCALISATION.corps,
15: LOCALISATION.corps,
16: LOCALISATION.corps,
17: LOCALISATION.corps,
18: LOCALISATION.tete,
19: LOCALISATION.tete,
20: LOCALISATION.tete
},
armeTypes: {
"melee": { label: "Mêlée", value: "melee" },
"tir": { label: "Tir", value: "tir" }
melee: { label: "Mêlée", value: "melee" },
tir: { label: "Tir", value: "tir" }
},
difficulte: {
difficulte: {
routine: { label: "Routine", value: 3 },
facile: { label: "Facile", value: 5 },
pardefaut: { label: "Par Défaut", value: 7 },
@ -101,8 +89,26 @@ export const TEDEUM_CONFIG = {
desespere: { label: "Désespéré", value: 15 }
},
monnaie: {
denier: { label: "Deniers", value: 1 },
sol: { label: "Sols", value: 10 },
livre: { label: "Livres", value: 100 }
denier: { label: "Deniers", id: "denier", value: 1 },
sol: { label: "Sols", id: "sol", value: 10 },
livre: { label: "Livres", id: "livre", value: 100 }
},
etapesEducation: {
pouponniere: { label: "La Pouponnière", value: "pouponniere", agemin: 0, agemax: 6, nbCompetences: 2, nbCaracteristiques: 3, hasQuestionnaire: true, hasMultiplier: false },
petitsgrimauds: { label: "La classe des Petits Grimauds", value: "petitsgrimauds", agemin: 7, agemax: 12,nbCompetences: 2, nbCaracteristiques: 3, hasQuestionnaire: true, hasMultiplier: false },
rosevie: { label: "Les Roses de la Vie", value: "rosevie", agemin: 13, agemax: 16, nbCompetences: 2, nbCaracteristiques: 3, hasQuestionnaire: true, hasMultiplier: false },
ageviril: { label: "L'Age Viril", value: "ageviril", agemin: 17, agemax: 17, nbCompetences: 9, nbCaracteristiques: 2, hasQuestionnaire: false, hasMultiplier: true },
},
origineSociale: {
noblesseepee: { label: "Noblesse d'épée", id: "noblesseepee", value: 1 },
noblessecloche: { label: "Noblesse de cloche", id: "noblessecloche", value: 2 },
hautenoblesse: { label: "Haute noblesse (Illégitime)", id: "hautenoblesse", value: 3 },
hautebourgeoisie: { label: "Haute bourgeoisie", id: "hautebourgeoisie", value: 4 },
petitebourgeoisie: { label: "Petite bourgeoisie (Marchands)", id: "petitebourgeoisie", value: 5 },
artisan: { label: "Artisans", id: "artisan", value: 6 },
laboureur: { label: "Laboureurs", id: "laboureur", value: 7 },
domesticite: { label: "Domesticité", id: "domesticite", value: 8 },
paysannerie: { label: "Paysannerie", id: "paysannerie", value: 9 },
gueux: { label: "Gueux", id: "gueux", value: 10 },
}
}

View File

@ -46,10 +46,53 @@ export class TeDeumUtility {
accum += block.fn(i);
return accum;
})
Handlebars.registerHelper('getConfigLabel', function (configName, key) {
//console.log("getConfigLabel", configName, key)
return game.system.tedeum.config[configName][key].label
})
Handlebars.registerHelper('getConfigLabelWithGender', function (configName, key, genderKey) {
return game.system.tedeum.config[configName][key]["label"+genderKey]
})
Handlebars.registerHelper('isGM', function () {
return game.user.isGM
})
// Load compendium data
const competences = await TeDeumUtility.loadCompendium("fvtt-te-deum.competences")
this.competences = competences.map(i => i.toObject())
this.competencesList = {}
for (let i of this.competences) {
this.competencesList[i.name.toLowerCase()] = {name:i.name, id: i._id}
}
}
/*-------------------------------------------- */
static getCompetences() {
return this.competences
}
/*-------------------------------------------- */
static getCompetencesForDropDown() {
return this.competencesList
}
/*-------------------------------------------- */
static prepareEducationContent(formData) {
let nbCompetences = game.system.tedeum.config.etapesEducation[formData.system.etape].nbCompetences
for (let key in formData.system.competences) {
formData.system.competences[key].valid = false
}
for (let i = 1; i <= nbCompetences; i++) {
formData.system.competences[`comp${i}`].valid = true
}
let nbCaracteristiques = game.system.tedeum.config.etapesEducation[formData.system.etape].nbCaracteristiques
for (let key in formData.system.caracteristiques) {
formData.system.caracteristiques[key].valid = false
}
for (let i = 1; i <= nbCaracteristiques; i++) {
formData.system.caracteristiques[`carac${i}`].valid = true
}
formData.hasQuestionnaire = game.system.tedeum.config.etapesEducation[formData.system.etape].hasQuestionnaire;
formData.hasMultiplier = game.system.tedeum.config.etapesEducation[formData.system.etape].hasMultiplier;
}
/*-------------------------------------------- */

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;

View File

@ -9,7 +9,7 @@ export class TeDeumItemSheet extends ItemSheet {
/** @override */
static get defaultOptions() {
return mergeObject(super.defaultOptions, {
classes: ["fvtt-tedeum", "sheet", "item"],
classes: ["fvtt-te-deum", "sheet", "item"],
template: "systems/fvtt-te-deum/templates/item-sheet.hbs",
dragDrop: [{ dragSelector: null, dropSelector: null }],
width: 620,
@ -45,6 +45,7 @@ export class TeDeumItemSheet extends ItemSheet {
cssClass: this.isEditable ? "editable" : "locked",
system: duplicate(this.object.system),
config: duplicate(game.system.tedeum.config),
competences: TeDeumUtility.getCompetencesForDropDown(),
limited: this.object.limited,
options: this.options,
owner: this.document.isOwner,
@ -52,6 +53,10 @@ export class TeDeumItemSheet extends ItemSheet {
notes: await TextEditor.enrichHTML(this.object.system.notes, { async: true }),
isGM: game.user.isGM
}
if (this.object.type == "education") {
TeDeumUtility.prepareEducationContent(formData);
}
this.options.editable = !(this.object.origin == "embeddedItem");
console.log("ITEM DATA", formData, this);

View File

@ -2,8 +2,10 @@ import { TeDeumUtility } from "../common/tedeum-utility.js";
export const defaultItemImg = {
arme: "systems/fvtt-te-deum/images/icons/icon_arme.webp",
armure: "systems/fvtt-te-deum/images/icons/icon_armure.webp",
equipement: "systems/fvtt-te-deum/images/icons/icon_equipement.webp",
competence: "systems/fvtt-te-deum/images/icons/icon_competence.webp",
education: "systems/fvtt-te-deum/images/icons/icon_education.webp",
}
/**

View File

@ -18,7 +18,6 @@ import { TeDeumCompetenceSchema } from "./data/tedeum-schema-competence.js";
import { TeDeumEquipementSchema } from "./data/tedeum-schema-equipement.js";
import { TeDeumOrigineSchema } from "./data/tedeum-schema-origine.js";
import { TeDeumEducationSchema } from "./data/tedeum-schema-education.js";
import { TeDeumDeboucheSchema } from "./data/tedeum-schema-debouche.js";
import { TeDeumItem } from "./items/tedeum-item.js";
import { TeDeumItemSheet } from "./items/tedeum-item-sheet.js";
@ -27,8 +26,8 @@ import { TeDeumHotbar } from "./app/tedeum-hotbar.js"
import { TeDeumCombat } from "./app/tedeum-combat.js";
import { TeDeumUtility } from "./common/tedeum-utility.js";
import { TEDEUM_CONFIG, LOCALISATION, ARME_SPECIFICITE} from "./common/tedeum-config.js";
import { ClassCounter} from "https://www.uberwald.me/fvtt_appcount/count-class-ready.js";
import { TEDEUM_CONFIG } from "./common/tedeum-config.js";
/* -------------------------------------------- */
/* Foundry VTT Initialization */
/* -------------------------------------------- */
@ -40,8 +39,6 @@ Hooks.once("init", async function () {
game.system.tedeum = {
config: TEDEUM_CONFIG,
LOCALISATION: LOCALISATION,
ARME_SPECIFICITE: ARME_SPECIFICITE,
TeDeumHotbar
}
console.log(`Initializing TeDeum RPG 2`);
@ -72,8 +69,7 @@ Hooks.once("init", async function () {
equipement: TeDeumEquipementSchema,
armure: TeDeumArmureSchema,
origine: TeDeumOrigineSchema,
education: TeDeumEducationSchema,
debouche: TeDeumDeboucheSchema,
education: TeDeumEducationSchema
};
console.log("TeDeum RPG | Ready");
@ -83,7 +79,7 @@ Hooks.once("init", async function () {
Actors.registerSheet("fvtt-te-deum", TeDeumActorPJSheet, { types: ["pnj"], makeDefault: true });
Items.unregisterSheet("core", ItemSheet);
Items.registerSheet("fvtt-te-deum", TeDeumItemSheet, { types: ["arme"], makeDefault: true });
Items.registerSheet("fvtt-te-deum", TeDeumItemSheet, { makeDefault: true });
TeDeumUtility.init()
});
@ -113,11 +109,16 @@ Hooks.once("ready", function () {
});
}
console.log("YEADEAE");
ClassCounter.registerUsageCount();
welcomeMessage();
import("https://www.uberwald.me/fvtt_appcount/count-class-ready.js").then(moduleCounter=>{
console.log("ClassCounter loaded", moduleCounter)
moduleCounter.ClassCounter.registerUsageCount()
}).catch(err=>
console.log("No stats available, giving up.")
)
TeDeumUtility.ready();
welcomeMessage();
})