diff --git a/game/base-clothing/clothing-feet.twee b/game/base-clothing/clothing-feet.twee
index a75c5ae0eed94ab1a3556a43692563c1166597ef..dd8538aa389d5f71e5e64abfc55bc491d1d9ac15 100644
--- a/game/base-clothing/clothing-feet.twee
+++ b/game/base-clothing/clothing-feet.twee
@@ -763,7 +763,7 @@
 	fabric_strength: 20,
 	reveal: 200,
 	word: "n",
-	plural: 1,
+	plural: 0,
 	colour: 0,
 	colour_options: [],
 	colour_combat:"black",
diff --git a/game/base-clothing/clothing-upper.twee b/game/base-clothing/clothing-upper.twee
index a91f96669c87b50f2b6069cee43bb080a221f8ed..49ff48ddeb1b6e5e1e552ed889ade8eea40ac90d 100644
--- a/game/base-clothing/clothing-upper.twee
+++ b/game/base-clothing/clothing-upper.twee
@@ -3076,7 +3076,7 @@ plural - widget will output "are" if 1, and "is" if 0. eg - Your hat <<upperplur
 	cursed: 0,
 	location: 0,
 	iconFile: "soccer_shirt.png",
- 	accIcon: 1,
+ 	accIcon: "soccer_shirt_acc.png",
 	notuck: 0
 },
 
diff --git a/game/base-clothing/widgets.twee b/game/base-clothing/widgets.twee
index 4ee88a562d2b3fa8cd69bb6b484c1a43ac24652a..51fb46f1393a3ef2baa7bfbe1f57b70a936ffc85 100644
--- a/game/base-clothing/widgets.twee
+++ b/game/base-clothing/widgets.twee
@@ -599,7 +599,7 @@
 	<<set $_setupItem to setup.clothes[$_slot][clothesIndex($_slot,$_item)]>>
 	<<set $_return to clothesReturnLocation($_item,"rebuy")>>
 
-	<<if $_setupItem.shop.length isnot 0 and $_item.one_piece isnot "broken">>
+	<<if $_setupItem.shop.length isnot 0 and $_item.one_piece isnot "broken" and $_setupItem.cursed isnot 1>>
 		/*If item is half of an outfit, rebuy the primary half instead by redefining the variables defined above*/
 		<<if $_item.outfitSecondary isnot undefined and $_item.outfitSecondary[1] isnot "broken">>
 			<<set $_slot to $_item.outfitSecondary[0]>>
diff --git a/game/base-combat/actions-hands.twee b/game/base-combat/actions-hands.twee
index e56f68e3c1d9aecb690fe62756172eb221519b18..b9719357b06f727501cd5d81f0c4cab885f18a0d 100644
--- a/game/base-combat/actions-hands.twee
+++ b/game/base-combat/actions-hands.twee
@@ -760,18 +760,18 @@ $NPCList[5].lefthand is "pen" or $NPCList[5].righthand is "pen">>
 	<<set _straponDisplaced to (!playerHasStrapon() && $worn.under_lower.type.includes("strap-on"))>>
 	<<if $NPCList[0].state is "stalk" and $NPCList[0].legs isnot "run">>
 		<<if $penisuse is "cover">>
-			<<set _rightaction["Keep covering your _penis"] to "rightcoverpenismeek">>
+			<<set _rightaction["Keep covering your " + _penis] to "rightcoverpenismeek">>
 		<<elseif $penisuse is 0>>
 			<<if !_straponDisplaced>>
-				<<set _rightaction["Cover your _penis"] to "rightcoverpenismeek">>
+				<<set _rightaction["Cover your " + _penis] to "rightcoverpenismeek">>
 			<</if>>
 		<</if>>
 	<<elseif $righttarget is "self" or $targetYourself is false or _targetnumber is 1 or $NPCList[0].state is "stalk">>
 		<<if $penisuse is "cover">>
-			<<set _rightaction["Keep covering your _penis"] to "rightcoverpenis">>
+			<<set _rightaction["Keep covering your " + _penis] to "rightcoverpenis">>
 		<<elseif $penisuse is 0>>
 			<<if !_straponDisplaced>>
-				<<set _rightaction["Cover your _penis"] to "rightcoverpenis">>
+				<<set _rightaction["Cover your " + _penis] to "rightcoverpenis">>
 			<</if>>
 		<</if>>
 	<</if>>
diff --git a/game/base-combat/actionsGeneration.twee b/game/base-combat/actionsGeneration.twee
index a993d887cc6aeec44711507980a452d35d3c4644..78292ed3772abdedcf9ee2e2cd297576188a4ec3 100644
--- a/game/base-combat/actionsGeneration.twee
+++ b/game/base-combat/actionsGeneration.twee
@@ -1348,7 +1348,7 @@
 					<<else>>
 						<<set _mouthaction["Kiss " + $NPCList[$mouthtarget].pronouns.his + " skin"] to "kissskin">>
 					<</if>>
-					<<if $enemytype isnot "beast" and $consensual is 1>>
+					<<if $NPCList[$mouthtarget].mouth is 0 and $enemytype isnot "beast" and $consensual is 1 and !$gloryhole>>
 						<<set _mouthaction["Move your lips to " + $NPCList[$mouthtarget].pronouns.hers] to "kisslips">>
 					<</if>>
 				<</if>>
diff --git a/game/base-combat/beast.twee b/game/base-combat/beast.twee
index 09a0edd05b9628e247aa8a0a6526a811f55f1f7c..a5c3c8bc15fdf3c1e3a2bfceb65825da68c66666 100644
--- a/game/base-combat/beast.twee
+++ b/game/base-combat/beast.twee
@@ -227,7 +227,7 @@
 				<<bHe>> thrusts <<bhis>> $NPCList[_n].penisdesc against your $worn.genitals.name, desperate to breed the <<pussy>> beneath. <<bHe>> <<beast_growls_text>> in pain, but <span class="pink">the device feels looser after each push.</span>
 				<<sex 10>><<set $worn.genitals.integrity -= 240>><<set $enemyanger += 15>><<set $enemytrust -= 15>><<set $enemyhealth -= 5>>
 			<<else>>
-				<<bHe>> thrusts against your $worn.genitals.name, desperate to breed the <<pussy>> beneath. It hurts itself against the hard material and withdraws, <<beast_growling_text>>.
+				<<bHe>> thrusts against your $worn.genitals.name, desperate to breed the <<pussy>> beneath. <<bHe>> hurts <<bhimself>> against the hard material and withdraws, <<beast_growling_text>>.
 				<<set $NPCList[_n].penis to 0>><<set $vaginause to 0>><<set $vaginastate to 0>><<sex 20>><<set $worn.genitals.integrity -= 40>><<set $enemyanger += 15>><<set $enemytrust -= 15>><<set $enemyhealth -= 5>>
 			<</if>>
 		<<elseif $worn.under_lower.vagina_exposed is 0>>
@@ -393,10 +393,10 @@
 		<<set $rng to random(1, 100)>>
 		<<if $worn.under_lower.anus_exposed is 1 and $worn.genitals.type.includes("chastity") and $worn.genitals.anal_shield is 1>>
 			<<if $NPCList[_n].penissize gte 5>>
-				<<bHe>> thrusts against your $worn.genitals.name, desperate to violate the <<bottom>> beneath. It <<beast_growls_text>> in pain, <span class="purple">but each thrust leaves the device a little looser.</span>
+				<<bHe>> thrusts against your $worn.genitals.name, desperate to violate the <<bottom>> beneath. <<bHe>> <<beast_growls_text>> in pain, <span class="purple">but each thrust leaves the device a little looser.</span>
 				<<sex 10>><<set $worn.genitals.integrity -= 240>><<set $enemyanger += 15>><<set $enemytrust -= 15>><<set $enemyhealth -= 5>>
 			<<else>>
-				<<bHe>> thrusts against your $worn.genitals.name, desperate to violate the <<bottom>> beneath. It hurts itself against the hard material and withdraws, <<beast_growling_text>>.
+				<<bHe>> thrusts against your $worn.genitals.name, desperate to violate the <<bottom>> beneath. <<bHe>> hurts <<bhimself>> against the hard material and withdraws, <<beast_growling_text>>.
 				<<set $NPCList[_n].penis to 0>><<set $anususe to 0>><<set $anusstate to 0>><<sex 20>><<set $worn.genitals.integrity -= 40>><<set $enemyanger += 15>><<set $enemytrust -= 15>><<set $enemyhealth -= 5>>
 			<</if>>
 		<<elseif $worn.under_lower.anus_exposed is 0>>
@@ -789,7 +789,7 @@
 	<<elseif $worn.lower.vagina_exposed is 1>>
 		<<set $rng to random(1, 100)>>
 		<<if $worn.under_lower.vagina_exposed is 1 and $worn.genitals.type.includes("chastity")>>
-			<<bHe>> thrusts against your $worn.genitals.name, desperate to breed with the <<penis>> beneath. It hurts itself against the hard material and withdraws, <<beast_growling_text>>.
+			<<bHe>> thrusts against your $worn.genitals.name, desperate to breed with the <<penis>> beneath. <<bHe>> hurts <<bhimself>> against the hard material and withdraws, <<beast_growling_text>>.
 			<<set $NPCList[_n].vagina to 0>><<set $penisuse to 0>><<set $penisstate to 0>><<sex 20>><<set $worn.genitals.integrity -= 10>><<set $enemyanger += 15>><<set $enemytrust -= 15>><<set $enemyhealth -= 5>>
 		<<elseif $worn.under_lower.vagina_exposed is 0>>
 			<<bHe>> rubs <<bhis>> pussy against your <<penis>> through your $worn.under_lower.name.
diff --git a/game/base-combat/effects.twee b/game/base-combat/effects.twee
index 40a7942ba364def5896da5b57f5261ed38d25de2..514d7471d8b7b4a0a2df89e57041504cf34f732d 100644
--- a/game/base-combat/effects.twee
+++ b/game/base-combat/effects.twee
@@ -1034,7 +1034,7 @@
 			<<elseif $worn.lower.set is $worn.upper.set>>
 				You fix your
 				<<if $worn.over_upper.exposed gt 0 or $worn.over_lower.exposed gt 0>>
