From f4edbe10a62e9ed0021cecddc9e0ea37d935630e Mon Sep 17 00:00:00 2001 From: j <okp57855@psoxs.com> Date: Thu, 14 Dec 2017 11:56:18 +1300 Subject: [PATCH] Massively reworked version. --- src/init/storyInit.tw | 13 +++ src/pregmod/widgets/pregmodWidgets.tw | 43 ++++++++++ src/uncategorized/BackwardsCompatibility.tw | 5 ++ src/uncategorized/costs.tw | 46 +--------- src/uncategorized/costsReport.tw | 46 +--------- src/uncategorized/persBusiness.tw | 50 +---------- src/uncategorized/personalAttentionSelect.tw | 89 ++++++-------------- 7 files changed, 96 insertions(+), 196 deletions(-) diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw index 4ef56629193..828a997bb21 100644 --- a/src/init/storyInit.tw +++ b/src/init/storyInit.tw @@ -1262,6 +1262,19 @@ ocularImplant: 0, erectileImplant: 0 } >> +<<if ndef $AgePricing>> + <<set $AgePricing = 1>> +<</if>> +<<if ndef $AgeTrainingEffect>> + <<set $AgeTrainingEffect = 1>> +<</if>> +<<if ndef $AgeTrainingUpperBounds>> + <<set $AgeTrainingUpperBounds = 14>> +<</if>> +<<if ndef $AgeTrainingLowerBounds>> + <<set $AgeTrainingLowerBounds = 12>> +<</if>> + /* Security Expansion */ <<set $secExp = 0>> <<set $showSecExp = 0>> diff --git a/src/pregmod/widgets/pregmodWidgets.tw b/src/pregmod/widgets/pregmodWidgets.tw index 60bccc1646d..2800866b2fd 100644 --- a/src/pregmod/widgets/pregmodWidgets.tw +++ b/src/pregmod/widgets/pregmodWidgets.tw @@ -1791,6 +1791,49 @@ Of her $slaves[$i].pregType child<<if $slaves[$i].pregType > 1>>ren<</if>>; $sla <</widget>> +<<widget "AgePCEffects">> +<<switch $PC.actualAge>> +<<case 3>> + <<set $AgeTrainingLowerBounds = 18, $AgeTrainingUpperBounds = 20, $AgePricing = .1, $AgeTrainingEffect = .1>> +<<case 4>> + <<set $AgeTrainingLowerBounds = 17, $AgeTrainingUpperBounds = 19, $AgePricing = .15, $AgeTrainingEffect = .15>> +<<case 5>> + <<set $AgeTrainingLowerBounds = 16, $AgeTrainingUpperBounds = 18, $AgePricing = .35, $AgeTrainingEffect = .35>> +<<case 6>> + <<set $AgeTrainingLowerBounds = 15, $AgeTrainingUpperBounds = 17, $AgePricing = .55, $AgeTrainingEffect = .55>> +<<case 7>> + <<set $AgeTrainingLowerBounds = 14, $AgeTrainingUpperBounds = 16, $AgePricing = .75, $AgeTrainingEffect = .75>> +<<case 8>> + <<set $AgeTrainingLowerBounds = 13, $AgeTrainingUpperBounds = 15, $AgePricing = .85, $AgeTrainingEffect = .85>> +<<case 9>> + <<set $AgeTrainingLowerBounds = 12, $AgeTrainingUpperBounds = 14, $AgePricing = 1.00, $AgeTrainingEffect = 1.00>> +<<case 10>> + <<set $AgeTrainingLowerBounds = 11, $AgeTrainingUpperBounds = 13, $AgePricing = 1.0005, $AgeTrainingEffect = 1.0005>> +<<case 11>> + <<set $AgeTrainingLowerBounds = 10, $AgeTrainingUpperBounds = 12, $AgePricing = 1.01, $AgeTrainingEffect = 1.01>> +<<case 12>> + <<set $AgeTrainingLowerBounds = 9, $AgeTrainingUpperBounds = 11, $AgePricing = 1.02, $AgeTrainingEffect = 1.02>> +<<case 13>> + <<set $AgeTrainingLowerBounds = 8, $AgeTrainingUpperBounds = 10, $AgePricing = 1.03, $AgeTrainingEffect = 1.03>> +<<case 14>> + <<set $AgeTrainingLowerBounds = 7, $AgeTrainingUpperBounds = 9, $AgePricing = 1.04, $AgeTrainingEffect = 1.04>> +<<case 15>> + <<set $AgeTrainingLowerBounds = 6, $AgeTrainingUpperBounds = 8, $AgePricing = 1.05, $AgeTrainingEffect = 1.05>> +<<case 16>> + <<set $AgeTrainingLowerBounds = 5, $AgeTrainingUpperBounds = 7, $AgePricing = 1.06, $AgeTrainingEffect = 1.06>> +<<case 17>> + <<set $AgeTrainingLowerBounds = 4, $AgeTrainingUpperBounds = 6, $AgePricing = 1.07, $AgeTrainingEffect = 1.07>> +<<case 18>> + <<set $AgeTrainingLowerBounds = 3, $AgeTrainingUpperBounds = 5, $AgePricing = 1.08, $AgeTrainingEffect = 1.08>> +<<case 19>> + <<set $AgeTrainingLowerBounds = 2, $AgeTrainingUpperBounds = 4, $AgePricing = 1.09, $AgeTrainingEffect = 1.09>> +<<case 20>> + <<set $AgeTrainingLowerBounds = 1, $AgeTrainingUpperBounds = 3, $AgePricing = 1.10, $AgeTrainingEffect = 1.10 >> +<<default>> + <<set $AgeTrainingLowerBounds = 0, $AgeTrainingUpperBounds = 0, $AgePricing = 0, $AgeTrainingEffect = .95>> +<</switch>> +<</widget>> + <<widget "HeroSlavesCleanup">> <<run $heroSlaves.forEach(function(s) { const validRaces = [ diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw index 512a1d72b97..b7020065fe1 100644 --- a/src/uncategorized/BackwardsCompatibility.tw +++ b/src/uncategorized/BackwardsCompatibility.tw @@ -2809,6 +2809,11 @@ Setting missing slave variables: <<if ndef _Slave.origSkin>><<set _Slave.origSkin = _Slave.skin>><</if>> <</for>> +<<set $AgePricing = 1>> +<<set $AgeTrainingEffect = 1>> +<<set $AgeTrainingUpperBounds = 14>> +<<set $AgeTrainingLowerBounds = 12>> + <<HeroSlavesCleanup>> Done! diff --git a/src/uncategorized/costs.tw b/src/uncategorized/costs.tw index 40c41c5dcf8..4ec588dcc85 100644 --- a/src/uncategorized/costs.tw +++ b/src/uncategorized/costs.tw @@ -1,5 +1,6 @@ :: Costs [nobr] +<<AgePCEffects>> <<set $costs = ($brothel*$facilityCost)+($arcade*$facilityCost*0.5)+($club*$facilityCost)+($dairy*$facilityCost)+($incubator*$facilityCost*10)>> <<set $costs += (0.1*$brothelUpgradeDrugs*$brothel*$facilityCost)+(0.2*$arcadeUpgradeInjectors*$arcade*$facilityCost)+(0.2*$arcadeUpgradeCollectors*$arcade*$facilityCost)+(0.2*$clubUpgradePDAs*$club*$facilityCost)+(0.2*$dairyFeedersUpgrade*$dairy*$facilityCost)+(0.1*$dairyPregUpgrade*$dairy*$facilityCost)+(0.2*$dairyStimulatorsUpgrade*$facilityCost)+(0.2*$servantsQuartersUpgradeMonitoring*$servantsQuarters*$facilityCost)+(0.2*$incubatorUpgradeWeight*$incubator*$facilityCost)+(0.2*$incubatorUpgradeMuscles*$incubator*$facilityCost)+(0.2*$incubatorUpgradeReproduction*$incubator*$facilityCost)+(0.2*$incubatorUpgradeGrowthStims*$incubator*$facilityCost)+(0.5*$incubatorUpgradeSpeed*$incubator*$facilityCost)>> @@ -432,49 +433,8 @@ <<set $costs += 1000>> <</if>> -<<if $PC.actualAge <= 3>> - <<set $cost = 10000*.1>> -<<elseif $PC.actualAge == 4>> - <<set $cost = 10000*.15>> -<<elseif $PC.actualAge == 5>> - <<set $cost = 10000*.35>> -<<elseif $PC.actualAge == 6>> - <<set $cost = 10000*.55>> -<<elseif $PC.actualAge == 7>> - <<set $cost = 10000*.75>> -<<elseif $PC.actualAge == 8>> - <<set $cost = 10000*.85>> -<<elseif $PC.actualAge == 9>> - <<set $cost = 10000>> -<<elseif ($PC.actualAge >= 10 && $PC.actualAge < 21)>> - <<switch $PC.actualAge>> - <<case 10>> - <<set _N = 1.00>> - <<case 11>> - <<set _N = 1.01>> - <<case 12>> - <<set _N = 1.02>> - <<case 13>> - <<set _N = 1.03>> - <<case 14>> - <<set _N = 1.04>> - <<case 15>> - <<set _N = 1.05>> - <<case 16>> - <<set _N = 1.06>> - <<case 17>> - <<set _N = 1.07>> - <<case 18>> - <<set _N = 1.08>> - <<case 19>> - <<set _N = 1.09>> - <<case 20>> - <<set _N = 1.10>> - <</switch>> - <<set $cost = 10000*_N>> -<<elseif $PC.actualAge >= 21>> - <<set $cost = 10000*1.2>> -<</if>> +<<set $cost = 10000*$AgePricing>> + <<if ($personalAttention == "trading") || ($personalAttention == "warfare") || ($personalAttention == "slaving") || ($personalAttention == "engineering") || ($personalAttention == "medicine")>> <<set $costs += $cost>> diff --git a/src/uncategorized/costsReport.tw b/src/uncategorized/costsReport.tw index dcab4533e58..6114ac39697 100644 --- a/src/uncategorized/costsReport.tw +++ b/src/uncategorized/costsReport.tw @@ -1,5 +1,6 @@ :: Costs Report [nobr] +<<AgePCEffects>> <<set $nextButton = "Back to Main", $nextLink = "Main">> //Your weekly costs are as follows.// @@ -206,50 +207,7 @@ <br>Coursing Association membership: ¤1000 <</if>> -<<if $PC.actualAge <= 3>> - <<set $cost = 10000*.1>> -<<elseif $PC.actualAge == 4>> - <<set $cost = 10000*.15>> -<<elseif $PC.actualAge == 5>> - <<set $cost = 10000*.35>> -<<elseif $PC.actualAge == 6>> - <<set $cost = 10000*.55>> -<<elseif $PC.actualAge == 7>> - <<set $cost = 10000*.75>> -<<elseif $PC.actualAge == 8>> - <<set $cost = 10000*.85>> -<<elseif $PC.actualAge == 9>> - <<set $cost = 10000>> -<<elseif ($PC.actualAge >= 10 && $PC.actualAge < 21)>> -<<switch $PC.actualAge>> - <<case 10>> - <<set _N = 1.00>> - <<case 11>> - <<set _N = 1.01>> - <<case 12>> - <<set _N = 1.02>> - <<case 13>> - <<set _N = 1.03>> - <<case 14>> - <<set _N = 1.04>> - <<case 15>> - <<set _N = 1.05>> - <<case 16>> - <<set _N = 1.06>> - <<case 17>> - <<set _N = 1.07>> - <<case 18>> - <<set _N = 1.08>> - <<case 19>> - <<set _N = 1.09>> - <<case 20>> - <<set _N = 1.10>> - <</switch>> - <<set $cost = 10000*_N>> -<<elseif $PC.actualAge >= 21>> - <<set $cost = 10000*1.2>> -<</if>> - +<<set $cost = 10000*$AgePricing>> <<if ($personalAttention == "trading")>> <br>Trading trainer fees: ¤$cost <<elseif ($personalAttention == "warfare")>> diff --git a/src/uncategorized/persBusiness.tw b/src/uncategorized/persBusiness.tw index 873150106bb..f892f2cbcac 100644 --- a/src/uncategorized/persBusiness.tw +++ b/src/uncategorized/persBusiness.tw @@ -1,5 +1,6 @@ :: Personal Business [nobr] +<<AgePCEffects>> <<if $useTabs == 0>>__Personal Business__<</if>> <br> <<if $secExp == 1>> @@ -405,53 +406,10 @@ <<if $PCWounded == 1 && $secExp == 1>> /* does nothing this week */ -<<elseif $PC.actualAge <= 3>> - <<set _Cal += Math.ceil((random(10,20)*.1)>> -<<elseif $PC.actualAge == 4>> - <<set _Cal += Math.ceil((random(8,18)*.15)>> -<<elseif $PC.actualAge == 5>> - <<set _Cal += Math.ceil((random(6,16)*.35)>> -<<elseif $PC.actualAge == 6>> - <<set _Cal += Math.ceil((random(4,14)*.55)>> -<<elseif $PC.actualAge == 7>> - <<set _Cal += Math.ceil((random(3,12)*.75)>> -<<elseif $PC.actualAge == 8>> - <<set _Cal += Math.ceil((random(2,8)*.85)>> -<<elseif $PC.actualAge == 9>> - <<set _Cal += random(1,4)>> -<<elseif $PC.actualAge >= 10 && <<elseif $PC.actualAge < 21>> - <<switch $PC.actualAge>> - <<case 10>> - <<set _N = 1.00>> - <<case 11>> - <<set _N = 1.01>> - <<case 12>> - <<set _N = 1.02>> - <<case 13>> - <<set _N = 1.03>> - <<case 14>> - <<set _N = 1.04>> - <<case 15>> - <<set _N = 1.05>> - <<case 16>> - <<set _N = 1.06>> - <<case 17>> - <<set _N = 1.07>> - <<case 18>> - <<set _N = 1.08>> - <<case 19>> - <<set _N = 1.09>> - <<case 20>> - <<set _N = 1.10>> - <</switch>> - <<set _Cal += Math.ceil((random(1,4)*_N)>> +<<elseif $PC.actualAge < 21>> + <<set _Cal += Math.ceil((random($AgeTrainingLowerBounds,$AgeTrainingUpperBounds)*$AgeTrainingEffect)>> <<elseif $PC.actualAge >= 21>> - <<set $PC.trading -= Math.ceil($PC.trading*.95)>> - <<set $PC.warfare -= Math.ceil($PC.warfare*.95)>> - <<set $PC.slaving -= Math.ceil($PC.slaving*.95)>> - <<set $PC.engineering -= Math.ceil($PC.engineering*.95)>> - <<set $PC.medicine -= Math.ceil($PC.medicine*.95)>> -<</if>> + <<set _Cal += Math.ceil((random($AgeTrainingLowerBounds,$AgeTrainingUpperBounds)*$AgeTrainingEffect)>> <<elseif ($personalAttention == "trading")>> <<set _oldSkill = $PC.trading>> diff --git a/src/uncategorized/personalAttentionSelect.tw b/src/uncategorized/personalAttentionSelect.tw index e1205038dcb..7b43c4f9a9d 100644 --- a/src/uncategorized/personalAttentionSelect.tw +++ b/src/uncategorized/personalAttentionSelect.tw @@ -1,5 +1,6 @@ :: Personal Attention Select [nobr] +<<AgePCEffects>> <<set $nextButton = "Back to Main", $nextLink = "Main">> <<if $PC.career == "escort">> @@ -29,52 +30,13 @@ <br> <</if>> -<<if $PC.actualAge <= 3>> - <<set $cost = 10000*.1>> -<<elseif $PC.actualAge == 4>> - <<set $cost = 10000*.15>> -<<elseif $PC.actualAge == 5>> - <<set $cost = 10000*.35>> -<<elseif $PC.actualAge == 6>> - <<set $cost = 10000*.55>> -<<elseif $PC.actualAge == 7>> - <<set $cost = 10000*.75>> -<<elseif $PC.actualAge == 8>> - <<set $cost = 10000*.85>> -<<elseif $PC.actualAge == 9>> - <<set $cost = 10000>> -<<elseif ($PC.actualAge >= 10 && $PC.actualAge < 21)>> -<<switch $PC.actualAge>> - <<case 10>> - <<set _N = 1.00>> - <<case 11>> - <<set _N = 1.01>> - <<case 12>> - <<set _N = 1.02>> - <<case 13>> - <<set _N = 1.03>> - <<case 14>> - <<set _N = 1.04>> - <<case 15>> - <<set _N = 1.05>> - <<case 16>> - <<set _N = 1.06>> - <<case 17>> - <<set _N = 1.07>> - <<case 18>> - <<set _N = 1.08>> - <<case 19>> - <<set _N = 1.09>> - <<case 20>> - <<set _N = 1.10>> - <</switch>> - <<set $cost = 10000*_N>> -<<elseif $PC.actualAge >= 21>> - <<set $cost = 10000*1.2>> -<</if>> +<<set $cost = 10000*$AgePricing>> +<<set _MinEffectedAge = 3, _PastPrimeAge = 21>> + +<<if $PC.actualAge >= _MinEffectedAge>> <<if $PC.trading >= 100>> - //You are a master trader.// + <br>//You are a master trader.// <<else>> <<if $PC.trading > 60>> //You are an expert trader.// @@ -85,12 +47,12 @@ <</if>> <<if $personalAttention == "trading">> You are training in venture capitalism. - <<elseif $PC.trading < 100 && $PC.actualAge < 21>> - [[Hire a merchant to train you in commerce|Main][$personalAttention = "trading", $personalAttentionChanged = 1]] + <<elseif $PC.trading < 100 && $PC.actualAge < _PastPrimeAge>> + <br>[[Hire a merchant to train you in commerce|Main][$personalAttention = "trading", $personalAttentionChanged = 1]] <</if>> -<</if>><br> +<</if>> <<if $PC.warfare >= 100>> - //You are a master tactician.// + <br>//You are a master tactician.// <<else>> <<if $PC.warfare > 60>> //You are an expert tactician.// @@ -101,12 +63,12 @@ <</if>> <<if $personalAttention == "warfare">> You are training in tactics. - <<elseif $PC.warfare < 100 && $PC.actualAge < 21>> - [[Hire a mercenary to train you in warfare|Main][$personalAttention = "warfare", $personalAttentionChanged = 1]] + <<elseif $PC.warfare < 100 && $PC.actualAge < _PastPrimeAge>> + <br>[[Hire a mercenary to train you in warfare|Main][$personalAttention = "warfare", $personalAttentionChanged = 1]] <</if>> -<</if>><br> +<</if>> <<if $PC.slaving >= 100>> - //You are a master slaver.// + <br>//You are a master slaver.// <<else>> <<if $PC.slaving > 60>> //You are an expert slaver.// @@ -117,12 +79,12 @@ <</if>> <<if $personalAttention == "slaving">> You are training in slaving. - <<elseif $PC.slaving < 100 && $PC.actualAge < 21>> - [[Hire a slaver to train you in slaving|Main][$personalAttention = "slaving", $personalAttentionChanged = 1]] + <<elseif $PC.slaving < 100 && $PC.actualAge < _PastPrimeAge>> + <br>[[Hire a slaver to train you in slaving|Main][$personalAttention = "slaving", $personalAttentionChanged = 1]] <</if>> -<</if>><br> +<</if>> <<if $PC.engineering >= 100>> - //You are a master arcology engineer.// + <br>//You are a master arcology engineer.// <<else>> <<if $PC.engineering > 60>> //You are an expert arcology engineer.// @@ -133,12 +95,12 @@ <</if>> <<if $personalAttention == "engineering">> You are training in arcology engineering. - <<elseif $PC.engineering < 100 && $PC.actualAge < 21>> - [[Hire an engineer to train you in engineering|Main][$personalAttention = "engineering", $personalAttentionChanged = 1]] + <<elseif $PC.engineering < 100 && $PC.actualAge < _PastPrimeAge>> + <br>[[Hire an engineer to train you in engineering|Main][$personalAttention = "engineering", $personalAttentionChanged = 1]] <</if>> -<</if>><br> +<</if>> <<if $PC.medicine >= 100>> - //You are a master surgeon.// + <br>//You are a master surgeon.// <<else>> <<if $PC.medicine > 60>> //You are an expert surgeon.// @@ -149,11 +111,12 @@ <</if>> <<if $personalAttention == "medicine">> You are training in slave surgery. - <<elseif $PC.medicine < 100 && $PC.actualAge < 21>> - [[Hire a doctor to train you in medicine|Main][$personalAttention = "medicine", $personalAttentionChanged = 1]] + <<elseif $PC.medicine < 100 && $PC.actualAge < _PastPrimeAge>> + <br>[[Hire a doctor to train you in medicine|Main][$personalAttention = "medicine", $personalAttentionChanged = 1]] <</if>> <</if>> -<br>//Training will cost ¤<<print $cost>> per week.//<br><br> +<</if>> +<<if $PC.actualAge >= _MinEffectedAge && $PC.actualAge < _PastPrimeAge && ($PC.medicine < 100 || $PC.engineering < 100 || $PC.slaving < 100 || $PC.warfare < 100 || $PC.trading < 100)>><br>//Training will cost ¤$cost per week.//<br><br><<else>><br><br><</if>> <<if ($personalAttentionChanged == 1)>> <<if ($activeSlave.health < -20)>> -- GitLab