From fb6d2a089d6f8fdb6ee5a2ad1f1b570ea3353a83 Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Sun, 12 Mar 2017 06:46:21 -0400
Subject: [PATCH] Player age split.

---
 src/cheats/mod_EditArcologyCheat.tw           | 29 ++++++++---
 .../mod_EditArcologyCheatDatatypeCleanup.tw   |  3 ++
 src/events/intro/initNationalities.tw         |  4 +-
 src/events/intro/introSummary.tw              | 50 ++++++++++++++++---
 src/events/intro/pcBodyIntro.tw               | 12 +++--
 src/init/storyInit.tw                         |  3 +-
 src/npc/acquisition.tw                        | 12 ++---
 src/npc/startingGirls/startingGirls.tw        | 20 +++-----
 src/pregmod/pregmodWidgets.tw                 | 18 +++++++
 src/uncategorized/RESS.tw                     |  4 +-
 src/uncategorized/economics.tw                | 25 +++++++---
 src/uncategorized/endWeek.tw                  | 13 ++---
 src/uncategorized/main.tw                     |  3 ++
 src/uncategorized/newSlaveIntro.tw            |  4 +-
 src/uncategorized/nextWeek.tw                 | 12 +++++
 src/uncategorized/pHostageAcquisition.tw      |  8 +--
 src/uncategorized/pRivalryHostage.tw          |  1 -
 17 files changed, 154 insertions(+), 67 deletions(-)

diff --git a/src/cheats/mod_EditArcologyCheat.tw b/src/cheats/mod_EditArcologyCheat.tw
index 1fb399f570f..4c4a10fd7ba 100644
--- a/src/cheats/mod_EditArcologyCheat.tw
+++ b/src/cheats/mod_EditArcologyCheat.tw
@@ -3,7 +3,8 @@
 
 	<<set $nextButton to "Continue">>
 	<<set $nextLink to "MOD_Edit Arcology Cheat Datatype Cleanup">>
-
+	<<set $PC.actualAge to Math.clamp($PC.actualAge, 18, 80)>>
+	
 ''Cheating Edit Arcology''
 
 <<if ($economy != 1) || ($seeDicks != 25) || ($continent != "North America") || ($internationalTrade != 1) || ($internationalVariety != 1) || ($seeRace != 1) || ($seeNationality != 1) || ($seeExtreme != 0) || ($plot != 1)>>
@@ -229,16 +230,32 @@ __Player Character__
 <</if>>
 <br>
 Age:
-<<if $PC.age == 3>>
+<<if $PC.actualAge >= 65>>
+	''old''.
+<<elseif $PC.actualAge >= 50>>
 	''well into middle age''.
-	[[Younger|MOD_Edit Arcology Cheat][$PC.age to 2]]
-<<elseif $PC.age == 2>>
+<<elseif $PC.actualAge >= 35>>
 	''entering middle age''.
-	[[Younger|MOD_Edit Arcology Cheat][$PC.age to 1]] | [[Older|MOD_Edit Arcology Cheat][$PC.age to 3]]
 <<else>>
 	''surprisingly young''.
-	[[Older|MOD_Edit Arcology Cheat][$PC.age to 2]]
 <</if>>
+<<textbox "$PC.actualAge" $PC.actualAge "MOD_Edit Arcology Cheat">>
+<<set $PC.physicalAge = $PC.actualAge, $PC.visualAge = $PC.actualAge>>
+<br>
+<<if $playerAging == 2>>
+	You will ''age naturally.''
+	[[Disable aging|MOD_Edit Arcology Cheat][$playerAging to 0]] |
+	[[Semi aging|MOD_Edit Arcology Cheat][$playerAging to 1]]
+<<elseif $playerAging == 1>>
+	You ''will'' celebrate birthdays, but ''not age.''
+	[[Enable aging fully|MOD_Edit Arcology Cheat][$playerAging to 2]] |
+	[[Disable aging|MOD_Edit Arcology Cheat][$playerAging to 0]]
+<<else>>
+	You will ''not age,'' and not experience birthdays.
+	[[Enable aging|MOD_Edit Arcology Cheat][$playerAging to 2]] |
+	[[Semi aging|MOD_Edit Arcology Cheat][$playerAging to 1]]
+<</if>>
+//This option cannot be changed during the game//
 <br>
 Rename your character: <<textbox "$PCName" $PCName "MOD_Edit Arcology Cheat">>
 <br>
diff --git a/src/cheats/mod_EditArcologyCheatDatatypeCleanup.tw b/src/cheats/mod_EditArcologyCheatDatatypeCleanup.tw
index fda6dddacd7..18706877074 100644
--- a/src/cheats/mod_EditArcologyCheatDatatypeCleanup.tw
+++ b/src/cheats/mod_EditArcologyCheatDatatypeCleanup.tw
@@ -29,6 +29,9 @@
 
 	<<set $arcologies[0].ownership to Number($arcologies[0].ownership)>>
 	<<set $arcologies[0].minority to Number($arcologies[0].minority)>>
