diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw
index 9019f027f36ac476a64e4a2d7eabbeea2e4aabcf..aac14e2b7c2888454bcc08cda0b63744013b49fb 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 $retirementMilk = ????>>
 <<set $retirementBirths = 5>>
 <<set $retirementKills = 3>>
 <<set $nicaea = 0>>
diff --git a/src/uncategorized/policies.tw b/src/uncategorized/policies.tw
index 42ac44d7370270e0e0b97a775fea9292ec4762fa..8e6b1b05b0f5a80f580e5cf7ae82f7ce78b2497e 100644
--- a/src/uncategorized/policies.tw
+++ b/src/uncategorized/policies.tw
@@ -15,6 +15,7 @@
 <<if $PhysicalRetirementAgePolicy == 1>><<set $retirementAge = $customRetirementAge>><</if>>
 <<set $retirementSex = Math.clamp($retirementSex, 1000, 100000)>>
 <<set $retirementMilk = Math.clamp($retirementMilk, 10000, 1000000)>>
+<<set $retirementCum = Math.clamp($retirementCum, ????, ????)>>
 <<set $retirementBirths = Math.clamp($retirementBirths, 1, 200)>>
 <<set $retirementKills = Math.clamp($retirementKills, 1, 20)>>
 
@@ -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]]
@@ -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>>