From 6b05b28e2aece482c3fbe1e3fedafa46856615d1 Mon Sep 17 00:00:00 2001 From: hexall90 <hexall90@gmail.com> Date: Sun, 26 Nov 2017 11:22:19 +0100 Subject: [PATCH] cyber enhacements --- TODO.txt | 11 +--- src/SecExp/attackHandler.tw | 22 +++---- src/SecExp/rebellionHandler.tw | 40 ++++++------- src/SecExp/secBarracks.tw | 6 ++ src/SecExp/seeUnit.tw | 80 +++++++++++++++++++++---- src/SecExp/widgets/miscSecExpWidgets.tw | 14 ++++- src/SecExp/widgets/unitsWidgets.tw | 9 +++ 7 files changed, 128 insertions(+), 54 deletions(-) diff --git a/TODO.txt b/TODO.txt index 4ffbc51e5bd..1c5ac00915c 100644 --- a/TODO.txt +++ b/TODO.txt @@ -1,10 +1,6 @@ -Rebellions: --citizens mini events - further development: -specialized slave schools -fortifications --security based careers should have discount on secHQ upgrades -celebrity on propHub -more levels for militia edict (further militarize society) -conquering other arcologies? @@ -12,11 +8,6 @@ further development: Events: -famous criminal escapes to the arcology, followed by another arcology police force -Edicts: --cyber enhancements for slave units - Bugs: -sometimes troop counts breaks --sometimes rebel numbers have fractionary parts --growth stimulants can give height with fractionary parts --weap manufacturing is a mess as always \ No newline at end of file +-sometimes rebel numbers have fractionary parts \ No newline at end of file diff --git a/src/SecExp/attackHandler.tw b/src/SecExp/attackHandler.tw index b0a8abf0c9c..e0805d6edd2 100644 --- a/src/SecExp/attackHandler.tw +++ b/src/SecExp/attackHandler.tw @@ -883,9 +883,9 @@ <<else>> <<set _loyaltyBonus = 0.30>> <</if>> - <<set _attack += ($militiaBaseAttack + $militiaBaseAttack * $militiaUnits[_i].equip * $equipMod + $militiaBaseAttack * _expBonus + $militiaBaseAttack * _loyaltyBonus + $militiaBaseAttack * $militiaUnits[_i].SF * 0.20) * _atkMod>> - <<set _defense += ($militiaBaseDefense + $militiaBaseDefense * $militiaUnits[_i].equip * $equipMod + $militiaBaseDefense * _expBonus + $militiaBaseDefense * _loyaltyBonus + $militiaBaseDefense * $militiaUnits[_i].SF * 0.20) * _defMod>> - <<set _hp += ($militiaBaseHp + $militiaBaseHp * $militiaUnits[_i].medics * $equipMod) * $militiaUnits[_i].troops>> + <<set _attack += ($militiaBaseAttack + $militiaBaseAttack * $militiaUnits[_i].equip * $equipMod + $militiaBaseAttack * _expBonus + $militiaBaseAttack * _loyaltyBonus + $militiaBaseAttack * $militiaUnits[_i].SF * 0.20 + $militiaUnits[_i].cyber) * _atkMod>> + <<set _defense += ($militiaBaseDefense + $militiaBaseDefense * $militiaUnits[_i].equip * $equipMod + $militiaBaseDefense * _expBonus + $militiaBaseDefense * _loyaltyBonus + $militiaBaseDefense * $militiaUnits[_i].SF * 0.20 + $militiaUnits[_i].cyber) * _defMod>> + <<set _hp += ($militiaBaseHp + $militiaUnits[_i].cyber + $militiaBaseHp * $militiaUnits[_i].medics * 0.25) * $militiaUnits[_i].troops>> <</if>> <</for>> <<for _i = 0; _i < $slaveUnits.length; _i++>> @@ -906,9 +906,9 @@ <<else>> <<set _loyaltyBonus = 0.30>> <</if>> - <<set _attack += ($slaveBaseAttack + $slaveBaseAttack * $slaveUnits[_i].equip * $equipMod + $slaveBaseAttack * _expBonus + $slaveBaseAttack * _loyaltyBonus + $slaveBaseAttack * $slaveUnits[_i].SF * 0.20) * _atkMod>> - <<set _defense += ($slaveBaseDefense + $slaveBaseDefense * $slaveUnits[_i].equip * $equipMod + $slaveBaseDefense * _expBonus + $slaveBaseDefense * _loyaltyBonus + $slaveBaseDefense * $slaveUnits[_i].SF * 0.20) * _defMod>> - <<set _hp += ($slaveBaseHp + $slaveBaseHp * $slaveUnits[_i].medics * 0.25) * $slaveUnits[_i].troops>> + <<set _attack += ($slaveBaseAttack + $slaveBaseAttack * $slaveUnits[_i].equip * $equipMod + $slaveBaseAttack * _expBonus + $slaveBaseAttack * _loyaltyBonus + $slaveBaseAttack * $slaveUnits[_i].SF * 0.20 + $slaveUnits[_i].cyber) * _atkMod>> + <<set _defense += ($slaveBaseDefense + $slaveBaseDefense * $slaveUnits[_i].equip * $equipMod + $slaveBaseDefense * _expBonus + $slaveBaseDefense * _loyaltyBonus + $slaveBaseDefense * $slaveUnits[_i].SF * 0.20 + $slaveUnits[_i].cyber) * _defMod>> + <<set _hp += ($slaveBaseHp + $slaveUnits[_i].cyber + $slaveBaseHp * $slaveUnits[_i].medics * 0.25) * $slaveUnits[_i].troops>> <</if>> <</for>> <<for _i = 0; _i < $mercUnits.length; _i++>> @@ -929,9 +929,9 @@ <<else>> <<set _loyaltyBonus = 0.30>> <</if>> - <<set _attack += ($mercBaseAttack + $mercBaseAttack * $mercUnits[_i].equip * $equipMod + $mercBaseAttack * _expBonus + $mercBaseAttack * _loyaltyBonus + $mercBaseAttack * $mercUnits[_i].SF * 0.20) * _atkMod>> - <<set _defense += ($mercBaseDefense + $mercBaseDefense * $mercUnits[_i].equip * $equipMod + $mercBaseDefense * _expBonus + $mercBaseDefense * _loyaltyBonus + $mercBaseDefense * $mercUnits[_i].SF * 0.20) * _defMod>> - <<set _hp += ($mercBaseHp + $mercBaseHp * $mercUnits[_i].medics * 0.25) * $mercUnits[_i].troops>> + <<set _attack += ($mercBaseAttack + $mercBaseAttack * $mercUnits[_i].equip * $equipMod + $mercBaseAttack * _expBonus + $mercBaseAttack * _loyaltyBonus + $mercBaseAttack * $mercUnits[_i].SF * 0.20 + $mercUnits[_i].cyber) * _atkMod>> + <<set _defense += ($mercBaseDefense + $mercBaseDefense * $mercUnits[_i].equip * $equipMod + $mercBaseDefense * _expBonus + $mercBaseDefense * _loyaltyBonus + $mercBaseDefense * $mercUnits[_i].SF * 0.20 + $mercUnits[_i].cyber) * _defMod>> + <<set _hp += ($mercBaseHp + $mercUnits[_i].cyber + $mercBaseHp * $mercUnits[_i].medics * 0.25) * $mercUnits[_i].troops>> <</if>> <</for>> @@ -970,7 +970,7 @@ <<set $troopCount = 0>> <<calcTroopCount>> -<<set _moraleTroopMod = Math.clamp($troopCount / 200,1,10)>> +<<set _moraleTroopMod = Math.clamp($troopCount / 100,1,10)>> <<set _morale = ($secBotsMorale * $deployingBots + $militiaBaseMorale * _militiaMod * $deployingMilitia + $slaveBaseMorale * _slaveMod * $deployingSlaves + $mercBaseMorale * _mercMod * $deployingMercs + $SFBaseMorale * $SFIntervention * _SFMod) / ($deployingBots + $deployingMilitia +$deployingSlaves + $deployingMercs + $SFIntervention)>> <<set _morale = _morale + _morale * $secBarracksUpgrades.luxury * 0.05>> /* barracks bonus */ @@ -997,7 +997,7 @@ <<set _armyMod = 1>> <</if>> -<<set _enemyMoraleTroopMod = Math.clamp($attackTroops / 400,1,5)>> +<<set _enemyMoraleTroopMod = Math.clamp($attackTroops / 200,1,5)>> <<if $attackType == "raiders">> <<set _enemyAttack = ($raBaseAttack + $weapManu * $sellTo.raiders + $raBaseAttack * $attackEquip * $equipMod) * _armyMod>> diff --git a/src/SecExp/rebellionHandler.tw b/src/SecExp/rebellionHandler.tw index 81fb290a138..c33b93b649d 100644 --- a/src/SecExp/rebellionHandler.tw +++ b/src/SecExp/rebellionHandler.tw @@ -80,9 +80,9 @@ <<else>> <<set _loyaltyBonus = 0.30>> <</if>> - <<set _attack += ($militiaBaseAttack + $militiaBaseAttack * $militiaUnits[_i].equip * $equipMod + $militiaBaseAttack * _expBonus + $militiaBaseAttack * _loyaltyBonus + $militiaBaseAttack * $militiaUnits[_i].SF * 0.20)>> - <<set _defense += ($militiaBaseDefense + $militiaBaseDefense * $militiaUnits[_i].equip * $equipMod + $militiaBaseDefense * _expBonus + $militiaBaseDefense * _loyaltyBonus + $militiaBaseDefense * $militiaUnits[_i].SF * 0.20)>> - <<set _hp += ($militiaBaseHp + $militiaBaseHp * $militiaUnits[_i].medics * $equipMod) * $militiaUnits[_i].troops>> + <<set _attack += ($militiaBaseAttack + $militiaBaseAttack * $militiaUnits[_i].equip * $equipMod + $militiaBaseAttack * _expBonus + $militiaBaseAttack * _loyaltyBonus + $militiaBaseAttack * $militiaUnits[_i].SF * 0.20 + $militiaUnits[_i].cyber)>> + <<set _defense += ($militiaBaseDefense + $militiaBaseDefense * $militiaUnits[_i].equip * $equipMod + $militiaBaseDefense * _expBonus + $militiaBaseDefense * _loyaltyBonus + $militiaBaseDefense * $militiaUnits[_i].SF * 0.20 + $militiaUnits[_i].cyber)>> + <<set _hp += ($militiaBaseHp + $militiaUnits[_i].cyber + $militiaBaseHp * $militiaUnits[_i].medics * 0.25) * $militiaUnits[_i].troops>> <</if>> <</for>> <<for _i = 0; _i < $slaveUnits.length; _i++>> @@ -105,9 +105,9 @@ <<else>> <<set _loyaltyBonus = 0.30>> <</if>> - <<set _attack += ($slaveBaseAttack + $slaveBaseAttack * $slaveUnits[_i].equip * $equipMod + $slaveBaseAttack * _expBonus + $slaveBaseAttack * _loyaltyBonus + $slaveBaseAttack * $slaveUnits[_i].SF * 0.20)>> - <<set _defense += ($slaveBaseDefense + $slaveBaseDefense * $slaveUnits[_i].equip * $equipMod + $slaveBaseDefense * _expBonus + $slaveBaseDefense * _loyaltyBonus + $slaveBaseDefense * $slaveUnits[_i].SF * 0.20)>> - <<set _hp += ($slaveBaseHp + $slaveBaseHp * $slaveUnits[_i].medics * 0.25) * $slaveUnits[_i].troops>> + <<set _attack += ($slaveBaseAttack + $slaveBaseAttack * $slaveUnits[_i].equip * $equipMod + $slaveBaseAttack * _expBonus + $slaveBaseAttack * _loyaltyBonus + $slaveBaseAttack * $slaveUnits[_i].SF * 0.20 + $slaveUnits[_i].cyber)>> + <<set _defense += ($slaveBaseDefense + $slaveBaseDefense * $slaveUnits[_i].equip * $equipMod + $slaveBaseDefense * _expBonus + $slaveBaseDefense * _loyaltyBonus + $slaveBaseDefense * $slaveUnits[_i].SF * 0.20 + $slaveUnits[_i].cyber)>> + <<set _hp += ($slaveBaseHp + $slaveUnits[_i].cyber + $slaveBaseHp * $slaveUnits[_i].medics * 0.25) * $slaveUnits[_i].troops>> <</if>> <</for>> <<for _i = 0; _i < $mercUnits.length; _i++>> @@ -130,9 +130,9 @@ <<else>> <<set _loyaltyBonus = 0.30>> <</if>> - <<set _attack += ($mercBaseAttack + $mercBaseAttack * $mercUnits[_i].equip * $equipMod + $mercBaseAttack * _expBonus + $mercBaseAttack * _loyaltyBonus + $mercBaseAttack * $mercUnits[_i].SF * 0.20)>> - <<set _defense += ($mercBaseDefense + $mercBaseDefense * $mercUnits[_i].equip * $equipMod + $mercBaseDefense * _expBonus + $mercBaseDefense * _loyaltyBonus + $mercBaseDefense * $mercUnits[_i].SF * 0.20)>> - <<set _hp += ($mercBaseHp + $mercBaseHp * $mercUnits[_i].medics * 0.25) * $mercUnits[_i].troops>> + <<set _attack += ($mercBaseAttack + $mercBaseAttack * $mercUnits[_i].equip * $equipMod + $mercBaseAttack * _expBonus + $mercBaseAttack * _loyaltyBonus + $mercBaseAttack * $mercUnits[_i].SF * 0.20 + $mercUnits[_i].cyber)>> + <<set _defense += ($mercBaseDefense + $mercBaseDefense * $mercUnits[_i].equip * $equipMod + $mercBaseDefense * _expBonus + $mercBaseDefense * _loyaltyBonus + $mercBaseDefense * $mercUnits[_i].SF * 0.20 + $mercUnits[_i].cyber)>> + <<set _hp += ($mercBaseHp + $mercUnits[_i].cyber + $mercBaseHp * $mercUnits[_i].medics * 0.25) * $mercUnits[_i].troops>> <</if>> <</for>> @@ -174,7 +174,7 @@ <<set $troopCount = 0>> <<calcTroopCount>> -<<set _moraleTroopMod = Math.clamp($troopCount / 200,1,10)>> +<<set _moraleTroopMod = Math.clamp($troopCount / 100,1,10)>> /* morale and baseHp calculation */ <<set _morale = ($secBotsMorale * $secBots.active + $militiaBaseMorale * $deployingMilitia + $slaveBaseMorale * $deployingSlaves + $mercBaseMorale * $deployingMercs + $SFBaseMorale * $securityForceCreate) / ($secBots.active + $deployingMilitia +$deployingSlaves + $deployingMercs + $securityForceCreate)>> @@ -221,9 +221,9 @@ <<else>> <<set _expBonus = 0.50>> <</if>> - <<set _enemyAttack += ($militiaBaseAttack + $militiaBaseAttack * $militiaUnits[_i].equip * $equipMod + $militiaBaseAttack * _expBonus + $militiaUnits[_i].SF)>> - <<set _enemyDefense += ($militiaBaseDefense + $militiaBaseDefense * $militiaUnits[_i].equip * $equipMod + $militiaBaseDefense * _expBonus + $militiaUnits[_i].SF)>> - <<set _enemyHp += ($militiaBaseHp + $militiaBaseHp * $militiaUnits[_i].medics * $equipMod) * $militiaUnits[_i].troops>> + <<set _enemyAttack += ($militiaBaseAttack + $militiaBaseAttack * $militiaUnits[_i].equip * $equipMod + $militiaBaseAttack * _expBonus + $militiaBaseAttack * $militiaUnits[_i].SF * 0.20 + $militiaUnits[_i].cyber)>> + <<set _enemyDefense += ($militiaBaseDefense + $militiaBaseDefense * $militiaUnits[_i].equip * $equipMod + $militiaBaseDefense * _expBonus + $militiaBaseDefense * $militiaUnits[_i].SF * 0.20 + $militiaUnits[_i].cyber)>> + <<set _enemyHp += ($militiaBaseHp + $militiaUnits[_i].cyber + $militiaBaseHp * $militiaUnits[_i].medics * $equipMod) * $militiaUnits[_i].troops>> <</if>> <</for>> <<for _i = 0; _i < $slaveUnits.length; _i++>> @@ -237,9 +237,9 @@ <<else>> <<set _expBonus = 0.50>> <</if>> - <<set _enemyAttack += ($slaveBaseAttack + $slaveBaseAttack * $slaveUnits[_i].equip * $equipMod + $slaveBaseAttack * _expBonus + $slaveUnits[_i].SF)>> - <<set _enemyDefense += ($slaveBaseDefense + $slaveBaseDefense * $slaveUnits[_i].equip * $equipMod + $slaveBaseDefense * _expBonus + $slaveUnits[_i].SF)>> - <<set _enemyHp += ($slaveBaseHp + $slaveBaseHp * $slaveUnits[_i].medics * 0.25) * $slaveUnits[_i].troops>> + <<set _enemyAttack += ($slaveBaseAttack + $slaveBaseAttack * $slaveUnits[_i].equip * $equipMod + $slaveBaseAttack * _expBonus + $slaveBaseAttack * $slaveUnits[_i].SF * 0.20 + $slaveUnits[_i].cyber)>> + <<set _enemyDefense += ($slaveBaseDefense + $slaveBaseDefense * $slaveUnits[_i].equip * $equipMod + $slaveBaseDefense * _expBonus + $slaveBaseDefense * $slaveUnits[_i].SF * 0.20 + $slaveUnits[_i].cyber)>> + <<set _enemyHp += ($slaveBaseHp + $slaveUnits[_i].cyber + $slaveBaseHp * $slaveUnits[_i].medics * 0.25) * $slaveUnits[_i].troops>> <</if>> <</for>> <<for _i = 0; _i < $mercUnits.length; _i++>> @@ -253,13 +253,13 @@ <<else>> <<set _expBonus = 0.50>> <</if>> - <<set _enemyAttack += ($mercBaseAttack + $mercBaseAttack * $mercUnits[_i].equip * $equipMod + $mercBaseAttack * _expBonus + $mercUnits[_i].SF)>> - <<set _enemyDefense += ($mercBaseDefense + $mercBaseDefense * $mercUnits[_i].equip * $equipMod + $mercBaseDefense * _expBonus + $mercUnits[_i].SF)>> - <<set _enemyHp += ($mercBaseHp + $mercBaseHp * $mercUnits[_i].medics * 0.25) * $mercUnits[_i].troops>> + <<set _enemyAttack += ($mercBaseAttack + $mercBaseAttack * $mercUnits[_i].equip * $equipMod + $mercBaseAttack * _expBonus + $mercBaseAttack * $mercUnits[_i].SF * 0.20 + $mercUnits[_i].cyber)>> + <<set _enemyDefense += ($mercBaseDefense + $mercBaseDefense * $mercUnits[_i].equip * $equipMod + $mercBaseDefense * _expBonus + $mercBaseDefense * $mercUnits[_i].SF * 0.20 + $mercUnits[_i].cyber)>> + <<set _enemyHp += ($mercBaseHp + $mercUnits[_i].cyber + $mercBaseHp * $mercUnits[_i].medics * 0.25) * $mercUnits[_i].troops>> <</if>> <</for>> -<<set _enemyMoraleTroopMod = Math.clamp($attackTroops / 300,1,10)>> +<<set _enemyMoraleTroopMod = Math.clamp($attackTroops / 200,1,10)>> <<set _enemyMorale = 1.5 * ($militiaBaseMorale * $rebellingMilitia + $slaveBaseMorale * $rebellingSlaves + $mercBaseMorale * $rebellingMercs) / ($rebellingMilitia + $rebellingSlaves + $rebellingMercs)>> <<set _enemyMorale *= _enemyMoraleTroopMod>> diff --git a/src/SecExp/secBarracks.tw b/src/SecExp/secBarracks.tw index d9bd64ce6dd..8f8be1e1883 100644 --- a/src/SecExp/secBarracks.tw +++ b/src/SecExp/secBarracks.tw @@ -219,6 +219,7 @@ You are free to organize your menial slaves into fighting units. Currently you h equip: 0, training: 0, loyalty: random(40,60), + cyber: 0, medics: 0, SF: 0, commissars: 0, @@ -239,6 +240,7 @@ You are free to organize your menial slaves into fighting units. Currently you h equip: 0, training: 0, loyalty: random(40,60), + cyber: 0, medics: 0, SF: 0, commissars: 0, @@ -382,6 +384,7 @@ __Militia__ equip: 0, training: 0, loyalty: random(40,60), + cyber: 0, medics: 0, SF: 0, commissars: 0, @@ -402,6 +405,7 @@ __Militia__ equip: 0, training: 0, loyalty: random(40,60), + cyber: 0, medics: 0, SF: 0, commissars: 0, @@ -545,6 +549,7 @@ __Mercenaries__ equip: 0, training: 0, loyalty: random(40,60), + cyber: 0, medics: 0, SF: 0, commissars: 0, @@ -565,6 +570,7 @@ __Mercenaries__ equip: 0, training: 0, loyalty: random(40,60), + cyber: 0, medics: 0, SF: 0, commissars: 0, diff --git a/src/SecExp/seeUnit.tw b/src/SecExp/seeUnit.tw index ff5202f440f..274ee5bfb57 100644 --- a/src/SecExp/seeUnit.tw +++ b/src/SecExp/seeUnit.tw @@ -134,6 +134,20 @@ <<else>> <br>The unit has a perfectly trained and loyal commissar detachment, keeping under control the ambitions of the unit's officers. <</if>> + <<if $prostheticsUpgrade >= 2 || $researchLab.advCombatPLimb == 1>> + <<if $militiaUnits[$targetIndex].cyber == 0>> + <br> + <<link "Provide enhanced cybernetic enhancements">> + <<set $militiaUnits[$targetIndex].cyber += 1>> + <<set $cash -= $equipUpgradeCost * $militiaUnits[$targetIndex].maxTroops + 2000>> + <<goto "seeUnit">> + <</link>> + Will augment all soldiers of the unit with high tech cyber enhacements. + <br>//Costs <<print ($equipUpgradeCost * $militiaUnits[$targetIndex].maxTroops) + 2000>> and will increase attack, defense and base hp values of the unit.// + <<else>> + <br>The unit is equipped with advanced cybernetic enhancements. + <</if>> + <</if>> <<if $militiaUnits[$targetIndex].medics == 0>> <br> <<link "Attach trained medics to the unit">> @@ -181,9 +195,14 @@ <<set _loyaltyBonus = 30>> <</if>> <br> - <br>Militia base attack: $militiaBaseAttack <<if $humanUpgrade.attack > 0>> + $humanUpgrade.attack <</if>>(<<print Math.round($militiaBaseAttack + $militiaBaseAttack * $militiaUnits[$targetIndex].equip * $equipMod + $militiaBaseAttack * _expBonus * 0.01 + $militiaBaseAttack * _loyaltyBonus * 0.01 + $militiaBaseAttack * $militiaUnits[$targetIndex].SF * 0.20)>>) - <br>Militia base defense: $militiaBaseDefense <<if $humanUpgrade.defense > 0>> + $humanUpgrade.defense <</if>>(<<print Math.round($militiaBaseDefense + $militiaBaseDefense * $militiaUnits[$targetIndex].equip * $equipMod + $militiaBaseDefense * _expBonus * 0.01 + $militiaBaseDefense * _loyaltyBonus * 0.01 + $militiaBaseDefense * $militiaUnits[$targetIndex].SF * 0.20)>>) - <br>Equipment bonus: + <<print $militiaUnits[$targetIndex].equip * 15>>% + <br>Militia base attack: $militiaBaseAttack <<if $humanUpgrade.attack > 0>> + $humanUpgrade.attack <</if>>(<<print Math.round($militiaBaseAttack + $militiaUnits[$targetIndex].cyber + $militiaBaseAttack * $militiaUnits[$targetIndex].equip * $equipMod + $militiaBaseAttack * _expBonus * 0.01 + $militiaBaseAttack * _loyaltyBonus * 0.01 + $militiaBaseAttack * $militiaUnits[$targetIndex].SF * 0.20)>>) + <br>Militia base defense: $militiaBaseDefense <<if $humanUpgrade.defense > 0>> + $humanUpgrade.defense <</if>>(<<print Math.round($militiaBaseDefense + $militiaUnits[$targetIndex].cyber + $militiaBaseDefense * $militiaUnits[$targetIndex].equip * $equipMod + $militiaBaseDefense * _expBonus * 0.01 + $militiaBaseDefense * _loyaltyBonus * 0.01 + $militiaBaseDefense * $militiaUnits[$targetIndex].SF * 0.20)>>) + <<if $militiaUnits[$targetIndex].equip > 0>> + <br>Equipment bonus: + <<print $militiaUnits[$targetIndex].equip * 15>>% + <</if>> + <<if $militiaUnits[$targetIndex].cyber > 0>> + <br>Cyber ehnacements bonus: + 1 + <</if>> <<if _expBonus > 0>> <br>Experience bonus: +<<print _expBonus>>% <</if>> @@ -197,7 +216,7 @@ <<if $secBarracksUpgrades.luxury > 0>> <br>Barracks bonus: + <<print $secBarracksUpgrades.luxury * 5>>% <</if>> - <br>Militia base hp: $militiaBaseHp <<if $humanUpgrade.hp > 0>> + $humanUpgrade.hp <</if>>(<<print Math.round($militiaBaseHp + $militiaBaseHp * $militiaUnits[$targetIndex].medics * 0.25)>>) + <br>Militia base hp: $militiaBaseHp <<if $humanUpgrade.hp > 0>> + $humanUpgrade.hp <</if>>(<<print Math.round($militiaBaseHp + $militiaUnits[$targetIndex].cyber + $militiaBaseHp * $militiaUnits[$targetIndex].medics * 0.25)>>) <<if $militiaUnits[$targetIndex].medics > 0>> <br>Medics detachment bonus: +25% <</if>> @@ -273,6 +292,20 @@ <<else>> <br>The unit has a perfectly trained and loyal commissar detachment, keeping under control the ambitions of the unit's officers. <</if>> + <<if $prostheticsUpgrade >= 2 || $researchLab.advCombatPLimb == 1>> + <<if $slaveUnits[$targetIndex].cyber == 0>> + <br> + <<link "Provide enhanced cybernetic enhancements">> + <<set $slaveUnits[$targetIndex].cyber += 1>> + <<set $cash -= $equipUpgradeCost * $slaveUnits[$targetIndex].maxTroops + 2000>> + <<goto "seeUnit">> + <</link>> + Will augment all soldiers of the unit with high tech cyber enhacements. + <br>//Costs <<print ($equipUpgradeCost * $slaveUnits[$targetIndex].maxTroops) + 2000>> and will increase attack, defense and base hp values of the unit.// + <<else>> + <br>The unit is equipped with advanced cybernetic enhancements. + <</if>> + <</if>> <<if $slaveUnits[$targetIndex].medics == 0>> <br> <<link "Attach trained medics to the unit">> @@ -319,9 +352,14 @@ <<set _loyaltyBonus = 30>> <</if>> <br> - <br>Slaves base attack: $slaveBaseAttack <<if $humanUpgrade.attack > 0>> + $humanUpgrade.attack <</if>>(<<print Math.round($slaveBaseAttack + $slaveBaseAttack * $slaveUnits[$targetIndex].equip * $equipMod + $slaveBaseAttack * _expBonus * 0.01 + $slaveBaseAttack * _loyaltyBonus * 0.01 + $slaveBaseAttack * $slaveUnits[$targetIndex].SF * 0.20)>>) - <br>Slaves base defense: $slaveBaseDefense <<if $humanUpgrade.defense > 0>> + $humanUpgrade.defense <</if>>(<<print Math.round($slaveBaseDefense + $slaveBaseDefense * $slaveUnits[$targetIndex].equip * $equipMod + $slaveBaseDefense * _expBonus * 0.01 + $slaveBaseDefense * _loyaltyBonus * 0.01 + $slaveBaseDefense * $slaveUnits[$targetIndex].SF * 0.20)>>) - <br>Equipment bonus: + <<print $slaveUnits[$targetIndex].equip * 15>>% + <br>Slaves base attack: $slaveBaseAttack <<if $humanUpgrade.attack > 0>> + $humanUpgrade.attack <</if>>(<<print Math.round($slaveBaseAttack + $slaveUnits[$targetIndex].cyber + $slaveBaseAttack * $slaveUnits[$targetIndex].equip * $equipMod + $slaveBaseAttack * _expBonus * 0.01 + $slaveBaseAttack * _loyaltyBonus * 0.01 + $slaveBaseAttack * $slaveUnits[$targetIndex].SF * 0.20)>>) + <br>Slaves base defense: $slaveBaseDefense <<if $humanUpgrade.defense > 0>> + $humanUpgrade.defense <</if>>(<<print Math.round($slaveBaseDefense + $slaveUnits[$targetIndex].cyber + $slaveBaseDefense * $slaveUnits[$targetIndex].equip * $equipMod + $slaveBaseDefense * _expBonus * 0.01 + $slaveBaseDefense * _loyaltyBonus * 0.01 + $slaveBaseDefense * $slaveUnits[$targetIndex].SF * 0.20)>>) + <<if $slaveUnits[$targetIndex].equip > 0>> + <br>Equipment bonus: + <<print $slaveUnits[$targetIndex].equip * 15>>% + <</if>> + <<if $slaveUnits[$targetIndex].cyber > 0>> + <br>Cyber ehnacements bonus: + 1 + <</if>> <<if _expBonus > 0>> <br>Experience bonus: +<<print _expBonus>>% <</if>> @@ -335,7 +373,7 @@ <<if $secBarracksUpgrades.luxury > 0>> <br>Barracks bonus: + <<print $secBarracksUpgrades.luxury * 5>>% <</if>> - <br>Slaves base hp: $slaveBaseHp <<if $humanUpgrade.hp > 0>> + $humanUpgrade.hp <</if>>(<<print Math.round($slaveBaseHp + $slaveBaseHp * $slaveUnits[$targetIndex].medics * 0.25)>>) + <br>Slaves base hp: $slaveBaseHp <<if $humanUpgrade.hp > 0>> + $humanUpgrade.hp <</if>>(<<print Math.round($slaveBaseHp + $slaveUnits[$targetIndex].cyber + $slaveBaseHp * $slaveUnits[$targetIndex].medics * 0.25)>>) <<if $slaveUnits[$targetIndex].medics > 0>> <br>Medics detachment bonus: +25% <</if>> @@ -411,6 +449,19 @@ <<else>> <br>The unit has a perfectly trained and loyal commissar detachment, keeping under control the ambitions of the unit's officers. <</if>> + <<if $prostheticsUpgrade >= 2 || $researchLab.advCombatPLimb == 1>> + <<if $mercUnits[$targetIndex].cyber == 0>> + <br> + <<link "Provide enhanced cybernetic enhancements">> + <<set $mercUnits[$targetIndex].cyber += 1>> + <<set $cash -= $equipUpgradeCost * $mercUnits[$targetIndex].maxTroops + 2000>> + <<goto "seeUnit">> + <</link>>Will augment all soldiers of the unit with high tech cyber enhacements. + <br>//Costs <<print ($equipUpgradeCost * $mercUnits[$targetIndex].maxTroops) + 2000>> and will increase attack, defense and base hp values of the unit.// + <<else>> + <br>The unit is equipped with advanced cybernetic enhancements. + <</if>> + <</if>> <<if $mercUnits[$targetIndex].medics == 0>> <br> <<link "Attach trained medics to the unit">> @@ -457,9 +508,14 @@ <<set _loyaltyBonus = 30>> <</if>> <br> - <br>Mercenaries base attack: $mercBaseAttack <<if $humanUpgrade.attack > 0>> + $humanUpgrade.attack <</if>>(<<print Math.round($mercBaseAttack + $mercBaseAttack * $mercUnits[$targetIndex].equip * $equipMod + $mercBaseAttack * _expBonus * 0.01 + $mercBaseAttack * _loyaltyBonus * 0.01 + $mercBaseAttack * $mercUnits[$targetIndex].SF * 0.20)>>) - <br>Mercenaries base defense: $mercBaseDefense <<if $humanUpgrade.defense > 0>> + $humanUpgrade.defense <</if>>(<<print Math.round($mercBaseDefense + $mercBaseDefense * $mercUnits[$targetIndex].equip * $equipMod + $mercBaseDefense * _expBonus * 0.01 + $mercBaseDefense * _loyaltyBonus * 0.01 + $mercBaseDefense * $mercUnits[$targetIndex].SF * 0.20)>>) - <br>Equipment bonus: + <<print $mercUnits[$targetIndex].equip * 15>>% + <br>Mercenaries base attack: $mercBaseAttack <<if $humanUpgrade.attack > 0>> + $humanUpgrade.attack <</if>>(<<print Math.round($mercBaseAttack + $mercBaseAttack * $mercUnits[$targetIndex].equip * $equipMod + $mercBaseAttack * _expBonus * 0.01 + $mercBaseAttack * _loyaltyBonus * 0.01 + $mercBaseAttack * $mercUnits[$targetIndex].SF * 0.20 + $mercUnits[$targetIndex].cyber)>>) + <br>Mercenaries base defense: $mercBaseDefense <<if $humanUpgrade.defense > 0>> + $humanUpgrade.defense <</if>>(<<print Math.round($mercBaseDefense + $mercBaseDefense * $mercUnits[$targetIndex].equip * $equipMod + $mercBaseDefense * _expBonus * 0.01 + $mercBaseDefense * _loyaltyBonus * 0.01 + $mercBaseDefense * $mercUnits[$targetIndex].SF * 0.20 + $mercUnits[$targetIndex].cyber)>>) + <<if $mercUnits[$targetIndex].equip > 0>> + <br>Equipment bonus: + <<print $mercUnits[$targetIndex].equip * 15>>% + <</if>> + <<if $mercUnits[$targetIndex].cyber > 0>> + <br>Cyber ehnacements bonus: + 1 + <</if>> <<if _expBonus > 0>> <br>Experience bonus: +<<print _expBonus>>% <</if>> @@ -473,7 +529,7 @@ <<if $secBarracksUpgrades.luxury > 0>> <br>Barracks bonus: + <<print $secBarracksUpgrades.luxury * 5>>% <</if>> - <br>Mercenaries base hp: $mercBaseHp <<if $humanUpgrade.hp > 0>> + $humanUpgrade.hp <</if>>(<<print Math.round($mercBaseHp + $mercBaseHp * $mercUnits[$targetIndex].medics * 0.25)>>) + <br>Mercenaries base hp: $mercBaseHp <<if $humanUpgrade.hp > 0>> + $humanUpgrade.hp <</if>>(<<print Math.round($mercBaseHp + $mercBaseHp * $mercUnits[$targetIndex].medics * 0.25 + $mercUnits[$targetIndex].cyber)>>) <<if $mercUnits[$targetIndex].medics > 0>> <br>Medics detachment bonus: +25% <</if>> diff --git a/src/SecExp/widgets/miscSecExpWidgets.tw b/src/SecExp/widgets/miscSecExpWidgets.tw index 38828140e79..e93bcbf5451 100644 --- a/src/SecExp/widgets/miscSecExpWidgets.tw +++ b/src/SecExp/widgets/miscSecExpWidgets.tw @@ -248,6 +248,10 @@ <br>Set militia missing ID <<generateUnitID $militiaUnits[_i]>> <</if>> + <<if ndef $militiaUnits[_i].cyber>> + <br>Set militia missing flag + <<set $militiaUnits[_i].cyber = 0>> + <</if>> <<if ndef $militiaUnits[_i].commissars>> <br>Set militia missing flag <<set $militiaUnits[_i].commissars = 0>> @@ -275,6 +279,10 @@ <br>Set slave missing ID <<generateUnitID $slaveUnits[_i]>> <</if>> + <<if ndef $slaveUnits[_i].cyber>> + <br>Set slave missing flag + <<set $slaveUnits[_i].cyber = 0>> + <</if>> <<if ndef $slaveUnits[_i].commissars>> <br>Set slave missing flag <<set $slaveUnits[_i].commissars = 0>> @@ -299,9 +307,13 @@ <<set $mercUnits[_i].SF = 0>> <</if>> <<if ndef $mercUnits[_i].ID>> - <br>Set slave missing ID + <br>Set merc missing ID <<generateUnitID $mercUnits[_i]>> <</if>> + <<if ndef $mercUnits[_i].cyber>> + <br>Set merc missing flag + <<set $mercUnits[_i].cyber = 0>> + <</if>> <<if ndef $mercUnits[_i].commissars>> <br>Set merc missing flag <<set $mercUnits[_i].commissars = 0>> diff --git a/src/SecExp/widgets/unitsWidgets.tw b/src/SecExp/widgets/unitsWidgets.tw index 96de0c3a899..afe8d944129 100644 --- a/src/SecExp/widgets/unitsWidgets.tw +++ b/src/SecExp/widgets/unitsWidgets.tw @@ -32,6 +32,9 @@ <<else>> The unit is fanatically loyal. They would prefer death over betrayal. <</if>> + <<if $args[0].cyber == 1>> + The soldiers of the unit have been enhanced with numerous cyberaugmentations which greatly increase their raw power. + <</if>> <<if $args[0].medics == 1>> The unit has a dedicated squad of medics that will follow them in battle. <</if>> @@ -75,6 +78,9 @@ <<else>> The unit is fanatically loyal. They would prefer death over betrayal. <</if>> + <<if $args[0].cyber == 1>> + The soldiers of the unit have been enhanced with numerous cyberaugmentations which greatly increase their raw power. + <</if>> <<if $args[0].medics == 1>> The unit has a dedicated squad of medics that will follow them in battle. <</if>> @@ -118,6 +124,9 @@ <<else>> The unit is fanatically loyal. They would prefer death over betrayal. <</if>> + <<if $args[0].cyber == 1>> + The soldiers of the unit have been enhanced with numerous cyberaugmentations which greatly increase their raw power. + <</if>> <<if $args[0].medics == 1>> The unit has a dedicated squad of medics that will follow them in battle. <</if>> -- GitLab