diff --git a/slave variables documentation - Pregmod.txt b/slave variables documentation - Pregmod.txt
index 4c8330f0195944adf04086b6f0910f8370aa0e89..2868e2d838ebaef4cff09840bf49341b05e566a1 100644
--- a/slave variables documentation - Pregmod.txt	
+++ b/slave variables documentation - Pregmod.txt	
@@ -2931,6 +2931,7 @@ What species of sperm she produces.
 "human"
 "dog"
 "pig"
+"horse"
 
 eggType:
 
@@ -2938,6 +2939,7 @@ What species of ovum she produces.
 "human"
 "dog"
 "pig"
+"horse"
 
 reservedChildren:
 
diff --git a/src/pregmod/organFarmOptions.tw b/src/pregmod/organFarmOptions.tw
index 4cf7b4bc51a555e3cfe1751692f5aa26d062988a..fde8fff3504d0e75ace23931ab1d8c8a3e3f099e 100644
--- a/src/pregmod/organFarmOptions.tw
+++ b/src/pregmod/organFarmOptions.tw
@@ -7,18 +7,21 @@
 	scrotum: 0,
 	pigTesticles: 0,
 	dogTesticles: 0,
+	horseTesticles: 0,
 	foreskin: 0,
 	ovaries: 0,
 	freshOvaries: 0,
 	prostate: 0,
 	pigOvaries: 0,
 	dogOvaries: 0,
+	horseOvaries: 0,
 	eyes: 0,
 	cochleae: 0,
 	voicebox: 0,
 	mpreg: 0,
 	mpregPig: 0,
-	mpregDog: 0}>>
+	mpregDog: 0,
+	mpregHorse: 0}>>
 <<for _i = 0; _i < $organs.length; _i++>>
 	<<if $activeSlave.ID == $organs[_i].ID>>
 		<<if $organs[_i].type == "penis">>
@@ -31,6 +34,8 @@
 			<<set $slaveOrgans.pigTesticles = 1>>
 		<<elseif $organs[_i].type == "dogTesticles">>
 			<<set $slaveOrgans.dogTesticles = 1>>
+		<<elseif $organs[_i].type == "horseTesticles">>
+			<<set $slaveOrgans.horseTesticles = 1>>
 		<<elseif $organs[_i].type == "foreskin">>
 			<<set $slaveOrgans.foreskin = 1>>
 		<<elseif $organs[_i].type == "ovaries">>
@@ -41,6 +46,8 @@
 			<<set $slaveOrgans.pigOvaries = 1>>
 		<<elseif $organs[_i].type == "dogOvaries">>
 			<<set $slaveOrgans.dogOvaries = 1>>
+		<<elseif $organs[_i].type == "horseOvaries">>
+			<<set $slaveOrgans.horseOvaries = 1>>
 		<<elseif $organs[_i].type == "eyes">>
 			<<set $slaveOrgans.eyes = 1>>
 		<<elseif $organs[_i].type == "cochleae">>
@@ -53,6 +60,8 @@
 			<<set $slaveOrgans.mpregPig = 1>>
 		<<elseif $organs[_i].type == "mpregDog">>
 			<<set $slaveOrgans.mpregDog = 1>>
+		<<elseif $organs[_i].type == "mpregHorse">>
+			<<set $slaveOrgans.mpregHorse = 1>>
 		<<elseif $organs[_i].type == "freshOvaries">>
 			<<set $slaveOrgans.freshOvaries = 1>>
 		<</if>>
@@ -114,6 +123,16 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 				<<goto "Remote Surgery">>
 			<</link>> //Costs <<print cashFormat(5000)>> and requires a penis for successful implantation//
 		<</if>>
+		<<if $slaveOrgans.horseTesticles != 1>>
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;
+			<<link "Horse testicles">>
+				<<set $cash -= 5000>>
+				<<set _newOrgan = {type: "horseTesticles", weeksToCompletion: "10", ID: 0}>>
+				<<set _newOrgan.ID = $activeSlave.ID>>
+				<<set $organs.push(_newOrgan)>>
+				<<goto "Remote Surgery">>
+			<</link>> //Costs <<print cashFormat(5000)>> and requires a penis for successful implantation//
+		<</if>>
 	<</if>>
 	<<if $slaveOrgans.foreskin != 1>>
 		<<if $activeSlave.foreskin <= 0>>
