Toujours lutter sur les data

This commit is contained in:
Vincent Vandemeulebrouck
2021-03-09 00:27:09 +01:00
parent ebf4e08766
commit fcec20ed2e
33 changed files with 299 additions and 570 deletions

View File

@@ -294,38 +294,39 @@ export class RdDUtility {
/* -------------------------------------------- */
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);
sheetData.items.materiel = this.checkNull(sheetData.items['objet']);
sheetData.items.conteneurs = this.checkNull(sheetData.items['conteneur']);
sheetData.items.armes = this.checkNull(sheetData.items['arme']);
sheetData.items.armures = this.checkNull(sheetData.items['armure']);
sheetData.items.livres = this.checkNull(sheetData.items['livre']);
sheetData.items.potions = this.checkNull(sheetData.items['potion']);
sheetData.items.ingredients = this.checkNull(sheetData.items['ingredient']);
sheetData.items.munitions = this.checkNull(sheetData.items['munition']);
sheetData.items.herbes = this.checkNull(sheetData.items['herbe']);
sheetData.items.sorts = this.checkNull(sheetData.items['sort']);
sheetData.items.queues = this.checkNull(sheetData.items['queue']);
sheetData.items.souffles = this.checkNull(sheetData.items['souffle']);
sheetData.items.ombres = this.checkNull(sheetData.items['ombre']);
sheetData.items.tetes = this.checkNull(sheetData.items['tete']);
sheetData.items.taches = this.checkNull(sheetData.items['tache']);
sheetData.items.monnaie = this.checkNull(sheetData.items['monnaie']);
sheetData.items.meditations = this.checkNull(sheetData.items['meditation']);
sheetData.items.chants = this.checkNull(sheetData.items['chant']);
sheetData.items.danses = this.checkNull(sheetData.items['danse']);
sheetData.items.musiques = this.checkNull(sheetData.items['musique']);
sheetData.items.oeuvres = this.checkNull(sheetData.items['oeuvre']);
sheetData.items.jeux = this.checkNull(sheetData.items['jeu']);
sheetData.items.recettescuisine = this.checkNull(sheetData.items['recettecuisine']);
sheetData.items.recettesAlchimiques = this.checkNull(sheetData.items['recettealchimique']);
sheetData.items.objets = sheetData.items.conteneurs.concat(sheetData.items.materiel)
.concat(sheetData.items.armes)
.concat(sheetData.items.armures)
.concat(sheetData.items.munitions)
.concat(sheetData.items.livres)
.concat(sheetData.items.potions)
.concat(sheetData.items.herbes)
.concat(sheetData.items.ingredients);
}
/* -------------------------------------------- */
@@ -359,13 +360,13 @@ export class RdDUtility {
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 sheetData.data.conteneurs) {
for (let conteneur of sheetData.items.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 = sheetData.data.objets.find(objet => (id == objet._id));
let objet = sheetData.items.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
@@ -377,8 +378,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 = sheetData.data.conteneurs.filter(function (conteneur, index, arr) { return !conteneur.estContenu });
sheetData.data.conteneurs = newConteneurs;
let newConteneurs = sheetData.items.conteneurs.filter(function (conteneur, index, arr) { return !conteneur.estContenu });
sheetData.items.conteneurs = newConteneurs;
//console.log(newConteneurs);
}
@@ -601,27 +602,16 @@ export class RdDUtility {
}
/* -------------------------------------------- */
static async loadCompendiumNames(compendium) {
static async loadCompendiumData(compendium) {
const pack = game.packs.get(compendium);
let competences;
await pack.getIndex().then(index => competences = index);
let competences = pack.index;
return competences;
}
/* -------------------------------------------- */
static async loadCompendium(compendium, filter = item => true) {
let compendiumItems = await RdDUtility.loadCompendiumNames(compendium);
const pack = game.packs.get(compendium);
let list = [];
for (let compendiumItem of compendiumItems) {
await pack.getDocument(compendiumItem._id).then(it => {
const item = it.data;
if (filter(item)) {
list.push(item);
}
});
};
return list;
let compendiumData = await RdDUtility.loadCompendiumData(compendium);
return compendiumData.filter(filter);
}
/* -------------------------------------------- */