diff --git a/src/events/RESS/review/aGift.js b/src/events/RESS/review/aGift.js
index 8173c7c3c56177ca758da5ae424921b82d5da021..25f26901777457d5b2e4f66dc112e1a7d4446abb 100644
--- a/src/events/RESS/review/aGift.js
+++ b/src/events/RESS/review/aGift.js
@@ -364,11 +364,24 @@ App.Events.RESSAGift = class RESSAGift extends App.Events.BaseEvent {
 						if (V.PC.vagina === 0) {
 							r.push(`<span class="virginity loss">pop your cherry</span> and`);
 							V.PC.vagina++;
+						} else if (V.PC.vagina < 0 && V.PC.anus === 0) {
+							r.push(`<span class="virginity loss">break into your virgin rear</span> and`);
+							V.PC.anus++;
 						}
 						r.push(`fuck your brains out, and you do, enjoying playing the sub for once.`);
 						seX(eventSlave, "penetrative", V.PC, "vaginal");
-						if (canImpreg(V.PC, eventSlave)) {
-							r.push(knockMeUp(V.PC, 20, 0, eventSlave.ID));
+						if (V.PC.vagina !== -1) {
+							r.push(`pussy.`);
+							if (canImpreg(V.PC, eventSlave)) {
+								r.push(knockMeUp(V.PC, 20, 0, eventSlave.ID));
+							}
+							seX(eventSlave, "penetrative", V.PC, "vaginal");
+						} else {
+							r.push(`ass.`);
+							if (canImpreg(V.PC, eventSlave)) {
+								r.push(knockMeUp(V.PC, 20, 1, eventSlave.ID));
+							}
+							seX(eventSlave, "penetrative", V.PC, "anal");
 						}
 					} else {
 						r.push(Spoken(eventSlave, `"Please, would you fuck my brains out, ${Master}?"`));
@@ -390,7 +403,7 @@ App.Events.RESSAGift = class RESSAGift extends App.Events.BaseEvent {
 							r.push(`<span class="virginity loss">tear your hymen</span> and`);
 							V.PC.vagina++;
 						} else if (V.PC.vagina < 0 && V.PC.anus === 0) {
-							r.push(`<span class="virginity loss">break into your virgin backdoor</span> and`);
+							r.push(`<span class="virginity loss">burst your virgin sphincter</span> and`);
 							V.PC.anus++;
 						}
 						r.push(`rape you, and you do, pretending to go about your day until ${he} shoves you onto the couch and roughly fucks your`);
@@ -420,7 +433,7 @@ App.Events.RESSAGift = class RESSAGift extends App.Events.BaseEvent {
 							r.push(`couch, <span class="virginity loss">piercing your maidenhead</span> with ${his} stiff dick`);
 							V.PC.vagina++;
 						} else if (V.PC.vagina < 0 && V.PC.anus === 0) {
-							r.push(`couch, taking ${his} dick inside<span class="virginity loss">your virgin rear</span>`);
+							r.push(`couch, taking ${his} dick inside <span class="virginity loss">your virgin rear</span>`);
 							V.PC.anus++;
 						} else {
 							r.push(`couch`);
diff --git a/src/events/RESS/review/shiftDoorframe.js b/src/events/RESS/review/shiftDoorframe.js
index 199fc114f20cbbebac7114a33766f969920f2331..cae868bdfa636743932736497a0fdfaee73985b1 100644
--- a/src/events/RESS/review/shiftDoorframe.js
+++ b/src/events/RESS/review/shiftDoorframe.js
@@ -243,7 +243,7 @@ App.Events.RESSShiftDoorframe = class RESSShiftDoorframe extends App.Events.Base
 			choices.push(new App.Events.Result(`Pound that ass`, poundButt, (eventSlave.anus === 0 && canDoAnal(eventSlave)) ? `This option will take ${his} anal virginity` : null));
 		}
 		if ((eventSlave.toyHole === "dick" || V.policies.sexualOpenness === 1) && canPenetrate(eventSlave)) {
-			choices.push(new App.Events.Result(`Invite ${him} 'in'`, invitation, `This option will penetrate you`)); // TODO: This response needs to be reviewed (or gated) after PC body is implemented
+			choices.push(new App.Events.Result(`Invite ${him} 'in'`, invitation, `This option will penetrate you${V.PC.vagina === 0 ? ". This option will take your virginity" : ""} ${V.PC.anus === 0 && V.PC.vagina < 0? ". This option will take your anal virginity" : ""}`)); // TODO: This response needs to be reviewed (or gated) after PC body is implemented
 		}
 		App.Events.addResponses(node, choices);
 
@@ -258,9 +258,9 @@ App.Events.RESSShiftDoorframe = class RESSShiftDoorframe extends App.Events.Base
 				r.push(`on ${his} face as ${he} senses`);
 			}
 			r.push(`you stand up from your desk;`);
-			if (eventSlave.height >= 185) {
+			if (eventSlave.height > V.PC.height) {
 				r.push(`${he}'s tall enough for standing ${genitalText}, so as you approach ${he} just turns ${his} head back to face the door frame and cocks ${his} hips.`);
-			} else if (eventSlave.height < 160) {
+			} else if (eventSlave.height > V.PC.height - 15) {
 				r.push(`${he}'s so short standing ${genitalText} is a stretch, so as you approach ${he} goes up on tiptoe with one leg and runs the other up the wall, using it as support to hike ${his} ass as high as ${he} can manage.`);
 			} else {
 				r.push(`${he}'s shorter than you, so as you approach ${he} goes up on tiptoe to bring ${his} ass to just the right height for standing ${genitalText}.`);
@@ -487,9 +487,9 @@ App.Events.RESSShiftDoorframe = class RESSShiftDoorframe extends App.Events.Base
 
 		function poundVagina() {
 			r = [...poundResponse()];
-			if (eventSlave.height >= 185) {
+			if (eventSlave.height > V.PC.height) {
 				r.push(`${He}'s so tall ${his} butt is at the perfect height right where it is, so ${he} relaxes as much as possible, trapped against the door frame.`);
-			} else if (eventSlave.height < 160) {
+			} else if (eventSlave.height > V.PC.height - 15) {
 				r.push(`${He}'s short enough that even tiptoes aren't enough, and you force ${him} up between you and the door frame, pinning ${his} little body helplessly in place.`);
 			} else {
 				r.push(`${He} squirms up on tiptoes to get ${his} hips to the right height, trapped between you and the door frame.`);
@@ -499,6 +499,8 @@ App.Events.RESSShiftDoorframe = class RESSShiftDoorframe extends App.Events.Base
 				r.push(`though it's nothing new to ${him}.`);
 			} else if (eventSlave.vagina > 1) {
 				r.push(`veteran pussy notwithstanding.`);
+			} else is (eventSlave.vagina === 0) {
+				r.push(`even <span class="virginity loss>lossing ${his} maidenhead</span>.`);
 			} else {
 				r.push(`inserting slowly into ${his} still-tight pussy.`);
 			}
@@ -536,9 +538,9 @@ App.Events.RESSShiftDoorframe = class RESSShiftDoorframe extends App.Events.Base
 
 		function poundButt() {
 			r = [...poundResponse()];
-			if (eventSlave.height >= 185) {
+			if (eventSlave.height > V.PC.height) {
 				r.push(`${He}'s so tall ${his} butt is at the perfect height right where it is, so ${he} relaxes as much as possible, trapped against the door frame.`);
-			} else if (eventSlave.height < 160) {
+			} else if (eventSlave.height < V.PC.height - 15) {
 				r.push(`${He}'s short enough that even tiptoes aren't enough, and you force ${him} up between you and the door frame, pinning ${his} little body helplessly in place.`);
 			} else {
 				r.push(`${He} squirms up on tiptoes to get ${his} butt to the right height, trapped between you and the door frame.`);
@@ -548,6 +550,8 @@ App.Events.RESSShiftDoorframe = class RESSShiftDoorframe extends App.Events.Base
 				r.push(`though it's nothing new to ${him}.`);
 			} else if (eventSlave.anus > 1) {
 				r.push(`veteran asshole notwithstanding.`);
+			} else if (eventSlave.anus === 0) {
+				r.push(`worsened by <span class="virginity loss"> the loss of ${his} anal virginity</span>.`);
 			} else {
 				r.push(`worsened by ${his} tight little sphincter.`);
 			}
@@ -596,7 +600,7 @@ App.Events.RESSShiftDoorframe = class RESSShiftDoorframe extends App.Events.Base
 				r.push(`on ${his} face as ${he} senses`);
 			}
 			r.push(`you stand up from your desk and saunter over;`);
-			if (eventSlave.height >= 185) {
+			if (eventSlave.height > V.PC.height) {
 				r.push(`${he}'s tall enough for standing`);
 				if (V.PC.vagina !== -1) {
 					r.push(`sex,`);
@@ -604,15 +608,15 @@ App.Events.RESSShiftDoorframe = class RESSShiftDoorframe extends App.Events.Base
 					r.push(`anal,`);
 				}
 				r.push(`so as you approach ${he} just readies ${himself} to fuck ${his} lover.`);
-			} else if (eventSlave.height < 160) {
-				r.push(`${he}'s so short standing anal is a stretch, so once you approach you get down on your knees and greet the dick that will soon be in your`);
+			} else if (eventSlave.height < V.PC.height - 15) {
+				r.push(`${he}'s so short standing ${V.PC.vagina < 0 ? "anal" : "sex"} is a stretch, so once you approach you get down on your knees and greet the dick that will soon be in your`);
 				if (V.PC.vagina !== -1) {
 					r.push(`${V.PC.vagina === 0 ? "virgin " : ""}pussy.`);
 				} else {
 					r.push(`${V.PC.anus === 0 ? "virgin " : ""}asshole.`);
 				}
 			} else {
-				r.push(`${he}'s shorter than you, so as you approach ${he} goes up on tiptoe to bring ${his} dick to just the right height for standing sex.`); // TODO: add check when PC body is implemented
+				r.push(`${he}'s shorter than you, so as you approach ${he} goes up on tiptoe to bring ${his} dick to just the right height for standing ${V.PC.vagina < 0 ? "anal" : "sex"}.`);
 			}
 			r.push(`${He} doesn't penetrate you right away, though; ${he}`);
 			if (V.PC.butt >= 5) {