@@ -169,6 +188,16 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 			<<goto "Remote Surgery">>
 		<</link>> //Costs <<print cashFormat(10000)>> and requires a vagina for successful implantation//
 	<</if>>
+	<<if $slaveOrgans.horseOvaries != 1>>
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;
+		<<link "Horse ovaries">>
+			<<set $cash -= 10000>>
+			<<set _newOrgan = {type: "horseOvaries", weeksToCompletion: "10", ID: 0}>>
+			<<set _newOrgan.ID = $activeSlave.ID>>
+			<<set $organs.push(_newOrgan)>>
+			<<goto "Remote Surgery">>
+		<</link>> //Costs <<print cashFormat(10000)>> and requires a vagina for successful implantation//
+	<</if>>
 <</if>>
 <<if $youngerOvaries == 1>>
 	<<if $slaveOrgans.freshOvaries != 1>>
@@ -250,6 +279,16 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 				<<goto "Remote Surgery">>
 			<</link>> //Costs <<print cashFormat(20000)>> and the slave must not have female reproductive organs for successful implantation//
 		<</if>>
+		<<if $slaveOrgans.mpregHorse != 1>>
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;
+			<<link "Anal horse womb and ovaries">>
+				<<set $cash -= 20000>>
+				<<set _newOrgan = {type: "mpregHorse", weeksToCompletion: "10", ID: 0}>>
+				<<set _newOrgan.ID = $activeSlave.ID>>
+				<<set $organs.push(_newOrgan)>>
+				<<goto "Remote Surgery">>
+			<</link>> //Costs <<print cashFormat(20000)>> and the slave must not have female reproductive organs for successful implantation//
+		<</if>>
 	<</if>>
 <</if>>
 
@@ -267,18 +306,24 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 				pig testicles are
 			<<case "dogTesticles">>
 				dog testicles are
+			<<case "horseTesticles">>
+				horse testicles are
 			<<case "freshOvaries">>
 				revitalized ovaries are
 			<<case "pigOvaries">>
 				pig ovaries are
 			<<case "dogOvaries">>
 				dog ovaries are
+			<<case "horseOvaries">>
+				horse ovaries are
 			<<case "mpreg">>
 				anal womb and ovaries are
 			<<case "mpregPig">>
 				anal womb and pig ovaries are
 			<<case "mpregDog">>
 				anal womb and dog ovaries are
+			<<case "mpregHorse">>
+				anal womb and horse ovaries are
 			<</switch>>
 			expected to be ready in <<if $organFarmUpgrade == 1>><<print $organs[_i].weeksToCompletion>><<elseif $organFarmUpgrade == 2>><<print Math.ceil($organs[_i].weeksToCompletion/2)>><<elseif $organFarmUpgrade == 3>><<print Math.ceil($organs[_i].weeksToCompletion/4)>><</if>> weeks.
 		<</if>>
@@ -613,6 +658,98 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 						<</if>>
 					<</link>>
 				<</if>>
