diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt index aad7ebe8377210b0d1cc2cc92d57e87cdd69c191..c79cf74bd83fba931be53bbd3665ed13d36c28ee 100644 --- a/devNotes/twine JS.txt +++ b/devNotes/twine JS.txt @@ -2119,6 +2119,10 @@ window.getCost = function(array) { costs += mercCosts; } + if(State.variables.citizenRetirementMenials == 1) { + costs += State.variables.helots * 2; + } + costs += State.variables.FSSpending; //slave expenses @@ -2516,6 +2520,10 @@ window.getSlaveCost = function(s) { } // Retirement account + if(State.variables.citizenRetirementMenials === 1 && State.variables.CitizenRetirement === 0) { + cost += 2; + } + if(State.variables.CitizenRetirement === 1) { cost += 250; } diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw index 7c208636f75c448436f0406cbb351952d8a1acfe..cea018b552a71fb7c9d154237f82fb6e73c191b5 100644 --- a/src/init/storyInit.tw +++ b/src/init/storyInit.tw @@ -338,6 +338,7 @@ You should have received a copy of the GNU General Public License along with thi <<set $retirementAge = 45>> <<set $customRetirementAge = 45>> + <<set $customMenialRetirementAge = 65>> <<set $FSCreditCount = 5>> <<set $FSCreditCountString = "five">> @@ -1192,7 +1193,8 @@ DairyRestraintsSetting($dairyRestraintsSetting) <<set $BioreactorRetirement = 0>> <<set $ArcadeRetirement = 0>> <<set $CitizenRetirement = 0>> -<<set $CitizenRetirementTrigger = 0>> +<<set $citizenRetirementMenials = 0>> +<<set $citizenRetirementTrigger = 0>> <<set $FSSupLawTrigger = 0>> <<set $FSSubLawTrigger = 0>> <<set $SexMilestoneRetirement = 0>> diff --git a/src/js/economyJS.tw b/src/js/economyJS.tw index 6ef2b127b9da8acf0e296ae72fda8a0c543fd247..1bf2e3c29056c546aa732f3c6cf84af1ef89b1f6 100644 --- a/src/js/economyJS.tw +++ b/src/js/economyJS.tw @@ -150,6 +150,10 @@ window.getCost = function(array) { costs += mercCosts; } + if(State.variables.citizenRetirementMenials == 1) { + costs += State.variables.helots * 2; + } + costs += State.variables.FSSpending; //slave expenses @@ -547,6 +551,10 @@ window.getSlaveCost = function(s) { } // Retirement account + if(State.variables.citizenRetirementMenials === 1 && State.variables.CitizenRetirement === 0) { + cost += 2; + } + if(State.variables.CitizenRetirement === 1) { cost += 250; } diff --git a/src/pregmod/manageEconomy.tw b/src/pregmod/manageEconomy.tw index 0b8cfc489351cc009f1d8c291531d8f58a8c1cd5..500fffa18b0b5ebe4b893a0ca1f5e733eb1ef392 100644 --- a/src/pregmod/manageEconomy.tw +++ b/src/pregmod/manageEconomy.tw @@ -71,7 +71,7 @@ _percLowerClass = Math.trunc(($lowerClass / ($ACitizens + $ASlaves)) * 1000) / 1 _percMiddleClass = Math.trunc(($middleClass / ($ACitizens + $ASlaves)) * 1000) / 10, _percUpperClass = Math.trunc(($upperClass / ($ACitizens + $ASlaves)) * 1000) / 10, _percTopClass = Math.trunc(($topClass / ($ACitizens + $ASlaves)) * 1000) / 10>> -<br>Lower Class Citizens | $lowerClass | <<print _percLowerClass>>% | Rent @@.yellowgreen;<<print cashFormat($LCRent)>>@@ +<br>Lower Class Citizens | $lowerClass | <<print _percLowerClass>>% | Rent @@.yellowgreen;<<print cashFormat($LCRent / 25)>>@@ <<if $LCRent > 30>> //Very High// | [[Decrease|Manage Economy][$LCRent = 30, $rentEffectL = 0.94]] <<elseif $LCRent > 20>> @@ -83,7 +83,7 @@ _percTopClass = Math.trunc(($topClass / ($ACitizens + $ASlaves)) * 1000) / 10>> <<else>> //Free// | [[Increase|Manage Economy][$LCRent = 10, $rentEffectL = 1.04]] <</if>> -<br>Middle Class Citizens | $middleClass | <<print _percMiddleClass>>% | Rent @@.yellowgreen;<<print cashFormat($MCRent)>>@@ +<br>Middle Class Citizens | $middleClass | <<print _percMiddleClass>>% | Rent @@.yellowgreen;<<print cashFormat($MCRent / 25)>>@@ <<if $MCRent > 75>> //Very High// | [[Decrease|Manage Economy][$MCRent = 75, $rentEffectM = 0.94]] <<elseif $MCRent > 50>> @@ -95,7 +95,7 @@ _percTopClass = Math.trunc(($topClass / ($ACitizens + $ASlaves)) * 1000) / 10>> <<else>> //Free// | [[Increase|Manage Economy][$MCRent = 25, $rentEffectM = 1.04]] <</if>> -<br>Upper Class Citizens | $upperClass | <<print _percUpperClass>>% | Rent @@.yellowgreen;<<print cashFormat($UCRent)>>@@ +<br>Upper Class Citizens | $upperClass | <<print _percUpperClass>>% | Rent @@.yellowgreen;<<print cashFormat($UCRent / 25)>>@@ <<if $UCRent > 270>> //Very High// | [[Decrease|Manage Economy][$UCRent = 270, $rentEffectU = 0.94]] <<elseif $UCRent > 180>> @@ -107,7 +107,7 @@ _percTopClass = Math.trunc(($topClass / ($ACitizens + $ASlaves)) * 1000) / 10>> <<else>> //Free// | [[Increase|Manage Economy][$UCRent = 90, $rentEffectU = 1.04]] <</if>> -<br>Millionaires | $topClass | <<print _percTopClass>>% | Rent @@.yellowgreen;<<print cashFormat($TCRent)>>@@ +<br>Millionaires | $topClass | <<print _percTopClass>>% | Rent @@.yellowgreen;<<print cashFormat($TCRent / 25)>>@@ <<if $TCRent > 975>> //Very High// | [[Decrease|Manage Economy][$TCRent = 975, $rentEffectT = 0.94]] <<elseif $TCRent > 650>> @@ -119,7 +119,7 @@ _percTopClass = Math.trunc(($topClass / ($ACitizens + $ASlaves)) * 1000) / 10>> <<else>> //Free// | [[Increase|Manage Economy][$TCRent = 325, $rentEffectT = 1.04]] <</if>> -<br>Slaves | $ASlaves | <<print _percASlaves>>% /*should probably include player owned slaves of all types*/ +<br>Slaves | $ASlaves | <<print _percASlaves>>% <<if $secExp == 0>> <<if $weatherAwareness > 0>> diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw index fbc141b5a20ab8b9190702da77cb9b096e2779ff..2978c7481269e4553e54bc921dbaaff7cd06e8e8 100644 --- a/src/uncategorized/BackwardsCompatibility.tw +++ b/src/uncategorized/BackwardsCompatibility.tw @@ -2532,6 +2532,9 @@ Setting missing global variables: <<if ndef $customRetirementAge>> <<set $customRetirementAge = 45>> <</if>> +<<if ndef $customMenialRetirementAge>> + <<set $customMenialRetirementAge = 65>> +<</if>> <<if ndef $retirementCum>> <<set $retirementCum = 500000>> <</if>> @@ -2553,8 +2556,12 @@ Setting missing global variables: <<if ndef $CitizenRetirement>> <<set $CitizenRetirement = 0>> <</if>> -<<if ndef $CitizenRetirementTrigger>> -<<set $CitizenRetirementTrigger = 0>> +<<if ndef $citizenRetirementMenials>> + <<set $citizenRetirementMenials = 0>> +<</if>> +<<if ndef $citizenRetirementTrigger>> + <<set $citizenRetirementTrigger = $CitizenRetirementTrigger || 0>> + <<unset $CitizenRetirementTrigger>> <</if>> <<if ndef $FSSupLawTrigger>> <<set $FSSupLawTrigger = 0>> diff --git a/src/uncategorized/arcmgmt.tw b/src/uncategorized/arcmgmt.tw index 79f5d2c9d1118e9dca9dc98075a88a7c9110a73b..5ad4908932bd3ed60baadb20710ddd214defa3e1 100644 --- a/src/uncategorized/arcmgmt.tw +++ b/src/uncategorized/arcmgmt.tw @@ -308,7 +308,7 @@ _topClassP = 1>> <</if>> /*policies*/ -<<if $CitizenRetirement == 1>> +<<if $citizenRetirementMenials == 1>> <<set _slaveDemandU *= 0.8, _slaveDemandT *= 0.75, _slaveProductivity += 0.05, @@ -321,48 +321,6 @@ _topClassP = 1>> _upperClassP *= 0.98, _topClass += -5, _topClassP *= 0.98>> - <<if $MilkMilestoneRetirement == 1>> /*additional conditional retirement options are each half as strong as base retirement*/ - <<set _slaveDemandU *= 0.9, - _slaveDemandT *= 0.875, - _slaveProductivity += 0.025, - _expirationFS *= 0.9, - _lowerClass += 100, - _lowerClassP *= 1.01, - _middleClass += 40, - _middleClassP *= 1.01, - _upperClass += -13.5, - _upperClassP *= 0.99, - _topClass += -2.5, - _topClassP *= 0.99>> - <</if>> - <<if $CumMilestoneRetirement == 1>> - <<set _slaveDemandU *= 0.9, - _slaveDemandT *= 0.875, - _slaveProductivity += 0.025, - _expirationFS *= 0.9, - _lowerClass += 100, - _lowerClassP *= 1.01, - _middleClass += 40, - _middleClassP *= 1.01, - _upperClass += -13.5, - _upperClassP *= 0.99, - _topClass += -2.5, - _topClassP *= 0.99>> - <</if>> - <<if $BirthsMilestoneRetirement == 1>> - <<set _slaveDemandU *= 0.9, - _slaveDemandT *= 0.875, - _slaveProductivity += 0.025, - _expirationFS *= 0.9, - _lowerClass += 100, - _lowerClassP *= 1.01, - _middleClass += 40, - _middleClassP *= 1.01, - _upperClass += -13.5, - _upperClassP *= 0.99, - _topClass += -2.5, - _topClassP *= 0.99>> - <</if>> <</if>> <<if $ProRefugees == 1>> <<set _slaveDemandU *= 1.1, @@ -581,37 +539,27 @@ _topClassP = 1>> _middleClass *= 1 + ($TSS.subsidize + $GRI.subsidize + $SCP.subsidize + $LDE.subsidize + $TGA.subsidize + $TCR.subsidize + $TFS.subsidize + $HA.subsidize) * 0.01>> /*Slave retirement trigger pulled (one time only)*/ -<<if $CitizenRetirementTrigger == 1>> - <<if $arcologies[0].FSSupremacistLawME < 1 && $arcologies[0].FSSubjugationistLawME < 1>> - <<set $lowerClass += Math.trunc(($NPCSlaves + $helots + $fuckdolls + $menialBioreactors) * 0.2)>> - <<elseif $arcologies[0].FSSubjugationistLawME == 1>> - <<set $lowerClass += Math.trunc(($NPCSlaves + $helots + $fuckdolls + $menialBioreactors) * 0.15)>> - <</if>> - <<set _helotsRetirement = Math.trunc($helots * 0.2), - $helots = Math.trunc($helots * 0.8), - _fuckdollsRetirement = Math.trunc($fuckdolls * 0.2), - $fuckdolls = Math.trunc($fuckdolls * 0.8), - _menialBioreactorsRetirement = Math.trunc($menialBioreactors * 0.2), - $menialBioreactors = Math.trunc($menialBioreactors * 0.8), - _ASlavesRetirement = Math.trunc($NPCSlaves * 0.2), - $NPCSlaves = Math.trunc($NPCSlaves * 0.8), - $CitizenRetirementTrigger = 2>> +<<if $citizenRetirementTrigger == 1>> + <<if $customMenialRetirementAge >= 65>> + <<set _citizenRetirementImpact = 0.475 - Math.clamp($customMenialRetirementAge / 200, 0.325, 0.475)>> + <<else>> + <<set _citizenRetirementImpact = 0.9 - Math.clamp($customMenialRetirementAge / 100, 0.2, 0.65)>> + <</if>> + <<if $arcologies[0].FSSupremacistLawME + $arcologies[0].FSSubjugationistLawME > 0>> + <<set _citizenRetirementImpact *= 2 / 3>> + <</if>> + <<set $lowerClass += Math.trunc(($NPCSlaves + $helots) * (0.05 + _citizenRetirementImpact)), + _helotsRetirement = Math.trunc($helots * (0.05 + _citizenRetirementImpact)), + $helots = Math.trunc($helots * (0.95 - _citizenRetirementImpact)), + _ASlavesRetirement = Math.trunc($NPCSlaves * (0.05 + _citizenRetirementImpact)), + $NPCSlaves = Math.trunc($NPCSlaves * (0.95 - _citizenRetirementImpact)), + $citizenRetirementTrigger = 2>> You have enacted citizen retirement, the slaves of eligible age are granted freedom. <<if _helotsRetirement > 1>> @@.red;<<print _helotsRetirement>> of your menial slaves@@ were retired. <<elseif _helotsRetirements > 0>> @@.red;One of your menial slaves@@ was retired. <</if>> - <<if _fuckdollsRetirement > 1>> - @@.red;<<print _fuckdollsRetirement>> of your fuckdolls@@ were retired. - <<elseif _fuckdollsRetirements > 0>> - @@.red;One of your fuckdolls@@ was retired. - <</if>> - <<if _menialBioreactorsRetirement > 1>> - @@.red;<<print _menialBioreactorsRetirement>> of your bioreactors@@ were retired. - <<elseif _menialBioreactorsRetirements > 0>> - @@.red;One of your bioreactors@@ was retired. - <</if>> <<if _ASlavesRetirement > 1>> @@.red;<<print _ASlavesRetirement>> slaves@@ in your arcology were given a citizen retirement. <</if>> /*I could bother with a single slave retirement message, but that's never going to get used*/ @@ -641,8 +589,23 @@ $menialBioreactors -= _expirationBR>> <</if>> /*Citizens turning into slaves*/ -<<set _enslaved = Math.trunc($lowerClass * ($welfare * _welfareFS)), -$lowerClass -= _enslaved>> +<<if $citizenRetirementMenials == 1>> + <<if $customMenialRetirementAge >= 65>> + <<set _banishedRatio = 0.475 - Math.clamp($customMenialRetirementAge / 200, 0.325, 0.475)>> + <<else>> + <<set _banishedRatio = 0.9 - Math.clamp($customMenialRetirementAge / 100, 0.2, 0.65)>> + <</if>> + <<if $arcologies[0].FSSupremacistLawME + $arcologies[0].FSSubjugationistLawME > 0>> + <<set _banishedRatio *= 2 / 3>> + <</if>> + <<set _banished = Math.trunc(($lowerClass * ($welfare * _welfareFS)) * (0.05 + _banishedRatio)), + _enslaved = Math.trunc($lowerClass * ($welfare * _welfareFS)) - _banished, + $lowerClass -= _banished>> + <br>@@.red;<<print _banished>> citizens were banished@@ from your arcology, they committed enslavable offenses but were too old to be enslaved. +<<else>> + <<set _enslaved = Math.trunc($lowerClass * ($welfare * _welfareFS))>> +<</if>> +<<set $lowerClass -= _enslaved>> /*Bad weather switch*/ <<if $weatherToday.severity > 3>> @@ -730,9 +693,51 @@ $lowerClass -= _enslaved>> <<set _honeymoon = 10 * $arcologies[0].honeymoon>> <</if>> <<set $visitors = Math.trunc((($arcologies[0].prosperity + _FSScore * 5 + _honeymoon) * _transportHub * _terrain * _crime) * ($localEcon / 100))>> -<br>@@.green;<<print $visitors>> Traders and tourists@@ visited your arcology this week. +<br>@@.green;<<print $visitors>> traders and tourists@@ visited your arcology this week. /*slaves*/ +/*Slaves getting retired*/ +<<if $citizenRetirementMenials == 1>> + <<set _weeklyRetiredHelots = $helots / (($customMenialRetirementAge - 15) * 52), + _weeklyRetiredNPCMenials = $NPCSlaves / (($customMenialRetirementAge - 15) * 52)>> /*This implies a minimum menial age of 15. Even if the player sets minimum ages lower, there's no point having a 3 year old menial slave. 15 seems alright while being nice and round. This also implies ages are distributed evenly, no easy way around that.*/ + <<if _weeklyRetiredHelots > 1>> + <<set _weeklyRetiredHelots = Math.trunc(_weeklyRetiredHelots)>> + <<if _weeklyRetiredHelots > 1>> + <br>@@.red;<<print _weeklyRetiredHelots>> of your menial slaves@@ retired as free citizens this week. + <<else>> + <br>@@.red;One of your menial slaves@@ retired as a free citizen this week. + <</if>> + <<else>> + <<set _weeklyRetiredHelots *= 100, + _retirementChance = random(1,100)>> + <<if _weeklyRetiredHelots > _retirementChance>> + <<set _weeklyRetiredHelots = 1>> + <br>@@.red;One of your menial slaves@@ retired as a free citizen this week. + <<else>> + <<set _weeklyRetiredHelots = 0>> + <</if>> + <</if>> + <<if _weeklyRetiredNPCMenials > 1>> + <<set _weeklyRetiredNPCMenials = Math.trunc(_weeklyRetiredNPCMenials)>> + <<if _weeklyREtiredNPCMenials > 1>> + <br>@@.red;<<print _weeklyRetiredNPCMenials>> menial slaves@@ were retired as free citizens by other slave owners in your arcology this week. + <<else>> + <br>@@.red;One menial slave@@ was retired as a free citizen by another slave owner in your arcology this week. + <</if>> + <<else>> + <<set _weeklyRetiredNPCMenials *= 100, + _retirementChance2 = random(1,100)>> + <<if _weeklyRetiredNPCMenials > _retirementChance2>> + <<set _weeklyRetiredNPCMenials = 1>> + <br>@@.red;One menial slave@@ was retired as a free citizen by another slave owner in your arcology this week. + <<else>> + <<set _weeklyRetiredNPCMenials = 0>> + <</if>> + <</if>> + <<set $helots -= _weeklyRetiredHelots, + $NPCSlaves -= _weeklyRetiredNPCMenials, + $lowerClass += _weeklyRetiredHelots + _weeklyRetiredNPCMenials>> +<</if>> /*Demand for simple labor*/ <<set _LSCD = Math.trunc(($LSCBase * ($localEcon / 100)) + ($arcologies[0].prosperity * 4) + (($middleClass + $visitors * 0.6) * 1.5) + (($upperClass + $visitors * 0.2) * 3.5) + ($topClass * 18)), /*Demand for owning slaves*/ @@ -810,9 +815,13 @@ _SCD = Math.trunc(($upperClass * ($slaveDemandU + _slaveDemandU)) + ($topClass * <br>@@.green;One lower class citizen@@ moved to your arcology. <</if>> <<elseif $lowerClass > _LCD>> - <<set _LCEmigration = Math.trunc(($lowerClass - _LCD) * 0.6) + 1, - _enslavedEmigrants = Math.trunc((($lowerClass - _LCD) * 0.6) * $enslaveChance), - $lowerClass -= _LCEmigration, + <<set _LCEmigration = Math.trunc(($lowerClass - _LCD) * 0.6) + 1>> + <<if $citizenRetirementMenials == 1>> + <<set _enslavedEmigrants = Math.trunc((($lowerClass - _LCD) * 0.6) * $enslaveChance * (0.05 + _banishedRatio))>> + <<else>> + <<set _enslavedEmigrants = Math.trunc((($lowerClass - _LCD) * 0.6) * $enslaveChance)>> + <</if>> + <<set $lowerClass -= _LCEmigration, _enslaved += _enslavedEmigrants>> <<if _LCEmigration > 1>> <br>@@.red;<<print _LCEmigration>> lower class citizens@@ had no work and tried to leave your arcology. @@ -933,8 +942,12 @@ _SCD = Math.trunc(($upperClass * ($slaveDemandU + _slaveDemandU)) + ($topClass * <</if>> <</if>> <</if>> /*ends _weatherFreeze*/ +<<if $secExp == 1>> + <<set $ASlaves = $NPCSlaves + $helots + $fuckdolls + $menialBioreactors + $secHelots + $slavesEmployedManpower>> +<<else>> + <<set $ASlaves = $NPCSlaves + $helots + $fuckdolls + $menialBioreactors>> +<</if>> <<set $ACitizens = $lowerClass + $middleClass + $upperClass + $topClass, -$ASlaves = $NPCSlaves + $helots + $fuckdolls + $menialBioreactors, _percACitizens = Math.trunc(($ACitizens / ($ACitizens + $ASlaves)) * 1000) / 10, _percASlaves = Math.trunc(($ASlaves / ($ACitizens + $ASlaves)) * 1000) / 10, _percLowerClass = Math.trunc(($lowerClass / ($ACitizens + $ASlaves)) * 1000) / 10, diff --git a/src/uncategorized/buySlaves.tw b/src/uncategorized/buySlaves.tw index 8a598e7e5f48d11f7b7f17698b3b7894a94c9a0b..6b455534295ca78ccb0ed0828f1eeadc8713615e 100644 --- a/src/uncategorized/buySlaves.tw +++ b/src/uncategorized/buySlaves.tw @@ -314,7 +314,7 @@ The parts of your arcology you own can house a total of $PopCap menial slaves. <</if>> The market price of menials is <<print cashFormat(_menialPrice)>>. <<set _optionsBreak = 0>> -<<if _bulkMax > 0>> +<<if _bulkMax > 0 && $cash > _menialPrice>> [[Buy|Buy Slaves][$helots+=1,$menialSupplyFactor-=1,$cash-=_menialPrice]] <<if $cash > (menialSlaveCost(10))*10>> [[(x10)|Buy Slaves][$helots+=10,$menialSupplyFactor-=10,$cash-=(menialSlaveCost(10))*10]] @@ -324,7 +324,7 @@ The market price of menials is <<print cashFormat(_menialPrice)>>. <</if>> <<if $cash > (_menialPrice+1)*2>> <<set _menialBulkPremium = Math.trunc(1 + Math.clamp($cash/_menialPrice,0,_bulkMax)/400)>> - [[(max)|Buy Slaves][$helots+=Math.trunc(Math.clamp($cash/(_menialPrice+_menialBulkPremium),0,_bulkMax)),$menialSupplyFactor-=Math.trunc(Math.clamp($cash/(_menialPrice+_menialBulkPremium),0,_bulkMax)),$cash-=Math.trunc(Math.clamp($cash/(_menialPrice+_menialBulkPremium),0,_bulkMax)*(_menialPrice+_menialBulkPremium))]] + [[(max)|Buy Slaves][$helots+=Math.trunc(Math.clamp($cash/(_menialPrice+_menialBulkPremium),0,_bulkMax)),$menialSupplyFactor-=Math.trunc(Math.clamp($cash/(_menialPrice+_menialBulkPremium),0,_bulkMax)),$cash-=Math.trunc(Math.clamp($cash/(_menialPrice+_menialBulkPremium),0,_bulkMax))*(_menialPrice+_menialBulkPremium)]] <</if>> //Bulk transactions may require offering a premium.// <<set _optionsBreak = 1>> @@ -380,7 +380,7 @@ The market price of menials is <<print cashFormat(_menialPrice)>>. The market price of standard fuckdolls is <<print cashFormat(_menialPrice*2)>>. <<set _optionsBreak = 0>> <<if _bulkMax > 0>> -<<if $arcologies[0].FSPaternalist == "unset">> +<<if $arcologies[0].FSPaternalist == "unset" && $cash > _menialPrice*2>> [[Buy|Buy Slaves][$fuckdolls+=1,$menialSupplyFactor-=1,$cash-=(_menialPrice*2)]] <<if $cash > (menialSlaveCost(10)*2)*10>> [[(x10)|Buy Slaves][$fuckdolls+=10,$menialSupplyFactor-=10,$cash-=(menialSlaveCost(10)*2)*20]] @@ -390,14 +390,13 @@ The market price of standard fuckdolls is <<print cashFormat(_menialPrice*2)>>. <</if>> <<if $cash > ((_menialPrice+1)*4)>> <<set _fuckdollBulkPremium = Math.trunc(1 + Math.clamp($cash/(_menialPrice*2),0,_bulkMax)/400)>> - [[(max)|Buy Slaves][$fuckdolls+=Math.trunc(Math.clamp($cash/(_menialPrice*2+_fuckdollBulkPremium),0,_bulkMax)),$menialSupplyFactor-=Math.trunc(Math.clamp($cash/(_menialPrice*2+_fuckdollBulkPremium),0,_bulkMax)),$cash-=Math.trunc(Math.clamp($cash/(_menialPrice*2+_fuckdollBulkPremium),0,_bulkMax)*(_menialPrice*2+_fuckdollBulkPremium))]] + [[(max)|Buy Slaves][$fuckdolls+=Math.trunc(Math.clamp($cash/(_menialPrice*2+_fuckdollBulkPremium),0,_bulkMax)),$menialSupplyFactor-=Math.trunc(Math.clamp($cash/(_menialPrice*2+_fuckdollBulkPremium),0,_bulkMax)),$cash-=Math.trunc(Math.clamp($cash/(_menialPrice*2+_fuckdollBulkPremium),0,_bulkMax))*(_menialPrice*2+_fuckdollBulkPremium)]] <</if>> //Bulk transactions may require offering a premium.// <<set _optionsBreak = 1>> <</if>> <</if>> <<if $fuckdolls >= 1>> - <br> <<if _optionsBreak>>|<</if>> [[Sell|Buy Slaves][$fuckdolls-=1,$menialDemandFactor-=1,$cash+=_menialPrice*2]] <<if $fuckdolls >= 10>> @@ -421,7 +420,7 @@ The market price of standard fuckdolls is <<print cashFormat(_menialPrice*2)>>. The market price of standard bioreactors is <<print cashFormat((_menialPrice-100))>>. <<set _optionsBreak = 0>> <<if _bulkMax > 0>> -<<if $arcologies[0].FSPaternalist == "unset">> +<<if $arcologies[0].FSPaternalist == "unset" && $cash > _menialPrice+100>> [[Buy|Buy Slaves][$menialBioreactors+=1,$menialSupplyFactor-=1,$cash-=(_menialPrice+100)]] <<if $cash > (menialSlaveCost(10)-100)*10>> [[(x10)|Buy Slaves][$menialBioreactors+=10,$menialSupplyFactor-=10,$cash-=(menialSlaveCost(10)-100)*10]] @@ -431,7 +430,7 @@ The market price of standard bioreactors is <<print cashFormat((_menialPrice-100 <</if>> <<if $cash > (_menialPrice-99)*2>> <<set _bioreactorBulkPremium = Math.trunc(1+ Math.clamp($cash/(_menialPrice-99),0,_bulkMax)/400)>> - [[(max)|Buy Slaves][$menialBioreactors+=Math.trunc(Math.clamp($cash/(_menialPrice-99+_bioreactorBulkPremium),0,_bulkMax)),$menialSupplyFactor-=Math.trunc(Math.clamp($cash/(_menialPrice-99+_bioreactorBulkPremium),0,_bulkMax)),$cash-=Math.trunc(Math.clamp($cash/(_menialPrice-99+_bioreactorBulkPremium),0,_bulkMax)*(_menialPrice-99+_bioreactorBulkPremium))]] + [[(max)|Buy Slaves][$menialBioreactors+=Math.trunc(Math.clamp($cash/(_menialPrice-99+_bioreactorBulkPremium),0,_bulkMax)),$menialSupplyFactor-=Math.trunc(Math.clamp($cash/(_menialPrice-99+_bioreactorBulkPremium),0,_bulkMax)),$cash-=Math.trunc(Math.clamp($cash/(_menialPrice-99+_bioreactorBulkPremium),0,_bulkMax))*(_menialPrice-99+_bioreactorBulkPremium)]] <</if>> //Bulk transactions may require offering a premium.// <<set _optionsBreak = 1>> diff --git a/src/uncategorized/costsReport.tw b/src/uncategorized/costsReport.tw index db8b8fe239992d28a6cfd833af8b5f677b4c828e..43e3d91aca89ed16ccbb839f1ee14d856ef7f321 100644 --- a/src/uncategorized/costsReport.tw +++ b/src/uncategorized/costsReport.tw @@ -101,6 +101,17 @@ your __personal living expenses__ are <<print cashFormat(Math.trunc($girls*(250+ <<set _archologyCosts += _mercCosts>> <</if>> +<<if $citizenRetirementMenials == 1>> + <br>__Menial Slave Retirement Premiums__: + <<if $CitizenRetirement == 1>> + <<set _citizenRetirementMenialsCost = $helots * 2>> + <<else>> + <<set _citizenRetirementMenialsCost = ($helots + $slaves.length) * 2>> + <</if>> + <<set _archologyCosts += _citizenRetirementMenialsCost>> + <<print cashFormat(_citizenRetirementMenialsCost)>> +<</if>> + <<if $brothel > 0 || $club > 0 || $arcade > 0 || $dairy > 0 || $farmyard > 0>> <br>__Archology building maintenance__: <<if $brothel > 0>> diff --git a/src/uncategorized/policies.tw b/src/uncategorized/policies.tw index 64e7f41100b188d8dd807f4d4bbd58654ab6887f..5c5cf0cecf75421cea18e599b06c97a354468a63 100644 --- a/src/uncategorized/policies.tw +++ b/src/uncategorized/policies.tw @@ -10,7 +10,15 @@ <</if>> <<set $showEncyclopedia = 1>><<set $encyclopedia = "Future Societies">> <<if $rep < 0>><<set $rep = 0>><</if>> -<<set $customRetirementAge = Math.clamp($customRetirementAge, 20, 120)>> +<<set $customMenialRetirementAge = Math.clamp($customMenialRetirementAge, 20, 120)>> +<<if $citizenRetirementMenials == 1>> + <<set $customRetirementAge = Math.clamp($customRetirementAge, 20, $customMenialRetirementAge)>> + <<if $customMenialRetirementAge < 45>> + <<set $retirementAge = $customMenialRetirementAge>> + <</if>> +<<else>> + <<set $customRetirementAge = Math.clamp($customRetirementAge, 20, 120)>> +<</if>> <<if $CustomRetirementAgePolicy == 1>><<set $retirementAge = $customRetirementAge>><</if>> <<if $PhysicalRetirementAgePolicy == 1>><<set $retirementAge = $customRetirementAge>><</if>> <<set $retirementSex = Math.clamp($retirementSex, 1, 10000000)>> @@ -109,6 +117,13 @@ <</if>> <br><br>__Slave Retirement Planning__ +<<if $citizenRetirementMenials == 1>> + <br>''Mandatory Menial Retirement Age:'' you have set your arcology's retirement age for menial slaves at $customMenialRetirementAge. + [[Repeal|Policies][$citizenRetirementMenials = 0, $retirementAge = 45]] +<<else>> + <br>''No Menial Retirement Plan:'' without defining a retirement age for menial slaves they will remain slaves until death or freed otherwise. +<</if>> + <<if $CustomRetirementAgePolicy == 1 && $PhysicalRetirementAgePolicy != 1>> <br>''Redefined Mandatory Retirement Age:'' you have set your arcology's standard retirement age for sex slaves at $retirementAge. [[Repeal|Policies][$CustomRetirementAgePolicy = 0, $retirementAge = 45]] @@ -840,6 +855,22 @@ <br><br>__Slave Retirement Planning__ + <<if $citizenRetirementMenials == 0>> + <br>''Redefined Mandatory Menial Retirement Age:'' you will set your arcology's retirement age for menial slaves at age + <br> <<textbox "$customMenialRetirementAge" $customMenialRetirementAge "Policies">> + <<if $arcologies[0].FSDegradationist == "unset">> + <<if $citizenRetirementTrigger == 0>> + <br>''Menial Slave Citizen Retirement:'' all slaveowners will be required to pay into accounts to support their slaves as lower-class citizens in retirement. + [[Implement|Policies][$citizenRetirementMenials = 1, $cash -= 5000, $rep -= 1000, $citizenRetirementTrigger = 1]] + <br> //Will add upkeep to all menial slaves// + <<else>> + <br>''Menial Slave Citizen Retirement:'' all slaveowners will be required to pay into accounts to support their slaves as lower-class citizens in retirement. + [[Implement|Policies][$citizenRetirementMenials = 1, $cash -= 5000, $rep -= 1000]] + <br> //Will add upkeep to all menial slaves// + <</if>> + <</if>> + <</if>> + <<if $CustomRetirementAgePolicy == 0>> <br>''Redefined Mandatory Retirement Age:'' you will set your arcology's standard retirement age for sex slaves at age <br> <<textbox "$customRetirementAge" $customRetirementAge "Policies">> @@ -856,15 +887,9 @@ <<if $ArcadeRetirement == 0>> <<if $CitizenRetirement == 0>> <<if $arcologies[0].FSDegradationist == "unset">> - <<if $CitizenRetirementTrigger == 0>> - <br>''Citizen Retirement:'' all slaveowners will be required to pay into accounts to support their slaves as lower-class citizens in retirement. - [[Implement|Policies][$CitizenRetirement = 1, $cash -=5000, $rep -= 1000, $CitizenRetirementTrigger = 1]] - <br> //Will add upkeep to all slaves// - <<else>> - <br>''Citizen Retirement:'' all slaveowners will be required to pay into accounts to support their slaves as lower-class citizens in retirement. - [[Implement|Policies][$CitizenRetirement = 1, $cash -=5000, $rep -= 1000]] - <br> //Will add upkeep to all slaves// - <</if>> + <br>''Sex Slave Citizen Retirement:'' all slaveowners will be required to pay into accounts to support their slaves as lower-class citizens in retirement. + [[Implement|Policies][$CitizenRetirement = 1, $cash -=5000, $rep -= 1000]] + <br> //Will add upkeep to all sex slaves// <</if>> <<if $arcologies[0].FSPaternalist == "unset">> <br>''Public Arcade Retirement:'' once reaching mandatory retirement age, slaves will be placed in cheap public arcades to be used until useless. diff --git a/src/uncategorized/seRetirement.tw b/src/uncategorized/seRetirement.tw index 1803976f02728e88bc006dfa330509d423486454..68b78c27d7ff39455fd18cbaed74cf0f2fa2be6d 100644 --- a/src/uncategorized/seRetirement.tw +++ b/src/uncategorized/seRetirement.tw @@ -202,8 +202,8 @@ When you return to your desk you realize something. <</if>> <br><br> -Your arcology has gained a citizen. -<<set $ACitizens += 1>> +Your arcology has gained a well-off citizen. +<<set $upperClass += 1>> <<elseif $BioreactorRetirement == 1>> @@ -318,6 +318,23 @@ and, a disturbingly short time later, there is a new Fuckdoll, a humanoid figure You have @@.yellowgreen;gained a fuckdoll.@@ <<set $fuckdolls += 1>> +<<elseif $citizenRetirementMenials == 1>> + <<if $customMenialRetirementAge == $customRetirementAge || $customMenialRetirementAge == $retirementAge>> + + in a way that fills your other slaves with @@.mediumaquamarine;trust@@ after seeing one of their own gain freedom. + <<for $i = 0; $i < $slaves.length; $i++>> + <<set $slaves[$i].trust += 2>> + <</for>> + <<if $activeSlave.relationship > 3>> + $slaves[_sr].slaveName, for _his2 part, is @@.hotpink;happy,@@ though also a bit sad. _He2 looks forward to joining $activeSlave.slaveName one day. + <<set $slaves[_sr].devotion += 5>> + <</if>> + + <br><br> + You have @@.yellowgreen;gained a citizen.@@ + <<set $lowerClass += 1>> + <</if>> + <<else>> into a life of menial drudgery. This has little impact on your other human property.