diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js index 1431d6fce2ededfced2ef1ba4ba50a4acbeb892d..912d6db8e39999cc907409abbd977ca43263dc4a 100644 --- a/js/003-data/gameVariableData.js +++ b/js/003-data/gameVariableData.js @@ -481,16 +481,11 @@ App.Data.resetOnNGPlus = { secBotsUpgradeCost: 250, equipUpgradeCost: 250, maxTroops: 30, - militiaTotalManpower: 0, militiaFreeManpower: 0, - militiaEmployedManpower: 0, militiaTotalCasualties: 0, - slavesEmployedManpower: 0, slavesTotalCasualties: 0, slavesMaxTroops: 30, - mercTotalManpower: 0, mercFreeManpower: 0, - mercEmployedManpower: 0, mercTotalCasualties: 0, createdSlavesUnits: 0, createdMilitiaUnits: 0, diff --git a/src/Mods/SecExp/SecExpBackwardCompatibility.tw b/src/Mods/SecExp/SecExpBackwardCompatibility.tw index 109096932f6f2f5d5420292cbdbfe7ed2a8c4b70..9629e43a9c7a95b6ad6f85a9859d2f632331cf8f 100644 --- a/src/Mods/SecExp/SecExpBackwardCompatibility.tw +++ b/src/Mods/SecExp/SecExpBackwardCompatibility.tw @@ -492,39 +492,24 @@ <<if ndef $militiaFounded>> <<set $militiaFounded = 0>> <</if>> -<<if ndef $militiaTotalManpower>> - <<set $militiaTotalManpower = 0>> -<</if>> <<if ndef $militiaFreeManpower>> <<set $militiaFreeManpower = 0>> <</if>> -<<if ndef $militiaEmployedManpower>> - <<set $militiaEmployedManpower = 0>> -<</if>> <<if ndef $militiaTotalCasualties>> <<set $militiaTotalCasualties = 0>> <</if>> <<if ndef $slavesOfficers>> <<set $slavesOfficers = 0>> <</if>> -<<if ndef $slavesEmployedManpower>> - <<set $slavesEmployedManpower = 0>> -<</if>> <<if ndef $slavesTotalCasualties>> <<set $slavesTotalCasualties = 0>> <</if>> <<if ndef $slavesMaxTroops>> <<set $slavesMaxTroops = 30>> <</if>> -<<if ndef $mercTotalManpower>> - <<set $mercTotalManpower = 0>> -<</if>> <<if ndef $mercFreeManpower>> <<set $mercFreeManpower = 0>> <</if>> -<<if ndef $mercEmployedManpower>> - <<set $mercEmployedManpower = 0>> -<</if>> <<if ndef $mercTotalCasualties>> <<set $mercTotalCasualties = 0>> <</if>> @@ -644,10 +629,18 @@ <<set $SavedSFI = $SFIntervention>> <</if>> +/* init merc manpower if it wasn't done already */ +<<if $wasToggledBefore == 0>> + <<if $mercenaries == 1>> + <<set $mercFreeManpower = random(5,20)>> + <<elseif $mercenaries > 1>> + <<set $mercFreeManpower = random(10,30)>> + <</if>> +<</if>> + /* recalculation widgets */ <<fixBrokenUnits>> <<fixBrokenStats>> -<<recalcManpower>> <<set $wasToggledBefore = 1>> <br>Missing Security Expansion variables set. All done! diff --git a/src/Mods/SecExp/buildings/secBarracks.tw b/src/Mods/SecExp/buildings/secBarracks.tw index 0f7f271b6b3eca2137e435bba36837d353b11164..3e46b03a25221d2aeb5aca886516c6c633c80d41 100644 --- a/src/Mods/SecExp/buildings/secBarracks.tw +++ b/src/Mods/SecExp/buildings/secBarracks.tw @@ -121,7 +121,7 @@ While this a sore sight for many citizens of $arcologies[0].name, the barracks s <hr> __Units__ <br> -Your current maximum number of units is <<print App.SecExp.battle.maxUnits()>> (<<print num($secBots.maxTroops+(50*App.SecExp.battle.maxUnits()))>> troops), <<print App.SecExp.battle.activeUnits()>> (<<print num($secBots.maxTroops+($slavesEmployedManpower)+($militiaEmployedManpower)+($mercEmployedManpower))>> troops) are active and <<print (2 * App.SecExp.battle.deploySpeed())>> units can be deployed. <<if $SecExp.buildings.barracks.upgrades.luxury > 0>>The barracks provides <<print $SecExp.buildings.barracks.upgrades.luxury * 5>>% bonus morale when battle occurs.<</if>> <<if $SecExp.buildings.barracks.upgrades.training > 0>>The training facility will increase the effectiveness of your units with time.<</if>> +Your current maximum number of units is <<print App.SecExp.battle.maxUnits()>> (<<print num($secBots.maxTroops+(50*App.SecExp.battle.maxUnits()))>> troops), <<print App.SecExp.battle.activeUnits()>> (<<print num($secBots.maxTroops+App.SecExp.Manpower.employedOverall)>> troops) are active and <<print (2 * App.SecExp.battle.deploySpeed())>> units can be deployed. <<if $SecExp.buildings.barracks.upgrades.luxury > 0>>The barracks provides <<print $SecExp.buildings.barracks.upgrades.luxury * 5>>% bonus morale when battle occurs.<</if>> <<if $SecExp.buildings.barracks.upgrades.training > 0>>The training facility will increase the effectiveness of your units with time.<</if>> <br> <<set _options = new App.UI.OptionsGroup()>> <<run _options.addOption("Unit descriptions are", "unitDescriptions", $SecExp.settings) @@ -166,7 +166,7 @@ Your current maximum number of units is <<print App.SecExp.battle.maxUnits()>> ( <br><br>__Slaves__ <br>/* slaves */ -You are free to organize your menial slaves into fighting units. Currently you have <<print num($menials)>> slaves available, while <<print num($slavesEmployedManpower)>> are already employed as soldiers. During all your battles you lost a total of <<print num($slavesTotalCasualties)>>. +You are free to organize your menial slaves into fighting units. Currently you have <<print num($menials)>> slaves available, while <<print num(App.SecExp.Manpower.employedSlave)>> are already employed as soldiers. During all your battles you lost a total of <<print num($slavesTotalCasualties)>>. <<run MenialPopCap()>> <<set _menialPrice = menialSlaveCost()>> <<set _bulkMax = $PopCap-$menials-$fuckdolls-$menialBioreactors>> @@ -210,7 +210,6 @@ You are free to organize your menial slaves into fighting units. Currently you h <<generateUnitID _newUnit>> <<set $slaveUnits.push(_newUnit)>> <<set $menials -= _newUnit.troops>> - <<set $slavesEmployedManpower += _newUnit.troops>> <</link>> <</if>> <<for _i = 0; _i < _sL; _i++>> @@ -220,7 +219,6 @@ You are free to organize your menial slaves into fighting units. Currently you h <br> <<link "Disband the unit" "secBarracks">> <<set $menials += $slaveUnits[_i].troops>> - <<set $slavesEmployedManpower -= $slaveUnits[_i].troops>> <<set $slaveUnits.deleteAt(_i)>> <</link>> | @@ -234,12 +232,10 @@ You are free to organize your menial slaves into fighting units. Currently you h <<link "Replenish unit" "secBarracks">> <<if $menials >= $slaveUnits[_i].maxTroops - $slaveUnits[_i].troops>> <<set $menials -= $slaveUnits[_i].maxTroops - $slaveUnits[_i].troops>> - <<set $slavesEmployedManpower += $slaveUnits[_i].maxTroops - $slaveUnits[_i].troops>> <<set _expLoss = ($slaveUnits[_i].maxTroops - $slaveUnits[_i].troops) / $slaveUnits[_i].troops>> <<set $slaveUnits[_i].training -= $slaveUnits[_i].training * _expLoss>> <<set $slaveUnits[_i].troops = $slaveUnits[_i].maxTroops>> <<else>> - <<set $slavesEmployedManpower += $menials>> <<set _expLoss = $menials / $slaveUnits[_i].troops>> <<set $slaveUnits[_i].training -= $slaveUnits[_i].training * _expLoss>> <<set $slaveUnits[_i].troops += $menials>> @@ -265,12 +261,10 @@ You are free to organize your menial slaves into fighting units. Currently you h | <<link "Reform the unit" "secBarracks">> <<if $menials >= $slaveUnits[_i].maxTroops>> - <<set $slavesEmployedManpower += $slaveUnits[_i].maxTroops>> <<set $menials -= $slaveUnits[_i].maxTroops>> <<set $slaveUnits[_i].troops = $slaveUnits[_i].maxTroops>> <<set $slaveUnits[_i].training = 0>> <<else>> - <<set $slavesEmployedManpower += $menials>> <<set $slaveUnits[_i].troops += $menials>> <<set $menials = 0>> <<set $slaveUnits[_i].training = 0>> @@ -296,7 +290,7 @@ __Militia__ <<elseif $militarizedSociety == 1>> With the adoption of a militarized society, your available manpower has swelled to be approximately 15% of the arcology's citizens population. <</if>> - Your current total manpower is <<print num($militiaTotalManpower)>>, of which <<print num($militiaEmployedManpower)>> is in active duty. You lost in total <<print num($militiaTotalCasualties)>> citizens, leaving you with <<print num($militiaFreeManpower)>> available citizens. + Your current total manpower is <<print num(App.SecExp.Manpower.totalMilitia)>>, of which <<print num(App.SecExp.Manpower.employedMilitia)>> is in active duty. You lost in total <<print num($militiaTotalCasualties)>> citizens, leaving you with <<print num($militiaFreeManpower)>> available citizens. <<set _mL = $militiaUnits.length>> <<if $militiaFreeManpower > 0 && App.SecExp.battle.activeUnits() < App.SecExp.battle.maxUnits()>> <br><br> @@ -319,7 +313,6 @@ __Militia__ <<generateUnitID _newUnit>> <<set $militiaUnits.push(_newUnit)>> <<set $militiaFreeManpower -= _newUnit.troops>> - <<set $militiaEmployedManpower += _newUnit.troops>> <</link>> <</if>> <<for _i = 0; _i < _mL; _i++>> @@ -329,7 +322,6 @@ __Militia__ <br> <<link "Disband the unit" "secBarracks">> <<set $militiaFreeManpower += $militiaUnits[_i].troops>> - <<set $militiaEmployedManpower -= $militiaUnits[_i].troops>> <<set $militiaUnits.deleteAt(_i)>> <</link>> | @@ -343,12 +335,10 @@ __Militia__ <<link "Replenish unit" "secBarracks">> <<if $militiaFreeManpower >= $militiaUnits[_i].maxTroops - $militiaUnits[_i].troops>> <<set $militiaFreeManpower -= $militiaUnits[_i].maxTroops - $militiaUnits[_i].troops>> - <<set $militiaEmployedManpower += $militiaUnits[_i].maxTroops - $militiaUnits[_i].troops>> <<set _expLoss = ($militiaUnits[_i].maxTroops - $militiaUnits[_i].troops) / $militiaUnits[_i].troops>> <<set $militiaUnits[_i].training -= $militiaUnits[_i].training * _expLoss>> <<set $militiaUnits[_i].troops = $militiaUnits[_i].maxTroops>> <<else>> - <<set $militiaEmployedManpower += $militiaFreeManpower>> <<set _expLoss = $militiaFreeManpower / $militiaUnits[_i].troops>> <<set $militiaUnits[_i].training -= $militiaUnits[_i].training * _expLoss>> <<set $militiaUnits[_i].troops += $militiaFreeManpower>> @@ -360,7 +350,6 @@ __Militia__ <br> <<link "Disband the unit" "secBarracks">> <<set $militiaFreeManpower += $militiaUnits[_i].troops>> - <<set $militiaEmployedManpower -= $militiaUnits[_i].troops>> <<set _elimUnit = $militiaUnits[_i]>> <<set _newMilitiaUnits = []>> <<for _y = 0; _y < _sL; _y++>> @@ -375,12 +364,10 @@ __Militia__ | <<link "Reform the unit" "secBarracks">> <<if $militiaFreeManpower >= $militiaUnits[_i].maxTroops>> - <<set $militiaEmployedManpower += $militiaUnits[_i].maxTroops>> <<set $militiaFreeManpower -= $militiaUnits[_i].maxTroops>> <<set $militiaUnits[_i].troops = $militiaUnits[_i].maxTroops>> <<set $militiaUnits[_i].training = 0>> <<else>> - <<set $militiaEmployedManpower += $militiaFreeManpower>> <<set $militiaUnits[_i].troops += $militiaFreeManpower>> <<set $militiaFreeManpower = 0>> <<set $militiaUnits[_i].training = 0>> @@ -402,7 +389,7 @@ __Militia__ __Mercenaries__ <br>/* mercenaries */ With the installation of a mercenary company in the arcology, many other are attracted to your free city, hoping to land a contract with you. - You are able to organize them in units to use in the defense of the arcology. Excluding the defense force you set up, there are <<print num($mercTotalManpower)>> mercenaries in your arcology, of which <<print num($mercEmployedManpower)>> actively employed and <<print $mercFreeManpower>> not yet under contract. In total <<print num($mercTotalCasualties)>> mercenaries have died defending your arcology. + You are able to organize them in units to use in the defense of the arcology. Excluding the defense force you set up, there are <<print num(App.SecExp.Manpower.totalMerc)>> mercenaries in your arcology, of which <<print num(App.SecExp.Manpower.employedMerc)>> actively employed and <<print num($mercFreeManpower)>> not yet under contract. In total <<print num($mercTotalCasualties)>> mercenaries have died defending your arcology. <<set _meL = $mercUnits.length>> <<if $mercFreeManpower > 0 && App.SecExp.battle.activeUnits() < App.SecExp.battle.maxUnits()>> <br><br> @@ -425,7 +412,6 @@ __Mercenaries__ <<generateUnitID _newUnit>> <<set $mercUnits.push(_newUnit)>> <<set $mercFreeManpower -= _newUnit.troops>> - <<set $mercEmployedManpower += _newUnit.troops>> <</link>> <</if>> <<for _i = 0; _i < _meL; _i++>> @@ -435,7 +421,6 @@ __Mercenaries__ <br> <<link "Disband the unit" "secBarracks">> <<set $mercFreeManpower += $mercUnits[_i].troops>> - <<set $mercEmployedManpower -= $mercUnits[_i].troops>> <<set $mercUnits.deleteAt(_i)>> <</link>> | @@ -449,12 +434,10 @@ __Mercenaries__ <<link "Replenish unit" "secBarracks">> <<if $mercFreeManpower >= $mercUnits[_i].maxTroops - $mercUnits[_i].troops>> <<set $mercFreeManpower -= $mercUnits[_i].maxTroops - $mercUnits[_i].troops>> - <<set $mercEmployedManpower += $mercUnits[_i].maxTroops - $mercUnits[_i].troops>> <<set _expLoss = ($mercUnits[_i].maxTroops - $mercUnits[_i].troops) / $mercUnits[_i].troops>> <<set $mercUnits[_i].training -= $mercUnits[_i].training * _expLoss>> <<set $mercUnits[_i].troops = $mercUnits[_i].maxTroops>> <<else>> - <<set $mercEmployedManpower += $mercFreeManpower>> <<set _expLoss = $mercFreeManpower / $mercUnits[_i].troops>> <<set $mercUnits[_i].training -= $mercUnits[_i].training * _expLoss>> <<set $mercUnits[_i].troops += $mercFreeManpower>> @@ -480,12 +463,10 @@ __Mercenaries__ | <<link "Reform the unit" "secBarracks">> <<if $mercFreeManpower >= $mercUnits[_i].maxTroops>> - <<set $mercEmployedManpower += $mercUnits[_i].maxTroops>> <<set $mercFreeManpower -= $mercUnits[_i].maxTroops>> <<set $mercUnits[_i].troops = $mercUnits[_i].maxTroops>> <<set $mercUnits[_i].training = 0>> <<else>> - <<set $mercEmployedManpower += $mercFreeManpower>> <<set $mercUnits[_i].troops += $mercFreeManpower>> <<set $mercFreeManpower = 0>> <<set $mercUnits[_i].training = 0>> diff --git a/src/Mods/SecExp/js/secExp.js b/src/Mods/SecExp/js/secExp.js index a91b4acbf1e79b5b82cda4284173dc1571b9c55e..9469924406dcf9161a58a4093ec47c2ccea450ff 100644 --- a/src/Mods/SecExp/js/secExp.js +++ b/src/Mods/SecExp/js/secExp.js @@ -870,3 +870,37 @@ App.SecExp.describeUnit = (function() { App.SecExp.mercenaryAvgLoyalty = function() { return _.mean(V.mercUnits.filter((u) => u.active === 1).map((u) => u.loyalty)); }; + +App.SecExp.Manpower = { + get totalMilitia() { + return this.employedMilitia + this.freeMilitia; + }, + + get employedMilitia() { + return V.militiaUnits.reduce((acc, cur) => acc + cur.troops, 0); + }, + + get freeMilitia() { + return V.militiaFreeManpower; + }, + + get employedSlave() { + return V.slaveUnits.reduce((acc, cur) => acc + cur.troops, 0); + }, + + get totalMerc() { + return this.employedMerc + this.freeMerc; + }, + + get employedMerc() { + return V.mercUnits.reduce((acc, cur) => acc + cur.troops, 0); + }, + + get freeMerc() { + return V.mercFreeManpower; + }, + + get employedOverall() { + return this.employedMerc + this.employedMilitia + this.employedSlave; + } +}; diff --git a/src/Mods/SecExp/rebellionReport.tw b/src/Mods/SecExp/rebellionReport.tw index 0db2edca35816e3fea5a8308fe394476a98bec1f..47661795c5aa89473c34174eeab5eba78da79bd0 100644 --- a/src/Mods/SecExp/rebellionReport.tw +++ b/src/Mods/SecExp/rebellionReport.tw @@ -912,7 +912,6 @@ <<include "unitsRebellionReport">> /* resets variables and flags */ -<<recalcManpower>> <<set $attackTroops = 0>> <<set $attackEquip = 0>> <<set $enemyLosses = 0>> diff --git a/src/Mods/SecExp/securityReport.tw b/src/Mods/SecExp/securityReport.tw index 1ff08137fd66c0608a7cff86b4f0cadfc8bdc2f0..e0b14ca2d2db91ce2618025e25639d9c8bc24b37 100644 --- a/src/Mods/SecExp/securityReport.tw +++ b/src/Mods/SecExp/securityReport.tw @@ -454,9 +454,8 @@ Due to the deterioration of the old world countries, organized crime focuses mor <</if>> <</if>> <<if $militiaFounded == 1>> - <<set _recruits = Math.trunc((_recruitLimit * $ACitizens - ($militiaTotalManpower - $militiaTotalCasualties)) / 20 * _recruitsMultiplier)>> + <<set _recruits = Math.trunc((_recruitLimit * $ACitizens - App.SecExp.Manpower.totalMilitia) / 20 * _recruitsMultiplier)>> <<if _recruits > 0>> - <<set $militiaTotalManpower += _recruits>> <<set $militiaFreeManpower += _recruits>> This week <<print _recruits>> citizens joined the militia. <<elseif $militarizedSociety == 1>> @@ -514,14 +513,12 @@ Due to the deterioration of the old world countries, organized crime focuses mor <</if>> <<set _newMercs = Math.trunc(_newMercs / 2)>> <<if _newMercs > 0>> - <<set $mercTotalManpower += _newMercs>> <<set $mercFreeManpower += _newMercs>> This week <<print _newMercs>> mercenaries reached the arcology. <<else>> This week no new mercenaries reached the arcology. <</if>> <<if $mercFreeManpower > 2000>> - <<set $mercTotalManpower -= $mercFreeManpower - 2000>> <<set $mercFreeManpower = 2000>> <</if>> <br> diff --git a/src/Mods/SecExp/seeUnit.tw b/src/Mods/SecExp/seeUnit.tw index 94a3a769febd45bf0247ea49dcae1ccca5b25fdb..882eb5e5987638a43c70c33677209683af559c0e 100644 --- a/src/Mods/SecExp/seeUnit.tw +++ b/src/Mods/SecExp/seeUnit.tw @@ -62,12 +62,10 @@ <<link "Replenish unit" "seeUnit">> <<if $militiaFreeManpower >= $militiaUnits[$targetIndex].maxTroops - $militiaUnits[$targetIndex].troops>> <<set $militiaFreeManpower -= $militiaUnits[$targetIndex].maxTroops - $militiaUnits[$targetIndex].troops>> - <<set $militiaEmployedManpower += $militiaUnits[$targetIndex].maxTroops - $militiaUnits[$targetIndex].troops>> <<set _expLoss = ($militiaUnits[$targetIndex].maxTroops - $militiaUnits[$targetIndex].troops) / $militiaUnits[$targetIndex].troops>> <<set $militiaUnits[$targetIndex].training -= $militiaUnits[$targetIndex].training * _expLoss>> <<set $militiaUnits[$targetIndex].troops = $militiaUnits[$targetIndex].maxTroops>> <<else>> - <<set $militiaEmployedManpower += $militiaFreeManpower>> <<set _expLoss = $militiaFreeManpower / $militiaUnits[$targetIndex].troops>> <<set $militiaUnits[$targetIndex].training -= $militiaUnits[$targetIndex].training * _expLoss>> <<set $militiaUnits[$targetIndex].troops += $militiaFreeManpower>> @@ -171,12 +169,10 @@ <<link "Replenish unit" "seeUnit">> <<if $menials >= $slaveUnits[$targetIndex].maxTroops - $slaveUnits[$targetIndex].troops>> <<set $menials -= $slaveUnits[$targetIndex].maxTroops - $slaveUnits[$targetIndex].troops>> - <<set $slavesEmployedManpower += $slaveUnits[$targetIndex].maxTroops - $slaveUnits[$targetIndex].troops>> <<set _expLoss = ($slaveUnits[$targetIndex].maxTroops - $slaveUnits[$targetIndex].troops) / $slaveUnits[$targetIndex].troops>> <<set $slaveUnits[$targetIndex].training -= $slaveUnits[$targetIndex].training * _expLoss>> <<set $slaveUnits[$targetIndex].troops = $slaveUnits[$targetIndex].maxTroops>> <<else>> - <<set $slavesEmployedManpower += $menials>> <<set _expLoss = $menials / $slaveUnits[$targetIndex].troops>> <<set $slaveUnits[$targetIndex].training -= $slaveUnits[$targetIndex].training * _expLoss>> <<set $slaveUnits[$targetIndex].troops += $menials>> @@ -279,12 +275,10 @@ <<link "Replenish unit" "seeUnit">> <<if $mercFreeManpower >= $mercUnits[$targetIndex].maxTroops - $mercUnits[$targetIndex].troops>> <<set $mercFreeManpower -= $mercUnits[$targetIndex].maxTroops - $mercUnits[$targetIndex].troops>> - <<set $mercEmployedManpower += $mercUnits[$targetIndex].maxTroops - $mercUnits[$targetIndex].troops>> <<set _expLoss = ($mercUnits[$targetIndex].maxTroops - $mercUnits[$targetIndex].troops) / $mercUnits[$targetIndex].troops>> <<set $mercUnits[$targetIndex].training -= $mercUnits[$targetIndex].training * _expLoss>> <<set $mercUnits[$targetIndex].troops = $mercUnits[$targetIndex].maxTroops>> <<else>> - <<set $mercEmployedManpower += $mercFreeManpower>> <<set _expLoss = $mercFreeManpower / $mercUnits[$targetIndex].troops>> <<set $mercUnits[$targetIndex].training -= $mercUnits[$targetIndex].training * _expLoss>> <<set $mercUnits[$targetIndex].troops += $mercFreeManpower>> diff --git a/src/Mods/SecExp/unitsBattleReport.tw b/src/Mods/SecExp/unitsBattleReport.tw index 74082e8238b03b6b7efaee6112785e44639d75c5..032c274abac4d5f4ce3a3fb140e7104c85511415 100644 --- a/src/Mods/SecExp/unitsBattleReport.tw +++ b/src/Mods/SecExp/unitsBattleReport.tw @@ -164,9 +164,7 @@ Some men were saved by their medics. <</if>> <<set $militiaUnits[_j].troops -= Math.trunc(Math.clamp(_loss - _med,0,$militiaUnits[_j].maxTroops))>> - <<set $militiaEmployedManpower -= Math.trunc(_loss - _med)>> <<set $militiaTotalCasualties += Math.trunc(_loss - _med)>> - <<set $militiaTotalManpower -= Math.trunc(_loss - _med)>> <<if $militiaUnits[_j].training < 100>> <<if random(1,100) > 60>> Experience has increased. @@ -207,9 +205,7 @@ Some men were saved by their medics. <</if>> <<set $slaveUnits[_j].troops -= Math.trunc(Math.clamp(_loss - _med,0,$slaveUnits[_j].maxTroops))>> - <<set $slavesEmployedManpower -= Math.trunc(_loss - _med)>> <<set $slavesTotalCasualties += Math.trunc(_loss - _med)>> - <<set $menials -= Math.clamp($menials, 0, Math.trunc(_loss - _med))>> <<if $slaveUnits[_j].training < 100>> <<if random(1,100) > 60>> Experience has increased. @@ -250,9 +246,7 @@ Some men were saved by their medics. <</if>> <<set $mercUnits[_j].troops -= Math.trunc(Math.clamp(_loss - _med,0,$mercUnits[_j].maxTroops))>> - <<set $mercEmployedManpower -= Math.trunc(_loss - _med)>> <<set $mercTotalCasualties += Math.trunc(_loss - _med)>> - <<set $mercTotalManpower -= Math.trunc(_loss - _med)>> <<if $mercUnits[_j].training < 100>> <<if random(1,100) > 60>> Experience has increased. diff --git a/src/Mods/SecExp/unitsRebellionReport.tw b/src/Mods/SecExp/unitsRebellionReport.tw index 65ed13047d18f4cf2de7bc4691be9af413488568..4611aabeacb2a5a904ffb8e5baa808866fa27a30 100644 --- a/src/Mods/SecExp/unitsRebellionReport.tw +++ b/src/Mods/SecExp/unitsRebellionReport.tw @@ -70,7 +70,6 @@ <<set $militiaUnits[_i].loyalty = Math.clamp($militiaUnits[_i].loyalty - random(10,40),0,100)>> <</if>> <</for>> - <<recalcManpower>> <<replace "#militiaResult">> <br>Units dissolved. <</replace>> @@ -79,7 +78,6 @@ <br><<link "Purge the dissidents and dissolve the units">> <<run removeUnits(_militiaRebelledID)>> <<set $militiaFreeManpower += _militiaManpower * 0.5>> - <<recalcManpower>> <<replace "#militiaResult">> <br>Dissidents purged and units dissolved. <</replace>> @@ -92,7 +90,6 @@ <<set $militiaUnits[_i].loyalty = Math.clamp($militiaUnits[_i].loyalty + random(10,40),0,100)>> <</if>> <</for>> - <<recalcManpower>> <<replace "#militiaResult">> <br>Units executed. Dissent will not be tolerated. <</replace>> @@ -123,7 +120,6 @@ <<set $slaveUnits[_i].loyalty = Math.clamp($slaveUnits[_i].loyalty - random(10,40),0,100)>> <</if>> <</for>> - <<recalcManpower>> <<replace "#slaveResult">> <br>Units dissolved. <</replace>> @@ -132,7 +128,6 @@ <br><<link "Purge the dissidents and dissolve the units">> <<run removeUnits(_slaveRebelledID)>> <<set $menials += _slaveManpower * 0.5>> - <<recalcManpower>> <<replace "#slaveResult">> <br>Dissidents purged and units dissolved. <</replace>> @@ -145,7 +140,6 @@ <<set $slaveUnits[_i].loyalty = Math.clamp($slaveUnits[_i].loyalty + random(10,40),0,100)>> <</if>> <</for>> - <<recalcManpower>> <<replace "#slaveResult">> <br>Units executed. Dissent will not be tolerated. <</replace>> @@ -176,7 +170,6 @@ <<set $mercUnits[_i].loyalty = Math.clamp($mercUnits[_i].loyalty - random(10,40),0,100)>> <</if>> <</for>> - <<recalcManpower>> <<replace "#mercResult">> <br>Units dissolved. <</replace>> @@ -185,7 +178,6 @@ <br><<link "Purge the dissidents and dissolve the units">> <<run removeUnits(_mercRebelledID)>> <<set $mercFreeManpower += _mercManpower * 0.5>> - <<recalcManpower>> <<replace "#mercResult">> <br>Dissidents purged and units dissolved. <</replace>> @@ -198,7 +190,6 @@ <<set $mercUnits[_i].loyalty = Math.clamp($mercUnits[_i].loyalty + random(10,40),0,100)>> <</if>> <</for>> - <<recalcManpower>> <<replace "#mercResult">> <br>Units executed. Dissent will not be tolerated. <</replace>> @@ -247,7 +238,6 @@ <</if>> <<run cashX(forceNeg(1000 * _mercRebelledID.length), "war")>> <<run removeUnits(_mercRebelledID)>> - <<recalcManpower>> <</if>> <<elseif $losses > 0>> @@ -400,9 +390,7 @@ Some men were saved by their medics. <</if>> <<set $militiaUnits[_j].troops -= Math.trunc(Math.clamp(_loss - _med,0,$militiaUnits[_j].maxTroops))>> - <<set $militiaEmployedManpower -= Math.trunc(_loss - _med)>> <<set $militiaTotalCasualties += Math.trunc(_loss - _med)>> - <<set $militiaTotalManpower -= Math.trunc(_loss - _med)>> <<if $militiaUnits[_j].training < 100>> <<if random(1,100) > 60>> Experience has increased. @@ -448,9 +436,7 @@ Some men were saved by their medics. <</if>> <<set $slaveUnits[_j].troops -= Math.trunc(Math.clamp(_loss - _med,0,$slaveUnits[_j].maxTroops))>> - <<set $slavesEmployedManpower -= _loss - _med>> <<set $slavesTotalCasualties += _loss - _med>> - <<set $menials -= Math.trunc(_loss - _med)>> <<if $slaveUnits[_j].training < 100>> <<if random(1,100) > 60>> Experience gained. @@ -491,9 +477,7 @@ Some men were saved by their medics. <</if>> <<set $mercUnits[_j].troops -= Math.trunc(Math.clamp(_loss - _med,0,$mercUnits[_j].maxTroops))>> - <<set $mercEmployedManpower -= Math.trunc(_loss - _med)>> <<set $mercTotalCasualties += Math.trunc(_loss - _med)>> - <<set $mercTotalManpower -= Math.trunc(_loss - _med)>> <<if $mercUnits[_j].training < 100>> <<if random(1,100) > 60>> Experience gained. @@ -533,7 +517,6 @@ <<set $militiaUnits[_i].loyalty = Math.clamp($militiaUnits[_i].loyalty - random(10,40),0,100)>> <</if>> <</for>> - <<recalcManpower>> <<replace "#militiaResult">> <br>Units dissolved. <</replace>> @@ -542,7 +525,6 @@ <br><<link "Purge the dissidents and dissolve the units">> <<run removeUnits(_militiaRebelledID)>> <<set $militiaFreeManpower += _militiaManpower * 0.5>> - <<recalcManpower>> <<replace "#militiaResult">> <br>Dissidents purged and units dissolved. <</replace>> @@ -555,7 +537,6 @@ <<set $militiaUnits[_i].loyalty = Math.clamp($militiaUnits[_i].loyalty + random(10,40),0,100)>> <</if>> <</for>> - <<recalcManpower>> <<replace "#militiaResult">> <br>Units executed. Dissent will not be tolerated. <</replace>> @@ -586,7 +567,6 @@ <<set $slaveUnits[_i].loyalty = Math.clamp($slaveUnits[_i].loyalty - random(10,40),0,100)>> <</if>> <</for>> - <<recalcManpower>> <<replace "#slaveResult">> <br>Units dissolved. <</replace>> @@ -595,7 +575,6 @@ <br><<link "Purge the dissidents and dissolve the units">> <<run removeUnits(_slaveRebelledID)>> <<set $menials += _slaveManpower * 0.5>> - <<recalcManpower>> <<replace "#slaveResult">> <br>Dissidents purged and units dissolved. <</replace>> @@ -608,7 +587,6 @@ <<set $slaveUnits[_i].loyalty = Math.clamp($slaveUnits[_i].loyalty + random(10,40),0,100)>> <</if>> <</for>> - <<recalcManpower>> <<replace "#slaveResult">> <br>Units executed. Dissent will not be tolerated. <</replace>> @@ -639,7 +617,6 @@ <<set $mercUnits[_i].loyalty = Math.clamp($mercUnits[_i].loyalty - random(10,40),0,100)>> <</if>> <</for>> - <<recalcManpower>> <<replace "#mercResult">> <br>Units dissolved. <</replace>> @@ -648,7 +625,6 @@ <br><<link "Purge the dissidents and dissolve the units">> <<run removeUnits(_mercRebelledID)>> <<set $mercFreeManpower += _mercManpower * 0.5>> - <<recalcManpower>> <<replace "#mercResult">> <br>Dissidents purged and units dissolved. <</replace>> @@ -661,7 +637,6 @@ <<set $mercUnits[_i].loyalty = Math.clamp($mercUnits[_i].loyalty + random(10,40),0,100)>> <</if>> <</for>> - <<recalcManpower>> <<replace "#mercResult">> <br>Units executed. Dissent will not be tolerated. <</replace>> @@ -712,7 +687,6 @@ <</if>> <<run cashX(forceNeg(1000 * _mercRebelledID.length), "war")>> <<run removeUnits(_mercRebelledID)>> - <<recalcManpower>> <</if>> <<else>> <br>@@.red;Error: losses are a negative number or NaN@@ diff --git a/src/Mods/SecExp/widgets/miscSecExpWidgets.tw b/src/Mods/SecExp/widgets/miscSecExpWidgets.tw index 9a7bec5a15f1c36abdaf2ecf252a00f8ad2af7e1..db9bddea9276f8d41ba7dbf20fc24ed804d7367f 100644 --- a/src/Mods/SecExp/widgets/miscSecExpWidgets.tw +++ b/src/Mods/SecExp/widgets/miscSecExpWidgets.tw @@ -1,45 +1,5 @@ :: miscSecExpWidgets [widget nobr] -<<widget "recalcManpower">> - <<if $wasToggledBefore == 0>> - <<if $mercenaries == 1>> - <<set $mercFreeManpower = random(5,20)>> - <<elseif $mercenaries > 1>> - <<set $mercFreeManpower = random(10,30)>> - <</if>> - <</if>> - - <<set _correctEmployedMP = 0>> - <<for _i = 0; _i < $slaveUnits.length; _i++>> - <<set _correctEmployedMP += $slaveUnits[_i].troops>> - <</for>> - - <<if $slavesEmployedManpower != _correctEmployedMP>> - <<set $slavesEmployedManpower = _correctEmployedMP>> - <</if>> - - <<set _correctEmployedMP = 0>> - <<for _i = 0; _i < $militiaUnits.length; _i++>> - <<set _correctEmployedMP += $militiaUnits[_i].troops>> - <</for>> - - <<if $militiaEmployedManpower != _correctEmployedMP>> - <<set $militiaEmployedManpower = _correctEmployedMP>> - <</if>> - - <<set _correctEmployedMP = 0>> - <<for _i = 0; _i < $mercUnits.length; _i++>> - <<set _correctEmployedMP += $mercUnits[_i].troops>> - <</for>> - - <<if $mercEmployedManpower != _correctEmployedMP>> - <<set $mercEmployedManpower = _correctEmployedMP>> - <</if>> - - <<set $militiaTotalManpower = $militiaEmployedManpower + $militiaFreeManpower>> - <<set $mercTotalManpower = $mercEmployedManpower + $mercFreeManpower>> -<</widget>> - <<widget "fixBrokenUnits">> <<if ndef $secBots.ID>> <<set $secBots.ID = -1>> @@ -158,30 +118,15 @@ <<if !Number.isInteger($mercTotalCasualties)>> <<set $mercTotalCasualties = 0>> <</if>> - <<if !Number.isInteger($mercEmployedManpower)>> - <<set $mercEmployedManpower = 0>> - <</if>> - <<if !Number.isInteger($mercTotalManpower)>> - <<set $mercTotalManpower = 0>> - <</if>> <<if !Number.isInteger($slavesTotalCasualties)>> <<set $slavesTotalCasualties = 0>> <</if>> - <<if !Number.isInteger($slavesEmployedManpower)>> - <<set $slavesEmployedManpower = 0>> - <</if>> <<if !Number.isInteger($militiaTotalCasualties)>> <<set $militiaTotalCasualties = 0>> <</if>> - <<if !Number.isInteger($militiaEmployedManpower)>> - <<set $militiaEmployedManpower = 0>> - <</if>> <<if !Number.isInteger($militiaFreeManpower)>> <<set $militiaFreeManpower = 0>> <</if>> - <<if !Number.isInteger($militiaTotalManpower)>> - <<set $militiaTotalManpower = 0>> - <</if>> <<if !Number.isInteger($battlesCount)>> <<set $battlesCount = 0>> <</if>> @@ -228,12 +173,10 @@ <<if $militiaUnits[_i].troops < $militiaUnits[_i].maxTroops && $militiaFreeManpower > 0>> <<if $militiaFreeManpower >= $militiaUnits[_i].maxTroops - $militiaUnits[_i].troops>> <<set $militiaFreeManpower -= $militiaUnits[_i].maxTroops - $militiaUnits[_i].troops>> - <<set $militiaEmployedManpower += $militiaUnits[_i].maxTroops - $militiaUnits[_i].troops>> <<set _expLoss = ($militiaUnits[_i].maxTroops - $militiaUnits[_i].troops) / $militiaUnits[_i].troops>> <<set $militiaUnits[_i].training -= $militiaUnits[_i].training * _expLoss>> <<set $militiaUnits[_i].troops = $militiaUnits[_i].maxTroops>> <<else>> - <<set $militiaEmployedManpower += $militiaFreeManpower>> <<set _expLoss = $militiaFreeManpower / $militiaUnits[_i].troops>> <<set $militiaUnits[_i].training -= $militiaUnits[_i].training * _expLoss>> <<set $militiaUnits[_i].troops += $militiaFreeManpower>> @@ -248,12 +191,10 @@ <<if $slaveUnits[_i].troops < $slaveUnits[_i].maxTroops && $menials > 0>> <<if $menials >= $slaveUnits[_i].maxTroops - $slaveUnits[_i].troops>> <<set $menials -= $slaveUnits[_i].maxTroops - $slaveUnits[_i].troops>> - <<set $slavesEmployedManpower += $slaveUnits[_i].maxTroops - $slaveUnits[_i].troops>> <<set _expLoss = ($slaveUnits[_i].maxTroops - $slaveUnits[_i].troops) / $slaveUnits[_i].troops>> <<set $slaveUnits[_i].training -= $slaveUnits[_i].training * _expLoss>> <<set $slaveUnits[_i].troops = $slaveUnits[_i].maxTroops>> <<else>> - <<set $slavesEmployedManpower += $menials>> <<set _expLoss = $menials / $slaveUnits[_i].troops>> <<set $slaveUnits[_i].training -= $slaveUnits[_i].training * _expLoss>> <<set $slaveUnits[_i].troops += $menials>> @@ -268,12 +209,10 @@ <<if $mercUnits[_i].troops < $mercUnits[_i].maxTroops && $mercFreeManpower > 0>> <<if $mercFreeManpower >= $mercUnits[_i].maxTroops - $mercUnits[_i].troops>> <<set $mercFreeManpower -= $mercUnits[_i].maxTroops - $mercUnits[_i].troops>> - <<set $mercEmployedManpower += $mercUnits[_i].maxTroops - $mercUnits[_i].troops>> <<set _expLoss = ($mercUnits[_i].maxTroops - $mercUnits[_i].troops) / $mercUnits[_i].troops>> <<set $mercUnits[_i].training -= $mercUnits[_i].training * _expLoss>> <<set $mercUnits[_i].troops = $mercUnits[_i].maxTroops>> <<else>> - <<set $mercEmployedManpower += $mercFreeManpower>> <<set _expLoss = $mercFreeManpower / $mercUnits[_i].troops>> <<set $mercUnits[_i].training -= $mercUnits[_i].training * _expLoss>> <<set $mercUnits[_i].troops += $mercFreeManpower>> diff --git a/src/gui/options/options.tw b/src/gui/options/options.tw index 8cd9ef8151ef0e2c32b9737cd1363cc392548620..dfef7055c5c1571dde07bdfb74f29aefbb05ba80 100644 --- a/src/gui/options/options.tw +++ b/src/gui/options/options.tw @@ -598,22 +598,18 @@ <td style="text-align:right"> <<link "Give militia manpower" "Options">> <<set $militiaFreeManpower += 30>> - <<recalcManpower>> <</link>> | <<link "Remove militia manpower" "Options">> <<set $militiaFreeManpower = Math.max($militiaFreeManpower - 30, 0)>> - <<recalcManpower>> <</link>> </td> <td style="text-align:left"> <<link "Give mercs manpower" "Options">> <<set $mercFreeManpower += 30>> - <<recalcManpower>> <</link>> | <<link "Remove mercs manpower" "Options">> <<set $mercFreeManpower = Math.max($mercFreeManpower - 30, 0)>> - <<recalcManpower>> <</link>> </td> </tr> diff --git a/src/uncategorized/arcmgmt.tw b/src/uncategorized/arcmgmt.tw index 6210c09c70d1be8ae36286540c86633283df19dd..02f32d7e9052ca5c6e9ed9b799fc9d46826e4c74 100644 --- a/src/uncategorized/arcmgmt.tw +++ b/src/uncategorized/arcmgmt.tw @@ -1145,7 +1145,7 @@ _SCD = Math.trunc(($upperClass * (2 + _slaveDemandU)) + ($topClass * (12 + _slav <</if>> /*ends _weatherFreeze*/ <<if $secExpEnabled == 1>> - <<set $ASlaves = $NPCSlaves + $menials + $fuckdolls + $menialBioreactors + $secMenials + $slavesEmployedManpower>> + <<set $ASlaves = $NPCSlaves + $menials + $fuckdolls + $menialBioreactors + $secMenials + App.SecExp.Manpower.employedSlave>> <<else>> <<set $ASlaves = $NPCSlaves + $menials + $fuckdolls + $menialBioreactors>> <</if>> diff --git a/src/uncategorized/manageArcology.tw b/src/uncategorized/manageArcology.tw index db1af6376a52a4e3a0ba2ab979aa2d08e6a6b138..0b76b7221c2b427d8e8044ed7049d83adc368824 100644 --- a/src/uncategorized/manageArcology.tw +++ b/src/uncategorized/manageArcology.tw @@ -512,9 +512,9 @@ <<if $secExpEnabled == 1 && $SecExp.settings.battle.enabled == 1>> <p> <<if $SF.Toggle === 0||$SF.Active === 0>> - Your army counts <<print num($militiaEmployedManpower + $slavesEmployedManpower + $mercEmployedManpower)>> total soldiers. + Your army counts <<print num(App.SecExp.Manpower.employedOverall)>> total soldiers. <<elseif $SF.Toggle && $SF.Active >= 1>> - Your army counts <<print num($militiaEmployedManpower + $slavesEmployedManpower + $mercEmployedManpower + $SF.ArmySize)>> total soldiers of which <<print num($SF.ArmySize)>> under the special force command and the rest under your direct control. + Your army counts <<print num(App.SecExp.Manpower.employedOverall + $SF.ArmySize)>> total soldiers of which <<print num($SF.ArmySize)>> under the special force command and the rest under your direct control. <</if>> <<if $hasFoughtOnce == 1>> Your troops were involved in <<print num($battlesCount)>> battles of which <<print num($majorBattlesCount)>> were major engagements. You won diff --git a/src/uncategorized/pMercenaries.tw b/src/uncategorized/pMercenaries.tw index d48cf683056380504d0c21371f174cdbe66ec28a..ab117945345578e98eab45b466599e8604fc04aa 100644 --- a/src/uncategorized/pMercenaries.tw +++ b/src/uncategorized/pMercenaries.tw @@ -27,20 +27,18 @@ The budgetary difficulty many old world countries are in has resulted in unemplo <<link "Quarter a squad in the arcology">> <<replace "#result">> You hire some reputable mercenaries, kit them in excellent gear, and quarter them in $arcologies[0].name. The sight of armed men on patrol has @@.red;offended some of the more free-spirited citizens@@ of $arcologies[0].name. - <<run repX(-500, "event")>> + <<run repX(-100, "event")>> <<run cashX(forceNeg(_price), "mercenaries")>> <<set $mercenaries = 1>> - <<set $mercTotalManpower = 15>> <<set $mercFreeManpower = 15>> <</replace>> <</link>> <<if ($PC.skill.warfare >= 50) || ($PC.career == "arcology owner")>>//This will cost <<print cashFormat(_price)>> and some upkeep, @@.springgreen;reduced by your mercenary contacts@@//<<else>>//This will cost <<print cashFormat(5000)>> and incur significant upkeep costs//<</if>> <br><<link "Install a full platoon">> <<replace "#result">> You hire a full platoon of reputable mercenaries with a veteran officer to command them, kit them in excellent gear, and quarter them in $arcologies[0].name. The sight of many armed men on patrol has @@.red;deeply offended some of the more free-spirited citizens@@ of $arcologies[0].name. - <<run repX(-100, "event")>> + <<run repX(-500, "event")>> <<run cashX(forceNeg((_price*2)), "mercenaries")>> <<set $mercenaries = 3>> - <<set $mercTotalManpower = 30>> <<set $mercFreeManpower = 30>> <</replace>> <</link>> <<if ($PC.skill.warfare >= 50) || ($PC.career == "arcology owner")>>//This will cost <<print cashFormat((_price*2))>> and some upkeep, @@.springgreen;reduced by your mercenary contacts@@//<<else>>//This will cost <<print cashFormat(10000)>> and incur significant upkeep costs//<</if>>