+			<<elseif $completedOrgans[_i].type == "horseTesticles">>
+				<<if $activeSlave.balls > 0>>
+					<br>&nbsp;&nbsp;&nbsp;&nbsp;
+					ERROR: this slave already has testicles.
+					<<link "Discard" "Remote Surgery">>
+						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "horseTesticles"; })>>
+						<<if _ofo != -1>>
+							<<set $completedOrgans.deleteAt(_ofo)>>
+						<<else>>
+							@@.red;Organ not found for deletion!@@
+						<</if>>
+					<</link>>
+				<<elseif $activeSlave.dick == 0>>
+					<br>&nbsp;&nbsp;&nbsp;&nbsp;
+					ERROR: this slave lacks the penis necessary to accept testicles.
+					<<link "Discard" "Remote Surgery">>
+						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "horseTesticles"; })>>
+						<<if _ofo != -1>>
+							<<set $completedOrgans.deleteAt(_ofo)>>
+						<<else>>
+							@@.red;Organ not found for deletion!@@
+						<</if>>
+					<</link>>
+					<br>You can forgo standard procedure and implant testicles directly into $his abdomen.
+					<<link "Implant" "Surgery Degradation">>
+						<<set $cash -= $surgeryCost>>
+						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "horseTesticles"; })>>
+						<<if _ofo != -1>>
+							<<set $completedOrgans.deleteAt(_ofo)>>
+						<<else>>
+							@@.red;Organ not found for deletion!@@
+						<</if>>
+						<<if $activeSlave.prostate < 1>><<set $activeSlave.prostate = 1>><</if>>
+						<<set $activeSlave.balls = 2>>
+						<<set $activeSlave.ballType = "horse">>
+						<<set $activeSlave.health -= 20>>
+						<<if $organFarmUpgrade == 2>>
+							<<set $activeSlave.chem += 20>>
+						<</if>>
+						<<if $activeSlave.pubertyXY == 0>>
+							<<if $precociousPuberty == 1>>
+								<<if $activeSlave.physicalAge >= $potencyAge>>
+									<<set $activeSlave.pubertyAgeXY = ($activeSlave.physicalAge+1)>>
+								<</if>>
+							<<else>>
+								<<if $activeSlave.physicalAge >= $potencyAge>>
+									<<set $activeSlave.pubertyXY = 1>>
+								<</if>>
+							<</if>>
+						<</if>>
+						<<set $surgeryType = "addHorseBalls">>
+					<</link>>
+				<<else>>
+					<br>&nbsp;&nbsp;&nbsp;&nbsp;
+					<<link "Implant" "Surgery Degradation">>
+						<<set $cash -= $surgeryCost>>
+						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "horseTesticles"; })>>
+						<<if _ofo != -1>>
+							<<set $completedOrgans.deleteAt(_ofo)>>
+						<<else>>
+							@@.red;Organ not found for deletion!@@
+						<</if>>
+						<<set $activeSlave.balls = 3>>
+						<<set $activeSlave.scrotum = 3>>
+						<<set $activeSlave.ballType = "horse">>
+						<<set $activeSlave.health -= 20>>
+						<<if $organFarmUpgrade == 2>>
+							<<set $activeSlave.chem += 20>>
+						<</if>>
+						<<if $activeSlave.pubertyXY == 0>>
+							<<if $precociousPuberty == 1>>
+								<<if $activeSlave.physicalAge >= $potencyAge>>
+									<<set $activeSlave.pubertyAgeXY = ($activeSlave.physicalAge+1)>>
+								<</if>>
+							<<else>>
+								<<if $activeSlave.physicalAge >= $potencyAge>>
+									<<set $activeSlave.pubertyXY = 1>>
+								<</if>>
+							<</if>>
+						<</if>>
+						<<set $surgeryType = "addHorseBalls">>
+					<</link>>
+					|
+					<<link "Discard" "Remote Surgery">>
+						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "horseTesticles"; })>>
+						<<if _ofo != -1>>
+							<<set $completedOrgans.deleteAt(_ofo)>>
+						<<else>>
+							@@.red;Organ not found for deletion!@@
+						<</if>>
+					<</link>>
+				<</if>>
 			<<elseif $completedOrgans[_i].type == "scrotum">>
 				<<if $activeSlave.scrotum > 0>>
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;
@@ -928,6 +1065,80 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 						<</if>>
 					<</link>>
 				<</if>>