-					$worn.upper.name, concealing your<<if $worn.over_upper.exposed gt 0>><<breasts>> <<if $worn.over_lower.exposed gt 0>>and<</if>><</if>>
+					$worn.upper.name, concealing your <<if $worn.over_upper.exposed gt 0>><<breasts>> <<if $worn.over_lower.exposed gt 0>>and<</if>><</if>>
 					<<if $worn.over_lower.exposed is 0>>
 					<<elseif $worn.under_lower.exposed gte 1>>
 						<<genitals>>.
@@ -1347,7 +1347,7 @@
 		You run your fingers over your <<pussy>>, feeling its shape beneath your $worn.genitals.name.
 		<<addVaginalWetness 1>><<arousal 20>>
 	<<else>>
-		You run your fingers over your <<pussy>>, feeling its shape beneath your clothing.
+		You run your fingers over your <<pussy>><<if !$worn.lower.type.includes("naked") and !$worn.under_lower.type.includes("naked")>>, feeling its shape beneath your clothing<</if>>.
 		<<addVaginalWetness 0>><<arousal 5>>
 	<</if>>
 	<<submission 3>><<set $speechmasturbate to 1>>
@@ -1374,7 +1374,7 @@
 		You run your fingers over your <<pussy>>, feeling its shape beneath your $worn.genitals.name.
 		<<addVaginalWetness 1>><<arousal 20>>
 	<<else>>
-		You run your fingers over your <<pussy>>, feeling its shape beneath your clothing.
+		You run your fingers over your <<pussy>><<if !$worn.lower.type.includes("naked") and !$worn.under_lower.type.includes("naked")>>, feeling its shape beneath your clothing<</if>>.
 		<<addVaginalWetness 0>><<arousal 5>>
 	<</if>>
 	<<submission 3>><<set $speechmasturbate to 1>>
@@ -1513,7 +1513,7 @@
 		You run your $_dildo over your <<pussy>>, feeling its shape beneath your $worn.genitals.name.
 		<<addVaginalWetness 1>><<arousal 20>>
 	<<else>>
-		You run your $_dildo over your <<pussy>>, feeling its shape beneath your clothing.
+		You run your $_dildo over your <<pussy>><<if !$worn.lower.type.includes("naked") and !$worn.under_lower.type.includes("naked")>>, feeling its shape beneath your clothing<</if>>.
 		<<addVaginalWetness 0>><<arousal 5>>
 	<</if>>
 	<<submission 5>><<set $speechmasturbate to 1>>
@@ -1540,7 +1540,7 @@
 		You run your $_dildo over your <<pussy>>, feeling its shape beneath your $worn.genitals.name.
 		<<addVaginalWetness 1>><<arousal 20>>
 	<<else>>
-		You run your $_dildo over your <<pussy>>, feeling its shape beneath your clothing.
+		You run your $_dildo over your <<pussy>><<if !$worn.lower.type.includes("naked") and !$worn.under_lower.type.includes("naked")>>, feeling its shape beneath your clothing<</if>>.
 		<<addVaginalWetness 0>><<arousal 5>>
 	<</if>>
 	<<submission 5>><<set $speechmasturbate to 1>>
@@ -1604,7 +1604,7 @@
 		You run your $_dildo over your anus, feeling its shape beneath your $worn.genitals.name.
 		<<addVaginalWetness 1>><<arousal 20>>
 	<<else>>
-		You run your $_dildo over your anus, feeling its shape beneath your clothing.
+		You run your $_dildo over your anus<<if !$worn.lower.type.includes("naked") and !$worn.under_lower.type.includes("naked")>>, feeling its shape beneath your clothing<</if>>.
 		<<addVaginalWetness 0>><<arousal 5>>
 	<</if>>
 	<<submission 5>><<set $speechmasturbate to 1>>
@@ -1631,7 +1631,7 @@
 		You run your $_dildo over your anus, feeling its shape beneath your $worn.genitals.name.
 		<<addVaginalWetness 1>><<arousal 20>>
 	<<else>>
-		You run your $_dildo over your anus, feeling its shape beneath your clothing.
+		You run your $_dildo over your anus<<if !$worn.lower.type.includes("naked") and !$worn.under_lower.type.includes("naked")>>, feeling its shape beneath your clothing<</if>>.
 		<<addVaginalWetness 0>><<arousal 5>>
 	<</if>>
 	<<submission 5>><<set $speechmasturbate to 1>>
@@ -1691,7 +1691,7 @@
 		You run your _stroker over your <<penis>>, feeling its shape beneath your $worn.genitals.name.
 		<<arousal 20>>
 	<<else>>
-		You run your _stroker over your <<penis>>, feeling its shape beneath your clothing.
+		You run your _stroker over your <<penis>><<if !$worn.lower.type.includes("naked") and !$worn.under_lower.type.includes("naked")>>, feeling its shape beneath your clothing<</if>>.
 		<<arousal 5>>
 	<</if>>
 	<<submission 2>><<set $speechmasturbate to 1>>
@@ -1733,7 +1733,7 @@
 		You run your _stroker over your <<penis>>, feeling its shape beneath your $worn.genitals.name.
 		<<arousal 20>>
 	<<else>>
-		You run your _stroker over your <<penis>>, feeling its shape beneath your clothing.
+		You run your _stroker over your <<penis>><<if !$worn.lower.type.includes("naked") and !$worn.under_lower.type.includes("naked")>>, feeling its shape beneath your clothing<</if>>.
 		<<arousal 5>>
 	<</if>>
 	<<submission 2>><<set $speechmasturbate to 1>>
@@ -2410,7 +2410,10 @@
 				You dive down a thin alley, and take cover behind a dumpster. You peek around the side. You don't see anyone.
 			<</switch>>
 			<span class="red">Then you feel a presence.</span>
+
+			/* Prevents stalking mouth actions from appearing once the encounter starts */
 			<<set $mouthaction to 0>><<set $mouthactiondefault to "rest">>
+
 			<<if $npcrow.includes(0)>>
 				<<stalk_nnpc_text_attack $NPCList[0].fullDescription>>
 				<<if !$stalk_assess>>
@@ -2497,6 +2500,10 @@
 			<<else>>
 				<span class="red"><<He>> marches towards you.</span>
 			<</if>>
+
+			/* Prevents stalking mouth actions from appearing once the encounter starts */
+			<<set $mouthaction to 0>><<set $mouthactiondefault to "rest">>
+
 			<<if $npcrow.includes(0)>>
 				<<stalk_nnpc_text_attack $NPCList[0].fullDescription>>
 			<<elseif $NPCList[0].fullDescription is "Ivory Wraith">>
diff --git a/game/base-system/characteristics.twee b/game/base-system/characteristics.twee
index 155aba8944ef6efe0dfb985e36ded09e10c23fe8..c3f3ccad808689e75bd5f8df22d0201858400a72 100644
--- a/game/base-system/characteristics.twee
+++ b/game/base-system/characteristics.twee
@@ -474,8 +474,8 @@ You have a <<bottom>>.
 			<<if $worn.under_upper.type.includesAny("swim", "naked") and $worn.under_lower.type.includesAny("swim", "naked")
 			and $worn.upper.type.includesAny("swim", "naked") and $worn.lower.type.includesAny("swim", "naked")>>
 				<<set _swimmingConfig.modifier to Math.floor(_swimmingConfig.modifier * 1.05)>>
-				<<if $worn.under_upper.type is "swim" or $worn.under_lower.type is "swim"
-				or $worn.upper.type is "swim" or $worn.lower.type is "swim">>
+				<<if $worn.under_upper.type.includes("swim") or $worn.under_lower.type.includes("swim")
+				or $worn.upper.type.includes("swim") or $worn.lower.type.includes("swim")>>
 					<<set _swimmingConfig.modTypes.good.pushUnique("swimwear")>>
 				<<else>>
 					<<set _swimmingConfig.modTypes.good.pushUnique("naked")>>
diff --git a/game/base-system/clamp.twee b/game/base-system/clamp.twee
index 8c4799560005c0c7974fae7af5849373fca6df13..4ad7658323b112842338d85684d4866c5d1871a2 100644
--- a/game/base-system/clamp.twee
+++ b/game/base-system/clamp.twee
@@ -34,6 +34,7 @@
 <<set $wolfbuild = Math.clamp($wolfbuild, 0, 100)>>
 <<set $catbuild = Math.clamp($catbuild, 0, 100)>>
 <<set $cowbuild = Math.clamp($cowbuild, 0, 100)>>
+<<set $birdbuild = Math.clamp($birdbuild, 0, 100)>>
 
 <<set $seductionskill = Math.clamp($seductionskill, 0, 1000)>>
 <<set $oralskill = Math.clamp($oralskill, 0, 1000)>>
diff --git a/game/overworld-forest/loc-forest/widgets.twee b/game/overworld-forest/loc-forest/widgets.twee
index 9b28aac09bdf5980d7248ee6acb8ae3528e319c4..8ce97ed1f426c16a306a2bd4e8ee5c60115f0042 100644
--- a/game/overworld-forest/loc-forest/widgets.twee
+++ b/game/overworld-forest/loc-forest/widgets.twee
@@ -724,7 +724,17 @@ You spot a decaying metal shard amongst the fallen bark at your feet. It's an ar
 
 <<widget "foresthunt">>
 <<set $foresthunt to 0>>
-<<if $blackwolfhunt is 1>>
+<<if $wraith and $wraith.hunt>>
+	<<set $wraith.hunt to 0>>
+	<<if $location is "forest">>
+		<<set $wraith.exit to "forest">>
+	<<elseif $location is "lake_ruin">>
+		<<set $wraith.exit to "lake_ruin">>
+	<<else>>
+		<<set $wraith.exit to "lake">>
+	<</if>>
+	<<wraithCaught>>
+<<elseif $blackwolfhunt is 1>>
 	<!-- Modified for monster people -->
 	<<npc "Black Wolf">>/*<<beastNNPCinit>>*/
 	<<if $syndromewolves is 1 and $wolfpacktrust gte 24 and ($monster is 1 or $bestialitydisable is "f")>>
