Merge pull request #10678 from Jesstar/fix_armordef

[Star Wars Saga Edition] Bug fix on armor def check box
This commit is contained in:
Nic Bradley
2022-06-14 10:26:14 -07:00
committed by GitHub
+30 -22
View File
@@ -3739,35 +3739,43 @@ var ArmorPerception = function() {
var ArmorUpdate = function() {
getAttrs(["ArmorWornCheck", "ArmorDefense", "ImpArmorDefense", "ArmorProf", "ArmorRef", "level", "ArmorType", "ArmorDex", "DEX", "RefMod"], function(v) {
/* console.log("ArmorWornCheck = " + v["ArmorWornCheck"] + '\n' +
"ArmorDefense = " + v["ArmorDefense"] + '\n' +
"ImpArmorDefense = " + v["ImpArmorDefense"] + '\n' +
"ArmorProf = " + v["ArmorProf"] + '\n' +
"ArmorType = " + v["ArmorType"] ); */
let ArmorWornCheck = parseInt(v.ArmorWornCheck)||0;
let ArmorDefense = parseInt(v.ArmorDefense)||0;
let ImpArmorDefense = parseInt(v.ImpArmorDefense)||0;
let ArmorProf = parseInt(v.ArmorProf)||0;
let ArmorRef = parseInt(v.ArmorRef)||0;
let level = parseInt(v.level)||0;
let ArmorType = v.ArmorType;
let ArmorDex = parseInt(v.ArmorDex)||0;
let DEX = parseInt(v.DEX)||0;
let RefMod = parseInt(v.RefMod)||0;
/* console.log("ArmorWornCheck = " + ArmorWornCheck + '\n' +
"ArmorDefense = " + ArmorDefense + '\n' +
"ImpArmorDefense = " + ImpArmorDefense + '\n' +
"ArmorProf = " + ArmorProf + '\n' +
"ArmorType = " + ArmorType ); */
//Defenses
ImpArmorDefense = parseInt(v["level"]) + Math.floor(parseInt(v["ArmorRef"]/ 2))
if (v["ArmorProf"] == "0") {setAttrs({"ArmorDefense": "0", "ImpArmorDefense": "0" });}
ImpArmorDefenseBonus = level + Math.floor(ArmorRef/ 2)
if (ArmorProf == "0") {setAttrs({"ArmorDefense": "0", "ImpArmorDefense": "0" });}
if(v["ArmorWornCheck"] == "1") { //If Armor is being Worn
if(ArmorWornCheck == "1") { //If Armor is being Worn
setAttrs({"ArmorCarry": "1"}); // Armor is Carried
if(v["ArmorProf"] == "1") { //if Proficient
if(ArmorProf == "1") { //if Proficient
armorFortitude = "@{level}+@{ArmorFort}"
armorPenalty = "0";
if(v["ArmorDefense"] != "1" ) {
if(ArmorDefense != 1 ) {
armorReflex = "@{ArmorRef}";
setAttrs({ "ImpArmorDefense": "0" });
}
else if(v["ArmorDefense"] == "1" && v["ImpArmorDefense"] != "1"){
else if(ArmorDefense == 1 && ImpArmorDefense != 1){
console.log("==== Armored Defense ====");
if (v["ArmorRef"] > v["level"] ) {armorReflex = "@{ArmorRef}"; console.log("== Armor Ref (" + v["ArmorRef"] +") > level ("+ v["level"]+") ==");}
else {armorReflex = "@{level}"; console.log("== Level ("+ v["level"]+") >= Armor Ref (" + v["ArmorRef"] +") ==");}
}
else if(v["ImpArmorDefense"] == "1") {
if (ArmorRef > level ) {armorReflex = "@{ArmorRef}"; console.log("== Armor Ref (" + ArmorRef +") > level ("+ level +") ==");}
else {armorReflex = "@{level}"; console.log("== Level ("+ level +") >= Armor Ref (" + ArmorRef +") ==");}
}
else if(ImpArmorDefense == 1) {
console.log("==== Improved Armored Defense ====");
if (ImpArmorDefense >= v["ArmorRef"]) {armorReflex = "@{level}+floor(@{ArmorRef}/2)"; console.log("== ImpArmorDefense (" + ImpArmorDefense +") > ArmorRef ("+ v["ArmorRef"]+") ==");}
else {armorReflex = "@{ArmorRef}"; console.log("== ImpArmorDefense (" + ImpArmorDefense +") < ArmorRef ("+ v["ArmorRef"]+") ==");}
if (ImpArmorDefenseBonus >= ArmorRef) {armorReflex = "@{level}+floor(@{ArmorRef}/2)"; console.log("== ImpArmorDefense (" + ImpArmorDefenseBonus +") > ArmorRef ("+ ArmorRef +") ==");}
else {armorReflex = "@{ArmorRef}"; console.log("== ImpArmorDefense (" + ImpArmorDefense +") < ArmorRef ("+ ArmorRef +") ==");}
}
else {armorReflex = "@{level}"}
}
@@ -3808,15 +3816,15 @@ var ArmorUpdate = function() {
//Determine which Dex mod to use
dexMod = Math.floor((parseInt(v["DEX"],10) - 10) / 2);
console.log("==== Dex Mod for Defenses ====");
if(v["ArmorWornCheck"] == "1" && (v["RefMod"] == "@{dex|max}" || v["RefMod"] == "@{ArmorDex}") && v["ArmorDex"] >= dexMod) {
if(ArmorWornCheck == "1" && (v["RefMod"] == "@{dex|max}" || v["RefMod"] == "@{ArmorDex}") && v["ArmorDex"] >= dexMod) {
console.log("== Armor Dex ("+v["ArmorDex"]+") >= DexMod ("+dexMod+") ==" + '\n' + "RefMod = @{dex|max}");
setAttrs({"RefMod": "@{dex|max}"});
}
else if(v["ArmorWornCheck"] == "1" && (v["RefMod"] == "@{dex|max}" || v["RefMod"] == "@{ArmorDex}") && v["ArmorDex"] < dexMod) {
else if(ArmorWornCheck == "1" && (v["RefMod"] == "@{dex|max}" || v["RefMod"] == "@{ArmorDex}") && v["ArmorDex"] < dexMod) {
console.log("== Armor Dex ("+v["ArmorDex"]+") < DexMod ("+dexMod+") ==" + '\n' + "RefMod = @{ArmorDex}");
setAttrs({"RefMod": "@{ArmorDex}"});
}
else if(v["ArmorWornCheck"] != "1" && v["RefMod"] == "@{ArmorDex}") {console.log("RefMod = @{dex|max}");
else if(ArmorWornCheck != "1" && v["RefMod"] == "@{ArmorDex}") {console.log("RefMod = @{dex|max}");
setAttrs({"RefMod": "@{dex|max}"});
}
else{console.log("== NO OPTIONS ==" + '\n' + "dexmod = " +dexMod + '\n' + "ArmorDex = " +v["ArmorDex"] + "\nRefMod = " + v["RefMod"]);}