+			<<elseif $completedOrgans[_i].type == "horseOvaries">>
+				<<if $activeSlave.ovaries > 0>>
+					<br>&nbsp;&nbsp;&nbsp;&nbsp;
+					ERROR: this slave already has ovaries.
+					<<link "Discard" "Remote Surgery">>
+						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "horseOvaries"; })>>
+						<<if _ofo != -1>>
+							<<set $completedOrgans.deleteAt(_ofo)>>
+						<<else>>
+							@@.red;Organ not found for deletion!@@
+						<</if>>
+					<</link>>
+				<<elseif $activeSlave.vagina < 0>>
+					<br>&nbsp;&nbsp;&nbsp;&nbsp;
+					ERROR: this slave lacks the vagina necessary to accept ovaries.
+					<<link "Discard" "Remote Surgery">>
+						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "horseOvaries"; })>>
+						<<if _ofo != -1>>
+							<<set $completedOrgans.deleteAt(_ofo)>>
+						<<else>>
+							@@.red;Organ not found for deletion!@@
+						<</if>>
+					<</link>>
+				<<elseif $activeSlave.mpreg != 0 || $activeSlave.bellyImplant != -1>>
+					<br>&nbsp;&nbsp;&nbsp;&nbsp;
+					ERROR: this slave's body cavity is filled with another organ.
+					<<link "Discard" "Remote Surgery">>
+						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "horseOvaries"; })>>
+						<<if _ofo != -1>>
+							<<set $completedOrgans.deleteAt(_ofo)>>
+						<<else>>
+							@@.red;Organ not found for deletion!@@
+						<</if>>
+					<</link>>
+				<<else>>
+					<br>&nbsp;&nbsp;&nbsp;&nbsp;
+					<<link "Implant" "Surgery Degradation">>
+						<<set $cash -= $surgeryCost>>
+						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "horseOvaries"; })>>
+						<<if _ofo != -1>>
+							<<set $completedOrgans.deleteAt(_ofo)>>
+						<<else>>
+							@@.red;Organ not found for deletion!@@
+						<</if>>
+						<<set $activeSlave.ovaries = 1>>
+						<<set $activeSlave.eggType = "horse">>
+						<<set $activeSlave.preg = 0>>
+						<<set $activeSlave.health -= 20>>
+						<<if $organFarmUpgrade == 2>>
+							<<set $activeSlave.chem += 20>>
+						<</if>>
+						<<if $activeSlave.pubertyXX == 0>>
+							<<if $precociousPuberty == 1>>
+								<<if $activeSlave.physicalAge >= $fertilityAge>>
+									<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
+								<</if>>
+							<<else>>
+								<<if $activeSlave.physicalAge >= $fertilityAge>>
+									<<set $activeSlave.pubertyXX = 1>>
+								<</if>>
+							<</if>>
+						<</if>>
+						<<set $surgeryType = "addHorseOvaries">>
+					<</link>>
+					|
+					<<link "Discard" "Remote Surgery">>
+						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "horseOvaries"; })>>
+						<<if _ofo != -1>>
+							<<set $completedOrgans.deleteAt(_ofo)>>
+						<<else>>
+							@@.red;Organ not found for deletion!@@
+						<</if>>
+					<</link>>
+				<</if>>
 			<<elseif $completedOrgans[_i].type == "freshOvaries">>
 				<<if ($activeSlave.mpreg == 0 && $activeSlave.ovaries == 0) || $activeSlave.bellyImplant != -1>>
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;
@@ -1327,7 +1538,58 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 						<</if>>
 					<</link>>
 				<</if>>
