From 329b7839da9ff2008cd650358336c8ee3ad881cb Mon Sep 17 00:00:00 2001 From: sladecraven Date: Thu, 6 Oct 2022 18:48:45 +0200 Subject: [PATCH] Fix #112 shield/armors for arc --- modules/pegasus-actor.js | 18 ++++++++++++++---- system.json | 4 ++-- template.json | 14 +++++++++++++- templates/partial-vehicle-arc.html | 12 ++++++++++-- 4 files changed, 39 insertions(+), 9 deletions(-) diff --git a/modules/pegasus-actor.js b/modules/pegasus-actor.js index 2314934..09fd40b 100644 --- a/modules/pegasus-actor.js +++ b/modules/pegasus-actor.js @@ -2531,8 +2531,13 @@ export class PegasusActor extends Actor { for (let loc of __LocationsArmour) { let arcKey = loc + "arc" let arc = duplicate(this.system.arcs[arcKey]) - if (level != Number(arc.shieldlevel)) { - arc.shieldlevel = level + if (level != Number(arc.maxshieldlevel)) { + let lvChanged = level - arc.maxshieldlevel + arc.maxshieldlevel = level + arc.shieldlevel += lvChanged + if ( arc.shieldlevel <= 0 || arc.shieldlevel > level) { + arc.shieldlevel = level + } setTimeout(shift, this.update({ [`system.arcs.${arcKey}`]: arc })) shift += 200 } @@ -2549,8 +2554,13 @@ export class PegasusActor extends Actor { level += Number(armour.system.armourdicevalue) } } - if (level != Number(arc.armourlevel)) { - arc.armourlevel = level + if (level != Number(arc.maxarmourlevel)) { + let lvChanged = level - arc.maxarmourlevel + arc.maxarmourlevel = level + arc.armourlevel += lvChanged + if ( arc.armourlevel <= 0 || arc.armourlevel > arc.maxarmourlevel) { + arc.armourlevel = level + } setTimeout(500, this.update({ [`system.arcs.${arcKey}`]: arc })) } } diff --git a/system.json b/system.json index 08de78a..bc84027 100644 --- a/system.json +++ b/system.json @@ -253,7 +253,7 @@ ], "title": "Pegasus RPG", "url": "https://www.uberwald.me/data/files/fvtt-pegasus-rpg", - "version": "10.1.3", - "download": "https://www.uberwald.me/gitea/uberwald/fvtt-pegasus-rpg/archive/fvtt-pegasus-rpg-v10.1.3.zip", + "version": "10.1.4", + "download": "https://www.uberwald.me/gitea/uberwald/fvtt-pegasus-rpg/archive/fvtt-pegasus-rpg-v10.1.4.zip", "background": "systems/fvtt-pegasus-rpg/images/ui/pegasus_welcome_page.webp" } \ No newline at end of file diff --git a/template.json b/template.json index 9d94999..16f3f1e 100644 --- a/template.json +++ b/template.json @@ -310,6 +310,8 @@ "topspeed": "", "shieldlevel": 0, "armourlevel": 0, + "maxshieldlevel": 0, + "maxarmourlevel": 0, "is3D": false }, "reararc": { @@ -317,13 +319,17 @@ "topspeed": "", "shieldlevel": 0, "armourlevel": 0, - "is3D": false + "maxshieldlevel": 0, + "maxarmourlevel": 0, + "is3D": false }, "rightarc": { "label": "Right Arc", "topspeed": "", "shieldlevel": 0, "armourlevel": 0, + "maxshieldlevel": 0, + "maxarmourlevel": 0, "is3D": false }, "leftarc": { @@ -331,6 +337,8 @@ "topspeed": "", "shieldlevel": 0, "armourlevel": 0, + "maxshieldlevel": 0, + "maxarmourlevel": 0, "is3D": false }, "toparc": { @@ -338,6 +346,8 @@ "topspeed": "", "shieldlevel": 0, "armourlevel": 0, + "maxshieldlevel": 0, + "maxarmourlevel": 0, "is3D": true }, "bottomarc": { @@ -345,6 +355,8 @@ "topspeed": "", "shieldlevel": 0, "armourlevel": 0, + "maxshieldlevel": 0, + "maxarmourlevel": 0, "is3D": true } } diff --git a/templates/partial-vehicle-arc.html b/templates/partial-vehicle-arc.html index 937bf3d..daeae4c 100644 --- a/templates/partial-vehicle-arc.html +++ b/templates/partial-vehicle-arc.html @@ -9,9 +9,15 @@ + + + + + +
  • @@ -31,16 +37,18 @@ {{#select arc.shieldlevel}} {{{@root.optionsDiceList}}} {{/select}} - + + + +