From 62f27801a62f39dd396486ea52e1c48e70fbc753 Mon Sep 17 00:00:00 2001
From: lowercasedonkey <lowercasedonkey@gmail.com>
Date: Sun, 12 Jan 2020 21:04:52 -0500
Subject: [PATCH] there must be a way to simplify this even more.

---
 src/js/sexActsJS.js | 38 ++++++++++++++++++++++++++++----------
 1 file changed, 28 insertions(+), 10 deletions(-)

diff --git a/src/js/sexActsJS.js b/src/js/sexActsJS.js
index 4a9f933b345..28a430801fb 100644
--- a/src/js/sexActsJS.js
+++ b/src/js/sexActsJS.js
@@ -378,50 +378,68 @@ window.SimpleSexAct = (function() {
 	function SimpleSlaveSlaveFucking(subslave, domslave, fuckCount = 1) {
 		let fuckTarget = 0;
 		let r = "";
+		let slave1ID;
+		let slave2ID;
+		let sex = "";
 
 		for (let j = 0; j < fuckCount; j++) {
 		// there is a reason randomization happens inside cycle - to spread fuck around, otherwise cycle isn't even needed
 			fuckTarget = jsRandom(1, 100);
 			if (subslave.nipples === "fuckable" && canPenetrate(domslave) && fuckTarget > 80) {
+				sex = "mammary";
 				if (passage() === "SA serve your other slaves") {
 					if (subslave.ID === V.slaves[V.i].ID) {
-						seX(V.slaves[V.i], "mammary", domslave, "penetrative");
+						slave1ID = V.slaves[V.i].ID;
+						slave2ID = domslave.ID;
 					} else {
-						seX(subslave, "mammary", V.slaves[V.i], "penetrative");
+						slave1ID = subslave.ID;
+						slave2ID = V.slaves[V.i].ID;
 					}
 				} else {
-					seX(subslave, "mammary", domslave, "penetrative");
+					slave1ID = subslave.ID;
+					slave2ID = domslave.ID;
 				}
 			} else if (canDoVaginal(subslave) && subslave.vagina > 0 && canPenetrate(domslave) && fuckTarget > 33) {
+				sex = "vaginal";
 				if (passage() === "SA serve your other slaves") {
 					if (subslave.ID === V.slaves[V.i].ID) {
-						seX(V.slaves[V.i], "vaginal", domslave, "penetrative");
+						slave1ID = V.slaves[V.i].ID;
+						slave2ID = domslave.ID;
 					} else {
-						seX(subslave, "vaginal", V.slaves[V.i], "penetrative");
+						slave1ID = subslave.ID;
+						slave2ID = V.slaves[V.i].ID;
 					}
 				} else {
-					seX(subslave, "vaginal", domslave, "penetrative");
+					slave1ID = subslave.ID;
+					slave2ID = domslave.ID;
 				}
 				if (canImpreg(subslave, domslave)) {
 					r += knockMeUp(subslave, 3, 0, domslave.ID, 1);
 				}
 			} else if (canDoAnal(subslave) && subslave.anus > 0 && canPenetrate(domslave) && fuckTarget > 10) {
-			// i think would impregnate from anal here even without .mpreg? same in original widget too
+				// i think would impregnate from anal here even without .mpreg? same in original widget too
+				sex = "anal";
 				if (canImpreg(subslave, domslave) && subslave.mpreg === 1) {
 					r += knockMeUp(subslave, 3, 1, domslave.ID, 1);
 				}
 				if (passage() === "SA serve your other slaves") {
 					if (subslave.ID === V.slaves[V.i].ID) {
-						seX(V.slaves[V.i], "anal", domslave, "penetrative");
+						slave1ID = V.slaves[V.i].ID;
+						slave2ID = domslave.ID;
 					} else {
-						seX(subslave, "anal", slave[V.i], "penetrative");
+						slave1ID = subslave.ID;
+						slave2ID = V.slaves[V.i].ID;
 					}
 				} else {
-					seX(subslave, "anal", domslave, "penetrative");
+					slave1ID = subslave.ID;
+					slave2ID = domslave.ID;
 				}
 			} else {
 				actX(subslave, "oral");
 			}
+			if (typeof slave1ID === Number  && typeof slave2ID === Number) {
+				seX(V.slaves[slave1ID], sex, V.slaves[slave2ID], "penetrative");
+			}
 		}
 		return r;
 	}
-- 
GitLab