From d0418be1730e900e01b131a62b85fd6346a5afc3 Mon Sep 17 00:00:00 2001
From: lowercase-donkey <lowercasedonkey@gmail.com>
Date: Wed, 31 Jul 2019 21:48:30 -0400
Subject: [PATCH] function for scourged

---
 src/js/modification.js                | 24 ++++++++++++++
 src/uncategorized/bodyModification.tw | 18 ++---------
 src/uncategorized/newSlaveIntro.tw    | 17 +---------
 src/uncategorized/pRivalryActions.tw  | 46 ++-------------------------
 4 files changed, 30 insertions(+), 75 deletions(-)

diff --git a/src/js/modification.js b/src/js/modification.js
index 5e56cd04709..d159324de5f 100644
--- a/src/js/modification.js
+++ b/src/js/modification.js
@@ -24,3 +24,27 @@ App.Medicine.Modification.addScar = function(slave, scar, design, weight) {
 		slave.scar[scar][design] += weight;
 	}
 };
+
+/**
+ * Slave is whipped over the entire body, and strains in manacles so much that the wrists and ankles scar if present.
+ * @param {App.Entity.SlaveState} slave
+ *  @param {string} weight
+ */
+App.Medicine.Modification.addScourged = function(slave, weight) {
+	let scarArray = ["left breast", "right breast", "back", "lower back", "left buttock", "right buttock"];
+	let i = 0;
+	// Whip
+	if (slave.amp !== 1) {
+		scarArray.push("left upper arm", "right upper arm", "left thigh", "right thigh");
+	}
+	for (i = 0; i < scarArray.length; i++) {
+		App.Medicine.Modification.addScar(slave, scarArray[i], "whip", weight);
+	}
+	// Manacles
+	if (slave.amp !== 1) {
+		scarArray = ["left wrist", "right wrist", "left ankle", "right ankle"];
+		for (i = 0; i < scarArray.length; i++) {
+			App.Medicine.Modification.addScar(slave, scarArray[i], "chain", weight);
+		}
+	}
+};
diff --git a/src/uncategorized/bodyModification.tw b/src/uncategorized/bodyModification.tw
index ca7e8fdc0ee..68e5f9e926e 100644
--- a/src/uncategorized/bodyModification.tw
+++ b/src/uncategorized/bodyModification.tw
@@ -1287,22 +1287,8 @@ Or a custom site: <<textbox "$scarTarget.local" $scarTarget.local "Body Modifica
 	<</if>>
 	<<link "Scar">>
 		<<if $scarTarget.local === "entire body" && $scarDesign.local.includes("whip")>>
-			/* Special case for whipping scene, producecs two scars */
-			/* Whip marks */
-			<<set _scarArray = ["left breast", "right breast", "back", "lower back", "left buttock", "right buttock"]>>
-			<<if $activeSlave.amp != 1>>
-				<<set _scarArray.push("left upper arm", "right upper arm", "left thigh", "right thigh")>>
-			<</if>>
-			<<for _i to 0; _i < _scarArray.length; _i++>>
-				<<run App.Medicine.Modification.addScar($activeSlave, _scarArray[_i], $scarDesign.local)>>
-			<</for>>
-			/* Manacles */
-			<<if $activeSlave.amp != 1>>
-				<<set _scarArray = ["left wrist", "right wrist", "left ankle", "right ankle"]>>
-				<<for _i to 0; _i < _scarArray.length; _i++>>
-					<<run App.Medicine.Modification.addScar($activeSlave, _scarArray[_i], "chain")>>
-				<</for>>
-			<</if>>
+			/* Special case for whipping scene, producecs two kinds of scars */
+			<<run App.Medicine.Modification.addScourged($activeSlave)>>
 		<<else>>
 			/* Normal entire body scarring */
 			<<if $scarTarget.local === "entire body">>
diff --git a/src/uncategorized/newSlaveIntro.tw b/src/uncategorized/newSlaveIntro.tw
index d504c68148a..45f6138f010 100644
--- a/src/uncategorized/newSlaveIntro.tw
+++ b/src/uncategorized/newSlaveIntro.tw
@@ -1245,22 +1245,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' <<
 <br>&nbsp;&nbsp;&nbsp;&nbsp;
 
 <<link "Whip $him until $he scars">>
-	/* Whip marks */
-	<<set _scarArray = ["left breast", "right breast", "back", "lower back", "left buttock", "right buttock"]>>
-	<<if $activeSlave.amp != 1>>
-		<<set _scarArray.push("left upper arm", "right upper arm", "left thigh", "right thigh")>>
-	<</if>>
-	<<for _i to 0; _i < _scarArray.length; _i++>>
-		<<run App.Medicine.Modification.addScar($activeSlave, _scarArray[_i], "whip")>>
-	<</for>>
-	/* Manacles */
-	<<if $activeSlave.amp != 1>>
-		<<set _scarArray = ["left wrist", "right wrist", "left ankle", "right ankle"]>>
-		<<for _i to 0; _i < _scarArray.length; _i++>>
-			<<run App.Medicine.Modification.addScar($activeSlave, _scarArray[_i], "chain")>>
-		<</for>>
-	<</if>>
-	
+	<<run App.Medicine.Modification.addScourged($activeSlave)>>	
 	<<run cashX(forceNeg($modCost), "slaveMod", $activeSlave)>> /* Let's just bill once, for the whip and disinfectant. */
 	<<set $activeSlave.devotion -= 5>>
 	<<set $activeSlave.trust -= 10>>
