From 63d1c5847b62219af8c8ec197d0d57171569703f Mon Sep 17 00:00:00 2001 From: sladecraven Date: Sun, 13 Nov 2022 10:29:36 +0100 Subject: [PATCH] Fix carac secondaires --- modules/yggdrasill-actor-sheet.js | 4 +-- modules/yggdrasill-actor.js | 52 ++++++++++++++++++++++--------- system.json | 4 +-- 3 files changed, 41 insertions(+), 19 deletions(-) diff --git a/modules/yggdrasill-actor-sheet.js b/modules/yggdrasill-actor-sheet.js index aa54e9b..c494d2a 100644 --- a/modules/yggdrasill-actor-sheet.js +++ b/modules/yggdrasill-actor-sheet.js @@ -14,8 +14,8 @@ export class YggdrasillActorSheet extends ActorSheet { return mergeObject(super.defaultOptions, { classes: ["yggdrasill", "sheet", "actor"], template: "systems/fvtt-yggdrasill/templates/actor-sheet.html", - width: 640, - height: 720, + width: 680, + height: 740, tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "stats" }], dragDrop: [{ dragSelector: ".item-list .item", dropSelector: null }], editScore: false diff --git a/modules/yggdrasill-actor.js b/modules/yggdrasill-actor.js index 5b18820..07d2446 100644 --- a/modules/yggdrasill-actor.js +++ b/modules/yggdrasill-actor.js @@ -193,18 +193,18 @@ export class YggdrasillActor extends Actor { /* -------------------------------------------- */ _preUpdate(changed, options, user) { - if ( changed.data?.caracsecondaire?.pv?.value ) { - if ( changed.data.caracsecondaire.pv.value < 0 ) - changed.data.caracsecondaire.pv.value = 0; - if ( changed.data.caracsecondaire.pv.value > this.system.caracsecondaire.pv.max ) - changed.data.caracsecondaire.pv.value = this.system.caracsecondaire.pv.max; + if ( changed.system?.caracsecondaire?.pv?.value ) { + if ( changed.system.caracsecondaire.pv.value < 0 ) + changed.system.caracsecondaire.pv.value = 0; + if ( changed.system.caracsecondaire.pv.value > this.system.caracsecondaire.pv.max ) + changed.system.caracsecondaire.pv.value = this.system.caracsecondaire.pv.max; } - if ( changed.data?.furor?.value ) { - if ( changed.data.furor.value < 0 ) - changed.data.furor.value = 0; - if ( changed.data.furor.value > this.system.furor.max ) - changed.data.furor.value = this.system.furor.max; + if ( changed.system?.furor?.value ) { + if ( changed.system.furor.value < 0 ) + changed.system.furor.value = 0; + if ( changed.system.furor.value > this.system.furor.max ) + changed.system.furor.value = this.system.furor.max; } super._preUpdate(changed, options, user); } @@ -448,19 +448,41 @@ export class YggdrasillActor extends Actor { } this.system.caracsecondaire.reaction.value = baseesprit.intellect.value + baseesprit.perception.value + baseame.instinct.value; - this.system.caracsecondaire.reaction.max = baseesprit.intellect.value + baseesprit.perception.value + baseame.instinct.value; + let newReac = baseesprit.intellect.value + baseesprit.perception.value + baseame.instinct.value; + if ( newReac != this.system.caracsecondaire.reaction.max) { + this.system.caracsecondaire.reaction.max = newReac + this.update( { 'system.caracsecondaire.reaction.max': newReac }); + } this.system.caracsecondaire.defensephy.value = basecorps.agilite.value + basecorps.vigueur.value + baseame.instinct.value; - this.system.caracsecondaire.defensephy.max = basecorps.agilite.value + basecorps.vigueur.value + baseame.instinct.value; + let newDef = basecorps.agilite.value + basecorps.vigueur.value + baseame.instinct.value; + if ( newDef != this.system.caracsecondaire.defensephy.max) { + this.system.caracsecondaire.defensephy.max = newDef + this.update( { 'system.caracsecondaire.defensephy.max': newDef }); + } this.system.caracsecondaire.defensemen.value = baseesprit.tenacite.value + baseame.instinct.value + baseesprit.intellect.value; - this.system.caracsecondaire.defensemen.max = baseesprit.tenacite.value + baseame.instinct.value + baseesprit.intellect.value; + newDef = baseesprit.tenacite.value + baseame.instinct.value + baseesprit.intellect.value; + if ( newDef != this.system.caracsecondaire.defensemen.max) { + this.system.caracsecondaire.defensemen.max = newDef + this.update( { 'system.caracsecondaire.defensemen.max': newDef }); + } this.system.caracsecondaire.deplacement.value = basecorps.agilite.value + basecorps.vigueur.value; - this.system.caracsecondaire.deplacement.max = basecorps.agilite.value + basecorps.vigueur.value; + let depl = basecorps.agilite.value + basecorps.vigueur.value; + if ( depl != this.system.caracsecondaire.deplacement.max) { + this.system.caracsecondaire.deplacement.max = depl + this.update( { 'system.caracsecondaire.deplacement.max': depl }); + } this.system.caracsecondaire.capaenc.value = (basecorps.puissance.value * 2) + basecorps.vigueur.value; - this.system.caracsecondaire.capaenc.max = (basecorps.puissance.value * 2) + basecorps.vigueur.value; + let enc = (basecorps.puissance.value * 2) + basecorps.vigueur.value; + if ( enc != this.system.caracsecondaire.capaenc.max ) { + this.system.caracsecondaire.capaenc.max = enc + this.update( { 'system.caracsecondaire.capaenc.max': enc }); + } + + //console.log("CARAC SEC", this.system.caracsecondaire) } } diff --git a/system.json b/system.json index 835fe4c..63f7183 100644 --- a/system.json +++ b/system.json @@ -1,7 +1,7 @@ { "title": "Yggdrasill", "description": "Système non-officiel Yggdrasill (7ième Cercle) pour FoundryVTT", - "version": "10.0.2", + "version": "10.0.3", "esmodules": [ "modules/yggdrasill-main.js" ], @@ -196,7 +196,7 @@ "socket": true, "url": "https://www.uberwald.me/gitea/public/fvtt-yggdrasill/", "manifest": "https://www.uberwald.me/gitea/public/fvtt-yggdrasill/raw/branch/v10/system.json", - "download": "https://www.uberwald.me/gitea/public/fvtt-yggdrasill/archive/fvtt-yggdrasill-10.0.2.zip", + "download": "https://www.uberwald.me/gitea/public/fvtt-yggdrasill/archive/fvtt-yggdrasill-10.0.3.zip", "license": "LICENSE.txt", "id": "fvtt-yggdrasill", "authors": [