diff --git a/src/npc/interaction/fAnimal.js b/src/npc/interaction/fAnimal.js
index cfeb3f78f58ec2e5f033c67c778e007c2647b989..0df0539565d728129130e82e22194c9fca130066 100644
--- a/src/npc/interaction/fAnimal.js
+++ b/src/npc/interaction/fAnimal.js
@@ -108,19 +108,7 @@ App.Interact.fAnimal = function(slave, type) {
 
 	const mainDiv = App.UI.DOM.appendNewElement("div", frag);
 
-	mainDiv.append(intro());
-
-	if (slave.devotion > 50) {
-		mainDiv.append(consummationDevoted());
-	} else if (slave.devotion > 20) {
-		mainDiv.append(consummationNondevoted());
-	} else if (slave.devotion > -20) {
-		mainDiv.append(consummationNonresistant());
-	} else {
-		mainDiv.append(consummationResistant());
-	}
-
-	mainDiv.append(completion(), sexEffects());
+	mainDiv.append(intro(), consummation(), completion(), sexEffects());
 
 	if (V.postSexCleanUp) {
 		mainDiv.append(cleanUp());
@@ -270,329 +258,341 @@ App.Interact.fAnimal = function(slave, type) {
 
 	// MARK: Consummation Functions
 
-	function consummationDevoted() {
-		const
-			mainSpan = document.createElement("span"),
-			r = [];
-
-		if (act === oral) {
-			r.push(`You have ${him} kneel on the floor before calling in the ${animal.name}. The beast slowly saunters up to the slave where ${he} waits, showing little concern when the slave reaches out and begins masturbating it to begin the process of getting the animal hard. Once the ${animal.name} is hard enough, ${slave.slaveName} takes its cock and begins to give it a few tentative licks before finally putting it in ${his} mouth. `);
+	function consummation() {
+		if (slave.devotion > 50) {
+			return consummationDevoted();
+		} else if (slave.devotion > 20) {
+			return consummationNondevoted();
+		} else if (slave.devotion > -20) {
+			return consummationNonresistant();
 		} else {
-			r.push(`You have ${him} ${slave.clothes !== "no clothing" ? `take off ${his} clothes and ` : ``}get on the floor, ass in the air, before calling in the ${animal.name}. The beast slowly saunters up to the slave, where it takes only a few short moments for its animal brain to realize that what it is standing behind is a warm hole that needs to be filled with seed. `);
-		}
-
-		switch (animal) {
-			case V.activeCanine:
-				consummationDevotedCanine(act);
-				break;
-			case V.activeHooved:
-				consummationDevotedHooved(act);
-				break;
-			case V.activeFeline:
-				consummationDevotedFeline(act);
-				break;
-			default:
-				throw new Error(`Unexpected animal type '${animal}' in consummationDevoted()`);
+			return consummationResistant();
 		}
 
-		if (act !== oral) {
-			mainSpan.append(virginityCheck(act));
-		}
+		function consummationDevoted() {
+			const
+				mainSpan = document.createElement("span"),
+				r = [];
 
-		function consummationDevotedCanine(type) {
-			if (type === oral) {
-				if (slaveApproves()) {
-					r.push(`The slave seems to quickly get over the fact that the dick currently in ${his} mouth belongs to a canine as ${his} more carnal desires kick in. `);
-				} else {
-					r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal.name}'s cock fills it, then gives a groan as the beast thrusts, filling ${his} throat. `);
-				}
+			if (act === oral) {
+				r.push(`You have ${him} kneel on the floor before calling in the ${animal.name}. The beast slowly saunters up to the slave where ${he} waits, showing little concern when the slave reaches out and begins masturbating it to begin the process of getting the animal hard. Once the ${animal.name} is hard enough, ${slave.slaveName} takes its cock and begins to give it a few tentative licks before finally putting it in ${his} mouth. `);
 			} else {
-				if (canWalk(slave)) {
-					r.push(`The canine clambers up to mount ${slave.slaveName}, eliciting a squeal from the ${girl} as its claws dig into ${his} flesh. `);
+				r.push(`You have ${him} ${slave.clothes !== "no clothing" ? `take off ${his} clothes and ` : ``}get on the floor, ass in the air, before calling in the ${animal.name}. The beast slowly saunters up to the slave, where it takes only a few short moments for its animal brain to realize that what it is standing behind is a warm hole that needs to be filled with seed. `);
+			}
+
+			switch (animal) {
+				case V.activeCanine:
+					consummationDevotedCanine(act);
+					break;
+				case V.activeHooved:
+					consummationDevotedHooved(act);
+					break;
+				case V.activeFeline:
+					consummationDevotedFeline(act);
+					break;
+				default:
+					throw new Error(`Unexpected animal type '${animal}' in consummationDevoted()`);
+			}
+
+			if (act !== oral) {
+				mainSpan.append(virginityCheck(act));
+			}
+
+			function consummationDevotedCanine(type) {
+				if (type === oral) {
+					if (slaveApproves()) {
+						r.push(`The slave seems to quickly get over the fact that the dick currently in ${his} mouth belongs to a canine as ${his} more carnal desires kick in. `);
+					} else {
+						r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal.name}'s cock fills it, then gives a groan as the beast thrusts, filling ${his} throat. `);
+					}
 				} else {
-					r.push(`The canine takes a few curious sniffs, then lines up its large cock with ${slave.slaveName}'s ${act === vaginal ? `pussy` : `asshole`}. `);
-				}
+					if (canWalk(slave)) {
+						r.push(`The canine clambers up to mount ${slave.slaveName}, eliciting a squeal from the ${girl} as its claws dig into ${his} flesh. `);
+					} else {
+						r.push(`The canine takes a few curious sniffs, then lines up its large cock with ${slave.slaveName}'s ${act === vaginal ? `pussy` : `asshole`}. `);
+					}
 
-				r.push(`It takes a few tries, but the ${animal.name} finally manages to sink its cock into ${his} ${slaveApproves() && act === vaginal ? `wet ` : ``}${act === vaginal ? `cunt` : `asshole`} and begin to hammer away in the way that only canines can. `);
+					r.push(`It takes a few tries, but the ${animal.name} finally manages to sink its cock into ${his} ${slaveApproves() && act === vaginal ? `wet ` : ``}${act === vaginal ? `cunt` : `asshole`} and begin to hammer away in the way that only canines can. `);
+				}
 			}
-		}
 
-		function consummationDevotedHooved(type) {
-			if (type === oral) {
-				if (slaveApproves()) {
-					r.push(`The slave seems to quickly get over the fact that dick currently in ${his} mouth is not a human one as ${his} more carnal desires kick in. `);
+			function consummationDevotedHooved(type) {
+				if (type === oral) {
+					if (slaveApproves()) {
+						r.push(`The slave seems to quickly get over the fact that dick currently in ${his} mouth is not a human one as ${his} more carnal desires kick in. `);
+					} else {
+						r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal.name}'s cock fills it, then gives a groan as the beast thrusts, stretching ${his} poor throat to the limit. `);
+					}
 				} else {
-					r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal.name}'s cock fills it, then gives a groan as the beast thrusts, stretching ${his} poor throat to the limit. `);
+					r.push(`${slave.slaveName} gives a long, drawn-out moan as the huge phallus fills ${his} ${act === vaginal ? `pussy` : `asshole`} nearly to its breaking point. `);
 				}
-			} else {
-				r.push(`${slave.slaveName} gives a long, drawn-out moan as the huge phallus fills ${his} ${act === vaginal ? `pussy` : `asshole`} nearly to its breaking point. `);
 			}
-		}
 
-		function consummationDevotedFeline(type) {
-			if (type === oral) {
-				if (slaveApproves()) {
-					r.push(`The slave seems to quickly get over the fact that dick currently in ${his} mouth belongs to ${a} ${animal.name} as ${his} more carnal desires kick in. `);
+			function consummationDevotedFeline(type) {
+				if (type === oral) {
+					if (slaveApproves()) {
+						r.push(`The slave seems to quickly get over the fact that dick currently in ${his} mouth belongs to ${a} ${animal.name} as ${his} more carnal desires kick in. `);
+					} else {
+						r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal.name}'s cock fills it, then gives a groan as the beast thrusts, the barbs on its cock rubbing the inside of ${his} mouth raw. `);
+					}
 				} else {
-					r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal.name}'s cock fills it, then gives a groan as the beast thrusts, the barbs on its cock rubbing the inside of ${his} mouth raw. `);
+					r.push(`${slave.slaveName} gives a squeal of pain as the barbed cock makes its way into ${his} ${act === vaginal ? `pussy` : `asshole`}. `);
 				}
-			} else {
-				r.push(`${slave.slaveName} gives a squeal of pain as the barbed cock makes its way into ${his} ${act === vaginal ? `pussy` : `asshole`}. `);
 			}
-		}
 
-		mainSpan.append(r.join(' '));
+			mainSpan.append(r.join(' '));
 
-		return mainSpan;
-	}
+			return mainSpan;
+		}
 
-	function consummationNondevoted() {
-		const
-			mainSpan = document.createElement("span"),
-			r = [];
+		function consummationNondevoted() {
+			const
+				mainSpan = document.createElement("span"),
+				r = [];
 
-		if (act === oral) {
-			r.push(`You tell ${him} to kneel on the floor before calling in the ${animal.name}. The beast slowly saunters up to the slave where ${he} waits, showing little concern when the slave hesitantly reaches out and begins masturbating it to begin the process of getting the animal hard. Once the ${animal.name} is hard enough, ${slave.slaveName} takes its cock, and, after taking a moment to steel ${his} resolve, begins to give it a few reluctant licks before putting it in ${his} mouth. `);
-		} else {
-			r.push(`You tell ${him} to ${slave.clothes !== "no clothing" ? `take off ${his} clothes and ` : ``}get on the floor, ass in the air, before calling in the ${animal.name}. The beast slowly saunters up to the slave, where it takes only a few seconds for its animal brain to realize that what it is standing behind is a warm hole that needs to be filled with seed. `);
-		}
+			if (act === oral) {
+				r.push(`You tell ${him} to kneel on the floor before calling in the ${animal.name}. The beast slowly saunters up to the slave where ${he} waits, showing little concern when the slave hesitantly reaches out and begins masturbating it to begin the process of getting the animal hard. Once the ${animal.name} is hard enough, ${slave.slaveName} takes its cock, and, after taking a moment to steel ${his} resolve, begins to give it a few reluctant licks before putting it in ${his} mouth. `);
+			} else {
+				r.push(`You tell ${him} to ${slave.clothes !== "no clothing" ? `take off ${his} clothes and ` : ``}get on the floor, ass in the air, before calling in the ${animal.name}. The beast slowly saunters up to the slave, where it takes only a few seconds for its animal brain to realize that what it is standing behind is a warm hole that needs to be filled with seed. `);
+			}
 
-		switch (animal) {
-			case V.activeCanine:
-				consummationNondevotedCanine(act);
-				break;
-			case V.activeHooved:
-				consummationNondevotedHooved(act);
-				break;
-			case V.activeFeline:
-				consummationNondevotedFeline(act);
-				break;
-			default:
-				throw new Error(`Unexpected animal type '${animal}' in consummationDevoted()`);
-		}
+			switch (animal) {
+				case V.activeCanine:
+					consummationNondevotedCanine(act);
+					break;
+				case V.activeHooved:
+					consummationNondevotedHooved(act);
+					break;
+				case V.activeFeline:
+					consummationNondevotedFeline(act);
+					break;
+				default:
+					throw new Error(`Unexpected animal type '${animal}' in consummationDevoted()`);
+			}
 
-		if (act !== oral) {
-			mainSpan.append(virginityCheck(act));
-		}
+			if (act !== oral) {
+				mainSpan.append(virginityCheck(act));
+			}
 
-		function consummationNondevotedCanine(type) {
-			if (type === oral) {
-				if (slaveApproves()) {
-					r.push(`Though the slave still seems to have some reservations about sucking off an animal, ${he} seems to forget that the cock in ${his} mouth belongs to ${a} ${animal.name} soon enough, once ${his} carnal desires kick in. `);
-				} else {
-					r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal.name}'s cock fills it, and you get the feeling ${he} is beginning to reevaluate just how much ${he} wants to avoid punishment. `);
-				}
-			} else {
-				if (canWalk(slave)) {
-					r.push(`The canine clambers up to mount ${slave.slaveName}, eliciting a squeal from the ${girl} as its claws dig into ${his} flesh. `);
+			function consummationNondevotedCanine(type) {
+				if (type === oral) {
+					if (slaveApproves()) {
+						r.push(`Though the slave still seems to have some reservations about sucking off an animal, ${he} seems to forget that the cock in ${his} mouth belongs to ${a} ${animal.name} soon enough, once ${his} carnal desires kick in. `);
+					} else {
+						r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal.name}'s cock fills it, and you get the feeling ${he} is beginning to reevaluate just how much ${he} wants to avoid punishment. `);
+					}
 				} else {
-					r.push(`The canine takes a few curious sniffs, then lines up its large cock with ${slave.slaveName}'s ${act === vaginal ? `pussy` : `asshole`}. `);
-				}
+					if (canWalk(slave)) {
+						r.push(`The canine clambers up to mount ${slave.slaveName}, eliciting a squeal from the ${girl} as its claws dig into ${his} flesh. `);
+					} else {
+						r.push(`The canine takes a few curious sniffs, then lines up its large cock with ${slave.slaveName}'s ${act === vaginal ? `pussy` : `asshole`}. `);
+					}
 
-				r.push(`It takes a few tries, but the ${animal.name} finally manages to sink its cock into ${his} ${slaveApproves() && act === vaginal ? `wet ` : ``}${act === vaginal ? `cunt` : `asshole`} and begin to hammer away in the way that only canines can. `);
+					r.push(`It takes a few tries, but the ${animal.name} finally manages to sink its cock into ${his} ${slaveApproves() && act === vaginal ? `wet ` : ``}${act === vaginal ? `cunt` : `asshole`} and begin to hammer away in the way that only canines can. `);
+				}
 			}
-		}
 
-		function consummationNondevotedHooved(type) {
-			if (type === oral) {
-				if (slaveApproves()) {
-					r.push(`Though the slave still seems to have some reservations about sucking off ${a} ${animal.name}, ${he} seems to forget that the cock in ${his} mouth isn't human soon enough, once ${his} carnal desires kick in. `);
+			function consummationNondevotedHooved(type) {
+				if (type === oral) {
+					if (slaveApproves()) {
+						r.push(`Though the slave still seems to have some reservations about sucking off ${a} ${animal.name}, ${he} seems to forget that the cock in ${his} mouth isn't human soon enough, once ${his} carnal desires kick in. `);
+					} else {
+						r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal.name}'s cock fills it, and you get the feeling ${he} is beginning to reevaluate just how much ${he} wants to avoid punishment. `);
+					}
 				} else {
-					r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal.name}'s cock fills it, and you get the feeling ${he} is beginning to reevaluate just how much ${he} wants to avoid punishment. `);
+					r.push(`${slave.slaveName} gives a long, drawn-out groan as the huge phallus fills ${his} ${act === vaginal ? `pussy` : `asshole`} nearly to its breaking point. `);
 				}
-			} else {
-				r.push(`${slave.slaveName} gives a long, drawn-out groan as the huge phallus fills ${his} ${act === vaginal ? `pussy` : `asshole`} nearly to its breaking point. `);
 			}
-		}
 
-		function consummationNondevotedFeline(type) {
-			if (type === oral) {
-				if (slaveApproves()) {
-					r.push(`Though the slave still seems to have some reservations about sucking off an animal, ${he} seems to forget that the cock in ${his} mouth belongs to a feline soon enough, once ${his} carnal desires kick in. `);
+			function consummationNondevotedFeline(type) {
+				if (type === oral) {
+					if (slaveApproves()) {
+						r.push(`Though the slave still seems to have some reservations about sucking off an animal, ${he} seems to forget that the cock in ${his} mouth belongs to a feline soon enough, once ${his} carnal desires kick in. `);
+					} else {
+						r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal.name}'s barbed dick fills it, and you get the feeling ${he} is beginning to reevaluate just how much ${he} wants to avoid punishment. `);
+					}
 				} else {
-					r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal.name}'s barbed dick fills it, and you get the feeling ${he} is beginning to reevaluate just how much ${he} wants to avoid punishment. `);
+					r.push(`${slave.slaveName} gives a squeal of pain as the barbed cock makes its way into ${his} ${act === vaginal ? `pussy` : `asshole`}. `);
 				}
-			} else {
-				r.push(`${slave.slaveName} gives a squeal of pain as the barbed cock makes its way into ${his} ${act === vaginal ? `pussy` : `asshole`}. `);
 			}
-		}
 
-		mainSpan.append(r.join(' '));
+			mainSpan.append(r.join(' '));
 
-		return mainSpan;
-	}
+			return mainSpan;
+		}
 
-	function consummationNonresistant() {
-		const
-			mainSpan = document.createElement("span"),
-			r = [];
+		function consummationNonresistant() {
+			const
+				mainSpan = document.createElement("span"),
+				r = [];
 
-		if (act === oral) {
-			r.push(`You force ${him} to kneel on the floor before calling in the ${animal.name}. The beast slowly saunters up to the slave where ${he} waits, showing little concern when the slave reluctantly reaches out and begins masturbating it to begin the process of getting the animal hard. Once the ${animal.name} is hard enough, ${slave.slaveName} takes its cock and begins to give it a few tentative licks before finally putting it in ${his} mouth. `);
-		} else {
-			r.push(`You force ${him} to ${slave.clothes !== "no clothing" ? `take off ${his} clothes and ` : ``}get on the floor, ass in the air, before calling in the ${animal.name}. The beast slowly saunters up to the slave, where it takes only a few short moments for its animal brain to realize that what it is standing behind is a warm hole that needs to be filled with seed. `);
-		}
+			if (act === oral) {
+				r.push(`You force ${him} to kneel on the floor before calling in the ${animal.name}. The beast slowly saunters up to the slave where ${he} waits, showing little concern when the slave reluctantly reaches out and begins masturbating it to begin the process of getting the animal hard. Once the ${animal.name} is hard enough, ${slave.slaveName} takes its cock and begins to give it a few tentative licks before finally putting it in ${his} mouth. `);
+			} else {
+				r.push(`You force ${him} to ${slave.clothes !== "no clothing" ? `take off ${his} clothes and ` : ``}get on the floor, ass in the air, before calling in the ${animal.name}. The beast slowly saunters up to the slave, where it takes only a few short moments for its animal brain to realize that what it is standing behind is a warm hole that needs to be filled with seed. `);
+			}
 
-		switch (animal) {
-			case V.activeCanine:
-				consummationNonresistantCanine(act);
-				break;
-			case V.activeHooved:
-				consummationNonresistantHooved(act);
-				break;
-			case V.activeFeline:
-				consummationNonresistantFeline(act);
-				break;
-			default:
-				throw new Error(`Unexpected animal type '${animal}' in consummationNonresistant()`);
-		}
+			switch (animal) {
+				case V.activeCanine:
+					consummationNonresistantCanine(act);
+					break;
+				case V.activeHooved:
+					consummationNonresistantHooved(act);
+					break;
+				case V.activeFeline:
+					consummationNonresistantFeline(act);
+					break;
+				default:
+					throw new Error(`Unexpected animal type '${animal}' in consummationNonresistant()`);
+			}
 
-		if (act !== oral) {
-			mainSpan.append(virginityCheck(act));
-		}
+			if (act !== oral) {
+				mainSpan.append(virginityCheck(act));
+			}
 
-		function consummationNonresistantCanine(type) {
-			if (type === oral) {
-				if (slaveApproves()) {
-					r.push(`Though the slave still seems to have some reservations about sucking off an animal, ${he} seems to forget that the cock in ${his} mouth belongs to ${a} ${animal.name} soon enough, once ${his} carnal desires kick in. `);
-				} else {
-					r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal.name}'s cock fills it, and you get the feeling ${he} is beginning to reevaluate just how much ${he} wants to avoid punishment. `);
-				}
-			} else {
-				if (canWalk(slave)) {
-					r.push(`The canine clambers up to mount ${slave.slaveName}, eliciting a squeal from the ${girl} as its claws dig into ${his} flesh. `);
+			function consummationNonresistantCanine(type) {
+				if (type === oral) {
+					if (slaveApproves()) {
+						r.push(`Though the slave still seems to have some reservations about sucking off an animal, ${he} seems to forget that the cock in ${his} mouth belongs to ${a} ${animal.name} soon enough, once ${his} carnal desires kick in. `);
+					} else {
+						r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal.name}'s cock fills it, and you get the feeling ${he} is beginning to reevaluate just how much ${he} wants to avoid punishment. `);
+					}
 				} else {
-					r.push(`The canine takes a few curious sniffs, then lines up its large cock with ${slave.slaveName}'s ${act === vaginal ? `pussy` : `asshole`}. `);
-				}
+					if (canWalk(slave)) {
+						r.push(`The canine clambers up to mount ${slave.slaveName}, eliciting a squeal from the ${girl} as its claws dig into ${his} flesh. `);
+					} else {
+						r.push(`The canine takes a few curious sniffs, then lines up its large cock with ${slave.slaveName}'s ${act === vaginal ? `pussy` : `asshole`}. `);
+					}
 
-				r.push(`It takes a few tries, but the ${animal.name} finally manages to sink its cock into ${his} ${slaveApproves() && act === vaginal ? `wet ` : ``}${act === vaginal ? `cunt` : `asshole`} and begin to hammer away in the way that only canines can. `);
+					r.push(`It takes a few tries, but the ${animal.name} finally manages to sink its cock into ${his} ${slaveApproves() && act === vaginal ? `wet ` : ``}${act === vaginal ? `cunt` : `asshole`} and begin to hammer away in the way that only canines can. `);
+				}
 			}
-		}
 
-		function consummationNonresistantHooved(type) {
-			if (type === oral) {
-				if (slaveApproves()) {
-					r.push(`Though the slave still seems to have some reservations about sucking off ${a} ${animal.name}, ${he} seems to forget that the cock in ${his} mouth isn't human soon enough, once ${his} carnal desires kick in. `);
+			function consummationNonresistantHooved(type) {
+				if (type === oral) {
+					if (slaveApproves()) {
+						r.push(`Though the slave still seems to have some reservations about sucking off ${a} ${animal.name}, ${he} seems to forget that the cock in ${his} mouth isn't human soon enough, once ${his} carnal desires kick in. `);
+					} else {
+						r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal.name}'s cock fills it, and you get the feeling ${he} is beginning to reevaluate just how much ${he} wants to avoid punishment. `);
+					}
 				} else {
-					r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal.name}'s cock fills it, and you get the feeling ${he} is beginning to reevaluate just how much ${he} wants to avoid punishment. `);
+					r.push(`${slave.slaveName} gives a long, drawn-out groan as the huge phallus fills ${his} ${act === vaginal ? `pussy` : `asshole`} nearly to its breaking point. `);
 				}
-			} else {
-				r.push(`${slave.slaveName} gives a long, drawn-out groan as the huge phallus fills ${his} ${act === vaginal ? `pussy` : `asshole`} nearly to its breaking point. `);
 			}
-		}
 
-		function consummationNonresistantFeline(type) {
-			if (type === oral) {
-				if (slaveApproves()) {
-					r.push(`Though the slave still seems to have some reservations about sucking off an animal, ${he} seems to forget that the cock in ${his} mouth belongs to a feline soon enough, once ${his} carnal desires kick in. `);
+			function consummationNonresistantFeline(type) {
+				if (type === oral) {
+					if (slaveApproves()) {
+						r.push(`Though the slave still seems to have some reservations about sucking off an animal, ${he} seems to forget that the cock in ${his} mouth belongs to a feline soon enough, once ${his} carnal desires kick in. `);
+					} else {
+						r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal.name}'s barbed dick fills it, and you get the feeling ${he} is beginning to reevaluate just how much ${he} wants to avoid punishment. `);
+					}
 				} else {
-					r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal.name}'s barbed dick fills it, and you get the feeling ${he} is beginning to reevaluate just how much ${he} wants to avoid punishment. `);
+					r.push(`${slave.slaveName} gives a squeal of pain as the barbed cock makes its way into ${his} ${act === vaginal ? `pussy` : `asshole`}. `);
 				}
-			} else {
-				r.push(`${slave.slaveName} gives a squeal of pain as the barbed cock makes its way into ${his} ${act === vaginal ? `pussy` : `asshole`}. `);
 			}
-		}
 
-		mainSpan.append(r.join(' '));
+			mainSpan.append(r.join(' '));
 
-		return mainSpan;
-	}
+			return mainSpan;
+		}
 
-	function consummationResistant() {
-		const
-			mainSpan = document.createElement("span"),
-			r = [];
+		function consummationResistant() {
+			const
+				mainSpan = document.createElement("span"),
+				r = [];
 
-		if (act === oral) {
-			r.push(`You have to physically force ${him} to kneel on the floor before calling in the ${animal.name}. The beast slowly saunters up to the slave where ${he} is restrained, showing little concern when another slave reaches out and begins masturbating it to begin the process of getting the animal hard. Once the ${animal.name} is hard enough, the slave takes its cock and lines it up with ${slave.slaveName}'s mouth. The animal needs no prompting, and thrusts itself into ${his} ring-gagged mouth. `);
-		} else {
-			r.push(`You have to physically force ${him} to ${slave.clothes !== "no clothing" ? `take off ${his} clothes and ` : ``} get on the floor, ass in the air and restraints around ${his} wrists and ankles, before calling in the ${animal.name}. The beast slowly saunters up to the slave, where it takes only a few short moments for its animal brain to realize that what it is standing behind is a warm hole that needs to be filled with seed. `);
-		}
+			if (act === oral) {
+				r.push(`You have to physically force ${him} to kneel on the floor before calling in the ${animal.name}. The beast slowly saunters up to the slave where ${he} is restrained, showing little concern when another slave reaches out and begins masturbating it to begin the process of getting the animal hard. Once the ${animal.name} is hard enough, the slave takes its cock and lines it up with ${slave.slaveName}'s mouth. The animal needs no prompting, and thrusts itself into ${his} ring-gagged mouth. `);
+			} else {
+				r.push(`You have to physically force ${him} to ${slave.clothes !== "no clothing" ? `take off ${his} clothes and ` : ``} get on the floor, ass in the air and restraints around ${his} wrists and ankles, before calling in the ${animal.name}. The beast slowly saunters up to the slave, where it takes only a few short moments for its animal brain to realize that what it is standing behind is a warm hole that needs to be filled with seed. `);
+			}
 
-		switch (animal) {
-			case V.activeCanine:
-				consummationResistantCanine(act);
-				break;
-			case V.activeHooved:
-				consummationResistantHooved(act);
-				break;
-			case V.activeFeline:
-				consummationResistantFeline(act);
-				break;
-			default:
-				throw new Error(`Unexpected animal type '${animal}' in consummationResistant()`);
-		}
+			switch (animal) {
+				case V.activeCanine:
+					consummationResistantCanine(act);
+					break;
+				case V.activeHooved:
+					consummationResistantHooved(act);
+					break;
+				case V.activeFeline:
+					consummationResistantFeline(act);
+					break;
+				default:
+					throw new Error(`Unexpected animal type '${animal}' in consummationResistant()`);
+			}
 
-		if (act !== oral) {
-			mainSpan.append(virginityCheck(act));
-		}
+			if (act !== oral) {
+				mainSpan.append(virginityCheck(act));
+			}
 
-		function consummationResistantCanine(type) {
-			if (type === oral) {
-				if (slaveApproves()) {
-					r.push(`The slave glares daggers at you as ${he} takes the full length of the canine's cock in ${his} mouth, but ${slave.dick ?
-						canAchieveErection(slave) ?
-							`${his} fully-erect dick` :
-							`the precum leaking from ${his} dick` :
-						slave.vagina > -1 ?
-							`a slight sheen on ${his} pussylips` :
-							`a slight blush to ${his} cheeks`}
-						tells you that ${he}'s enjoying this, at least a little. `);
-				} else {
-					r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal.name}'s cock fills it, and you get the feeling ${he} would have run away a long time ago if ${he} wasn't a little tied up at the moment. `);
-				}
-			} else {
-				if (canWalk(slave)) {
-					r.push(`The canine clambers up to mount ${slave.slaveName}, eliciting a squeal from the ${girl} as its claws dig into ${his} flesh. `);
+			function consummationResistantCanine(type) {
+				if (type === oral) {
+					if (slaveApproves()) {
+						r.push(`The slave glares daggers at you as ${he} takes the full length of the canine's cock in ${his} mouth, but ${slave.dick ?
+							canAchieveErection(slave) ?
+								`${his} fully-erect dick` :
+								`the precum leaking from ${his} dick` :
+							slave.vagina > -1 ?
+								`a slight sheen on ${his} pussylips` :
+								`a slight blush to ${his} cheeks`}
+							tells you that ${he}'s enjoying this, at least a little. `);
+					} else {
+						r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal.name}'s cock fills it, and you get the feeling ${he} would have run away a long time ago if ${he} wasn't a little tied up at the moment. `);
+					}
 				} else {
-					r.push(`The canine takes a few curious sniffs, then lines up its large cock with ${slave.slaveName}'s ${act === vaginal ? `pussy` : `asshole`}. `);
-				}
+					if (canWalk(slave)) {
+						r.push(`The canine clambers up to mount ${slave.slaveName}, eliciting a squeal from the ${girl} as its claws dig into ${his} flesh. `);
+					} else {
+						r.push(`The canine takes a few curious sniffs, then lines up its large cock with ${slave.slaveName}'s ${act === vaginal ? `pussy` : `asshole`}. `);
+					}
 
-				r.push(`It takes a few tries, but the ${animal.name} finally manages to sink its cock into ${his} ${slaveApproves() && act === vaginal ? `wet ` : ``}${act === vaginal ? `cunt` : `asshole`} and begin to hammer away in the way that only canines can. `);
+					r.push(`It takes a few tries, but the ${animal.name} finally manages to sink its cock into ${his} ${slaveApproves() && act === vaginal ? `wet ` : ``}${act === vaginal ? `cunt` : `asshole`} and begin to hammer away in the way that only canines can. `);
+				}
 			}
-		}
 