-				
+			<<elseif $completedOrgans[_i].type == "mpregHorse">>
+				<<if ($activeSlave.ovaries != 0) && ($activeSlave.vagina > -1) && ($activeSlave.mpreg != 0)>>
+					<br>&nbsp;&nbsp;&nbsp;&nbsp;
+					ERROR: this slave has existing reproductive Organs.
+					<<link "Discard" "Remote Surgery">>
+						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpregHorse"; })>>
+						<<if _ofo != -1>>
+							<<set $completedOrgans.deleteAt(_ofo)>>
+						<<else>>
+							@@.red;Organ not found for deletion!@@
+						<</if>>
+					<</link>>
+				<<else>>
+					<br>&nbsp;&nbsp;&nbsp;&nbsp;
+					<<link "Implant" "Surgery Degradation">>
+						<<set $cash -= $surgeryCost>>
+						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpregHorse"; })>>
+						<<if _ofo != -1>>
+							<<set $completedOrgans.deleteAt(_ofo)>>
+						<<else>>
+							@@.red;Organ not found for deletion!@@
+						<</if>>
+						<<set $activeSlave.mpreg = 1>>
+						<<set $activeSlave.eggType = "horse">>
+						<<set $activeSlave.preg = 0>>
+						<<set $activeSlave.health -= 40>>
+						<<if $organFarmUpgrade == 2>>
+							<<set $activeSlave.chem += 20>>
+						<</if>>
+						<<if $activeSlave.pubertyXX == 0>>
+							<<if $precociousPuberty == 1>>
+								<<if $activeSlave.physicalAge >= $fertilityAge>>
+									<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
+								<</if>>
+							<<else>>
+								<<if $activeSlave.physicalAge >= $fertilityAge>>
+									<<set $activeSlave.pubertyXX = 1>>
+								<</if>>
+							<</if>>
+						<</if>>
+						<<set $surgeryType = "mpregHorse">>
+					<</link>>
+					|
+					<<link "Discard" "Remote Surgery">>
+						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpregHorse"; })>>
+						<<if _ofo != -1>>
+							<<set $completedOrgans.deleteAt(_ofo)>>
+						<<else>>
+							@@.red;Organ not found for deletion!@@
+						<</if>>
+					<</link>>
+				<</if>>	
 			<<else>>
 				<<if $activeSlave.voice > 0>>
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;
diff --git a/src/uncategorized/multiImplant.tw b/src/uncategorized/multiImplant.tw
index 5e6c47bb7f349848c8f845506f8977712b2a4adf..3acad5038d355c6756972064f78804e4cd3e3b32 100644
--- a/src/uncategorized/multiImplant.tw
+++ b/src/uncategorized/multiImplant.tw
@@ -11,18 +11,21 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 		scrotum: 0,
 		pigTesticles: 0,
 		dogTesticles: 0,
+		horseTesticles: 0,
 		foreskin: 0,
 		ovaries: 0,
 		freshOvaries: 0,
 		prostate: 0,
 		pigOvaries: 0,
 		dogOvaries: 0,
+		horseOvaries: 0,
 		eyes: 0,
 		cochleae: 0,
 		voicebox: 0,
 		mpreg: 0,
 		mpregPig: 0,
-		mpregDog: 0
+		mpregDog: 0,
+		mpregHorse: 0
 		}>>
 	<<for _j = 0; _j < $completedOrgans.length; _j++>>
 		<<if $activeSlave.ID == $completedOrgans[_j].ID>>
@@ -41,6 +44,9 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 			<<elseif $completedOrgans[_j].type == "dogTesticles">>
 				<<set _slaveOrgans.dogTesticles = $completedOrgans[_j]>>
 				<<set $completedOrgans.deleteAt(_j),_j-->>
+			<<elseif $completedOrgans[_j].type == "horseTesticles">>
+				<<set _slaveOrgans.horseTesticles = $completedOrgans[_j]>>
+				<<set $completedOrgans.deleteAt(_j),_j-->>
 			<<elseif $completedOrgans[_j].type == "foreskin">>
 				<<set _slaveOrgans.foreskin = $completedOrgans[_j]>>
 				<<set $completedOrgans.deleteAt(_j),_j-->>
@@ -59,6 +65,9 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 			<<elseif $completedOrgans[_j].type == "dogOvaries">>
 				<<set _slaveOrgans.dogOvaries = $completedOrgans[_j]>>
 				<<set $completedOrgans.deleteAt(_j),_j-->>
+			<<elseif $completedOrgans[_j].type == "horseOvaries">>
+				<<set _slaveOrgans.horseOvaries = $completedOrgans[_j]>>
+				<<set $completedOrgans.deleteAt(_j),_j-->>
 			<<elseif $completedOrgans[_j].type == "eyes">>
 				<<set _slaveOrgans.eyes = $completedOrgans[_j]>>
 				<<set $completedOrgans.deleteAt(_j),_j-->>
@@ -77,6 +86,9 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 			<<elseif $completedOrgans[_j].type == "mpregDog">>
 				<<set _slaveOrgans.mpregDog = $completedOrgans[_j]>>
 				<<set $completedOrgans.deleteAt(_j),_j-->>
