Nettoyage de data
* séparation de options, calc, ...
* extraction de méthodes pour clarifier ce qui est fait dans getData
* fix de la feuille: utiliser data.data
* fix d'Actor: update({ data.data
This commit is contained in:
@@ -12,14 +12,14 @@ import { Grammar } from "./grammar.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
const categorieCompetences = {
|
||||
"generale": { level: "-4", label: "Générales" },
|
||||
"particuliere": { level: "-8", label: "Particulières" },
|
||||
"specialisee": { level: "-11", label: "Spécialisées" },
|
||||
"connaissance": { level: "-11", label: "Connaissances" },
|
||||
"draconic": { level: "-11", label: "Draconics" },
|
||||
"melee": { level: "-6", label: "Mêlée" },
|
||||
"tir": { level: "-8", label: "Tir" },
|
||||
"lancer": { level: "-8", label: "Lancer" }
|
||||
"generale": { level: -4, label: "Générales" },
|
||||
"particuliere": { level: -8, label: "Particulières" },
|
||||
"specialisee": { level: -11, label: "Spécialisées" },
|
||||
"connaissance": { level: -11, label: "Connaissances" },
|
||||
"draconic": { level: -11, label: "Draconics" },
|
||||
"melee": { level: -6, label: "Mêlée" },
|
||||
"tir": { level: -8, label: "Tir" },
|
||||
"lancer": { level: -8, label: "Lancer" }
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -267,10 +267,7 @@ export class RdDUtility {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static checkNull(items) {
|
||||
if (items && items.length) {
|
||||
return items;
|
||||
}
|
||||
return [];
|
||||
return items ?? [];
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -296,32 +293,39 @@ export class RdDUtility {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static filterItemsPerTypeForSheet(data) {
|
||||
data.data.materiel = this.checkNull(data.itemsByType['objet']);
|
||||
data.data.conteneurs = this.checkNull(data.itemsByType['conteneur']);
|
||||
data.data.armes = this.checkNull(data.itemsByType['arme']);
|
||||
data.data.armures = this.checkNull(data.itemsByType['armure']);
|
||||
data.data.livres = this.checkNull(data.itemsByType['livre']);
|
||||
data.data.potions = this.checkNull(data.itemsByType['potion']);
|
||||
data.data.ingredients = this.checkNull(data.itemsByType['ingredient']);
|
||||
data.data.munitions = this.checkNull(data.itemsByType['munition']);
|
||||
data.data.herbes = this.checkNull(data.itemsByType['herbe']);
|
||||
data.data.sorts = this.checkNull(data.itemsByType['sort']);
|
||||
data.data.queues = this.checkNull(data.itemsByType['queue']);
|
||||
data.data.souffles = this.checkNull(data.itemsByType['souffle']);
|
||||
data.data.ombres = this.checkNull(data.itemsByType['ombre']);
|
||||
data.data.tetes = this.checkNull(data.itemsByType['tete']);
|
||||
data.data.taches = this.checkNull(data.itemsByType['tache']);
|
||||
data.data.monnaie = this.checkNull(data.itemsByType['monnaie']);
|
||||
data.data.meditations = this.checkNull(data.itemsByType['meditation']);
|
||||
data.data.chants = this.checkNull(data.itemsByType['chant']);
|
||||
data.data.danses = this.checkNull(data.itemsByType['danse']);
|
||||
data.data.musiques = this.checkNull(data.itemsByType['musique']);
|
||||
data.data.oeuvres = this.checkNull(data.itemsByType['oeuvre']);
|
||||
data.data.jeux = this.checkNull(data.itemsByType['jeu']);
|
||||
data.data.recettescuisine = this.checkNull(data.itemsByType['recettecuisine']);
|
||||
data.data.recettesAlchimiques = this.checkNull(data.itemsByType['recettealchimique']);
|
||||
data.data.objets = data.data.conteneurs.concat(data.data.materiel).concat(data.data.armes).concat(data.data.armures).concat(data.data.munitions).concat(data.data.livres).concat(data.data.potions).concat(data.data.herbes).concat(data.data.ingredients);
|
||||
static filterItemsPerTypeForSheet(sheetData) {
|
||||
sheetData.data.materiel = this.checkNull(sheetData.itemsByType['objet']);
|
||||
sheetData.data.conteneurs = this.checkNull(sheetData.itemsByType['conteneur']);
|
||||
sheetData.data.armes = this.checkNull(sheetData.itemsByType['arme']);
|
||||
sheetData.data.armures = this.checkNull(sheetData.itemsByType['armure']);
|
||||
sheetData.data.livres = this.checkNull(sheetData.itemsByType['livre']);
|
||||
sheetData.data.potions = this.checkNull(sheetData.itemsByType['potion']);
|
||||
sheetData.data.ingredients = this.checkNull(sheetData.itemsByType['ingredient']);
|
||||
sheetData.data.munitions = this.checkNull(sheetData.itemsByType['munition']);
|
||||
sheetData.data.herbes = this.checkNull(sheetData.itemsByType['herbe']);
|
||||
sheetData.data.sorts = this.checkNull(sheetData.itemsByType['sort']);
|
||||
sheetData.data.queues = this.checkNull(sheetData.itemsByType['queue']);
|
||||
sheetData.data.souffles = this.checkNull(sheetData.itemsByType['souffle']);
|
||||
sheetData.data.ombres = this.checkNull(sheetData.itemsByType['ombre']);
|
||||
sheetData.data.tetes = this.checkNull(sheetData.itemsByType['tete']);
|
||||
sheetData.data.taches = this.checkNull(sheetData.itemsByType['tache']);
|
||||
sheetData.data.monnaie = this.checkNull(sheetData.itemsByType['monnaie']);
|
||||
sheetData.data.meditations = this.checkNull(sheetData.itemsByType['meditation']);
|
||||
sheetData.data.chants = this.checkNull(sheetData.itemsByType['chant']);
|
||||
sheetData.data.danses = this.checkNull(sheetData.itemsByType['danse']);
|
||||
sheetData.data.musiques = this.checkNull(sheetData.itemsByType['musique']);
|
||||
sheetData.data.oeuvres = this.checkNull(sheetData.itemsByType['oeuvre']);
|
||||
sheetData.data.jeux = this.checkNull(sheetData.itemsByType['jeu']);
|
||||
sheetData.data.recettescuisine = this.checkNull(sheetData.itemsByType['recettecuisine']);
|
||||
sheetData.data.recettesAlchimiques = this.checkNull(sheetData.itemsByType['recettealchimique']);
|
||||
sheetData.data.objets = sheetData.data.conteneurs.concat(sheetData.data.materiel)
|
||||
.concat(sheetData.data.armes)
|
||||
.concat(sheetData.data.armures)
|
||||
.concat(sheetData.data.munitions)
|
||||
.concat(sheetData.data.livres)
|
||||
.concat(sheetData.data.potions)
|
||||
.concat(sheetData.data.herbes)
|
||||
.concat(sheetData.data.ingredients);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -352,16 +356,16 @@ export class RdDUtility {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static buildArbreDeConteneur(actorSheet, data) {
|
||||
static buildArbreDeConteneur(actorSheet, sheetData) {
|
||||
actorSheet.objetVersConteneur = {}; // Table de hash locale pour recupération rapide du conteneur parent (si existant)
|
||||
// Attribution des objets aux conteneurs
|
||||
for (let conteneur of data.data.conteneurs) {
|
||||
for (let conteneur of sheetData.data.conteneurs) {
|
||||
conteneur.subItems = [];
|
||||
if (!conteneur.data.encTotal) conteneur.data.encTotal = 0;
|
||||
//conteneur.data.encTotal = ; Deja calculé
|
||||
if (conteneur.data.contenu) {
|
||||
for (let id of conteneur.data.contenu) {
|
||||
let objet = data.data.objets.find(objet => (id == objet._id));
|
||||
let objet = sheetData.data.objets.find(objet => (id == objet._id));
|
||||
if (objet) {
|
||||
if (!objet.data.encombrement) objet.data.encombrement = 0; // Auto-fix
|
||||
objet.estContenu = true; // Permet de filtrer ce qifui est porté dans le template
|
||||
@@ -373,8 +377,8 @@ export class RdDUtility {
|
||||
}
|
||||
}
|
||||
// Construit la liste des conteneurs de niveau 1 (c'est à dire non contenu eux-même dans un conteneur)
|
||||
let newConteneurs = data.data.conteneurs.filter(function (conteneur, index, arr) { return !conteneur.estContenu });
|
||||
data.data.conteneurs = newConteneurs;
|
||||
let newConteneurs = sheetData.data.conteneurs.filter(function (conteneur, index, arr) { return !conteneur.estContenu });
|
||||
sheetData.data.conteneurs = newConteneurs;
|
||||
//console.log(newConteneurs);
|
||||
}
|
||||
|
||||
@@ -406,10 +410,10 @@ export class RdDUtility {
|
||||
static getCategorieCompetences() {
|
||||
return categorieCompetences;
|
||||
}
|
||||
static getLevelCategory(category) {
|
||||
static getCategorieNiveauBase(category) {
|
||||
return categorieCompetences[category].level;
|
||||
}
|
||||
static getLabelCategory(category) {
|
||||
static getCategorieLabel(category) {
|
||||
return categorieCompetences[category].label;
|
||||
}
|
||||
static getCaracArray() {
|
||||
@@ -609,7 +613,7 @@ export class RdDUtility {
|
||||
let compendiumItems = await RdDUtility.loadCompendiumNames(compendium);
|
||||
const pack = game.packs.get(compendium);
|
||||
let list = [];
|
||||
for (let compendiumItem of compendiumItems) {
|
||||
for (let compendiumItem of compendiumItems) {
|
||||
await pack.getDocument(compendiumItem._id).then(it => {
|
||||
const item = it.data;
|
||||
if (filter(item)) {
|
||||
|
||||
Reference in New Issue
Block a user