@@ -763,16 +773,6 @@ You spot a decaying metal shard amongst the fallen bark at your feet. It's an ar
 		<<link [[Next|Forest]]>><<endevent>><</link>>
 		<br>
 	<</if>>
-<<elseif $wraith and $wraith.hunt>>
-	<<set $wraith.hunt to 0>>
-	<<if $location is "forest">>
-		<<set $wraith.exit to "forest">>
-	<<elseif $location is "lake_ruin">>
-		<<set $wraith.exit to "lake_ruin">>
-	<<else>>
-		<<set $wraith.exit to "lake">>
-	<</if>>
-	<<wraithCaught>>
 <<else>>
 	<<rngWraith 2 "night">>
 	<<if $wraith and _wraithEvent and ($wraith.state is "haunt" or $wraith.offspring is "dead") and $syndromeeden is 1>>
diff --git a/game/overworld-forest/loc-lake/ivory/schism.twee b/game/overworld-forest/loc-lake/ivory/schism.twee
index f72e1a6c6296ddadaf03d3e80420469294a69d33..3ca1a1d38de027dbbb4f73196af0f17780063dda 100644
--- a/game/overworld-forest/loc-lake/ivory/schism.twee
+++ b/game/overworld-forest/loc-lake/ivory/schism.twee
@@ -881,7 +881,7 @@ The feeling of dread rapidly fades. <span class="blue"><i>You're safe until the
 <<unset $statFreeze>>
 <<if $real_lefteyecolour>>
 	<<set $leftEyeColour to $real_lefteyecolour>>
-	<<set $rightEyeColour to $real_rightEyeColour>>
+	<<set $rightEyeColour to $real_righteyecolour>>
 <<else>>
 	<<set $leftEyeColour to $real_eyecolour>>
 	<<set $rightEyeColour to $real_eyecolour>>
diff --git a/game/overworld-forest/loc-lake/main.twee b/game/overworld-forest/loc-lake/main.twee
index 0b04be8f9c61b1299ab63c35d1c4cb9d8cb16bec..405c2b6f2674ce702a6e16021da03a71528b1c33 100644
--- a/game/overworld-forest/loc-lake/main.twee
+++ b/game/overworld-forest/loc-lake/main.twee
@@ -121,7 +121,7 @@ There's a rocky alcove where you could store your clothes.
 	<<if $daystate is "night">>
 		You are at the waterfall. A curtain of silver in the moonlight.
 	<<else>>
-		You are at the Waterfall. It feeds the lake through a gap in the ice.
+		You are at the waterfall. It feeds the lake through a gap in the ice.
 	<</if>>
 	<<if $weather is "snow">>
 		Snow settles on its surface.
@@ -130,11 +130,11 @@ There's a rocky alcove where you could store your clothes.
 	<</if>>
 <<else>>
 	<<if $laketeenspresent is 1>>
-		You are at the Waterfall. Some of the younger students are playing in the falling water. Teens sit in the pond above.
+		You are at the waterfall. Some of the younger students are playing in the falling water. Teens sit in the pond above.
 	<<elseif $daystate is "night">>
 		You are at the waterfall. A curtain of silver in the moonlight.
 	<<else>>
-		You are at the Waterfall. Water is flowing down from the pond up on the rocks. A refreshing mist rolls out.
+		You are at the waterfall. Water is flowing down from the pond up on the rocks. A refreshing mist rolls out.
 	<</if>>
 	<<if $weather is "rain">>
 		The water is alive with motion as rain breaks its surface.
diff --git a/game/overworld-plains/loc-farm/cottage.twee b/game/overworld-plains/loc-farm/cottage.twee
index b7effdd84fca933621c9521b0e7d67ca5e8aca68..dc2fd207a3b07a69e2cb0c9c8b04216530629e55 100644
--- a/game/overworld-plains/loc-farm/cottage.twee
+++ b/game/overworld-plains/loc-farm/cottage.twee
@@ -1886,7 +1886,7 @@ You get comfy beside Alex.
 		You displace <<his>> <<npcClothesText _alex "upper">>, exposing <<his>> toned midriff. You blow hot air and rub your face against it. <<He>> cracks up at the sight.<<npcincr Alex lust 1>><<glust>>
 	<<case 6>>
 		"It's nice and quiet," <<he>> says as <<he>> fluffs the pillows. "Wish we could spend all day like this." <<He>> spoons you, and
-		<<if ($harpy gte 6 and $transformationParts.bird.wings isnot "hidden") or ($angel gte 6 and $transformationParts.angel.wings isnot "hidden") or ($demon gte 6 and $transformationParts.demon.wings isnot "hidden") or ($fallenangel gte 1 and $transformationParts.fallenangel.wings isnot "hidden")>>
+		<<if ($harpy gte 6 and $transformationParts.bird.wings isnot "hidden") or ($angel gte 6 and $transformationParts.angel.wings isnot "hidden") or ($demon gte 6 and $transformationParts.demon.wings isnot "hidden") or ($fallenangel gte 2 and $transformationParts.fallenAngel.wings isnot "hidden")>>
 			strokes your wings.
 		<<elseif ($wolfgirl gte 3 and $transformationParts.wolf.ears isnot "hidden") or ($cat gte 4 and $transformationParts.cat.ears isnot "hidden") or ($cow gte 4 and $transformationParts.cow.ears isnot "hidden")>>
 			scratches behind your ears.
@@ -2146,7 +2146,7 @@ You sit beside Alex, and make yourself comfy.
 		You rub your cheek against <<his>>, content to listen to the sound of <<his>> voice.
 	<<case 7>>
 		Bored, you bump your head against <<his>>. 
-		<<if ($demon gte 2 and $transformationParts.demon.horns isnot "hidden") and ($cow gte 2 and $transformationParts.cow.horns isnot "hidden")>>
+		<<if ($demon gte 2 and $transformationParts.demon.horns isnot "hidden") or ($cow gte 2 and $transformationParts.cow.horns isnot "hidden")>>
 			<<He>> recoils in pain, and you suddenly remember you have horns. Before you can apologise, <<he>> bumps back. You both laugh, hands on your foreheads.
 		<<else>>
 			<<He>> does the same. This exchange continues for quite some time.
@@ -2432,7 +2432,7 @@ Alex talks on the phone, trying to keep <<his>> voice steady.
 	<br><br>
 	"What the fuck are you doing here?" Alex says. You see <<him>> approach through the window. Another figure walks to meet <<him>>. <span class="red">It's Bailey.</span>
 	<br><br>
-	"My ward is here," Bailey says. "<<pHe>> owes me. I'm here to collect."
+	"My ward is here," Bailey says. "<<pShe>> owes me. I'm here to collect."
 	<br><br>
 
 	<<link [[Confront Bailey|Farm Cottage Bailey Confront]]>><</link>>
diff --git a/game/overworld-plains/loc-livestock/widgets.twee b/game/overworld-plains/loc-livestock/widgets.twee
index fb4f4ee4b0023709ceeeea742a1e581a19a758b1..79a701a525eb880940e024c14040bf5d5dc5caeb 100644
--- a/game/overworld-plains/loc-livestock/widgets.twee
+++ b/game/overworld-plains/loc-livestock/widgets.twee
@@ -208,13 +208,13 @@ You overhear two farmhands talking behind the fence.
 		<<if $player.breastsize gte 12>>
 			"Well, whatever Remy is doing, it's working rather well on those gazongas."
 		<<elseif $player.breastsize gte 8>>
-			"Well, whatever Remy is doing, it seems to be working rather well, <<phe>> has a nice pair."
+			"Well, whatever Remy is doing, it seems to be working rather well, <<pshe>> has a nice pair."
 		<<elseif $player.breastsize gte 6>>
 			"Well, whatever Remy is doing, it seems to be doing something, <<pher>> boobs seem to be growing."
 		<<elseif $player.breastsize gte 1>>
-			"Well, whatever Remy is doing, doesn't seem to be working this time, <<phe>> is almost flat."
+			"Well, whatever Remy is doing, doesn't seem to be working this time, <<pshes>> almost flat."
 		<<else>>
-			"Well, whatever Remy is doing, doesn't seem to be working this time, <<phe>> is completely flat as a board."
+			"Well, whatever Remy is doing, doesn't seem to be working this time, <<pshes>> completely flat as a board."
 		<</if>>
 		<br><br>
 		They walk out of earshot.
diff --git a/game/overworld-town/loc-adultshop/adultshop.twee b/game/overworld-town/loc-adultshop/adultshop.twee
index 673220f4a6a5f2c5d6bbb57e328843e2ec6c024d..f9c303d52fd73a88d7e1a85980d4af936aed5811 100644
--- a/game/overworld-town/loc-adultshop/adultshop.twee
+++ b/game/overworld-town/loc-adultshop/adultshop.twee
@@ -189,7 +189,7 @@ You are in an adult shop. A wide array of strap-ons, lingerie, fetish wear, and
 		<<ind>><<link [[Approach Sirris|Adult Shop Approach Sirris]]>><<endevent>><</link>>
 		<br>
 	<</if>>
-	<<if $adultshopstate is "sydney">>
+	<<if $adultshopstate is "sydney" and $debug is 1>>
 		<<ind>><<link [[Approach Sydney|Adult Shop Approach Sydney]]>><<endevent>><</link>>
 		<br>
 	<</if>>
diff --git a/game/overworld-town/loc-adultshop/events.twee b/game/overworld-town/loc-adultshop/events.twee
index fd4df3930d3a558a2f9af30013b07a0f7cd9f14d..41229cc686747df203093958f7de4e5099d8a492 100644
--- a/game/overworld-town/loc-adultshop/events.twee
+++ b/game/overworld-town/loc-adultshop/events.twee
@@ -392,9 +392,9 @@ Sydney sits up with a groan.
 <</if>>
 <br><br>
 