diff --git a/src/uncategorized/pRivalryActions.tw b/src/uncategorized/pRivalryActions.tw
index 3b6b54b82e2..3465a62b0d7 100644
--- a/src/uncategorized/pRivalryActions.tw
+++ b/src/uncategorized/pRivalryActions.tw
@@ -673,21 +673,7 @@ Your inter-arcology war with the arcology owner behind the Daughters of Liberty
 		<<set $hostage.behavioralQuirk = "none">>
 		<<set $hostage.behavioralFlaw = "odd">>
 		<<set $hostage.sexualFlaw = "apathetic">>
-		/* Scars: */
-		<<set _scarArray = ["left breast", "right breast", "back", "lower back", "left buttock", "right buttock"]>>
-		<<if $hostage.amp != 1>>
-			<<set _scarArray.push("left upper arm", "right upper arm", "left thigh", "right thigh")>>
-		<</if>>
-		<<for _i to 0; _i < _scarArray.length; _i++>>
-			<<run App.Medicine.Modification.addScar($hostage, _scarArray[_i], "whip")>>
-		<</for>>
-		/* Manacles */
-		<<if $hostage.amp != 1>>
-			<<set _scarArray = ["left wrist", "right wrist", "left ankle", "right ankle"]>>
-			<<for _i to 0; _i < _scarArray.length; _i++>>
-				<<run App.Medicine.Modification.addScar($hostage, _scarArray[_i], "chain")>>
-			<</for>>
-		<</if>>
+		<<run App.Medicine.Modification.addScourged($hostage)>>
 		<<run App.Medicine.Modification.addScar($hostage, "anus", "generic")>>
 		<<run App.Medicine.Modification.addScar($hostage, "vagina", "generic")>>
 		collapsing into $his rancid cot, hands on $his <<if $seePreg != 0>>rounded middle<<else>>empty belly<</if>>, sobbing in terror.
@@ -1078,20 +1064,7 @@ Your inter-arcology war with the arcology owner behind the Daughters of Liberty
 		<<set $hostage.counter.mammary += 50>>
 		<<set $hostage.fetishStrength = 100>>
 		/* Make scars worse: */
-		<<set _scarArray = ["left breast", "right breast", "back", "lower back", "left buttock", "right buttock"]>>
-		<<if $hostage.amp != 1>>
-			<<set _scarArray.push("left upper arm", "right upper arm", "left thigh", "right thigh")>>
-		<</if>>
-		<<for _i to 0; _i < _scarArray.length; _i++>>
-			<<run App.Medicine.Modification.addScar($hostage, _scarArray[_i], "whip")>>
-		<</for>>
-		/* Manacles */
-		<<if $hostage.amp != 1>>
-			<<set _scarArray = ["left wrist", "right wrist", "left ankle", "right ankle"]>>
-			<<for _i to 0; _i < _scarArray.length; _i++>>
-				<<run App.Medicine.Modification.addScar($hostage, _scarArray[_i], "chain")>>
-			<</for>>
-		<</if>>
+		<<run App.Medicine.Modification.addScourged($hostage)>>
 		collapsing into $his rancid cot and curling into the fetal position<<if $seePreg != 0>> around $his pregnant belly<</if>>. $He's audibly begging for someone, anyone, to save $him.
 	<<case "Repopulation Focus">>
 		<<set $hostage.trust -= 5>>
@@ -1407,20 +1380,7 @@ Your inter-arcology war with the arcology owner behind the Daughters of Liberty
 		<<set $hostage.fetish = "mindbroken">>
 		<<set $hostage.fetishStrength = 10>>
 		/* Make scars worse: */
-		<<set _scarArray = ["left breast", "right breast", "back", "lower back", "left buttock", "right buttock"]>>
-		<<if $hostage.amp != 1>>
-			<<set _scarArray.push("left upper arm", "right upper arm", "left thigh", "right thigh")>>
-		<</if>>
-		<<for _i to 0; _i < _scarArray.length; _i++>>
-			<<run App.Medicine.Modification.addScar($hostage, _scarArray[_i], "whip")>>
-		<</for>>
-		/* Manacles */
-		<<if $hostage.amp != 1>>
-			<<set _scarArray = ["left wrist", "right wrist", "left ankle", "right ankle"]>>
-			<<for _i to 0; _i < _scarArray.length; _i++>>
-				<<run App.Medicine.Modification.addScar($hostage, _scarArray[_i], "chain")>>
-			<</for>>
-		<</if>>
+		<<run App.Medicine.Modification.addScourged($hostage)>>
 		<<run App.Medicine.Modification.addScar($hostage, "left cheek", "generic", 3)>>
 		<<run App.Medicine.Modification.addScar($hostage, "right cheek", "generic", 3)>>
 		<<run App.Medicine.Modification.addScar($hostage, "left lower arm", "generic", 2)>>
-- 
GitLab