+			<<elseif $completedOrgans[_j].type == "mpregHorse">>
+				<<set _slaveOrgans.mpregHorse = $completedOrgans[_j]>>
+				<<set $completedOrgans.deleteAt(_j),_j-->>
 			<<else>>
 				<br>Error: unrecognized organ.
 			<</if>>
@@ -339,6 +351,49 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 			<<set $completedOrgans.push(_slaveOrgans.dogOvaries)>>
 		<</if>>
 	<</if>>
+	/* horse ovaries */
+	<<if _slaveOrgans.horseOvaries != 0>>
+		<<if ($activeSlave.ovaries == 0) && ($activeSlave.vagina >= 0) && ($activeSlave.mpreg == 0) && ($activeSlave.bellyImplant == -1)>>
+			<<set $cash -= $surgeryCost>>
+			<<set $activeSlave.ovaries = 1>>
+			<<set $activeSlave.eggType = "horse">>
+			<<set $activeSlave.preg = 0>>
+			<<set $activeSlave.health -= 20>>
+			<<if $organFarmUpgrade == 2>>
+				<<set $activeSlave.chem += 20>>
+			<</if>>
+			<<if $activeSlave.pubertyXX == 0>>
+				<<if $precociousPuberty == 1>>
+					<<if $activeSlave.physicalAge >= $fertilityAge>>
+						<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
+					<</if>>
+				<<else>>
+					<<if $activeSlave.physicalAge >= $fertilityAge>>
+						<<set $activeSlave.pubertyXX = 1>>
+					<</if>>
+				<</if>>
+			<</if>>
+			<<set $surgeryType = "addHorseOvaries">>
+			<br><hr>
+			<<include "Surgery Degradation">>
+		<<elseif $activeSlave.ovaries == 1>>
+			<br><hr>
+			@@.red;Could not implant horse ovaries on $activeSlave.slaveName: she already has ovaries.@@
+			<<set $completedOrgans.push(_slaveOrgans.horseOvaries)>>
+		<<elseif $activeSlave.vagina < 0>>
+			<br><hr>
+			@@.red;Could not implant horse ovaries on $activeSlave.slaveName: she lacks a vagina.@@
+			<<set $completedOrgans.push(_slaveOrgans.horseOvaries)>>
+		<<elseif $activeSlave.bellyImplant >= 0>>
+			<br><hr>
+			@@.red;Could not implant horse ovaries on $activeSlave.slaveName: she has a fillable abdominal implant.@@
+			<<set $completedOrgans.push(_slaveOrgans.horseOvaries)>>
+		<<elseif $activeSlave.mpreg != 0>>
+			<br><hr>
+			@@.red;Could not implant horse ovaries on $activeSlave.slaveName: she has an anal womb.@@
+			<<set $completedOrgans.push(_slaveOrgans.horseOvaries)>>
+		<</if>>
+	<</if>>
 	/* male preg */
 	<<if _slaveOrgans.mpreg != 0>>
 		<<if ($activeSlave.ovaries == 0) && ($activeSlave.vagina < 0) && ($activeSlave.mpreg == 0) && ($activeSlave.bellyImplant == -1)>>
@@ -468,6 +523,49 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 			<<set $completedOrgans.push(_slaveOrgans.mpregDog)>>
 		<</if>>
 	<</if>>
