diff --git a/module/actor.js b/module/actor.js index cf2e7184..73f8ef0d 100644 --- a/module/actor.js +++ b/module/actor.js @@ -705,11 +705,17 @@ export class RdDActor extends Actor { } /* -------------------------------------------- */ - computeEncombrementTotal( ) { + computeEncombrementTotal( ) { let totalEnc = 0; for (const item of this.data.items) { - if ( item.data && item.data.encombrement ) { // Enc value filtering - totalEnc += Number(item.data.encombrement) * Number(((item.data.quantite)?item.data.quantite:1)); + if ( item.data && item.data.encombrement != undefined ) { + if ( !Number(item.data.encombrement) ) item.data.encombrement = 0; // Auto-fix + if (!item.data.quantite) item.data.quantite = 1; // Auto-fix + item.data.encTotal = Number(item.data.encombrement) * Number(item.data.quantite); + //console.log("Enc:", item.name, item.data.encombrement, item.data.quantite, item.data.encTotal); + totalEnc += item.data.encTotal; + } else { + item.data.encTotal = 0; // Force default enc } } this.encombrementTotal = totalEnc; diff --git a/module/rdd-utility.js b/module/rdd-utility.js index 7ab7f419..8832296d 100644 --- a/module/rdd-utility.js +++ b/module/rdd-utility.js @@ -209,14 +209,16 @@ export class RdDUtility { // Attribution des objets aux conteneurs for (let conteneur of data.data.conteneurs) { conteneur.subItems = []; - conteneur.encTotal = 0; + 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) ); if (objet) { - objet.estContenu = true; // Permet de filtrer ce qui est porté dans le template + if (!objet.data.encombrement) objet.data.encombrement = 0; // Auto-fix + objet.estContenu = true; // Permet de filtrer ce qifui est porté dans le template actorSheet.objetVersConteneur[id] = conteneur._id; - conteneur.encTotal += objet.data.encombrement * ((objet.data.quantite)?objet.data.quantite:1); + conteneur.data.encTotal += Number(objet.data.encombrement) * Number(((objet.data.quantite)?objet.data.quantite:1)); conteneur.subItems.push( objet ); } } @@ -235,11 +237,11 @@ export class RdDUtility { if (!niveau) niveau = 1; let str = Handlebars.partials['systems/foundryvtt-reve-de-dragon/templates/actor-inventaire-conteneur.html']( { item: objet} ); if (objet.type == 'conteneur') { - str = str + "