-<<if $sydneyromance is 1>>
+<<if $sydneyromance is 1 and _sydneyStatus.includes("Lust")>>
 	<<switch _sydneyStatus>>
-		<<case "corrupt">>
+		<<case "corruptLust">>
 			"Well, everything happens for a reason," <<he>> snickers.
 			<<if setup.clothes.lower[clothesIndex('lower', $worn.lower)].skirt is 1>>
 				<<He>> pulls your legs apart and leans in.
@@ -408,7 +408,7 @@ Sydney sits up with a groan.
 			<br>
 			<<link [[Get up|Sydney Backroom Lifted Up]]>><<npcincr Sydney love -1>><<npcincr Sydney purity 1>><</link>><<llove>><<gspurity>>
 			<br>
-		<<case "pure">>
+		<<case "pureLust">>
 			"Sorry!" <<he>> gasps "I didn't mean to look!" <<He>> covers <<his>> eyes, but makes no move to push you off.
 			<br><br>
 
@@ -1541,7 +1541,6 @@ Glancing over <<his>> shoulder, <<he>> grasps the back of your head and brings y
 
 :: Adult Shop Sydney Pure Beads
 <<set $outside to 0>><<set $location to "adult_shop">><<effects>>
-<<npc Sirris 2>>
 
 <<if $phase is 2>>
 	<<set $sydneySeen.pushUnique("pureBeads")>>
@@ -1561,7 +1560,7 @@ Glancing over <<his>> shoulder, <<he>> grasps the back of your head and brings y
 	<<He>> gives you a strained smile. "Th-thank you for... enlightening me." <<He>> returns to work, mumbling to <<himself>> all the while.
 <<elseif $phase is 1>>
 	<<set $sydneySeen.pushUnique("pureBeads")>>
-	<<person1>><<person>>
+	<<endevent>><<npc Sirris>><<person1>>
 	You find Sirris at the front counter and show <<him>> the strange rosary. <<He>> stares at it with a blank expression, before bursting out in laughter. Sydney looks to you with a puzzled frown.
 	<br><br>
 
@@ -2209,7 +2208,7 @@ You approach Sydney and the <<person>>. As you get close, you realise they're no
 		<br>
 		The <<person>> scoffs. "<<person1>><<He>> started harassing me first."
 		<br>
-		Sydney laughs. "<<Him>>? Giving me trouble? <<He>> doesn't have the nerve."
+		Sydney laughs. "<<person2>><<Him>>? Giving me trouble? <<He>> doesn't have the nerve."
 	<</if>>
 	<br><br>
 
@@ -2224,12 +2223,12 @@ You approach Sydney and the <<person>>. As you get close, you realise they're no
 			<<He>> relents in the end, purchasing the larger size. <<He>> leaves the store grumbling under <<his>> breath.
 			<br><br>
 
-			Sydney sighs theatrically. "Another poor soul succumbs to <<his>> pride." <<He>> glances at you and smirks. "What about you, sinner? Have you succumbed yet?"<<npcincr Sydney lust 1>>
+			Sydney sighs theatrically. "Another poor soul succumbs to <<his>> pride." <<person1>><<He>> glances at you and smirks. "What about you, sinner? Have you succumbed yet?"<<npcincr Sydney lust 1>>
 		<<default>>
 			It's more than <<he>> can take, and <<he>> ends up leaving the store emptyhanded.
 			<br><br>
 
-			Sydney shakes <<his>> head. "I'm not surprised. People like that don't know what they want."
+			Sydney shakes <<person1>><<his>> head. "I'm not surprised. People like that don't know what they want."
 			<<if $sydneyromance is 1>>
 				<<He>> looks at you, running <<his>> tongue over <<his>> lips. "Me, I know exactly what I want."<<npcincr Sydney lust 1>><<glust>>
 			<<else>>
@@ -2242,7 +2241,7 @@ You approach Sydney and the <<person>>. As you get close, you realise they're no
 		At last, the <<person2>><<person>> relents, leaving with a dildo half as tall as <<him>>.
 		<br><br>
 
-		"I hope you were taking notes," <<he>> says to you.
+		"I hope you were taking notes," <<person1>><<he>> says to you.
 		<<if $sydneyromance is 1>>
 			"Or maybe you'd prefer a more personal demonstration of my... persuasiveness." <<He>> winks.<<arousal 50>><<npcincr Sydney lust 1>><<garousal>><<glust>>
 		<<else>>
@@ -2277,12 +2276,12 @@ You approach Sydney and the <<person>>. As you get close, you realise they're no
 		You blush. "W-well, actually..."
 		<br><br>
 
-		Sydney furrows <<his>> brow. "'Actually'? Actually, what?" You silently stare down at your lap. Sydney grabs your arm, whining. "Come on, tell me!"
+		Sydney furrows <<person1>><<his>> brow. "'Actually'? Actually, what?" You silently stare down at your lap. Sydney grabs your arm, whining. "Come on, tell me!"
 	<<elseif $submissive lte 850>>
 		You smirk. "You sure are interested in this."
 		<br><br>
 
-		Sydney gasps. <<He>> looks mortified. "N-no! I'm just curious, that's all. <<sydneyMum>> says curiosity is a virtue..."
+		Sydney gasps. <<person1>><<He>> looks mortified. "N-no! I'm just curious, that's all. <<sydneyMum>> says curiosity is a virtue..."
 	<<else>>
 		You shrug. "You'd be surprised."
 		<br><br>
@@ -2291,7 +2290,7 @@ You approach Sydney and the <<person>>. As you get close, you realise they're no
 	<</if>>
 	<br><br>
 
-	You don't elaborate, despite Sydney's pestering. <<He>> eventually gives up and returns to work, mumbling to <<himself>>.
+	You don't elaborate, despite Sydney's pestering. <<person1>><<He>> eventually gives up and returns to work, mumbling to <<himself>>.
 <</if>>
 
 <br><br>
diff --git a/game/overworld-town/loc-adultshop/opening.twee b/game/overworld-town/loc-adultshop/opening.twee
index 46c64fdb53ad2d3c3e156f4c4f7fa7c4a21d668f..50b67096c8e9a290a5f12348960b4aa29d4a3c96 100644
--- a/game/overworld-town/loc-adultshop/opening.twee
+++ b/game/overworld-town/loc-adultshop/opening.twee
@@ -851,9 +851,9 @@ Sydney does so. <<He>> wasn't lying. <<Hes>> really wearing the babydoll. <<He>>
 <</if>>
 <br><br>
 
-<<link [["Say " + $NPCList[0].pronouns.he + " looks good"|Adult Shop Opening Corrupt Babydoll Ask]]>><<npcincr Sydney love 1>><</link>><<glove>>
+<<link [["Say " + $NPCList[0].pronouns.he + " looks good"|Adult Shop Opening Corrupt Babydoll Compliment]]>><<npcincr Sydney love 1>><</link>><<glove>>
 <br>
-<<link [["Ask if " + $NPCList[0].pronouns.he + " is sure about this"|Adult Shop Opening Corrupt Babydoll Compliment]]>><</link>>
+<<link [["Ask if " + $NPCList[0].pronouns.he + " is sure about this"|Adult Shop Opening Corrupt Babydoll Ask]]>><</link>>
 <br>
 
 
diff --git a/game/overworld-town/loc-adultshop/widgets.twee b/game/overworld-town/loc-adultshop/widgets.twee
index 48a03ef7d57a4b51a4ae89f3d383da3c0313cb50..bb6032654a8acb80bd78455780a806fac90f92a0 100644
--- a/game/overworld-town/loc-adultshop/widgets.twee
+++ b/game/overworld-town/loc-adultshop/widgets.twee
@@ -596,7 +596,7 @@
 		<<addinlineevent "adultshopleighton" 0.5>>
 			Leighton walks into the store.
 			<<npc "Leighton">><<person1>>
-			You think <<he>> recognises you but <<he>> simply busies himself browsing the <<print either("magazines","videos","lubricants")>>. <<He>> waits until Sirris is at the counter before making <<his>> purchase.
+			You think <<he>> recognises you but <<he>> simply busies <<himself>> browsing the <<print either("magazines","videos","lubricants")>>. <<He>> waits until Sirris is at the counter before making <<his>> purchase.
 			<br><br>
 			The rest of your shift is uneventful. You earn <<moneyGain 15>>.<<npcincr Sirris love 1>><<glove "Sirris">>
 			<br><br>
diff --git a/game/overworld-town/loc-brothel/shows.twee b/game/overworld-town/loc-brothel/shows.twee
index 7b11eb19b8e5db8def7c139115fc4fb13b609720..069c9ab653bfb9135b4208764f6849b2816d39e8 100644
--- a/game/overworld-town/loc-brothel/shows.twee
+++ b/game/overworld-town/loc-brothel/shows.twee
@@ -621,6 +621,10 @@ The machine can't strip you, so Briar's employees rush forward to help.
 A red light glows from the front as it scans you. It moves its phallus in front of your <<genitals>>.
 <br><br>
 
+<<saveNPC 0 "brothel_machine_0">>
+<<saveNPC 1 "brothel_machine_1">>
+<<endevent>>
+
 <<strip>>
 <<link [[Next|Brothel Show Machine]]>><<set $sexstart to 1>><</link>>
 <br>
@@ -675,6 +679,11 @@ A red light glows from the front as it scans you. It moves its phallus in front
 :: Brothel Show Machine End
 <<effects>>
 
+<<loadNPC 0 "brothel_machine_0">>
+<<loadNPC 1 "brothel_machine_1">>
+<<clearNPC "brothel_machine_0">>
+<<clearNPC "brothel_machine_1">>
+
 <<if $anusfucked is 1 or $vaginafucked is 1 or $penisfucked is 1>>
 	The audience applaud again as the machine powers down.
 	<br><br>
diff --git a/game/overworld-town/loc-hospital/abduction.twee b/game/overworld-town/loc-hospital/abduction.twee
index 45c633d472fe4959efc40da9458ffa3ddb609973..73e38b56a36ec242b64af31645fb5e39a31e7476 100644
--- a/game/overworld-town/loc-hospital/abduction.twee
+++ b/game/overworld-town/loc-hospital/abduction.twee
@@ -163,7 +163,7 @@ You run down the corridor. As you reach the door you hear a sharp buzz and the s
 <<elseif $enemyarousal gte $enemyarousalmax>>
 	<span id="next"><<link [[Next|Abduction Hospital Corridor Finish]]>><</link>></span><<nexttext>>
 <<else>>
