diff --git a/HeroSystem6eHeroic/HeroSystem6eHeroic.css b/HeroSystem6eHeroic/HeroSystem6eHeroic.css index 1570735a50..d79aa36769 100644 --- a/HeroSystem6eHeroic/HeroSystem6eHeroic.css +++ b/HeroSystem6eHeroic/HeroSystem6eHeroic.css @@ -1852,7 +1852,7 @@ select:focus + .focus { width: 450px; margin: 0px; margin-left: 110px; - margin-bottom: 60px; + margin-bottom: 45px; background-color: #f7f1a0; border: solid 2px #f0c566; border-radius: 3px; diff --git a/HeroSystem6eHeroic/HeroSystem6eHeroic.html b/HeroSystem6eHeroic/HeroSystem6eHeroic.html index 1c50654090..88e246d2ef 100644 --- a/HeroSystem6eHeroic/HeroSystem6eHeroic.html +++ b/HeroSystem6eHeroic/HeroSystem6eHeroic.html @@ -327,7 +327,7 @@

OCV

-

+

@@ -336,7 +336,7 @@

DCV

-

+

@@ -345,7 +345,7 @@

Speed

-

+

@@ -354,7 +354,7 @@

PD

-

+

@@ -363,7 +363,7 @@

ED

-

+

@@ -372,7 +372,7 @@

Body

-

+

@@ -17371,7 +17371,11 @@ // All character attributes added in one function to avoid getAttrs() limitations. // Add attribute costs in one go - getAttrs(["strengthCP","dexterityCP","constitutionCP","intelligenceCP","egoCP","presenceCP","ocvCP","dcvCP","omcvCP","dmcvCP","speedCP","pdCP","edCP","bodyCP","stunCP","enduranceCP","recoveryCP","runningCP","leapingCP","swimmingCP"], function(values) { + getAttrs(["strengthCP", "dexterityCP", "constitutionCP", "intelligenceCP", "egoCP", "presenceCP", "ocvCP", "dcvCP", "omcvCP", "dmcvCP","speedCP", "pdCP", "edCP", "bodyCP", "stunCP", "enduranceCP", "recoveryCP", "runningCP", "leapingCP", "swimmingCP", "useVehicleAttributes", "sizeCP", "primaryReserveCP", "auxiliaryReserveCP"], function(values) { + const isVehicle = (values.useVehicleAttributes === "on" ) ? true : false; + + const sizeCost = parseInt(values.sizeCP)||0; + const strengthCost = parseInt(values.strengthCP)||0; const dexterityCost = parseInt(values.dexterityCP)||0; const constitutionCost = parseInt(values.constitutionCP)||0; @@ -17393,15 +17397,32 @@ const endCost = parseInt(values.enduranceCP)||0; const recCost = parseInt(values.recoveryCP)||0; + const primaryReserveCost = parseInt(values.primaryReserveCP)||0; + const auxiliaryReserveCost = parseInt(values.auxiliaryReserveCP)||0; + const runningCost = parseInt(values.runningCP)||0; const leapingCost = parseInt(values.leapingCP)||0; const swimmingCost = parseInt(values.swimmingCP)||0; - let primaryAttributesCost = strengthCost+dexterityCost+constitutionCost+intelligenceCost+egoCost+presenceCost; - let combatValuesCost = ocvCost+dcvCost+omcvCost+dmcvCost; - let defenseCost = pdCost+edCost; - let healthCost = bodyCost+stunCost+endCost+recCost; - let movementCost = runningCost+leapingCost+swimmingCost; + let primaryAttributesCost = 0; + let combatValuesCost = 0; + let defenseCost = 0; + let healthCost = 0; + let movementCost = 0; + + if (isVehicle) { + primaryAttributesCost = strengthCost+dexterityCost+sizeCost; + combatValuesCost = ocvCost+dcvCost; + defenseCost = pdCost+edCost; + healthCost = bodyCost+primaryReserveCost+auxiliaryReserveCost; + movementCost = runningCost+leapingCost+swimmingCost; + } else { + primaryAttributesCost = strengthCost+dexterityCost+constitutionCost+intelligenceCost+egoCost+presenceCost; + combatValuesCost = ocvCost+dcvCost+omcvCost+dmcvCost; + defenseCost = pdCost+edCost; + healthCost = bodyCost+stunCost+endCost+recCost; + movementCost = runningCost+leapingCost+swimmingCost; + } let characterAttributeCost = primaryAttributesCost+combatValuesCost+speedCost+defenseCost+healthCost+movementCost; @@ -17771,6 +17792,9 @@ } setAttrs(attributes); + + // Update totals + sumCharacteristicPoints(); }); }); @@ -17788,11 +17812,14 @@ let reserveCP = heroRoundLow( (endCost * Math.floor(endValue/4) + recCost * Math.floor(recValue/3))/(1+limValue) ); - // Update cost + // Update cost setAttrs({ "primaryReserveCP": reserveCP, "CurrentPrimaryEND_max": endValue }); + + // Update totals + sumCharacteristicPoints(); }); }); @@ -17807,11 +17834,14 @@ let reserveCP = heroRoundLow( (endCost * Math.ceil(endValue/4) + recCost * Math.ceil(recValue/3))/(1+limValue) ); - // Update cost + // Update cost setAttrs({ "auxiliaryReserveCP": reserveCP, "CurrentAuxiliaryEND_max": endValue }); + + // Update totals + sumCharacteristicPoints(); }); }); @@ -17843,7 +17873,7 @@ "ephemeralOCV": Math.max(0, statValue + statMod) }); - // Update costs + // Update totals sumCharacteristicPoints(); }); }); @@ -17876,7 +17906,7 @@ // Update Defensive Combat Value and hidden attribute currentDCV on("change:dcv change:dcvMod change:weightDexDCVPenalty change:shieldDCV change:shieldCarried change:bonusDCVmodifier change:useCharacteristicMaximums change:optionTakesNoSTUN", function () { - getAttrs(["dcv", "dcvMod", "useCharacteristicMaximums", "weightDexDCVPenalty","shieldDCV", "shieldCarried", "bonusDCVmodifier", "optionTakesNoSTUN"], function(values) { + getAttrs(["dcv", "dcvMod", "useCharacteristicMaximums", "weightDexDCVPenalty", "shieldDCV", "shieldCarried", "bonusDCVmodifier", "optionTakesNoSTUN"], function(values) { const statValue = parseInt(values.dcv)||0; const shieldBonus = parseInt(values.shieldDCV)||0;