diff --git a/devNotes/Useful JS Function Documentation.txt b/devNotes/Useful JS Function Documentation.txt
index 9e8c0ffbb795a16c65302f6e40bbabfdcf2790d3..65241f61101503f89e17557117c0d2536c10fcc4 100644
--- a/devNotes/Useful JS Function Documentation.txt	
+++ b/devNotes/Useful JS Function Documentation.txt	
@@ -144,15 +144,63 @@ SlaveTitle(slave) - Returns the slave's descriptive title.
 
 relativeTerm(slave1, slave2) - Returns the term for slave2's relation to slave1. (daughter, mother, etc)
 
+relationshipChecks [script] All work as expected with <<if X.rivalryTarget == $slaves[$i].ID>> preceding them.
+	rivalryTerm(id) - Returns the rivarly term for the input . e.g. lines 99-100 of brothelReport. 
+		<<if $Madam.rivalryTarget == $slaves[$i].ID>> 
+			She forces her <<print rivalryTerm($Madam)>>, to service all the men in the brothel.
+		Would print 'She forces her growing rival, to service all the men in the brothel.'
+
+	relationshipTerm(id) Returns the long form relationship term for the input . e.g. lines 147-148 of saRules.
+		<<if $slaves[$i].relationship > 0>>
+			$He often asks to save these breaks so $he can spend them with $his <<print relationshipTerm($slaves[$i])>>.
+		Would print '$He often asks to save these breaks so $he can spend them with $his friend.'
+
+	relationshipTermShort(id) Prints the short form of the above. e.g. line 321 of slaveInteract.
+		`"Fuck $him with $his <<print relationshipTermShort($activeSlave)>> <<= SlaveFullName($slaves[_si])>>"`
+		Would print 'Fuck $him with $his BFF <<= SlaveFullName($slaves[_si])>>'
+
 bellyAdjective(slave) - Returns a string describing her belly size.
 
 lispReplace(string) - Ruturns the string lispified.
 
 nippleColor(slave) - Returns the slave's nipple color.
 
+UtilJS [script]
+	commaNum() - Returns the value thousand sepeated with ',' if $formatNumbers > 0 else provides the raw value.
+		line 138 of src/SpecialForce/Report.tw, '...focused their <<print commaNum($SFUnit.Troops)>> troops'
+		if $formatNumbers > 0 'focused their 1,589 troops' else 'focused their 1589 troops'
+
+	cashFormat() - uses the above function to return the value thousand sepeated with ',' if $formatNumbers > 0 else provides the raw value. either way prepend ¤ (the fc domination) symbol.
+		line 157 of the previously listed file, '..totaling @@.yellowgreen;<<print cashFormat(_SFIncome)>>@@'
+		if $formatNumbers > 0 'totaling @@.yellowgreen;¤1,500,000@@' else 'totaling @@.yellowgreen;¤1500000@@'
+
+		isFloat() - Checks if value is float.
+
+		isInt() - Checks if value is an interger.
+
+		numberWithCommas() - Currently unsed.
+
+		jsRandom() - JS equivalent of sugarcube's random().
+
+		jsRandomMany() - JS equivalent of sugarcube's randomMany().
 
+		jsEither() - This function wants an array - which explains why it works like array.random(). Give it one or you'll face a NaN. JS equivalent of sugarcube's either() and array.random().
 
+		deepCopy() - This function is alternative to clone - usage needed if nested objects present. Slower but result is separate object tree, not with reference to source object.
 
+		hashChoice() - hashes provided input.
+
+		hashSum() - totals provided input and then hashes.
+
+		arr2obj() - Converts an array to an object. e.g. line 250 of :: init Nationalities [silently]
+			<<set $nationalities = arr2obj(setup.baseNationalities)>>
+
+		hashPush() //Note really shure where input is being pushed to.
+
+		weightedArray2HashMap()
+
+		between(a, low, high) - outputs the value down the middle of two inputs e.g.
+			between($trees, 1, 3) returns $trees = 2
 
 Core Slave Functions:
 
@@ -194,8 +242,29 @@ SoftenBehavioralFlaw(slave) - Rplaces the slave's behavioral flaw with the corre
 
 SoftenSexualFlaw(slave) - Rplaces the slave's sexual flaw with the corresponding quirk.
 
+UtilJS [script]
+	Height.mean(nationality, race, genes, age) - returns the mean height for the given combination and age in years (>=2).
+ Height.mean(nationality, race, genes) - returns the mean adult height for the given combination.
+ Height.mean(slave) - returns the mean (expected) height for the given slave.
+
+ Height.random(nationality, race, genes, age) - returns a random height using the skew-normal distribution around the mean height for the given arguments.
+ Height.random(nationality, race, genes) - returns a random height for the given combination of an adult, as above.
+ Height.random(slave[, options]) - returns a random height for the given slave, as above.
+
+ Height.forAge(height, age, genes) - returns the height adapted to the age and genes.
+ Height.forAge(height, slave) - returns the height adapted to the slave's age and genes.
+
+ heightToEitherUnit() - takes an int in centimetres e.g. $activeSlave.height, returns a string in the format of either `200cm (6'7")`, `6'7"`, or `200cm`
 
+ Height.config(configuration) - configures the random height generator globally and returns the current configuration.
 
+ Intelligence.random(options) - returns a random intelligence. If no options are passed, the generated number will be on a normal distribution with mean 0 and standard deviation 45.
+
+ getSlaveDevotionClass(slave) - returns the trust of the target as text. e.g. if ('mindbroken' == slave.fetish) return 'mindbroken';
+
+ getSlaveTrustClass(slave) - returns the trust of the target as text. e.g. if (slave.trust < -95) return 'extremely-terrified';
+
+ 
 
 Sex Functions:
 
@@ -217,7 +286,19 @@ SimpleSlaveFucking(slave, count) - Runs a slave on slave sex act count times. (r
 
 SimpleSlaveSlaveFucking(slave1, slave2, count) - Runs a slave2 on slave1 sex act count times. (randomly chooses hole based off availability.)
 
+UtilJS [script]
+	
+	dickToInchString() - takes a dick value e.g. $activeSlave.dick, returns a string in the format 6 inches
+
+	dickToCM() - takes a dick value e.g. $activeSlave.dick, returns an int of the dick length in cm
 
+	ballsToInchString() - takes a ball value e.g. $activeSlave.balls, returns a string in the format 3 inches
+
+	ballsToCM() - takes a ball value e.g. $activeSlave.balls, returns an int of the ball size in cm
+
+	dickToEitherUnit() - takes a dick value e.g. $activeSlave.dick, returns a string in the format of either `20cm (8 inches)`, `8 inches`, or `20cm`
+
+	ballsToEitherUnit() - takes a ball value e.g. $activeSlave.balls, returns a string in the format of either `20cm (8 inches)`, `8 inches`, or `20cm`
 
 Pregnancy Functions:
 
@@ -242,3 +323,24 @@ $slave.bellyPreg = WombGetWolume($slave) - return double, with current womb volu
 Other Functions:
 
 isItemAccessible(itemName) - Returns if the string is available for use. Defaults to true.
+
+UtilJS [script]
+	arraySwap() - swapps inputted array.
+
+	html5passage(passage_function) - circumvents sugarcube, allowing a plain HTML5 UI within it
+
+	capFirstChar() - Capitalizes the first character of a given string.
+
+	cmToInchString() - takes an integer e.g. $activeSlave.hLength, returns a string in the format 10 inches
+
+	cmToFootInchString() - takes an integer e.g. $activeSlave.height, returns a string in the format 6'5"
+
+	lengthToEitherUnit() - takes an int in centimetres e.g. $activeSlave.hLength, returns a string in the format of either `30cm (12 inches)`, `12 inches`, or `30cm`
+
+	ValidateFacilityDecoration() - checks the value of the assoicated variable and it if it infinite i.e NA the text description is reset back to standard.
+		/* decoration should be passed as "facilityDecoration" in quotes. For example, ValidateFacilityDecoration("brothelDecoration"). The quotes are important, do not pass it as a story variable. */
+
+	FSChangePorn() - //Currently unused, widget version routes directly through FSChange()
+
+	ordinalSuffix(i) - takes a value as an input and then appends the appoperiate suffix. e.g.$Day === 1 "today is the <<print ordinalSuffix($Day)>> of the month"
+		would print "today is the 1st of the month"
\ No newline at end of file
diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt
index c50f8ab225c685ce52b232c32baa9c9a30d6cf1a..9d197e5a80c1af27bbc52348ebb50427fb644b32 100644
--- a/devNotes/VersionChangeLog-Premod+LoliMod.txt
+++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt
@@ -2,6 +2,29 @@
 
 0.10.7.1-0.10.x
 
+11/02/2018
+
+	42
+	-fixes
+	-new random non-individual event added
+	-some more JS conversion
+	-starting Sup/Sub arcologies now retain their racial choice
+
+11/01/2018
+
+	41
+	-fixes
+	-traitor slave no longer exists outside the realm of time
+
+10/31/2018
+
+	40
+	-fixes
+
+	39
+	-weather now affects the economy and tourism
+	-fixes and text corrections
+
 10/29/2018
 
 	38
diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt
index c57ca4463ce6894ddf7b2955b77e61554dcf5a6e..7493d940c5b87c4ee6acebfa2c1f0ab736ccc0a7 100644
--- a/devNotes/twine JS.txt	
+++ b/devNotes/twine JS.txt	
@@ -2239,6 +2239,9 @@ window.getCost = function(array) {
 			costs += Math.ceil(T.SFCashBonus);
 		}
 	}
