diff --git a/src/SecExp/SecExpBackwardCompatibility.tw b/src/SecExp/SecExpBackwardCompatibility.tw index 0b69f5c5cb6180df0978eaa336aa0f30cc08b258..3ee639f803ff010ce945534765d2165f8925cbd5 100644 --- a/src/SecExp/SecExpBackwardCompatibility.tw +++ b/src/SecExp/SecExpBackwardCompatibility.tw @@ -103,6 +103,12 @@ <<if ndef $allowPrestigeFromBattles>> <<set $allowPrestigeFromBattles = 1>> <</if>> +<<if ndef $battleFrequency>> +<<set $battleFrequency = 1>> +<</if>> +<<if ndef $rebellionSpeed>> +<<set $rebellionSpeed = 1>> +<</if>> /* edicts */ <<if ndef $edictsUpkeep>> diff --git a/src/SecExp/attackGenerator.tw b/src/SecExp/attackGenerator.tw index e1ff70090df0406f800fc7cce49e4fbd2bc058b2..f8269dbb4f4eeb2734a1b61ebc662dd2cc830035 100644 --- a/src/SecExp/attackGenerator.tw +++ b/src/SecExp/attackGenerator.tw @@ -16,13 +16,15 @@ <<else>> <<set _attackChance =20>> <</if>> - <<if $lastAttackWeeks >= 15>> - <<set _attackChance += 5>> - <</if>> <<if $hasFoughtOnce == 1>> <<set _attackChance = 25>> <</if>> + <<if $lastAttackWeeks >= 10>> + <<set _attackChance += 5>> + <</if>> <</if>> +/* battle frequency */ +<<set _attackChance *= $battleFrequency>> <<if $forceBattle == 1 && $forceRebellion != 1 && $foughtThisWeek == 0>> <<set _attackChance = 100>> diff --git a/src/SecExp/attackOptions.tw b/src/SecExp/attackOptions.tw index 8ee016fc43eb119051a4b0396b31adefb26b14f0..1d875c1b62672edb78f2b15d9ae268eba3a795f8 100644 --- a/src/SecExp/attackOptions.tw +++ b/src/SecExp/attackOptions.tw @@ -472,22 +472,9 @@ Offensive Tactics <<goto "attackReport">> <</link>> <br> -/* calculates bribe cost */ -<<if $week <= 30>> - <<set $bribeCost = 5000 + $baseBribePerAttacker * $attackTroops>> -<<elseif $week <= 30>> - <<set $bribeCost = 10000 + $baseBribePerAttacker * $attackTroops>> -<<elseif $week <= 30>> - <<set $bribeCost = 15000 + $baseBribePerAttacker * $attackTroops>> -<<elseif $week <= 30>> - <<set $bribeCost = 20000 + $baseBribePerAttacker * $attackTroops>> -<<elseif $week <= 30>> - <<set $bribeCost = 25000 + $baseBribePerAttacker * $attackTroops>> -<</if>> -<<if $majorBattle == 1>> - <<set $bribeCost *= 3>> -<</if>> +/* calculates bribe cost */ +<<calcBribe>> <<link "Attempt to bribe">> <<set $battleResult = 1>> <<if $hasFoughtOnce == 0>> diff --git a/src/SecExp/rebellionGenerator.tw b/src/SecExp/rebellionGenerator.tw index 4905a6cd146db452e0cf126ad730022ddc6be03b..3134e57c7064ce5e2f2c0ba88d5965af1d3da39c 100644 --- a/src/SecExp/rebellionGenerator.tw +++ b/src/SecExp/rebellionGenerator.tw @@ -132,9 +132,9 @@ <</if>> <<set _roll = random(1,_slave + _citizen)>> <<if $brainImplant == 106>> - <<set _slave = Math.trunc(_slave * 0.2), _citizen = Math.trunc(_citizen * 0.2)>> + <<set _slave = Math.trunc(_slave * 0.5 * $rebellionSpeed), _citizen = Math.trunc(_citizen * 0.5 * $rebellionSpeed)>> <<else>> - <<set _slave = Math.trunc(_slave * 0.75), _citizen = Math.trunc(_citizen * 0.75)>> + <<set _slave = Math.trunc(_slave * $rebellionSpeed), _citizen = Math.trunc(_citizen * $rebellionSpeed)>> <</if>> <<if _roll <= _slave>> <<if random(1,100) < _slave>> diff --git a/src/SecExp/secExpOptions.tw b/src/SecExp/secExpOptions.tw index 46015b30d9a17a4c4fac2d33fd59d0484271991b..b0a5e5b885ae2347923cc117c2053487809fa8ff 100644 --- a/src/SecExp/secExpOptions.tw +++ b/src/SecExp/secExpOptions.tw @@ -185,7 +185,22 @@ __Rebellions__: <</link>> <</if>> <br> //Enable/disable rebellions.// + <br> <<if $rebellionsEnabled == 1>> + <<if $rebellionGameOver == 0>> + Rebellions can cause gameover is @@.red;FALSE@@. + <<link "Activate game loss in case of rebellions succeeding">> + <<set $rebellionGameOver = 1>> + <<goto "secExpOptions">> + <</link>> + <<elseif $rebellionGameOver == 1>> + Rebellions can cause gameover is @@.cyan;TRUE@@. + <<link "Deactivate game loss in case of rebellions succeeding">> + <<set $rebellionGameOver = 0>> + <<goto "secExpOptions">> + <</link>> + <</if>> + <br> //Determines wheter a total defeat in a rebellion will cause a gameover.// <br> <<if $forceRebellion == 0>> Rebellions guaranteed this week is @@.red;FALSE@@. @@ -201,21 +216,6 @@ __Rebellions__: <</link>> <</if>> <br> //Will force rebellions to happen every week. Rebellions will take precedence over battles.// - <br> - <<if $rebellionGameOver == 0>> - Rebellions can cause gameover is @@.red;FALSE@@. - <<link "Activate game loss in case of rebellions succeeding">> - <<set $rebellionGameOver = 1>> - <<goto "secExpOptions">> - <</link>> - <<elseif $rebellionGameOver == 1>> - Rebellions can cause gameover is @@.cyan;TRUE@@. - <<link "Deactivate game loss in case of rebellions succeeding">> - <<set $rebellionGameOver = 0>> - <<goto "secExpOptions">> - <</link>> - <</if>> - <br> //Determines wheter a total defeat in a rebellion will cause a gameover.// <</if>> <<if $showBattleStatistics == 0 &&($battlesEnabled == 1 || $rebellionsEnabled == 1)>> @@ -304,6 +304,92 @@ __Battles/Rebellions Difficulty__: @@.darkred;Very hard@@ <</replace>> <</link>> +<br> +<br> +__Battles frequency__: +<br>Battle frequency is set to:<span id="battleFrequency"> +<<if $battleFrequency == 0.5>> + @@.green;Very infrequent@@ +<<elseif $battleFrequency == 0.75>> + @@.limegreen;Infrequent@@ +<<elseif $battleFrequency == 1>> + @@.yellow;Normal@@ +<<elseif $battleFrequency == 1.25>> + @@.red;Frequent@@ +<<else>> + @@.darkred;Very frequent@@ +<</if>> +</span> +<br> +<<link "Very infrequent">> + <<set $battleFrequency = 0.5>> + <<replace "#battleFrequency">> + @@.green;Very infrequent@@ + <</replace>> +<</link>> | <<link "Infrequent">> + <<set $battleFrequency = 0.75>> + <<replace "#battleFrequency">> + @@.limegreen;Infrequent@@ + <</replace>> +<</link>> | <<link "Normal">> + <<set $battleFrequency = 1>> + <<replace "#battleFrequency">> + @@.yellow;Normal@@ + <</replace>> +<</link>> | <<link "Frequent">> + <<set $battleFrequency = 1.25>> + <<replace "#battleFrequency">> + @@.red;Frequent@@ + <</replace>> +<</link>> | <<link "Very frequent">> + <<set $battleFrequency = 1.5>> + <<replace "#battleFrequency">> + @@.darkred;Very frequent@@ + <</replace>> +<</link>> +<br> +<br> +__Rebellions buildup speed__: +<br>Rebellion speed is set to:<span id="rebellionSpeed"> +<<if $rebellionSpeed == 0.5>> + @@.green;Very slow@@ +<<elseif $rebellionSpeed == 0.75>> + @@.limegreen;Slow@@ +<<elseif $rebellionSpeed == 1>> + @@.yellow;Normal@@ +<<elseif $rebellionSpeed == 1.25>> + @@.red;Fast@@ +<<else>> + @@.darkred;Very fast@@ +<</if>> +</span> +<br> +<<link "Very slow">> + <<set $rebellionSpeed = 0.5>> + <<replace "#rebellionSpeed">> + @@.green;Very slow@@ + <</replace>> +<</link>> | <<link "Slow">> + <<set $rebellionSpeed = 0.75>> + <<replace "#rebellionSpeed">> + @@.limegreen;Slow@@ + <</replace>> +<</link>> | <<link "Normal">> + <<set $rebellionSpeed = 1>> + <<replace "#rebellionSpeed">> + @@.yellow;Normal@@ + <</replace>> +<</link>> | <<link "Fast">> + <<set $rebellionSpeed = 1.25>> + <<replace "#rebellionSpeed">> + @@.red;Fast@@ + <</replace>> +<</link>> | <<link "Very fast">> + <<set $rebellionSpeed = 1.5>> + <<replace "#rebellionSpeed">> + @@.darkred;Very fast@@ + <</replace>> +<</link>> <br> diff --git a/src/SecExp/secInit.tw b/src/SecExp/secInit.tw index 41db87c4a4208aa94bd0d6601bd768f2af781df1..489526b77d66d12ad6acc24d21e324f34acfb0b6 100644 --- a/src/SecExp/secInit.tw +++ b/src/SecExp/secInit.tw @@ -35,6 +35,8 @@ <<set $forceRebellion = 0>> <<set $rebellionGameOver = 1>> <<set $allowPrestigeFromBattles = 1>> +<<set $battleFrequency = 1>> +<<set $rebellionSpeed = 1>> /* edicts */ <<set $edictsUpkeep = 0>> diff --git a/src/SecExp/widgets/battleWidgets.tw b/src/SecExp/widgets/battleWidgets.tw index 73cad8d8bc1caf27718aee83e82875b795e09edc..26edaff84521764dddd5cfd17038e8fdbf96ab8e 100644 --- a/src/SecExp/widgets/battleWidgets.tw +++ b/src/SecExp/widgets/battleWidgets.tw @@ -119,4 +119,22 @@ <<else>> <br>@@.red;Error: widget called outside battle@@ <</if>> +<</widget>> + +<<widget "calcBribe">> + <<if $week <= 30>> + <<set $bribeCost = 5000 + $baseBribePerAttacker * $attackTroops>> + <<elseif $week <= 30>> + <<set $bribeCost = 10000 + $baseBribePerAttacker * $attackTroops>> + <<elseif $week <= 30>> + <<set $bribeCost = 15000 + $baseBribePerAttacker * $attackTroops>> + <<elseif $week <= 30>> + <<set $bribeCost = 20000 + $baseBribePerAttacker * $attackTroops>> + <<elseif $week <= 30>> + <<set $bribeCost = 25000 + $baseBribePerAttacker * $attackTroops>> + <</if>> + <<if $majorBattle == 1>> + <<set $bribeCost *= 3>> + <</if>> + <<set $bribeCost = Math.trunc(Math.clamp($bribeCost,0,1000000))>> <</widget>> \ No newline at end of file diff --git a/src/uncategorized/storyCaption.tw b/src/uncategorized/storyCaption.tw index 5965d4a3d8d1c760e655e2533efdea31b61c6361..93d686186a9275d4126df0d6bfb2a66e58a01d65 100644 --- a/src/uncategorized/storyCaption.tw +++ b/src/uncategorized/storyCaption.tw @@ -443,7 +443,7 @@ <<if $riotCenter == 1>> <br><span id="riotCenter"><<link "Manage Rebels">><<set $nextButton = "Back", $nextLink = _Pass>><<goto "riotControlCenter">><</link>></span> @@.cyan;[Shift+R]@@ <</if>> - <span id="edictButton"><<link [[Edicts|edicts]]>><</link>></span> @@.cyan;[D]@@ + <br><span id="edictButton"><<link [[Edicts|edicts]]>><</link>></span> @@.cyan;[D]@@ <</if>> <<if $cyberMod != 0 && $researchLab.built == "true">> @@ -480,7 +480,7 @@ <<if $riotCenter == 1>> <br><span id="riotCenter"><<link "Manage Rebels">><<set $nextButton = "Back", $nextLink = _Pass>><<goto "riotControlCenter">><</link>></span> @@.cyan;[Shift+R]@@ <</if>> - <span id="edictButton"><<link [[Edicts|edicts]]>><</link>></span> @@.cyan;[D]@@ + <br><span id="edictButton"><<link [[Edicts|edicts]]>><</link>></span> @@.cyan;[D]@@ <</if>> <<if $cyberMod != 0 && $researchLab.built == "true">>