-	<span id="next"><<link [[Next|Abduction Hospital Corridor]]>><</link>></span><<nexttext>>
+	<span id="next"><<link [[Next|Abduction Hospital Corridor Wolves]]>><</link>></span><<nexttext>>
 <</if>>
 
 :: Abduction Hospital Corridor Finish
@@ -250,7 +250,7 @@ You run down the corridor. As you reach the door you hear a sharp buzz and the s
 <<elseif $enemyarousal gte $enemyarousalmax>>
 	<span id="next"><<link [[Next|Abduction Hospital Hole Finish]]>><</link>></span><<nexttext>>
 <<else>>
-	<span id="next"><<link [[Next|Abduction Hospital Hole]]>><</link>></span><<nexttext>>
+	<span id="next"><<link [[Next|Abduction Hospital Hole Wolves]]>><</link>></span><<nexttext>>
 <</if>>
 
 :: Abduction Hospital Hole Finish
diff --git a/game/overworld-town/loc-prison/punishment.twee b/game/overworld-town/loc-prison/punishment.twee
index 0dfe2ed16da18e8a45c12b169ab9bc09564a3e5b..390d61ad993fa5f07dc05a93e6eda70d11ba0037 100644
--- a/game/overworld-town/loc-prison/punishment.twee
+++ b/game/overworld-town/loc-prison/punishment.twee
@@ -677,10 +677,10 @@ The pliers bite through the leash, leaving your collar bare.
 :: Prison Remove Cuffs
 <<effects>>
 
-<<He>> crouches beside you, and inserts the key. The ball and chain clicks open.
+<<He>> crouches beside you, and inserts the key. The $worn.feet.name <<if $worn.feet.plural is 1>>click<<else>>clicks<</if>> open.
 <br><br>
 
-"Be on your best behaviour," <<he>> says. "Or these go back on."
+"Be on your best behaviour," <<he>> says. "Or <<if $worn.feet.plural is 1>>these go<<else>>it goes<</if>> back on."
 <br><br>
 
 <<set $worn.feet.type.push("broken")>>
diff --git a/game/overworld-town/loc-prison/widgets.twee b/game/overworld-town/loc-prison/widgets.twee
index b7212034a9b538cd83ddd326e6ff78e6c4d765ee..72ffafe6488e65dae8f8b879376d0f4614dfb0a4 100644
--- a/game/overworld-town/loc-prison/widgets.twee
+++ b/game/overworld-town/loc-prison/widgets.twee
@@ -821,7 +821,7 @@
     <<link [["Let " + $NPCList[0].pronouns.him + " remove the leash"|Prison Remove Leash]]>><</link>>
     <br>
 <<elseif $phase is 2>>
-    <<link [["Let " + $NPCList[0].pronouns.him + " remove the ball and chain"|Prison Remove Cuffs]]>><</link>>
+    <<link [["Let " + $NPCList[0].pronouns.him + " remove the " + $worn.feet.name|Prison Remove Cuffs]]>><</link>>
     <br>
 <<elseif $phase is 1>>
     <<prison_repunishment_options>>
diff --git a/game/overworld-town/loc-school/classes/history-events.twee b/game/overworld-town/loc-school/classes/history-events.twee
index 499a4203ff89ca91f89789e7ac5f2a90d7668ff7..17e1d58b3ecdc1bc90a35c167afdef1fa14cb454 100644
--- a/game/overworld-town/loc-school/classes/history-events.twee
+++ b/game/overworld-town/loc-school/classes/history-events.twee
@@ -709,7 +709,12 @@ The <<person>> tries to argue, but Winter won't hear it. <<He>> rubs <<his>> hea
 	"It's just a collar," you say.
 	<br><br>
 <</if>>
-<<He>> reaches down and picks up the leash. "And this? What would possess you to wear such a thing?" Pretty much the entire class is watching now. "Do you like to roleplay as a dog?" Someone giggles, which distracts Winter. "Quiet! Now, where was I..." <<He>> commences <<his>> droning.
+<<if $worn.neck.name is "collar with leash" or $worn.neck.name is "leather collar with leash">>
+	<<He>> reaches down and picks up the leash. "And this?
+<<else>>
+	<<He>> slides a finger into the gap, and tugs. "Rather tight, isn't it?
+<</if>>
+What would possess you to wear such a thing?" Pretty much the entire class is watching now. "Do you like to roleplay as a dog?" Someone giggles, which distracts Winter. "Quiet! Now, where was I..." <<He>> commences <<his>> droning.
 <br><br>
 <<endevent>>
 <<link [[Next|History Lesson]]>><</link>>
diff --git a/game/overworld-town/loc-school/inspections.twee b/game/overworld-town/loc-school/inspections.twee
index fa3f5711c517bcdbd28629b774df2c065c1da0c1..e1cda73b61b8850908612e82321bb6c8a0c0cb12 100644
--- a/game/overworld-town/loc-school/inspections.twee
+++ b/game/overworld-town/loc-school/inspections.twee
@@ -615,9 +615,6 @@ A well-endowed <<person2>><<person>> stood beside <<person1>><<him>> starts sobb
 :: Penis Inspection Expose
 <<set $outside to 0>><<set $location to "school">><<schooleffects>><<effects>>
 <<fameexhibitionism 50 pic>>
-<<if !$worn.genitals.type.includes("hidden")>>
-	<<push_nnpc_genderknown true>>
-<</if>>
 
 <<if $player.penissize gte 4>>
 	You <<nervously>> pull down your $worn.lower.name as instructed, exposing your <<genitals>> to the room. The class erupts into excitement. The <<person5>><<person>> clutches <<his>> hands to <<his>> face and giggles. <<Penisremarkquote>> <<he>> says.<<incggpenisinsecurity>>
@@ -653,26 +650,46 @@ A well-endowed <<person2>><<person>> stood beside <<person1>><<him>> starts sobb
 	"That's to stop <<phim>> being naughty," Leighton replies. "Just take <<pher>> measurement the best you can."
 	<br><br>
 <<elseif $player.gender is "h">>
-	"Oh, what's this hiding under your penis?" 
-	Leighton questions as <<person1>><<he>> grabs your penis and <<if $player.ballsExist>>lifts your balls<<else>>moves it aside<</if>>, revealing your <<pussy>>. 
-	"A hermaphrodite! Quite the rarity, indeed."
-	<<schoolrep_naked>>
-	<br><br>
-	"What's that?" the <<person4>><<person>> asks, trying to take a look.
-	<br><br>
-	"Someone who isn't quite a boy or girl, but rather a mix of both," Leighton replies.
-	<<if pregnancyBellyVisible()>>
-		"It explains why <<pshe>> has a baby bump despite having a penis"
-	<<elseif $player.perceived_breastsize gte 8>>
-		"It explains why <<pshe>> has such huge breasts."
-	<<elseif $player.perceived_breastsize gte 3>>
-		"It explains why <<pshe>> has breasts."
+	<<if !$genderknown.includes("Leighton")>>
+		"Oh, what's this hiding under your penis?" 
+		Leighton questions as <<person1>><<he>> grabs your penis and <<if $player.ballsExist>>lifts your balls<<else>>moves it aside<</if>>, revealing your <<pussy>>. 
+		"A hermaphrodite! Quite the rarity, indeed."
+		<<schoolrep_naked>>
+		<br><br>
+		"What's that?" the <<person4>><<person>> asks, trying to take a look.
+		<br><br>
+		"Someone who isn't quite a boy or girl, but rather a mix of both," Leighton replies.
+		<<if pregnancyBellyVisible()>>
+			"It explains why <<pshe>> has a baby bump despite having a penis"
+		<<elseif $player.perceived_breastsize gte 8>>
+			"It explains why <<pshe>> has such huge breasts."
+		<<elseif $player.perceived_breastsize gte 3>>
+			"It explains why <<pshe>> has breasts."
+		<<else>>
+			"It's a bit odd, I would have expected <<phim>> to have breasts."
+		<</if>>
 	<<else>>
-		"It's a bit odd, I would have expected <<phim>> to have breasts."
+		You feel Leighton's knuckles brush against your <<pussy>> as <<he>> fondles your <<if $player.ballsExist>>testes<<else>>shaft<</if>>. <<He>> smirks.
+		<br><br>
+
+		"Don't worry," <<he>> says. "I've no interest in that side of you." The <<person4>><<person>> and <<person5>><<person>> share a
+		<<if $schoolrep.herm gte 4>>
+			knowing giggle.
+		<<elseif $schoolrep.herm gte 2>>
+			curious hum.
+		<<else>>
+			confused murmur.
+		<</if>>
+		Leighton ignores them. "For now."
+		<<stress 2>><<gstress>>
 	<</if>>
 	<br><br>
 <</if>>
 
+<<if !$worn.genitals.type.includes("hidden")>>
+	<<push_nnpc_genderknown true>>
+<</if>>
+
 <<penisinspectionstudents>>
 
 "Would you two stop that?" Leighton interjects. "There are more penises to inspect." At last, the pair leave you alone and you pull your $worn.lower.name back up.
@@ -692,9 +709,6 @@ A well-endowed <<person2>><<person>> stood beside <<person1>><<him>> starts sobb
 <<set $outside to 0>><<set $location to "school">><<schooleffects>><<effects>>
 
 <<fameexhibitionism 50 pic>>
-<<if !$worn.genitals.type.includes("hidden")>>
-	<<push_nnpc_genderknown true>>
-<</if>>
 
 <<if $player.penissize gte 4>>
 	Confident, you tug down your $worn.lower.name, lean back, and place your hands on your hips. You feel everyone's eyes on your <<penis>>. The class erupts into excitement. The <<person5>><<person>> clutches <<his>> hands to <<his>> face and giggles. <<Penisremarkquote>> <<he>> says.<<incggpenisinsecurity>>