+	
+	<<set $PC.actualAge to Number($PC.actualAge)>>
+	<<set $PC.physicalAge = $PC.actualAge, $PC.visualAge = $PC.actualAge>>
 
 	The chanting grows louder and louder, CHEAT! CHEAT! CHEAT!
 
diff --git a/src/events/intro/initNationalities.tw b/src/events/intro/initNationalities.tw
index bd1ab50a8fc..82a9c12982b 100644
--- a/src/events/intro/initNationalities.tw
+++ b/src/events/intro/initNationalities.tw
@@ -52,9 +52,9 @@
 	<<set $rep += 4000>>
 <</if>>
 
-<<if $PC.age is 3>>
+<<if $PC.visualAge >= 50>>
 	<<set $rep += 2000>>
-<<elseif $PC.age == 1>>
+<<elseif $PC.visualAge < 35>>
 	<<if $rep >= 2000>>
 	<<set $rep -= 2000>>
 	<<else>>
diff --git a/src/events/intro/introSummary.tw b/src/events/intro/introSummary.tw
index 870abc17f87..73c6655860e 100644
--- a/src/events/intro/introSummary.tw
+++ b/src/events/intro/introSummary.tw
@@ -2,6 +2,7 @@
 
 <<set $neighboringArcologies to Math.clamp($neighboringArcologies, 0, 8)>>
 <<set $FSCreditCount to Math.clamp($FSCreditCount, 4, 7)>>
+<<set $PC.actualAge to Math.clamp($PC.actualAge, 18, 80)>>
 
 <<silently>>
 FertilityAge($fertilityAge)
@@ -504,16 +505,33 @@ Genitalia:
 <br>
 
 Age:
-<<if $PC.age is 3>>
+<<if $PC.actualAge >= 65>>
+	''old''.
+<<elseif $PC.actualAge >= 50>>
 	''well into middle age''.
-	[[Younger|Intro Summary][$PC.age to 2]]
-<<elseif $PC.age is 2>>
+<<elseif $PC.actualAge >= 35>>
 	''entering middle age''.
-	[[Younger|Intro Summary][$PC.age to 1]] | [[Older|Intro Summary][$PC.age to 3]]
 <<else>>
 	''surprisingly young''.
-	[[Older|Intro Summary][$PC.age to 2]]
 <</if>>
+<<textbox "$PC.actualAge" $PC.actualAge "Intro Summary">>
+<<set $PC.physicalAge = $PC.actualAge, $PC.visualAge = $PC.actualAge>>
+
+<br>
+<<if $playerAging == 2>>
+	You will ''age naturally.''
+	[[Disable aging|Intro Summary][$playerAging to 0]] |
+	[[Semi aging|Intro Summary][$playerAging to 1]]
+<<elseif $playerAging == 1>>
+	You ''will'' celebrate birthdays, but ''not age.''
+	[[Enable aging fully|Intro Summary][$playerAging to 2]] |
+	[[Disable aging|Intro Summary][$playerAging to 0]]
+<<else>>
+	You will ''not age,'' and not experience birthdays.
+	[[Enable aging|Intro Summary][$playerAging to 2]] |
+	[[Semi aging|Intro Summary][$playerAging to 1]]
+<</if>>
+//This option cannot be changed during the game//
 
 <br>
 Name your character: <<textbox "$PCName" $PCName "Intro Summary">>
@@ -631,13 +649,31 @@ Genitalia:
 <</if>>
 <br>
 Age:
-<<if $PC.age is 3>>
+<<if $PC.actualAge >= 65>>
+	''old''.
+<<elseif $PC.actualAge >= 50>>
 	''well into middle age''.
-<<elseif $PC.age is 2>>
+<<elseif $PC.actualAge >= 35>>
 	''entering middle age''.
 <<else>>
 	''surprisingly young''.
 <</if>>
+<<set $PC.physicalAge = $PC.actualAge, $PC.visualAge = $PC.actualAge>>
+<br>
+<<if $playerAging == 2>>
+	You will ''age naturally.''
+	[[Disable aging|Intro Summary][$playerAging to 0]] |
+	[[Semi aging|Intro Summary][$playerAging to 1]]
+<<elseif $playerAging == 1>>
+	You ''will'' celebrate birthdays, but ''not age.''
+	[[Enable aging fully|Intro Summary][$playerAging to 2]] |
+	[[Disable aging|Intro Summary][$playerAging to 0]]
+<<else>>
+	You will ''not age,'' and not experience birthdays.
+	[[Enable aging|Intro Summary][$playerAging to 2]] |
+	[[Semi aging|Intro Summary][$playerAging to 1]]
+<</if>>
+//This option cannot be changed during the game//
 <br>
 Change your name: <<textbox "$PCName" $PCName "Intro Summary">>
 <br>