+	if(State.variables.econWeatherDamage && State.variables.disasterResponse > 0) {
+		costs += Math.trunc(State.variables.disasterResponse * 200000 / State.variables.localEcon);
+	}
 	// clean up
 	if(costs < 0) {
 		costs = 0;
@@ -7442,29 +7445,7 @@ window.newSlave = function newSlave(slave) {
 		V.REReductionCheckinIDs.push(slave.ID);
 	}
 
-	if (slave.fuckdoll > 0) {
-		slave.pronoun = "it";
-		slave.possessivePronoun = "its";
-		slave.possessive = "its";
-		slave.object = "it";
-		slave.objectReflexive = "itself";
-		slave.noun = "toy";
-	} else if (slave.dick > 0 && slave.vagina === -1 && V.diversePronouns === 1) {
-		slave.pronoun = "he";
-		slave.possessivePronoun = "his";
-		slave.possessive = "his";
-		slave.object = "him";
-		slave.objectReflexive = "himself";
-		slave.noun = "boy";
-	} else {
-		slave.pronoun = "she";
-		slave.possessivePronoun = "hers";
-		slave.possessive = "her";
-		slave.object = "her";
-		slave.objectReflexive = "herself";
-		slave.noun = "girl";
-	}
-
+	generatePronouns(slave);
 	SetBellySize(slave);
 	addSlave(slave);
 
@@ -8353,7 +8334,7 @@ window.SlaveTitle = function SlaveTitle(slave) {
 		}
 
 		if (slave.weight > 10 && slave.weight < 100 && slave.boobs > 5000 && slave.butt > 5 && slave.hips >= 2 && slave.bellyPreg >= 30000 && slave.births >= 10) {
-			r = r + "fertility goddess";
+			r = r + " fertility goddess";
 		} else if (slave.births >= 6) {
 			r = r + " broodmother";
 		} else if (slave.births >= 3) {
@@ -9117,6 +9098,43 @@ window.faceIncrease = function faceIncrease(slave, amount) {
 	return r;
 };
 
+/*:: relationshipChecks [script]*/
+window.rivalryTerm = function(id) {
+	if (id.rivalry === 1) {
+		return `growing rival`;
+	} else if (id.rivalry === 2) {
+		return `rival`;
+	} else {
+		return `bitter rival`;
+	}
+}
+window.relationshipTerm = function(id) {
+	if (id.relationship === 1) {
+		return `friend`;
+	} else if (id.relationship === 2) {
+		return `best friend`;
+	} else if (id.relationship === 3) {
+			return `friend with benefits`;
+	} else if (id.relationship === 4) {
+			return `lover`;
+	} else {
+			return `slave wife`;
+	}
+}
+window.relationshipTermShort = function(id) {
+	if (id.relationship === 1) {
+		return `friend`;
+	} else if (id.relationship === 2) {
+		return `BFF`;
+	} else if (id.relationship === 3) {
+		return `FWB`;
+	} else if (id.relationship === 4) {
+		return `lover`;
+	} else {
+		return `wife`;
+	}
+}
+
 /*:: Summary Widgets JS [script]*/
 
 window.SlaveStatClamp = function SlaveStatClamp(slave) {
@@ -23482,17 +23500,8 @@ window.SlaveSummaryUncached = (function(){
 			if (_ssj !== -1) {
 				r += `${SlaveFullName(V.slaves[_ssj])}'s daughter`;
 				if (slave.relationshipTarget === V.slaves[_ssj].ID) {
-					if (slave.relationship === 1) {
-						r += ` & friend`;
-					} else if (slave.relationship === 2) {
-						r += ` & BFF`;
-					} else if (slave.relationship === 3) {
-						r += ` & FWB`;
-					} else if (slave.relationship === 4) {
-						r += ` & lover`;
-					} else {
-						r += ` & wife`;
-					}
+					var friendShipShort = relationshipTermShort(slave)
+					r += ` & ${friendShipShort}`;
 					handled = 1;
 				}
 			}
@@ -23517,17 +23526,8 @@ window.SlaveSummaryUncached = (function(){
 			if (_ssj !== -1) {
 				r += `${SlaveFullName(V.slaves[_ssj])}'s daughter`;
 				if (slave.relationshipTarget === V.slaves[_ssj].ID && handled !== 1) {
-					if (slave.relationship === 1) {
-						r += ` & friend`;
-					} else if (slave.relationship === 2) {
-						r += ` & BFF`;
-					} else if (slave.relationship === 3) {
-						r += ` & FWB`;
-					} else if (slave.relationship === 4) {
-						r += ` & lover`;
-					} else {
-						r += ` & wife`;
-					}
+					var friendShipShort = relationshipTermShort(slave)
+					r += ` & ${friendShipShort}`;
 					handled = 1;
 				}
 			}
@@ -23552,17 +23552,8 @@ window.SlaveSummaryUncached = (function(){
 			if (_ssj !== -1) {
 				r += `${SlaveFullName(V.slaves[_ssj])}'s mother`;
 				if (slave.relationshipTarget === V.slaves[_ssj].ID) {
-					if (slave.relationship === 1) {
-						r += ` & friend`;
-					} else if (slave.relationship === 2) {
-						r += ` & BFF`;
-					} else if (slave.relationship === 3) {
-						r += ` & FWB`;
-					} else if (slave.relationship === 4) {
-						r += ` & lover`;
-					} else {
-						r += ` & wife`;
-					}
+					var friendShipShort = relationshipTermShort(slave)
+					r += ` & ${friendShipShort}`;
 					handled = 1;
 				}
 			}
@@ -23573,17 +23564,8 @@ window.SlaveSummaryUncached = (function(){
 			if (_ssj !== -1) {
 				r += `${SlaveFullName(V.slaves[_ssj])}'s father`;
 				if (slave.relationshipTarget === V.slaves[_ssj].ID && handled !== 1) {
-					if (slave.relationship === 1) {
-						r += ` & friend`;
-					} else if (slave.relationship === 2) {
-						r += ` & BFF`;
-					} else if (slave.relationship === 3) {
-						r += ` & FWB`;
-					} else if (slave.relationship === 4) {
-						r += ` & lover`;
-					} else {
-						r += ` & wife`;
-					}
+					var friendShipShort = relationshipTermShort(slave)
+					r += ` & ${friendShipShort}`;
 					handled = 1;
 				}
 			}
@@ -23598,17 +23580,8 @@ window.SlaveSummaryUncached = (function(){
 			if (_ssj !== -1) {
 				r += `${SlaveFullName(V.slaves[_ssj])}'s sister`;
 				if (slave.relationshipTarget === V.slaves[_ssj].ID) {
-					if (slave.relationship === 1) {
-						r += ` & friend`;
-					} else if (slave.relationship === 2) {
-						r += ` & BFF`;
-					} else if (slave.relationship === 3) {
-						r += ` & FWB`;
-					} else if (slave.relationship === 4) {
-						r += ` & lover`;
-					} else {
-						r += ` & wife`;
-					}
+					var friendShipShort = relationshipTermShort(slave)
+					r += `& ${friendShipShort}`;
 					handled = 1;
 				}
 			}
@@ -23622,23 +23595,8 @@ window.SlaveSummaryUncached = (function(){
 			});
 			if (_ssj !== -1) {
 				r += `${SlaveFullName(V.slaves[_ssj])}'s`;
-				switch (slave.relationship) {
-					case 1:
-						r += ` friend`;
-						break;
-					case 2:
-						r += ` BFF`;
-						break;
-					case 3:
-						r += ` FWB`;
-						break;
-					case 4:
-						r += ` lover`;
-						break;
-					case 5:
-						r += ` wife`;
-						break;
-				}
+				var friendShipShort = relationshipTermShort(slave)
+				r += ` ${friendShipShort}`;
 			}
 		} else if (slave.relationship === -3 && slave.mother !== -1 && slave.father !== -1) {
 			r += `Your wife`;
@@ -23664,50 +23622,15 @@ window.SlaveSummaryUncached = (function(){
 				return s.ID === slave.relationshipTarget;
 			});
 			if (_ssj !== -1) {
-				switch (slave.relationship) {
-					case 1:
-						if (slave.relationshipTarget !== slave.relationTarget) {
-							r += `${SlaveFullName(V.slaves[_ssj])}'s`;
-						} else {
-							r += ` &`;
-						}
-						r += ` friend`;
-						break;
-					case 2:
-						if (slave.relationshipTarget !== slave.relationTarget) {
-							r += `${SlaveFullName(V.slaves[_ssj])}'s`;
-						} else {
-							r += ` &`;
-						}
-						r += ` BFF`;
-						break;
-					case 3:
-						if (slave.relationshipTarget !== slave.relationTarget) {
-							r += `${SlaveFullName(V.slaves[_ssj])}'s`;
-						} else {
-							r += ` &`;
-						}
-						r += ` FWB`;
-						break;
-					case 4:
-						if (slave.relationshipTarget !== slave.relationTarget) {
-							r += `${SlaveFullName(V.slaves[_ssj])}'s`;
-						} else {
-							r += ` &`;
-						}
-						r += ` lover`;
-						break;
-					case 5:
-						if (slave.relationshipTarget !== slave.relationTarget) {
-							r += `${SlaveFullName(V.slaves[_ssj])}'s`;
-						} else {
-							r += ` &`;
-						}
-						r += ` wife`;
-						break;
-				}
+				var friendship = relationshipTerm(slave)
+					if (slave.relationshipTarget !== slave.relationTarget) {
+						r += `${SlaveFullName(V.slaves[_ssj])}'s`;
+					} else {
+						r += ` &`;
+					}
+					r += ` ${friendship}`;
 			}
-		} else if (slave.relationship === -3 && slave.mother !== -1 && slave.father !== -1) {
+		} else if (slave.relationship === -3) {
 			r += `Your wife`;
 		} else if (slave.relationship === -2) {
 			r += `E Bonded`;
@@ -23745,17 +23668,8 @@ window.SlaveSummaryUncached = (function(){
 			if (_ssj !== -1) {
 				r += `${SlaveFullName(V.slaves[_ssj])}'s <span class="lightgreen">daughter`;
 				if (slave.relationshipTarget === V.slaves[_ssj].ID) {
-					if (slave.relationship === 1) {
-						r += ` and friend`;
-					} else if (slave.relationship === 2) {
-						r += ` and best friend`;
-					} else if (slave.relationship === 3) {
-						r += ` and FWB`;
-					} else if (slave.relationship === 4) {
-						r += ` and lover`;
-					} else {
-						r += ` and wife`;
-					}
+					var friendShipShort = relationshipTerm(slave)
+					r += ` and ${friendShipShort}`;
 					handled = 1;
 				}
 				r += `.</span> `;
@@ -23781,17 +23695,8 @@ window.SlaveSummaryUncached = (function(){
 			if (_ssj !== -1) {
 				r += `${SlaveFullName(V.slaves[_ssj])}'s <span class="lightgreen">daughter`;
 				if (slave.relationshipTarget === V.slaves[_ssj].ID) {
-					if (slave.relationship === 1) {
-						r += ` and friend`;
-					} else if (slave.relationship === 2) {
-						r += ` and best friend`;
-					} else if (slave.relationship === 3) {
-						r += ` and FWB`;
-					} else if (slave.relationship === 4) {
-						r += ` and lover`;
-					} else {
-						r += ` and wife`;
-					}
+					var friendShipShort = relationshipTerm(slave)
+					r += ` and ${friendShipShort}`;
 					handled = 1;
 				}
 				r += `.</span> `;
@@ -23817,17 +23722,8 @@ window.SlaveSummaryUncached = (function(){
 			if (_ssj !== -1) {
 				r += `${SlaveFullName(V.slaves[_ssj])}'s <span class="lightgreen">mother`;
 				if (slave.relationshipTarget === V.slaves[_ssj].ID) {
-					if (slave.relationship === 1) {
-						r += ` and friend`;
-					} else if (slave.relationship === 2) {
-						r += ` and best friend`;
-					} else if (slave.relationship === 3) {
-						r += ` and FWB`;
-					} else if (slave.relationship === 4) {
-						r += ` and lover`;
-					} else {
-						r += ` and wife`;
-					}
+					var friendShipShort = relationshipTerm(slave)
+					r += ` and ${friendShipShort}`;
 					handled = 1;
 				}
 				r += `.</span> `;
@@ -23838,17 +23734,8 @@ window.SlaveSummaryUncached = (function(){
 			if (_ssj !== -1) {
 				r += `${SlaveFullName(V.slaves[_ssj])}'s <span class="lightgreen">father`;
 				if (slave.relationshipTarget === V.slaves[_ssj].ID) {
-					if (slave.relationship === 1) {
-						r += ` and friend`;
-					} else if (slave.relationship === 2) {
-						r += ` and best friend`;
-					} else if (slave.relationship === 3) {
-						r += ` and FWB`;
-					} else if (slave.relationship === 4) {
-						r += ` and lover`;
-					} else {
-						r += ` and wife`;
-					}
+					var friendShipShort = relationshipTerm(slave)
+					r += ` and ${friendShipShort}`;
 					handled = 1;
 				}
 				r += `.</span> `;
@@ -23869,17 +23756,8 @@ window.SlaveSummaryUncached = (function(){
 			if (_ssj !== -1) {
 				r += `${SlaveFullName(V.slaves[_ssj])}'s <span class="lightgreen">sister`;
 				if (slave.relationshipTarget === V.slaves[_ssj].ID) {
-					if (slave.relationship === 1) {
-						r += ` and friend`;
-					} else if (slave.relationship === 2) {
-						r += ` and best friend`;
-					} else if (slave.relationship === 3) {
-						r += ` and FWB`;
-					} else if (slave.relationship === 4) {
-						r += ` and lover`;
-					} else {
-						r += ` and wife`;
-					}
+					var friendShipShort = relationshipTerm(slave)
+					r += ` and ${friendShipShort}`;
 					handled = 1;
 				}
 				r += `.</span> `;
@@ -23898,26 +23776,11 @@ window.SlaveSummaryUncached = (function(){
 				return s.ID === slave.relationshipTarget;
 			});
 			if (_ssj !== -1) {
+				var friendship = relationshipTerm(slave)
 				r += `${SlaveFullName(V.slaves[_ssj])}'s `;
-				switch (slave.relationship) {
-					case 1:
-						r += `<span class="lightgreen">friend.</span> `;
-						break;
-					case 2:
-						r += `<span class="lightgreen">best friend.</span> `;
-						break;
-					case 3:
-						r += `<span class="lightgreen">FWB.</span> `;
-						break;
-					case 4:
-						r += `<span class="lightgreen">lover.</span> `;
-						break;
-					case 5:
-						r += `<span class="lightgreen">slave wife.</span> `;
-						break;
-				}
+				r += `<span class="lightgreen">${friendship}.</span> `;
 			}
-		} else if (slave.relationship === -3) {
+		} else if (slave.relationship === -3 && slave.mother !== -1 && slave.father !== -1) {
 			r += `<span class="lightgreen">Your wife.</span> `;
 		} else if (slave.relationship === -2) {
 			r += `<span class="lightgreen">Emotionally bonded to you.</span> `;
@@ -23948,48 +23811,13 @@ window.SlaveSummaryUncached = (function(){
 				return s.ID === slave.relationshipTarget;
 			});
 			if (_ssj !== -1) {
-				switch (slave.relationship) {
-					case 1:
-						if (slave.relationshipTarget !== slave.relationTarget) {
-							r += `${SlaveFullName(V.slaves[_ssj])}'s `;
-						} else {
-							r += ` and `;
-						}
-						r += `<span class="lightgreen">friend.</span> `;
-						break;
-					case 2:
-						if (slave.relationshipTarget !== slave.relationTarget) {
-							r += `${SlaveFullName(V.slaves[_ssj])}'s `;
-						} else {
-							r += ` and `;
-						}
-						r += `<span class="lightgreen">best friend.</span> `;
-						break;
-					case 3:
-						if (slave.relationshipTarget !== slave.relationTarget) {
-							r += `${SlaveFullName(V.slaves[_ssj])}'s `;
-						} else {
-							r += ` and `;
-						}
-						r += `<span class="lightgreen">FWB.</span> `;
-						break;
-					case 4:
-						if (slave.relationshipTarget !== slave.relationTarget) {
-							r += `${SlaveFullName(V.slaves[_ssj])}'s `;
-						} else {
-							r += ` and `;
-						}
-						r += `<span class="lightgreen">lover.</span> `;
-						break;
-					case 5:
-						if (slave.relationshipTarget !== slave.relationTarget) {
-							r += `${SlaveFullName(V.slaves[_ssj])}'s`;
-						} else {
-							r += ` and `;
-						}
-						r += `<span class="lightgreen">slave wife.</span> `;
-						break;
+				var friendship = relationshipTerm(slave)
+				if (slave.relationshipTarget !== slave.relationTarget) {
+					r += `${SlaveFullName(V.slaves[_ssj])}'s `;
+				} else {
+					r += ` and `;
 				}
+				r += `<span class="lightgreen">${friendship}.</span> `;
 			}
 		} else if (slave.relationship === -3) {
 			r += `<span class="lightgreen">Your wife.</span> `;
@@ -34712,3 +34540,69 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) {
 	slave.missingLegs = Math.clamp(+slave.missingLegs, 0, 3) || 0;
 	generatePronouns(slave);
 };
+
+window.ArcologyDatatypeCleanup = function ArcologyDatatypeCleanup () {
+	const V = State.variables;
+	
+	V.ACitizens = Math.max(+V.ACitizens, 0) || 0;
+	V.ACitizenLimit = Math.max(+V.ACitizenLimit, 0) || 0;
+	V.ASlaves = Math.max(+V.ASlaves, 0) || 0;
+	V.ASlaveLimit = Math.max(+V.ASlaveLimit, 0) || 0;
+	V.shelterAbuse = Math.max(+V.shelterAbuse, 0) || 0;
+	
+	V.economy = Math.max(+V.economy, 20) || 100;
+	V.difficultySwitch = Math.clamp(+V.difficultySwitch, 0, 1) || 0;
+	V.localEcon = Math.max(+V.localEcon, 20) || V.economy;
+	V.econRate = Math.clamp(V.econRate, 1, 4) || 2;
+	V.slaveCostFactor = Math.max(+V.slaveCostFactor, 0) || 1;
+	if (V.menialSupplyFactor !== 0) {
+		V.menialSupplyFactor = Math.clamp(V.menialSupplyFactor, -50000, 50000) || (1 - V.slaveCostFactor) * 400 * 1000 * 0.5; /* (1 - slaveCostFactor) * price elasticity * base price * 0.5 */
+	}
+	if (V.menialDemandFactor !== 0) {
+		V.menialDemandFactor = Math.clamp(V.menialDemandFactor, -50000, 50000) || -V.menialSupplyFactor;
+	}
+	V.slaveCostRandom = Math.clamp(V.slaveCostRandom, -3, 3) || 0;
+	V.demandTimer = Math.max(+V.demandTimer, 0) || 0;
+	V.elapsedDemandTimer = Math.max(+V.elapsedDemandTimer, 0) || 0;
+	V.supplyTimer = Math.max(+V.supplyTimer, 0) || 0;
+	V.elapsedSupplyTimer = Math.max(+V.elapsedSupplyTimer, 0) || 0;
+	V.deltaSupply = Math.clamp(+V.deltaSupply, -3000, 3000) || 0;
+	V.deltaDemand = Math.clamp(+V.deltaDemand, -3000, 3000) || 0;
+	V.econWeatherDamage = Math.max(+V.econWeatherDamage, 0) || 0;
+	V.disasterResponse = Math.clamp(V.disasterResponse, 0, 2) || 0;
+	
+	V.foodCost = Math.trunc(2500/V.economy);
+	V.drugsCost = Math.trunc(10000/V.economy);
+	V.rulesCost = Math.trunc(10000/V.economy);
+	V.modCost = Math.trunc(5000/V.economy);
+	V.surgeryCost = Math.trunc(30000/V.economy);
+	V.facilityCost = +V.facilityCost || 100;
+	V.policyCost = +V.policyCost || 5000;
+
+	V.TSS.studentsBought = Math.max(+V.TSS.studentsBought, 0) || 0;
+	V.TSS.schoolProsperity = Math.clamp(+V.TSS.schoolProsperity, -10, 10) || 0;
+	V.GRI.studentsBought = Math.max(+V.GRI.studentsBought, 0) || 0;
+	V.GRI.schoolProsperity = Math.clamp(+V.GRI.schoolProsperity, -10, 10) || 0;
+	V.SCP.studentsBought = Math.max(+V.SCP.studentsBought, 0) || 0;
+	V.SCP.schoolProsperity = Math.clamp(+V.SCP.schoolProsperity, -10, 10) || 0;
+	V.LDE.studentsBought = Math.max(+V.LDE.studentsBought, 0) || 0;
+	V.LDE.schoolProsperity = Math.clamp(+V.LDE.schoolProsperity, -10, 10) || 0;
+	V.TGA.studentsBought = Math.max(+V.TGA.studentsBought, 0) || 0;
+	V.TGA.schoolProsperity = Math.clamp(+V.TGA.schoolProsperity, -10, 10) || 0;
+	V.HA.studentsBought = Math.max(+V.HA.studentsBought, 0) || 0;
+	V.HA.schoolProsperity = Math.clamp(+V.HA.schoolProsperity, -10, 10) || 0;
+	V.TCR.studentsBought = Math.max(+V.TCR.studentsBought, 0) || 0;
+	V.TCR.schoolProsperity = Math.clamp(+V.TCR.schoolProsperity, -10, 10) || 0;
+	V.TFS.studentsBought = Math.max(+V.TFS.studentsBought, 0) || 0;
+	V.TFS.schoolProsperity = Math.clamp(+V.TFS.schoolProsperity, -10, 10) || 0;
+
+	V.arcologies[0].prosperity = Math.max(+V.arcologies[0].prosperity, 0) || 0;
+	V.AProsperityCap = Math.max(+V.AProsperityCap, 0) || 0;
+	V.arcologies[0].ownership = Math.clamp(+V.arcologies[0].ownership, 0, 100) || 0;
+	V.arcologies[0].minority = Math.clamp(+V.arcologies[0].minority, 0, 100) || 0;
+
+	/* Will be moved when I get around to creating PCDatatypeCleanup */
+	V.PC.actualAge = Math.clamp(+V.PC.actualAge, 14, 80) || 35;
+	V.PC.physicalAge = Math.clamp(+V.PC.physicalAge, 14, 80) || V.PC.actualAge;
+	V.PC.visualAge = Math.clamp(+V.PC.visualAge, 14, 80) || V.PC.actualAge;
+};
diff --git a/slave variables documentation - Pregmod.txt b/slave variables documentation - Pregmod.txt
index 87d879b3258119bca172a669fd27a97324de4cdf..bbc1fd167b47117b962b5c75d98d9a95e6564b92 100644
--- a/slave variables documentation - Pregmod.txt	
+++ b/slave variables documentation - Pregmod.txt	
@@ -1245,7 +1245,7 @@ hStyle:
 
 hair style
 accepts string
-"shaved bald"
+"shaved"
 "buzzcut"
 "trimmed"
 "afro"
@@ -3292,11 +3292,21 @@ are legs missing?
 2 - yes, right
 3 - yes, both
 
+geneMods:
+	NCS:
+		Does slave have induced NCS?
+		0 - no
+		1 - yes
+	rapidCellGrowth:
+		Has the slave undergone the elasticity(plasticity) treatment?
+		0 - no
+		1 - yes
+
 How to set up your own hero slave.
 
 -The default slave template used:
 
-<<set $activeSlave = {slaveName: "blank", slaveSurname: 0, birthName: "blank", birthSurname: 0, genes: "XX", pronoun: "she", possessive: "her", possessivePronoun: "hers", objectReflexive: "herself", object: "her", noun: "girl", weekAcquired: 0, origin: 0, career: 0, ID: 0, prestige: 0, pornFeed: 0, pornFame: 0, pornFameSpending: 0, pornPrestige: 0, pornPrestigeDesc: 0, pornFameType: "none", pornFocus: "none", pornTypeGeneral: 0, pornTypeFuckdoll: 0, pornTypeRape: 0, pornTypePreggo: 0, pornTypeBBW: 0, pornTypeGainer: 0, pornTypeStud: 0, pornTypeLoli: 0, pornTypeDeepThroat: 0, pornTypeStruggleFuck: 0, pornTypePainal: 0, pornTypeTease: 0, pornTypeRomantic: 0, pornTypePervert: 0, pornTypeCaring: 0, pornTypeUnflinching: 0, pornTypeSizeQueen: 0, pornTypeNeglectful: 0, pornTypeCumAddict: 0, pornTypeAnalAddict: 0, pornTypeAttentionWhore: 0, pornTypeBreastGrowth: 0, pornTypeAbusive: 0, pornTypeMalicious: 0, pornTypeSelfHating: 0, pornTypeBreeder: 0, pornTypeSub: 0, pornTypeCumSlut: 0, pornTypeAnal: 0, pornTypeHumiliation: 0, pornTypeBoobs: 0, pornTypeDom: 0, pornTypeSadist: 0, pornTypeMasochist: 0, pornTypePregnancy: 0, prestigeDesc: 0, recruiter: 0, relation: 0, relationTarget: 0, relationship: 0, relationshipTarget: 0, rivalry: 0, rivalryTarget: 0, subTarget: 0, father: 0, mother: 0, daughters: 0, sisters: 0, canRecruit: 0, choosesOwnAssignment: 0, assignment: "rest", assignmentVisible: 1, sentence: 0, training: 0, toyHole: "all her holes", indenture: -1, indentureRestrictions: 0, birthWeek: random(0,51), actualAge: 18, visualAge: 18, physicalAge: 18, ovaryAge: 18, ageImplant: 0, health: 0, minorInjury: 0, trust: 0, oldTrust: 0, devotion: 0, oldDevotion: 0, weight: 0, muscles: 0, height: 170, heightImplant: 0, nationality: "slave", race: "white", origRace: "white", markings: "none", eyes: 1, eyeColor: "brown", origEye: "brown", pupil: "circular", sclerae: "white", eyewear: "none", hears: 0, earwear: "none", earImplant: 0, origHColor: "brown", hColor: "brown", pubicHColor: "brown", underArmHColor: "brown", eyebrowHColor: "brown", origSkin: "light", skin: "light", hLength: 60, eyebrowFullness: "natural", hStyle: "short", pubicHStyle: "neat", underArmHStyle: "neat", eyebrowHStyle: "natural", waist: 0, corsetPiercing: 0, PLimb: 0, amp: 0, heels:0, voice: 2, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, boobsImplant: 0, boobsImplantType: 0, boobShape: "normal", nipples: "cute", nipplesPiercing: 0, nipplesAccessory: 0, areolae: 0, areolaePiercing: 0, areolaeShape: "circle", boobsTat: 0, lactation: 0, lactationAdaptation: 0, milk: 0, cum: 0, hips: 0, hipsImplant: 0, butt: 0, buttImplant: 0, buttImplantType: 0, buttTat: 0, face: 0, faceImplant: 0, faceShape: "normal", lips: 15, lipsImplant: 0, lipsPiercing: 0, lipsTat: 0, teeth: "normal", tonguePiercing: 0, vagina: 0, vaginaLube: 0, vaginaPiercing: 0, vaginaTat: 0, preg: -1, pregSource: 0, pregType: 0, pregAdaptation: 50, superfetation: 0, ovaImplant: 0, wombImplant: "none", broodmother: 0, broodmotherFetuses: 0, broodmotherOnHold: 0, broodmotherCountDown: 0, labor: 0, births: 0, cSec: 0, bellyAccessory: "none", labia: 0, clit: 0, clitPiercing: 0, clitSetting: "vanilla", foreskin: 0, anus: 0, dick: 0, analArea: 1, dickPiercing: 0, dickTat: 0, prostate: 0, balls: 0, scrotum: 0, ovaries: 0, anusPiercing: 0, anusTat: 0, makeup: 0, nails: 0, brand: 0, brandLocation: 0, earPiercing: 0, nosePiercing: 0, eyebrowPiercing: 0, navelPiercing: 0, shouldersTat: 0, armsTat: 0, legsTat: 0, backTat: 0, stampTat: 0, vaginalSkill: 0, oralSkill: 0, analSkill: 0, whoreSkill: 0, entertainSkill: 0, combatSkill: 0, livingRules: "spare", speechRules: "restrictive", releaseRules: "restrictive", relationshipRules: "restrictive", standardPunishment: "situational", standardReward: "situational", useRulesAssistant: 1, diet: "healthy", dietCum: 0, dietMilk: 0, tired: 0, hormones: 0, drugs: "no drugs", curatives: 0, chem: 0, aphrodisiacs: 0, addict: 0, fuckdoll: 0, choosesOwnClothes: 0, clothes: "no clothing", collar: "none", shoes: "none", vaginalAccessory: "none", dickAccessory: "none", legAccessory: "none", buttplug: "none", buttplugAttachment: "none", intelligence: 0, intelligenceImplant: 0, energy: 50, need: 0, attrXX: 0, attrXY: 0, attrKnown: 0, fetish: "none", fetishStrength: 70, fetishKnown: 0, behavioralFlaw: "none", behavioralQuirk: "none", sexualFlaw: "none", sexualQuirk: "none", oralCount: 0, vaginalCount: 0, analCount: 0, mammaryCount: 0, penetrativeCount: 0, publicCount: 0, pitKills: 0, customTat: "", customLabel: "", customDesc: "", customTitle: "", customTitleLisp: "", rudeTitle: 0, customImage: 0, currentRules: [], bellyTat: 0, induce: 0, mpreg: 0, inflation: 0, inflationType: "none", inflationMethod: 0, milkSource: 0, cumSource: 0, burst: 0, pregKnown: 0, pregWeek: 0, belly: 0, bellyPreg: 0, bellyFluid: 0, bellyImplant: -1, bellySag: 0, bellySagPreg: 0, bellyPain: 0, cervixImplant: 0, birthsTotal: 0, pubertyAgeXX: 13, pubertyAgeXY: 13, scars: 0, breedingMark: 0, bodySwap: 0, HGExclude: 0, ballType: "human", eggType: "human", reservedChildren: 0, reservedChildrenNursery: 0, choosesOwnChastity: 0, pregControl: "none", readyLimbs: [], ageAdjust: 0, bald: 0, origBodyOwner: "", origBodyOwnerID: 0, death: "", hormoneBalance: 0, onDiet: 0, breastMesh: 0, slavesFathered: 0, PCChildrenFathered: 0, slavesKnockedUp: 0, PCKnockedUp: 0, prematureBirth: 0, premature: 0, origSkin: "white", vasectomy: 0, haircuts: 0, newGamePlus: 0, skillHG: 0, skillRC: 0, skillBG: 0, skillMD: 0, skillDJ: 0, skillNU: 0, skillTE: 0, skillAT: 0, skillMT: 0, skillST: 0, skillMM: 0, skillWA: 0, skillS: 0, skillE: 0, skillW: 0, tankBaby: 0, inducedNCS: 0, NCSyouthening: 0, override_Race: 0, override_Skin: 0, override_Eye_Color: 0, override_H_Color: 0, override_Pubic_H_Color: 0, override_Arm_H_Color: 0, override_Brow_H_Color: 0, missingEyes: 0, missingArms: 0, missingLegs: 0}>>
+<<set $activeSlave = {slaveName: "blank", slaveSurname: 0, birthName: "blank", birthSurname: 0, genes: "XX", pronoun: "she", possessive: "her", possessivePronoun: "hers", objectReflexive: "herself", object: "her", noun: "girl", weekAcquired: 0, origin: 0, career: 0, ID: 0, prestige: 0, pornFeed: 0, pornFame: 0, pornFameSpending: 0, pornPrestige: 0, pornPrestigeDesc: 0, pornFameType: "none", pornFocus: "none", pornTypeGeneral: 0, pornTypeFuckdoll: 0, pornTypeRape: 0, pornTypePreggo: 0, pornTypeBBW: 0, pornTypeGainer: 0, pornTypeStud: 0, pornTypeLoli: 0, pornTypeDeepThroat: 0, pornTypeStruggleFuck: 0, pornTypePainal: 0, pornTypeTease: 0, pornTypeRomantic: 0, pornTypePervert: 0, pornTypeCaring: 0, pornTypeUnflinching: 0, pornTypeSizeQueen: 0, pornTypeNeglectful: 0, pornTypeCumAddict: 0, pornTypeAnalAddict: 0, pornTypeAttentionWhore: 0, pornTypeBreastGrowth: 0, pornTypeAbusive: 0, pornTypeMalicious: 0, pornTypeSelfHating: 0, pornTypeBreeder: 0, pornTypeSub: 0, pornTypeCumSlut: 0, pornTypeAnal: 0, pornTypeHumiliation: 0, pornTypeBoobs: 0, pornTypeDom: 0, pornTypeSadist: 0, pornTypeMasochist: 0, pornTypePregnancy: 0, prestigeDesc: 0, recruiter: 0, relation: 0, relationTarget: 0, relationship: 0, relationshipTarget: 0, rivalry: 0, rivalryTarget: 0, subTarget: 0, father: 0, mother: 0, daughters: 0, sisters: 0, canRecruit: 0, choosesOwnAssignment: 0, assignment: "rest", assignmentVisible: 1, sentence: 0, training: 0, toyHole: "all her holes", indenture: -1, indentureRestrictions: 0, birthWeek: random(0,51), actualAge: 18, visualAge: 18, physicalAge: 18, ovaryAge: 18, ageImplant: 0, health: 0, minorInjury: 0, trust: 0, oldTrust: 0, devotion: 0, oldDevotion: 0, weight: 0, muscles: 0, height: 170, heightImplant: 0, nationality: "slave", race: "white", origRace: "white", markings: "none", eyes: 1, eyeColor: "brown", origEye: "brown", pupil: "circular", sclerae: "white", eyewear: "none", hears: 0, earwear: "none", earImplant: 0, origHColor: "brown", hColor: "brown", pubicHColor: "brown", underArmHColor: "brown", eyebrowHColor: "brown", origSkin: "light", skin: "light", hLength: 60, eyebrowFullness: "natural", hStyle: "short", pubicHStyle: "neat", underArmHStyle: "neat", eyebrowHStyle: "natural", waist: 0, corsetPiercing: 0, PLimb: 0, amp: 0, heels:0, voice: 2, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, boobsImplant: 0, boobsImplantType: 0, boobShape: "normal", nipples: "cute", nipplesPiercing: 0, nipplesAccessory: 0, areolae: 0, areolaePiercing: 0, areolaeShape: "circle", boobsTat: 0, lactation: 0, lactationAdaptation: 0, milk: 0, cum: 0, hips: 0, hipsImplant: 0, butt: 0, buttImplant: 0, buttImplantType: 0, buttTat: 0, face: 0, faceImplant: 0, faceShape: "normal", lips: 15, lipsImplant: 0, lipsPiercing: 0, lipsTat: 0, teeth: "normal", tonguePiercing: 0, vagina: 0, vaginaLube: 0, vaginaPiercing: 0, vaginaTat: 0, preg: -1, pregSource: 0, pregType: 0, pregAdaptation: 50, superfetation: 0, ovaImplant: 0, wombImplant: "none", broodmother: 0, broodmotherFetuses: 0, broodmotherOnHold: 0, broodmotherCountDown: 0, labor: 0, births: 0, cSec: 0, bellyAccessory: "none", labia: 0, clit: 0, clitPiercing: 0, clitSetting: "vanilla", foreskin: 0, anus: 0, dick: 0, analArea: 1, dickPiercing: 0, dickTat: 0, prostate: 0, balls: 0, scrotum: 0, ovaries: 0, anusPiercing: 0, anusTat: 0, makeup: 0, nails: 0, brand: 0, brandLocation: 0, earPiercing: 0, nosePiercing: 0, eyebrowPiercing: 0, navelPiercing: 0, shouldersTat: 0, armsTat: 0, legsTat: 0, backTat: 0, stampTat: 0, vaginalSkill: 0, oralSkill: 0, analSkill: 0, whoreSkill: 0, entertainSkill: 0, combatSkill: 0, livingRules: "spare", speechRules: "restrictive", releaseRules: "restrictive", relationshipRules: "restrictive", standardPunishment: "situational", standardReward: "situational", useRulesAssistant: 1, diet: "healthy", dietCum: 0, dietMilk: 0, tired: 0, hormones: 0, drugs: "no drugs", curatives: 0, chem: 0, aphrodisiacs: 0, addict: 0, fuckdoll: 0, choosesOwnClothes: 0, clothes: "no clothing", collar: "none", shoes: "none", vaginalAccessory: "none", dickAccessory: "none", legAccessory: "none", buttplug: "none", buttplugAttachment: "none", intelligence: 0, intelligenceImplant: 0, energy: 50, need: 0, attrXX: 0, attrXY: 0, attrKnown: 0, fetish: "none", fetishStrength: 70, fetishKnown: 0, behavioralFlaw: "none", behavioralQuirk: "none", sexualFlaw: "none", sexualQuirk: "none", oralCount: 0, vaginalCount: 0, analCount: 0, mammaryCount: 0, penetrativeCount: 0, publicCount: 0, pitKills: 0, customTat: "", customLabel: "", customDesc: "", customTitle: "", customTitleLisp: "", rudeTitle: 0, customImage: 0, currentRules: [], bellyTat: 0, induce: 0, mpreg: 0, inflation: 0, inflationType: "none", inflationMethod: 0, milkSource: 0, cumSource: 0, burst: 0, pregKnown: 0, pregWeek: 0, belly: 0, bellyPreg: 0, bellyFluid: 0, bellyImplant: -1, bellySag: 0, bellySagPreg: 0, bellyPain: 0, cervixImplant: 0, birthsTotal: 0, pubertyAgeXX: 13, pubertyAgeXY: 13, scars: 0, breedingMark: 0, bodySwap: 0, HGExclude: 0, ballType: "human", eggType: "human", reservedChildren: 0, reservedChildrenNursery: 0, choosesOwnChastity: 0, pregControl: "none", readyLimbs: [], ageAdjust: 0, bald: 0, origBodyOwner: "", origBodyOwnerID: 0, death: "", hormoneBalance: 0, onDiet: 0, breastMesh: 0, slavesFathered: 0, PCChildrenFathered: 0, slavesKnockedUp: 0, PCKnockedUp: 0, prematureBirth: 0, premature: 0, origSkin: "white", vasectomy: 0, haircuts: 0, newGamePlus: 0, skillHG: 0, skillRC: 0, skillBG: 0, skillMD: 0, skillDJ: 0, skillNU: 0, skillTE: 0, skillAT: 0, skillMT: 0, skillST: 0, skillMM: 0, skillWA: 0, skillS: 0, skillE: 0, skillW: 0, tankBaby: 0, geneMods: {NCS: 0, rapidCellGrowth: 0}, NCSyouthening: 0, override_Race: 0, override_Skin: 0, override_Eye_Color: 0, override_H_Color: 0, override_Pubic_H_Color: 0, override_Arm_H_Color: 0, override_Brow_H_Color: 0, missingEyes: 0, missingArms: 0, missingLegs: 0}>>
 
 Making your slave; add their name to the following, then go down the documentation adding in your changes.
 -each variable must be separated from the last by a comma followed by a space
diff --git a/src/art/vector/Leg.tw b/src/art/vector/Leg.tw
index c9b935383c6b9997c5bee76aed43adc1bd94858a..3d6c4fbed20b7f105ab56e7e297194507fe447a5 100644
--- a/src/art/vector/Leg.tw
+++ b/src/art/vector/Leg.tw
@@ -90,7 +90,7 @@
 	<<include _art>>
 <</if>>
 /* Changed next line for no attached limbs regardless of the PLimb state */
-/* <<if _artSlave.amp == 1 && _artSlave.PLimb == 0>> */
+/* <<if _artSlave.amp == 1 && _artSlave.PLimb == 0>> <</if>> */
 <<if _artSlave.amp == 1>>
 	<<include Art_Vector_Stump>>
 <</if>>
\ No newline at end of file
diff --git a/src/cheats/mod_EditArcologyCheat.tw b/src/cheats/mod_EditArcologyCheat.tw
index ea0ec5f24a0ceb0b1806d43fce3778e1d41f6935..473019194ebad182fae4cbaf010009dfd4f60dfe 100644
--- a/src/cheats/mod_EditArcologyCheat.tw
+++ b/src/cheats/mod_EditArcologyCheat.tw
@@ -1,30 +1,43 @@
 :: MOD_Edit Arcology Cheat [nobr]
 
 <<set $nextButton = "Continue", $nextLink = "MOD_Edit Arcology Cheat Datatype Cleanup">>
-<<set $PC.actualAge = Math.clamp($PC.actualAge, 14, 80)>>
 
 ''Cheating Edit Arcology''
 
-<<if ($economy != 1) || ($seeDicks != 25) || ($continent != "North America") || ($internationalTrade != 1) || ($internationalVariety != 1) || ($seeRace != 1) || ($seeNationality != 1) || ($seeExtreme != 0) || ($plot != 1)>>
-	//[[restore defaults|MOD_Edit Arcology Cheat][$seeDicks = 25,$economy = 1,$continent = "North America",$internationalTrade = 1,$internationalVariety = 1,$seeRace = 1,$seeNationality = 1,$seeExtreme = 0,$plot = 1]]//
+<<if ($economy != 100) || ($seeDicks != 25) || ($continent != "North America") || ($internationalTrade != 1) || ($internationalVariety != 1) || ($seeRace != 1) || ($seeNationality != 1) || ($seeExtreme != 0) || ($plot != 1)>>
+	//[[restore defaults|MOD_Edit Arcology Cheat][$seeDicks = 25,$economy = 100,$continent = "North America",$internationalTrade = 1,$internationalVariety = 1,$seeRace = 1,$seeNationality = 1,$seeExtreme = 0,$plot = 1]]//
 <</if>>
 
-<br><br>The world economy is
-<<if $economy == 1>>
-	in ''doubtful'' shape.
-	[[Easier|MOD_Edit Arcology Cheat][$economy = 0.5]] | [[Harder|MOD_Edit Arcology Cheat][$economy = 1.5]]
-<<elseif $economy < 1>>
-	still in ''good'' shape.
-	[[Harder|MOD_Edit Arcology Cheat][$economy = 1]]
+<br><br>The economic situation is
+<<if $economy > 125>>
+	''not truly dire. Not yet.'' //Very Easy//
+	<br>[[Harder|MOD_Edit Arcology Cheat][$economy = 125]]
+<<elseif $economy > 100>>
+	''getting a touch dire.'' //Easy//
+	<br>[[Harder|MOD_Edit Arcology Cheat][$economy = 100]] | [[Easier|MOD_Edit Arcology Cheat][$economy = 200]]
+<<elseif $economy > 80>>
+	''serious risks.'' //Default Difficulty//
+	<br>[[Harder|MOD_Edit Arcology Cheat][$economy = 80]] | [[Easier|MOD_Edit Arcology Cheat][$economy = 125]]
+<<elseif $economy > 67>>
+	''ugly.'' //Hard//
+	<br>[[Harder|MOD_Edit Arcology Cheat][$economy = 67]] | [[Easier|MOD_Edit Arcology Cheat][$economy = 100]]
 <<else>>
-	in ''terrible'' shape.
-	[[Easier|MOD_Edit Arcology Cheat][$economy = 1]]
+	''this is the last dance.'' //Very Hard//
+	<br>[[Easier|MOD_Edit Arcology Cheat][$economy = 80]]
+<</if>>
+<br>The economy is forecasted to 
+<<if $difficultySwitch == 0>>
+	''remain fairly stable.''
+<<elseif $econRate == 1>>
+	''slowly decline''. //Easy//
+	<br>[[Harder|MOD_Edit Arcology Cheat][$econRate = 2]]
+<<elseif $econRate == 2>>
+	''noticeably deteriorate'' //Default Difficulty//
+	<br>[[Harder|MOD_Edit Arcology Cheat][$econRate = 4]] | [[Easier|MOD_Edit Arcology Cheat][$econRate = 1]]
+<<else>>
+	''go to hell in a handbasket''. //Hard//
+	<br>[[Easier|MOD_Edit Arcology Cheat][$econRate = 2]]
 <</if>>
-
-<<set $drugsCost = Math.trunc(100*$economy)>>
-<<set $rulesCost = Math.trunc(100*$economy)>>
-<<set $modCost = Math.trunc(50*$economy)>>
-<<set $surgeryCost = Math.trunc(300*$economy)>>
 
 <br>The arcology is located in ''$continent''.
 [[North America|MOD_Edit Arcology Cheat][$continent = "North America", $language = "English"]] | [[South America|MOD_Edit Arcology Cheat][$continent = "South America", $language = "Spanish"]] | [[Europe|MOD_Edit Arcology Cheat][$continent = "Europe", $language = "English"]] | [[the Middle East|MOD_Edit Arcology Cheat][$continent = "the Middle East", $language = "Arabic"]] | [[Africa|MOD_Edit Arcology Cheat][$continent = "Africa", $language = "Arabic"]] | [[Asia|MOD_Edit Arcology Cheat][$continent = "Asia", $language = "Chinese"]] | [[Australia|MOD_Edit Arcology Cheat][$continent = "Australia", $language = "English"]] | [[Japan|MOD_Edit Arcology Cheat][$continent = "Japan", $language = "Japanese"]]
diff --git a/src/cheats/mod_EditArcologyCheatDatatypeCleanup.tw b/src/cheats/mod_EditArcologyCheatDatatypeCleanup.tw
index 86030bf4e5a2820b5b834148a92c81ddc570e289..1d4b3759f3af2b113358bbdb081174b315e40bde 100644
--- a/src/cheats/mod_EditArcologyCheatDatatypeCleanup.tw
+++ b/src/cheats/mod_EditArcologyCheatDatatypeCleanup.tw
@@ -12,43 +12,7 @@
 <</if>>
 <<unset $customEvalCode>>
 
-<<set $ACitizens = Number($ACitizens) || 0>>
-<<set $ACitizenLimit = Number($ACitizenLimit) || 0>>
-<<set $ASlaves = Number($ASlaves) || 0>>
-<<set $ASlaveLimit = Number($ASlaveLimit) || 0>>
-<<set $arcologies[0].prosperity = Number($arcologies[0].prosperity) || 0>>
-<<set $AProsperityCap = Number($AProsperityCap) || 0>>
-<<set $shelterAbuse = Number($shelterAbuse) || 0>>
-
-<<set $TSS.studentsBought = Number($TSS.studentsBought) || 0>>
-<<set $TSS.schoolProsperity = Number($TSS.schoolProsperity) || 0>>
-
-<<set $GRI.studentsBought = Number($GRI.studentsBought) || 0>>
-<<set $GRI.schoolProsperity = Number($GRI.schoolProsperity) || 0>>
-
-<<set $SCP.studentsBought = Number($SCP.studentsBought) || 0>>
-<<set $SCP.schoolProsperity = Number($SCP.schoolProsperity) || 0>>
-
-<<set $LDE.studentsBought = Number($LDE.studentsBought) || 0>>
-<<set $LDE.schoolProsperity = Number($LDE.schoolProsperity) || 0>>
-
-<<set $TGA.studentsBought = Number($TGA.studentsBought) || 0>>
-<<set $TGA.schoolProsperity = Number($TGA.schoolProsperity) || 0>>
-
-<<set $HA.studentsBought = Number($HA.studentsBought) || 0>>
-<<set $HA.schoolProsperity = Number($HA.schoolProsperity) || 0>>
-
-<<set $TCR.studentsBought = Number($TCR.studentsBought) || 0>>
-<<set $TCR.schoolProsperity = Number($TCR.schoolProsperity) || 0>>
-
-<<set $TFS.studentsBought = Number($TFS.studentsBought) || 0>>
-<<set $TFS.schoolProsperity = Number($TFS.schoolProsperity) || 0>>
-
-<<set $arcologies[0].ownership = Number($arcologies[0].ownership) || 0>>
-<<set $arcologies[0].minority = Number($arcologies[0].minority) || 0>>
-
-<<set $PC.actualAge = Number($PC.actualAge) || 35>>
-<<set $PC.physicalAge = $PC.actualAge, $PC.visualAge = $PC.actualAge>>
+<<run ArcologyDatatypeCleanup()>>
 
 The chanting grows louder and louder, CHEAT! CHEAT! CHEAT!
 
diff --git a/src/events/intro/initNationalities.tw b/src/events/intro/initNationalities.tw
index 1f30c366a944f2e9807be2cafdea071e61e8b883..35e89f2cbd0308556157127dde6973800206e91e 100644
--- a/src/events/intro/initNationalities.tw
+++ b/src/events/intro/initNationalities.tw
@@ -249,13 +249,21 @@
 	<<if ndef $customVariety>>
 		<<set $nationalities = arr2obj(setup.baseNationalities)>>
 	<</if>>
-	<<set $arcologies[0].FSSupremacistRace = "white">>
-	<<set $arcologies[0].FSSubjugationistRace = "middle eastern">>
+	<<if $targetArcology.type != "Supremacist">>
+		<<set $arcologies[0].FSSupremacistRace = "white">>
+	<</if>>
+	<<if $targetArcology.type != "Subjugationist">>
+		<<set $arcologies[0].FSSubjugationistRace = "middle eastern">>
+	<</if>>
 <<else>>
 	<<switch $continent>>
 	<<case "North America">>
-		<<set $arcologies[0].FSSupremacistRace = "white">>
-		<<set $arcologies[0].FSSubjugationistRace = "black">>
+		<<if $targetArcology.type != "Supremacist">>
+			<<set $arcologies[0].FSSupremacistRace = "white">>
+		<</if>>
+		<<if $targetArcology.type != "Subjugationist">>
+			<<set $arcologies[0].FSSubjugationistRace = "black">>
+		<</if>>
 		<<if ndef $customVariety>> /* If non-custom variety, adds regional $nationalities */
 		<<set hashPush($nationalities, "American", "American", "American", "American", "American", "American")>>
 		<<set hashPush($nationalities, "Antiguan")>>
@@ -287,8 +295,12 @@
 		<<set hashPush($nationalities, "Vincentian")>>
 		<</if>>
 	<<case "South America">>
-		<<set $arcologies[0].FSSupremacistRace = "latina">>
-		<<set $arcologies[0].FSSubjugationistRace = "black">>
+		<<if $targetArcology.type != "Supremacist">>
+			<<set $arcologies[0].FSSupremacistRace = "latina">>
+		<</if>>
+		<<if $targetArcology.type != "Subjugationist">>
+			<<set $arcologies[0].FSSubjugationistRace = "black">>
+		<</if>>
 		<<if ndef $customVariety>>
 		<<set hashPush($nationalities, "Argentinian", "Argentinian", "Argentinian")>>
 		<<set hashPush($nationalities, "Bolivian", "Bolivian")>>
@@ -305,8 +317,12 @@
 		<<set hashPush($nationalities, "Venezuelan", "Venezuelan", "Venezuelan")>>
 		<</if>>
 	<<case "Brazil">>
-		<<set $arcologies[0].FSSupremacistRace = "white">>
-		<<set $arcologies[0].FSSubjugationistRace = "black">>
+		<<if $targetArcology.type != "Supremacist">>
+			<<set $arcologies[0].FSSupremacistRace = "white">>
+		<</if>>
+		<<if $targetArcology.type != "Subjugationist">>
+			<<set $arcologies[0].FSSubjugationistRace = "black">>
+		<</if>>
 		<<if ndef $customVariety>>
 		<<set hashPush($nationalities, "Argentinian", "Argentinian", "Argentinian", "Argentinian")>>
 		<<set hashPush($nationalities, "Bolivian", "Bolivian")>>
@@ -323,8 +339,12 @@
 		<<set hashPush($nationalities, "Venezuelan", "Venezuelan", "Venezuelan")>>
 		<</if>>
 	<<case "the Middle East">>
-		<<set $arcologies[0].FSSupremacistRace = "middle eastern">>
-		<<set $arcologies[0].FSSubjugationistRace = "asian">>
+		<<if $targetArcology.type != "Supremacist">>
+			<<set $arcologies[0].FSSupremacistRace = "middle eastern">>
+		<</if>>
+		<<if $targetArcology.type != "Subjugationist">>
+			<<set $arcologies[0].FSSubjugationistRace = "asian">>
+		<</if>>
 		<<if ndef $customVariety>>
 		<<set hashPush($nationalities, "Afghan", "Afghan")>>
 		<<set hashPush($nationalities, "Armenian", "Armenian")>>
@@ -350,8 +370,12 @@
 		<<set hashPush($nationalities, "Yemeni", "Yemeni")>>
 		<</if>>
 	<<case "Africa">>
-		<<set $arcologies[0].FSSupremacistRace = "black">>
-		<<set $arcologies[0].FSSubjugationistRace = "white">>
+		<<if $targetArcology.type != "Supremacist">>
+			<<set $arcologies[0].FSSupremacistRace = "black">>
+		<</if>>
+		<<if $targetArcology.type != "Subjugationist">>
+			<<set $arcologies[0].FSSubjugationistRace = "white">>
+		<</if>>
 		<<if ndef $customVariety>>
 		<<set hashPush($nationalities, "Algerian", "Algerian", "Algerian")>>
 		<<set hashPush($nationalities, "Angolan")>>
@@ -409,8 +433,12 @@
 		<<set hashPush($nationalities, "Zimbabwean", "Zimbabwean")>>
 		<</if>>
 	<<case "Asia">>
-		<<set $arcologies[0].FSSupremacistRace = "asian">>
-		<<set $arcologies[0].FSSubjugationistRace = "indo-aryan">>
+		<<if $targetArcology.type != "Supremacist">>
+			<<set $arcologies[0].FSSupremacistRace = "asian">>
+		<</if>>
+		<<if $targetArcology.type != "Subjugationist">>
+			<<set $arcologies[0].FSSubjugationistRace = "indo-aryan">>
+		<</if>>
 		<<if ndef $customVariety>>
 		<<set hashPush($nationalities, "Bangladeshi", "Bangladeshi", "Bangladeshi", "Bangladeshi")>>
 		<<set hashPush($nationalities, "Bhutanese")>>
@@ -443,8 +471,12 @@
 		<<set hashPush($nationalities, "Vietnamese", "Vietnamese", "Vietnamese")>>
 		<</if>>
 	<<case "Europe">>
-		<<set $arcologies[0].FSSupremacistRace = "white">>
-		<<set $arcologies[0].FSSubjugationistRace = "middle eastern">>
+		<<if $targetArcology.type != "Supremacist">>
+			<<set $arcologies[0].FSSupremacistRace = "white">>
+		<</if>>
+		<<if $targetArcology.type != "Subjugationist">>
+			<<set $arcologies[0].FSSubjugationistRace = "middle eastern">>
+		<</if>>
 		<<if ndef $customVariety>>
 		<<set hashPush($nationalities, "Albanian")>>
 		<<set hashPush($nationalities, "Andorran")>>
@@ -495,8 +527,12 @@
 		<<set hashPush($nationalities, "Vatican")>>
 		<</if>>
 	<<case "Australia">>
-		<<set $arcologies[0].FSSupremacistRace = "white">>
-		<<set $arcologies[0].FSSubjugationistRace = "asian">>
+		<<if $targetArcology.type != "Supremacist">>
+			<<set $arcologies[0].FSSupremacistRace = "white">>
+		<</if>>
+		<<if $targetArcology.type != "Subjugationist">>
+			<<set $arcologies[0].FSSubjugationistRace = "asian">>
+		<</if>>
 		<<set hashPush($nationalities, "Australian", "Australian", "Australian")>>
 		<<set hashPush($nationalities, "a Cook Islander")>>
 		<<set hashPush($nationalities, "Fijian")>>
@@ -517,8 +553,12 @@
 		<<set hashPush($nationalities, "Tongan")>>
 		<<set hashPush($nationalities, "Tuvaluan")>>
 	<<case "Japan">>
-		<<set $arcologies[0].FSSupremacistRace = "asian">>
-		<<set $arcologies[0].FSSubjugationistRace = "asian">>
+		<<if $targetArcology.type != "Supremacist">>
+			<<set $arcologies[0].FSSupremacistRace = "asian">>
+		<</if>>
+		<<if $targetArcology.type != "Subjugationist">>
+			<<set $arcologies[0].FSSubjugationistRace = "asian">>
+		<</if>>
 		<<if ndef $customVariety>>
 		<<set hashPush($nationalities, "Japanese", "Japanese", "Japanese")>>
 		<</if>>
diff --git a/src/events/intro/introSummary.tw b/src/events/intro/introSummary.tw
index 0953db6ad6d19c38eea47aaa750b1b6c950ceb4d..296218fa4aec872c6b05f0df02d60237eb3f410f 100644
--- a/src/events/intro/introSummary.tw
+++ b/src/events/intro/introSummary.tw
@@ -52,7 +52,7 @@ __''World Settings''__
 	''slow decline''. //Easy//
 	<br>[[Harder|Intro Summary][$econRate = 2]] | [[Easier|Intro Summary][$difficultySwitch = 0]]
 <<elseif $econRate == 2>>
-	''noticable deterioration'' //Default Difficulty//
+	''noticeable deterioration'' //Default Difficulty//
 	<br>[[Harder|Intro Summary][$econRate = 4]] | [[Easier|Intro Summary][$econRate = 1]]
 <<else>>
 	''going to hell in a handbasket''. //Hard//
@@ -1138,8 +1138,8 @@ __''Mods''__
 	<<goto "init Nationalities">>
 <</link>>
 
-<<if ($economy != 100) || ($seeDicks != 50) || ($continent != "North America") || ($internationalTrade != 1) || ($internationalVariety != 1) || ($seeRace != 1) || ($seeNationality != 1) || ($seeExtreme != 0) || ($seeCircumcision != 1) || ($seeAge != 1) || ($plot != 1)>>
-	| [[restore defaults|Intro Summary][$seeDicks = 50,$economy = 100,$continent = "North America",$internationalTrade = 1,$internationalVariety = 1,$seeRace = 1,$seeNationality = 1,$seeExtreme = 0,$seeCircumcision = 1,$seeAge = 1,$plot = 1]]
+<<if ($economy != 100) || ($seeDicks != 25) || ($continent != "North America") || ($internationalTrade != 1) || ($internationalVariety != 1) || ($seeRace != 1) || ($seeNationality != 1) || ($seeExtreme != 0) || ($seeCircumcision != 1) || ($seeAge != 1) || ($plot != 1)>>
+	| [[restore defaults|Intro Summary][$seeDicks = 25,$economy = 100,$continent = "North America",$internationalTrade = 1,$internationalVariety = 1,$seeRace = 1,$seeNationality = 1,$seeExtreme = 0,$seeCircumcision = 1,$seeAge = 1,$plot = 1]]
 <</if>>
 
 <br><br>
diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw
index f16808347daed9fbd54e8e2fce797194c941ec07..61dd250983af00f1d30c8402b5c9d25ed6974075 100644
--- a/src/init/storyInit.tw
+++ b/src/init/storyInit.tw
@@ -389,6 +389,8 @@ You should have received a copy of the GNU General Public License along with thi
 	<<set $economy = 100>>
 	<<set $econRate = 2>>
 	<<set $difficultySwitch = 0>>
+	<<set $econWeatherDamage = 0>>
+	<<set $disasterResponse = 0>>
 	<<set $neighboringArcologies = 3>>
 	<<set $newDescriptions = 0>>
 	<<set $familyTesting = 0>>
@@ -1015,6 +1017,7 @@ DairyRestraintsSetting($dairyRestraintsSetting)
 
 <<set $collaboration = 0>>
 <<set $traitor = 0>>
+<<set $traitorWeeks = 0>>
 <<set $hackerSupport = 0>>
 <<set $hostage = 0>>
 <<set $hostageAnnounced = 0>>
diff --git a/src/js/assayJS.tw b/src/js/assayJS.tw
index b4cef778239114ada50c33681821ed4cc8484e85..309257eaeac979a7eb46ff36f3da3380b63b78c3 100644
--- a/src/js/assayJS.tw
+++ b/src/js/assayJS.tw
@@ -337,29 +337,7 @@ window.newSlave = function newSlave(slave) {
 		V.REReductionCheckinIDs.push(slave.ID);
 	}
 
-	if (slave.fuckdoll > 0) {
-		slave.pronoun = "it";
-		slave.possessivePronoun = "its";
-		slave.possessive = "its";
-		slave.object = "it";
-		slave.objectReflexive = "itself";
-		slave.noun = "toy";
-	} else if (slave.dick > 0 && slave.vagina === -1 && V.diversePronouns === 1) {
-		slave.pronoun = "he";
-		slave.possessivePronoun = "his";
-		slave.possessive = "his";
-		slave.object = "him";
-		slave.objectReflexive = "himself";
-		slave.noun = "boy";
-	} else {
-		slave.pronoun = "she";
-		slave.possessivePronoun = "hers";
-		slave.possessive = "her";
-		slave.object = "her";
-		slave.objectReflexive = "herself";
-		slave.noun = "girl";
-	}
-
+	generatePronouns(slave);
 	SetBellySize(slave);
 	addSlave(slave);
 
@@ -1211,9 +1189,9 @@ window.SlaveTitle = function SlaveTitle(slave) {
 
 		if (slave.boobs > 4000 && slave.lactation > 0) {
 			if (slave.physicalAge < 13) {
-				r = r + " calf ";
+				r = r + " calf";
 			} else {
-				r = r + " cow ";
+				r = r + " cow";
 			}
 		} else if (slave.lactation > 0) {
 			r = "milky " + r;
@@ -1248,7 +1226,7 @@ window.SlaveTitle = function SlaveTitle(slave) {
 		}
 
 		if (slave.weight > 10 && slave.weight < 100 && slave.boobs > 5000 && slave.butt > 5 && slave.hips >= 2 && slave.bellyPreg >= 30000 && slave.births >= 10) {
-			r = r + "fertility goddess";
+			r = r + " fertility goddess";
 		} else if (slave.births >= 6) {
 			r = r + " broodmother";
 		} else if (slave.births >= 3) {
diff --git a/src/js/datatypeCleanupJS.tw b/src/js/datatypeCleanupJS.tw
index 018f5961bc776c830982009c5220cb7ad5915de7..0a6ce740a78260e9346e8676e709c2a54d4d63a8 100644
--- a/src/js/datatypeCleanupJS.tw
+++ b/src/js/datatypeCleanupJS.tw
@@ -507,3 +507,69 @@ window.SlaveDatatypeCleanup = function SlaveDatatypeCleanup (slave) {
 	slave.missingLegs = Math.clamp(+slave.missingLegs, 0, 3) || 0;
 	generatePronouns(slave);
 };
+
+window.ArcologyDatatypeCleanup = function ArcologyDatatypeCleanup () {
+	const V = State.variables;
+	
+	V.ACitizens = Math.max(+V.ACitizens, 0) || 0;
+	V.ACitizenLimit = Math.max(+V.ACitizenLimit, 0) || 0;
+	V.ASlaves = Math.max(+V.ASlaves, 0) || 0;
+	V.ASlaveLimit = Math.max(+V.ASlaveLimit, 0) || 0;
+	V.shelterAbuse = Math.max(+V.shelterAbuse, 0) || 0;
+	
+	V.arcologies[0].prosperity = Math.max(+V.arcologies[0].prosperity, 0) || 0;
+	V.AProsperityCap = Math.max(+V.AProsperityCap, 0) || 0;
+	V.arcologies[0].ownership = Math.clamp(+V.arcologies[0].ownership, 0, 100) || 0;
+	V.arcologies[0].minority = Math.clamp(+V.arcologies[0].minority, 0, 100) || 0;
+	
+	V.economy = Math.max(+V.economy, 20) || 100;
+	V.difficultySwitch = Math.clamp(+V.difficultySwitch, 0, 1) || 0;
+	V.localEcon = Math.max(+V.localEcon, 20) || V.economy;
+	V.econRate = Math.clamp(V.econRate, 1, 4) || 2;
+	V.slaveCostFactor = Math.max(+V.slaveCostFactor, 0) || 1;
+	if (V.menialSupplyFactor !== 0) {
+		V.menialSupplyFactor = Math.clamp(V.menialSupplyFactor, -50000, 50000) || (1 - V.slaveCostFactor) * 400 * 1000 * 0.5; /* (1 - slaveCostFactor) * price elasticity * base price * 0.5 */
+	}
+	if (V.menialDemandFactor !== 0) {
+		V.menialDemandFactor = Math.clamp(V.menialDemandFactor, -50000, 50000) || -V.menialSupplyFactor;
+	}
+	V.slaveCostRandom = Math.clamp(V.slaveCostRandom, -3, 3) || 0;
+	V.demandTimer = Math.max(+V.demandTimer, 0) || 0;
+	V.elapsedDemandTimer = Math.max(+V.elapsedDemandTimer, 0) || 0;
+	V.supplyTimer = Math.max(+V.supplyTimer, 0) || 0;
+	V.elapsedSupplyTimer = Math.max(+V.elapsedSupplyTimer, 0) || 0;
+	V.deltaSupply = Math.clamp(+V.deltaSupply, -3000, 3000) || 0;
+	V.deltaDemand = Math.clamp(+V.deltaDemand, -3000, 3000) || 0;
+	V.econWeatherDamage = Math.max(+V.econWeatherDamage, 0) || 0;
+	V.disasterResponse = Math.clamp(V.disasterResponse, 0, 2) || 0;
+	
+	V.foodCost = Math.trunc(2500/V.economy);
+	V.drugsCost = Math.trunc(10000/V.economy);
+	V.rulesCost = Math.trunc(10000/V.economy);
+	V.modCost = Math.trunc(5000/V.economy);
+	V.surgeryCost = Math.trunc(30000/V.economy);
+	V.facilityCost = +V.facilityCost || 100;
+	V.policyCost = +V.policyCost || 5000;
+
+	V.TSS.studentsBought = Math.max(+V.TSS.studentsBought, 0) || 0;
+	V.TSS.schoolProsperity = Math.clamp(+V.TSS.schoolProsperity, -10, 10) || 0;
+	V.GRI.studentsBought = Math.max(+V.GRI.studentsBought, 0) || 0;
+	V.GRI.schoolProsperity = Math.clamp(+V.GRI.schoolProsperity, -10, 10) || 0;
+	V.SCP.studentsBought = Math.max(+V.SCP.studentsBought, 0) || 0;
+	V.SCP.schoolProsperity = Math.clamp(+V.SCP.schoolProsperity, -10, 10) || 0;
+	V.LDE.studentsBought = Math.max(+V.LDE.studentsBought, 0) || 0;
+	V.LDE.schoolProsperity = Math.clamp(+V.LDE.schoolProsperity, -10, 10) || 0;
+	V.TGA.studentsBought = Math.max(+V.TGA.studentsBought, 0) || 0;
+	V.TGA.schoolProsperity = Math.clamp(+V.TGA.schoolProsperity, -10, 10) || 0;
+	V.HA.studentsBought = Math.max(+V.HA.studentsBought, 0) || 0;
+	V.HA.schoolProsperity = Math.clamp(+V.HA.schoolProsperity, -10, 10) || 0;
+	V.TCR.studentsBought = Math.max(+V.TCR.studentsBought, 0) || 0;
+	V.TCR.schoolProsperity = Math.clamp(+V.TCR.schoolProsperity, -10, 10) || 0;
+	V.TFS.studentsBought = Math.max(+V.TFS.studentsBought, 0) || 0;
+	V.TFS.schoolProsperity = Math.clamp(+V.TFS.schoolProsperity, -10, 10) || 0;
+
+	/* Will be moved when I get around to creating PCDatatypeCleanup */
+	V.PC.actualAge = Math.clamp(+V.PC.actualAge, 14, 80) || 35;
+	V.PC.physicalAge = Math.clamp(+V.PC.physicalAge, 14, 80) || V.PC.actualAge;
+	V.PC.visualAge = Math.clamp(+V.PC.visualAge, 14, 80) || V.PC.actualAge;
+};
diff --git a/src/js/economyJS.tw b/src/js/economyJS.tw
index 42629b15dd99e68082736416ff610658bda2a24f..99cc80c6fcc8b844f06f86258d2e84a6b7d139b9 100644
--- a/src/js/economyJS.tw
+++ b/src/js/economyJS.tw
@@ -335,6 +335,9 @@ window.getCost = function(array) {
 			costs += Math.ceil(T.SFCashBonus);
 		}
 	}
+	if(State.variables.econWeatherDamage && State.variables.disasterResponse > 0) {
+		costs += Math.trunc(State.variables.disasterResponse * 200000 / State.variables.localEcon);
+	}
 	// clean up
 	if(costs < 0) {
 		costs = 0;
diff --git a/src/js/relationshipChecks.tw b/src/js/relationshipChecks.tw
new file mode 100644
index 0000000000000000000000000000000000000000..765e2fea22caadd97c46490f100482591d3d35f3
--- /dev/null
+++ b/src/js/relationshipChecks.tw
@@ -0,0 +1,36 @@
+:: relationshipChecks [script]
+window.rivalryTerm = function(id) {
+	if (id.rivalry === 1) {
+		return `growing rival`;
+	} else if (id.rivalry === 2) {
+		return `rival`;
+	} else {
+		return `bitter rival`;
+	}
+}
+window.relationshipTerm = function(id) {
+	if (id.relationship === 1) {
+		return `friend`;
+	} else if (id.relationship === 2) {
+		return `best friend`;
+	} else if (id.relationship === 3) {
+			return `friend with benefits`;
+	} else if (id.relationship === 4) {
+			return `lover`;
+	} else {
+			return `slave wife`;
+	}
+}
+window.relationshipTermShort = function(id) {
+	if (id.relationship === 1) {
+		return `friend`;
+	} else if (id.relationship === 2) {
+		return `BFF`;
+	} else if (id.relationship === 3) {
+		return `FWB`;
+	} else if (id.relationship === 4) {
+		return `lover`;
+	} else {
+		return `wife`;
+	}
+}
\ No newline at end of file
diff --git a/src/js/slaveSummaryWidgets.tw b/src/js/slaveSummaryWidgets.tw
index 2ca24e4349861f53aa7c6ae299442cb2c5e20f04..582e3a7ed9c822f8a5b04fe3dc3aa83b7ee9faf5 100644
--- a/src/js/slaveSummaryWidgets.tw
+++ b/src/js/slaveSummaryWidgets.tw
@@ -3654,17 +3654,8 @@ window.SlaveSummaryUncached = (function(){
 			if (_ssj !== -1) {
 				r += `${SlaveFullName(V.slaves[_ssj])}'s daughter`;
 				if (slave.relationshipTarget === V.slaves[_ssj].ID) {
-					if (slave.relationship === 1) {
-						r += ` & friend`;
-					} else if (slave.relationship === 2) {
-						r += ` & BFF`;
-					} else if (slave.relationship === 3) {
-						r += ` & FWB`;
-					} else if (slave.relationship === 4) {
-						r += ` & lover`;
-					} else {
-						r += ` & wife`;
-					}
+					var friendShipShort = relationshipTermShort(slave)
+					r += ` & ${friendShipShort}`;
 					handled = 1;
 				}
 			}
@@ -3689,17 +3680,8 @@ window.SlaveSummaryUncached = (function(){
 			if (_ssj !== -1) {
 				r += `${SlaveFullName(V.slaves[_ssj])}'s daughter`;
 				if (slave.relationshipTarget === V.slaves[_ssj].ID && handled !== 1) {
-					if (slave.relationship === 1) {
-						r += ` & friend`;
-					} else if (slave.relationship === 2) {
-						r += ` & BFF`;
-					} else if (slave.relationship === 3) {
-						r += ` & FWB`;
-					} else if (slave.relationship === 4) {
-						r += ` & lover`;
-					} else {
-						r += ` & wife`;
-					}
+					var friendShipShort = relationshipTermShort(slave)
+					r += ` & ${friendShipShort}`;
 					handled = 1;
 				}
 			}
@@ -3724,17 +3706,8 @@ window.SlaveSummaryUncached = (function(){
 			if (_ssj !== -1) {
 				r += `${SlaveFullName(V.slaves[_ssj])}'s mother`;
 				if (slave.relationshipTarget === V.slaves[_ssj].ID) {
-					if (slave.relationship === 1) {
-						r += ` & friend`;
-					} else if (slave.relationship === 2) {
-						r += ` & BFF`;
-					} else if (slave.relationship === 3) {
-						r += ` & FWB`;
-					} else if (slave.relationship === 4) {
-						r += ` & lover`;
-					} else {
-						r += ` & wife`;
-					}
+					var friendShipShort = relationshipTermShort(slave)
+					r += ` & ${friendShipShort}`;
 					handled = 1;
 				}
 			}
@@ -3745,17 +3718,8 @@ window.SlaveSummaryUncached = (function(){
 			if (_ssj !== -1) {
 				r += `${SlaveFullName(V.slaves[_ssj])}'s father`;
 				if (slave.relationshipTarget === V.slaves[_ssj].ID && handled !== 1) {
-					if (slave.relationship === 1) {
-						r += ` & friend`;
-					} else if (slave.relationship === 2) {
-						r += ` & BFF`;
-					} else if (slave.relationship === 3) {
-						r += ` & FWB`;
-					} else if (slave.relationship === 4) {
-						r += ` & lover`;
-					} else {
-						r += ` & wife`;
-					}
+					var friendShipShort = relationshipTermShort(slave)
+					r += ` & ${friendShipShort}`;
 					handled = 1;
 				}
 			}
@@ -3770,17 +3734,8 @@ window.SlaveSummaryUncached = (function(){
 			if (_ssj !== -1) {
 				r += `${SlaveFullName(V.slaves[_ssj])}'s sister`;
 				if (slave.relationshipTarget === V.slaves[_ssj].ID) {
-					if (slave.relationship === 1) {
-						r += ` & friend`;
-					} else if (slave.relationship === 2) {
-						r += ` & BFF`;
-					} else if (slave.relationship === 3) {
-						r += ` & FWB`;
-					} else if (slave.relationship === 4) {
-						r += ` & lover`;
-					} else {
-						r += ` & wife`;
-					}
+					var friendShipShort = relationshipTermShort(slave)
+					r += `& ${friendShipShort}`;
 					handled = 1;
 				}
 			}
@@ -3794,23 +3749,8 @@ window.SlaveSummaryUncached = (function(){
 			});
 			if (_ssj !== -1) {
 				r += `${SlaveFullName(V.slaves[_ssj])}'s`;
-				switch (slave.relationship) {
-					case 1:
-						r += ` friend`;
-						break;
-					case 2:
-						r += ` BFF`;
-						break;
-					case 3:
-						r += ` FWB`;
-						break;
-					case 4:
-						r += ` lover`;
-						break;
-					case 5:
-						r += ` wife`;
-						break;
-				}
+				var friendShipShort = relationshipTermShort(slave)
+				r += ` ${friendShipShort}`;
 			}
 		} else if (slave.relationship === -3 && slave.mother !== -1 && slave.father !== -1) {
 			r += `Your wife`;
@@ -3836,48 +3776,13 @@ window.SlaveSummaryUncached = (function(){
 				return s.ID === slave.relationshipTarget;
 			});
 			if (_ssj !== -1) {
-				switch (slave.relationship) {
-					case 1:
-						if (slave.relationshipTarget !== slave.relationTarget) {
-							r += `${SlaveFullName(V.slaves[_ssj])}'s`;
-						} else {
-							r += ` &`;
-						}
-						r += ` friend`;
-						break;
-					case 2:
-						if (slave.relationshipTarget !== slave.relationTarget) {
-							r += `${SlaveFullName(V.slaves[_ssj])}'s`;
-						} else {
-							r += ` &`;
-						}
-						r += ` BFF`;
-						break;
-					case 3:
-						if (slave.relationshipTarget !== slave.relationTarget) {
-							r += `${SlaveFullName(V.slaves[_ssj])}'s`;
-						} else {
-							r += ` &`;
-						}
-						r += ` FWB`;
-						break;
-					case 4:
-						if (slave.relationshipTarget !== slave.relationTarget) {
-							r += `${SlaveFullName(V.slaves[_ssj])}'s`;
-						} else {
-							r += ` &`;
-						}
-						r += ` lover`;
-						break;
-					case 5:
-						if (slave.relationshipTarget !== slave.relationTarget) {
-							r += `${SlaveFullName(V.slaves[_ssj])}'s`;
-						} else {
-							r += ` &`;
-						}
-						r += ` wife`;
-						break;
-				}
+				var friendship = relationshipTerm(slave)
+					if (slave.relationshipTarget !== slave.relationTarget) {
+						r += `${SlaveFullName(V.slaves[_ssj])}'s`;
+					} else {
+						r += ` &`;
+					}
+					r += ` ${friendship}`;
 			}
 		} else if (slave.relationship === -3) {
 			r += `Your wife`;
@@ -3917,17 +3822,8 @@ window.SlaveSummaryUncached = (function(){
 			if (_ssj !== -1) {
 				r += `${SlaveFullName(V.slaves[_ssj])}'s <span class="lightgreen">daughter`;
 				if (slave.relationshipTarget === V.slaves[_ssj].ID) {
-					if (slave.relationship === 1) {
-						r += ` and friend`;
-					} else if (slave.relationship === 2) {
-						r += ` and best friend`;
-					} else if (slave.relationship === 3) {
-						r += ` and FWB`;
-					} else if (slave.relationship === 4) {
-						r += ` and lover`;
-					} else {
-						r += ` and wife`;
-					}
+					var friendShipShort = relationshipTerm(slave)
+					r += ` and ${friendShipShort}`;
 					handled = 1;
 				}
 				r += `.</span> `;
@@ -3953,17 +3849,8 @@ window.SlaveSummaryUncached = (function(){
 			if (_ssj !== -1) {
 				r += `${SlaveFullName(V.slaves[_ssj])}'s <span class="lightgreen">daughter`;
 				if (slave.relationshipTarget === V.slaves[_ssj].ID) {
-					if (slave.relationship === 1) {
-						r += ` and friend`;
-					} else if (slave.relationship === 2) {
-						r += ` and best friend`;
-					} else if (slave.relationship === 3) {
-						r += ` and FWB`;
-					} else if (slave.relationship === 4) {
-						r += ` and lover`;
-					} else {
-						r += ` and wife`;
-					}
+					var friendShipShort = relationshipTerm(slave)
+					r += ` and ${friendShipShort}`;
 					handled = 1;
 				}
 				r += `.</span> `;
@@ -3989,17 +3876,8 @@ window.SlaveSummaryUncached = (function(){
 			if (_ssj !== -1) {
 				r += `${SlaveFullName(V.slaves[_ssj])}'s <span class="lightgreen">mother`;
 				if (slave.relationshipTarget === V.slaves[_ssj].ID) {
-					if (slave.relationship === 1) {
-						r += ` and friend`;
-					} else if (slave.relationship === 2) {
-						r += ` and best friend`;
-					} else if (slave.relationship === 3) {
-						r += ` and FWB`;
-					} else if (slave.relationship === 4) {
-						r += ` and lover`;
-					} else {
-						r += ` and wife`;
-					}
+					var friendShipShort = relationshipTerm(slave)
+					r += ` and ${friendShipShort}`;
 					handled = 1;
 				}
 				r += `.</span> `;
@@ -4010,17 +3888,8 @@ window.SlaveSummaryUncached = (function(){
 			if (_ssj !== -1) {
 				r += `${SlaveFullName(V.slaves[_ssj])}'s <span class="lightgreen">father`;
 				if (slave.relationshipTarget === V.slaves[_ssj].ID) {
-					if (slave.relationship === 1) {
-						r += ` and friend`;
-					} else if (slave.relationship === 2) {
-						r += ` and best friend`;
-					} else if (slave.relationship === 3) {
-						r += ` and FWB`;
-					} else if (slave.relationship === 4) {
-						r += ` and lover`;
-					} else {
-						r += ` and wife`;
-					}
+					var friendShipShort = relationshipTerm(slave)
+					r += ` and ${friendShipShort}`;
 					handled = 1;
 				}
 				r += `.</span> `;
@@ -4041,17 +3910,8 @@ window.SlaveSummaryUncached = (function(){
 			if (_ssj !== -1) {
 				r += `${SlaveFullName(V.slaves[_ssj])}'s <span class="lightgreen">sister`;
 				if (slave.relationshipTarget === V.slaves[_ssj].ID) {
-					if (slave.relationship === 1) {
-						r += ` and friend`;
-					} else if (slave.relationship === 2) {
-						r += ` and best friend`;
-					} else if (slave.relationship === 3) {
-						r += ` and FWB`;
-					} else if (slave.relationship === 4) {
-						r += ` and lover`;
-					} else {
-						r += ` and wife`;
-					}
+					var friendShipShort = relationshipTerm(slave)
+					r += ` and ${friendShipShort}`;
 					handled = 1;
 				}
 				r += `.</span> `;
@@ -4070,24 +3930,9 @@ window.SlaveSummaryUncached = (function(){
 				return s.ID === slave.relationshipTarget;
 			});
 			if (_ssj !== -1) {
+				var friendship = relationshipTerm(slave)
 				r += `${SlaveFullName(V.slaves[_ssj])}'s `;
-				switch (slave.relationship) {
-					case 1:
-						r += `<span class="lightgreen">friend.</span> `;
-						break;
-					case 2:
-						r += `<span class="lightgreen">best friend.</span> `;
-						break;
-					case 3:
-						r += `<span class="lightgreen">FWB.</span> `;
-						break;
-					case 4:
-						r += `<span class="lightgreen">lover.</span> `;
-						break;
-					case 5:
-						r += `<span class="lightgreen">slave wife.</span> `;
-						break;
-				}
+				r += `<span class="lightgreen">${friendship}.</span> `;
 			}
 		} else if (slave.relationship === -3 && slave.mother !== -1 && slave.father !== -1) {
 			r += `<span class="lightgreen">Your wife.</span> `;
@@ -4120,48 +3965,13 @@ window.SlaveSummaryUncached = (function(){
 				return s.ID === slave.relationshipTarget;
 			});
 			if (_ssj !== -1) {
-				switch (slave.relationship) {
-					case 1:
-						if (slave.relationshipTarget !== slave.relationTarget) {
-							r += `${SlaveFullName(V.slaves[_ssj])}'s `;
-						} else {
-							r += ` and `;
-						}
-						r += `<span class="lightgreen">friend.</span> `;
-						break;
-					case 2:
-						if (slave.relationshipTarget !== slave.relationTarget) {
-							r += `${SlaveFullName(V.slaves[_ssj])}'s `;
-						} else {
-							r += ` and `;
-						}
-						r += `<span class="lightgreen">best friend.</span> `;
-						break;
-					case 3:
-						if (slave.relationshipTarget !== slave.relationTarget) {
-							r += `${SlaveFullName(V.slaves[_ssj])}'s `;
-						} else {
-							r += ` and `;
-						}
-						r += `<span class="lightgreen">FWB.</span> `;
-						break;
-					case 4:
-						if (slave.relationshipTarget !== slave.relationTarget) {
-							r += `${SlaveFullName(V.slaves[_ssj])}'s `;
-						} else {
-							r += ` and `;
-						}
-						r += `<span class="lightgreen">lover.</span> `;
-						break;
-					case 5:
-						if (slave.relationshipTarget !== slave.relationTarget) {
-							r += `${SlaveFullName(V.slaves[_ssj])}'s`;
-						} else {
-							r += ` and `;
-						}
-						r += `<span class="lightgreen">slave wife.</span> `;
-						break;
+				var friendship = relationshipTerm(slave)
+				if (slave.relationshipTarget !== slave.relationTarget) {
+					r += `${SlaveFullName(V.slaves[_ssj])}'s `;
+				} else {
+					r += ` and `;
 				}
+				r += `<span class="lightgreen">${friendship}.</span> `;
 			}
 		} else if (slave.relationship === -3) {
 			r += `<span class="lightgreen">Your wife.</span> `;
diff --git a/src/npc/fFeelings.tw b/src/npc/fFeelings.tw
index 85847e33991177e558bc159e5ff7659bac9c4d72..cedd7caa2ef2fb8de1ed398e2191390871c13ebd 100644
--- a/src/npc/fFeelings.tw
+++ b/src/npc/fFeelings.tw
@@ -169,7 +169,7 @@ My favorite part of my body i<<s>>
                 Thank you for breeding u<<s>>, <<Master>>! Our womb i<<s>> your<<s>> to impregnate.  
             <</if>>
             What? Oh, I'm thinking of my<<s>>elf and my <<if ($activeSlave.fetus_count >=2) || ($activeSlave.broodmother >=1)>> babie<<s>> <<else>> baby <</if>> as one person again, aren't I? I'm <<s>>orry, <<Master>>. It'<<s>> ju<<s>>t so hard to remember when my womb i<<s>> <<s>>o much more than I am in every way.
-        <<eleif ($activeSlave.bellyPreg >= 15000)>>
+        <<elseif ($activeSlave.bellyPreg >= 15000)>>
             ... um... our bulging pregnant belly, of cour<<s>>e. we love feeling our womb <<s>>well with life.
             <<if $activeSlave.pregSource == -1>>
                 Thank you for breeding u<<s>>, <<Master>>! Our womb i<<s>> your<<s>> to impregnate.  
diff --git a/src/pregmod/manageEconomy.tw b/src/pregmod/manageEconomy.tw
index d66c6ff712636aa4d33c6bf6ab550229c599c26f..bb05654a2803365049580cb4e5ac9366f41f2906 100644
--- a/src/pregmod/manageEconomy.tw
+++ b/src/pregmod/manageEconomy.tw
@@ -45,6 +45,20 @@
 		<<set _econPercent = Math.trunc(100000/$localEcon-1000)/10>>
 		increasing prices by @@.red;''<<print _econPercent>> %.''@@
 	<</if>>
+	<<if $econWeatherDamage > 0>>
+		<br><br>The recent terrible weather has damaged the local infrastructure. It is @@.red;reducing the local economy score by <<print $econWeatherDamage>>.@@
+		<<if $disasterResponse == 0>>
+			<br>Locals will do their best to repair the damage on their own, but setting up a disaster response unit <br>will improve the recovery of infrastructure critical for keeping goods, people and information flowing smoothly in and out of your arcology. 
+			<br>Creating the unit will cost <<print cashFormat(50000)>> and incur upkeep. [[Create Disaster Response Unit|Manage Economy][$cash -= 50000, $disasterResponse = 1]]
+		<<elseif $disasterResponse == 1>>
+			<br>You are sending your disaster response unit to repair critical infrastructure. They are doing what they can.
+			<br>The unit can be made more effective with an additional investment of <<print cashFormat(100000)>>. This will also increase upkeep. [[Improve Disaster Response Unit|Manage Economy][$cash -= 100000, $disasterResponse = 2]]
+		<<else>>
+			<br>Your highly capable disaster response unit is rapidly repairing the weather damage.
+		<</if>>
+	<<elseif $disasterResponse > 0>>
+		<br><br>Your disaster response unit is idle. It won't cost you any upkeep this week.
+	<</if>>
 <br><br>	
 <</if>>
 
diff --git a/src/pregmod/pAssociatesPublicSlut.tw b/src/pregmod/pAssociatesPublicSlut.tw
new file mode 100644
index 0000000000000000000000000000000000000000..c48ec886185ea80beff6ee94c11e03c38c3bc5ac
--- /dev/null
+++ b/src/pregmod/pAssociatesPublicSlut.tw
@@ -0,0 +1,54 @@
+:: P associates public slut [nobr]
+
+<<set $nextButton = "Continue", $nextLink = "Random Nonindividual Event", _num = random(1,99)>>
+
+The Promenade is especially vibrant today, humming with activity as the wealthier of '' $arcologies[0].name''s citizens go about their business and pleasure. You are a regular sight here, leisurely strolling amidst the bustle of the many shops, boutiques and eateries that line the wide thoroughfare. These regular strolls are, of course, timed in order to allow the citizenry, particularly high society, to feel your presence. Its not all about optics though, there are frequent opportunities for pleasure during these outings, be it shopping, dining or more unique kinds of distraction. One such opportunity presents itself today.
+
+<br><br>
+
+You take a detour down one of the minor byways that feed into the Promenade proper. The centre of the street is divided by a row of public benches and carefully manicured trees, interspersed by simple metal railings that are set into the ground, coming up to about waist height. They look like bicycle stands, and are indeed occasionally used as such, but their primary function is for restraining slaves for public use, as punishment for some and reward for others. The scene playing out before you is most assuredly the former. A petite slave is being restrained.
+
+<<if _num < $seeDicks>>
+	His pink minidress is scrunched up around his waist, having been peeled back from his flat chest and hiked up to reveal his rather small genitals and his butt. He is bent over the railing at the waist, his hands and legs both shackled at either end of the rail, and a ring gag keeps him relatively quiet, while simultaneously keeping his mouth available for use.
+<<else>>
+	Her pink minidress is scrunched up around her waist, having been peeled back from her buxom chest and hiked up to reveal her lewd pussy and ass. She is bent over the railing at the waist, her hands and legs both shackled at either end of the rail, while a ring gag keeps her relatively quiet, while simultaneously keeping her mouth available for use.
+<</if>>
+
+<br><br>
+
+<<if _num < $seeDicks>>
+	The one restraining him is a business associate of yours. She's a beautiful woman who cuts a gorgeous figure in her expensive, tasteful business attire. You have some rapport with one another and she greets you cheerily and you make small talk as she finishes up shackling her newly minted slave. He was, she explains, her boyfriend, who had accrued significant debt due to his severe lack of business sense and tact. She had bought out his debt in order to save him from enslavement, only to find out not long after that he had been cheating on her with another free woman. Since she owned his debt, it took only a few formalities to turn him into her property as revenge. "Since he likes sluts so much, I'm going to turn him into one!" She giggles, while stroking the struggling traps luxurious bleach blond hair. Her eyes light up as her gaze returns to you. You know whats coming, and are surprised it took this long for it to occur to her. She reaches around her slave and spreads his ass cheeks. "<<if $dick>>Sir<<else>> Ma'am<</if>>, it would honor me if you fucked him!".
+
+	You consider the slaves anus. Your associate has clearly spent all day customising her new toy, it looks freshly bleached, and is smooth and inviting. It effectively has been transformed into a sex organ.
+<<else>>
+	The one restraining her is a business associate of yours. Hes a well built man who cuts a handsome figure in his expensive, tasteful business attire. You have some rapport with one another and he greets you cheerily and you make small talk as he finishes up shackling his newly minted slave. She was, he explains, his girlfriend, who had accrued significant debt due to her severe lack of business sense and tact. He had bought out her debt in order to save her from enslavement, only to find out not long after that she had been cheating on him with another free woman. Since he owned her debt, it took only a few formalities to turn her into his property as revenge. "She was already a slut, Ive simply made her look the part, and play it more honestly!" he chuckles, while fondling the struggling bimbo's ample ass. He favors you with a rueful smile as his gaze returns to you. You know whats coming, and are surprised it took this long for it to occur to him. He reaches around his slave and spreads her ass cheeks. "<<if $dick>>Sir<<else>> Ma'am<</if>>, it would honor me if you fucked her! Ive had her hymen restored just a few hours ago, first time is all yours if you want it.".
+
+	You consider the slaves pussy. Your associate has clearly spent all day customising his new toy, it looks tight and inviting. Surprisingly, she's quite moist, indicating that in spite of her struggling, she's actually rather aroused, seems she has a bit of a fetish for humiliation. She'll assuredly make an excellent slave if thats the case.
+<</if>>
+
+<br><br>
+
+<span id="result">
+<<link "Give <<if _num < $seeDicks>>him his<<else>>her the<</if>> first taste of slave life">>
+	<<replace "#result">>
+		<<if _num < $seeDicks>>
+			Taking a slaves anal virginity is hardly novel for you, yet somehow it never stops being fun. You grab the bottle of lubricant your associate has left out for use and begin to generously lubricate his asshole <<if $dick == 0>>. You also reach for one of the brand new strapons she has left out for ladies who wish to avail of her slut, tearing it eagerly from its box.<<else>>.<</if>> He begins to moan as you gently probe his anus with the tip of <<if $dick == 0>>the strap on<<else>>your cock<</if>>. Slowly, you get a little deeper with every third or fourth thrust of your hips. You grab on to his petite, feminine waist as you work, occasionally using one hand to hold him roughly by the hair, neck or shoulder, or to smack his butt. Your business associate makes no attempt to hide her obvious arousal at the sight of <<if $dick == 0>>the formidable dildo<<else>>your formidable cock<</if>> pounding some obedience into her slave, and flirts shamelessly with you as you work. <<if $dick == 0>>The slave climaxes, and while you dont quite join him, watching him squirm helplessly underneath you as you used his ass has left you instensely aroused.<<else>>The slaves tight anal muscles massage your cock as he orgasms, bringing you to climax as well.<</if>> Your associate's faced is flushed after the spectacle, though considering the disappointing size of her new slaves penis its hardly surprising that she's so thirsty for male attention. She offers to "serve you some refreshments" back at her apartment, an offer you happily take her up on. As you depart with her, a mass of curious socialites converge on the helpless sissy, eager to try his asshole out, since being fucked by the owner of the arcology has instantly, albeit temporarily, made him very very fashionable. 
+		<<else>>
+			Taking a slaves virginity is hardly novel for you, yet somehow it never stops being fun. You consider the bottle of lubricant your associate has left out for use and then decide it's unnecessary, since the slutty bitch is already quite wet.<<if $dick == 0>>. You do however reach for one of the brand new strapons he has left out for ladies who wish to avail of his slut, tearing it eagerly from its box.<<else>>.<</if>> She begins to moan as you gently probe her pussy with the tip of <<if $dick == 0>>the strap on<<else>>your cock<</if>>. Slowly, you get a little deeper with every third or fourth thrust of your hips. You grab on to her petite, feminine waist as you work, occasionally using one hand to hold her roughly by the hair, neck or shoulder, or to smack her butt. Your business associate can't keep the smug smile off his face as he watches you pound some obedience into his slave. You know nothing puts a bitch in her place harder than discovering the secret rapture of being fucked just the way she didn't even know she likes it, and focus on exploiting her apparent humiliation fetish.<<if $dick == 0>> She climaxes indecently hard from your expert, hard, but just tender enough loving.<<else>> Her tight pussy brings you to climax after a hard fucking and the sensation of being filled with your semen is enough to bring about her orgasm as well.<</if>> Your associate is extremely impressed with your performance and eager to ask for some slave-breaking tips. You're more than happy to offer a little advice, considering hes new to the game, and the two of you walk off together to find somewhere where you can get refreshments as you discuss. As you depart, a mass of curious socialites converge on the helpless slut, eager to try her holes out, since being fucked by the owner of the arcology has instantly, albeit temporarily, made her very very fashionable. 
+		<</if>>
+		Your citizens @@.green;appreciated@@ the vigorous show you put on, and the fact that you are @@.green;not too snobby@@ to enjoy the simple pleasure of availing of a public whore once in a while. 
+		<<set $rep += 100>>
+	<</replace>>
+<</link>>
+<br><<link "Decline, but suggest Coffee in the Cafe across the street">>
+	<<replace "#result">>
+		<<if _num < $seeDicks>>
+			You decline her offer, but instead offer to buy her coffee at the nearby cafe. You enjoy some especially delicious coffee together while admiring the view of her slaves ass being broken in by a trickle of curious parties, who also occasionally walk around to the other side of the helpless sissy to use his mouth.
+		<<else>>
+			You decline his offer, but instead offer to buy him coffee at the nearby cafe. You enjoy some especially delicious coffee together while admiring the view of his slaves pussy being broken in by a trickle of curious parties, who also occasionally avail of her ass or walk around to the other side of the helpless slut to use her mouth.
+		<</if>>
+		You trade friendly chit-chat and end up discussing business after a while, eventually striking a minor bargain over some outstanding orders that were causing some grief to your holdings, earning you some @@.yellowgreen;extra cash.@@
+		<<set $cash += random(250,1000)>>
+	<</replace>>
+<</link>>
+</span>
\ No newline at end of file
diff --git a/src/pregmod/saClothes.tw b/src/pregmod/saClothes.tw
index 45772a6b7945248eaa0f80b85f671881f53f7ed5..21b3659e3483bc655e0813626b1686caa097021c 100644
--- a/src/pregmod/saClothes.tw
+++ b/src/pregmod/saClothes.tw
@@ -559,63 +559,72 @@
 	<</if>>
 <</if>>
 
-<<if ($slaves[$i].shoes == "heels")>>
-	<<if ($slaves[$i].amp < 0)>>
-		$His P-Limb legs work just as well in heels as they do out of them.
-	<<elseif $slaves[$i].fuckdoll == 0 && $slaves[$i].fetish != "mindbroken">>
-		<<if $slaves[$i].devotion < -20>>
-			$He @@.mediumorchid;resents being forced@@ to wear high heels.
-			<<set $slaves[$i].devotion -= 2>>
+<<if $slaves[$i].amp < 1>>
+	<<if ($slaves[$i].shoes == "heels")>>
+		<<if ($slaves[$i].amp < 0)>>
+			$His P-Limb legs work just as well in heels as they do out of them.
+		<<elseif $slaves[$i].fuckdoll == 0 && $slaves[$i].fetish != "mindbroken">>
+			<<if $slaves[$i].devotion < -20>>
+				$He @@.mediumorchid;resents being forced@@ to wear high heels.
+				<<set $slaves[$i].devotion -= 2>>
+			<</if>>
 		<</if>>
-	<</if>>
-<<elseif ($slaves[$i].shoes == "boots")>>
-	<<if ($slaves[$i].amp < 0)>>
-		$His P-Limb legs work just as well in boots as they do out of them.
-	<<elseif $slaves[$i].fuckdoll == 0 && $slaves[$i].fetish != "mindbroken">>
-		<<if $slaves[$i].devotion < -20>>
-			$He @@.mediumorchid;resents being forced@@ to wear high heeled boots.
-			<<set $slaves[$i].devotion -= 2>>
+	<<elseif ($slaves[$i].shoes == "boots")>>
+		<<if ($slaves[$i].amp < 0)>>
+			$His P-Limb legs work just as well in boots as they do out of them.
+		<<elseif $slaves[$i].fuckdoll == 0 && $slaves[$i].fetish != "mindbroken">>
+			<<if $slaves[$i].devotion < -20>>
+				$He @@.mediumorchid;resents being forced@@ to wear high heeled boots.
+				<<set $slaves[$i].devotion -= 2>>
+			<</if>>
 		<</if>>
-	<</if>>
-<<elseif ($slaves[$i].shoes == "extreme heels")>>
-	<<if ($slaves[$i].amp < 0)>>
-		$His P-Limb legs work just as well in extreme heels as they do out of them.
-	<<elseif $slaves[$i].fuckdoll == 0 && $slaves[$i].fetish != "mindbroken">>
-		<<if $slaves[$i].devotion < -20>>
-			$He @@.mediumorchid;resents being forced@@ to wear @@.gold;painfully@@ high heels.
-			<<set $slaves[$i].devotion -= 2>>
-			<<set $slaves[$i].trust -= 2>>
-		<<elseif ($slaves[$i].fetish == "masochist")>>
-			It is difficult to walk in $his extreme heels, but $he
-			<<if ($slaves[$i].fetishKnown == 0)>>
-				seems to enjoy every painful step; $he's a @@.lightcoral;natural masochist.@@
-				<<set $slaves[$i].fetishKnown = 1>>
+	<<elseif ($slaves[$i].shoes == "extreme heels")>>
+		<<if ($slaves[$i].amp < 0)>>
+			$His P-Limb legs work just as well in extreme heels as they do out of them.
+		<<elseif $slaves[$i].fuckdoll == 0 && $slaves[$i].fetish != "mindbroken">>
+			<<if $slaves[$i].devotion < -20>>
+				$He @@.mediumorchid;resents being forced@@ to wear @@.gold;painfully@@ high heels.
+				<<set $slaves[$i].devotion -= 2>>
+				<<set $slaves[$i].trust -= 2>>
+			<<elseif ($slaves[$i].fetish == "masochist")>>
+				It is difficult to walk in $his extreme heels, but $he
+				<<if ($slaves[$i].fetishKnown == 0)>>
+					seems to enjoy every painful step; $he's a @@.lightcoral;natural masochist.@@
+					<<set $slaves[$i].fetishKnown = 1>>
+				<<else>>
+					@@.hotpink;appreciates@@ every painful step $he gets to take.
+					<<set $slaves[$i].devotion += 1>>
+				<</if>>
 			<<else>>
-				@@.hotpink;appreciates@@ every painful step $he gets to take.
+				$He is kept @@.hotpink;mindful@@ and @@.gold;fearful@@ by the difficulty of walking in $his extreme heels.
 				<<set $slaves[$i].devotion += 1>>
+				<<set $slaves[$i].trust -= 1>>
+			<</if>>
+			They're so high they're a bit @@.red;unhealthy@@ for $his legs.
+			<<set $slaves[$i].health -= 2>>
+		<</if>>
+	<<else>>
+		<<if ($slaves[$i].heels == 1) && !canWalk($slaves[$i]) && ($slaves[$i].fetish != "mindbroken")>>
+			<<if $slaves[$i].shoes == "pumps">>
+				While $he can barely stand with $his heeled pumps, $he is incapable of taking a step in them.
+			<</if>>
+			<<if ($slaves[$i].devotion >= -20) && ($slaves[$i].fetish == "submissive") && ($slaves[$i].fetishKnown == 1)>>
+				$He @@.hotpink;loves being forced@@ to crawl around like some kind of animal.
+				<<set $slaves[$i].devotion += 1>>
+			<<elseif $slaves[$i].devotion > 50>>
+				$He accepts being forced to crawl around on all fours.
+			<<else>>
+				$He @@.mediumorchid;resents being forced@@ to crawl around like some kind of animal, but it keeps $him properly @@.gold;afraid.@@
+				<<set $slaves[$i].devotion -= 2, $slaves[$i].trust -= 4>>
 			<</if>>
-		<<else>>
-			$He is kept @@.hotpink;mindful@@ and @@.gold;fearful@@ by the difficulty of walking in $his extreme heels.
-			<<set $slaves[$i].devotion += 1>>
-			<<set $slaves[$i].trust -= 1>>
 		<</if>>
-		They're so high they're a bit @@.red;unhealthy@@ for $his legs.
-		<<set $slaves[$i].health -= 2>>
 	<</if>>
 <<else>>
-	<<if ($slaves[$i].heels == 1) && !canWalk($slaves[$i]) && ($slaves[$i].fetish != "mindbroken")>>
-		<<if $slaves[$i].shoes == "pumps">>
-			While $he can barely stand with $his heeled pumps, $he is incapable of taking a step in them.
-		<</if>>
-		<<if ($slaves[$i].devotion >= -20) && ($slaves[$i].fetish == "submissive") && ($slaves[$i].fetishKnown == 1)>>
-			$He @@.hotpink;loves being forced@@ to crawl around like some kind of animal.
-			<<set $slaves[$i].devotion += 1>>
-		<<elseif $slaves[$i].devotion > 50>>
-			$He accepts being forced to crawl around on all fours.
-		<<else>>
-			$He @@.mediumorchid;resents being forced@@ to crawl around like some kind of animal, but it keeps $him properly @@.gold;afraid.@@
-			<<set $slaves[$i].devotion -= 2, $slaves[$i].trust -= 4>>
-		<</if>>
+	<<if $slaves[$i].shoes != "none">>
+		<<set $slaves[$i].shoes = "none">>
+	<</if>>
+	<<if $slaves[$i].legAccessory != "none">>
+		<<set $slaves[$i].legAccessory = "none">>
 	<</if>>
 <</if>>
 
diff --git a/src/pregmod/sePlayerBirth.tw b/src/pregmod/sePlayerBirth.tw
index 78fddcf93417cc9acbf15feb0bb27e8ff33ba8f0..3702ab80a06907ee254a7301d5f2de5546b00095 100644
--- a/src/pregmod/sePlayerBirth.tw
+++ b/src/pregmod/sePlayerBirth.tw
@@ -631,3 +631,4 @@ You arrange yourself to give birth, relaxing until your body urges you to begin
 <<else>>
 	<<set $PC.pregWeek = -4>>
 <</if>>
+<<set $PC.belly = getPregBellySize($PC)>>
diff --git a/src/pregmod/theBlackMarket.tw b/src/pregmod/theBlackMarket.tw
index 4c96181f0f2e885df174de885ad94c59c144efee..5e73f351eb0f3f98c480d01581e6d1ab43fe624c 100644
--- a/src/pregmod/theBlackMarket.tw
+++ b/src/pregmod/theBlackMarket.tw
@@ -219,11 +219,11 @@ Of all the wonders present, the thing that catches your eye the most is a shady
 						<<if $ImplantProductionUpgrade == 1>>
 							<<if $surgeryUpgrade == 1>>
 								<<if $cash >= 20000>>
-									[[Purchase documents about the broodmother implant firmware hack|The Black Market][$cash -= 20000, $PGHack = 1, _dump = $merchantIllegalWares.delete("PGHack")]] //@@.yellowgreen;<<print cashFormat(20000)>>.@@//
+									[[Purchase documents regarding the broodmother implant firmware hack|The Black Market][$cash -= 20000, $PGHack = 1, _dump = $merchantIllegalWares.delete("PGHack")]] //@@.yellowgreen;<<print cashFormat(20000)>>.@@//
 								<<else>>
-									You cannot afford the asking price of @@.red;<<print cashFormat(20000)>>@@ for the broodmoter implant firmware data.
+									You cannot afford the asking price of @@.red;<<print cashFormat(20000)>>@@ for the broodmother implant firmware data.
 								<</if>>
-								"I might have something for you, if interested. Some time ago a hacker manage to crack the firmware of the publicly available broodmother implant and found how to manipulate it through the radio channel normally used for monitoring. His goal was to take revenge on a arcology owner who's loved concubine had this implant, but this plan failed as he couldn't hide his hacking attempt - to send something to the implant you need to be very close to it. In a fact, you need a special actuator inserted up to the cervix, which just so happens to be included in this deal. And it is very much advised to use it in a surgical suite, in case of complications, such as the sudden activation of the birthing process. But anyway, the hack, if applied appropriately, can interfere with original logic of the implant, forcing it to release more than one ova every week. Originally, the hacker made it about dozen, but after we tweaked his initial code, now it will be just two or three ova. You will get all the needed data and schematics for the autosurgery upgrade, but you will need to make and install it on your own."
+								"I might have something for you, if you're interested. Some time ago a hacker manage to crack the firmware of the publicly available broodmother implant and found how to manipulate it through the radio channel normally used for monitoring. His goal was to take revenge on an arcology owner who's beloved concubine had this implant, but this plan failed as he couldn't hide his hacking attempt; to send something to the implant you need to be very close to it. In fact, you need a special actuator inserted up to the cervix, which just so happens to be included in this deal. It is very much advised to use it from within a surgical suite, in case of complications, such as the sudden activation of the birthing process. But anyway, the hack, if applied appropriately, can interfere with the original logic of the implant, forcing it to release more than one ovum every week. Originally, the hacker made it about a dozen, but after we tweaked his initial code, now it will be just two or three ova. You will get all the required data and schematics for the autosurgery upgrade, but you will need to make and install it on your own."
 							<<else>>
 								The autosurgery lacks the needed actuators, so applying the broodmother implant hack complex is impossible.
 							<</if>>
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index ad3fa0f716081e29dfd8836c7df5cc8e63b0534b..d3d678e178a16c69778e7fc601b6f83e836f6c86 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -103,9 +103,6 @@
 <<if def $recruiters>>
 	<<unset $recruiters>>
 <</if>>
-<<if ndef $foodCost>>
-	<<set $foodCost = 25>>
-<</if>>
 <<if ndef $fixedNationality>>
 	<<set $fixedNationality = 0>>
 <</if>>
@@ -230,12 +227,6 @@
 		<<set $PC.actualAge = 50>>
 	<</if>>
 <</if>>
-<<if ndef $PC.visualAge>>
-	<<set $PC.visualAge = $PC.actualAge>>
-<</if>>
-<<if ndef $PC.physicalAge>>
-	<<set $PC.physicalAge = $PC.actualAge>>
-<</if>>
 <<if ndef $PC.birthWeek>>
 	<<set $PC.birthWeek = 0>>
 <</if>>
@@ -1698,9 +1689,6 @@ Setting missing global variables:
 	<<set $terrain = "rural">>
 <</if>>
 
-<<if ndef $menialDemandFactor>>
-	<<set $menialDemandFactor = 0>>
-<</if>>
 <<if ndef nicaeaAnnounceable>>
 	<<set $nicaeaAnnounceable = 0>>
 <</if>>
@@ -1720,13 +1708,6 @@ Setting missing global variables:
 	<<set $nicaeaHeld = 0>>
 <</if>>
 
-<<if ndef $facilityCost>>
-<<set $facilityCost = 100>>
-<</if>>
-<<if ndef $policyCost>>
-	<<set $policyCost = 5000>>
-<</if>>
-
 <<if ndef $REFeminizationCheckinIDs>>
 	<<set $REFeminizationCheckinIDs = []>>
 <</if>>
@@ -2218,6 +2199,9 @@ Setting missing global variables:
 <<if ndef $pregInventions>>
 	<<set $pregInventions = 0>>
 <</if>>
+<<if ndef $traitorWeeks>>
+	<<set $traitorWeeks = 0>>
+<</if>>
 
 /* Job Fulfillment Center */
 <<if ndef $JFCOrder>>
@@ -2670,35 +2654,8 @@ Setting missing global variables:
 <<if $economy == 1.5>>
 	<<set $economy = 67>>
 <</if>>
-<<if ndef $difficultySwitch>>
-	<<set $difficultySwitch = 0>>
-<</if>>
-<<if ndef $menialSupplyFactor>>
-	/* (1 - slaveCostFactor) * price elasticity * base price * 0.5 */
-	<<set $menialSupplyFactor = (1 - $slaveCostFactor) * 400 * 1000 * 0.5>>
-	<<set $menialDemandFactor = (1 - $slaveCostFactor) * -400 * 1000 * 0.5>>
-<</if>>
-<<if ndef $slaveCostRandom>>
-	<<set $slaveCostRandom = 0>>
-<</if>>
-<<if ndef $demandTimer>>
-	<<set $demandTimer = 0>>
-<</if>>
-<<if ndef $elapsedDemandTimer>>
-	<<set $elapsedDemandTimer = 0>>
-<</if>>
-<<if ndef $supplyTimer>>
-	<<set $supplyTimer = 0>>
-<</if>>
-<<if ndef $elapsedSupplyTimer>>
-	<<set $elapsedSupplyTimer = 0>>
-<</if>>
-<<if ndef $deltaSupply>>
-	<<set $deltaSupply = 0>>
-<</if>>
-<<if ndef $deltaDemand>>
-	<<set $deltaDemand = 0>>
-<</if>>
+
+<<run ArcologyDatatypeCleanup()>>
 
 Done!
 
diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw
index 161c5ea56e2f1b5d4cdb79bba09868b200457600..60386720649882c64111e60347c1be5246c420a5 100644
--- a/src/uncategorized/RESS.tw
+++ b/src/uncategorized/RESS.tw
@@ -20298,7 +20298,7 @@ You tell her kindly that you understand, and that $he'll be trained to address t
 <<link "Abuse $him">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
-	You lean against a wall and take a moment to enjoy your slave's discomfort. Realizing that her <<WrittenMaster>> is intending to do nothing, $he blushes and begins pulling on $his belly, attempting to free $himself. 
+	You lean against a wall and take a moment to enjoy your slave's discomfort. Realizing that her <<= WrittenMaster($activeSlave)>> is intending to do nothing, $he blushes and begins pulling on $his belly, attempting to free $himself. 
 	<<if ($activeSlave.broodmother === 2) && ($activeSlave.preg >= 30)>> 
 		$His innumerable brood are awakened by her exertions and begin to move, testing the thin walls of the womb constraining them and causing $his belly to throb ominously. You count the number of infants distinctly outlined against your poor hyperbroodmother's straining body. 
 	<<elseif ($activeSlave.broodmother == 1) && ($activeSlave.preg >= 30)>> 
@@ -20409,7 +20409,7 @@ You tell her kindly that you understand, and that $he'll be trained to address t
 		pert ass.
 	<</if>>
 	<br><br>
-	You step back, taking one last appreciatively look at your trapped slave, then call a team of menials to remove the door from its foundation to free $him. Though your slave is extricated uninjured, your decision to use her before saving her leaves the $girl @@.gold;trusting you less@@. You could pay to have the door widened, but then you wouldn't get this opportunity again, would you?
+	You step back, taking one last appreciative look at your trapped slave, then call a team of menials to remove the door from its foundation to free $him. Though your slave is extricated uninjured, your decision to use her before saving her leaves the $girl @@.gold;trusting you less@@. You could pay to have the door widened, but then you wouldn't get this opportunity again, would you?
 	<br>
 	<<set $activeSlave.health -= 10, $activeSlave.trust -= 10>>
 	<</replace>>
@@ -20417,23 +20417,23 @@ You tell her kindly that you understand, and that $he'll be trained to address t
 <br><<link "Try the 'Butter Strategy'">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
-	You ponder her predicament for a moment before settling on a solution. You procure an industrial sized jar of curative laced moisturizing butter--specially formulated to ease the strain of hypermassive pregnancy--and explain to your slave that, to free $him, you're going to need to completely cover her in it so that $he can squeeze through. 
+	You ponder $his predicament for a moment before settling on a solution. You procure an industrial sized jar of curative laced moisturizing butter--specially formulated to ease the strain of hypermassive pregnancy--and explain to your slave that, to free $him, you're going to need to completely cover $him in it so that $he can squeeze through. 
 	<<if $activeSlave.devotion > 95>> 
 		$He grins at you and then huffs, pretending to be put off by the idea. 
 	<<elseif $activeSlave.devotion > 50>> 
 		$He quirks an eyebrow, then smiles, clearly intrigued.
 	<<elseif $activeSlave.devotion > 20>> 
-		$He nods, happy to hear you've considered a way to free her without causing her undue harm.
+		$He nods, happy to hear you've considered a way to free $him without causing $him undue harm.
 	<<elseif ($activeSlave.trust < -20) && ($activeSlave.devotion > -10)>> 
 		$He had seemed uneasy when you first described your idea, but seems to resign $himself to it once you finish your description. 
 	<<elseif ($activeSlave.trust < -50)>> 
-		The wide eyed slave nods as you describe your idea, clearly hoping you'll free her as quickly as possible so that $he can get away from you. 
+		The wide eyed slave nods as you describe your idea, clearly hoping you'll free $him as quickly as possible so that $he can get away from you. 
 	<<else>> 
 		$He laughs derisively at you after you describe your idea, then motions for you to get on with it.
 	<</if>> 
-	You move toward $him and slather a generous helping of the stuff over her back and 
+	You move toward $him and slather a generous helping of the stuff over $his back and 
 	<<if $activeSlave.butt > 10>> 
-		couch smothering ass,
+		couch-smothering ass,
 	<<elseif $activeSlave.butt > 4>> 
 		fat ass cheeks,
 	<<else>>
@@ -20441,24 +20441,26 @@ You tell her kindly that you understand, and that $he'll be trained to address t
 	<</if>> 
 	for the sake of "being thorough." You then move forward, covering the parts of $his belly you can reach from behind and taking special care to 
 	<<if ($activeSlave.boobs >= 20000)>> 
-		massage the soft butter into every inch of her colossal tits, noting with satisfaction as her distant nipples, stuck on the other side of the doorway with the bulk of her room filling breasts, harden with arousal. 
+		massage the soft butter into every inch of $his colossal tits, noting with satisfaction $his distant nipples, stuck on the other side of the doorway with the bulk of $his room filling breasts, harden with arousal. 
 	<<elseif ($activeSlave.boobs >= 12000)>> 
-		massage the soft butter into her massive tits as they push up between the arch of the doorway and her bulging belly. You note with satisfaction as $his nipples harden with arousal. 
+		massage the soft butter into $his massive tits as they push up between the arch of the doorway and $his bulging belly. You note with satisfaction $his nipples harden with arousal. 
 	<<elseif ($activeSlave.boobs >= 7000)>> 
-		massage the soft butter into her monstrous tits, enjoying the struggle it takes to heft each butter-slick, glistening melon with both hands. You note with satisfaction as $his nipples harden with arousal. 
+		massage the soft butter into $his monstrous tits, enjoying the struggle it takes to heft each butter-slick, glistening melon with both hands. You note with satisfaction $his nipples harden with arousal. 
 	<<elseif ($activeSlave.boobs >= 3000)>> 
-		massage the soft butter into each of her huge tits. Your slave cranes her head back a bit to avoid being smothered by her own breasts as you work the butter into them, but you can tell $he's aroused by what you're doing--$his nipples have turned hard as rocks. 
+		massage the soft butter into each of $his huge tits. Your slave cranes $his head back a bit to avoid being smothered by $his own breasts as you work the butter into them, but you can tell $he's aroused by what you're doing--$his nipples have turned hard as rocks. 
 	<<elseif Math.floor($activeSlave.boobsImplant/$activeSlave.boobs) >= .60>>
-		massage the soft butter into her fat, fake titties, noting with satisfaction as $his nipples harden with arousal. 
+		massage the soft butter into $his fat, fake titties, noting with satisfaction $his nipples harden with arousal. 
 	<<elseif ($activeSlave.boobs >= 650)>> 
-		massage the soft butter into her big tits, noting with satisfaction as $his nipples harden with arousal. 
+		massage the soft butter into $his big tits, noting with satisfaction $his nipples harden with arousal. 
 	<<elseif ($activeSlave.boobs >= 300)>> 
-		massage the soft butter into her small, girlish chest, noting with satisfaction as $his nipples harden with arousal.
+		massage the soft butter into $his small, girlish chest, noting with satisfaction $his nipples harden with arousal.
+	<<else>>
+	    massage the soft butter into $his flat chest, noting with satisfaction $his nipples harden with arousal.
 	<</if>>
 	<br><br>
-	Satisfied with your covering of your slave's back half, you then resolve to work on her front. Getting down on your hands and knees, you crawl through the narrow triangle of space between the base of your slave's massive belly, the floor, and the doorway. It's a tight squeeze, and you take longer than you need to in order to enjoy the sound of your slave groaning as you rub up against her sweaty, buttered up belly, but you eventually make it through. Taking generous handfuls of butter, you slick up the front half of your slave's stomach, starting at the flattened nub of her pressure obliterated belly button and slowly working your way up to the round oval of baby packed flesh being constricted by the doorway. 
+	Satisfied with your covering of your slave's back half, you then resolve to work on $his front. Getting down on your hands and knees, you crawl through the narrow triangle of space between the base of your slave's massive belly, the floor, and the doorway. It's a tight squeeze, and you take longer than you need to in order to enjoy the sound of your slave groaning as you rub up against $his sweaty, buttered up belly, but you eventually make it through. Taking generous handfuls of butter, you slick up the front half of your slave's stomach, starting at the flattened nub of $his pressure-obliterated belly button and slowly working your way up to the round oval of baby-packed flesh being constricted by the doorway. 
 	<br><br>
-	With your slave's body dripping with the thick moisturizer, you call out to $him to start pulling $his belly through the doorway, pushing your body up against $his stomach to help push. You didn't bother to strip your clothes while buttering her gravid figure and, as you crush up against $him and heave, again and again, against the sheer mass of $his abdomen, you can't help but get aroused by the way your greasy clothes rub between your body and $hers with each motion. At first, $his belly is so firmly lodged that it doesn't move, but momentum eventually builds up and, with an audible "pop," the poor baby laden breeder finally breaks free from her containment, falling onto her back and pulling you with her into an absurd, buttery mass of flailing limbs and giggles. You take some time to flip her into a position where $he won't be crushed by the weight of her own womb, and then take some more time to enjoy the fruits of your labors.
+	With your slave's body dripping with the thick moisturizer, you call out to $him to start pulling $his belly through the doorway, pushing your body up against $his stomach to help push. You didn't bother to strip your clothes while buttering $his gravid figure and, as you crush up against $him and heave, again and again, against the sheer mass of $his abdomen, you can't help but get aroused by the way your greasy clothes rub between your body and $hers with each motion. At first, $his belly is so firmly lodged that it doesn't move, but momentum eventually builds up and, with an audible "pop," the poor baby-laden breeder finally breaks free from $his containment, falling onto $his back and pulling you with $him into an absurd, buttery mass of flailing limbs and giggles. You take some time to flip $him into a position where $he won't be crushed by the weight of $his own womb, and then take some more time to enjoy the fruits of your labors.
 	<br><br>
 	Once finished, you allow your servants to carry your @@.hotpink;thoroughly satisfied slave@@ to the baths for a needed cleaning. You could pay to have the door widened, but then you wouldn't have such a perfect excuse to lather $him in cream, would you?
 	<<set $activeSlave.devotion += 5>>
diff --git a/src/uncategorized/RETS.tw b/src/uncategorized/RETS.tw
index 3bc3dcae90920a71c4f21b75b810d64ac6fca031..0d0292525d0265f4d05def5d790912f1a470573a 100644
--- a/src/uncategorized/RETS.tw
+++ b/src/uncategorized/RETS.tw
@@ -618,7 +618,12 @@ $activeSlave.slaveName chuckles into $subSlave.slaveName's ear, crooning,
 <<else>>
 	"You <<s>>tupid <<s>>lut. Too bad you never went to <<s>>chool, maybe you could have learned <<s>>omething and not ended up a<<s>> a fuck <<s>>lave."
 <</if>>
-$He grinds against the wilting $subSlave.slaveName, and then continues, "I felt your <<if ($activeSlave.butt > 4)>>fat butt<<elseif ($activeSlave.butt > 2)>>big butt<<else>>tiny little butt<</if>> clench ju<<s>>t now." $He gives $subSlave.slaveName's <<if ($subSlave.balls > 0 && $subSlave.scrotum > 0)>>balls a gentle squeeze<<elseif ($subSlave.dick > 0)>>dick a gentle tug<<elseif $subSlave.vagina == -1>>butthole a gentle massage<<else>>pussylips a gentle massage<</if>>. "<<= lispReplace(SlaveTitle(_HeP))>> ha<<s>>n't fucked you back there yet, ha<<s>> <<= lispReplace(SlaveTitle(_heP))>>? It'<<s>> going to hurt, you little bitch. <<= lispReplace(SlaveTitle(_HeP))>>'<<s>> going to hold you down and <<sh>>ove <<= lispReplace(SlaveTitle(_hisP))>> <<if $PC.dick == 1>>huge cockhead<<else>>bigge<<s>>t <<s>>trap-on<</if>> right up again<<s>>t thi<<s>> tight little hole." $He gropes the quivering slave's virgin anus, careful not to penetrate it. "You're going to do your be<<s>>t to relax like a good little _girl2. But it'<<s>> going to be so big. It'<<s>> going to burn. And then you're going to panic, and <<s>>truggle, and <<= lispReplace(SlaveTitle(_heP))>>'<<s>> going to hold you down and rape your butt while you <<s>>cream and cry."
+<<if SlaveStatsChecker.checkForLisp($activeSlave)>>
+	<<set _heP = lispReplace($PC.pronoun), _HeP = lispReplace(capFirstChar(_pcPronoun)), _hisP = lispReplace($PC.possessive)>>
+<<else>>
+	<<set _heP = $PC.pronoun, _HeP = capFirstChar(_pcPronoun), _hisP = $PC.possessive>>
+<</if>>
+$He grinds against the wilting $subSlave.slaveName, and then continues, "I felt your <<if ($activeSlave.butt > 4)>>fat butt<<elseif ($activeSlave.butt > 2)>>big butt<<else>>tiny little butt<</if>> clench ju<<s>>t now." $He gives $subSlave.slaveName's <<if ($subSlave.balls > 0 && $subSlave.scrotum > 0)>>balls a gentle squeeze<<elseif ($subSlave.dick > 0)>>dick a gentle tug<<elseif $subSlave.vagina == -1>>butthole a gentle massage<<else>>pussylips a gentle massage<</if>>. "_HeP ha<<s>>n't fucked you back there yet, ha<<s>> _heP? It'<<s>> going to hurt, you little bitch. _HeP'<<s>> going to hold you down and <<sh>>ove _hisP <<if $PC.dick == 1>>huge cockhead<<else>>bigge<<s>>t <<s>>trap-on<</if>> right up again<<s>>t thi<<s>> tight little hole." $He gropes the quivering slave's virgin anus, careful not to penetrate it. "You're going to do your be<<s>>t to relax like a good little _girl2. But it'<<s>> going to be so big. It'<<s>> going to burn. And then you're going to panic, and <<s>>truggle, and _heP'<<s>> going to hold you down and rape your butt while you <<s>>cream and cry."
 <br><br>
 $subSlave.slaveName keeps _his2 eyes clamped shut and _his2 hands down at _his2 sides, balled into fists, but _his2 self-control finally cracks and _he2 lets out a great gasping sob before bursting into tears.
 
@@ -1461,8 +1466,8 @@ $he adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 <<link "$He's not wrong">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
-	You ask $activeSlave.slaveName what $he said in a neutral tone. $He gives you a quick glance, not sure whether to be aroused or afraid, but takes a breath to steady $himself and begins. For _his2 part, $subSlave.slaveName vainly tries to stop crying in front of you. When $activeSlave.slaveName reaches "<<= lispReplace(SlaveTitle(_HeP))>>'<<s>> going to hold you down and <<sh>>ove <<= lispReplace(SlaveTitle(_hisP))>> <<if $PC.dick == 1>>huge cockhead<<else>>bigge<<s>>t <<s>>trap-on<</if>> right up again<<s>>t thi<<s>> tight little hole," you hold up a hand to get $him to pause. $He does, and you suddenly shove $subSlave.slaveName towards the couch. _He2 crashes face-down into the cushions, already sobbing in terror. You place a hand on _his2 $activeSlave.skin back to hold _him2 down and then use the other to apply some lube to your <<if $PC.dick == 1>>penis<<else>>strap-on<</if>> before pressing it against the quivering slave's virgin anus. _He2 shakes with anguish, causing <<if $PC.dick == 1>>your cock to rub deliciously<<else>>the strap-on to slide amusingly<</if>> up and down _his2 asscrack. You make a come-on gesture to $activeSlave.slaveName, and $he continues, "You're going to do your be<<s>>t to relax like a good little _girl2."
-	$subSlave.slaveName desperately takes in a huge breath. $activeSlave.slaveName, who has gotten the idea (and to go by $his furious masturbation, clearly likes it), gasps out, "But it'<<s>> going to be <<s>>o big! It'<<s>> going to burn!" Here you begin to apply inexorable pressure. $subSlave.slaveName manages one more deep breath, but it becomes a squeal of anguish and _he2 tries frantically to burrow into the couch, away from the penetrating <<if $PC.dick == 1>>cock<<else>>strap-on<</if>>. "You're going to panic, and <<s>>truggle, and <<= lispReplace(SlaveTitle(_heP))>>'<<s>> going to hold you down and rape your butt while you <<s>>cream and cry..."
+	You ask $activeSlave.slaveName what $he said in a neutral tone. $He gives you a quick glance, not sure whether to be aroused or afraid, but takes a breath to steady $himself and begins. For _his2 part, $subSlave.slaveName vainly tries to stop crying in front of you. When $activeSlave.slaveName reaches "_HeP'<<s>> going to hold you down and <<sh>>ove _hisP <<if $PC.dick == 1>>huge cockhead<<else>>bigge<<s>>t <<s>>trap-on<</if>> right up again<<s>>t thi<<s>> tight little hole," you hold up a hand to get $him to pause. $He does, and you suddenly shove $subSlave.slaveName towards the couch. _He2 crashes face-down into the cushions, already sobbing in terror. You place a hand on _his2 $activeSlave.skin back to hold _him2 down and then use the other to apply some lube to your <<if $PC.dick == 1>>penis<<else>>strap-on<</if>> before pressing it against the quivering slave's virgin anus. _He2 shakes with anguish, causing <<if $PC.dick == 1>>your cock to rub deliciously<<else>>the strap-on to slide amusingly<</if>> up and down _his2 asscrack. You make a come-on gesture to $activeSlave.slaveName, and $he continues, "You're going to do your be<<s>>t to relax like a good little _girl2."
+	$subSlave.slaveName desperately takes in a huge breath. $activeSlave.slaveName, who has gotten the idea (and to go by $his furious masturbation, clearly likes it), gasps out, "But it'<<s>> going to be <<s>>o big! It'<<s>> going to burn!" Here you begin to apply inexorable pressure. $subSlave.slaveName manages one more deep breath, but it becomes a squeal of anguish and _he2 tries frantically to burrow into the couch, away from the penetrating <<if $PC.dick == 1>>cock<<else>>strap-on<</if>>. "You're going to panic, and <<s>>truggle, and _heP'<<s>> going to hold you down and rape your butt while you <<s>>cream and cry..."
 	$activeSlave.slaveName trails off as $he shakes with orgasm; $he doesn't say any more, but the @@.hotpink;wild satisfaction@@ <<if canSee($activeSlave)>>in $his $activeSlave.eyeColor eyes<<else>>on $his face<</if>> says it for $him. $subSlave.slaveName, meanwhile, is a mess, but hurries @@.gold;fearfully@@ to obey your instructions to go clean _himself2, and hides _his2 @@.mediumorchid;hatred@@ as _he2 gingerly applies an enema to _his2 @@.lime;loosened butt.@@
 	<<set $activeSlave.devotion += 5>>
 	<<set $subSlave.trust -= 10, $subSlave.devotion -= 5, $subSlave.analCount++, $subSlave.anus = 1>>
@@ -1477,8 +1482,8 @@ $he adds impishly. Hearing this, $subSlave.slaveName lets the breast pop free of
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 	You approach and observe to $activeSlave.slaveName that it sounds like $he's speaking from experience. $He glances at you nervously, but agrees. You tell $him to go on, so $he turns to the mystified $subSlave.slaveName and mumbles, "It wa<<s>>n't ea<<s>>y for me the fir<<s>>t time either."
-	$He gasps as you slide around behind $him, your hands snaking around $his <<if $activeSlave.boobs > 2000>>massive tits<<elseif $activeSlave.boobs > 1000>>big boobs<<elseif $activeSlave.boobs > 400>>prominent breasts<<else>>chest<</if>> to pinch $his $activeSlave.nipples nipples. You whisper into $his ear, ordering $him to tell $his little story again, slowly. "<<= lispReplace(SlaveTitle(_HeP))>>'<<s>> going to hold you down and <<sh>>ove <<= lispReplace(SlaveTitle(_hisP))>> <<if $PC.dick == 1>>huge cockhead<<else>>bigge<<s>>t <<s>>trap-on<</if>> right up again<<s>>t thi<<s>> tight little hole," $he tells $subSlave.slaveName. The poor _girl2 doesn't know what to do, so _he2 just stands and listens, <<if canSee($subSlave)>>watching<<else>>staring<</if>> dumbly as $activeSlave.slaveName talks. $he's a lot less intimidating this time around, gasping out the words as you maneuver your <<if $PC.dick == 1>>cock<<else>>strap-on<</if>> against $his <<if $activeSlave.anus > 2>>loose butthole<<elseif $activeSlave.anus > 1>>experienced ass<<else>>tight butthole<</if>> for some standing anal. "You're going to do your be<<s>>t to relax like a good little _girl2," $he moans. <<if ($activeSlave.dick > 0) && !canAchieveErection($activeSlave)>>$His limp dick hangs lamely as you press against $his backdoor, but it's dripping precum.<<elseif $activeSlave.dick > 0>>$He has a throbbing erection.<<elseif $activeSlave.clit > 0>>As you shove $him into place, your hand brushes against $his enormously erect clit.<<else>>As you shove $him into place, your hand brushes against moisture coating $his inner thighs.<</if>> The bitch is getting off on this.
-	"But it'<<s>> going to be <<s>>o big - it'<<s>> going to bu-hu-hur-hurn... oh..." You're up $his ass and pounding away, <<if $subSlave.belly >= 5000>>with one hand on $his hips and the other around $his gravid belly<<else>>holding $his hips with both hands and<</if>> bouncing $his butt against your crotch as your <<if $PC.dick == 1>>cock<<else>>strap-on<</if>> slides in and out of $him. You administer a hard slap to $his ass and tell $him to keep going. $He shakes $his head and manages to get back on track, grunting out, "You're going to panic - and - and - oh - <<s>>-<<s>>truggle, and <<= lispReplace(SlaveTitle(_heP))>>'<<s>> going t-to h-ho-oh-old you d-down, oh ow, and r-ra-rape your b-butt while, oh p-plea<<s>>e <<Master>>, you <<s>>cream, ooh, and c-cry... o-oh... ah." $He feels your <<if $PC.dick == 1>>hot seed jet into $his asshole<<else>>own orgasm<</if>> and your hands release their grip, and slides wetly off you, <<if ($activeSlave.dick > 0) && !canAchieveErection($activeSlave)>>$his own messy little orgasm running down $his legs to join the cum dripping out of $his ass<<elseif $activeSlave.dick > 0>>stepping around the mess $he shot onto the floor and trying to keep your load inside $his ass<<else>>$his feminine juices running down $his legs to join the cum dripping out of $his ass<</if>>. $He walks gingerly to the bathroom for a cleanup, looking a lot more @@.hotpink;submissive@@ than when you walked in. $subSlave.slaveName is still staring <<if canSee($subSlave)>>at<<else>>towards<</if>> you. There's a little @@.gold;fear@@ there, but some @@.hotpink;awe,@@ too.
+	$He gasps as you slide around behind $him, your hands snaking around $his <<if $activeSlave.boobs > 2000>>massive tits<<elseif $activeSlave.boobs > 1000>>big boobs<<elseif $activeSlave.boobs > 400>>prominent breasts<<else>>chest<</if>> to pinch $his $activeSlave.nipples nipples. You whisper into $his ear, ordering $him to tell $his little story again, slowly. "_HeP'<<s>> going to hold you down and <<sh>>ove _hisP <<if $PC.dick == 1>>huge cockhead<<else>>bigge<<s>>t <<s>>trap-on<</if>> right up again<<s>>t thi<<s>> tight little hole," $he tells $subSlave.slaveName. The poor _girl2 doesn't know what to do, so _he2 just stands and listens, <<if canSee($subSlave)>>watching<<else>>staring<</if>> dumbly as $activeSlave.slaveName talks. $he's a lot less intimidating this time around, gasping out the words as you maneuver your <<if $PC.dick == 1>>cock<<else>>strap-on<</if>> against $his <<if $activeSlave.anus > 2>>loose butthole<<elseif $activeSlave.anus > 1>>experienced ass<<else>>tight butthole<</if>> for some standing anal. "You're going to do your be<<s>>t to relax like a good little _girl2," $he moans. <<if ($activeSlave.dick > 0) && !canAchieveErection($activeSlave)>>$His limp dick hangs lamely as you press against $his backdoor, but it's dripping precum.<<elseif $activeSlave.dick > 0>>$He has a throbbing erection.<<elseif $activeSlave.clit > 0>>As you shove $him into place, your hand brushes against $his enormously erect clit.<<else>>As you shove $him into place, your hand brushes against moisture coating $his inner thighs.<</if>> The bitch is getting off on this.
+	"But it'<<s>> going to be <<s>>o big - it'<<s>> going to bu-hu-hur-hurn... oh..." You're up $his ass and pounding away, <<if $subSlave.belly >= 5000>>with one hand on $his hips and the other around $his gravid belly<<else>>holding $his hips with both hands and<</if>> bouncing $his butt against your crotch as your <<if $PC.dick == 1>>cock<<else>>strap-on<</if>> slides in and out of $him. You administer a hard slap to $his ass and tell $him to keep going. $He shakes $his head and manages to get back on track, grunting out, "You're going to panic - and - and - oh - <<s>>-<<s>>truggle, and _heP'<<s>> going t-to h-ho-oh-old you d-down, oh ow, and r-ra-rape your b-butt while, oh p-plea<<s>>e <<Master>>, you <<s>>cream, ooh, and c-cry... o-oh... ah." $He feels your <<if $PC.dick == 1>>hot seed jet into $his asshole<<else>>own orgasm<</if>> and your hands release their grip, and slides wetly off you, <<if ($activeSlave.dick > 0) && !canAchieveErection($activeSlave)>>$his own messy little orgasm running down $his legs to join the cum dripping out of $his ass<<elseif $activeSlave.dick > 0>>stepping around the mess $he shot onto the floor and trying to keep your load inside $his ass<<else>>$his feminine juices running down $his legs to join the cum dripping out of $his ass<</if>>. $He walks gingerly to the bathroom for a cleanup, looking a lot more @@.hotpink;submissive@@ than when you walked in. $subSlave.slaveName is still staring <<if canSee($subSlave)>>at<<else>>towards<</if>> you. There's a little @@.gold;fear@@ there, but some @@.hotpink;awe,@@ too.
 	<<set $activeSlave.devotion += 5, $activeSlave.analCount++>>
 	<<set $analTotal++>>
 	<<if canImpreg($activeSlave, $PC)>>
diff --git a/src/uncategorized/REroyalblood.tw b/src/uncategorized/REroyalblood.tw
index 28e56a6bc0185e8840fe5edc4fd4035e6d42893f..596f9594d949542c49384a911d601594f45d9e5e 100644
--- a/src/uncategorized/REroyalblood.tw
+++ b/src/uncategorized/REroyalblood.tw
@@ -539,6 +539,7 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 <</link>> //You will be despised for this action, and trade will be greatly damaged.//
 <</if>>
 
+<<if $cash >= 500000>>
 <br><<link "Offer a generous amount of cash in exchange for both the Queen and her court ladies.">>
 	<<replace "#result">>
 		<<set $cash -= 500000>>
@@ -592,6 +593,8 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 		<<run newSlave(_queen)>> /* skip New Slave Intro */
 	<</replace>>
 <</link>> // It will cost about <<print cashFormat(500000)>> to enslave the Queen and her court ladies.//
+<<else>>
+<</if>>
 <<if $securityForceActive == 1>>
 <br><<link "Dispatch $securityForceName on a night time raid to acquire the Queen and her court ladies.">>
 	<<replace "#result">>
@@ -647,6 +650,7 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 		<<run newSlave(_queen)>> /* skip New Slave Intro */
 	<</replace>>
 <</link>> //You will be despised for this action, and trade will be greatly damaged.//
+	<br>//You lack the necessary funds to enslave the Queen and her ladies.//
 <</if>>
 
 <<if $cash >= 2500000 && $familyTesting == 1>>
diff --git a/src/uncategorized/brothelReport.tw b/src/uncategorized/brothelReport.tw
index d7dc5a1df3d2b4aef338259b45c3a7a36df83535..82be24245e03e47265f98b686dc19c0cbaa5e9d2 100644
--- a/src/uncategorized/brothelReport.tw
+++ b/src/uncategorized/brothelReport.tw
@@ -97,7 +97,7 @@
 	<<for _dI = 0; _dI < _DL; _dI++>>
 		<<set $i = $slaveIndices[$BrothiIDs[_dI]]>>
 		<<if $Madam.rivalryTarget == $slaves[$i].ID>>
-			She forces her <<if $Madam.rivalry == 1>>growing rival<<elseif $Madam.rivalry == 2>>rival<<elseif $Madam.rivalry == 3>>bitter rival<</if>>, to service all the men in the brothel.
+			She forces her <<print rivalryTerm($Madam)>>, to service all the men in the brothel.
 			<<set $slaves[$i].devotion -= 2, $slaves[$i].trust -= 2>>
 			<<if canDoVaginal($slaves[$i])>>
 				<<set $slaves[$i].vaginalCount += 10, $vaginalTotal += 10>>
@@ -113,28 +113,11 @@
 				<<set $slaves[_FLs].rivalry++, $Madam.rivalry++, $slaves[$i].rivalry++>>
 			<</if>>
 		<<elseif $Madam.relationshipTarget == $slaves[$i].ID>>
-			She dotes over her <<if $Madam.relationship == 1>>friend<<elseif $Madam.relationship == 2>>best friend<<elseif $Madam.relationship == 3>>friend with benefits<<elseif $Madam.relationship == 4>>lover<<elseif $Madam.relationship == 5>>slave wife<</if>>, $slaves[$i].slaveName, making sure she is safe, but unfortunately driving potential customers away from her.
+			She dotes over her <<print relationshipTerm($Madam)>>, $slaves[$i].slaveName, making sure she is safe, but unfortunately driving potential customers away from her.
 			<<set $slaves[$i].devotion++, $madamCashBonus -= 0.05>>
 		<<elseif $familyTesting == 1 && totalRelatives($slaves[$i]) > 0>>
-			<<if $slaves[$i].mother == $Madam.ID || $slaves[$i].father == $Madam.ID>>
-				She pays special attention to her daughter, $slaves[$i].slaveName, making sure she is treated well and showing off her skills.
-				<<set $slaves[$i].trust++, $madamCashBonus += 0.05>>
-			<<elseif $slaves[$i].ID == $Madam.mother>>
-				She pays special attention to her mother, $slaves[$i].slaveName, making sure she is treated well and showing off her skills.
-				<<set $slaves[$i].trust++, $madamCashBonus += 0.05>>
-			<<elseif $slaves[$i].ID == $Madam.father>>
-				She pays special attention to her father, $slaves[$i].slaveName, making sure she is treated well and showing off her skills.
-				<<set $slaves[$i].trust++, $madamCashBonus += 0.05>>
-			<<elseif areSisters($slaves[$i], $Madam) == 1>>
-				She pays special attention to her twin sister, $slaves[$i].slaveName, making sure she is treated well and showing off her skills.
-				<<set $slaves[$i].trust++, $madamCashBonus += 0.05>>
-			<<elseif areSisters($slaves[$i], $Madam) == 2>>
-				She pays special attention to her sister, $slaves[$i].slaveName, making sure she is treated well and showing off her skills.
-				<<set $slaves[$i].trust++, $madamCashBonus += 0.05>>
-			<<elseif areSisters($slaves[$i], $Madam) == 3>>
-				She pays special attention to her half-sister, $slaves[$i].slaveName, making sure she is treated well and showing off her skills.
-				<<set $slaves[$i].trust++, $madamCashBonus += 0.05>>
-			<</if>>
+			She pays special attention to her <<print relativeTerm($Madam.ID,$slaves[$i].ID)>>, $slaves[$i].slaveName, making sure she is treated well and showing off her skills.
+			<<set $slaves[$i].trust++, $madamCashBonus += 0.05>>
 		<<elseif $Madam.relationTarget == $slaves[$i].ID && $familyTesting == 0>>
 			She pays special attention to her $slaves[$i].relation, $slaves[$i].slaveName, making sure she is treated well and showing off her skills.
 			<<set $slaves[$i].trust++, $madamCashBonus += 0.05>>
diff --git a/src/uncategorized/cellblockReport.tw b/src/uncategorized/cellblockReport.tw
index 45f29855436762a558998f13cc2b6beb438221a6..4f6d70d2f2488450010d4cd9b594f87aa5819b5f 100644
--- a/src/uncategorized/cellblockReport.tw
+++ b/src/uncategorized/cellblockReport.tw
@@ -89,41 +89,21 @@
 	<<for _dI = 0; _dI < _DL; _dI++>>
 		<<set $i = $slaveIndices[$CellBiIDs[_dI]]>>
 		<<if $Wardeness.rivalryTarget == $slaves[$i].ID>>
-			She greatly enjoys breaking her <<if $Wardeness.rivalry == 1>>growing rival<<elseif $Wardeness.rivalry == 2>>rival<<elseif $Wardeness.rivalry == 3>>bitter rival<</if>>, $slaves[$i].slaveName's will.
+			She greatly enjoys breaking her <<print rivalryTerm($Wardeness)>>, $slaves[$i].slaveName's will.
 			<<set $slaves[$i].devotion++, $slaves[$i].trust -= 3>>
 			<<if random(1,100) > 30>>
 				<<set $Wardeness.rivalry++, $slaves[_FLs].rivalry++, $slaves[$i].rivalry++>>
 			<</if>>
 		<<elseif $Wardeness.relationshipTarget == $slaves[$i].ID>>
-			She hates having to break her <<if $Wardeness.relationship == 1>>friend<<elseif $Wardeness.relationship == 2>>best friend<<elseif $Wardeness.relationship == 3>>friend with benefits<<elseif $Wardeness.relationship == 4>>lover<<elseif $Wardeness.relationship == 5>>slave wife<</if>>, $slaves[$i].slaveName, but her devotion to you wins out in the end.
+			She hates having to break her <<print relationshipTerm($Wardeness)>>, $slaves[$i].slaveName, but her devotion to you wins out in the end.
 			<<set $slaves[$i].devotion++, $slaves[$i].trust -= 3>>
 			<<if random(1,100) >= 50>>
 				Her and $slaves[$i].slaveName's relationship has been shattered by these events.
 				<<set $Wardeness.relationship = 0, $Wardeness.relationshipTarget = 0, $slaves[_FLs].relationship = 0, $slaves[_FLs].relationshipTarget = 0, $slaves[$i].relationship = 0, $slaves[$i].relationshipTarget = 0>>
 			<</if>>
 		<<elseif $familyTesting == 1 && totalRelatives($slaves[$i]) > 0>>
-			<<if $slaves[$i].mother == $Wardeness.ID || $slaves[$i].father == $Wardeness.ID>>
-				She shows her daughter $slaves[$i].slaveName no mercy, making sure she understands her place.
-				<<set $slaves[$i].devotion++, $slaves[$i].trust-->>
-			<<elseif $slaves[$i].ID == $Wardeness.mother>>
-				She shows her mother $slaves[$i].slaveName no mercy, making sure she understands her place.
-				<<set $slaves[$i].devotion++, $slaves[$i].trust-->>
-			<<elseif $slaves[$i].ID == $Wardeness.father>>
-				She shows her father $slaves[$i].slaveName no mercy, making sure she understands her place.
-				<<set $slaves[$i].devotion++, $slaves[$i].trust-->>
-			<<else>>
-				<<switch areSisters($slaves[$i], $Wardeness)>>
-				<<case 1>>
-					She shows her twin sister $slaves[$i].slaveName no mercy, making sure she understands her place.
-					<<set $slaves[$i].devotion++, $slaves[$i].trust-->>
-				<<case 2>>
-					She shows her sister $slaves[$i].slaveName no mercy, making sure she understands her place.
-					<<set $slaves[$i].devotion++, $slaves[$i].trust-->>
-				<<case 3>>
-					She shows her half-sister $slaves[$i].slaveName no mercy, making sure she understands her place.
-					<<set $slaves[$i].devotion++, $slaves[$i].trust-->>
-				<</switch>>
-			<</if>>
+			She shows her <<print relativeTerm($Wardeness.ID,$slaves[$i].ID)>> $slaves[$i].slaveName no mercy, making sure she understands her place.
+			<<set $slaves[$i].devotion++, $slaves[$i].trust-->>
 		<<elseif $Wardeness.relationTarget == $slaves[$i].ID && $familyTesting == 0>>
 			She shows her $slaves[$i].relation $slaves[$i].slaveName no mercy, making sure she understands her place.
 			<<set $slaves[$i].devotion++, $slaves[$i].trust-->>
diff --git a/src/uncategorized/clinicReport.tw b/src/uncategorized/clinicReport.tw
index 754f86b6470447f7f89d6460adef367acd6ccf48..da2cbdabf15746a46b722c7539050c2c3d5d0692 100644
--- a/src/uncategorized/clinicReport.tw
+++ b/src/uncategorized/clinicReport.tw
@@ -80,37 +80,17 @@
 	<<for _dI = 0; _dI < _DL; _dI++>>
 		<<set $i = $slaveIndices[$CliniciIDs[_dI]]>>
 		<<if $Nurse.rivalryTarget == $slaves[$i].ID>>
-			She purposefully neglects the needs of her <<if $Nurse.rivalry == 1>>growing rival<<elseif $Nurse.rivalry == 2>>rival<<elseif $Nurse.rivalry == 3>>bitter rival<</if>>, $slaves[$i].slaveName, hindering her recovery and deepening their dislike for each other.
+			She purposefully neglects the needs of her <<print rivalryTerm($Nurse)>>, $slaves[$i].slaveName, hindering her recovery and deepening their dislike for each other.
 			<<set $slaves[$i].devotion--, $slaves[$i].trust--, $slaves[$i].health -= 3>>
 			<<if random(1,100) > 65>>
 				<<set $Nurse.rivalry++, $slaves[_FLs].rivalry++, $slaves[$i].rivalry++>>
 			<</if>>
 		<<elseif $Nurse.relationshipTarget == $slaves[$i].ID>>
-			She dedicates most of her attention to her <<if $Nurse.relationship == 1>>friend<<elseif $Nurse.relationship == 2>>best friend<<elseif $Nurse.relationship == 3>>friend with benefits<<elseif $Nurse.relationship == 4>>lover<<elseif $Nurse.relationship == 5>>slave wife<</if>>, $slaves[$i].slaveName, making sure she has everything she needs and more. This lavish attention detracts from her overall effectiveness.
+			She dedicates most of her attention to her <<print relationshipTerm($Nurse)>>, $slaves[$i].slaveName, making sure she has everything she needs and more. This lavish attention detracts from her overall effectiveness.
 			<<set _idleBonus -= 3, $slaves[$i].devotion++, $slaves[$i].trust++, $slaves[$i].health += 3>>
 		<<elseif $familyTesting == 1 && totalRelatives($slaves[$i]) > 0>>
-			<<if $slaves[$i].mother == $Nurse.ID || $slaves[$i].father == $Nurse.ID>>
-				She makes sure to spend extra time caring for her daughter, $slaves[$i].slaveName.
-				<<set $slaves[$i].trust++, $slaves[$i].health++>>
-			<<elseif $slaves[$i].ID == $Nurse.mother>>
-				She makes sure to spend extra time caring for her mother, $slaves[$i].slaveName.
-				<<set $slaves[$i].trust++, $slaves[$i].health++>>
-			<<elseif $slaves[$i].ID == $Nurse.father>>
-				She makes sure to spend extra time caring for her father, $slaves[$i].slaveName.
-				<<set $slaves[$i].trust++, $slaves[$i].health++>>
-			<<else>>
-				<<switch areSisters($slaves[$i], $Nurse)>>
-				<<case 1>>
-					She makes sure to spend extra time caring for her twin sister, $slaves[$i].slaveName.
-					<<set $slaves[$i].trust++, $slaves[$i].health++>>
-				<<case 2>>
-					She makes sure to spend extra time caring for her sister, $slaves[$i].slaveName.
-					<<set $slaves[$i].trust++, $slaves[$i].health++>>
-				<<case 3>>
-					She makes sure to spend extra time caring for her half-sister, $slaves[$i].slaveName.
-					<<set $slaves[$i].trust++, $slaves[$i].health++>>
-				<</switch>>
-			<</if>>
+			She makes sure to spend extra time caring for her <<print relativeTerm($Nurse.ID,$slaves[$i].ID)>>, $slaves[$i].slaveName.
+			<<set $slaves[$i].trust++, $slaves[$i].health++>>
 		<<elseif $Nurse.relationTarget == $slaves[$i].ID && $familyTesting == 0>>
 			She makes sure to spend extra time caring for her $slaves[$i].relation, $slaves[$i].slaveName.
 			<<set $slaves[$i].trust++, $slaves[$i].health++>>
diff --git a/src/uncategorized/costsReport.tw b/src/uncategorized/costsReport.tw
index 6d2c9df6844084c1ef3175008ceafa871d2ed63d..661c197ee8107e9f7c55be8073109c8a3b5aaef9 100644
--- a/src/uncategorized/costsReport.tw
+++ b/src/uncategorized/costsReport.tw
@@ -56,7 +56,7 @@ your __personal living expenses__ are <<print cashFormat(Math.trunc($girls*(250+
 		<<= Count()>>
 		<br>__Bonuses for basic FS acceptance amoungst $SF.Lower:__ <<print cashFormat(Math.ceil(_SFCashBonus))>>
 		<br>&nbsp;Colonel <<print cashFormat(_ColonelCashBonus*_Env)>>.
-		<br>&nbsp;<<print cashFormat(_TroopCashBonus)>> per solider, totalling <<print cashFormat(Math.ceil(_TroopCashBonus*_Env)>>.
+		<br>&nbsp;<<print cashFormat(_TroopCashBonus)>> per solider, totalling <<print cashFormat(Math.ceil(_TroopCashBonus*_Env))>>.
 	<</if>>
 <</if>>
 <<if $mercenaries > 0>>
@@ -156,6 +156,10 @@ your __personal living expenses__ are <<print cashFormat(Math.trunc($girls*(250+
 	<</for>>
 <</if>>
 
+<<if $econWeatherDamage && $disasterResponse > 0>>
+	<<set _DRUUpkeep = Math.trunc($disasterResponse * 200000 / $localEcon)>>
+	<br>__Disaster Response Unit__ expenses: <<print cashFormat(_DRUUpkeep)>>
+<</if>>
 <<if $FSSpending != 0>>
 	<br>__Society Shaping__ expenses: <<print cashFormat($FSSpending)>>
 <</if>>
diff --git a/src/uncategorized/dairyReport.tw b/src/uncategorized/dairyReport.tw
index bf3f5577a580dc0b4ac47d6339883112845c5be1..8d2fad7becc41e15ec38fe4da0dbdcebabaa970b 100644
--- a/src/uncategorized/dairyReport.tw
+++ b/src/uncategorized/dairyReport.tw
@@ -177,37 +177,17 @@
 	<<for _dI = 0; _dI < _DL; _dI++>>
 		<<set $i = $slaveIndices[$DairyiIDs[_dI]]>>
 		<<if $Milkmaid.rivalryTarget == $slaves[$i].ID>>
-			She either neglects or harasses her <<if $Milkmaid.rivalry == 1>>growing rival<<elseif $Milkmaid.rivalry == 2>>rival<<elseif $Milkmaid.rivalry == 3>>bitter rival<</if>>, $slaves[$i].slaveName, making sure she is unhappy and uncomfortable.
+			She either neglects or harasses her <<print rivalryTerm($Milkmaid)>>, $slaves[$i].slaveName, making sure she is unhappy and uncomfortable.
 			<<set $slaves[$i].devotion -= 3, $slaves[$i].trust -= 3>>
 			<<if random(1,100) > 65>>
 				<<set $Milkmaid.rivalry++, $slaves[_FLs].rivalry++, $slaves[$i].rivalry++>>
 			<</if>>
 		<<elseif $Milkmaid.relationshipTarget == $slaves[$i].ID>>
-			She dotes over her <<if $Milkmaid.relationship == 1>>friend<<elseif $Milkmaid.relationship == 2>>best friend<<elseif $Milkmaid.relationship == 3>>friend with benefits<<elseif $Milkmaid.relationship == 4>>lover<<elseif $Milkmaid.relationship == 5>>slave wife<</if>>, $slaves[$i].slaveName, making sure she is happy and comfortable.
+			She dotes over her <<print relationshipTerm($Milkmaid)>>, $slaves[$i].slaveName, making sure she is happy and comfortable.
 			<<set $slaves[$i].devotion++, $slaves[$i].trust++>>
 		<<elseif $familyTesting == 1 && totalRelatives($slaves[$i]) > 0>>
-			<<if $slaves[$i].mother == $Milkmaid.ID || $slaves[$i].father == $Milkmaid.ID>>
-				She pays special attention to her daughter, $slaves[$i].slaveName, making sure she is well kept and happy.
-				<<set $slaves[$i].trust++>>
-			<<elseif $slaves[$i].ID == $Milkmaid.mother>>
-				She pays special attention to her mother, $slaves[$i].slaveName, making sure she is well kept and happy.
-				<<set $slaves[$i].trust++>>
-			<<elseif $slaves[$i].ID == $Milkmaid.father>>
-				She pays special attention to her father, $slaves[$i].slaveName, making sure she is well kept and happy.
-				<<set $slaves[$i].trust++>>
-			<<else>>
-				<<switch areSisters($slaves[$i], $Milkmaid)>>
-				<<case 1>>
-					She pays special attention to her twin sister, $slaves[$i].slaveName, making sure she is well kept and happy.
-					<<set $slaves[$i].trust++>>
-				<<case 2>>
-					She pays special attention to her sister, $slaves[$i].slaveName, making sure she is well kept and happy.
-					<<set $slaves[$i].trust++>>
-				<<case 3>>
-					She pays special attention to her half-sister, $slaves[$i].slaveName, making sure she is well kept and happy.
-					<<set $slaves[$i].trust++>>
-				<</switch>>
-			<</if>>
+			She pays special attention to her <<print relativeTerm($Milkmaid.ID,$slaves[$i].ID)>>, $slaves[$i].slaveName, making sure she is well kept and happy.
+			<<set $slaves[$i].trust++>>
 		<<elseif $Milkmaid.relationTarget == $slaves[$i].ID && $familyTesting == 0>>
 			She pays special attention to her $slaves[$i].relation, $slaves[$i].slaveName, making sure she is well kept and happy.
 			<<set $slaves[$i].trust++>>
diff --git a/src/uncategorized/newSlaveIntro.tw b/src/uncategorized/newSlaveIntro.tw
index 67f4610ca5262211b4e61ebdfcf4c56f76aea2a0..6af760b0874c3c856fa07db7de70d68aa3465d0c 100644
--- a/src/uncategorized/newSlaveIntro.tw
+++ b/src/uncategorized/newSlaveIntro.tw
@@ -1692,7 +1692,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' <<
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;
 	<<link "Make $him an office ornament for the day">>
 		<<replace "#introResult">>
-			You cuff $his wrists and ankles, bend all four limbs behind $him, secure them together, and hoist $him up to the ceiling on a rope. $He hangs up there like a sex slave chandelier, breasts swaying in a lovely way whenever $he struggles. Periodically you let $him down to stretch $his aching limbs, but whenever you put your decoration back up you add some clips with little bells on them: first the nose, then the nipples, and finally the <<if $activeSlave.dick != 0>>dickhead<<else>>pussylips<</if>>. By the end of the day your work is accompanied by the sweet sounds of ringing bells and @@.gold;agonized pleas@@ for mercy in $his <<if $activeSlave.voice == 3>>high, girlish<<elseif $activeSlave.voice == 2>>feminine<<else>>deep<</if>> voice. $He will remember @@.mediumorchid;what you can do to $him@@.
+			You cuff $his wrists and ankles, bend all four limbs behind $him, secure them together, and hoist $him up to the ceiling on a rope. $He hangs up there like a sex slave chandelier<<if $activeSlave.boobs >= 650>>, breasts swaying in a lovely way whenever $he struggles<</if>>. Periodically you let $him down to stretch $his aching limbs, but whenever you put your decoration back up you add some clips with little bells on them: first the nose, then the nipples, and finally the <<if $activeSlave.dick != 0>>dickhead<<else>>pussylips<</if>>. By the end of the day your work is accompanied by the sweet sounds of ringing bells and @@.gold;agonized pleas@@ for mercy in $his <<if $activeSlave.voice == 3>>high, girlish<<elseif $activeSlave.voice == 2>>feminine<<else>>deep<</if>> voice. $He will remember @@.mediumorchid;what you can do to $him@@.
 		<</replace>>
 		<<set $activeSlave.devotion -= 5>>
 		<<set $activeSlave.trust -= 10>>
diff --git a/src/uncategorized/nextWeek.tw b/src/uncategorized/nextWeek.tw
index e9a301d8ad15dac163324c951e40d22c967db59e..249aa596877391854f1364dc818bf484200ac2e3 100644
--- a/src/uncategorized/nextWeek.tw
+++ b/src/uncategorized/nextWeek.tw
@@ -37,7 +37,7 @@
 		<<set $economy = 20>>
 	<</if>>
 	<<set _localEconSeed = random(1,100)>>
-	<<if $localEcon <= ($globalEcon + $econAdvantage)>>
+	<<if $localEcon <= ($economy + $econAdvantage)>>
 		<<if _localEconSeed > 95>>
 			<<set $localEcon += 2>>
 		<<elseif _localEconSeed > 50>>
@@ -47,7 +47,7 @@
 		<<elseif _localEconSeed <= 10>>
 			<<set $localEcon -= 1>>
 		<</if>>
-	<<elseif $localEcon <= ($globalEcon + $econAdvantage + 5)>>
+	<<elseif $localEcon <= ($economy + $econAdvantage + 5)>>
 		<<if _localEconSeed > 98>>
 			<<set $localEcon += 2>>
 		<<elseif _localEconSeed > 66>>
@@ -213,6 +213,9 @@
 		<<if $slaves[_i].pornTypeMasochist > 0>><<set $pornStarMasochists++>><</if>>
 		<<if $slaves[_i].pornTypePregnancy > 0>><<set $pornStarPregnancySluts++>><</if>>
 	<</if>>
+	<<if $slaves[_i].choosesOwnAssignment > 0>>
+		<<= assignJob($slaves[_i], "choose her own job")>>
+	<</if>>
 <</for>>
 <<if _slavesContributing != 0>>
 	<<set $averageTrust = $averageTrust/_slavesContributing>>
@@ -354,6 +357,7 @@
 <</if>>
 
 <<if $boomerangWeeks>><<set $boomerangWeeks++>><<else>><<set $boomerangSlave = 0>><</if>>
+<<if $traitorWeeks>><<set $traitorWeeks++>><</if>>
 
 <<set $thisWeeksFSWares = $merchantFSWares.randomMany(2)>>
 <<set $thisWeeksIllegalWares = $merchantIllegalWares.randomMany(1)>>
diff --git a/src/uncategorized/pCoupAttempt.tw b/src/uncategorized/pCoupAttempt.tw
index aced0544a0cbdb5b8752ed96cd6e1ad1fdf116bf..88e9dcbca374a32671175020a8cca2ee54d8b229 100644
--- a/src/uncategorized/pCoupAttempt.tw
+++ b/src/uncategorized/pCoupAttempt.tw
@@ -1,6 +1,40 @@
 :: P coup attempt [nobr]
 
 <<set $nextButton = "Continue", $nextLink = "Random Nonindividual Event", $daughtersVictory = 1>>
+<<set _weeks = $taitorWeeks, _pregWeeks = $taitorWeeks, $taitorWeeks = 0>>
+
+<<set WombProgress($traitor, _pregWeeks)>> /* In all cases should be done */
+<<set WombUpdatePregVars($traitor)>>
+<<if WombBirthReady($traitor, 40) > 0 >> /* normal birth case, partial birthers not supported*/
+	<<set $traitor.preg = -1, $traitor.birthsTotal += WombBirthReady($traitor, 40), $traitor.pregType = 0, $traitor.pregSource = 0, $traitor.pregWeek = 0, $traitor.pregKnown = 0>>
+	<<set WombFlush($traitor)>>
+<<else>>/* still pregnant slave */
+	<<set $traitor.preg = WombMaxPreg($traitor)>> /*most ready fetus is a base*/
+	<<set $traitor.pregWeek = WombMaxPreg($traitor)>> /*most ready fetus is a base*/
+<</if>> 
+<<run SetBellySize($traitor)>> /*In any case it's useful to do.*/
+
+<<if $traitor.bald != 1>>
+	<<if ($traitor.hLength < 150)>>
+		<<set $traitor.hLength += _weeks>>
+	<</if>>
+<</if>>
+<<if $seeAge != 0>>
+	<<for _weeks > 0>>
+		<<set $traitor.birthWeek++>>
+		<<if $traitor.birthWeek >= 52>>
+			<<set $traitor.birthWeek = 0>>
+			<<if $seeAge == 1>>
+				<<set $traitor.physicalAge += 1, $traitor.actualAge += 1, $traitor.visualAge += 1>>
+				<<set $traitor.ovaryAge += either(.8, .9, .9, 1, 1, 1, 1.1)>>
+				<<if $traitor.physicalAge <= 18 && $loliGrow == 0>>
+					<<PhysicalDevelopment $traitor>>
+				<</if>>
+			<</if>>
+		<</if>>
+		<<set _weeks-->>
+	<</for>>
+<</if>>
 
 You are awakened in the middle of the night by a jolt that shakes the entire arcology, accompanied by a distant boom. It is followed by the wail of the arcology's alarm systems, and then finally by a faint crackle that grows to a constant chatter of gunfire. Main power goes out, and you claw your way in the darkness to the video feeds, running on emergency backup. The Daughters of Liberty have more sympathizers in the arcology than even you suspected, and they're well armed and have the element of surprise. <<if $arcologies[0].FSRomanRevivalistLaw == 1>>$arcologies[0].name, however, is home to a society that cannot be surprised, for each and every one of its citizens is armed and trained for instant contribution to the defense of Rome. Even as you do your best to reestablish control, you hear a thunderous, ubiquitous roar from all around you. Your citizens are already getting into the fight.<</if>>
 
diff --git a/src/uncategorized/pCoupCollaboration.tw b/src/uncategorized/pCoupCollaboration.tw
index ea6b13c5a107d55016be6f3d2acd5913fa1994ad..2c9b37a9b7255213c8e0a01684d1f241f639a081 100644
--- a/src/uncategorized/pCoupCollaboration.tw
+++ b/src/uncategorized/pCoupCollaboration.tw
@@ -1,10 +1,41 @@
-:: P coup collaboration
+:: P coup collaboration [nobr]
+
+<<set _weeks = $taitorWeeks, _pregWeeks = $taitorWeeks, $taitorWeeks = 0>>
+<<setLocalPronouns $traitor>>
+<<run Enunciate($traitor)>>
+
+<<set WombProgress($traitor, _pregWeeks)>> /* In all cases should be done */
+<<set WombUpdatePregVars($traitor)>>
+<<if WombBirthReady($traitor, 40) > 0 >> /* normal birth case, partial birthers not supported*/
+	<<set $traitor.preg = -1, $traitor.birthsTotal += WombBirthReady($traitor, 40), $traitor.pregType = 0, $traitor.pregSource = 0, $traitor.pregWeek = 0, $traitor.pregKnown = 0>>
+	<<set WombFlush($traitor)>>
+<<else>>/* still pregnant slave */
+	<<set $traitor.preg = WombMaxPreg($traitor)>> /*most ready fetus is a base*/
+	<<set $traitor.pregWeek = WombMaxPreg($traitor)>> /*most ready fetus is a base*/
+<</if>> 
+<<run SetBellySize($traitor)>> /*In any case it's useful to do.*/
 
 You are awakened in the middle of the night by an odd darkness. All the normal lights of your healthy arcology are out. Main power has gone out, and you claw your way in the darkness to the video feeds, running on emergency backup.
 
-Armed rebels are running unchecked down the corridors. <<if $mercenaries > 0>>Your mercenaries' quarters is locked down, but from the interior feeds you can see a few of them lying in their beds or slumped in chairs as gas is pumped through the ventilation systems. <</if>>The security drones are actively assisting the rebels. You can see $traitor.slaveName on one of the feeds, encouraging her fellow fighters with yells, and when that fails, leading them by example. In areas already controlled by the Daughters, slaveowners are being summarily shot in the streets. "<<= properTitle()>>," $assistantName says, "the Daughters of Liberty are in complete control of all arcology systems. Remain here."
+<br><br>
+
+Armed rebels are running unchecked down the corridors. <<if $mercenaries > 0>>Your mercenaries' quarters is locked down, but from the interior feeds you can see a few of them lying in their beds or slumped in chairs as gas is pumped through the ventilation systems. <</if>>The security drones are actively assisting the rebels. You can see
+<<if $traitor.bellyPreg >= 100000>>
+	the staggeringly pregnant
+<<elseif $traitor.bellyPreg >= 15000>>
+	the heavily pregnant
+<<elseif $traitor.bellyPreg >= 10000>>
+	the very pregnant
+<<elseif $traitor.bellyPreg >= 5000>>
+	the pregnant
+<</if>>
+$traitor.slaveName on one of the feeds, encouraging $his fellow fighters with yells, and when that fails, leading them by example. In areas already controlled by the Daughters, slaveowners are being summarily shot in the streets. "<<= properTitle()>>," $assistantName says, "the Daughters of Liberty are in complete control of all arcology systems. Remain here."
+
+<br><br>
+
+After half an hour of watching the executions, $traitor.slaveName <<if $traitor.bellyPreg >= 10000>>waddles<<else>>strides<</if>> confidently into your office. You greet $him by name, in response to which $he deals you a vicious open-handed slap that knocks you out of your chair. <<if $traitor.slaveName != $traitor.birthName>>"My name," $he <<say>>s, "i<<s>> <<if SlaveStatsChecker.checkForLisp($traitor)>><<= lispReplace($traitor.birthName)>><<else>>$traitor.birthName<</if>>."<<else>>"You <<s>>tupid fuck," $he <<say>>s.<</if>> Your cause of death is that of many an oppressor - an aneurysm of the cerebellum, in 9mm Parabellum.
 
-After half an hour of watching the executions, $traitor.slaveName strides confidently into your office. You greet her by name, in response to which she deals you a vicious open-handed slap that knocks you out of your chair. <<if $traitor.slaveName != $traitor.birthName>>"My name," she says, "is $traitor.birthName."<<else>>"You stupid fuck," she says.<</if>> Your cause of death is that of many an oppressor - an aneurysm of the cerebellum, in 9mm Parabellum.
+<br><br>
 
 ''GAME OVER''
 
diff --git a/src/uncategorized/pCoupLoss.tw b/src/uncategorized/pCoupLoss.tw
index b5aa478051617d75f0f9b3b6242c3c3f1f842e95..7ed6d5372076dd639ddb2105a879da99d8cf7050 100644
--- a/src/uncategorized/pCoupLoss.tw
+++ b/src/uncategorized/pCoupLoss.tw
@@ -1,11 +1,41 @@
-:: P coup loss
+:: P coup loss [nobr]
+
+<<set _weeks = $taitorWeeks, _pregWeeks = $taitorWeeks, $taitorWeeks = 0>>
+<<setLocalPronouns $traitor>>
+
+<<set WombProgress($traitor, _pregWeeks)>> /* In all cases should be done */
+<<set WombUpdatePregVars($traitor)>>
+<<if WombBirthReady($traitor, 40) > 0 >> /* normal birth case, partial birthers not supported*/
+	<<set $traitor.preg = -1, $traitor.birthsTotal += WombBirthReady($traitor, 40), $traitor.pregType = 0, $traitor.pregSource = 0, $traitor.pregWeek = 0, $traitor.pregKnown = 0>>
+	<<set WombFlush($traitor)>>
+<<else>>/* still pregnant slave */
+	<<set $traitor.preg = WombMaxPreg($traitor)>> /*most ready fetus is a base*/
+	<<set $traitor.pregWeek = WombMaxPreg($traitor)>> /*most ready fetus is a base*/
+<</if>> 
+<<run SetBellySize($traitor)>> /*In any case it's useful to do.*/
 
 You are awakened in the middle of the night by a jolt that shakes the entire arcology, accompanied by a distant boom. It is followed by another, and another, and then the wail of the arcology's alarm systems, and then finally by a faint crackle that grows to a constant chatter of gunfire. Main power goes out, and you claw your way in the darkness to the video feeds, running on emergency backup.
 
-<<if $mercenaries > 0>>Sheets of flame are pouring from your mercenaries' quarters; it seems they were among the first targets for bombs. <</if>>Heavy gunfire is bringing down security drones by the scores. The attackers seem to have figured out where the drone hangars are, and are laying down fire on the exits the drones must use to get into action. <<if $traitor != 0>>You can see $traitor.slaveName on one of the feeds, encouraging her fellow fighters with yells, and when that fails, leading them by example. <</if>> In areas already controlled by your enemies, slaveowners are being summarily shot in the streets. <<if $hackerSupport == 1>>"<<= properTitle()>>," $assistantName says, "the Daughters of Liberty are attempting a coup. They appear to have smuggled a significant quantity of arms and explosives into the arcology.<<else>>"<<= properTitle()>>," $assistantName says, "the Daughters of Liberty are attempting a coup. They appear to have smuggled a significant qua - zzzt -" There is nothing more from the computer systems.<</if>>
+<br><br>
+
+<<if $mercenaries > 0>>Sheets of flame are pouring from your mercenaries' quarters; it seems they were among the first targets for bombs. <</if>>Heavy gunfire is bringing down security drones by the scores. The attackers seem to have figured out where the drone hangars are, and are laying down fire on the exits the drones must use to get into action. <<if $traitor != 0>>You can see
+<<if $traitor.bellyPreg >= 100000>>
+	the staggeringly pregnant
+<<elseif $traitor.bellyPreg >= 15000>>
+	the heavily pregnant
+<<elseif $traitor.bellyPreg >= 10000>>
+	the very pregnant
+<<elseif $traitor.bellyPreg >= 5000>>
+	the pregnant
+<</if>>
+$traitor.slaveName on one of the feeds, encouraging $his fellow fighters with yells, and when that fails, leading them by example<<if $traitor.bellyPreg >= 15000>> as best $he can<</if>>. <</if>> In areas already controlled by your enemies, slaveowners are being summarily shot in the streets. <<if $hackerSupport == 1>>"<<= properTitle()>>," $assistantName says, "the Daughters of Liberty are attempting a coup. They appear to have smuggled a significant quantity of arms and explosives into the arcology.<<else>>"<<= properTitle()>>," $assistantName says, "the Daughters of Liberty are attempting a coup. They appear to have smuggled a significant qua - zzzt -" There is nothing more from the computer systems.<</if>>
+
+<br><br>
 
 <<if $traitor != 0>>If this were a movie, $traitor.slaveName would be the one to kill you after a desperate struggle in your office. Reality does not have such a refined sense of drama. <</if>>If the Daughters had any plans to take you alive, they are lost to the exigencies of combat. Your penthouse remains locked down, forcing them to use breaching charges to make an entrance. These prove entirely too effective, and your last impression is of the floor heaving bodily up toward the ceiling.
 
+<br><br>
+
 ''GAME OVER''
 
 <<set $ui = "start">>
diff --git a/src/uncategorized/pTraitorMessage.tw b/src/uncategorized/pTraitorMessage.tw
index 5769db4e381d8bed19a96bf2e32b1fedb564b5a0..377cc4d96a3d7d855e014f3145a4bfbd6500b379 100644
--- a/src/uncategorized/pTraitorMessage.tw
+++ b/src/uncategorized/pTraitorMessage.tw
@@ -1,9 +1,67 @@
 :: P traitor message [nobr]
 
-<<set $nextButton = "Continue">>
-<<set $nextLink = "Random Nonindividual Event">>
+<<set $nextButton = "Continue", $nextLink = "Random Nonindividual Event">>
+<<set _weeks = $taitorWeeks, _pregWeeks = $taitorWeeks, $taitorWeeks = 1>>
+<<setLocalPronouns $traitor>>
 
-The month after freeing $traitor.slaveName, you receive another message from the Daughters of Liberty. This one contains a video. It shows $traitor.slaveName sitting quietly at a table, wearing comfortable clothes and eating a nice meal. She looks a little bewildered, but there's an obvious happiness to her, it's impossible to deny. She seems unaware she's being recorded.
+/* ------------------ pregnancy setup start here----------------- */
+
+<<if $traitor.preg > 0>>
+	<<set _wasPreg = 1>>
+<<else>>
+	<<set _wasPreg = 0>>
+<</if>>
+
+<<set WombProgress($traitor, _pregWeeks)>> /* In all cases should be done */
+<<set WombUpdatePregVars($traitor)>>
+<<if $traitor.broodmother > 0>> /* Broodmother implant is assumed as removed.*/
+	<<set $traitor.preg = -1, $traitor.birthsTotal += WombBirthReady($traitor, 37), $traitor.pregType = 0, $traitor.pregSource = 0, $traitor.pregWeek = 0, $traitor.pregKnown = 0, $traitor.broodmother == 0, $traitor.broodmotherFetuses = 0>>
+	<<set WombFlush($traitor)>>
+<<elseif WombBirthReady($traitor, 40) > 0 >> /* normal birth case, partial birthers not supported*/
+	<<set $traitor.preg = -1, $traitor.birthsTotal += WombBirthReady($traitor, 40), $traitor.pregType = 0, $traitor.pregSource = 0, $traitor.pregWeek = 0, $traitor.pregKnown = 0>>
+	<<set WombFlush($traitor)>>
+<<else>>/* still pregnant slave */
+	<<set $traitor.preg = WombMaxPreg($traitor)>> /*most ready fetus is a base*/
+	<<set $traitor.pregWeek = WombMaxPreg($traitor)>> /*most ready fetus is a base*/
+<</if>> 
+<<run SetBellySize($traitor)>> /*In any case it's useful to do.*/
+
+<<if $traitor.preg > 0>>
+	<<set _isPreg = 1>>
+<<else>>
+	<<set _isPreg = 0>>
+<</if>>
+
+/* ------------------ pregnancy setup end here----------------- 
+	As no broodmother cases in code below, it's no need to setup every case of impregnation through new system. Backup mechanic will do it for normal pregnancies.
+*/
+
+<<if $traitor.hStyle == "shaved">>
+	<<set $traitor.hStyle = "strip">>
+<</if>>
+<<if $traitor.bald != 1>>
+	<<if ($traitor.hLength < 150)>>
+		<<set $traitor.hLength += _weeks>>
+	<</if>>
+<</if>>
+<<if $seeAge != 0>>
+	<<for _weeks > 0>>
+		<<set $traitor.birthWeek++>>
+		<<if $traitor.birthWeek >= 52>>
+			<<set $traitor.birthWeek = 0>>
+			<<if $seeAge == 1>>
+				<<set $traitor.physicalAge += 1, $traitor.actualAge += 1, $traitor.visualAge += 1>>
+				<<set $traitor.ovaryAge += either(.8, .9, .9, 1, 1, 1, 1.1)>>
+				<<if $traitor.physicalAge <= 18 && $loliGrow == 0>>
+					<<PhysicalDevelopment $traitor>>
+				<</if>>
+			<</if>>
+		<</if>>
+		<<set _weeks-->>
+	<</for>>
+<</if>>
+
+The month after freeing $traitor.slaveName, you receive another message from the Daughters of Liberty. This one contains a video. It shows $traitor.slaveName sitting quietly at a table<<if _wasPreg != _isPreg>>, no longer clearly pregnant<</if>>, wearing comfortable clothes and eating a nice meal. $He looks a little bewildered, but there's an obvious happiness to $him, it's impossible to deny. $He seems unaware $he's being recorded.
 
 <br><br>
 
diff --git a/src/uncategorized/pUndergroundRailroad.tw b/src/uncategorized/pUndergroundRailroad.tw
index c273651108e12a2a79e553bb5efe9fea1c6310cb..dbcc6953f5a82e94e196d1f05566e44b8aca9cad 100644
--- a/src/uncategorized/pUndergroundRailroad.tw
+++ b/src/uncategorized/pUndergroundRailroad.tw
@@ -97,8 +97,10 @@ that several nondescript citizens she sees occasionally at work have passed a fe
 		<<set $activeSlave.relationshipTarget = 0, $activeSlave.relationship = 0>>
 		<<if def $i>><<set $slaves[$i].relationshipTarget = 0, $slaves[$i].relationship = 0>><<else>>@@.red;Error, relationshipTarget not found.@@<</if>>
 	<</if>>
+	<<set $taitorWeeks = 1>>
 	<<set $traitor = clone($activeSlave)>>
 	<<set $traitor.assignment = "rest">>
+	<<set $traitor.inflation = 0, $traitor.inflationType = "none", $traitor.inflationMethod = 0, SetBellySize($traitor)>>
 	<<set $traitorStats = {PCpregSource: 0, PCmother: 0, PCfather: 0, traitorMother: [], traitorFather: [], traitorPregSources: [], traitorMotherTank: [], traitorFatherTank: [], traitorBody: 0}>>
 	<<if $familyTesting == 1>>
 		<<if $traitor.ID == $PC.pregSource>>
diff --git a/src/uncategorized/persBusiness.tw b/src/uncategorized/persBusiness.tw
index 111294fe8f9917893847bcd94d25cfe6267703ca..d9bfbe903289a261e40ad688c7dd3a7bdef817ba 100644
--- a/src/uncategorized/persBusiness.tw
+++ b/src/uncategorized/persBusiness.tw
@@ -859,34 +859,27 @@ Routine upkeep of your demesne costs @@.yellow;<<print cashFormat($costs)>>.@@
 /*Without events triggering and a relatively average supply/demand situation, the best case scenario is an increase/decrease in the price of slaves of 10 in one week. Chance of these conditions happening are 1/25. For demand or supply to go from average to their maximum will take 25 weeks if rolling highest growth each time a roll is made and all other luck is average. Because of the properties of the market and how it develops the likely prices one will encounter are distributed in a bellshaped fashion, centered around 1000. Minimum possible price is 750, maximum 1250. At +/- 35000 chances of supply or demand getting even more extreme are reduced.*/
 <<set _demandSlaveVar = random(-10,10)*10>>
 <<set _supplySlaveVar = random(-10,10)*10>>
-<<set _randomSlaveCost = random(-3,3)>>
-<<set $slaveCostRandom = _randomSlaveCost>>
+<<set $slaveCostRandom = random(-3,3)>>
 <<if $menialDemandFactor <= -50000>>
-	<<set _demandDelta = random(1,3)>>
-	<<set $deltaDemand = _demandDelta * 1000>>
-	<<set _timerDemand = random(7,12)>>
-	<<set $demandTimer = _timerDemand>>
+	<<set $deltaDemand = random(1,3) * 1000>>
+	<<set $demandTimer = random(7,12)>>
 	<<set $elapsedDemandTimer = 1>>
 	<<set $menialDemandFactor += $deltaDemand + _demandSlaveVar>>
 <<elseif $menialDemandFactor >= 50000>>
-	<<set _demandDelta = random(-3,-1)>>
-	<<set $deltaDemand = _demandDelta * 1000>>
-	<<set _timerDemand = random(7,12)>>
-	<<set $demandTimer = _timerDemand>>
+	<<set $deltaDemand = random(-3,-1) * 1000>>
+	<<set $demandTimer = random(7,12)>>
 	<<set $elapsedDemandTimer = 1>>
 	<<set $menialDemandFactor += $deltaDemand + _demandSlaveVar>>
 <<elseif $demandTimer - $elapsedDemandTimer <= 0>>
-	<<set _timerDemand = random(7,12)>>
-	<<set $demandTimer = _timerDemand>>
+	<<set $demandTimer = random(7,12)>>
 	<<set $elapsedDemandTimer = 1>>
 	<<if $menialDemandFactor > 35000>>
-		<<set _demandDelta = random(-3,1)>>
+		<<set $deltaDemand = random(-3,1) * 1000>>
 	<<elseif $menialDemandFactor < -35000>>
-		<<set _demandDelta = random(-1,3)>>
+		<<set $deltaDemand = random(-1,3) * 1000>>
 	<<else>>
-		<<set _demandDelta = random(-2,2)>>
+		<<set $deltaDemand = random(-2,2) * 1000>>
 	<</if>>
-	<<set $deltaDemand = _demandDelta * 1000>>
 	<<set $menialDemandFactor += $deltaDemand + _demandSlaveVar>>
 	<<if $menialDemandFactor <= -35000>>
 		<br>Demand for slaves is approaching a @@.red;''historic low'',@@ forecasts predict
@@ -941,31 +934,25 @@ Routine upkeep of your demesne costs @@.yellow;<<print cashFormat($costs)>>.@@
 <</if>>
 
 <<if $menialSupplyFactor <= -50000>>
-	<<set _supplyDelta = random(1,3)>>
-	<<set $deltaSupply = _supplyDelta * 1000>>
-	<<set _timerSupply = random(7,12)>>
-	<<set $supplyTimer = _timerSupply>>
+	<<set $deltaSupply = random(1,3) * 1000>>
+	<<set $supplyTimer = random(7,12)>>
 	<<set $elapsedSupplyTimer = 1>>
 	<<set $menialSupplyFactor += $deltaSupply + _demandSlaveVar>>
 <<elseif $menialSupplyFactor >= 50000>>
-	<<set _supplyDelta = random(-3,-1)>>
-	<<set $deltaSupply = _supplyDelta * 1000>>
-	<<set _timerSupply = random(7,12)>>
-	<<set $supplyTimer = _timerSupply>>
+	<<set $deltaSupply = random(-3,-1) * 1000>>
+	<<set $supplyTimer = random(7,12)>>
 	<<set $elapsedSupplyTimer = 1>>
 	<<set $menialSupplyFactor += $deltaSupply + _demandSlaveVar>>
 <<elseif $supplyTimer - $elapsedSupplyTimer <= 0>>
-	<<set _timerSupply = random(7,12)>>
-	<<set $supplyTimer = _timerSupply>>
+	<<set $supplyTimer = random(7,12)>>
 	<<set $elapsedSupplyTimer = 1>>
 	<<if $menialSupplyFactor > 35000>>
-		<<set _supplyDelta = random(-3,1)>>
+		<<set $deltaSupply = random(-3,1) * 1000>>
 	<<elseif $menialSupplyFactor < -35000>>
-		<<set _supplyDelta = random(-1,3)>>
+		<<set $deltaSupply = random(-1,3) * 1000>>
 	<<else>>
-		<<set _supplyDelta = random(-2,2)>>
+		<<set $deltaSupply = random(-2,2) * 1000>>
 	<</if>>
-	<<set $deltaSupply = _supplyDelta * 1000>>
 	<<set $menialSupplyFactor += $deltaSupply + _supplySlaveVar>>
 	<<if $menialSupplyFactor <= -35000>>
 		<br>Supply of slaves is approaching a @@.green;''historic low'',@@ forecasts predict
@@ -1033,14 +1020,45 @@ The RomanFS may need further tweaking (it probably got weaker). Could increase t
 <</if>>
 
 <<if $difficultySwitch == 1>>
+<<if $econWeatherDamage > 0>>
+	<<set _repairSeed = random(1,3)>>
+	<<if $disasterResponse == 0>>
+		<<if _repairSeed == 3>>
+			<<set $econWeatherDamage -= 1>>
+			<<set $localEcon += 1>>
+		<</if>>
+	<<elseif $disasterResponse == 1>>
+		<<if _repairSeed > 1>>
+			<<set $econWeatherDamage -= 1>>
+			<<set $localEcon += 1>>
+		<</if>>
+	<<else>>
+		<<if _repairSeed == 3>>
+			<<if $econWeatherDamage > 1>>
+				<<set $econWeatherDamage -= 2>>
+				<<set $localEcon += 2>>
+			<<else>>
+				<<set $econWeatherDamage -= 1>>
+				<<set $localEcon += 1>>
+			<</if>>
+		<<else>>
+			<<set $econWeatherDamage -= 1>>
+			<<set $localEcon += 1>>
+		<</if>>
+	<</if>>
+<</if>>
+<<if $terrain != "oceanic">>
 	<<if $weatherToday.severity == 3>>
 		<<set $localEcon -= 1>>
+		<<set $econWeatherDamage += 1>>
 		<br><br>This week's terrible weather did a number on the region, @@.red;hurting the local economy.@@
 	<<elseif $weatherToday.severity > 3>>
 		<<set $localEcon -= 3>>
+		<<set $econWeatherDamage += 3>>
 		<br><br>This week's extreme weather ravaged the region, @@.red;the local economy is seriously disrupted.@@
 	<</if>>
 <</if>>
+<</if>>
 
 
 
diff --git a/src/uncategorized/personalAssistantOptions.tw b/src/uncategorized/personalAssistantOptions.tw
index 257b190dd7a253875f6c71dbf9b6811c2460f5fc..3b9d2d2b32f39eee36145626b5f012d2c2e543d4 100644
--- a/src/uncategorized/personalAssistantOptions.tw
+++ b/src/uncategorized/personalAssistantOptions.tw
@@ -66,7 +66,7 @@ She is currently using the ''$assistantAppearance'' avatar.
 		<<if $arcologies[0].FSAssetExpansionist != "unset">> <<set _seed.push("asset expansionism")>> <</if>>
 		<<if $arcologies[0].FSRomanRevivalist != "unset">> <<set _seed.push("Roman revivalism")>> <</if>>
 		<<if $arcologies[0].FSArabianRevivalist != "unset">> <<set _seed.push("Arabian revivalism")>> <</if>>
-		<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("Eugenics")>> <</if>>
+		<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
 	<<case "goddess">>
 		<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
 		<<if $arcologies[0].FSPaternalist != "unset">> <<set _seed.push("paternalism")>> <</if>>
@@ -77,8 +77,8 @@ She is currently using the ''$assistantAppearance'' avatar.
 		<<if $arcologies[0].FSChattelReligionist != "unset">> <<set _seed.push("chattel religionism")>> <</if>>
 		<<if $arcologies[0].FSAztecRevivalist != "unset">> <<set _seed.push("Aztec revivalism")>> <</if>>
 		<<if $arcologies[0].FSEgyptianRevivalist != "unset">> <<set _seed.push("Egyptian revivalism")>> <</if>>
-		<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("Repopulationism")>> <</if>>
-		<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("Eugenics")>> <</if>>
+		<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("repopulationism")>> <</if>>
+		<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
 	<<case "amazon">>
 		<<if $arcologies[0].FSSupremacist != "unset">> <<set _seed.push($arcologies[0].FSSupremacistRace + " supremacy")>> <</if>>
 		<<if $arcologies[0].FSSubjugationist != "unset">> <<set _seed.push($arcologies[0].FSSubjugationistRace + " subjugation")>> <</if>>
@@ -94,7 +94,7 @@ She is currently using the ''$assistantAppearance'' avatar.
 		<<if $arcologies[0].FSSlimnessEnthusiast != "unset">> <<set _seed.push("slimness enthusiasm")>> <</if>>
 		<<if $arcologies[0].FSArabianRevivalist != "unset">> <<set _seed.push("Arabian revivalism")>> <</if>>
 		<<if $arcologies[0].FSChineseRevivalist != "unset">> <<set _seed.push("Chinese revivalism")>> <</if>>
-		<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("Eugenics")>> <</if>>
+		<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
 	<<case "monstergirl">>
 		<<if $arcologies[0].FSSupremacist != "unset">> <<set _seed.push($arcologies[0].FSSupremacistRace + " supremacy")>> <</if>>
 		<<if $arcologies[0].FSGenderRadicalist != "unset">> <<set _seed.push("gender radicalism")>> <</if>>
@@ -116,7 +116,7 @@ She is currently using the ''$assistantAppearance'' avatar.
 		<<if $arcologies[0].FSPaternalist != "unset">> <<set _seed.push("paternalism")>> <</if>>
 		<<if $arcologies[0].FSAssetExpansionist != "unset">> <<set _seed.push("asset expansionism")>> <</if>>
 		<<if $arcologies[0].FSPastoralist != "unset">> <<set _seed.push("pastoralism")>> <</if>>
-		<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("Repopulationism")>> <</if>>
+		<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("repopulationism")>> <</if>>
 		<<if $arcologies[0].FSHedonisticDecadence != "unset">> <<set _seed.push("hedonistic decadence")>> <</if>>
 	<<case "loli">>
 		<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
@@ -125,13 +125,13 @@ She is currently using the ''$assistantAppearance'' avatar.
 		<<if $arcologies[0].FSYouthPreferentialist != "unset">> <<set _seed.push("youth preferentialism")>> <</if>>
 		<<if $arcologies[0].FSSlimnessEnthusiast != "unset">> <<set _seed.push("slimness enthusiasm")>> <</if>>
 		<<if $arcologies[0].FSEdoRevivalist != "unset">> <<set _seed.push("Edo revivalism")>> <</if>>
-		<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("Eugenics")>> <</if>>
+		<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
 	<<case "preggololi">>
 		<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
 		<<if $arcologies[0].FSPaternalist != "unset">> <<set _seed.push("paternalism")>> <</if>>
 		<<if $arcologies[0].FSDegradationist != "unset">> <<set _seed.push("degradationism")>> <</if>>
 		<<if $arcologies[0].FSYouthPreferentialist != "unset">> <<set _seed.push("youth preferentialism")>> <</if>>
-		<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("Repopulationism")>> <</if>>
+		<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("repopulationism")>> <</if>>
 		<<if $arcologies[0].FSHedonisticDecadence != "unset">> <<set _seed.push("hedonistic decadence")>> <</if>>
 	<<case "fairy">>
 		<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
@@ -141,9 +141,9 @@ She is currently using the ''$assistantAppearance'' avatar.
 		<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
 		<<if $arcologies[0].FSPaternalist != "unset">> <<set _seed.push("paternalism")>> <</if>>
 		<<if $arcologies[0].FSBodyPurist != "unset">> <<set _seed.push("body purism")>> <</if>>
-		<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("Repopulationism")>> <</if>>
+		<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("repopulationism")>> <</if>>
 	<<case "angel">>
-		<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("Eugenics")>> <</if>>
+		<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
 		<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
 		<<if $arcologies[0].FSPaternalist != "unset">> <<set _seed.push("paternalism")>> <</if>>
 		<<if $arcologies[0].FSBodyPurist != "unset">> <<set _seed.push("body purism")>> <</if>>
@@ -157,7 +157,7 @@ She is currently using the ''$assistantAppearance'' avatar.
 		<<if $arcologies[0].FSSlimnessEnthusiast != "unset">> <<set _seed.push("slimness enthusiasm")>> <</if>>
 		<<if $arcologies[0].FSChattelReligionist != "unset">> <<set _seed.push("chattel religionism")>> <</if>>
 	<<case "incubus">>
-		<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("Eugenics")>> <</if>>
+		<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
 		<<if $arcologies[0].FSGenderRadicalist != "unset">> <<set _seed.push("gender radicalism")>> <</if>>
 		<<if $arcologies[0].FSDegradationist != "unset">> <<set _seed.push("degradationism")>> <</if>>
 		<<if $arcologies[0].FSBodyPurist != "unset">> <<set _seed.push("body purism")>> <</if>>
@@ -176,8 +176,8 @@ She is currently using the ''$assistantAppearance'' avatar.
 		<<if $arcologies[0].FSChineseRevivalist != "unset">> <<set _seed.push("Chinese revivalism")>> <</if>>
 	<<case "succubus">>
 		<<if $arcologies[0].FSSupremacist != "unset">> <<set _seed.push($arcologies[0].FSSupremacistRace + " supremacy")>> <</if>>
-		<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("Repopulationism")>> <</if>>
-		<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("Eugenics")>> <</if>>
+		<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("repopulationism")>> <</if>>
+		<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
 		<<if $arcologies[0].FSGenderRadicalist != "unset">> <<set _seed.push("gender radicalism")>> <</if>>
 		<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
 		<<if $arcologies[0].FSDegradationist != "unset">> <<set _seed.push("degradationism")>> <</if>>
@@ -205,8 +205,8 @@ She is currently using the ''$assistantAppearance'' avatar.
 		<<if $arcologies[0].FSChattelReligionist != "unset">> <<set _seed.push("chattel religionism")>> <</if>>
 		<<if $arcologies[0].FSHedonisticDecadence != "unset">> <<set _seed.push("hedonistic decadence")>> <</if>>
 	<<case "witch">>
-		<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("Repopulationism")>> <</if>>
-		<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("Eugenics")>> <</if>>
+		<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("repopulationism")>> <</if>>
+		<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
 		<<if $arcologies[0].FSGenderRadicalist != "unset">> <<set _seed.push("gender radicalism")>> <</if>>
 		<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
 		<<if $arcologies[0].FSBodyPurist != "unset">> <<set _seed.push("body purism")>> <</if>>
@@ -255,7 +255,7 @@ It has no impact on public opinion.
 	<<if $arcologies[0].FSRomanRevivalist != "unset">> <<set _seed.push("Roman revivalism")>> <</if>>
 	<<if $arcologies[0].FSAztecRevivalist != "unset">> <<set _seed.push("Aztec revivalism")>> <</if>>
 	<<if $arcologies[0].FSArabianRevivalist != "unset">> <<set _seed.push("Arabian revivalism")>> <</if>>
-	<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("Eugenics")>> <</if>>
+	<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
 	<<if _seed.length > 0>>
 		<<set _desc = "">>
 		<<for _i = 0; _i < _seed.length; _i++>>
@@ -281,8 +281,8 @@ It has no impact on public opinion.
 	<<if $arcologies[0].FSPastoralist != "unset">> <<set _seed.push("pastoralism")>> <</if>>
 	<<if $arcologies[0].FSChattelReligionist != "unset">> <<set _seed.push("chattel religionism")>> <</if>>
 	<<if $arcologies[0].FSEgyptianRevivalist != "unset">> <<set _seed.push("Egyptian revivalism")>> <</if>>
-	<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("Repopulationism")>> <</if>>
-	<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("Eugenics")>> <</if>>
+	<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("repopulationism")>> <</if>>
+	<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
 	<<if $arcologies[0].FSHedonisticDecadence != "unset">> <<set _seed.push("hedonistic decadence")>> <</if>>
 	<<if _seed.length > 0>>
 		<<set _desc = "">>
@@ -332,7 +332,7 @@ It has no impact on public opinion.
 	<<if $arcologies[0].FSSlimnessEnthusiast != "unset">> <<set _seed.push("slimness enthusiasm")>> <</if>>
 	<<if $arcologies[0].FSArabianRevivalist != "unset">> <<set _seed.push("Arabian revivalism")>> <</if>>
 	<<if $arcologies[0].FSChineseRevivalist != "unset">> <<set _seed.push("Chinese revivalism")>> <</if>>
-	<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("Eugenics")>> <</if>>
+	<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
 	<<if _seed.length > 0>>
 		<<set _desc = "">>
 		<<for _i = 0; _i < _seed.length; _i++>>
@@ -405,7 +405,7 @@ It has no impact on public opinion.
 	<<if $arcologies[0].FSPaternalist != "unset">> <<set _seed.push("paternalism")>> <</if>>
 	<<if $arcologies[0].FSAssetExpansionist != "unset">> <<set _seed.push("asset expansionism")>> <</if>>
 	<<if $arcologies[0].FSPastoralist != "unset">> <<set _seed.push("pastoralism")>> <</if>>
-	<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("Repopulationism")>> <</if>>
+	<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("repopulationism")>> <</if>>
 	<<if $arcologies[0].FSHedonisticDecadence != "unset">> <<set _seed.push("hedonistic decadence")>> <</if>>
 	<<if _seed.length > 0>>
 		<<set _desc = "">>
@@ -431,7 +431,7 @@ It has no impact on public opinion.
 	<<if $arcologies[0].FSYouthPreferentialist != "unset">> <<set _seed.push("youth preferentialism")>> <</if>>
 	<<if $arcologies[0].FSSlimnessEnthusiast != "unset">> <<set _seed.push("slimness enthusiasm")>> <</if>>
 	<<if $arcologies[0].FSEdoRevivalist != "unset">> <<set _seed.push("Edo revivalism")>> <</if>>
-	<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("Eugenics")>> <</if>>
+	<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
 	<<if _seed.length > 0>>
 		<<set _desc = "">>
 		<<for _i = 0; _i < _seed.length; _i++>>
@@ -454,7 +454,7 @@ It has no impact on public opinion.
 	<<if $arcologies[0].FSPaternalist != "unset">> <<set _seed.push("paternalism")>> <</if>>
 	<<if $arcologies[0].FSDegradationist != "unset">> <<set _seed.push("degradationism")>> <</if>>
 	<<if $arcologies[0].FSYouthPreferentialist != "unset">> <<set _seed.push("youth preferentialism")>> <</if>>
-	<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("Repopulationism")>> <</if>>
+	<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("repopulationism")>> <</if>>
 	<<if $arcologies[0].FSHedonisticDecadence != "unset">> <<set _seed.push("hedonistic decadence")>> <</if>>
 	<<if _seed.length > 0>>
 		<<set _desc = "">>
@@ -498,7 +498,7 @@ It has no impact on public opinion.
 	<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
 	<<if $arcologies[0].FSPaternalist != "unset">> <<set _seed.push("paternalism")>> <</if>>
 	<<if $arcologies[0].FSBodyPurist != "unset">> <<set _seed.push("body purism")>> <</if>>
-	<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("Repopulationism")>> <</if>>
+	<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("repopulationism")>> <</if>>
 	<<if _seed.length > 0>>
 		<<set _desc = "">>
 		<<for _i = 0; _i < _seed.length; _i++>>
@@ -622,7 +622,7 @@ It has no impact on public opinion.
 <<if $assistantAppearance != "angel">> [[Angel|Personal assistant options][$assistantAppearance = "angel"]]
 	<<if $PAPublic == 1>>
 	<<set _seed = []>>
-	<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("Eugenics")>> <</if>>
+	<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
 	<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
 	<<if $arcologies[0].FSPaternalist != "unset">> <<set _seed.push("paternalism")>> <</if>>
 	<<if $arcologies[0].FSBodyPurist != "unset">> <<set _seed.push("body purism")>> <</if>>
@@ -669,7 +669,7 @@ It has no impact on public opinion.
 <<if $assistantAppearance != "incubus">> [[Incubus|Personal assistant options][$assistantAppearance = "incubus"]]
 	<<if $PAPublic == 1>>
 	<<set _seed = []>>
-	<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("Eugenics")>> <</if>>
+	<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
 	<<if $arcologies[0].FSGenderRadicalist != "unset">> <<set _seed.push("gender radicalism")>> <</if>>
 	<<if $arcologies[0].FSDegradationist != "unset">> <<set _seed.push("degradationism")>> <</if>>
 	<<if $arcologies[0].FSBodyPurist != "unset">> <<set _seed.push("body purism")>> <</if>>
@@ -705,8 +705,8 @@ It has no impact on public opinion.
 	<<if $PAPublic == 1>>
 	<<set _seed = []>>
 	<<if $arcologies[0].FSSupremacist != "unset">> <<set _seed.push($arcologies[0].FSSupremacistRace + " supremacy")>> <</if>>
-	<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("Repopulationism")>> <</if>>
-	<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("Eugenics")>> <</if>>
+	<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("repopulationism")>> <</if>>
+	<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
 	<<if $arcologies[0].FSGenderRadicalist != "unset">> <<set _seed.push("gender radicalism")>> <</if>>
 	<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
 	<<if $arcologies[0].FSDegradationist != "unset">> <<set _seed.push("degradationism")>> <</if>>
@@ -766,8 +766,8 @@ It has no impact on public opinion.
 <<if $assistantAppearance != "witch">> [[Bonus: Witch|Personal assistant options][$assistantAppearance = "witch"]]
 	<<if $PAPublic == 1>>
 	<<set _seed = []>>
-	<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("Repopulationism")>> <</if>>
-	<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("Eugenics")>> <</if>>
+	<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("repopulationism")>> <</if>>
+	<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
 	<<if $arcologies[0].FSGenderRadicalist != "unset">> <<set _seed.push("gender radicalism")>> <</if>>
 	<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
 	<<if $arcologies[0].FSBodyPurist != "unset">> <<set _seed.push("body purism")>> <</if>>
@@ -877,7 +877,7 @@ She can further refine her avatar to match the arcology's social profile<<if $as
 	<br>
 <</if>>
 <<if $assistantFSAppearance != "eugenics" && $arcologies[0].FSRestartDecoration > 20>>
-	[[Restarting Society|Personal assistant options][$assistantFSAppearance = "eugenics"]]
+	[[Eugenics|Personal assistant options][$assistantFSAppearance = "eugenics"]]
 	<br>
 <</if>>
 <<if $assistantFSAppearance != "body purist" && $arcologies[0].FSBodyPuristDecoration > 20>>
diff --git a/src/uncategorized/randomNonindividualEvent.tw b/src/uncategorized/randomNonindividualEvent.tw
index ad035343b1e7395cf3209307d365d3eb505fdc68..89e222f462a30a380819cbd0c44eb572e825abbf 100644
--- a/src/uncategorized/randomNonindividualEvent.tw
+++ b/src/uncategorized/randomNonindividualEvent.tw
@@ -59,7 +59,10 @@
 		<</if>> /* closes no nicknames option */
 
 	<</if>> /* CLOSES FUCKDOLL CHECK */
-
+	
+	<<if  $week >= 10 >>
+		<<set $events.push("P associates public slut")>>
+	<</if>>
 	<<set $legendaryFacility = 1>>
 	<<if $legendaryWhoreID != 0>>
 		<<set $events.push("RE legendary whore")>>
diff --git a/src/uncategorized/reFSEgyptianRevivalistAcquisition.tw b/src/uncategorized/reFSEgyptianRevivalistAcquisition.tw
index 2b0c2fde6ec6ede34f7809aec6044c5693dd9309..8f8d65e0c981b4fe401566b13367a2422fb28fe9 100644
--- a/src/uncategorized/reFSEgyptianRevivalistAcquisition.tw
+++ b/src/uncategorized/reFSEgyptianRevivalistAcquisition.tw
@@ -1,4 +1,5 @@
 :: RE FSEgyptianRevivalist acquisition [nobr]
+
 /* Written and coded by Boney M */
 
 <<set $nextButton = "Continue">>
@@ -35,17 +36,17 @@
 <<if ($activeSlave.dick > 0) && ($activeSlave.balls == 0)>><<set $activeSlave.balls = random(1,5)>><</if>>
 
 You receive so many messages, as a noted titan of the new Free Cities world, that $assistantName has to be quite draconian in culling them. She lets only the most important through to you. One category of message that always gets through regardless of content, though, is requests for voluntary enslavement. As the new world takes shape, they've become less rare than they once were.
-
+<br><br>
 This call is coming from a public kiosk, which is usually an indication that the person on the other end is a transient individual who has decided to take slavery over homelessness. In this case, however, the story is more unusual - the callers seem stressed, but otherwise normal. They haltingly and quietly explain, with many nervous glances off-camera to ensure they are not overheard, that they are both siblings and lovers, and their attempts to keep the truth of the nature of their relationship from their friends, family, and society at large have failed. They had heard of $arcologies[0].name's reverence for incestuous relationships, and have managed to talk themselves into the questionable conclusion that their only chance to be together was for them to sell themselves to someone who would not just accept but encourage their incest - namely, you.
-
+<br><br>
 //Enslaving them will cost <<print cashFormat($contractCost)>>. Selling them immediately will bring in approximately <<print cashFormat($slaveCost*2)>>.//
-
-<<include "Long Slave Description">>\
-
+<br><br>
+<<include "Long Slave Description">>
+<br><br>
 <span id="result">
-<<if $cash >= $contractCost>>\
+<<if $cash >= $contractCost>>
 [[Enslave the pair|RE FSEgyptianRevivalist acquisition workaround][$sibling = $activeSlave, $cash -= ($contractCost)]]
-<<else>>\
+<<else>>
 	//You lack the necessary funds to enslave them.//
-<</if>>\
+<</if>>
 </span>
diff --git a/src/uncategorized/saChoosesOwnJob.tw b/src/uncategorized/saChoosesOwnJob.tw
index 70a86c4d097cfb1c17a2ee1866921c2812a719a4..69b834fa591ed5d33f743538e2c0ce7ee47e84b5 100644
--- a/src/uncategorized/saChoosesOwnJob.tw
+++ b/src/uncategorized/saChoosesOwnJob.tw
@@ -50,7 +50,7 @@
 			<<= assignJob($slaves[$i], "be a servant")>>
 		<</if>>
 
-	<<elseif ($universalRulesAssignsSelfFacility == 1) && (($slaves[$i].devotion < 45) || ($slaves[$i].trust < 45) || ($slaves[$i].sexualQuirk == "caring"))>>
+	<<elseif ($universalRulesAssignsSelfFacility == 1) && (($slaves[$i].devotion < 45) || ($slaves[$i].trust < 45)) && ($slaves[$i].sexualQuirk == "caring") && $nurseryNannies > $nurserySlaves>>
 		<<set $slaves[$i].choosesOwnAssignmentText += " enjoys taking care of infants, so $he decides to work in $nurseryName.">>
 		<<= assignJob($slaves[$i], "work as a nanny")>>
 
diff --git a/src/uncategorized/saServeThePublic.tw b/src/uncategorized/saServeThePublic.tw
index 03ad25b2cb359cf5e39c5c9a7294dd539b72196a..d0c578909b04a06219f3b600e1985797033d8f3a 100644
--- a/src/uncategorized/saServeThePublic.tw
+++ b/src/uncategorized/saServeThePublic.tw
@@ -527,19 +527,7 @@ $His appearance attracted $beauty members of the public (<<print Math.trunc($bea
 <<if $slaves[$i].relationship > 0>>
 	<<set $j = $slaveIndices[$slaves[$i].relationshipTarget]>>
 	<<if def $j && $slaves[$j].assignment == $slaves[$i].assignment>>
-		$His
-		<<if $slaves[$j].relationship <= 1>>
-			friend
-		<<elseif $slaves[$j].relationship <= 2>>
-			best friend
-		<<elseif $slaves[$j].relationship <= 3>>
-			friend with benefits
-		<<elseif $slaves[$j].relationship <= 4>>
-			lover
-		<<elseif $slaves[$j].relationship > 4>>
-			slave wife
-		<</if>>
-		$slaves[$j].slaveName is also serving the public and they work well together.
+		$His <<print relationshipTerm($slaves[$i])>> $slaves[$j].slaveName is also serving the public and they work well together.
 	<</if>>
 <<elseif $slaves[$i].relationship == -1>>
 	$He relies on citizens' desire to fuck $him for emotional support, making $him an excellent, if occasionally disturbing, slut.
diff --git a/src/uncategorized/saWhore.tw b/src/uncategorized/saWhore.tw
index 7ac000d53db8c34b47cc226c17e7c295ac09ae7a..60d94b19e1a42b6c9bfdbcb463e6853a4e57f949 100644
--- a/src/uncategorized/saWhore.tw
+++ b/src/uncategorized/saWhore.tw
@@ -544,19 +544,7 @@ $His appearance attracted $beauty customers (<<print Math.trunc($beauty/7)>> a d
 <<if $slaves[$i].relationship > 0>>
 	<<set $j = $slaveIndices[$slaves[$i].relationshipTarget]>>
 	<<if def $j && $slaves[$j].assignment == $slaves[$i].assignment>>
-		$His
-		<<if $slaves[$j].relationship <= 1>>
-			friend
-		<<elseif $slaves[$j].relationship <= 2>>
-			best friend
-		<<elseif $slaves[$j].relationship <= 3>>
-			friend with benefits
-		<<elseif $slaves[$j].relationship <= 4>>
-			lover
-		<<elseif $slaves[$j].relationship > 4>>
-			slave wife
-		<</if>>
-		$slaves[$j].slaveName is also whoring, so $he earns a bit more.
+		$His <<print relationshipTerm($slaves[$i])>> $slaves[$j].slaveName is also whoring, so $he earns a bit more.
 	<</if>>
 <<elseif $slaves[$i].relationship == -1>>
 	$He relies on customers' desire to fuck $him for emotional support, making $him an excellent, if occasionally disturbing, whore.
diff --git a/src/uncategorized/schoolroomReport.tw b/src/uncategorized/schoolroomReport.tw
index 2df38e4a63aeba507b2f27bd33bbd7937aa173de..74ea250706aa26c1b9f783edda52aad47324faac 100644
--- a/src/uncategorized/schoolroomReport.tw
+++ b/src/uncategorized/schoolroomReport.tw
@@ -77,37 +77,17 @@
 	<<for _dI = 0; _dI < _DL; _dI++>>
 		<<set $i = $slaveIndices[$SchlRiIDs[_dI]]>>
 		<<if $Schoolteacher.rivalryTarget == $slaves[$i].ID>>
-			Ever since her <<if $Schoolteacher.rivalry == 1>>growing rival<<elseif $Schoolteacher.rivalry == 2>>rival<<elseif $Schoolteacher.rivalry == 3>>bitter rival<</if>>, was enrolled, she began stalking the classroom carrying a large paddle, much to $slaves[$i].slaveName's terror.
+			Ever since her <<print rivalryTerm($Schoolteacher)>>, was enrolled, she began stalking the classroom carrying a large paddle, much to $slaves[$i].slaveName's terror.
 			<<set $slaves[$i].devotion -= 4, $slaves[$i].trust -= 4>>
 			<<if random(1,100) > 35>>
 				<<set $Schoolteacher.rivalry++, $slaves[_FLs].rivalry++, $slaves[$i].rivalry++>>
 			<</if>>
 		<<elseif $Schoolteacher.relationshipTarget == $slaves[$i].ID>>
-			She dedicates most of her attention to her <<if $Schoolteacher.relationship == 1>>friend<<elseif $Schoolteacher.relationship == 2>>best friend<<elseif $Schoolteacher.relationship == 3>>friend with benefits<<elseif $Schoolteacher.relationship == 4>>lover<<elseif $Schoolteacher.relationship == 5>>slave wife<</if>>, $slaves[$i].slaveName, making sure she understands that day's lesson.
+			She dedicates most of her attention to her <<print relationshipTerm($Schoolteacher)>>, $slaves[$i].slaveName, making sure she understands that day's lesson.
 			<<set $slaves[$i].devotion += 2, $slaves[$i].trust += 2>>
 		<<elseif $familyTesting == 1 && totalRelatives($slaves[$i]) > 0>>
-			<<if $slaves[$i].mother == $Schoolteacher.ID || $slaves[$i].father == $Schoolteacher.ID>>
-				She makes sure to spend extra time teaching her daughter, $slaves[$i].slaveName.
-				<<set $slaves[$i].trust++>>
-			<<elseif $slaves[$i].ID == $Schoolteacher.mother>>
-				She makes sure to spend extra time teaching her mother, $slaves[$i].slaveName.
-				<<set $slaves[$i].trust++>>
-			<<elseif $slaves[$i].ID == $Schoolteacher.father>>
-				She makes sure to spend extra time teaching her father, $slaves[$i].slaveName.
-				<<set $slaves[$i].trust++>>
-			<<else>>
-				<<switch areSisters($slaves[$i], $Schoolteacher)>>
-				<<case 1>>
-					She makes sure to spend extra time teaching her twin sister, $slaves[$i].slaveName.
-					<<set $slaves[$i].trust++>>
-				<<case 2>>
-					She makes sure to spend extra time teaching her sister, $slaves[$i].slaveName.
-					<<set $slaves[$i].trust++>>
-				<<case 3>>
-					She makes sure to spend extra time teaching her half-sister, $slaves[$i].slaveName.
-					<<set $slaves[$i].trust++>>
-				<</switch>>
-			<</if>>
+			She makes sure to spend extra time teaching her <<print relativeTerm($Schoolteacher.ID,$slaves[$i].ID)>>, $slaves[$i].slaveName.
+			<<set $slaves[$i].trust++>>
 		<<elseif $Schoolteacher.relationTarget == $slaves[$i].ID && $familyTesting == 0>>
 			She makes sure to spend extra time teaching her $slaves[$i].relation, $slaves[$i].slaveName.
 			<<set $slaves[$i].trust++>>
diff --git a/src/uncategorized/seWedding.tw b/src/uncategorized/seWedding.tw
index 866bf66c0510680bd3edb4037d00f83a5aff62fa..84fe89ee8127aece8700093b420e239c9d2e63fd 100644
--- a/src/uncategorized/seWedding.tw
+++ b/src/uncategorized/seWedding.tw
@@ -291,15 +291,15 @@
 	<<else>>
 		light pink, since she's an experienced sex slave.
 	<</if>>
-	A filmy veil covers her head and shoulders.
+	A filmy veil covers her head and shoulders. Her lacy bridal bra
 	<<if ($activeSlave.boobs > 4000)>>
-		Her lacy bridal bra is a marvel of engineering, discreetly reinforced to support her gigantic udders.
+		is a marvel of engineering, discreetly reinforced to support her gigantic udders.
 	<<elseif ($activeSlave.boobs > 1200)>>
-		Her lacy bridal bra just barely restrains her huge boobs, leaving the tops of her areolae visible.
+		just barely restrains her huge boobs, leaving the tops of her areolae visible.
 	<<elseif ($activeSlave.boobs > 400)>>
-		Her lacy bridal bra flatters her pretty breasts.
+		flatters her pretty breasts.
 	<<else>>
-		Her lacy bridal bra flatters her pretty chest.
+		flatters her pretty chest.
 	<</if>>
 	<<if $activeSlave.bellyPreg >= 600000>>
 		Her expansive, squirming pregnant belly makes her bridal wear particularly obscene.
@@ -382,17 +382,17 @@
 		<<link "Give her your surname too">>
 			<<replace "#surnaming">>
 				<<set $activeSlave.slaveSurname = $PC.surname>>
-				You also proclaim your new slave wife $activeSlave.slaveName $activeSlave.slaveSurname.
+				You also proclaim your new slave wife $activeSlave.slaveName $activeSlave.slaveSurname. The new Mrs. $activeSlave.slaveSurname hears this, of course, and 
 				<<if $activeSlave.fetish == "mindbroken">>
-					The new Mrs. $activeSlave.slaveSurname hears this, of course, and shows no reaction. Like many things, names mean nothing to her now. Your guests, on the other hand, appreciate the gift.
+					shows no reaction. Like many things, names mean nothing to her now. Your guests, on the other hand, appreciate the gift.
 				<<elseif $activeSlave.devotion+$activeSlave.trust >= 175>>
-					The new Mrs. $activeSlave.slaveSurname hears this, of course, and breaks down again. Not only is she to be blessed with your child, but she's to take your surname as well.
+					breaks down again. Not only is she to be blessed with your child, but she's to take your surname as well.
 				<<elseif $activeSlave.devotion < -20 && $activeSlave.trust > 20>>
-					The new Mrs. $activeSlave.slaveSurname hears this, of course, and scoffs audibly. Just another burden for her to carry; like the child soon to be growing in her womb.
+					scoffs audibly. Just another burden for her to carry; like the child soon to be growing in her womb.
 				<<elseif $activeSlave.devotion < -20>>
-					The new Mrs. $activeSlave.slaveSurname hears this, of course, and breaks down again. Not only are you binding her to you with your child, but with your name as well.
+					Tbreaks down again. Not only are you binding her to you with your child, but with your name as well.
 				<<else>>
-					The new Mrs. $activeSlave.slaveSurname hears this, of course, and nods acceptingly. Your will is her will, after all.
+					nods acceptingly. Your will is her will, after all.
 				<</if>>
 			<</replace>>
 		<</link>>
@@ -554,17 +554,17 @@
 		<<link "Give her your surname as well">>
 			<<replace "#surnaming">>
 				<<set $activeSlave.slaveSurname = $PC.surname>>
-				You also proclaim your new slave wife $activeSlave.slaveName $activeSlave.slaveSurname.
+				You also proclaim your new slave wife $activeSlave.slaveName $activeSlave.slaveSurname. The new Mrs. $activeSlave.slaveSurname hears this, of course, and 
 				<<if $activeSlave.fetish == "mindbroken">>
-					The new Mrs. $activeSlave.slaveSurname hears this, of course, and shows no reaction. Like many things, names mean nothing to her now.
+					shows no reaction. Like many things, names mean nothing to her now.
 				<<elseif $activeSlave.devotion+$activeSlave.trust >= 175>>
-					The new Mrs. $activeSlave.slaveSurname hears this, of course, and breaks down again.
+					breaks down again.
 				<<elseif $activeSlave.devotion < -20 && $activeSlave.trust > 20>>
-					The new Mrs. $activeSlave.slaveSurname hears this, of course, and scoffs audibly.
+					scoffs audibly.
 				<<elseif $activeSlave.devotion < -20>>
-					The new Mrs. $activeSlave.slaveSurname hears this, of course, and breaks down again.
+					breaks down again.
 				<<else>>
-					The new Mrs. $activeSlave.slaveSurname hears this, of course, and nods acceptingly.
+					nods acceptingly.
 				<</if>>
 			<</replace>>
 		<</link>>
@@ -678,15 +678,15 @@
 	<<else>>
 		light pink, since she's an experienced sex slave.
 	<</if>>
-	A filmy veil covers her head and shoulders.
+	A filmy veil covers her head and shoulders. Her lacy bridal bra 
 	<<if ($activeSlave.boobs > 4000)>>
-		Her lacy bridal bra is a marvel of engineering, discreetly reinforced to support her gigantic udders.
+		is a marvel of engineering, discreetly reinforced to support her gigantic udders.
 	<<elseif ($activeSlave.boobs > 1200)>>
-		Her lacy bridal bra just barely restrains her huge boobs, leaving the tops of her areolae visible.
+		just barely restrains her huge boobs, leaving the tops of her areolae visible.
 	<<elseif ($activeSlave.boobs > 400)>>
-		Her lacy bridal bra flatters her pretty breasts.
+		flatters her pretty breasts.
 	<<else>>
-		Her lacy bridal bra flatters her pretty chest.
+		flatters her pretty chest.
 	<</if>>
 	<<if $activeSlave.bellyPreg >= 600000>>
 		Her expansive, squirming pregnant belly makes her bridal wear particularly obscene.
@@ -746,33 +746,33 @@
 		<<link "Give her your surname">>
 			<<replace "#surnaming">>
 				<<set $activeSlave.slaveSurname = $PC.surname>>
-				You also proclaim your new slave wife $activeSlave.slaveName $activeSlave.slaveSurname.
+				You also proclaim your new slave wife $activeSlave.slaveName $activeSlave.slaveSurname. The new Mrs. $activeSlave.slaveSurname hears this, of course, and 
 				<<if $activeSlave.fetish == "mindbroken">>
-					The new Mrs. $activeSlave.slaveSurname hears this, of course, and shows no reaction. Like many things, names mean nothing to her now. Your guests, on the other hand, appreciate the gift.
+					shows no reaction. Like many things, names mean nothing to her now. Your guests, on the other hand, appreciate the gift.
 				<<elseif $activeSlave.devotion+$activeSlave.trust >= 175>>
-					The new Mrs. $activeSlave.slaveSurname hears this, of course, and breaks down again; it's like a dream come true.
+					breaks down again; it's like a dream come true.
 				<<elseif $activeSlave.devotion < -20 && $activeSlave.trust > 20>>
-					The new Mrs. $activeSlave.slaveSurname hears this, of course, and scoffs audibly; just another burden for her to carry.
+					scoffs audibly; just another burden for her to carry.
 				<<elseif $activeSlave.devotion < -20>>
-					The new Mrs. $activeSlave.slaveSurname hears this, of course, and breaks down again; this is nothing more than another unwanted link to you.
+					breaks down again; this is nothing more than another unwanted link to you.
 				<<else>>
-					The new Mrs. $activeSlave.slaveSurname hears this, of course, and nods acceptingly. Your will is her will, after all.
+					nods acceptingly. Your will is her will, after all.
 				<</if>>
 			<</replace>>
 		<</link>>
 		</span>
 	<</if>>
-	<br><br>
+	<br><br> Then, you flip her veil over her head so she can <<if $PC.dick == 1>>suck your dick<<if $PC.vagina == 1>> and <</if>><</if>><<if $PC.vagina == 1>>eat you out<</if>> in front of your guests, as the ceremony requires. She approaches her task
 	<<if $activeSlave.fetish == "mindbroken">>
-		Then, you flip her veil over her head so she can <<if $PC.dick == 1>>suck your dick<<if $PC.vagina == 1>> and <</if>><</if>><<if $PC.vagina == 1>>eat you out<</if>> in front of your guests, as the ceremony requires. She approaches her task with robotic obedience. You climax promptly, <<if $PC.dick == 1>>shooting your cum down her throat<<else>>covering her face in girlcum<</if>>. Your guests and their attendant slaves applaud at the consummation, or rather, the first stage of the consummation. The balance will take place privately, however, and you scoop up your new slave wife to carry her back into the master bedroom. She absentmindedly rests her head against your <<if $PC.boobs == 1>>breasts<<elseif $PC.title == 0>>flat chest<<else>>strong chest<</if>> as you cradle her in your arms, gazing up at you with empty eyes.
+		with robotic obedience. You climax promptly, <<if $PC.dick == 1>>shooting your cum down her throat<<else>>covering her face in girlcum<</if>>. Your guests and their attendant slaves applaud at the consummation, or rather, the first stage of the consummation. The balance will take place privately, however, and you scoop up your new slave wife to carry her back into the master bedroom. She absentmindedly rests her head against your <<if $PC.boobs == 1>>breasts<<elseif $PC.title == 0>>flat chest<<else>>strong chest<</if>> as you cradle her in your arms, gazing up at you with empty eyes.
 	<<elseif $activeSlave.devotion+$activeSlave.trust >= 175>>
-		Then, you flip her veil over her head so she can <<if $PC.dick == 1>>suck your dick<<if $PC.vagina == 1>> and <</if>><</if>><<if $PC.vagina == 1>>eat you out<</if>> in front of your guests, as the ceremony requires. She approaches her task <<if ($activeSlave.fetish == "cumslut")>>enthusiastically<<else>>with a will<</if>>, and you climax promptly, <<if $PC.dick == 1>>shooting your cum down her throat<<else>>covering her face in girlcum<</if>>. Your guests and their attendant slaves @@.green;applaud at the consummation,@@ or rather, at the first stage of the consummation. The balance will take place privately, however, and you scoop up your new slave wife to carry her back into the master bedroom. She rests her head against your <<if $PC.boobs == 1>>breasts<<elseif $PC.title == 0>>flat chest<<else>>strong chest<</if>> as you cradle her in your arms, staring up at you.
+		<<if ($activeSlave.fetish == "cumslut")>>enthusiastically<<else>>with a will<</if>>, and you climax promptly, <<if $PC.dick == 1>>shooting your cum down her throat<<else>>covering her face in girlcum<</if>>. Your guests and their attendant slaves @@.green;applaud at the consummation,@@ or rather, at the first stage of the consummation. The balance will take place privately, however, and you scoop up your new slave wife to carry her back into the master bedroom. She rests her head against your <<if $PC.boobs == 1>>breasts<<elseif $PC.title == 0>>flat chest<<else>>strong chest<</if>> as you cradle her in your arms, staring up at you.
 	<<elseif $activeSlave.devotion < -20 && $activeSlave.trust > 20>>
-		Then, you flip her veil over her head so she can <<if $PC.dick == 1>>suck your dick<<if $PC.vagina == 1>> and <</if>><</if>><<if $PC.vagina == 1>>eat you out<</if>> in front of your guests, as the ceremony requires. She approaches her task with apprehension, so much so that things are taking too long, so you grab her head and facefuck her instead. She gags and sputters, tears running down her cheeks, as you violate her mouth publicly. You climax promptly, <<if $PC.dick == 1>>shooting your cum down her throat<<else>>covering her face in girlcum<</if>>. Your guests and their attendant slaves applaud at the consummation, or rather, the first stage of the consummation. The balance will take place privately, however, and you scoop up your new slave wife to carry her back into the master bedroom. She looks up at you with fearful, hate-filled eyes, blaming you for everything that has happened so far.
+		with apprehension, so much so that things are taking too long, so you grab her head and facefuck her instead. She gags and sputters, tears running down her cheeks, as you violate her mouth publicly. You climax promptly, <<if $PC.dick == 1>>shooting your cum down her throat<<else>>covering her face in girlcum<</if>>. Your guests and their attendant slaves applaud at the consummation, or rather, the first stage of the consummation. The balance will take place privately, however, and you scoop up your new slave wife to carry her back into the master bedroom. She looks up at you with fearful, hate-filled eyes, blaming you for everything that has happened so far.
 	<<elseif $activeSlave.devotion < -20>>
-		Then, you flip her veil over her head so she can <<if $PC.dick == 1>>suck your dick<<if $PC.vagina == 1>> and <</if>><</if>><<if $PC.vagina == 1>>eat you out<</if>> in front of your guests, as the ceremony requires. She approaches her task with apprehension, so much so that things are taking too long, so you grab her head and facefuck her instead. She gags and sputters, tears running down her cheeks, as you violate her mouth publicly. You climax promptly, <<if $PC.dick == 1>>shooting your cum down her throat<<else>>covering her face in girlcum<</if>>. Your guests and their attendant slaves applaud at the consummation, or rather, the first stage of the consummation. The balance will take place privately, however, and you scoop up your new slave wife to carry her back into the master bedroom. She looks up at you with fearful, tear-filled eyes as if pleading for you not to do this. 
+		with apprehension, so much so that things are taking too long, so you grab her head and facefuck her instead. She gags and sputters, tears running down her cheeks, as you violate her mouth publicly. You climax promptly, <<if $PC.dick == 1>>shooting your cum down her throat<<else>>covering her face in girlcum<</if>>. Your guests and their attendant slaves applaud at the consummation, or rather, the first stage of the consummation. The balance will take place privately, however, and you scoop up your new slave wife to carry her back into the master bedroom. She looks up at you with fearful, tear-filled eyes as if pleading for you not to do this. 
 	<<else>>
-		Then, you flip her veil over her head so she can <<if $PC.dick == 1>>suck your dick<<if $PC.vagina == 1>> and <</if>><</if>><<if $PC.vagina == 1>>eat you out<</if>> in front of your guests, as the ceremony requires. She approaches her task with a will. She approaches her task <<if ($activeSlave.fetish == "cumslut")>>enthusiastically<<else>>obediently<</if>>, and you climax promptly, <<if $PC.dick == 1>>shooting your cum down her throat<<else>>covering her face in girlcum<</if>>. Your guests and their attendant slaves applaud at the consummation, or rather, the first stage of the consummation. The balance will take place privately, however, and you scoop up your new slave wife to carry her back into the master bedroom. She looks up at you, her eyes unsure. 
+		with a will. She approaches her task <<if ($activeSlave.fetish == "cumslut")>>enthusiastically<<else>>obediently<</if>>, and you climax promptly, <<if $PC.dick == 1>>shooting your cum down her throat<<else>>covering her face in girlcum<</if>>. Your guests and their attendant slaves applaud at the consummation, or rather, the first stage of the consummation. The balance will take place privately, however, and you scoop up your new slave wife to carry her back into the master bedroom. She looks up at you, her eyes unsure. 
 	<</if>>
 	<<if $activeSlave.relationship != 0>>
 		<<if $activeSlave.devotion+$activeSlave.trust >= 175>>
diff --git a/src/uncategorized/servantsQuartersReport.tw b/src/uncategorized/servantsQuartersReport.tw
index a22031f0ffe0c89e2b3254c8116de9e137c9ea41..e1de90ab3e088e536210467476cadab67c6af4ba 100644
--- a/src/uncategorized/servantsQuartersReport.tw
+++ b/src/uncategorized/servantsQuartersReport.tw
@@ -112,37 +112,17 @@
 	<<for _dI = 0; _dI < _DL; _dI++>>
 		<<set $i = $slaveIndices[$ServQiIDs[_dI]]>>
 		<<if $Stewardess.rivalryTarget == $slaves[$i].ID>>
-			She bears down on her <<if $Stewardess.rivalry == 1>>growing rival<<elseif $Stewardess.rivalry == 2>>rival<<elseif $Stewardess.rivalry == 3>>bitter rival<</if>>, $slaves[$i].slaveName, forcing her to work extra hard or suffer punishment.
+			She bears down on her <<print rivalryTerm($Stewardess)>>, $slaves[$i].slaveName, forcing her to work extra hard or suffer punishment.
 			<<set $slaves[$i].devotion--, $slaves[$i].trust-->>
 			<<if random(1,100) > 65>>
 				<<set $Stewardess.rivalry++, $slaves[_FLs].rivalry++, $slaves[$i].rivalry++>>
 			<</if>>
 		<<elseif $Stewardess.relationshipTarget == $slaves[$i].ID>>
-			She dotes over her <<if $Stewardess.relationship == 1>>friend<<elseif $Stewardess.relationship == 2>>best friend<<elseif $Stewardess.relationship == 3>>friend with benefits<<elseif $Stewardess.relationship == 4>>lover<<elseif $Stewardess.relationship == 5>>slave wife<</if>>, $slaves[$i].slaveName, making sure she knows how to do a good job and keeping her well stocked with everything she needs.
+			She dotes over her <<print relationshipTerm($Stewardess)>>, $slaves[$i].slaveName, making sure she knows how to do a good job and keeping her well stocked with everything she needs.
 			<<set $slaves[$i].devotion++>>
 		<<elseif $familyTesting == 1 && totalRelatives($slaves[$i]) > 0>>
-			<<if $slaves[$i].mother == $Stewardess.ID || $slaves[$i].father == $Stewardess.ID>>
-				She pays special attention to her daughter, $slaves[$i].slaveName, making sure she doesn't slack off just because they are related.
-				<<set $slaves[$i].trust++>>
-			<<elseif $slaves[$i].ID == $Stewardess.mother>>
-				She pays special attention to her mother, $slaves[$i].slaveName, making sure she doesn't slack off just because they are related.
-				<<set $slaves[$i].trust++>>
-			<<elseif $slaves[$i].ID == $Stewardess.father>>
-				She pays special attention to her father, $slaves[$i].slaveName, making sure she doesn't slack off just because they are related.
-				<<set $slaves[$i].trust++>>
-			<<else>>
-				<<switch areSisters($slaves[$i], $Stewardess)>>
-				<<case 1>>
-					She pays special attention to her twin sister, $slaves[$i].slaveName, making sure she doesn't slack off just because they are related.
-					<<set $slaves[$i].trust++>>
-				<<case 2>>
-					She pays special attention to her sister, $slaves[$i].slaveName, making sure she doesn't slack off just because they are related.
-					<<set $slaves[$i].trust++>>
-				<<case 3>>
-					She pays special attention to her half-sister, $slaves[$i].slaveName, making sure she doesn't slack off just because they are related.
-					<<set $slaves[$i].trust++>>
-				<</switch>>
-			<</if>>
+			She pays special attention to her <<print relativeTerm($Stewardess.ID,$slaves[$i].ID)>>, $slaves[$i].slaveName, making sure she doesn't slack off just because they are related.
+			<<set $slaves[$i].trust++>>
 		<<elseif $Stewardess.relationTarget == $slaves[$i].ID && $familyTesting == 0>>
 			She pays special attention to her $slaves[$i].relation, $slaves[$i].slaveName, making sure she doesn't slack off just because they are related.
 			<<set $slaves[$i].trust++>>
diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw
index 4292c4a1db24c264ed6cc6e200ded0758ba727bd..dcec7cd499af6bf3356edc89857f2378a30d5892 100644
--- a/src/uncategorized/slaveInteract.tw
+++ b/src/uncategorized/slaveInteract.tw
@@ -318,17 +318,7 @@
 	<<if ($activeSlave.relationship > 0)>>
 		<<set _si = $slaveIndices[$activeSlave.relationshipTarget]>>
 		<<if isSlaveAvailable($slaves[_si])>>
-			<<if ($activeSlave.relationship == 1)>>
-				| <<link `"Fuck $him with $his friend <<= SlaveFullName($slaves[_si])>>"`>><<replace "#miniscene">><<set $partner = "relationship">><<include "FRelation">><br>&nbsp;&nbsp;&nbsp;&nbsp;<</replace>><</link>>
-			<<elseif ($activeSlave.relationship == 2)>>
-				| <<link `"Fuck $him with $his best friend <<= SlaveFullName($slaves[_si])>>"`>><<replace "#miniscene">><<set $partner = "relationship">><<include "FRelation">><br>&nbsp;&nbsp;&nbsp;&nbsp;<</replace>><</link>>
-			<<elseif ($activeSlave.relationship == 3)>>
-				| <<link `"Fuck $him with $his FWB <<= SlaveFullName($slaves[_si])>>"`>><<replace "#miniscene">><<set $partner = "relationship">><<include "FRelation">><br>&nbsp;&nbsp;&nbsp;&nbsp;<</replace>><</link>>
-			<<elseif ($activeSlave.relationship == 4)>>
-				| <<link `"Fuck $him with $his lover <<= SlaveFullName($slaves[_si])>>"`>><<replace "#miniscene">><<set $partner = "relationship">><<include "FRelation">><br>&nbsp;&nbsp;&nbsp;&nbsp;<</replace>><</link>>
-			<<else>>
-				| <<link `"Fuck $him with $his slave wife <<= SlaveFullName($slaves[_si])>>"`>><<replace "#miniscene">><<set $partner = "relationship">><<include "FRelation">><br>&nbsp;&nbsp;&nbsp;&nbsp;<</replace>><</link>>
-			<</if>>
+			| <<link `"Fuck $him with $his <<print relationshipTermShort($activeSlave)>> <<= SlaveFullName($slaves[_si])>>"`>><<replace "#miniscene">><<set $partner = "relationship">><<include "FRelation">><br>&nbsp;&nbsp;&nbsp;&nbsp;<</replace>><</link>>
 		<<else>>
 			<<if $slaves[_si].assignment == "be your agent">>
 				<<if $activeSlave.broodmother < 2>>
diff --git a/src/uncategorized/slaveSummary.tw b/src/uncategorized/slaveSummary.tw
index 0685dd1662f846550574d0bbdcb119e1b9f559a0..3efe499ec9467d605432d4fef90202db05c70b9b 100644
--- a/src/uncategorized/slaveSummary.tw
+++ b/src/uncategorized/slaveSummary.tw
@@ -657,6 +657,11 @@ will
 		<<else>>
 			| Confinement
 		<</if>>
+		<<if (_Slave.assignment != "choose her own job")>>
+			| <<link "Let _Slave.object choose" "Main">><<= assignJob($slaves[_ssi], "choose her own job")>><</link>>
+		<<else>>
+			| Let _Slave.object choose
+		<</if>>
 	<</if>> /* CLOSES FUCKDOLL CHECK */
 <</if>>
 
diff --git a/src/uncategorized/spaReport.tw b/src/uncategorized/spaReport.tw
index 0c4dae3efe4b32131af7073cd6679e9c952c5e2e..fc1051ec06fb4b64691fa0df769dfe80872ad867 100644
--- a/src/uncategorized/spaReport.tw
+++ b/src/uncategorized/spaReport.tw
@@ -103,37 +103,17 @@
 			<<set $slaves[$i].trust++>>
 		<</if>>
 		<<if $Attendant.rivalryTarget == $slaves[$i].ID>>
-			She constantly harasses her <<if $Attendant.rivalry == 1>>growing rival<<elseif $Attendant.rivalry == 2>>rival<<elseif $Attendant.rivalry == 3>>bitter rival<</if>>, $slaves[$i].slaveName, preventing her from getting comfortable and forcing her to keep her guard up.
+			She constantly harasses her <<print rivalryTerm($Stewardess)>>, $slaves[$i].slaveName, preventing her from getting comfortable and forcing her to keep her guard up.
 			<<set $slaves[$i].devotion -= 4, $slaves[$i].trust -= 4>>
 			<<if random(1,100) > 35>>
 				<<set $Attendant.rivalry++, $slaves[_FLs].rivalry++, $slaves[$i].rivalry++>>
 			<</if>>
 		<<elseif $Attendant.relationshipTarget == $slaves[$i].ID>>
-			She dedicates most of her attention to her <<if $Attendant.relationship == 1>>friend<<elseif $Attendant.relationship == 2>>best friend<<elseif $Attendant.relationship == 3>>friend with benefits<<elseif $Attendant.relationship == 4>>lover<<elseif $Attendant.relationship == 5>>slave wife<</if>>, $slaves[$i].slaveName, making her stress, both physical and mental, wash away.
+			She dedicates most of her attention to her <<print relationshipTerm($Attendant)>>, $slaves[$i].slaveName, making her stress, both physical and mental, wash away.
 			<<set $slaves[$i].devotion += 3, $slaves[$i].trust += 3>>
 		<<elseif $familyTesting == 1 && totalRelatives($slaves[$i]) > 0>>
-			<<if $slaves[$i].mother == $Attendant.ID || $slaves[$i].father == $Attendant.ID>>
-				She makes sure to spend extra time caring for her daughter, $slaves[$i].slaveName.
-				<<set $slaves[$i].trust++, $slaves[$i].health++>>
-			<<elseif $slaves[$i].ID == $Attendant.mother>>
-				She makes sure to spend extra time caring for her mother, $slaves[$i].slaveName.
-				<<set $slaves[$i].trust++, $slaves[$i].health++>>
-			<<elseif $slaves[$i].ID == $Attendant.father>>
-				She makes sure to spend extra time caring for her father, $slaves[$i].slaveName.
-				<<set $slaves[$i].trust++, $slaves[$i].health++>>
-			<<else>>
-				<<switch areSisters($slaves[$i], $Attendant)>>
-				<<case 1>>
-					She makes sure to spend extra time caring for her twin sister, $slaves[$i].slaveName.
-					<<set $slaves[$i].trust++, $slaves[$i].health++>>
-				<<case 2>>
-					She makes sure to spend extra time caring for her sister, $slaves[$i].slaveName.
-					<<set $slaves[$i].trust++, $slaves[$i].health++>>
-				<<case 3>>
-					She makes sure to spend extra time caring for her half-sister, $slaves[$i].slaveName.
-					<<set $slaves[$i].trust++, $slaves[$i].health++>>
-				<</switch>>
-			<</if>>
+			She makes sure to spend extra time caring for her <<print relativeTerm($Attendant.ID,$slaves[$i].ID)>>, $slaves[$i].slaveName.
+			<<set $slaves[$i].trust++, $slaves[$i].health++>>
 		<<elseif $Attendant.relationTarget == $slaves[$i].ID && $familyTesting == 0>>
 			She makes sure to spend extra time caring for her $slaves[$i].relation, $slaves[$i].slaveName.
 			<<set $slaves[$i].trust++>>
diff --git a/src/uncategorized/surgeryDegradation.tw b/src/uncategorized/surgeryDegradation.tw
index e65dfcab0ca477e421bfd7e987091f286743d903..bbae6494e15c440442295e4f020992536b944f18 100644
--- a/src/uncategorized/surgeryDegradation.tw
+++ b/src/uncategorized/surgeryDegradation.tw
@@ -484,22 +484,22 @@ As the remote surgery's long recovery cycle completes,
 	<</if>>
 
 <<case "preg1hack">>
-	The hacking process is brief, being little more than inserting the actuator in $his vagina, and leaves $him with @@.red;nothing more than minor health effects@@ from the altered implant funcitons. $He leaves the surgery without any specific feeling, but $he knows that something done to $his implant.
+	The hacking process is brief, being little more than inserting the actuator into $his vagina, and leaves $him with @@.red;nothing more than minor health effects@@ from the altered implant functions. $He leaves the surgery without any specific feeling, but $he knows that something has been done to $his implant.
 	<<set $activeSlave.broodmotherFetuses = either(2,2,2,2,3,3,4)>> /*My testing show that 2 or 3 relatively safe for generic adult slave with effective curvatives or clinic, 4 - high risk of bursting. So there is a catch with it.*/
 	<<if $activeSlave.fetish == "mindbroken">>
 		/*nothing*/
 	<<elseif ($activeSlave.fetish == "pregnancy") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>>
-		$He is @@.hotpink; filled with joy@@ about being even more swollen with life and gleefully rubs $his soon to be larger belly. $He's so pleased that $he now @@.mediumaquamarine;trusts@@ your plans for $his body. As with all surgery @@.d;$his health has been slightly affected.@@
+		$He is @@.hotpink; filled with joy@@ about being even more swollen with life and gleefully rubs $his soon-to-be-larger belly. $He's so pleased that $he now @@.mediumaquamarine;trusts@@ your plans for $his body. As with all surgery @@.d;$his health has been slightly affected.@@
 		<<set $activeSlave.trust += 4, $activeSlave.devotion += 10>>
 	<<elseif ($activeSlave.devotion > 50)>>
-		$He's @@.hotpink;grateful@@ that you think $his offspring are valuable, but is little afraid about how $his body will catch up with $his hacked implant. 
+		$He's @@.hotpink;grateful@@ that you think $his offspring are valuable, but is a little afraid about how $his body will catch up with $his hacked implant.
 		<<set $activeSlave.devotion += 2>>
 		<<set $activeSlave.trust -= 2>>
 	<<elseif ($activeSlave.devotion >= -20)>>
 		$He understands the realities of $his life as a slave, so even this isn't much of a shock. $He is @@.gold;sensibly fearful@@ of your total power over $his body and how big $he will get.
 		<<set $activeSlave.trust -= 10>>
 	<<else>>
-		$He does not understand the realities of $his life as a slave at a core level, so $he's @@.mediumorchid;terrified and angry@@ that you not just have forced $him to be a broodmother but also messed with the implant, not thinking about $his safety. $He is @@.gold;sensibly fearful@@ of your total power over $his body and $his even more rapidly filling womb.
+		$He does not understand the realities of $his life as a slave at a core level, so $he's @@.mediumorchid;terrified and angry@@ that you not only have forced $him to be a broodmother but also messed with the implant, with no thought for $his safety. $He is @@.gold;sensibly fearful@@ of your total power over $his body and $his even more rapidly filling womb.
 		<<set $activeSlave.trust -= 15, $activeSlave.devotion -= 15>>
 	<</if>>
 
@@ -2349,10 +2349,10 @@ As the remote surgery's long recovery cycle completes,
 	It's not immediately apparent to $him what kind of surgery $he received, since all $he's left with is a terrible nonspecific ache in $his lower belly. As with all invasive surgery @@.red;$his health has been greatly affected.@@
 	
 <<case "elasticity treatment">>
-	The procedure spans the week, with $him spending every other day in the surgery room for a series of 4 sets of injections. A few hours after each session, $he feels terribly ill. $He doesn't quite understand what it's about, just that $he feels pretty bad. The process involves <<if ($PC.medicine >= 100)>>you<<else>>the remote surgeon<</if>> injecting the serum across $his body entire body, every few inches, leaving a small needle marks that fade out within minutes. Despite not leaving a lasting evidence, the process is very invasive work, and leaves $he @@.red;feeling weak and tired.@@
+	The procedure spans the week, with $him spending every other day in the surgery room for a series of 4 sets of injections. A few hours after each session, $he feels terribly ill. $He doesn't quite understand what it's about, just that $he feels pretty bad. The process involves <<if ($PC.medicine >= 100)>>you<<else>>the remote surgeon<</if>> injecting the serum across $his entire body, every few inches, leaving small needle marks that fade out within minutes. Despite not leaving a lasting evidence, the process is very invasive work, and leaves $him @@.red;feeling weak and tired.@@
 
 <<case "retrograde virus injection NCS">>
-	The procedure spans the week, with $him spending every other day in the surgery room for a series of 4 sets of injections. A few hours after each session, $he feels terribly ill. $He doesn't quite understand what it's about, just that $he feels pretty bad. The process involves <<if ($PC.medicine >= 100)>>you<<else>>the remote surgeon<</if>> injecting the serum across $his body entire body, every few inches, leaving a small needle marks that fade out within minutes. Despite not leaving a lasting evidence, the process is very invasive work, and leaves $he @@.red;feeling weak and tired.@@<br><br>
+	The procedure spans the week, with $him spending every other day in the surgery room for a series of 4 sets of injections. A few hours after each session, $he feels terribly ill. $He doesn't quite understand what it's about, just that $he feels pretty bad. The process involves <<if ($PC.medicine >= 100)>>you<<else>>the remote surgeon<</if>> injecting the serum across $his body entire body, every few inches, leaving small needle marks that fade out within minutes. Despite not leaving a lasting evidence, the process is very invasive work, and leaves $him @@.red;feeling weak and tired.@@<br><br>
 	/*
 		Generate the changes, into variables to set contexts.
 	*/