diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw
index 9019f027f36ac476a64e4a2d7eabbeea2e4aabcf..79bfb66a767412bf88ef5539dd4fa249a9a76867 100644
--- a/src/init/storyInit.tw
+++ b/src/init/storyInit.tw
@@ -1124,10 +1124,12 @@ DairyRestraintsSetting($dairyRestraintsSetting)
 <<set $CitizenRetirement = 0>>
 <<set $SexMilestoneRetirement = 0>>
 <<set $MilkMilestoneRetirement = 0>>
+<<set $CumMilestoneRetirement = 0>>
 <<set $BirthsMilestoneRetirement = 0>>
 <<set $KillsMilestoneRetirement = 0>>
 <<set $retirementSex = 10000>>
 <<set $retirementMilk = 50000>>
+<<set $retirementCum = 500000>>
 <<set $retirementBirths = 5>>
 <<set $retirementKills = 3>>
 <<set $nicaea = 0>>
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index e0c3184cf5af833f0679a1e6e0d43257619b6d81..34445bc3f7c274a9aff6ae21b4609cf7c9d4c61b 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -354,7 +354,6 @@
 <<if ndef $menstruation>>
 	<<set $menstruation = 0>>
 <</if>>
-
 <<if ndef $FCTVenable>>
 	<<set $FCTVenable = 1>>
 <</if>>
@@ -448,9 +447,6 @@
 <<if ndef $startingPoint>>
 	<<set $startingPoint = -1>>
 <</if>>
-<<if ndef $PhysicalRetirementAgePolicy>>
-	<<set $PhysicalRetirementAgePolicy = 0>>
-<</if>>
 <<if ndef $raped>>
 	<<set $raped = -1>>
 <</if>>
@@ -548,10 +544,10 @@
 	<<set $incubatorSlaves = 0>>
 <</if>>
 <<if ndef $incubatorOrgans>>
-<<set $incubatorOrgans = []>>
+	<<set $incubatorOrgans = []>>
 <</if>>
 <<if ndef $incubatorOldID>>
-<<set $incubatorOldID = 0>>
+	<<set $incubatorOldID = 0>>
 <</if>>
 <<if ndef $incubatorUpgradeSpeed>>
 	<<set $incubatorUpgradeSpeed = 5>>
@@ -569,7 +565,7 @@
 	<<set $incubatorUpgradeGrowthStims = 0>>
 <</if>>
 <<if ndef $incubatorUpgradeOrgans>>
-<<set $incubatorUpgradeOrgans = 0>>
+	<<set $incubatorUpgradeOrgans = 0>>
 <</if>>
 <<if ndef $incubatorImprintSetting>>
 	<<set $incubatorImprintSetting = 0>>
@@ -2117,9 +2113,18 @@ Setting missing global variables:
 <<if ndef $customRetirementAge>>
 <<set $customRetirementAge = 45>>
 <</if>>
+<<if ndef $retirementCum>>
+<<set $retirementCum = 500000>>
+<</if>>
 <<if ndef $CustomRetirementAgePolicy>>
 <<set $CustomRetirementAgePolicy = 0>>
 <</if>>
+<<if ndef $PhysicalRetirementAgePolicy>>
+	<<set $PhysicalRetirementAgePolicy = 0>>
+<</if>>
+<<if ndef $CumMilestoneRetirement>
+	<<set $CumMilestoneRetirement = 0>>
+<</if>>
 <<if ndef $BioreactorRetirement>>
 <<set $BioreactorRetirement = 0>>
 <</if>>
diff --git a/src/uncategorized/policies.tw b/src/uncategorized/policies.tw
index 42ac44d7370270e0e0b97a775fea9292ec4762fa..da08aeaa00d7d12a1a3bc1b347bf70499a144c77 100644
--- a/src/uncategorized/policies.tw
+++ b/src/uncategorized/policies.tw
@@ -13,10 +13,11 @@
 <<set $customRetirementAge = Math.clamp($customRetirementAge, 20, 120)>>
 <<if $CustomRetirementAgePolicy == 1>><<set $retirementAge = $customRetirementAge>><</if>>
 <<if $PhysicalRetirementAgePolicy == 1>><<set $retirementAge = $customRetirementAge>><</if>>