diff --git a/src/events/intro/pcBodyIntro.tw b/src/events/intro/pcBodyIntro.tw
index c43ddd77b1e..b67ee890b96 100644
--- a/src/events/intro/pcBodyIntro.tw
+++ b/src/events/intro/pcBodyIntro.tw
@@ -2,6 +2,7 @@
 
 Most slaveowners in the Free Cities are male. The preexisting power structures of the old world have mostly migrated to the new, and it can often be very hard to be a free woman in the Free Cities. Some manage to make their way, but in many arcologies, men are the owners, and women are the owned. You'll cut a striking figure as the owner and leader of your arcology, but @@color:orange;what's under your business attire?@@
 
+<<set $PC.actualAge to Math.clamp($PC.actualAge, 18, 80)>>
 <br>
 
 Under my suit jacket,
@@ -49,16 +50,17 @@ Your slaves will refer to you as
 @@color:orange;How old are you?@@
 <br>
 I'm
-<<if $PC.age is 3>>
+<<if $PC.actualAge >= 65>>
+	getting up in years. I've made a legacy for myself, and I'm not done yet.
+<<elseif $PC.actualAge >= 50>>
 	well into middle age. I've made a name for myself, and I've still got it.
-	[[Younger|PC Body Intro][$PC.age to 2]]
-<<elseif $PC.age is 2>>
+<<elseif $PC.actualAge >= 35>>
 	entering middle age. I'm accomplished, and I retain some youthful vigor.
-	[[Younger|PC Body Intro][$PC.age to 1]] | [[Older|PC Body Intro][$PC.age to 3]]
 <<else>>
 	surprisingly young. I'll need to prove myself, but I've got energy to burn.
-	[[Older|PC Body Intro][$PC.age to 2]]
 <</if>>
+My age: ''<<textbox "$PC.actualAge" $PC.actualAge "PC Body Intro">>''
+<<set $PC.physicalAge = $PC.actualAge, $PC.visualAge = $PC.actualAge>>
 <br>&nbsp;&nbsp;&nbsp;&nbsp;
 //Older player characters start with more reputation and maintain reputation somewhat more easily, but have slightly less sexual energy.//
 
diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw
index 9d20f74f573..06010e3dd31 100644
--- a/src/init/storyInit.tw
+++ b/src/init/storyInit.tw
@@ -319,7 +319,7 @@
 
 <<set $cheater to 0>>
 <<set $PCName to "Anonymous">>
-<<set $PC to {title: 1, ID: -1, dick: 1, vagina: 0, preg: 0, pregSource: 0, pregMood: 0, labor: 0, births: 0, boobsBonus: 0, degeneracy: 0, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, career: "capitalist", rumor: "wealth", indenture: -1, indentureRestrictions: 0, birthWeek: random(0,51), age: 2, sexualEnergy: 4, refreshment: "cigar", refreshmentType: 0, race: "white", skin: "white", eyeColor: "blue", hColor: "blonde", nationality: "Stateless", father: 0, mother: 0, sisters: 0, daughters: 0, birthElite: 0, birthMaster: 0, birthDegenerate: 0, birthClient: 0, birthOther: 0, birthArcOwner: 0, intelligence: 3, face: 3}>>
+<<set $PC to {title: 1, ID: -1, dick: 1, vagina: 0, preg: 0, pregSource: 0, pregMood: 0, labor: 0, births: 0, boobsBonus: 0, degeneracy: 0, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, career: "capitalist", rumor: "wealth", indenture: -1, indentureRestrictions: 0, birthWeek: random(0,51), age: 2, sexualEnergy: 4, refreshment: "cigar", refreshmentType: 0, race: "white", skin: "white", eyeColor: "blue", hColor: "blonde", nationality: "Stateless", father: 0, mother: 0, sisters: 0, daughters: 0, birthElite: 0, birthMaster: 0, birthDegenerate: 0, birthClient: 0, birthOther: 0, birthArcOwner: 0, intelligence: 3, face: 3, actualAge: 35, physicalAge: 35, visualAge: 35, birthweek: 0}>>
 <<set $cash = 10000>>
 <<set $normalizedEvents to 0>>
 <<set $autosave to 1>>
@@ -736,6 +736,7 @@ DairyRestraintsSetting($dairyRestraintsSetting)
 <<set $freshPC = 0>>
 <<set $inbreeding = 1>>
 <<set $originOveride = 0>>
+<<set $playerAging = 2>>
 
 <<set $fakeBellies to ["a small empathy belly", "a medium empathy belly", "a large empathy belly", "a huge empathy belly"]>> /* lets fake bellies be separated from other .bellyAccessory */
 
diff --git a/src/npc/acquisition.tw b/src/npc/acquisition.tw
index ec1457e91ce..d29ed4204cb 100644
--- a/src/npc/acquisition.tw
+++ b/src/npc/acquisition.tw
@@ -5,15 +5,15 @@
 	<<if $PC.vagina == 1>>
 	<<set $PC.births = 0>>
 	<<if $PC.career == "servant">>