@@ -743,26 +757,46 @@ You enjoy the attention.
 	"That's to stop <<phim>> being naughty," Leighton replies. "Just take <<pher>> measurement as best you can."
 	<br><br>
 <<elseif $player.gender is "h">>
-	"Oh, what's this hiding under your penis?"
-	Leighton questions as <<person1>><<he>> grabs your penis and <<if $player.ballsExist>>lifts your balls<<else>>moves it aside<</if>>, revealing your <<pussy>>. 
-	"A hermaphrodite! Quite the rarity, indeed."
-	<<schoolrep_naked>>
-	<br><br>
-	"What's that?" the <<person4>><<person>> asks, trying to take a look.
-	<br><br>
-	"Someone who isn't quite a boy or girl, but rather a mix of both," Leighton replies.
-	<<if pregnancyBellyVisible()>>
-		"It explains why <<pshe>> has a baby bump despite having a penis"
-	<<elseif $player.perceived_breastsize gte 8>>
-		"It explains why <<pshe>> has such huge breasts."
-	<<elseif $player.perceived_breastsize gte 3>>
-		"It explains why <<pshe>> has breasts."
+	<<if !$genderknown.includes("Leighton")>>
+		"Oh, what's this hiding under your penis?" 
+		Leighton questions as <<person1>><<he>> grabs your penis and <<if $player.ballsExist>>lifts your balls<<else>>moves it aside<</if>>, revealing your <<pussy>>. 
+		"A hermaphrodite! Quite the rarity, indeed."
+		<<schoolrep_naked>>
+		<br><br>
+		"What's that?" the <<person4>><<person>> asks, trying to take a look.
+		<br><br>
+		"Someone who isn't quite a boy or girl, but rather a mix of both," Leighton replies.
+		<<if pregnancyBellyVisible()>>
+			"It explains why <<pshe>> has a baby bump despite having a penis"
+		<<elseif $player.perceived_breastsize gte 8>>
+			"It explains why <<pshe>> has such huge breasts."
+		<<elseif $player.perceived_breastsize gte 3>>
+			"It explains why <<pshe>> has breasts."
+		<<else>>
+			"It's a bit odd, I would have expected <<phim>> to have breasts."
+		<</if>>
 	<<else>>
-		"It's a bit odd, I would have expected <<phim>> to have breasts."
+		You feel Leighton's knuckles brush against your <<pussy>> as <<he>> fondles your <<if $player.ballsExist>>testes<<else>>shaft<</if>>. <<He>> smirks.
+		<br><br>
+
+		"Don't worry," <<he>> says. "I've no interest in that side of you." The <<person4>><<person>> and <<person5>><<person>> share a
+		<<if $schoolrep.herm gte 4>>
+			knowing giggle.
+		<<elseif $schoolrep.herm gte 2>>
+			curious hum.
+		<<else>>
+			confused murmur.
+		<</if>>
+		Leighton ignores them. "For now."
+		<<stress 2>><<gstress>>
 	<</if>>
 	<br><br>
 <</if>>
 
+<<if !$worn.genitals.type.includes("hidden")>>
+	<<push_nnpc_genderknown true>>
+<</if>>
+
 <<penisinspectionstudents>>
 
 "Would you two stop that?" Leighton interjects. "There are more penises to inspect." At last, the pair leave you alone and you pull your $worn.lower.name back up.
diff --git a/game/overworld-town/loc-street/events.twee b/game/overworld-town/loc-street/events.twee
index 1eeaa6736fb3bb03f913fa6d4351a47eacedcd76..1ff8f68dd21976b25f5acc1385f9591829a5a3f9 100644
--- a/game/overworld-town/loc-street/events.twee
+++ b/game/overworld-town/loc-street/events.twee
@@ -8263,7 +8263,7 @@ You try to speak, but can't find the words. You feel the <<person>> catch you in
 	
 	<<set $tipmod to 2>>
 	<<if $promiscuity gte 75>>
-		<<link [[Offer your body|Street Private Show Sex]]>><<set $phase to 1>><<set $sexstart to 1>><</link>><<promiscuous5>>
+		<<link [[Offer your body|Street Private Show Sex]]>><<set $crossdressing to 0>><<set $phase to 1>><<set $sexstart to 1>><</link>><<promiscuous5>>
 		<br>
 	<</if>>
 	<<link [[Masturbate|Street Private Show Masturbate]]>><<set $phase to 1>><<set $masturbationstart to 1>><</link>>
@@ -8400,7 +8400,7 @@ They seem pleased by your display, but you can tell by the look in their eyes th
 <br><br>
 
 <<if $promiscuity gte 75>>
-	<<link [[Offer your body|Street Private Show Sex]]>><<set $phase to 0>><<set $sexstart to 1>><</link>><<promiscuous5>>
+	<<link [[Offer your body|Street Private Show Sex]]>><<set $crossdressing to 0>><<set $phase to 0>><<set $sexstart to 1>><</link>><<promiscuous5>>
 	<br>
 <</if>>
 <<link [[Masturbate|Street Private Show Masturbate]]>><<set $phase to 0>><<set $masturbationstart to 1>><</link>>
@@ -8413,7 +8413,7 @@ They seem pleased by your display, but you can tell by the look in their eyes th
 	<<set $tipmod += 1>>
 	You feel your body getting hotter and decide to push things a little further.
 	<<if $submissive gte 1150>>
-		"Please… I need it..."
+		"Please... I need it..."
 	<<elseif $submissive lte 850>>
 		"How about the four of us have some fun?"
 	<<else>>
@@ -8542,7 +8542,7 @@ They seem pleased by your display, but you can tell by the look in their eyes th
 		The three of them close in around you, blocking your escape.
 		<br><br>
 		
-		<<link [[Next|Street Private Show Sex]]>><<set $finish to 0>><<set $molestationstart to 1>><</link>>
+		<<link [[Next|Street Private Show Sex]]>><<set $finish to 0>><<set $crossdressing to 0>><<set $molestationstart to 1>><</link>>
 		<br>
 	<<else>>
 		<<tipset>>
@@ -8606,7 +8606,7 @@ They seem pleased by your display, but you can tell by the look in their eyes th
 	They seem disappointed, and don't take it very well. The <<person1>><<person>> grabs you by the arm. "Oh no, you aren't getting away with just that," <<he>> says.
 	<br><br>
 	
-	<<link [[Next|Street Private Show Sex]]>><<set $molestationstart to 1>><</link>>
+	<<link [[Next|Street Private Show Sex]]>><<set $crossdressing to 0>><<set $molestationstart to 1>><</link>>
 	<br>
 <<else>>
 	<<tipset>>
diff --git a/game/overworld-town/loc-temple/events.twee b/game/overworld-town/loc-temple/events.twee
index 2331a931dcdee6212723879e6def1bb249cb4190..ea180185d8e8469eea336be35c501b803d6031d3 100644
--- a/game/overworld-town/loc-temple/events.twee
+++ b/game/overworld-town/loc-temple/events.twee
@@ -287,7 +287,7 @@ The initiate shrieks and struggles to cover up. The other initiates avert their
 You bunch up the skirt in one hand, and stroke the <<person2>><<persons>> <<if $NPCList[1].penis isnot "none" and !npcHasStrapon(1)>>$NPCList[1].penisdesc<<else>>pussy<</if>> with the other. <<He>> gives up trying to pull <<his>> habit down, and instead raises one leg to cover. This doesn't work much better.
 <<promiscuity3>>
 
-<<if $NPCList[1].penis isnot "none" !npcHasStrapon(1)>>
+<<if $NPCList[1].penis isnot "none" and !npcHasStrapon(1)>>
 	You feel <<him>> harden under your attentions, despite <<his>> protests. The <<person5>><<person>> is impressed.
 <<else>>
 	You part the <<persons>> pussy lips, giving the <<person5>><<person>> a glimpse inside.
diff --git a/game/overworld-town/loc-temple/main.twee b/game/overworld-town/loc-temple/main.twee
index 649a5a2bdea1cbee2f76cb9bc3a62dd0fc29c159..c81063fea4219c925975e0d14ae37bd1570bc255 100644
--- a/game/overworld-town/loc-temple/main.twee
+++ b/game/overworld-town/loc-temple/main.twee
@@ -105,7 +105,7 @@ You are in the main hall of the temple. Stone walls and pillars tower into darkn
 		<</if>>
 		<br><br>
 
-		<<link [["Encourage " + $NPCList[0].pronouns.him " to flaunt it"|Temple Sydney Rosary]]>><<set $phase to 2>><<grace -3 monk>><<npcincr Sydney purity -5>><</link>><<llgrace monk>><<llspurity>><<sydneyWarning>>
+		<<link [["Encourage " + $NPCList[0].pronouns.him + " to flaunt it"|Temple Sydney Rosary]]>><<set $phase to 2>><<grace -3 monk>><<npcincr Sydney purity -5>><</link>><<llgrace monk>><<llspurity>><<sydneyWarning>>
 		<br>
 		<<link [["Commend " + $NPCList[0].pronouns.him|Temple Sydney Rosary]]>><<set $phase to 1>><<npcincr Sydney love 1>><<npcincr Sydney purity -1>><</link>><<glove>><<lspurity>>
 		<br>
@@ -1789,7 +1789,7 @@ We have some other rules. No stealing. No violence. No sex, <span class="pink">e
 <br><br>
 <<if $NPCName[$NPCNameList.indexOf("Sydney")].init is 1 and _sydney_location is "temple" and !$sydneySeen.includes("initiate")>>
 	<<set $sydneySeen.pushUnique("initiate")>>
-	Someone hugs you from behind. It's Sydney. "Congratulations... initiate!" <<nnpc_He "Sydney">>s overflowing with joy. <<npcincr Sydney love 3>><<gglove>>
+	Someone hugs you from behind. It's Sydney. "Congratulations... initiate!" <<nnpc_He "Sydney">>'s overflowing with joy. <<npcincr Sydney love 3>><<gglove>>
 	<br><br>
 <</if>>
 <<clotheson>>