-<<set $retirementSex = Math.clamp($retirementSex, 1000, 100000)>>
-<<set $retirementMilk = Math.clamp($retirementMilk, 10000, 1000000)>>
-<<set $retirementBirths = Math.clamp($retirementBirths, 1, 200)>>
-<<set $retirementKills = Math.clamp($retirementKills, 1, 20)>>
+<<set $retirementSex = Math.clamp($retirementSex, 1, 10000000)>>
+<<set $retirementMilk = Math.clamp($retirementMilk, 1, 100000000)>>
+<<set $retirementCum = Math.clamp($retirementCum, 1, 1000000000)>>
+<<set $retirementBirths = Math.clamp($retirementBirths, 1, 1000000)>>
+<<set $retirementKills = Math.clamp($retirementKills, 1, 1000000)>>
 
 ''__Active policies__''
 <br>//These policies are active within your arcology. Slave Market Regulations (SMRs) will affect slaves that come through the official slave markets in your arcology. The markets themselves will bear the cost of these regulations, but the minimum practicable slave prices may rise as a result.//
@@ -117,7 +118,7 @@
 <</if>>
 
 <<if $PhysicalRetirementAgePolicy == 1>>
-	<br>''Redefined Mandatory Retirement Age:'' you have set your arcology's standard retirement age for slave bodies at $retirementAge.
+	<br>''Physical Retirement Age:'' you have set your arcology's standard retirement age for slave bodies at $retirementAge.
 	[[Repeal|Policies][$PhysicalRetirementAgePolicy = 0, $retirementAge = 45]]
 <</if>>
 
@@ -129,7 +130,7 @@
 	[[Repeal|Policies][$ArcadeRetirement = 0]]
 <<elseif $CitizenRetirement == 1>>
 	<br>''Citizen Retirement:'' all slaveowners are required to pay into accounts to support their slaves as lower-class citizens in retirement.
-	[[Repeal|Policies][$CitizenRetirement = 0, $SexMilestoneRetirement = 0, $MilkMilestoneRetirement = 0, $BirthsMilestoneRetirement = 0, $KillsMilestoneRetirement = 0]]
+	[[Repeal|Policies][$CitizenRetirement = 0, $SexMilestoneRetirement = 0, $MilkMilestoneRetirement = 0, $CumMilestoneRetirement = 0, $BirthsMilestoneRetirement = 0, $KillsMilestoneRetirement = 0]]
 <<else>>
 	<br>''Menial Retirement:'' in the absence of a clear slave retirement policy, overaged sex slaves will become menial slaves.
 <</if>>
@@ -146,6 +147,12 @@
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;Set a new retirement requirement: <<textbox "$retirementMilk" $retirementMilk "Policies">>
 <</if>>
 
+<<if $CumMilestoneRetirement == 1>>
+	<br>''Productive Bull Retirement:'' slaves will be rewarded with their freedom once they have given <<print commaNum($retirementCum)>> deciliters of cum.
+	[[Repeal|Policies][$CumMilestoneRetirement = 0]]
+	<br>&nbsp;&nbsp;&nbsp;&nbsp;Set a new retirement requirement: <<textbox "$retirementCum" $retirementCum "Policies">>
+<</if>>
+
 <<if $BirthsMilestoneRetirement == 1>>
 	<br>''Fertile Breeder Retirement:'' slaves will be rewarded with their freedom once they add $retirementBirths new slaves to the population of $arcologies[0].name.
 	[[Repeal|Policies][$BirthsMilestoneRetirement = 0]]
@@ -827,7 +834,7 @@
 <</if>>
 
 <<if $PhysicalRetirementAgePolicy == 0>>
-	<br>''Redefined Mandatory Retirement Age:'' you will set your arcology's standard retirement age for sex slaves once their bodies reach age
+	<br>''Physical Retirement Age:'' you will set your arcology's standard retirement age for sex slaves once their bodies reach age
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;<<textbox "$customRetirementAge" $customRetirementAge "Policies">>
 	[[Implement|Policies][$PhysicalRetirementAgePolicy = 1, $cash -=5000, $rep -= 1000]]
 <</if>>
@@ -859,6 +866,10 @@
 	<br>''Productive Cow Retirement:'' slaves will be rewarded with their freedom once they have given <<print commaNum($retirementMilk)>> liters of milk.
 	[[Implement|Policies][$MilkMilestoneRetirement = 1, $cash -=5000, $rep -= 1000]]
 <</if>>
+<<if $CumMilestoneRetirement == 0>>
+	<br>''Productive Bull Retirement:'' slaves will be rewarded with their freedom once they have given <<print commaNum($retirementCum)>> deciliters of cum.
+	[[Implement|Policies][$CumMilestoneRetirement = 1, $cash -=5000, $rep -= 1000]]
+<</if>>
 <<if $BirthsMilestoneRetirement == 0>>
 	<br>''Fertile Breeder Retirement:'' slaves will be rewarded with their freedom once they add $retirementBirths new slaves to the population of $arcologies[0].name.
 	[[Implement|Policies][$BirthsMilestoneRetirement = 1, $cash -=5000, $rep -= 1000]]