-		function consummationResistantHooved(type) {
-			if (type === oral) {
-				if (slaveApproves()) {
-					r.push(`The slave glares daggers at you as ${he} takes the full length of the ${animal.name}'s cock in ${his} mouth, but ${slave.dick ?
-						canAchieveErection(slave) ?
-							`${his} fully-erect dick` :
-							`the precum leaking from ${his} dick` :
-						slave.vagina > -1 ?
-							`a slight sheen on ${his} pussylips` :
-							`a slight blush to ${his} cheeks`}
-						tells you that ${he}'s enjoying this, at least a little. `);
+			function consummationResistantHooved(type) {
+				if (type === oral) {
+					if (slaveApproves()) {
+						r.push(`The slave glares daggers at you as ${he} takes the full length of the ${animal.name}'s cock in ${his} mouth, but ${slave.dick ?
+							canAchieveErection(slave) ?
+								`${his} fully-erect dick` :
+								`the precum leaking from ${his} dick` :
+							slave.vagina > -1 ?
+								`a slight sheen on ${his} pussylips` :
+								`a slight blush to ${his} cheeks`}
+							tells you that ${he}'s enjoying this, at least a little. `);
+					} else {
+						r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal.name}'s cock fills it, and you get the feeling ${he} would have run away a long time ago if ${he} wasn't a little tied up at the moment. `);
+					}
 				} else {
-					r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal.name}'s cock fills it, and you get the feeling ${he} would have run away a long time ago if ${he} wasn't a little tied up at the moment. `);
+					r.push(`${slave.slaveName} lets out a blood-curdling scream as the huge phallus fills ${his} ${act === vaginal ? `pussy` : `asshole`} nearly to its breaking point. `);
 				}
-			} else {
-				r.push(`${slave.slaveName} lets out a blood-curdling scream as the huge phallus fills ${his} ${act === vaginal ? `pussy` : `asshole`} nearly to its breaking point. `);
 			}
-		}
 
-		function consummationResistantFeline(type) {
-			if (type === oral) {
-				if (slaveApproves()) {
-					r.push(`The slave glares daggers at you as ${he} takes the full length of the feline's cock in ${his} mouth, but ${slave.dick ?
-						canAchieveErection(slave) ?
-							`${his} fully-erect dick` :
-							`the precum leaking from ${his} dick` :
-						slave.vagina > -1 ?
-							`a slight sheen on ${his} pussylips` :
-							`a slight blush to ${his} cheeks`}
-						tells you that ${he}'s enjoying this, at least a little. `);
+			function consummationResistantFeline(type) {
+				if (type === oral) {
+					if (slaveApproves()) {
+						r.push(`The slave glares daggers at you as ${he} takes the full length of the feline's cock in ${his} mouth, but ${slave.dick ?
+							canAchieveErection(slave) ?
+								`${his} fully-erect dick` :
+								`the precum leaking from ${his} dick` :
+							slave.vagina > -1 ?
+								`a slight sheen on ${his} pussylips` :
+								`a slight blush to ${his} cheeks`}
+							tells you that ${he}'s enjoying this, at least a little. `);
+					} else {
+						r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal.name}'s barbed dick fills it, and you get the feeling ${he} would have run away a long time ago if ${he} wasn't a little tied up at the moment .`);
+					}
 				} else {
-					r.push(`The slave visibly gags as the unfamiliar texture of ${a} ${animal.name}'s barbed dick fills it, and you get the feeling ${he} would have run away a long time ago if ${he} wasn't a little tied up at the moment .`);
+					r.push(`${slave.slaveName} lets out a blood-curdling scream as the barbed cock makes its way into ${his} ${act === vaginal ? `pussy` : `asshole`}. `);
 				}
-			} else {
-				r.push(`${slave.slaveName} lets out a blood-curdling scream as the barbed cock makes its way into ${his} ${act === vaginal ? `pussy` : `asshole`}. `);
 			}
-		}
 
-		mainSpan.append(r.join(' '));
+			mainSpan.append(r.join(' '));
 
-		return mainSpan;
+			return mainSpan;
+		}
 	}