-		<<if $PC.age == 1>>
-			<<set $PC.births = 3>>
-			<<set $PC.birthMaster = 3>>
-		<<elseif $PC.age == 2>>
+		<<if $PC.actualAge >= 50 >>
+			<<set $PC.births = 9>>
+			<<set $PC.birthMaster = 9>>
+		<<elseif $PC.actualAge >= 35>>
 			<<set $PC.births = 6>>
 			<<set $PC.birthMaster = 6>>
 		<<else>>
-			<<set $PC.births = 9>>
-			<<set $PC.birthMaster = 9>>
+			<<set $PC.births = 3>>
+			<<set $PC.birthMaster = 3>>
 		<</if>>
 		<<for $i to 0; $i < $slaves.length; $i++>>
 			<<if $slaves[$i].origin == "She was another of your late master's servants. She spent nine months in your womb, courtesy of your master." ||$slaves[$i].origin == "Your late master took pleasure in using his servants in creative ways. He inseminated you with your own sperm, and nine months later, your daughter was born.">>
diff --git a/src/npc/startingGirls/startingGirls.tw b/src/npc/startingGirls/startingGirls.tw
index 1f5ee8c20e7..7f9a182e9ab 100644
--- a/src/npc/startingGirls/startingGirls.tw
+++ b/src/npc/startingGirls/startingGirls.tw
@@ -45,14 +45,14 @@
 	<<if _tempSlave.relation != 0>>
 		<<if _tempSlave.relation is "sister">>
 			<<set $activeSlave.relation = "sister">>
-			<<set $activeSlave.age -= 5>>
-			<<set $activeSlave.age += random(0,10)>>
+			<<set $activeSlave.actualAge -= 5>>
+			<<set $activeSlave.actualAge += random(0,10)>>
 		<<elseif _tempSlave.relation is "mother">>
 			<<set $activeSlave.relation = "daughter">>
-			<<set $activeSlave.age -= random(16,24)>>
+			<<set $activeSlave.actualAge -= random(16,24)>>
 		<<elseif _tempSlave.relation is "daughter">>
 			<<set $activeSlave.relation = "mother">>
-			<<set $activeSlave.age += random(16,24)>>
+			<<set $activeSlave.actualAge += random(16,24)>>
 			<<if $activeSlave.vagina == 0>><<set $activeSlave.vagina++>><</if>>
 		<</if>>
 		<<set $activeSlave.relationTarget = _tempSlave.ID>>
@@ -113,11 +113,7 @@ __You are customizing this slave:__
 <<if $activeSlave.father == -1>>
 	<<if $PC.dick == 0>>
 		<<set $activeSlave.father = 0>>
-	<<elseif $PC.age == 1 && $activeSlave.actualAge > 8>>
-		<<set $activeSlave.father = 0>>
-	<<elseif $PC.age == 2 && $activeSlave.actualAge > 20>>
-		<<set $activeSlave.father = 0>>
-	<<elseif $PC.age == 3 && $activeSlave.actualAge > 30>>
+	<<elseif ($PC.actualAge - $activeSlave.actualAge) < $minimumSlaveAge>>
 		<<set $activeSlave.father = 0>>
 	<</if>>
 	<<if $saveImported == 1>>
@@ -127,11 +123,7 @@ __You are customizing this slave:__
 <<if $activeSlave.mother == -1>>
 	<<if $PC.vagina == 0>>
 		<<set $activeSlave.mother = 0>>
-	<<elseif $PC.age == 1 && $activeSlave.actualAge > 8>>
-		<<set $activeSlave.mother = 0>>
-	<<elseif $PC.age == 2 && $activeSlave.actualAge > 20>>
-		<<set $activeSlave.mother = 0>>
-	<<elseif $PC.age == 3 && $activeSlave.actualAge > 30>>
+	<<elseif ($PC.actualAge - $activeSlave.actualAge) < $minimumSlaveAge>>
 		<<set $activeSlave.mother = 0>>
 	<</if>>
 	<<if $saveImported == 1>>
diff --git a/src/pregmod/pregmodWidgets.tw b/src/pregmod/pregmodWidgets.tw
index cef9eafc0d3..47d26241ce4 100644
--- a/src/pregmod/pregmodWidgets.tw
+++ b/src/pregmod/pregmodWidgets.tw
@@ -121,6 +121,24 @@
 <<if ndef $PC.face>>
 	<<set $PC.face = 3>>
 <</if>>
+<<if ndef $PC.actualAge>>
+	<<if $PC.age == 1>>
+		<<set $PC.actualAge = 20>>
+	<<elseif $PC.age == 2>>
+		<<set $PC.actualAge = 35>>
+	<<elseif $PC.age == 3>>
+		<<set $PC.actualAge = 50>>
+	<</if>>
+<</if>>
+<<if ndef $PC.visualAge>>
+	<<set $PC.visualAge = $PC.actualAge>>
+<</if>>
+<<if ndef $PC.physicalAge>>
+	<<set $PC.physicalAge = $PC.actualAge>>
+<</if>>
+<<if ndef $PC.birthweek>>
+	<<set $PC.birthweek = 0>>
+<</if>>
 
 <<if ndef $args[0].pubertyXX>>
 	<<if $args[0].physicalAge >= $args[0].pubertyAgeXX>>
diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw
index e41f715d542..f178817ad60 100644
--- a/src/uncategorized/RESS.tw
+++ b/src/uncategorized/RESS.tw
@@ -896,7 +896,7 @@ At your <<if canSee($activeSlave)>>nod<<else>>acknowledgement<</if>>, she
 
 <<if $arcologies[0].FSPhysicalIdealist != "unset">>
   You maintain a tremendous workout routine: the leader of a society that worships physical perfection can afford nothing less. Working out maintains your appearance, keeps you sharp, and makes you the exemplar of the physical ideal that you have to be for your vision for the future to be realized. So, you pay the iron price for your <<if $PC.title == 1>>muscles<<else>>toned body<</if>>. Like most of the arcology's prominent citizens, you often lift publicly and take part in other amateur sports, but you also have your own private weight room in your penthouse, and you spend a lot of time there.
-<<elseif $PC.age > 2>>
+<<elseif $PC.physicalAge >= 50>>
   You take care of yourself. You're no longer as young as you once were, making it almost a requirement that you work out, hard and regularly. The fact is, the overwhelming majority of arcology owners who maintain their positions for more than a short time are physically fit. The Free Cities have a reputation for destroying old world wastrels who inherit wealth and think that makes them able to survive in an anarcho-capitalist world. Sloth and an inability to self-govern are not qualities common among your successful peers. Not to mention, it's useful to look good, and it may well prove essential to be physically capable in the near future.
 <<else>>
   You take care of yourself. It would be absurd to think that there's any explicit requirement that you work out, hard and regularly, but the fact remains that the overwhelming majority of arcology owners who maintain their positions for more than a short time are physically fit. The Free Cities have a reputation for destroying old world wastrels who inherit wealth and think that makes them able to survive in an anarcho-capitalist world. Sloth and an inability to self-govern are not qualities common among your successful peers. Not to mention, it's useful to look good, and it may well prove essential to be physically capable in the near future.
@@ -1175,7 +1175,7 @@ She's referring to the volume issue with her unnaturally massive dick. The thing
 
 <<case "fucktoy tribbing">>
 
-With a mind as busy as yours, you sometimes wake up in the middle of the night for no reason that you can remember.<<if $PC.age > 2>> These incidents have become more common as you age; merely one of time's little mutilations.<</if>> Naturally, waking up in the middle of the night feels much different than it did back before you owned an arcology. Now you have your choice from a virtual buffet of sleeping girls if you don't feel like going back to sleep right away.
+With a mind as busy as yours, you sometimes wake up in the middle of the night for no reason that you can remember.<<if $PC.actualAge >= 50>> These incidents have become more common as you age; merely one of time's little mutilations.<</if>> Naturally, waking up in the middle of the night feels much different than it did back before you owned an arcology. Now you have your choice from a virtual buffet of sleeping girls if you don't feel like going back to sleep right away.
 <br><br>
 The slave on your left is sleeping on her back, and is touching you lightly at the hip and shoulder. The slave on your right, though, is nestled in close, her shoulder under your arm and her head resting gently on your <<if $PC.boobs == 1>>bare breast<<else>>toned chest<</if>>. She's straddling your leg on that side, and as your waking consciousness coalesces, you become more and more aware <<if $activeSlave.preg > 20>>of the weight of her pregnancy on your middle and <</if>>that her mons is pressed against your thigh. She has one leg thrown over yours in her sleeping embrace, placing her own <<if $activeSlave.muscles > 30>>muscular<<elseif $activeSlave.weight > 10>>plush<<else>>feminine<</if>> thigh against your womanhood in turn. It's <span id="name"><<print "[[$activeSlave.slaveName|Long Slave Description][$nextLink to passage(), $eventDescription to 1]]">></span>, and you feel yourself begin to grow wet as you gaze at her in the dim light and feel her slumbering heat.
 
diff --git a/src/uncategorized/economics.tw b/src/uncategorized/economics.tw
index d4c078a64e2..9f03a423355 100644
--- a/src/uncategorized/economics.tw
+++ b/src/uncategorized/economics.tw
@@ -397,10 +397,13 @@ On formal occasions, you are announced as $PCTitle.
 	Since you are an established member of the Societal Elite, your public reputation no longer decays.
 <<elseif $rep > $enduringRep>>
 	<<if $arcologies[0].FSMaturityPreferentialistLaw == 1>>
-	<<if $PC.age is 3>>
+	<<if $PC.actualAge >= 65>>
+		Since you're getting on in years and have an impressive list of accomplishments, and $arcologies[0].name's society respects age, your reputation degrades quite slowly.
+		<<set $repLoss = Math.trunc(($rep-$enduringRep)*($repDecay-0.025))>>
+	<<elseif $PC.actualAge >= 50>>
 		Since you're well into middle age and have an impressive list of accomplishments, and $arcologies[0].name's society respects age, your reputation degrades quite slowly.
 		<<set $repLoss = Math.trunc(($rep-$enduringRep)*($repDecay-0.025))>>
