diff --git a/devNotes/Useful JS Function Documentation.txt b/devNotes/Useful JS Function Documentation.txt index 98e7c10df6a14f87ca524515a19007b57eeda6e4..3c990ca0ac703885fd07e07c9f31a2b7d280d0d8 100644 --- a/devNotes/Useful JS Function Documentation.txt +++ b/devNotes/Useful JS Function Documentation.txt @@ -344,4 +344,6 @@ UtilJS [script] ordinalSuffix(i) - takes a value as an input and then appends the appropriate suffix. e.g.$Day === 1 "today is the <<print ordinalSuffix($Day)>> of the month" would print "today is the 1st of the month" - removeDuplicates() - Takes an array and returns a new array without duplicate entries \ No newline at end of file + removeDuplicates() - Takes an array and returns a new array without duplicate entries + + HSM() - outputs a value based off of the PC's hacking skill. \ No newline at end of file diff --git a/src/SecExp/attackGenerator.tw b/src/SecExp/attackGenerator.tw index be593a973cacd16d11330ea703ef6e0744e125a4..84a1b9eed1d5c77d57dd34612f00215d88529173 100644 --- a/src/SecExp/attackGenerator.tw +++ b/src/SecExp/attackGenerator.tw @@ -131,90 +131,90 @@ <<if $attackType == "raiders">> <<set $attackTroops = random(40,80)>> <<if $week < 30>> - <<set $attackTroops *= random(1,2)>> + <<set $attackTroops *= Math.ceil(random( (1*(2+($week/40))) , (2*(4+($week/30))) ))>> <<elseif $week < 60>> - <<set $attackTroops *= random(1,3)>> + <<set $attackTroops *= Math.ceil(random( (1*(2+($week/40))) , (3*(4+($week/30))) ))>> <<elseif $week < 90>> - <<set $attackTroops *= random(2,3)>> + <<set $attackTroops *= Math.ceil(random( (2*(2+($week/40))) , (3*(4+($week/30))) ))>> <<elseif $week < 120>> - <<set $attackTroops *= random(2,4)>> + <<set $attackTroops *= Math.ceil(random( (2*(2+($week/40))) , (4*(4+($week/30))) ))>> <<else>> - <<set $attackTroops *= random(3,5)>> + <<set $attackTroops *= Math.ceil(random( (3*(2+($week/40))) , (5*(4+($week/30))) ))>> <</if>> <<if $week < 60>> - <<set $attackEquip = random(0,1)>> + <<set $attackEquip = Math.ceil(random( (0, (1*(4+($week/25))>> <<elseif $week < 90>> - <<set $attackEquip = random(0,2)>> + <<set $attackEquip = Math.ceil(random( (0, (2*(4+($week/30))) ))>> <<elseif $week < 120>> - <<set $attackEquip = random(0,3)>> + <<set $attackEquip = Math.ceil(random( (0, (3*(4+($week/30))) ))>> <<else>> - <<set $attackEquip = random(1,3)>> + <<set $attackEquip = Math.ceil(random( (1*(2+($week/40))) , (3*(4+($week/30))) ))>> <</if>> <<elseif $attackType == "free city">> <<set $attackTroops = random(20,40)>> <<if $week < 30>> - <<set $attackTroops *= random(1,2)>> + <<set $attackTroops *= Math.ceil(random( (1*(2+($week/40))) , (2*(4+($week/30))) ))>> <<elseif $week < 60>> - <<set $attackTroops *= random(1,3)>> + <<set $attackTroops *= Math.ceil(random( (1*(2+($week/40))) , (3*(4+($week/30))) ))>> <<elseif $week < 90>> - <<set $attackTroops *= random(2,3)>> + <<set $attackTroops *= Math.ceil(random( (2*(2+($week/40))) , (3*(4+($week/30)))) )>> <<elseif $week < 120>> - <<set $attackTroops *= random(2,4)>> + <<set $attackTroops *= Math.ceil(random( (2*(2+($week/40))) , (4*(4+($week/30)))) )>> <<else>> - <<set $attackTroops *= random(3,5)>> + <<set $attackTroops *= Math.ceil(random( (3*(2+($week/40))) , (5*(4+($week/30))) ))>> <</if>> <<if $week < 60>> - <<set $attackEquip = random(0,1)>> + <<set $attackEquip = Math.ceil(random( (0, (1*(4+($week/30))) ))>> <<elseif $week < 90>> - <<set $attackEquip = random(0,3)>> + <<set $attackEquip = Math.ceil(random( (0, (3*(4+($week/30))) ))>> <<elseif $week < 120>> - <<set $attackEquip = random(1,3)>> + <<set $attackEquip = Math.ceil(random( (1*(2+($week/40))) , (3*(4+($week/30))) ))>> <<else>> - <<set $attackEquip = random(2,4)>> + <<set $attackEquip = Math.ceil(random( (2*(2+($week/40))) , (4*(4+($week/30))) ))>> <</if>> <<elseif $attackType == "old world">> <<set $attackTroops = random(25,50)>> <<if $week < 30>> - <<set $attackTroops *= random(1,2)>> + <<set $attackTroops *= Math.ceil(random( (1*(2+($week/40))) , (2*(4+($week/30))) ))>> <<elseif $week < 60>> - <<set $attackTroops *= random(1,3)>> + <<set $attackTroops *= Math.ceil(random( (1*(2+($week/40))) , (3*(4+($week/30))) ))>> <<elseif $week < 90>> - <<set $attackTroops *= random(2,3)>> + <<set $attackTroops *= Math.ceil(random( (2*(2+($week/40))) , (3*(4+($week/30))) ))>> <<elseif $week < 120>> - <<set $attackTroops *= random(2,4)>> + <<set $attackTroops *= Math.ceil(random( (2*(2+($week/40))) , (4*(4+($week/30))) ))>> <<else>> - <<set $attackTroops *= random(3,5)>> + <<set $attackTroops *= Math.ceil(random( (3*(2+($week/40))) , (5*(4+($week/30))) ))>> <</if>> <<if $week < 60>> - <<set $attackEquip = random(0,1)>> + <<set $attackEquip = Math.ceil(random( (0, (1*(4+($week/30))) ))>> <<elseif $week < 90>> - <<set $attackEquip = random(0,3)>> + <<set $attackEquip = Math.ceil(random( (0, (3*(4+($week/30))) ))>> <<elseif $week < 120>> - <<set $attackEquip = random(1,3)>> + <<set $attackEquip = Math.ceil(random( (1,3*(4+($week/30))) ))>> <<else>> - <<set $attackEquip = random(2,4)>> + <<set $attackEquip = Math.ceil(random( (2*(2+($week/40))) , (4*(4+($week/30))) ))>> <</if>> <<elseif $attackType == "freedom fighters">> <<set $attackTroops = random(30,60)>> <<if $week < 30>> - <<set $attackTroops *= random(1,2)>> + <<set $attackTroops *= Math.ceil(random( (1*(2+($week/40))) , (2*(4+($week/30))) ))>> <<elseif $week < 60>> - <<set $attackTroops *= random(1,3)>> + <<set $attackTroops *= Math.ceil(random( (1*(2+($week/40))) , (3*(4+($week/30))) ))>> <<elseif $week < 90>> - <<set $attackTroops *= random(2,3)>> + <<set $attackTroops *= Math.ceil(random( (2*(2+($week/40))) , (3*(4+($week/30))) ))>> <<elseif $week < 120>> - <<set $attackTroops *= random(2,4)>> + <<set $attackTroops *= Math.ceil(random( (2*(2+($week/40))) , (4*(4+($week/30))) ))>> <<else>> - <<set $attackTroops *= random(3,5)>> + <<set $attackTroops *= Math.ceil(random( (3*(2+($week/40))) , (5*(4+($week/30))) ))>> <</if>> <<if $week < 60>> - <<set $attackEquip = random(0,1)>> + <<set $attackEquip = Math.ceil(random( (0, (1*(4+($week/30))) ))>> <<elseif $week < 90>> - <<set $attackEquip = random(0,3)>> + <<set $attackEquip = Math.ceil(random( (0, (3*(4+($week/30))) ))>> <<elseif $week < 120>> - <<set $attackEquip = random(1,3)>> + <<set $attackEquip = Math.ceil(random( (1*(2+($week/40))) , (3*(4+($week/30))) ))>> <<else>> - <<set $attackEquip = random(2,4)>> + <<set $attackEquip = Math.ceil(random( (2*(2+($week/40))), (4*(4+($week/30))) ))>> <</if>> <</if>> <<set $estimatedMen = Math.round($attackTroops * (1 + either(-1,1) * (random(3,4) - $recon) * 0.1))>> diff --git a/src/SecExp/rebellionGenerator.tw b/src/SecExp/rebellionGenerator.tw index 7fef4f15e5f97037ea0e1b29ab24ccf122db7c6a..11374f05a7e22c1abfe8a314c08d89cbfcf28bf7 100644 --- a/src/SecExp/rebellionGenerator.tw +++ b/src/SecExp/rebellionGenerator.tw @@ -235,15 +235,15 @@ <<set _weekMod = 0.50>> <<if $week <= 30>> - <<set _weekMod = 0.75>> + <<set _weekMod = 0.75 * math.round(1+$week/10)>> <<elseif $week <= 60>> - <<set _weekMod = 1>> + <<set _weekMod = 1 * math.round(1+$week/10)>> <<elseif $week <= 90>> - <<set _weekMod = 1.25>> + <<set _weekMod = 1.25 * math.round(1+$week/10)>> <<elseif $week <= 120>> - <<set _weekMod = 1.50>> + <<set _weekMod = 1.50 * math.round(1+$week/10)>> <<else>> - <<set _weekMod = 1.75>> + <<set _weekMod = 1.75 * math.round(1+$week/10)>> <</if>> /* resetting ID list */ diff --git a/src/SpecialForce/SpecialForce.js b/src/SpecialForce/SpecialForce.js index 494ebcdb5b419ae70987e723db24be72532b38bf..337a2eb1d9548cde226232d8c9ca95020d6e8fc0 100644 --- a/src/SpecialForce/SpecialForce.js +++ b/src/SpecialForce/SpecialForce.js @@ -36,22 +36,6 @@ window.SFUpgradeCost = function(cost,unit) { return Math.ceil(value); }; -window.HSM = function() { - const V = State.variables; - if (V.PC.hacking <= -100) {return 1.5;} - else if (V.PC.hacking <= -75) {return 1.35;} - else if (V.PC.hacking <= -50) {return 1.25;} - else if (V.PC.hacking <= -25) {return 1.15;} - else if (V.PC.hacking < 0) {return 1.10;} - else if (V.PC.hacking === 0) {return 1;} - else if (V.PC.hacking <= 10) {return 0.97;} - else if (V.PC.hacking <= 25) {return 0.95;} - else if (V.PC.hacking <= 50) {return 0.90;} - else if (V.PC.hacking <= 75) {return 0.85;} - else if (V.PC.hacking <= 100) {return 0.80;} - else {return 0.75;} -}; - window.Count = function() { const V=State.variables, T=State.temporary, C=Math.clamp, S=V.SF.Squad, E=V.economy; T.SFF=V.SF.Facility.Active; diff --git a/src/js/utilJS.js b/src/js/utilJS.js index 0e9ed708c54704484c003c24619aca8f1efafbd7..da8d72d23ba55adcbc08992c9d922ccbae42646e 100644 --- a/src/js/utilJS.js +++ b/src/js/utilJS.js @@ -1257,3 +1257,19 @@ window.originPronounReplace = /** @param {App.Entity.SlaveState} slave */ functi return r; } }; + +window.HSM = function() { + const V = State.variables; + if (V.PC.hacking <= -100) {return 1.5;} + else if (V.PC.hacking <= -75) {return 1.35;} + else if (V.PC.hacking <= -50) {return 1.25;} + else if (V.PC.hacking <= -25) {return 1.15;} + else if (V.PC.hacking < 0) {return 1.10;} + else if (V.PC.hacking === 0) {return 1;} + else if (V.PC.hacking <= 10) {return 0.97;} + else if (V.PC.hacking <= 25) {return 0.95;} + else if (V.PC.hacking <= 50) {return 0.90;} + else if (V.PC.hacking <= 75) {return 0.85;} + else if (V.PC.hacking <= 100) {return 0.80;} + else {return 0.75;} +}; \ No newline at end of file diff --git a/src/pregmod/seFCTVshows.tw b/src/pregmod/seFCTVshows.tw index 2439602d80748bb9dfc66837846f6aaf927352fd..87de7cbf022a917d2406480a52e9799fa5a68a82 100644 --- a/src/pregmod/seFCTVshows.tw +++ b/src/pregmod/seFCTVshows.tw @@ -27,8 +27,8 @@ Tired after a long day, you tell <<if $Concubine != 0>>@@.pink;$Concubine.slaveName@@<<else>>$assistantName<</if>> to turn on the TV and set FCTV to random show. Your larger-than-life screen flashes on, and is soon playing a random show from the popular streaming service. /* we need to check for pansy no-extreme squick stuff */ -<<if $minimumSlaveAge > 13 && $randShow == 14>> - <<set $randShow = either(0,1,2,3,4,5,6,7,8,9,10,11,12,13)>> +<<if $minimumSlaveAge > 13 && ($randShow == 12 || $randShow == 14)>> + <<set $randShow = either(0,1,2,3,4,5,6,7,8,9,10,11,13)>> There is an audible tone from your screen, which then displays a message: <i>Actor not vintage enough, changing program.</i> <</if>> <<if $seeExtreme == 0 && $randShow == 10>> diff --git a/src/uncategorized/storyCaption.tw b/src/uncategorized/storyCaption.tw index a0256f5a148ce5b902d9d2d246d73eee871f44f0..c6dc225865c7e81aea363a267210dcc5c6c1ae77 100644 --- a/src/uncategorized/storyCaption.tw +++ b/src/uncategorized/storyCaption.tw @@ -688,7 +688,7 @@ <br><span id="manageArcology"><<link "Manage Arcology">><<set $nextButton = "Back", $nextLink = _Pass>><<goto "Manage Arcology">><</link>></span> @@.cyan;[C]@@ <br><span id="managePenthouse"><<link "Manage Penthouse">><<set $nextButton = "Back", $nextLink = _Pass>><<goto "Manage Penthouse">><</link>></span> @@.cyan;[P]@@ <br><span id="managePerson"><<link "Manage Personal Affairs">><<set $nextButton = "Back", $nextLink = _Pass>><<goto "Manage Personal Affairs">><</link>></span> @@.cyan;[X]@@ - <<if $corpAnnounced == 1>><br><span id="manageCorporation"><<link "Manage Corporation">><<set $nextButton = "Back", $nextLink = _Pass>><<goto "Manage Corporation">><</link>><<if ($corpSpecToken > 0)>>@@.yellow;[!]@@<</if>></span><</if>> + <<if $corpAnnounced == 1>><br><span id="manageCorporation"><<link "Manage Corporation">><<set $nextButton = "Back", $nextLink = _Pass>><<goto "Manage Corporation">><</link>><<if ($corpSpecToken > 0) && ($corpSpecTimer == 0)>>@@.yellow;[!]@@<</if>></span><</if>> <<if $secExp == 1>> <<if $propHub == 1>> <br><span id="propHub"><<link "Manage PR">><<set $nextButton = "Back", $nextLink = _Pass>><<goto "propagandaHub">><</link>></span> @@.cyan;[Shift+H]@@