diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js index df5e20795791d5fbc3be387a182de46d994860da..03f80e106f913acf671bffe82f6138ee3b2d72f8 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, @@ -601,7 +596,6 @@ App.Data.resetOnNGPlus = { fluid: 0, cumSale: 0, - revivalistLanguage: 0, localEcon: 0, econRate: 0, drugsCost: 0, diff --git a/js/artInfrastructure.js b/js/artInfrastructure.js index b416cc6d4698fb7a6ffb9847ddca2cf51d3697b2..9257c68753fe76272459864a8e5f6817b3cce042 100644 --- a/js/artInfrastructure.js +++ b/js/artInfrastructure.js @@ -33,7 +33,7 @@ App.Art.cacheArtData = function() { } App.Data.Art = {}; - App.Data.Art.Vector = makeCache(document.querySelectorAll('[tags="Twine.image"][name^="Art_Vector"]:not([ame^="Art_Vector_Revamp"])')); + App.Data.Art.Vector = makeCache(document.querySelectorAll('[tags="Twine.image"][name^="Art_Vector"]:not([name^="Art_Vector_Revamp"])')); App.Data.Art.VectorRevamp = makeCache(document.querySelectorAll('[tags="Twine.image"][name^="Art_Vector_Revamp"]')); }; 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..0fbe76bf1a140780ea578f17e03b84edec1c5da8 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>> @@ -193,7 +193,7 @@ You are free to organize your menial slaves into fighting units. Currently you h <br> <<link "Form a new unit" "secBarracks">> <<set _newUnit = { - ID: 0, + ID: App.SecExp.generateUnitID(), platoonName: ordinalSuffix(++$createdSlavesUnits) + " slave platoon", active: 1, isDeployed: 0, @@ -207,10 +207,8 @@ You are free to organize your menial slaves into fighting units. Currently you h SF: 0, commissars: 0, battlesFought: 0}>> - <<generateUnitID _newUnit>> <<set $slaveUnits.push(_newUnit)>> <<set $menials -= _newUnit.troops>> - <<set $slavesEmployedManpower += _newUnit.troops>> <</link>> <</if>> <<for _i = 0; _i < _sL; _i++>> @@ -220,7 +218,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 +231,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 +260,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,13 +289,13 @@ __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> <<link "Form a new unit" "secBarracks">> <<set _newUnit = { - ID: 0, + ID: App.SecExp.generateUnitID(), platoonName: ordinalSuffix(++$createdMilitiaUnits) + " citizens' platoon", active: 1, isDeployed: 0, @@ -316,10 +309,8 @@ __Militia__ SF: 0, commissars: 0, battlesFought: 0}>> - <<generateUnitID _newUnit>> <<set $militiaUnits.push(_newUnit)>> <<set $militiaFreeManpower -= _newUnit.troops>> - <<set $militiaEmployedManpower += _newUnit.troops>> <</link>> <</if>> <<for _i = 0; _i < _mL; _i++>> @@ -329,7 +320,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 +333,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 +348,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 +362,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,13 +387,13 @@ __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> <<link "Form a new unit" "secBarracks">> <<set _newUnit = { - ID: 0, + ID: App.SecExp.generateUnitID(), platoonName: ordinalSuffix(++$createdMercUnits) + " mercenary platoon", active: 1, isDeployed: 0, @@ -422,10 +407,8 @@ __Mercenaries__ SF: 0, commissars: 0, battlesFought: 0}>> - <<generateUnitID _newUnit>> <<set $mercUnits.push(_newUnit)>> <<set $mercFreeManpower -= _newUnit.troops>> - <<set $mercEmployedManpower += _newUnit.troops>> <</link>> <</if>> <<for _i = 0; _i < _meL; _i++>> @@ -435,7 +418,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 +431,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 +460,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/Unit.js b/src/Mods/SecExp/js/Unit.js index 36c0c413185028c6c2d918ba44c283a67e4334cc..cd6bdfa02dc88a5f712005ff65046108295eee0e 100644 --- a/src/Mods/SecExp/js/Unit.js +++ b/src/Mods/SecExp/js/Unit.js @@ -1,3 +1,14 @@ +/** Generate a unit ID for a new unit + * @returns {number} + */ +App.SecExp.generateUnitID = function() { + return Math.max( + V.militiaUnits.reduce((acc, cur) => Math.max(acc, cur.ID), 0), + V.slaveUnits.reduce((acc, cur) => Math.max(acc, cur.ID), 0), + V.mercUnits.reduce((acc, cur) => Math.max(acc, cur.ID), 0) + ) + 1; +}; + /** Player unit factory - get a unit based on its type and index * @param {string} type - "Bots", "Militia", "Slaves", or "Mercs" * @param {number} [index] - must be supplied if type is not "Bots" 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..77e99c5102c43d78eabfc7a00e534ff7145c178d 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>> @@ -64,7 +24,7 @@ <</if>> <<if ndef $militiaUnits[_i].ID>> <br>Set militia missing ID - <<generateUnitID $militiaUnits[_i]>> + <<set $militiaUnits[_i].ID = App.SecExp.generateUnitID()>> <</if>> <<if ndef $militiaUnits[_i].cyber>> <br>Set militia missing flag @@ -95,7 +55,7 @@ <</if>> <<if ndef $slaveUnits[_i].ID>> <br>Set slave missing ID - <<generateUnitID $slaveUnits[_i]>> + <<set $slaveUnits[_i].ID = App.SecExp.generateUnitID()>> <</if>> <<if ndef $slaveUnits[_i].cyber>> <br>Set slave missing flag @@ -126,7 +86,7 @@ <</if>> <<if ndef $mercUnits[_i].ID>> <br>Set merc missing ID - <<generateUnitID $mercUnits[_i]>> + <<set $mercUnits[_i].ID = App.SecExp.generateUnitID()>> <</if>> <<if ndef $mercUnits[_i].cyber>> <br>Set merc missing flag @@ -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/Mods/SecExp/widgets/unitsWidgets.tw b/src/Mods/SecExp/widgets/unitsWidgets.tw deleted file mode 100644 index 9cdc494ef7b54a3bff4d8cdc138d7408d0bc3489..0000000000000000000000000000000000000000 --- a/src/Mods/SecExp/widgets/unitsWidgets.tw +++ /dev/null @@ -1,25 +0,0 @@ -:: unitsWidgets [widget nobr] - -<<widget "generateUnitID">> - <<set _newID = 0>> - - <<for _i = 0; _i < $militiaUnits.length; _i++>> - <<if $militiaUnits[_i].ID >= _newID>> - <<set _newID = $militiaUnits[_i].ID + 1>> - <</if>> - <</for>> - - <<for _i = 0; _i < $slaveUnits.length; _i++>> - <<if $slaveUnits[_i].ID >= _newID>> - <<set _newID = $slaveUnits[_i].ID + 1>> - <</if>> - <</for>> - - <<for _i = 0; _i < $mercUnits.length; _i++>> - <<if $mercUnits[_i].ID >= _newID>> - <<set _newID = $mercUnits[_i].ID + 1>> - <</if>> - <</for>> - - <<set $args[0].ID = _newID>> -<</widget>> \ No newline at end of file diff --git a/src/data/backwardsCompatibility/backwardsCompatibility.js b/src/data/backwardsCompatibility/backwardsCompatibility.js index 07ce59668170cc28bba63d831fd0205b8b05a2d1..d49802024c0f20a68b5aadd5f9582c3787ad6c17 100644 --- a/src/data/backwardsCompatibility/backwardsCompatibility.js +++ b/src/data/backwardsCompatibility/backwardsCompatibility.js @@ -2014,9 +2014,9 @@ App.Update.oldVersions = function(node) { } if (typeof V.playerGetsMilked !== "undefined") { if (V.playerGetsMilked === 2) { - V.PC.rules.lactation = "sell"; + newPC.rules.lactation = "sell"; } else if (V.playerGetsMilked === 1) { - V.PC.rules.lactation = "maintain"; + newPC.rules.lactation = "maintain"; } } 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/interaction/slaveInteract.js b/src/interaction/slaveInteract.js index 3fb401eab73c76d5ca49d220801b51052ba950ef..c6523cfd62c71feeb8022255cbf2ddd8e7280afd 100644 --- a/src/interaction/slaveInteract.js +++ b/src/interaction/slaveInteract.js @@ -98,7 +98,7 @@ App.UI.SlaveInteract.modify = function(slave) { } // Analyze Pregnancy - if (V.prostheticsUpgrade > 0) { + if (V.pregnancyMonitoringUpgrade > 0) { makeRoomLink(el, "Internal scan", "Analyze Pregnancy", ` Full scan of abdomen and reproductive organs.`, () => { V.activeSlave = slave; @@ -3064,9 +3064,7 @@ App.UI.SlaveInteract.generateRows = function(array, slave, category, accessCheck ); if (array[i].FS) { - let FS = array[i].FS.substring(2); // Given "FSEdoRevivalist", cut off the first two letters to start a user friendly tooltip - FS = FS.replace(/([A-Z])/g, ` $1`); // Given "EdoRevivalist", find every capital letter and put a space in front of it - FS = App.UI.DOM.disabledLink(`FS`, [FS]); // Tooltip should read "Edo Revivalist" + let FS = App.UI.DOM.disabledLink(`FS`, [FutureSocieties.displayAdj(array[i].FS)]); FS.style.fontStyle = "italic"; link.appendChild(FS); } diff --git a/src/npc/descriptions/boobs/boobs.js b/src/npc/descriptions/boobs/boobs.js index 78cfb917f63b8e4533a877c2a6850c6289db0874..e21664dd48aefb55ceaac6aad13b1195a3fb07ab 100644 --- a/src/npc/descriptions/boobs/boobs.js +++ b/src/npc/descriptions/boobs/boobs.js @@ -235,6 +235,8 @@ App.Desc.boobs = function() { * @returns {string} */ function outerInspection(slave) { + const {his} = getPronouns(slave); + if (V.surgeryDescription === 1) { // unused in the game if (slave.boobs < 300) { return `${slave.slaveName}'s flat chest is bare and begging for surgery.`; diff --git a/src/npc/surgery/surgery.js b/src/npc/surgery/surgery.js index 6b47b41d0aa74236930f52904b199c6454101221..7db885a87d40195fbe2de9ff715665fa2434dd65 100644 --- a/src/npc/surgery/surgery.js +++ b/src/npc/surgery/surgery.js @@ -131,7 +131,6 @@ App.Medicine.Surgery.ListHelpers = class { /** @private */ this._pronouns = pronouns; /** @private */ - this._V = V; this._showCCs = showCCs; } @@ -148,7 +147,7 @@ App.Medicine.Surgery.ListHelpers = class { slave[`${this._bodyPart}Implant`] = size; slave[`${this._bodyPart}ImplantType`] = implantType; slave[this._bodyPart] += size; - }, this._V.surgeryCost, 10, this._bodyPart + }, V.surgeryCost, 10, this._bodyPart ); } @@ -160,13 +159,13 @@ App.Medicine.Surgery.ListHelpers = class { slave[`${this._bodyPart}`] -= slave[`${this._bodyPart}Implant`]; slave[`${this._bodyPart}Implant`] = 0; slave[`${this._bodyPart}ImplantType`] = "none"; - }, this._V.surgeryCost, 5, `${this._bodyPart}Loss` + }, V.surgeryCost, 5, `${this._bodyPart}Loss` ); } /** * @param {string} name - * @param {number} implantType + * @param {string} implantType * @param {number} size * @param {number} [implantPrice=0] * @returns {App.Medicine.Surgery.Procedure} @@ -179,7 +178,7 @@ App.Medicine.Surgery.ListHelpers = class { slave[this._bodyPart] += size - slave[`${this._bodyPart}Implant`]; slave[`${this._bodyPart}Implant`] = size; slave[`${this._bodyPart}ImplantType`] = implantType; - }, this._V.surgeryCost + implantPrice, 10, this._bodyPart + }, V.surgeryCost + implantPrice, 10, this._bodyPart ); } @@ -194,7 +193,7 @@ App.Medicine.Surgery.ListHelpers = class { slave[`${this._bodyPart}Implant`] += volume; slave[this._bodyPart] += volume; }, - this._V.surgeryCost, 10, this._bodyPart + V.surgeryCost, 10, this._bodyPart ); } @@ -208,7 +207,7 @@ App.Medicine.Surgery.ListHelpers = class { slave => { slave[`${this._bodyPart}Implant`] -= volume; slave[this._bodyPart] -= volume; - }, this._V.surgeryCost, 5, `${this._bodyPart}Loss` + }, V.surgeryCost, 5, `${this._bodyPart}Loss` ); } @@ -223,7 +222,7 @@ App.Medicine.Surgery.ListHelpers = class { `${procedureName} ${this._pronouns.his} ${this._bodyPart}`, slave => { slave[this._bodyPart] -= sizeChange; - }, this._V.surgeryCost, 5, `${this._bodyPart}Loss` + }, V.surgeryCost, 5, `${this._bodyPart}Loss` ); } }; @@ -292,13 +291,12 @@ App.Medicine.Surgery.sizingProcedures = function() { function boobSizingProcedures(slave, options = {}) { const thisArcology = V.arcologies[0]; const largeImplantsAvailable = thisArcology.FSTransformationFetishistResearch === 1; - const advancedFillableImplantsAvailable = V.ImplantProductionUpgrade === 1; const advancedSurgeryAvailable = V.ImplantProductionUpgrade === 1; const pronouns = getPronouns(slave); const {he, His} = pronouns; const types = App.Medicine.Keys.Surgery.Target.breast; // shortcuts - const helper = new App.Medicine.Surgery.ListHelpers(slave, "boobs", types, pronouns, V.showBoobCCs); + const helper = new App.Medicine.Surgery.ListHelpers(slave, "boobs", types, pronouns, V.showBoobCCs > 0); const areStringsInstalled = slave.boobsImplantType === "string"; const areFillablesInstalled = ["fillable", "advanced fillable", "hyper fillable"].includes(slave.boobsImplantType); @@ -451,7 +449,6 @@ App.Medicine.Surgery.sizingProcedures = function() { function buttSizingProcedures(slave, options = {}) { const thisArcology = V.arcologies[0]; const largeImplantsAvailable = thisArcology.FSTransformationFetishistResearch === 1; - const advancedFillableImplantsAvailable = V.ImplantProductionUpgrade === 1; const advancedSurgeryAvailable = V.ImplantProductionUpgrade === 1; const pronouns = getPronouns(slave); const {he, His} = pronouns; 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/changeLanguage.tw b/src/uncategorized/changeLanguage.tw index 7dbd3c9616c9cf89294ac9efac6a34a2e914611f..b0ab666b7d3f8f85ad69313895bf05728b5fa75c 100644 --- a/src/uncategorized/changeLanguage.tw +++ b/src/uncategorized/changeLanguage.tw @@ -3,31 +3,19 @@ <<set $nextButton = "Confirm changes">> <<set $nextLink = "Main">> -<<set $revivalistLanguage = 0>> +<<set _revivalistLanguage = 0>> <<if $arcologies[0].FSRomanRevivalist != "unset">> - <<if $language != "Latin">> - <<set $revivalistLanguage = "Latin">> - <</if>> + <<set _revivalistLanguage = "Latin">> <<elseif $arcologies[0].FSAztecRevivalist != "unset">> - <<if $language != "Nahuatl">> - <<set $revivalistLanguage = "Nahuatl">> - <</if>> + <<set _revivalistLanguage = "Nahuatl">> <<elseif $arcologies[0].FSEgyptianRevivalist != "unset">> - <<if $language != "Ancient Egyptian">> - <<set $revivalistLanguage = "Ancient Egyptian">> - <</if>> + <<set _revivalistLanguage = "Ancient Egyptian">> <<elseif $arcologies[0].FSEdoRevivalist != "unset">> - <<if $language != "Japanese">> - <<set $revivalistLanguage = "Japanese">> - <</if>> + <<set _revivalistLanguage = "Japanese">> <<elseif $arcologies[0].FSArabianRevivalist != "unset">> - <<if $language != "Arabic">> - <<set $revivalistLanguage = "Arabic">> - <</if>> + <<set _revivalistLanguage = "Arabic">> <<elseif $arcologies[0].FSChineseRevivalist != "unset">> - <<if $language != "Chinese">> - <<set $revivalistLanguage = "Chinese">> - <</if>> + <<set _revivalistLanguage = "Chinese">> <</if>> The lingua franca of the arcology is ''$language''. @@ -56,7 +44,7 @@ Select a custom language to be applied: <<textbox "$seed" $seed "Change Language <<run cashX(-500, "capEx")>> <</if>> <</for>> - <br><br>//Language changed.// + <br><br>//Language changed to $language.// <</replace>> <</link>> <</if>> @@ -76,7 +64,7 @@ Select a custom language to be applied: <<textbox "$seed" $seed "Change Language <<run cashX(-500, "capEx")>> <</if>> <</for>> - <br><br>//Language changed.// + <br><br>//Language changed to $language.// <</replace>> <</link>> <</if>> @@ -96,7 +84,7 @@ Select a custom language to be applied: <<textbox "$seed" $seed "Change Language <<run cashX(-500, "capEx")>> <</if>> <</for>> - <br><br>//Language changed.// + <br><br>//Language changed to $language.// <</replace>> <</link>> <</if>> @@ -116,7 +104,7 @@ Select a custom language to be applied: <<textbox "$seed" $seed "Change Language <<run cashX(-500, "capEx")>> <</if>> <</for>> - <br><br>//Language changed.// + <br><br>//Language changed to $language.// <</replace>> <</link>> <</if>> @@ -136,7 +124,7 @@ Select a custom language to be applied: <<textbox "$seed" $seed "Change Language <<run cashX(-500, "capEx")>> <</if>> <</for>> - <br><br>//Language changed.// + <br><br>//Language changed to $language.// <</replace>> <</link>> <</if>> @@ -156,14 +144,14 @@ Select a custom language to be applied: <<textbox "$seed" $seed "Change Language <<run cashX(-500, "capEx")>> <</if>> <</for>> - <br><br>//Language changed.// + <br><br>//Language changed to $language.// <</replace>> <</link>> <</if>> -<<if $revivalistLanguage != 0>> +<<if _revivalistLanguage != 0 && $language != _revivalistLanguage>> <br><<link "Match language to Revivalist future society">> <<replace "#result">> - <<set $language = $revivalistLanguage>> + <<set $language = _revivalistLanguage>> <<set $arcologies[0].prosperity = Math.trunc(0.9*$arcologies[0].prosperity)>> <<for _cl = 0; _cl < $slaves.length; _cl++>> <<if $slaves[_cl].fetish != "mindbroken">> @@ -176,7 +164,7 @@ Select a custom language to be applied: <<textbox "$seed" $seed "Change Language <<run cashX(-500, "capEx")>> <</if>> <</for>> - <br><br>//Language changed.// + <br><br>//Language changed to $language.// <</replace>> <</link>> //Failing to take this step will retard adoption of Revivalism// <</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>>