-	<<elseif $PC.age == 1>>
+	<<elseif $PC.actualAge < 35>>
 		Since you're unusually young for an arcology owner, and $arcologies[0].name's society respects age, your reputation degrades quite quickly.
 		<<set $repLoss = Math.trunc(($rep-$enduringRep)*($repDecay+0.025))>>
 	<<else>>
@@ -408,10 +411,13 @@ On formal occasions, you are announced as $PCTitle.
 		<<set $repLoss = Math.trunc(($rep-$enduringRep)*($repDecay))>>
 	<</if>>
 	<<elseif $arcologies[0].FSYouthPreferentialistLaw == 1>>
-	<<if $PC.age is 3>>
+	<<if $PC.actualAge >= 65>>
+		Since you're getting on in years and have an impressive list of accomplishments, but $arcologies[0].name's society is coming to prefer youth to experience, so your reputation degrades fairly quickly.
+		<<set $repLoss = Math.trunc(($rep-$enduringRep)*($repDecay-0.025))>>
+	<<elseif $PC.actualAge >= 50>>
 		You're well into middle age and have an impressive list of accomplishments, but $arcologies[0].name's society is coming to prefer youth to experience, so your reputation degrades fairly quickly.
 		<<set $repLoss = Math.trunc(($rep-$enduringRep)*($repDecay+0.025))>>
-	<<elseif $PC.age == 1>>
+	<<elseif $PC.actualAge < 35>>
 		You're unusually young for an arcology owner, but $arcologies[0].name's society doesn't mind.
 		<<set $repLoss = Math.trunc(($rep-$enduringRep)*($repDecay))>>
 	<<else>>
@@ -419,10 +425,13 @@ On formal occasions, you are announced as $PCTitle.
 		<<set $repLoss = Math.trunc(($rep-$enduringRep)*($repDecay+0.025))>>
 	<</if>>
 	<<else>>
-	<<if $PC.age is 3>>
+	<<if $PC.actualAge >= 65>>
+		Since you're getting on in years and have an impressive list of accomplishments, and $arcologies[0].name's society respects age, your reputation degrades quite slowly.
+		<<set $repLoss = Math.trunc(($rep-$enduringRep)*($repDecay-0.025))>>
+	<<elseif $PC.actualAge >= 50>>
 		Since you're well into middle age and have an impressive list of accomplishments, your reputation degrades fairly slowly.
 		<<set $repLoss = Math.trunc(($rep-$enduringRep)*($repDecay-0.025))>>
-	<<elseif $PC.age == 1>>
+	<<elseif $PC.actualAge < 35>>
 		Since you're unusually young for an arcology owner, your reputation degrades fairly quickly.
 		<<set $repLoss = Math.trunc(($rep-$enduringRep)*($repDecay+0.025))>>
 	<<else>>
@@ -1318,13 +1327,13 @@ earning you @@color:yellowgreen;ยค$seed.@@
 		<<set $AWeekGrowth += 1>>
 		<</if>>
 		<<if $arcologies[0].FSMaturityPreferentialistLaw == 1>>
-		<<if $PC.age is 3>>
+		<<if $PC.actualAge >= 50>>
 		You are able to leverage your long seniority in the business community using the arcology's favorable laws to further advance prosperity.
 		<<set $AWeekGrowth += 1>>
 		<</if>>
 		<</if>>
 		<<if $arcologies[0].FSYouthPreferentialistLaw == 1>>
-		<<if $PC.age == 1>>
+		<<if $PC.actualAge < 35>>
 		You are able to leverage your freshness in the business community using the arcology's favorable laws to further advance prosperity.
 		<<set $AWeekGrowth += 1>>
 		<</if>>
diff --git a/src/uncategorized/endWeek.tw b/src/uncategorized/endWeek.tw
index 920323d75b7..32d0a363a8d 100644
--- a/src/uncategorized/endWeek.tw
+++ b/src/uncategorized/endWeek.tw
@@ -101,9 +101,11 @@
 <<if $personalAttention is "sex">>
 	<<set $PC.sexualEnergy += 2>>
 <</if>>
-<<if $PC.age is 3>>
+<<if $PC.physicalAge >= 65>>
+	<<set $PC.sexualEnergy -= 4>>
+<<elseif $PC.physicalAge >= 50>>
 	<<set $PC.sexualEnergy -= 2>>
-<<elseif $PC.age == 1>>
+<<elseif $PC.physicalAge < 35>>
 	<<set $PC.sexualEnergy += 2>>
 <</if>>
 <<if $PC.preg > 20>>
@@ -115,13 +117,6 @@
 <<elseif $PC.preg > 0>>
 	<<set $PC.sexualEnergy -= 1>>	
 <</if>>
