diff --git a/module/actor-sheet.js b/module/actor-sheet.js index 9fe71841..7010f44f 100644 --- a/module/actor-sheet.js +++ b/module/actor-sheet.js @@ -105,21 +105,27 @@ export class RdDActorSheet extends ActorSheet { // low is normal, this the base used to compute the grid. data.data.fatigueHTML = "" + RdDUtility.makeHTMLfatigueMatrix( data.data.sante.fatigue.value, data.data.sante.endurance.max ).html() + "
"; - data.data.materiel = this._checkNull(data.itemsByType['objet']); - 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['potions']); - data.data.herbes = this._checkNull(data.itemsByType['herbes']); - 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.materiel = this._checkNull(data.itemsByType['objet']); + data.data.conteneur = 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['potions']); + data.data.ingredients = this._checkNull(data.itemsByType['ingredient']); + data.data.munitions = this._checkNull(data.itemsByType['munition']); + data.data.herbes = this._checkNull(data.itemsByType['herbes']); + 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.objets = 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); data.data.competenceByCategory = data.competenceByCategory; data.data.isGM = game.user.isGM; data.bonusmalusTable = CONFIG.RDD.bonusmalus; + this.actor.computeEncombrementTotal(); + return data; } @@ -130,6 +136,12 @@ export class RdDActorSheet extends ActorSheet { new RdDEncaisser(html, this.actor ).render(true); } + /* -------------------------------------------- */ + async _onDrop(event) { + super._onDrop(event) + this.actor.computeEncombrementTotal(); + + } /* -------------------------------------------- */ /** @override */ activateListeners(html) { diff --git a/module/actor.js b/module/actor.js index 333d1179..1bc518b0 100644 --- a/module/actor.js +++ b/module/actor.js @@ -367,6 +367,17 @@ export class RdDActor extends Actor { await this.update( {"data.compteurs": compteurs } ); } + /* -------------------------------------------- */ + 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); + } + } + console.log("Enc total : ", totalEnc); + } + /* -------------------------------------------- */ computeEtatGeneral( ) { @@ -780,12 +791,10 @@ export class RdDActor extends Actor { { let item = this.getOwnedItem(itemID); if ( item && item.data.data ) { - console.log(item); - //let update = duplicate(item); let update = {_id: item._id, "data.equipe": !item.data.data.equipe }; - //update.data.equipe = !update.data.equipe; //console.log(update); await this.updateEmbeddedEntity("OwnedItem", update); + this.computeEncombrementTotal(); // Mise à jour encombrement } } diff --git a/system.json b/system.json index ee77dc9d..4837a2c2 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.29", + "version": "0.9.30", "minimumCoreVersion": "0.7.5", "compatibleCoreVersion": "0.7.6", "templateVersion": 41, diff --git a/templates/actor-sheet.html b/templates/actor-sheet.html index 2c9fb64b..1aa7c889 100644 --- a/templates/actor-sheet.html +++ b/templates/actor-sheet.html @@ -447,7 +447,46 @@ {{/each}} - +
    + {{#each data.conteneur as |item id|}} +
  1. + +

    {{item.name}}

    + +
  2. + {{/each}} +
+
    + {{#each data.materiel as |item id|}} +
  1. + +

    {{item.name}}

    + +
  2. + {{/each}} +
+
    + {{#each data.livres as |item id|}} +
  1. + +

    {{item.name}}

    + +
  2. + {{/each}} +
+ {{!-- Biography Tab --}}