From 35eafffdf1f72832b5f1d39313c25d103b35c84f Mon Sep 17 00:00:00 2001 From: Kurohyou Date: Mon, 18 Nov 2024 12:41:15 -0700 Subject: [PATCH] SWADE Official: Fixes calculation errors when dropping --- .../SavageWorldsCharSheet.html | 104 +++++++++++------- 1 file changed, 62 insertions(+), 42 deletions(-) diff --git a/Official Savage Worlds/SavageWorldsCharSheet.html b/Official Savage Worlds/SavageWorldsCharSheet.html index eeb01efd671..901eb4634af 100644 --- a/Official Savage Worlds/SavageWorldsCharSheet.html +++ b/Official Savage Worlds/SavageWorldsCharSheet.html @@ -1299,11 +1299,23 @@ }); }); -on("change:staticfighting change:staticpiloting", function(eventInfo) { - let modValue; - eventInfo.newValue === "on" ? (modValue = "0") : (modValue = "-2"); - eventInfo.sourceAttribute === "staticfighting" ? setAttrs({ fightingmod: modValue }) : setAttrs({ pilotingmod: modValue }); -}); +static.forEach(attr => { + on(`change:${attr}`,(event) => { + const baseAttr = attr.replace(/^static/,''); + getAttrs([attr,`${baseAttr}mod`],values => { + const setObj = {}; + if(event.newValue === 'on'){ + setObj[`${baseAttr}mod`] = values[`${baseAttr}mod`] === -2 ? + 0 : + values[`${baseAttr}mod`]; + }else{ + setObj[`${baseAttr}mod`] = -2; + } + + setAttrs(setObj); + }) + }) +}) on("change:showFightingByDefault", function(eventInfo) { let modValue; @@ -3271,6 +3283,12 @@ typeof lookupObj.pace !== 'undefined' ? (finalCharacterDetails['pace'] = lookupObj.pace) : log('Pace', 'Not found', r20color); + // set pace mod + // set parry mod + // set toughness mod + ['pace','parry','tufness'].forEach(attr => { + finalCharacterDetails[`${attr}mod`] = lookupObj[`${attr}mod`] || 0; + }) //set Token and Avatar URLs typeof lookupObj.Token !== 'undefined' ? (finalCharacterDetails['tokenURL'] = lookupObj.Token) @@ -3292,6 +3310,8 @@ //switch character sheet view to mini-view //run dice handling finalCharacterDetails = processAdditionalPHEGs(lookupObj,finalCharacterDetails,monster); + // set toughness armor to override any calculations + finalCharacterDetails.toughnessArmor = lookupObj.toughnessArmor || 0; if (lookupObj.runningDie) { finalCharacterDetails.runningDie = `1d${lookupObj.runningDie}`; } @@ -7650,7 +7670,7 @@

Skills

    + - +
y
@@ -8968,7 +8988,7 @@

Skills

+ - +
y
@@ -9080,7 +9100,7 @@

Skills

+ - +
y
@@ -9197,7 +9217,7 @@

Skills

+ - +
y
@@ -9309,7 +9329,7 @@

Skills

+ - +
y
@@ -9421,7 +9441,7 @@

Skills

+ - +
y
@@ -9533,7 +9553,7 @@

Skills

+ - +
y
@@ -9645,7 +9665,7 @@

Skills

+ - +
y
@@ -9757,7 +9777,7 @@

Skills

+ - +
y
@@ -9869,7 +9889,7 @@

Skills

+ - +
y
@@ -9981,7 +10001,7 @@

Skills

+ - +
y
@@ -10093,7 +10113,7 @@

Skills

+ - +
y
@@ -10205,7 +10225,7 @@

Skills

+ - +
y
@@ -10317,7 +10337,7 @@

Skills

+ - +
y
@@ -10429,7 +10449,7 @@

Skills

+ - +
y
@@ -10541,7 +10561,7 @@

Skills

+ - +
y
@@ -10653,7 +10673,7 @@

Skills

+ - +
y
@@ -10765,7 +10785,7 @@

Skills

+ - +
y
@@ -10877,7 +10897,7 @@

Skills

+ - +
y
@@ -10989,7 +11009,7 @@

Skills

+ - +
y
@@ -11101,7 +11121,7 @@

Skills

+ - +
y
@@ -11213,7 +11233,7 @@

Skills

+ - +
y
@@ -11330,7 +11350,7 @@

Skills

+ - +
y
@@ -11442,7 +11462,7 @@

Skills

+ - +
y
@@ -11554,7 +11574,7 @@

Skills

+ - +
y
@@ -11666,7 +11686,7 @@

Skills

+ - +
y
@@ -11778,7 +11798,7 @@

Skills

+ - +
y
@@ -11890,7 +11910,7 @@

Skills

+ - +
y
@@ -12010,7 +12030,7 @@

Skills

+ - +
y
@@ -12122,7 +12142,7 @@

Skills

+ - +
y
@@ -12239,7 +12259,7 @@

Skills

+ - +
y
@@ -12351,7 +12371,7 @@

Skills

+ - +
y
@@ -12463,7 +12483,7 @@

Skills

+ - +
y
@@ -12575,7 +12595,7 @@

Skills

+ - +
y
@@ -12709,7 +12729,7 @@

Skills

+ - +
y
@@ -14835,7 +14855,7 @@

Additiona

+ - +
y
@@ -15272,7 +15292,7 @@

Parry Conf

+ - +
y