diff --git a/game/overworld-town/special-leighton/main.twee b/game/overworld-town/special-leighton/main.twee
index 1f3e043e795174b55a956bf09202e3b884125120..af7014228efba4ac3dc5394d0a1d8e8ea343aeff 100644
--- a/game/overworld-town/special-leighton/main.twee
+++ b/game/overworld-town/special-leighton/main.twee
@@ -67,7 +67,7 @@ You nod. Leighton reaches over to the camera as the <<person1>><<person>> and <<
 <<set $consensual to 1>>
 <<neutral 1>>
 
-<<person2>><<person3>><<maninit>>
+<<maninit>>
 <<set $enemytrust += 100>>
 
 <</if>>
@@ -146,7 +146,7 @@ You refuse. Leighton sighs, and nods at the pair. They grab both your arms. "Sor
 <<neutral 1>>
 <<molested>>
 
-<<person2>><<person3>><<maninit>>
+<<maninit>>
 
 <</if>>
 
@@ -346,7 +346,7 @@ Leighton reaches for the camera, and the <<person>> reaches for you.
 <<set $consensual to 1>>
 <<neutral 1>>
 
-<<person2>><<person3>><<maninit>>
+<<maninit>>
 <<set $enemytrust += 100>>
 
 <</if>>
diff --git a/game/overworld-town/special-robin/flirt.twee b/game/overworld-town/special-robin/flirt.twee
index ce04164e89205274c1d05cd9c3eba18da9f4343e..d6b80594aa5133e0e8e5d90cb84fe906d3d88f6e 100644
--- a/game/overworld-town/special-robin/flirt.twee
+++ b/game/overworld-town/special-robin/flirt.twee
@@ -329,7 +329,7 @@
 
 		<<if _robin.lovestage lte 5 and $robinromance isnot 1>>
 			<<He>> smiles playfully as <<he>> pokes you on the shoulder. "Please, you and I both know that _character1Name could never beat 
-			 _character2Name. <<He>> has the power of <<print either ("flight", "overwhelming cuteness", "really big lasers", "sharp feathers", "power of friendship")>>!" 
+			 _character2Name. <<He>> has the power of <<print either ("flight", "overwhelming cuteness", "really big lasers", "sharp feathers", "friendship")>>!" 
 			Robin starts to list off many of _character2Name's powers, and doesn't realise that you've been slowly moving closer to <<him>> 
 			as <<he>> counts on <<his>> fingers. When <<he>> turns and notices your proximity, <<he>> freezes mid sentence.
 			<br><br>
diff --git a/game/overworld-town/special-robin/main.twee b/game/overworld-town/special-robin/main.twee
index 53a37b5c67607aab9f35e6531d22353937691771..6cead5e8c2232146aa5df30827c30338589f727a 100644
--- a/game/overworld-town/special-robin/main.twee
+++ b/game/overworld-town/special-robin/main.twee
@@ -3219,8 +3219,8 @@ Robin looks down, then at you, waiting for your response.
 	"Here's your <<girlfriend>> back, <<pshe>> helped me with a huge load of work," <<he>> chuckles as <<he>> walks away.
 	<br><br>
 	
-	<<npc Robin>>
-	Robin looks worried, "Are you okay? Did <<he>> hurt you?" <<person2>><<he>> asks.
+	<<npc Robin 2>>
+	Robin looks worried. "Are you okay? Did <<he>> hurt you?" <<person2>><<he>> asks.
 	<br><br>
 
 	<<link [[Keep it a secret|Robin Kiyoura Secret]]>><</link>>
@@ -3250,7 +3250,7 @@ Robin looks down, then at you, waiting for your response.
 :: Robin Kiyoura Secret
 <<set $outside to 0>><<set $location to "school">><<schooleffects>><<effects>>
 
-<<npc Robin>><<person1>>You tell Robin nothing happened, <<he>> hugs you nonetheless.
+You tell Robin nothing happened. <<He>> hugs you nonetheless.
 "I'm going to wait in the classroom," <<he>> says. "Try not to run into <<nnpc_him "Whitney">> again."
 <br><br>
 
@@ -3263,7 +3263,7 @@ Robin looks down, then at you, waiting for your response.
 
 <<if $RobinKiyoura isnot 1>><<set $RobinKiyoura to 1>><</if>>
 
-<<npc Robin>><<person1>>You tell Robin what happened. You say you had no choice. You were forced to.
+You tell Robin what happened. You say you had no choice. You were forced to.
 <<His>> face grows pale as you speak, and <<he>> grasps you in a hug. "It's n-not fair," <<he>> says. You feel <<his>> tears land on your shoulder.
 <br><br>
 
@@ -3293,13 +3293,13 @@ Robin looks down, then at you, waiting for your response.
 
 <<if $robinromance is 1>>
 
-	<<npc Robin>><<person1>>You tell Robin exactly what happened, where it happened, and how much you enjoyed it.
+	You tell Robin exactly what happened, where it happened, and how much you enjoyed it.
 	<<His>> fists clench and tears well in <<his>> eyes. <<He>> picks up <<his>> bag and leaves without a word.
 	<br><br>
 
 <<else>>
 
-	<<npc Robin>><<person1>>You tell Robin exactly what happened, where it happened, and how much you enjoyed it.
+	You tell Robin exactly what happened, where it happened, and how much you enjoyed it.
 	<<He>> struggles to make eye contact or come up with a proper response.
 	<br><br>
 
diff --git a/game/overworld-town/special-sydney/walk.twee b/game/overworld-town/special-sydney/walk.twee
index 6fe62e4cd1df46080c8f93b6dcbeebef2e24eb2c..d0861a7f5e5770c68398ede7ea11b44e7518324e 100644
--- a/game/overworld-town/special-sydney/walk.twee
+++ b/game/overworld-town/special-sydney/walk.twee
@@ -2269,7 +2269,7 @@ You chat with <<him>> on the way.
 <br><br>
 You reach the Elk Street without incident. Sydney waves you goodbye as <<he>> enters Sirris's shop.
 <br><br>
-<<link [[Next|Elk Street]]>><</link>>
+<<link [[Next|Elk Street]]>><<endevent>><<set $eventskip to 1>><</link>>
 
 :: Sydney Science Walk
 This passage should be unreachable. If you're seeing this, you've found a bug. Please report it to Vrelnir, and take this convenient portal to Starfish Street to escape.
diff --git a/game/overworld-town/special-whitney/street.twee b/game/overworld-town/special-whitney/street.twee
index 0392c034f062164313ec664a1e293ed7ec9c15ff..fd7a5466b62fe5c82e4fa0b68fce6daf2c896470 100644
--- a/game/overworld-town/special-whitney/street.twee
+++ b/game/overworld-town/special-whitney/street.twee
@@ -222,7 +222,7 @@
 					<<link [[Stay still|Street Bully Puddle]]>><<set $phase to 0>><<npcincr Whitney dom 1>><</link>><<gdom>>
 					<br>
 				<<else>>
-					You spot Whitney swaggering towards you. <<He>> takes a swig from a water bottle. "Sure is hot out." <<He>> nods to a <<generatey>><<person2>><<person>>, who creeps up behind you and snatches your arms in a vice grip.
+					You spot Whitney swaggering towards you. <<He>> takes a swig from a water bottle. "Sure is hot out." <<He>> nods to a <<generatey2>><<person2>><<person>>, who creeps up behind you and snatches your arms in a vice grip.
 					<br><br>
 
 					"Don't worry," Whitney says. "We're gonna help you cool off." <<person1>><span class="lewd"><<He>> aims the bottle at your chest.</span>
