From da83834417536b077283b398ba371f4d5399cba7 Mon Sep 17 00:00:00 2001
From: klorpa <30924131+klorpa@users.noreply.github.com>
Date: Tue, 2 Jul 2019 22:29:38 -0500
Subject: [PATCH] WCPiping

---
 slave variables documentation - Pregmod.txt |  3 ++-
 src/facilities/nursery/childInteract.tw     |  8 ++++++++
 src/init/storyInit.tw                       |  1 +
 src/js/SlaveState.js                        |  1 +
 src/uncategorized/BackwardsCompatibility.tw |  3 +++
 src/uncategorized/managePenthouse.tw        | 11 +++++++++++
 src/uncategorized/slaveInteract.tw          | 10 +++++++++-
 src/utility/miscWidgets.tw                  |  8 ++++++++
 8 files changed, 43 insertions(+), 2 deletions(-)

diff --git a/slave variables documentation - Pregmod.txt b/slave variables documentation - Pregmod.txt
index db4ec0a8b64..cc3dab36f8d 100644
--- a/slave variables documentation - Pregmod.txt	
+++ b/slave variables documentation - Pregmod.txt	
@@ -3379,7 +3379,7 @@ How much fluid is distending the slave.
 inflationType:
 
 What kind of fluid is in the slave.
-Accepts string
+accepts string
 "none"
 "water"
 "cum"
@@ -3388,6 +3388,7 @@ Accepts string
 "aphrodisiac"
 "curative"
 "tightener"
+"urine"
 
 inflationMethod:
 
diff --git a/src/facilities/nursery/childInteract.tw b/src/facilities/nursery/childInteract.tw
index b91086f582a..f3911e15d85 100644
--- a/src/facilities/nursery/childInteract.tw
+++ b/src/facilities/nursery/childInteract.tw
@@ -138,6 +138,14 @@
 				| //$dairyNameCaps is not producing enough cum to pump through the pipes//
 			<</if>>
 		<</if>>
+		<<if $wcPiping == 1>>
+			<<if ($activeChild.inflation < 3 && $activeChild.pregKnown == 0 && $activeChild.bellyImplant < 1500) || ($activeChild.inflation < 1)>>
+				<<if $activeChild.inflationType == "urine" || $activeChild.inflationType == "none">>
+					| <<link "Fill $his ass with urine">><<set $activeChild.inflationType = "urine">><<set $activeChild.inflationMethod = 2>><<replace "#miniscene">><<set $childSex = 1>><<include "FillUpButt">><br><</replace>><<SlaveInteractImpreg>><<SlaveInteractFertility>><</link>>
+					| <<link "Force-feed $him urine">><<set $activeChild.inflationType = "urine">><<set $activeChild.inflationMethod = 1>><<replace "#miniscene">><<set $childSex = 1>><<include "FillUpFace">><br><</replace>><<SlaveInteractImpreg>><<SlaveInteractFertility>><</link>>
+				<</if>>
+			<</if>>
+		<</if>>
 	<</if>>
 	<<if $activeChild.inflation == 0 && $activeChild.bellyImplant < 1500>>
 		<<if $activeChild.assignment != "work in the dairy" && $activeChild.assignment != "be confined in the arcade" && $activeChild.assignment != "be confined in the cellblock">>
diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw
index 35cba90a733..b488e62d986 100644
--- a/src/init/storyInit.tw
+++ b/src/init/storyInit.tw
@@ -904,6 +904,7 @@ You should have received a copy of the GNU General Public License along with thi
 <<set $inflatedSlavesCum = 0>>
 <<set $milkPipeline = 0>>
 <<set $cumPipeline = 0>>
+<<set $wcPiping = 0>>
 <<set $burstee = 0>>
 <<set $slaveDeath = 0>>
 <<set $clinicInflateBelly = 0>>
diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js
index 97b806e8e4f..501e791b320 100644
--- a/src/js/SlaveState.js
+++ b/src/js/SlaveState.js
@@ -2057,6 +2057,7 @@ App.Entity.SlaveState = class SlaveState {
 		* * "aphrodisiac"
 		* * "curative"
 		* * "tightener"
+		* * "urine"
 		*/
 		this.inflationType = "none";
 		/**
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index 03d4c7c5313..f91a3ddf7b2 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -578,6 +578,9 @@
 <<if ndef $cumPipeline>>
 	<<set $cumPipeline = 0>>
 <</if>>
+<<if ndef $wcPiping>>
+	<<set $wcPiping = 0>>
+<</if>>
 <<if ndef $burstee>>
 	<<set $burstee = 0>>
 <</if>>
diff --git a/src/uncategorized/managePenthouse.tw b/src/uncategorized/managePenthouse.tw
index 88fa1b49a76..e8203908a4e 100644
--- a/src/uncategorized/managePenthouse.tw
+++ b/src/uncategorized/managePenthouse.tw
@@ -260,6 +260,17 @@ __Penthouse Upgrades__
 
 <br>
 
+<<if $seePee == 1>>
+	<<if $wcPiping == 0>>
+		[[Install pipes connecting the slave bathrooms to the rest of your penthouse for use in watersports|Manage Penthouse][cashX(forceNeg(Math.trunc(10000*$upgradeMultiplierArcology)), "capEx"), $wcPiping = 1, $PC.engineering += .5]]
+		//Costs <<print cashFormat(Math.trunc(10000*$upgradeMultiplierArcology))>>//
+	<<else>>
+		The plumbing underneath the slave bathrooms connects to various taps throughout the penthouse that can dispense its contents when needed.
+	<</if>>
+<</if>>
+
+<br>
+
 <<if $studio == 0>>
 	[[Install a media hub to convert slave video feeds into pornography|Manage Penthouse][cashX(forceNeg(Math.trunc(10000*$upgradeMultiplierArcology)), "capEx"), $studio = 1, $PC.engineering += 1]]
 	//Costs <<print cashFormat(Math.trunc(10000*$upgradeMultiplierArcology))>>//
diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw
index c0da8384ebc..969e895d012 100644
--- a/src/uncategorized/slaveInteract.tw
+++ b/src/uncategorized/slaveInteract.tw
@@ -199,7 +199,15 @@
 			<<else>>
 				| //$dairyNameCaps is not producing enough cum to pump through the pipes//
 			<</if>>
-		<</if>>
+		<</if>>	
+		<<if $wcPiping == 1>>
+			<<if ($activeSlave.inflation < 3 && $activeSlave.pregKnown == 0 && $activeSlave.bellyImplant < 1500) || ($activeSlave.inflation < 1)>>
+				<<if $activeSlave.inflationType == "urine" || $activeSlave.inflationType == "none">>
+					| <<link "Fill $his ass with urine">><<set $activeSlave.inflationType = "urine">><<set $activeSlave.inflationMethod = 2>><<replace "#miniscene">><<include "FillUpButt">><br><</replace>><<SlaveInteractImpreg>><<SlaveInteractFertility>><</link>>
+					| <<link "Force-feed $him urine">><<set $activeSlave.inflationType = "urine">><<set $activeSlave.inflationMethod = 1>><<replace "#miniscene">><<include "FillUpFace">><br><</replace>><<SlaveInteractImpreg>><<SlaveInteractFertility>><</link>>
+				<</if>>
+			<</if>>
+		<</if>>	
 	<</if>>
 	<<if $activeSlave.inflation == 0 && $activeSlave.bellyImplant < 1500>>
 		<<if $activeSlave.assignment != "work in the dairy" && $activeSlave.assignment != "be confined in the arcade" && $activeSlave.assignment != "be confined in the cellblock">>
diff --git a/src/utility/miscWidgets.tw b/src/utility/miscWidgets.tw
index 7dffadc095f..9a918a7707f 100644
--- a/src/utility/miscWidgets.tw
+++ b/src/utility/miscWidgets.tw
@@ -73,6 +73,14 @@ Call as <<SlaveInteractImpreg>>
 				| //$dairyNameCaps is not producing enough cum to pump through the pipes//
 			<</if>>
 		<</if>> /* dairyPiping == 1 */
+		<<if $wcPiping == 1>>
+			<<if ($activeSlave.inflation < 3 && $activeSlave.pregKnown == 0 && $activeSlave.bellyImplant < 1500) || ($activeSlave.inflation < 1)>>
+				<<if $activeSlave.inflationType == "urine" || $activeSlave.inflationType == "none">>
+					| <<link "Fill $his ass with urine">><<set $activeSlave.inflationType = "urine">><<set $activeSlave.inflationMethod = 2>><<replace "#miniscene">><<include "FillUpButt">><br><</replace>><<SlaveInteractImpreg>><<SlaveInteractFertility>><</link>>
+					| <<link "Force-feed $him urine">><<set $activeSlave.inflationType = "urine">><<set $activeSlave.inflationMethod = 1>><<replace "#miniscene">><<include "FillUpFace">><br><</replace>><<SlaveInteractImpreg>><<SlaveInteractFertility>><</link>>
+				<</if>>
+			<</if>>
+		<</if>> /* wcPiping == 1 */
 	<</if>> /* assigned to dairy or arcade */
 	<<if $activeSlave.inflation == 0 && $activeSlave.bellyImplant < 1500>>
 		<<if $activeSlave.assignment != "work in the dairy" && $activeSlave.assignment != "be confined in the arcade" && $activeSlave.assignment != "be confined in the cellblock">>
-- 
GitLab