diff --git a/module/actor-sheet.js b/module/actor-sheet.js index d0f05218..ecbbdf66 100644 --- a/module/actor-sheet.js +++ b/module/actor-sheet.js @@ -435,6 +435,10 @@ export class RdDActorSheet extends ActorSheet { this.actor.setPointsDeSeuil(event.currentTarget.value); } ); + html.find('#attribut-protection-edit').change((event) => { + this.actor.updateProtectionValue( event.currentTarget.attributes.name.value, parseInt(event.target.value) ); + } ); + // On stress change html.find('.compteur-edit').change((event) => { let fieldName = event.currentTarget.attributes.name.value; diff --git a/module/actor.js b/module/actor.js index 585a47cf..2707b46d 100644 --- a/module/actor.js +++ b/module/actor.js @@ -528,12 +528,19 @@ export class RdDActor extends Actor { async updateCompteurValue( fieldName, fieldValue ) { //console.log("Update", fieldName, fieldValue); - let content; let compteurs = duplicate(this.data.data.compteurs); compteurs[fieldName].value = fieldValue; await this.update( {"data.compteurs": compteurs } ); } + /* -------------------------------------------- */ + async updateProtectionValue( fieldName, fieldValue ) + { + let attributs = duplicate(this.data.data.attributs); + attributs[fieldName].value = fieldValue; + await this.update( {"data.attributs": attributs } ); + } + /* -------------------------------------------- */ /** Teste si le conteneur de destination a suffisament de capacité * pour recevoir le nouvel objet @@ -1694,7 +1701,8 @@ export class RdDActor extends Actor { this.updateEmbeddedEntity("OwnedItem", update); } } - protection = Math.max(protection - Misc.toInt(arme.data.penetration), 0); + const penetration = arme ? Misc.toInt(arme.data.penetration) : 0; + protection = Math.max(protection - penetration, 0); protection += this.getProtectionNaturelle(); console.log("Final protect", protection); return protection; diff --git a/template.json b/template.json index abf5e47c..a3a9339c 100644 --- a/template.json +++ b/template.json @@ -81,7 +81,7 @@ "protection": { "type": "number", "value": 0, - "label": "Protection", + "label": "Protection naturelle", "derivee": false } } @@ -189,7 +189,7 @@ "protection": { "type": "number", "value": 0, - "label": "Protection", + "label": "Protection naturelle", "derivee": false } }, diff --git a/templates/actor-sheet.html b/templates/actor-sheet.html index 6223eaa5..6ccaff32 100644 --- a/templates/actor-sheet.html +++ b/templates/actor-sheet.html @@ -125,7 +125,13 @@