+	/* male horse preg */
+	<<if _slaveOrgans.mpregHorse != 0>>
+		<<if ($activeSlave.ovaries == 0) && ($activeSlave.vagina < 0) && ($activeSlave.mpreg == 0) && ($activeSlave.bellyImplant == -1)>>
+			<<set $cash -= $surgeryCost>>
+			<<set $activeSlave.mpreg = 1>>
+			<<set $activeSlave.eggType = "horse">>
+			<<set $activeSlave.preg = 0>>
+			<<set $activeSlave.health -= 40>>
+			<<if $organFarmUpgrade == 2>>
+				<<set $activeSlave.chem += 20>>
+			<</if>>
+			<<if $activeSlave.pubertyXX == 0>>
+				<<if $precociousPuberty == 1>>
+					<<if $activeSlave.physicalAge >= $fertilityAge>>
+						<<set $activeSlave.pubertyAgeXX = ($activeSlave.physicalAge+1)>>
+					<</if>>
+				<<else>>
+					<<if $activeSlave.physicalAge >= $fertilityAge>>
+						<<set $activeSlave.pubertyXX = 1>>
+					<</if>>
+				<</if>>
+			<</if>>
+			<<set $surgeryType = "mpregHorse">>
+			<br><hr>
+			<<include "Surgery Degradation">>
+		<<elseif $activeSlave.ovaries == 1>>
+			<br><hr>
+			@@.red;Could not implant horse anal womb on $activeSlave.slaveName: she has ovaries.@@
+			<<set $completedOrgans.push(_slaveOrgans.mpregHorse)>>
+		<<elseif $activeSlave.vagina < 0>>
+			<br><hr>
+			@@.red;Could not implant horse anal womb on $activeSlave.slaveName: she has a vagina.@@
+			<<set $completedOrgans.push(_slaveOrgans.mpregHorse)>>
+		<<elseif $activeSlave.bellyImplant >= 0>>
+			<br><hr>
+			@@.red;Could not implant horse anal womb on $activeSlave.slaveName: she has a fillable abdominal implant.@@
+			<<set $completedOrgans.push(_slaveOrgans.mpregHorse)>>
+		<<elseif $activeSlave.mpreg != 0>>
+			<br><hr>
+			@@.red;Could not implant horse anal womb on $activeSlave.slaveName: she already has an anal womb.@@
+			<<set $completedOrgans.push(_slaveOrgans.mpregHorse)>>
+		<</if>>
+	<</if>>
 	/* ovary renewal */
 	<<if _slaveOrgans.freshOvaries != 0>>
 		<<if (($activeSlave.ovaries == 1) || ($activeSlave.mpreg == 1)) && ($activeSlave.bellyImplant == -1) && ($activeSlave.physicalAge < 60)>>
@@ -635,6 +733,41 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 			<<set $completedOrgans.push(_slaveOrgans.dogTesticles)>>
 		<</if>>
 	<</if>>
+	/* horse testicles */
+	<<if _slaveOrgans.horseTesticles != 0>>
+		<<if ($activeSlave.dick >= 1) && ($activeSlave.balls == 0)>>
+			<<set $cash -= $surgeryCost>>
+			<<set $activeSlave.balls = 3>>
+			<<set $activeSlave.scrotum = 3>>
+			<<set $activeSlave.ballType = "horse">>
+			<<set $activeSlave.health -= 20>>
+			<<if $organFarmUpgrade == 2>>
+				<<set $activeSlave.chem += 20>>
+			<</if>>
+			<<if $activeSlave.pubertyXY == 0>>
+				<<if $precociousPuberty == 1>>
+					<<if $activeSlave.physicalAge >= $potencyAge>>
+						<<set $activeSlave.pubertyAgeXY = ($activeSlave.physicalAge+1)>>
+					<</if>>
+				<<else>>
+					<<if $activeSlave.physicalAge >= $potencyAge>>
+						<<set $activeSlave.pubertyXY = 1>>
+					<</if>>
+				<</if>>
+			<</if>>
+			<<set $surgeryType = "addHorseBalls">>
+			<br><hr>
+			<<include "Surgery Degradation">>
+		<<elseif $activeSlave.dick == 0>>
+			<br><hr>
+			@@.red;Could not implant horse testicles on $activeSlave.slaveName: she lacks a penis.@@
+			<<set $completedOrgans.push(_slaveOrgans.horseTesticles)>>
+		<<else>>
+			<br><hr>
+			@@.red;Could not implant horse testicles on $activeSlave.slaveName: she already has testicles.@@
+			<<set $completedOrgans.push(_slaveOrgans.horseTesticles)>>
+		<</if>>
+	<</if>>
 	/* scrotum */
 	<<if _slaveOrgans.scrotum != 0>>
 		<<if ($activeSlave.scrotum == 0) && ($activeSlave.balls >= 1)>>