diff --git a/HeroSystem6eHeroic/HeroSystem6eHeroic.html b/HeroSystem6eHeroic/HeroSystem6eHeroic.html index 8e760a1e04..0868f396f5 100644 --- a/HeroSystem6eHeroic/HeroSystem6eHeroic.html +++ b/HeroSystem6eHeroic/HeroSystem6eHeroic.html @@ -15984,7 +15984,7 @@
- +
@@ -24785,7 +24785,7 @@ // Character upgrades and portrait assignment on("sheet:opened", async function() { let attributes = {sheetTab:"characteristics"}; - + // Fetch just what is needed to determine the version let values = await _getAttrs(["version", "totalCharacterCost", "validateMay23", "character_name", "character_avatar"]); let name = values.character_name; @@ -24840,38 +24840,15 @@ theNumberOfD3 = 1; } - var hiddenDamage = theNumberOfD6.concat("d6+",theNumberOfD3.toString(),"d3"); - - attributes.hiddenBasicDamage = hiddenDamage; + attributes.hiddenBasicDamage = theNumberOfD6.concat("d6+",theNumberOfD3.toString(),"d3"); // Update martial maneuver text CVs to integers. - attributes.martialManeuverOCV01 = parseInt(values.martialManeuverOCV01)||0; - attributes.martialManeuverDCV01 = parseInt(values.martialManeuverDCV01)||0; - - attributes.martialManeuverOCV02 = parseInt(values.martialManeuverOCV02)||0; - attributes.martialManeuverDCV02 = parseInt(values.martialManeuverDCV02)||0; - - attributes.martialManeuverOCV03 = parseInt(values.martialManeuverOCV03)||0; - attributes.martialManeuverDCV03 = parseInt(values.martialManeuverDCV03)||0; - - attributes.martialManeuverOCV04 = parseInt(values.martialManeuverOCV04)||0; - attributes.martialManeuverDCV04 = parseInt(values.martialManeuverDCV04)||0; - - attributes.martialManeuverOCV05 = parseInt(values.martialManeuverOCV05)||0; - attributes.martialManeuverDCV05 = parseInt(values.martialManeuverDCV05)||0; - - attributes.martialManeuverOCV06 = parseInt(values.martialManeuverOCV06)||0; - attributes.martialManeuverDCV06 = parseInt(values.martialManeuverDCV06)||0; - - attributes.martialManeuverOCV07 = parseInt(values.martialManeuverOCV07)||0; - attributes.martialManeuverDCV07 = parseInt(values.martialManeuverDCV07)||0; - - attributes.martialManeuverOCV08 = parseInt(values.martialManeuverOCV08)||0; - attributes.martialManeuverDCV08 = parseInt(values.martialManeuverDCV08)||0; - - attributes.martialManeuverOCV09 = parseInt(values.martialManeuverOCV09)||0; - attributes.martialManeuverDCV09 = parseInt(values.martialManeuverDCV09)||0; - attributes.martialManeuverDamage09 = hiddenDamage; + for (let i=1; i<=9; i++) { + ID = String(i).padStart(2,'0'); + + attributes["martialManeuverOCV"+ID] = parseInt(values["martialManeuverOCV"+ID])||0; + attributes["martialManeuverDCV"+ID] = parseInt(values["martialManeuverDCV"+ID])||0; + } // Update perception roll chances. statValue = parseInt(values.intelligence)||10; @@ -24966,24 +24943,21 @@ // Update martial maneuver selections and starting weapon states. values = await _getAttrs(["martialManeuverBlock01", "martialManeuverBlock02", "martialManeuverBlock03", "martialManeuverBlock04", "martialManeuverBlock05", "martialManeuverBlock06", "martialManeuverBlock07", "martialManeuverBlock08", "martialManeuverBlock09", "martialManeuverBlock10", "weaponNormalDamage01", "weaponNormalDamage02", "weaponNormalDamage03", "weaponNormalDamage04", "weaponNormalDamage05", "weaponNormalDamage06"]); - let maneuverId; let states = "DDDDDDOOOOOO"; for (let i=1; i<=maxManeuverNum; i++) { - maneuverId = String(i).padStart(2,'0'); - if (values["martialManeuverBlock"+maneuverId] === "on") { - attributes["martialManeuverType"+maneuverId] = "block"; + ID = String(i).padStart(2,'0'); + if (values["martialManeuverBlock"+ID] === "on") { + attributes["martialManeuverType"+ID] = "block"; } else { - attributes["martialManeuverType"+maneuverId] = "attack"; + attributes["martialManeuverType"+ID] = "attack"; } } - attributes.weaponType01 = "defense"; - attributes.weaponType02 = "defense"; - attributes.weaponType03 = "defense"; - attributes.weaponType04 = "defense"; - attributes.weaponType05 = "defense"; - attributes.weaponType06 = "defense"; + for (let i=1; i<=6; i++) { + ID = String(i).padStart(2,'0'); + attributes["weaponType"+ID] = "defense"; + } attributes.gearSlideSelection = "gearTreasures"; attributes.maneuverSelection = "block"; @@ -25014,7 +24988,7 @@ let newId; let oldId; - for (let i=31; i<= 37; i++) { + for (let i=31; i<=37; i++) { oldId = String(i).padStart(2,'0'); newId = String(i+30).padStart(2,'0'); @@ -25064,25 +25038,22 @@ if (version < 4.10) { values = await _getAttrs(["weaponNormalDamage01", "weaponNormalDamage02", "weaponNormalDamage03", "weaponNormalDamage04", "weaponNormalDamage05", "weaponNormalDamage06", "weaponNormalDamage11", "weaponNormalDamage12", "weaponNormalDamage13", "weaponNormalDamage14", "weaponNormalDamage15", "weaponNormalDamage16"]); - let weaponId = ""; - // Update weapons and the shield. for (let i=1; i<=6; i++) { - weaponId = String(i).padStart(2,'0'); - attributes["weaponDamageType"+weaponId] = (values["weaponNormalDamage"+weaponId] === "on") ? "normal" : "killing"; + ID = String(i).padStart(2,'0'); + attributes["weaponDamageType"+ID] = (values["weaponNormalDamage"+ID] === "on") ? "normal" : "killing"; } for (let i=11; i<=15; i++) { - weaponId = String(i).padStart(2,'0'); - attributes["weaponDamageType"+weaponId] = (values["weaponNormalDamage"+weaponId] === "on") ? "normal" : "killing"; + ID = String(i).padStart(2,'0'); + attributes["weaponDamageType"+ID] = (values["weaponNormalDamage"+ID] === "on") ? "normal" : "killing"; } version = 4.10; } - if (version < 4.53) { + if (version < 4.60) { - let powerID = ""; let isEmpty; let isFramework; let isAttack; @@ -25090,36 +25061,30 @@ let usesEND; for (let i=1; i<=20; i++) { - powerId = String(i).padStart(2,'0'); + ID = String(i).padStart(2,'0'); - values = await _getAttrs(["powerEffect"+powerId, "powerType"+powerId, "powerAttack"+powerId, "powerActivate"+powerId, "powerReducedEND"+powerId]); + values = await _getAttrs(["powerEffect"+ID, "powerType"+ID, "powerAttack"+ID, "powerActivate"+ID, "powerReducedEND"+ID]); - isEmpty = ( (values["powerEffect"+powerId]).toLowerCase().replace(/\s/g, '') !== '') ? false : true; - isFramework = ( (values["powerType"+powerId] === "multipower") || (values["powerType"+powerId] === "powerPool") || (values["powerType"+powerId] === "powerControl") ) ? true : false; - isAttack = (values["powerAttack"+powerId] === "on") ? true : false; - hasActivation = (values["powerActivate"+powerId] === "on") ? true : false; - usesEND = ( (values["powerReducedEND"+powerId] === "noEND") || (values["powerReducedEND"+powerId] === "zeroEND") || (values["powerReducedEND"+powerId] === "zeroENDAF") ) ? false : true; + isEmpty = ( (values["powerEffect"+ID]).toLowerCase().replace(/\s/g, '') !== '') ? false : true; + isFramework = ( (values["powerType"+ID] === "multipower") || (values["powerType"+ID] === "powerPool") || (values["powerType"+ID] === "powerControl") ) ? true : false; + isAttack = (values["powerAttack"+ID] === "on") ? true : false; + hasActivation = (values["powerActivate"+ID] === "on") ? true : false; + usesEND = ( (values["powerReducedEND"+ID] === "noEND") || (values["powerReducedEND"+ID] === "zeroEND") || (values["powerReducedEND"+ID] === "zeroENDAF") ) ? false : true; if (isEmpty || isFramework) { - attributes["powerAction"+powerId] = "none"; + attributes["powerAction"+ID] = "none"; } else if ( (isAttack || hasActivation ) && usesEND) { - attributes["powerAction"+powerId] = "all"; + attributes["powerAction"+ID] = "all"; } else if (isAttack || hasActivation) { - attributes["powerAction"+powerId] = "roll"; + attributes["powerAction"+ID] = "roll"; } else if (usesEND) { - attributes["powerAction"+powerId] = "end"; + attributes["powerAction"+ID] = "end"; } else { - attributes["powerAction"+powerId] = "none"; + attributes["powerAction"+ID] = "none"; } } - version = 4.53; - } - - if (version < 4.54) { - - version = 4.54; - + version = 4.60; } if (version != origVersion) {