diff --git a/img/sex/doggy/active/hands/cow/left hand.png b/img/sex/doggy/active/hands/cow/left hand.png
new file mode 100644
index 0000000000000000000000000000000000000000..13acc202ff87c58259a3594c454ee1d68958de0e
Binary files /dev/null and b/img/sex/doggy/active/hands/cow/left hand.png differ
diff --git a/img/sex/doggy/active/hands/cow/left handjob.png b/img/sex/doggy/active/hands/cow/left handjob.png
new file mode 100644
index 0000000000000000000000000000000000000000..13acc202ff87c58259a3594c454ee1d68958de0e
Binary files /dev/null and b/img/sex/doggy/active/hands/cow/left handjob.png differ
diff --git a/img/sex/doggy/active/hands/cow/right hand.png b/img/sex/doggy/active/hands/cow/right hand.png
new file mode 100644
index 0000000000000000000000000000000000000000..13acc202ff87c58259a3594c454ee1d68958de0e
Binary files /dev/null and b/img/sex/doggy/active/hands/cow/right hand.png differ
diff --git a/img/sex/doggy/active/hands/cow/right handjob.png b/img/sex/doggy/active/hands/cow/right handjob.png
new file mode 100644
index 0000000000000000000000000000000000000000..13acc202ff87c58259a3594c454ee1d68958de0e
Binary files /dev/null and b/img/sex/doggy/active/hands/cow/right handjob.png differ
diff --git a/img/sex/doggy/active/hands/pompoms/left hand.png b/img/sex/doggy/active/hands/pompoms/left hand.png
new file mode 100644
index 0000000000000000000000000000000000000000..979ccd4d04854ed7b7ccdd7b9a4502e13a54adb9
Binary files /dev/null and b/img/sex/doggy/active/hands/pompoms/left hand.png differ
diff --git a/img/sex/doggy/active/hands/pompoms/left handjob.png b/img/sex/doggy/active/hands/pompoms/left handjob.png
new file mode 100644
index 0000000000000000000000000000000000000000..699012d91b711757c2814c8e11007950cbb332ca
Binary files /dev/null and b/img/sex/doggy/active/hands/pompoms/left handjob.png differ
diff --git a/img/sex/doggy/active/hands/pompoms/right hand.png b/img/sex/doggy/active/hands/pompoms/right hand.png
new file mode 100644
index 0000000000000000000000000000000000000000..4b02c5436dcb1d7c8b9577c697aac157d4456e79
Binary files /dev/null and b/img/sex/doggy/active/hands/pompoms/right hand.png differ
diff --git a/img/sex/doggy/active/hands/pompoms/right handjob.png b/img/sex/doggy/active/hands/pompoms/right handjob.png
new file mode 100644
index 0000000000000000000000000000000000000000..81e12e741d86c938e27c6aff0fc1b82e97f9b653
Binary files /dev/null and b/img/sex/doggy/active/hands/pompoms/right handjob.png differ
diff --git a/img/sex/doggy/active/legs/cow/fullfeetjobleft.png b/img/sex/doggy/active/legs/cow/fullfeetjobleft.png
new file mode 100644
index 0000000000000000000000000000000000000000..9460e320ab3e85da271bc8c518899c885d1312dc
Binary files /dev/null and b/img/sex/doggy/active/legs/cow/fullfeetjobleft.png differ
diff --git a/img/sex/doggy/active/legs/cow/fullfeetjobright.png b/img/sex/doggy/active/legs/cow/fullfeetjobright.png
new file mode 100644
index 0000000000000000000000000000000000000000..9460e320ab3e85da271bc8c518899c885d1312dc
Binary files /dev/null and b/img/sex/doggy/active/legs/cow/fullfeetjobright.png differ
diff --git a/img/sex/doggy/active/legs/cow/fullrestleft.png b/img/sex/doggy/active/legs/cow/fullrestleft.png
new file mode 100644
index 0000000000000000000000000000000000000000..9460e320ab3e85da271bc8c518899c885d1312dc
Binary files /dev/null and b/img/sex/doggy/active/legs/cow/fullrestleft.png differ
diff --git a/img/sex/doggy/active/legs/cow/fullrestright.png b/img/sex/doggy/active/legs/cow/fullrestright.png
new file mode 100644
index 0000000000000000000000000000000000000000..09972291855d36be73836349a90c4492eff08688
Binary files /dev/null and b/img/sex/doggy/active/legs/cow/fullrestright.png differ
diff --git a/img/sex/doggy/active/legs/cow/kneesfeetjobleft.png b/img/sex/doggy/active/legs/cow/kneesfeetjobleft.png
new file mode 100644
index 0000000000000000000000000000000000000000..09972291855d36be73836349a90c4492eff08688
Binary files /dev/null and b/img/sex/doggy/active/legs/cow/kneesfeetjobleft.png differ
diff --git a/img/sex/doggy/active/legs/cow/kneesfeetjobright.png b/img/sex/doggy/active/legs/cow/kneesfeetjobright.png
new file mode 100644
index 0000000000000000000000000000000000000000..09972291855d36be73836349a90c4492eff08688
Binary files /dev/null and b/img/sex/doggy/active/legs/cow/kneesfeetjobright.png differ
diff --git a/img/sex/doggy/active/legs/cow/kneesrestleft.png b/img/sex/doggy/active/legs/cow/kneesrestleft.png
new file mode 100644
index 0000000000000000000000000000000000000000..09972291855d36be73836349a90c4492eff08688
Binary files /dev/null and b/img/sex/doggy/active/legs/cow/kneesrestleft.png differ
diff --git a/img/sex/doggy/active/legs/cow/kneesrestright.png b/img/sex/doggy/active/legs/cow/kneesrestright.png
new file mode 100644
index 0000000000000000000000000000000000000000..09972291855d36be73836349a90c4492eff08688
Binary files /dev/null and b/img/sex/doggy/active/legs/cow/kneesrestright.png differ
diff --git a/img/sex/missionary/active/hands/cow/left handjob.png b/img/sex/missionary/active/hands/cow/left handjob.png
new file mode 100644
index 0000000000000000000000000000000000000000..63fb50a8718fd08e0701f871475edd80a8870f12
Binary files /dev/null and b/img/sex/missionary/active/hands/cow/left handjob.png differ
diff --git a/img/sex/missionary/active/hands/cow/right arm stroke.png b/img/sex/missionary/active/hands/cow/right arm stroke.png
new file mode 100644
index 0000000000000000000000000000000000000000..63fb50a8718fd08e0701f871475edd80a8870f12
Binary files /dev/null and b/img/sex/missionary/active/hands/cow/right arm stroke.png differ
diff --git a/img/sex/missionary/active/hands/cow/right arm.png b/img/sex/missionary/active/hands/cow/right arm.png
new file mode 100644
index 0000000000000000000000000000000000000000..63fb50a8718fd08e0701f871475edd80a8870f12
Binary files /dev/null and b/img/sex/missionary/active/hands/cow/right arm.png differ
diff --git a/img/sex/missionary/active/hands/cow/right handjob.png b/img/sex/missionary/active/hands/cow/right handjob.png
new file mode 100644
index 0000000000000000000000000000000000000000..63fb50a8718fd08e0701f871475edd80a8870f12
Binary files /dev/null and b/img/sex/missionary/active/hands/cow/right handjob.png differ
diff --git a/img/sex/missionary/active/hands/pompoms/left handjob.png b/img/sex/missionary/active/hands/pompoms/left handjob.png
new file mode 100644
index 0000000000000000000000000000000000000000..d441ff04a6ce44b6764ce16cc84a49e091701ecf
Binary files /dev/null and b/img/sex/missionary/active/hands/pompoms/left handjob.png differ
diff --git a/img/sex/missionary/active/hands/pompoms/right arm stroke.png b/img/sex/missionary/active/hands/pompoms/right arm stroke.png
new file mode 100644
index 0000000000000000000000000000000000000000..5a992ee4ec2995a935139e466f36b35ec6a15966
Binary files /dev/null and b/img/sex/missionary/active/hands/pompoms/right arm stroke.png differ
diff --git a/img/sex/missionary/active/hands/pompoms/right arm.png b/img/sex/missionary/active/hands/pompoms/right arm.png
new file mode 100644
index 0000000000000000000000000000000000000000..9c9bf5ae78732c2b144d9a1de3e0464d6e25ac00
Binary files /dev/null and b/img/sex/missionary/active/hands/pompoms/right arm.png differ
diff --git a/img/sex/missionary/active/hands/pompoms/right handjob.png b/img/sex/missionary/active/hands/pompoms/right handjob.png
new file mode 100644
index 0000000000000000000000000000000000000000..8bada993213dba7645da304ab8e69079c09a3ee3
Binary files /dev/null and b/img/sex/missionary/active/hands/pompoms/right handjob.png differ
diff --git a/img/sex/missionary/active/legs/cow/fulldownleft.png b/img/sex/missionary/active/legs/cow/fulldownleft.png
new file mode 100644
index 0000000000000000000000000000000000000000..57c7187a8f080bf69ce9a5029533a8328a9b707a
Binary files /dev/null and b/img/sex/missionary/active/legs/cow/fulldownleft.png differ
diff --git a/img/sex/missionary/active/legs/cow/fulldownright.png b/img/sex/missionary/active/legs/cow/fulldownright.png
new file mode 100644
index 0000000000000000000000000000000000000000..57c7187a8f080bf69ce9a5029533a8328a9b707a
Binary files /dev/null and b/img/sex/missionary/active/legs/cow/fulldownright.png differ
diff --git a/img/sex/missionary/active/legs/cow/fullfeetjob.png b/img/sex/missionary/active/legs/cow/fullfeetjob.png
new file mode 100644
index 0000000000000000000000000000000000000000..57c7187a8f080bf69ce9a5029533a8328a9b707a
Binary files /dev/null and b/img/sex/missionary/active/legs/cow/fullfeetjob.png differ
diff --git a/img/sex/missionary/active/legs/cow/fullupleft.png b/img/sex/missionary/active/legs/cow/fullupleft.png
new file mode 100644
index 0000000000000000000000000000000000000000..57c7187a8f080bf69ce9a5029533a8328a9b707a
Binary files /dev/null and b/img/sex/missionary/active/legs/cow/fullupleft.png differ
diff --git a/img/sex/missionary/active/legs/cow/fullupright.png b/img/sex/missionary/active/legs/cow/fullupright.png
new file mode 100644
index 0000000000000000000000000000000000000000..57c7187a8f080bf69ce9a5029533a8328a9b707a
Binary files /dev/null and b/img/sex/missionary/active/legs/cow/fullupright.png differ
diff --git a/img/sex/missionary/active/legs/cow/kneesdownleft.png b/img/sex/missionary/active/legs/cow/kneesdownleft.png
new file mode 100644
index 0000000000000000000000000000000000000000..57c7187a8f080bf69ce9a5029533a8328a9b707a
Binary files /dev/null and b/img/sex/missionary/active/legs/cow/kneesdownleft.png differ
diff --git a/img/sex/missionary/active/legs/cow/kneesdownright.png b/img/sex/missionary/active/legs/cow/kneesdownright.png
new file mode 100644
index 0000000000000000000000000000000000000000..8bf7ca1b41a550d6045fd0ae243463f4aeec7b51
Binary files /dev/null and b/img/sex/missionary/active/legs/cow/kneesdownright.png differ
diff --git a/img/sex/missionary/active/legs/cow/kneesfeetjob.png b/img/sex/missionary/active/legs/cow/kneesfeetjob.png
new file mode 100644
index 0000000000000000000000000000000000000000..8bf7ca1b41a550d6045fd0ae243463f4aeec7b51
Binary files /dev/null and b/img/sex/missionary/active/legs/cow/kneesfeetjob.png differ
diff --git a/img/sex/missionary/active/legs/cow/kneesupleft.png b/img/sex/missionary/active/legs/cow/kneesupleft.png
new file mode 100644
index 0000000000000000000000000000000000000000..8bf7ca1b41a550d6045fd0ae243463f4aeec7b51
Binary files /dev/null and b/img/sex/missionary/active/legs/cow/kneesupleft.png differ
diff --git a/img/sex/missionary/active/legs/cow/kneesupright.png b/img/sex/missionary/active/legs/cow/kneesupright.png
new file mode 100644
index 0000000000000000000000000000000000000000..8bf7ca1b41a550d6045fd0ae243463f4aeec7b51
Binary files /dev/null and b/img/sex/missionary/active/legs/cow/kneesupright.png differ