diff --git a/src/uncategorized/saDevotion.tw b/src/uncategorized/saDevotion.tw
index 5b9e6b4da1e7df2d478929283afcbee4ae03785d..850a159fca7a1b85318317a1717eaa1cd2c0a221 100644
--- a/src/uncategorized/saDevotion.tw
+++ b/src/uncategorized/saDevotion.tw
@@ -454,6 +454,19 @@
 	since $he knows $he will be free if $his udders can gush just a bit more cream.
 	<</if>>
 <</if>>
+<<if $CumMilestoneRetirement == 1>>
+	<<if $slaves[$i].cum >= $retirementCum*0.8>>
+	<<if $slaves[$i].devotion >= -20>>
+		$He's @@.hotpink;more obedient@@ and @@.mediumaquamarine;more tolerant,@@
+		<<set $slaves[$i].devotion += 1>>
+		<<set $slaves[$i].trust += 1>>
+	<<else>>
+		$He does $his best to @@.mediumaquamarine;stay strong,@@
+		<<set $slaves[$i].trust += 1>>
+	<</if>>
+	since $he knows $he will be free if $his prick can spurt just a bit more jizz.
+	<</if>>
+<</if>>
 <<if $BirthsMilestoneRetirement == 1>>
 	<<if $slaves[$i].births >= $retirementBirths*0.6>>
 	<<if $slaves[$i].devotion >= -20>>
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index 7dc5a182e0841c701ccd4685db0bb79ea9a41fad..eb05a60ef094f456b2f1e5b41e26becf91369ae3 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -7713,6 +7713,11 @@
 	<<set $retiree = $slaves[$i].ID>>
 	<</if>>
 <</if>>
+<<if $CumMilestoneRetirement == 1>>
+	<<if $slaves[$i].cum >= $retirementCum>>
+	<<set $retiree = $slaves[$i].ID>>
+	<</if>>
+<</if>>
 <<if $BirthsMilestoneRetirement == 1>>
 	<<if $slaves[$i].births >= $retirementBirths>>
 	<<set $retiree = $slaves[$i].ID>>
diff --git a/src/uncategorized/scheduledEvent.tw b/src/uncategorized/scheduledEvent.tw
index 1d5a7df8808ab9a9def2a88b4b50a75ea1fc9ad5..ec69cf2e4cd3ae963ad6bd27ca7987c7e941eb77 100644
--- a/src/uncategorized/scheduledEvent.tw
+++ b/src/uncategorized/scheduledEvent.tw
@@ -39,6 +39,12 @@
 		<<break>>
 		<</if>>
 	<</if>>
+	<<if $CumMilestoneRetirement == 1>>
+		<<if $slaves[$i].cum >= $retirementCum>>
+		<<set $retiree = $slaves[$i].ID>>
+		<<break>>
+		<</if>>
+	<</if>>
 	<<if $BirthsMilestoneRetirement == 1>>
 		<<if $slaves[$i].births >= $retirementBirths>>
 		<<set $retiree = $slaves[$i].ID>>
diff --git a/src/utility/descriptionWidgetsStyle.tw b/src/utility/descriptionWidgetsStyle.tw
index da1b574e1324d8e8cb7e5a363536338661822ed9..72c981abb7f548b56456f537464d2f2285af8980 100644
--- a/src/utility/descriptionWidgetsStyle.tw
+++ b/src/utility/descriptionWidgetsStyle.tw
@@ -2608,6 +2608,8 @@ $His
 			<<print $retirementSex - ($activeSlave.oralCount + $activeSlave.analCount + $activeSlave.vaginalCount + $activeSlave.penetrativeCount + $activeSlave.mammaryCount)>>, for the number of cocks between $him and $his freedom.
 		<<elseif $MilkMilestoneRetirement == 1>>
 			<<print $retirementMilk - $activeSlave.milk>>, for the amount of milk $he has yet to give.
+		<<elseif $CumMilestoneRetirement == 1>>
+			<<print $retirementCum - $activeSlave.cum>>, for the amount of cum $he has yet to give.
 		<<elseif $BirthsMilestoneRetirement == 1>>
 			<<print $retirementBirths - $activeSlave.births>>, for the number of pregnancies still between $him and freedom.
 		<<elseif $KillsMilestoneRetirement == 1>>