From dca4e2804446074eafc59236fa6f5e6af3af2504 Mon Sep 17 00:00:00 2001 From: sladecraven Date: Fri, 27 Nov 2020 09:40:48 +0100 Subject: [PATCH] #45 : Verification encombrement et amelioration --- module/actor.js | 12 +++++++++--- module/rdd-utility.js | 12 +++++++----- styles/simple.css | 20 ++++++++++++++++++-- system.json | 2 +- templates/actor-inventaire-conteneur.html | 3 +-- templates/actor-sheet.html | 9 ++++----- 6 files changed, 40 insertions(+), 18 deletions(-) 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 + "
    "; + str = str + "
"; + str = str + ""; } return new Handlebars.SafeString(str); } diff --git a/styles/simple.css b/styles/simple.css index a2d18d65..b1930b6b 100644 --- a/styles/simple.css +++ b/styles/simple.css @@ -497,7 +497,6 @@ ul, li { .blessures-list ul { display: flex; } - .blessures-list li { flex: 1; flex-basis: auto; @@ -509,7 +508,6 @@ ul, li { padding: 0.5rem; cursor: pointer; } - .carac-label { font-weight: bold; } @@ -520,6 +518,24 @@ ul, li { padding: 0.125rem; flex: 1 1 5rem; } + +.item-quantite { + margin-left: 0.5rem; +} + +.list-item-margin1 { + margin-left: 1rem; +} +.list-item-margin2 { + margin-left: 2rem; +} +.list-item-margin3 { + margin-left: 3rem; +} +.list-item-margin4 { + margin-left: 4rem; +} + .sheet-competence-img { width: 24px; height: 24px; diff --git a/system.json b/system.json index 1baa7d67..b5855522 100644 --- a/system.json +++ b/system.json @@ -2,7 +2,7 @@ "name": "foundryvtt-reve-de-dragon", "title": "Rêve de Dragon", "description": "Rêve de Dragon RPG for FoundryVTT", - "version": "0.9.90", + "version": "0.9.91", "minimumCoreVersion": "0.7.5", "compatibleCoreVersion": "0.7.6", "templateVersion": 48, diff --git a/templates/actor-inventaire-conteneur.html b/templates/actor-inventaire-conteneur.html index d2746fdc..b60ae252 100644 --- a/templates/actor-inventaire-conteneur.html +++ b/templates/actor-inventaire-conteneur.html @@ -1,9 +1,8 @@
  • {{item.name}}

    - {{#if item.data.quantite}}

    {{item.data.quantite}}

    - {{/if}} +

    {{numberFormat item.data.encTotal decimals=2}}

    diff --git a/templates/actor-sheet.html b/templates/actor-sheet.html index 29d3d71b..302ee0c4 100644 --- a/templates/actor-sheet.html +++ b/templates/actor-sheet.html @@ -563,9 +563,8 @@
  • {{item.name}}

    - {{#if item.data.quantite}}

    {{item.data.quantite}}

    - {{/if}} +

    {{numberFormat item.data.encTotal decimals=2}}

    {{#if item.data.equipe}}{{else}}{{/if}} @@ -575,9 +574,9 @@ {{/if}} {{/unless}} {{/each}} - {{#each data.conteneurs as |conteneur id|}} - {{buildConteneur this}} - {{/each}} + {{#each data.conteneurs as |conteneur id|}} + {{buildConteneur this}} + {{/each}}