-<<if $PC.age != 3>>
-<<if $week == 782>>
-	<<set $PC.age += 1>>
-<<elseif $week == 1564>>
-	<<set $PC.age += 1>>
-<</if>>
-<</if>>
 <<if $PC.preg > 0>>
 	<<set $PC.preg++>>
 <</if>>
diff --git a/src/uncategorized/main.tw b/src/uncategorized/main.tw
index abf7e9642ae..04a79ae9862 100644
--- a/src/uncategorized/main.tw
+++ b/src/uncategorized/main.tw
@@ -28,6 +28,9 @@
 <<if ndef $clinicUpgradePurge>>
  	<<set $clinicUpgradePurge = 0>>
 <</if>>
+<<if ndef $playerAging>>
+ 	<<set $playerAging = 0>>
+<</if>>
 
 <<set $currentRule to $defaultRules[0]>>
 
diff --git a/src/uncategorized/newSlaveIntro.tw b/src/uncategorized/newSlaveIntro.tw
index c58bd4ede04..c15400ee74b 100644
--- a/src/uncategorized/newSlaveIntro.tw
+++ b/src/uncategorized/newSlaveIntro.tw
@@ -140,7 +140,7 @@ The legalities completed, ''__@@color:pink;$activeSlave.slaveName@@__'' <<if ($a
 <</if>>
 <<if ($activeSlave.devotion >= -20)>>
 	<<if ($activeSlave.actualAge > 35)>>
-	<<if ($PC.age == 1)>>
+	<<if ($PC.visualAge < 35)>>
 		<<if ($activeSlave.behavioralFlaw != "hates men") && ($PC.title == 1)>>
 		She tries to conceal her surprise at your age, and keeps glancing at her own naked body and then back at you, obviously wondering at such a @@color:hotpink;gorgeous young man's@@ interest in an old slave like her.
 	<<set $activeSlave.devotion += 4>>
@@ -150,7 +150,7 @@ The legalities completed, ''__@@color:pink;$activeSlave.slaveName@@__'' <<if ($a
 		<</if>>
 	<</if>>
 	<<elseif ($activeSlave.actualAge < 25)>>
-	<<if ($PC.age is 3)>>
+	<<if ($PC.visualAge >= 50)>>
 		<<if ($activeSlave.behavioralFlaw != "hates men") && ($PC.title == 1)>>
 		She keeps stealing glances at your face, probably wrestling with her feelings about your age. Eventually she seems to relax and accept it, with a certain @@color:hotpink;obvious thrill@@ at her own willingness towards an older man.
 	<<set $activeSlave.devotion += 4>>
diff --git a/src/uncategorized/nextWeek.tw b/src/uncategorized/nextWeek.tw
index 5ded7f28871..89edc46d0e6 100644
--- a/src/uncategorized/nextWeek.tw
+++ b/src/uncategorized/nextWeek.tw
@@ -11,6 +11,18 @@
 	<</for>>
 <</if>>
 
+<<if $playerAging != 0>>
+	<<set $PC.birthWeek += 1>>
+	<<if $PC.birthWeek >= 52>>
+		<<set $PC.birthWeek to 0>>
+		<<if $playerAging == 2>>
+			<<set $PC.physicalAge += 1>>
+			<<set $PC.actualAge += 1>>
+			<<set $PC.visualAge += 1>>
+		<</if>>
+	<</if>>
+<</if>>
+
 <<set $averageTrust to 0>>
 <<set $averageDevotion to 0>>
 <<set _slavesContributing = 0>>
diff --git a/src/uncategorized/pHostageAcquisition.tw b/src/uncategorized/pHostageAcquisition.tw
index 214c41241b2..cac444f209d 100644
--- a/src/uncategorized/pHostageAcquisition.tw
+++ b/src/uncategorized/pHostageAcquisition.tw
@@ -225,9 +225,9 @@ Your hired mercenaries are en route now with your precious cargo.
 	<<elseif $rivalryDuration <= 10>>
 	Upon seeing you, $activeSlave.slaveName gingerly approaches, uncertain if she should. You pull her into your <<if $PC.boobs == 1>>ample bust<<else>>chest<</if>> as she breaks down in tears. "They made me make out with an old lady!". She's exactly as you remember.
 	<<elseif $rivalryDuration <= 15>>
-	Upon seeing you, $activeSlave.slaveName shifts her weight back and forth, unsure of what to make of you. As you step forward, she hesitatingly approaches. Once she is close enough she asks "<<if $PC.age is 3>>Where you always that attractive?<<else>>Can I hang out with some MILFS?<</if>>". While she looks the same as you remember, she certainly doesn't think the same anymore.
+	Upon seeing you, $activeSlave.slaveName shifts her weight back and forth, unsure of what to make of you. As you step forward, she hesitatingly approaches. Once she is close enough she asks "<<if $PC.visualAge >= 50>>Where you always that attractive?<<else>>Can I hang out with some MILFS?<</if>>". While she looks the same as you remember, she certainly doesn't think the same anymore.
 	<<elseif $rivalryDuration <= 20>>
-	Upon seeing you, $activeSlave.slaveName shifts her weight back and forth, unsure of what to make of you. As you step forward, she quickly steps back. After several steps, she says "<<if $PC.age is 3>>You know, you're soo much older than me... I like that", with a wink.<<elseif $PC.age == 1>>Ew, you're soo young. Keep your hands off me!<<else>>Can you hook me up with a nice MILF?<</if>>". While she looks the same as you remember, she definitely doesn't think the same anymore.
+	Upon seeing you, $activeSlave.slaveName shifts her weight back and forth, unsure of what to make of you. As you step forward, she quickly steps back. After several steps, she says "<<if $PC.visualAge >= 50>>You know, you're soo much older than me... I like that", with a wink.<<elseif $PC.visualAge < 35>>Ew, you're soo young. Keep your hands off me!<<else>>Can you hook me up with a nice MILF?<</if>>". While she looks the same as you remember, she definitely doesn't think the same anymore.
 	<<else>>
 	Your mercenaries radio you upon arrival. "This one's got quite some spunk in her, you better ready yourself. We're coming in now."
 	Upon seeing you, $activeSlave.slaveName's eyes fill with a distinct hatred. As you step forward, she stands her ground. After several steps, she shouts "How fucking DARE you split me up from my MILFy wife! I saw your arcology on the way in, its SICK. So many young girls, you're sick you hear me! SI-"
@@ -240,9 +240,9 @@ Your hired mercenaries are en route now with your precious cargo.
 	<<elseif $rivalryDuration <= 10>>
 	Upon seeing you, $activeSlave.slaveName gingerly approaches, uncertain if she should. You pull her into your <<if $PC.boobs == 1>>ample bust<<else>>chest<</if>> as she breaks down in tears. "They made me make out with some young harlot!". She's exactly as you remember.
 	<<elseif $rivalryDuration <= 15>>
-	Upon seeing you, $activeSlave.slaveName shifts her weight back and forth, unsure of what to make of you. As you step forward, she hesitatingly approaches. Once she is close enough she asks "<<if $PC.age == 1>>Where you always that attractive?<<else>>Can I hang out with the rest of the young ladies?<</if>>". While she looks the same as you remember, she certainly doesn't think the same anymore.
+	Upon seeing you, $activeSlave.slaveName shifts her weight back and forth, unsure of what to make of you. As you step forward, she hesitatingly approaches. Once she is close enough she asks "<<if $PC.visualAge < 35>>Where you always that attractive?<<else>>Can I hang out with the rest of the young ladies?<</if>>". While she looks the same as you remember, she certainly doesn't think the same anymore.
 	<<elseif $rivalryDuration <= 20>>
-	Upon seeing you, $activeSlave.slaveName shifts her weight back and forth, unsure of what to make of you. As you step forward, she quickly steps back. After several steps, she says "<<if $PC.age == 1>>You know, you're so young... I like that", with a wink.<<elseif $PC.age is 3>>Ew, you're soo old. Keep your hands off me!<<else>>Can you hook me up with a nice young girl?<</if>>". While she looks the same as you remember, she definitely doesn't think the same anymore.
+	Upon seeing you, $activeSlave.slaveName shifts her weight back and forth, unsure of what to make of you. As you step forward, she quickly steps back. After several steps, she says "<<if $PC.visualAge < 35>>You know, you're so young... I like that", with a wink.<<elseif $PC.visualAge >= 50>>Ew, you're soo old. Keep your hands off me!<<else>>Can you hook me up with a nice young girl?<</if>>". While she looks the same as you remember, she definitely doesn't think the same anymore.
 	<<else>>
 	Your mercenaries radio you upon arrival. "This one's got quite some spunk in her, you better ready yourself. We're coming in now."
 	Upon seeing you, $activeSlave.slaveName's eyes fill with a distinct hatred. As you step forward, she stands her ground. After several steps, she shouts "How fucking DARE you split me up from my youthful wife! I saw your arcology on the way in, its SICK. So many old ladies, you're sick you hear me! SI-"
diff --git a/src/uncategorized/pRivalryHostage.tw b/src/uncategorized/pRivalryHostage.tw
index 9522d5676a1..1ae37939caa 100644
--- a/src/uncategorized/pRivalryHostage.tw
+++ b/src/uncategorized/pRivalryHostage.tw
@@ -192,7 +192,6 @@ time as a gang leader. She was one of your best, yet you never got close enough,
 	<<else>>
 	<<set $activeSlave.actualAge to random(36,39)>>
 	<</if>>
-	<<set $activeSlave.age to random(36,39)>>
 	<<set $activeSlave.face to 3, $activeSlave.faceImplant to 1>>
 	<<set $activeSlave.intelligence to 3, $activeSlave.intelligenceImplant to 1>>
 	<<set $activeSlave.whoreSkill = 100, $activeSlave.entertainSkill = 100>>
-- 
GitLab