From c6d72142db9eec7396ed1d8b92c69d622ebbbc41 Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Tue, 23 May 2017 23:41:43 -0400
Subject: [PATCH] Finished update.

---
 sanityCheck                                   |   6 +-
 src/cheats/mod_EditSlaveCheat.tw              |   4 +-
 src/init/storyInit.tw                         |   1 -
 src/npc/exportSlave.tw                        |   2 +-
 src/npc/fFeelings.tw                          |   2 +-
 src/pregmod/widgets/pregmodWidgets.tw         |  12 +-
 src/uncategorized/dispensary.tw               |   8 +-
 .../freeRangeDairyAssignmentScene.tw          |   2 +-
 src/uncategorized/fsDevelopments.tw           | 691 +++++++-----------
 src/uncategorized/futureSocities.tw           |   2 +-
 src/uncategorized/nextWeek.tw                 |   6 +-
 src/uncategorized/options.tw                  |   2 +-
 src/uncategorized/randomNonindividualEvent.tw | 445 +++--------
 src/uncategorized/reNickname.tw               |   2 +-
 src/uncategorized/reRelativeRecruiter.tw      | 170 ++---
 src/uncategorized/remoteSurgery.tw            |   6 +-
 src/uncategorized/saGetMilked.tw              |   5 +-
 src/uncategorized/slaveMarkets.tw             |   2 +
 src/uncategorized/slaveSummary.tw             |  24 +-
 src/uncategorized/surgeryDegradation.tw       |   2 +-
 src/utility/descriptionWidgets.tw             |  21 +-
 21 files changed, 522 insertions(+), 893 deletions(-)

diff --git a/sanityCheck b/sanityCheck
index 1784ec0196d..492844ba1ab 100755
--- a/sanityCheck
+++ b/sanityCheck
@@ -28,7 +28,7 @@ $GREP "<<[ ]*if[^>=]*[^><\!=]=[^=][^>]*>>" -- 'src/*' | myprint "AccidentalAssig
 $GREP "<<[ ]*elseif[^>=]*[^><\!=]=[^=][^>]*>>" -- 'src/*' | myprint "AccidentalAssignmentInElseIf"
 # Check for missing ".  e.g.:   <<if $foo == "hello>>
 $GREP "<<[^\"<>]*\"[^\"<>]*>>" -- 'src/*' | myprint "MissingSpeachMark"
-# Check for missing ".  e.g.:   <<if $foo == "hello)
+# Check for missing ".  e.g.:   <<if $foo = "hello)
 $GREP "<<[^\"<>]*\([^\"<>]*\"[^><\"]*\"\| [<>] \)*\"\([^\"<>]*\"[^><\"]*\"\| [<>] \)*\([^\"<>]\| [<>] \)*>>" -- 'src/*' | myprint "MissingSpeachMark2"
 # Check for colors like: @@color:red   - should be @@.red
 $GREP -e "@@color:" --and --not -e  "@@color:rgb([0-9 ]\+,[0-9 ]\+,[0-9 ]\+)" -- "src/*" | myprint "UseCssColors"
@@ -47,7 +47,7 @@ $GREP -e "<<.*[(][^<>)]*[(][^<>)]*)\?[^<>)]*>>" -- "src/*" | myprint "MissingClo
 $GREP "<<[^<>]*[^,\"\[{"$'\r]\r'"\?$" -- 'src/*' | myprint "MissingClosingAngleBrackets"
 # Check for too many >>>.  e.g.: <</if>>> 
 $GREP "<<[^<>]*[<>]\?[^<>]*>>>" -- "src/*.tw" | myprint "TooManyAngleBrackets"
-# Check for wrong capitilization on 'activeslave' and other common typos
+# Check for wrong capitalization on 'activeslave' and other common typos
 $GREP -e "\$act" --and --not -e "\$\(activeSlave\|activeArcology\|activeStandard\|activeOrgan\|activeLimbs\)" -- "src/*" | myprint "WrongCapitilization"
 $GREP  "\(csae\|[a-z] She \|attepmts\|youreslf\|advnaces\)" -- 'src/*' | myprint "SpellCheck"
 $GREP "\$slave\[" -- 'src/*' | myprint "ShouldBeSlaves"
@@ -62,7 +62,7 @@ $GREP "<<else >\?[^>]" -- 'src/*' | myprint "ShouldBeElseIf"
 # Check, e.g., =to
 $GREP "=to" -- 'src/*' | myprint "EqualAndTo"
 # Check doing  $slaves.foo instead of $slaves[i].foo
-$GREP -e "[$]slaves[.]"  --and --not -e '[$]slaves[.]\(length\|random\|map\|filter\|deleteAt\|push\)' -- 'src/*' | myprint "MissingSlavesIndex"
+$GREP -e "[$]slaves[.]"  --and --not -e '[$]slaves[.]\(length\|random\|map\|filter\|deleteAt\|push\|find\)' -- 'src/*' | myprint "MissingSlavesIndex"
 # Try to check for accidentally mixing slaves[] and activeSlave.  This can have a lot of false matches, but has caught a lot of bugs so it's worth the pain
 $GREP -e "activeSlave[.]" --and -e "slaves\[..\?\][.]" --and --not -e '[.]ID' --and --not -e 'slaves\[..\?\][.]\(slaveName\|actualAge\|relation\|assignment\|age\|devotion\|trust\|vagina\)' -- 'src/*' | myprint "MaybeAccidentalMixingOfSlavesAndActiveSlave"
 # Check, e.g.  <<set foo == 4>>
diff --git a/src/cheats/mod_EditSlaveCheat.tw b/src/cheats/mod_EditSlaveCheat.tw
index 191f933f6a0..3f2bb80a13f 100644
--- a/src/cheats/mod_EditSlaveCheat.tw
+++ b/src/cheats/mod_EditSlaveCheat.tw
@@ -470,8 +470,8 @@ Plush.
 <br><br>
 
 ''Genes (XX:female, XY:male):'' $activeSlave.genes
-<<radiobutton "$activeSlave.amp" "XX">> Female
-<<radiobutton "$activeSlave.amp" "XY">> Male
+<<radiobutton "$activeSlave.genes" "XX">> Female
+<<radiobutton "$activeSlave.genes" "XY">> Male
 
 <br><br>
 
diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw
index 90d91169772..854de3f5139 100644
--- a/src/init/storyInit.tw
+++ b/src/init/storyInit.tw
@@ -617,7 +617,6 @@ DairyRestraintsSetting($dairyRestraintsSetting)
 <<set $children = []>>
 <<set $missingParentID = -10000>>
 <<set $startingSlaveRelative = 0>>
-<<set $relationID = 0>>
 <<set $mom = 0>>
 <<set $animalParts = 0>>
 <<set $showBestiality = 0>>
diff --git a/src/npc/exportSlave.tw b/src/npc/exportSlave.tw
index 36a3cc01c73..83c6a76fdb9 100644
--- a/src/npc/exportSlave.tw
+++ b/src/npc/exportSlave.tw
@@ -8,4 +8,4 @@
 
 <<if (ndef $activeSlave.currentRules) || ($activeSlave.currentRules.length < 1)>><<set _currentRules = "[]">><<else>><<set _currentRules = "$activeSlave.currentRules">><</if>>
 
-slaveName: "$activeSlave.slaveName", birthName: "$activeSlave.birthName", weekAcquired: 1, origin: "$activeSlave.origin", career: "$activeSlave.career", ID: $activeSlave.ID, pornFame: $activeSlave.pornFame, pornFameSpending: $activeSlave.pornFameSpending, prestige: $activeSlave.prestige, prestigeDesc: "$activeSlave.prestigeDesc", recruiter: 0, relation: 0, relationTarget: 0, relationship: 0, relationshipTarget: 0, rivalry: 0, rivalryTarget: 0, subTarget: 0, choosesOwnAssignment: 0, assignment: "rest", assignmentVisible: 1, sentence: 0, training: 0, toyHole: "all her holes", indenture: -1, indentureRestrictions: 0, birthWeek: $activeSlave.birthWeek, age: $activeSlave.age, ageImplant: $activeSlave.ageImplant, health: $activeSlave.health, minorInjury: 0, trust: $activeSlave.trust, oldTrust: $activeSlave.trust, devotion: $activeSlave.devotion, oldDevotion: $activeSlave.devotion, weight: $activeSlave.weight, muscles: $activeSlave.muscles, height: $activeSlave.height, heightImplant: $activeSlave.heightImplant, nationality: "$activeSlave.nationality", race: "$activeSlave.race", markings: "none", eyes: 1, eyeColor: "$activeSlave.eyeColor", eyewear: "none", hColor: "$activeSlave.hColor", pubicHColor: "$activeSlave.pubicHColor", skin: "$activeSlave.skin", hLength: $activeSlave.hLength, hStyle: "$activeSlave.hStyle", pubicHStyle: "$activeSlave.pubicHStyle", waist: $activeSlave.waist, corsetPiercing: 0, amp: $activeSlave.amp, heels: $activeSlave.heels, voice: $activeSlave.voice, voiceImplant: $activeSlave.voiceImplant, accent: $activeSlave.accent, shoulders: $activeSlave.shoulders, shouldersImplant: $activeSlave.shouldersImplant, boobs: $activeSlave.boobs, boobsImplant: $activeSlave.boobsImplant, boobsImplantType: $activeSlave.boobsImplantType, boobShape: "normal", nipples: "$activeSlave.nipples",  nipplesPiercing: $activeSlave.nipplesPiercing, areolae: $activeSlave.areolae, areolaePiercing: $activeSlave.areolaePiercing, boobsTat: "$activeSlave.boobsTat", lactation: $activeSlave.lactation, lactationAdaptation: 0, milk: 0, cum: 0, hips: $activeSlave.hips, hipsImplant: $activeSlave.hipsImplant, butt: $activeSlave.butt, buttImplant: $activeSlave.buttImplant, buttImplantType: $activeSlave.buttImplantType, buttTat: "$activeSlave.buttTat", face: $activeSlave.face, faceImplant: $activeSlave.faceImplant, faceShape: "normal", lips: $activeSlave.lips, lipsImplant: $activeSlave.lipsImplant, lipsPiercing: $activeSlave.lipsPiercing, lipsTat: "$activeSlave.lipsTat", teeth: "$activeSlave.teeth", tonguePiercing: $activeSlave.tonguePiercing, vagina: $activeSlave.vagina, vaginaLube: $activeSlave.vaginaLube, vaginaPiercing: $activeSlave.vaginaPiercing, vaginaTat: "$activeSlave.vaginaTat", preg: $activeSlave.preg, pregSource: 0, pregType: 0, labor: 0, births: $activeSlave.births, cSec: 0, bellyAccessory: "none", labia: $activeSlave.labia, clit: $activeSlave.clit, clitPiercing: $activeSlave.clitPiercing, clitSetting: "$activeSlave.clitSetting", foreskin: 0, anus: $activeSlave.anus, dick: $activeSlave.dick, analArea: 1, dickPiercing: $activeSlave.dickPiercing, dickTat: "$activeSlave.dickTat", balls: $activeSlave.balls, scrotum: 0, ovaries: $activeSlave.ovaries, anusPiercing: $activeSlave.anusPiercing, anusTat: "$activeSlave.anusTat", makeup: $activeSlave.makeup, nails: $activeSlave.nails, brand: "$activeSlave.brand", brandLocation: "$activeSlave.brandLocation", earPiercing: $activeSlave.earPiercing, nosePiercing: $activeSlave.nosePiercing, eyebrowPiercing: $activeSlave.eyebrowPiercing, navelPiercing: $activeSlave.navelPiercing, shouldersTat: "$activeSlave.shouldersTat", armsTat: "$activeSlave.armsTat", legsTat: "$activeSlave.legsTat", backTat: "$activeSlave.backTat", stampTat: "$activeSlave.stampTat", vaginalSkill: $activeSlave.vaginalSkill, oralSkill: $activeSlave.oralSkill, analSkill: $activeSlave.analSkill, whoreSkill: $activeSlave.whoreSkill, entertainSkill: $activeSlave.entertainSkill, combatSkill: $activeSlave.combatSkill, livingRules: "$activeSlave.livingRules", speechRules: "$activeSlave.speechRules", releaseRules: "$activeSlave.releaseRules", relationshipRules: "$activeSlave.relationshipRules", standardPunishment: "situational", standardReward: "situational", useRulesAssistant: 1, diet: "$activeSlave.diet", dietCum: $activeSlave.dietCum, dietMilk: $activeSlave.dietMilk, tired: 0, hormones: 0, drugs: "$activeSlave.drugs", curatives: 0, chem: 0, aphrodisiacs: 0, addict: $activeSlave.addict, fuckdoll: $activeSlave.fuckdoll, choosesOwnClothes: 0, clothes: "$activeSlave.clothes", collar: "$activeSlave.collar", shoes: "$activeSlave.shoes", vaginalAccessory: "none", dickAccessory: "none", buttplug: "none", intelligence: $activeSlave.intelligence,  intelligenceImplant: $activeSlave.intelligenceImplant, energy: $activeSlave.energy, attrXX: $activeSlave.attrXX, attrXY: $activeSlave.attrXY, attrKnown: $activeSlave.attrKnown, fetish: "$activeSlave.fetish", fetishStrength: $activeSlave.fetishStrength, fetishKnown: $activeSlave.fetishKnown, behavioralFlaw: "$activeSlave.behavioralFlaw", behavioralQuirk: "none", sexualFlaw: "$activeSlave.sexualFlaw", sexualQuirk: "none", oralCount: 0, vaginalCount: 0, analCount: 0, mammaryCount: 0, penetrativeCount: 0, pitKills: 0, customTat: "$activeSlave.customTat", customLabel: "", customDesc: "$activeSlave.customDesc", customImage: 0, currentRules: _currentRules, actualAge: $activeSlave.actualAge, visualAge: $activeSlave.visualAge, physicalAge: $activeSlave.physicalAge, bellyTat: "$activeSlave.bellyTat", induce: 0, mpreg: $activeSlave.mpreg, inflation: 0, inflationType: "none", inflationMethod: 0, milkSource: 0, cumSource: 0, burst: 0, bellyImplant: $activeSlave.bellyImplant, bellySag: $activeSlave.bellySage, bellyPain: 0, cervixImplant: $activeSlave.cervixImplant, birthsTotal: $activeSlave.birthsTotal, pubertyXX: $activeSlave.pubertyXX, pubertyAgeXX: $activeSlave.pubertyAgeXX, pubertyXY: $activeSlave.pubertyXY, pubertyAgeXY: $activeSlave.pubertyAgeXY, scars: $activeSlave.scars, breedingMark: 0, underArmHStyle: "waxed", underArmHColor: "$activeSlave.underArmHColor", bodySwap: $activeSlave.bodySwap, father: 0, mother: 0, daughters: 0, sisters: 0, canRecruit: 0, HGExclude: 0, ballType: "$activeSlave.ballType", eggType: "$activeSlave.eggType", reservedChildren: 0, choosesOwnChastity: 0, pregControl: "none", readyLimbs: [], ageAdjust: $activeSlave.ageAdjust, bald: $activeSlave.bald, origBodyOwner: "", death: "", hormoneBalance: $activeSlave.hormoneBalance
+slaveName: "$activeSlave.slaveName", birthName: "$activeSlave.birthName", weekAcquired: 1, origin: "$activeSlave.origin", career: "$activeSlave.career", ID: $activeSlave.ID, pornFame: $activeSlave.pornFame, pornFameSpending: $activeSlave.pornFameSpending, prestige: $activeSlave.prestige, prestigeDesc: "$activeSlave.prestigeDesc", recruiter: 0, relation: 0, relationTarget: 0, relationship: 0, relationshipTarget: 0, rivalry: 0, rivalryTarget: 0, subTarget: 0, choosesOwnAssignment: 0, assignment: "rest", assignmentVisible: 1, sentence: 0, training: 0, toyHole: "all her holes", indenture: -1, indentureRestrictions: 0, birthWeek: $activeSlave.birthWeek, age: $activeSlave.age, ageImplant: $activeSlave.ageImplant, health: $activeSlave.health, minorInjury: 0, trust: $activeSlave.trust, oldTrust: $activeSlave.trust, devotion: $activeSlave.devotion, oldDevotion: $activeSlave.devotion, weight: $activeSlave.weight, muscles: $activeSlave.muscles, height: $activeSlave.height, heightImplant: $activeSlave.heightImplant, nationality: "$activeSlave.nationality", race: "$activeSlave.race", markings: "none", eyes: 1, eyeColor: "$activeSlave.eyeColor", eyewear: "none", hColor: "$activeSlave.hColor", pubicHColor: "$activeSlave.pubicHColor", skin: "$activeSlave.skin", hLength: $activeSlave.hLength, hStyle: "$activeSlave.hStyle", pubicHStyle: "$activeSlave.pubicHStyle", waist: $activeSlave.waist, corsetPiercing: 0, amp: $activeSlave.amp, heels: $activeSlave.heels, voice: $activeSlave.voice, voiceImplant: $activeSlave.voiceImplant, accent: $activeSlave.accent, shoulders: $activeSlave.shoulders, shouldersImplant: $activeSlave.shouldersImplant, boobs: $activeSlave.boobs, boobsImplant: $activeSlave.boobsImplant, boobsImplantType: $activeSlave.boobsImplantType, boobShape: "normal", nipples: "$activeSlave.nipples",  nipplesPiercing: $activeSlave.nipplesPiercing, areolae: $activeSlave.areolae, areolaePiercing: $activeSlave.areolaePiercing, boobsTat: "$activeSlave.boobsTat", lactation: $activeSlave.lactation, lactationAdaptation: 0, milk: 0, cum: 0, hips: $activeSlave.hips, hipsImplant: $activeSlave.hipsImplant, butt: $activeSlave.butt, buttImplant: $activeSlave.buttImplant, buttImplantType: $activeSlave.buttImplantType, buttTat: "$activeSlave.buttTat", face: $activeSlave.face, faceImplant: $activeSlave.faceImplant, faceShape: "normal", lips: $activeSlave.lips, lipsImplant: $activeSlave.lipsImplant, lipsPiercing: $activeSlave.lipsPiercing, lipsTat: "$activeSlave.lipsTat", teeth: "$activeSlave.teeth", tonguePiercing: $activeSlave.tonguePiercing, vagina: $activeSlave.vagina, vaginaLube: $activeSlave.vaginaLube, vaginaPiercing: $activeSlave.vaginaPiercing, vaginaTat: "$activeSlave.vaginaTat", preg: $activeSlave.preg, pregSource: 0, pregType: 0, labor: 0, births: $activeSlave.births, cSec: 0, bellyAccessory: "none", labia: $activeSlave.labia, clit: $activeSlave.clit, clitPiercing: $activeSlave.clitPiercing, clitSetting: "$activeSlave.clitSetting", foreskin: 0, anus: $activeSlave.anus, dick: $activeSlave.dick, analArea: 1, dickPiercing: $activeSlave.dickPiercing, dickTat: "$activeSlave.dickTat", balls: $activeSlave.balls, scrotum: 0, ovaries: $activeSlave.ovaries, anusPiercing: $activeSlave.anusPiercing, anusTat: "$activeSlave.anusTat", makeup: $activeSlave.makeup, nails: $activeSlave.nails, brand: "$activeSlave.brand", brandLocation: "$activeSlave.brandLocation", earPiercing: $activeSlave.earPiercing, nosePiercing: $activeSlave.nosePiercing, eyebrowPiercing: $activeSlave.eyebrowPiercing, navelPiercing: $activeSlave.navelPiercing, shouldersTat: "$activeSlave.shouldersTat", armsTat: "$activeSlave.armsTat", legsTat: "$activeSlave.legsTat", backTat: "$activeSlave.backTat", stampTat: "$activeSlave.stampTat", vaginalSkill: $activeSlave.vaginalSkill, oralSkill: $activeSlave.oralSkill, analSkill: $activeSlave.analSkill, whoreSkill: $activeSlave.whoreSkill, entertainSkill: $activeSlave.entertainSkill, combatSkill: $activeSlave.combatSkill, livingRules: "$activeSlave.livingRules", speechRules: "$activeSlave.speechRules", releaseRules: "$activeSlave.releaseRules", relationshipRules: "$activeSlave.relationshipRules", standardPunishment: "situational", standardReward: "situational", useRulesAssistant: 1, diet: "$activeSlave.diet", dietCum: $activeSlave.dietCum, dietMilk: $activeSlave.dietMilk, tired: 0, hormones: 0, drugs: "$activeSlave.drugs", curatives: 0, chem: 0, aphrodisiacs: 0, addict: $activeSlave.addict, fuckdoll: $activeSlave.fuckdoll, choosesOwnClothes: 0, clothes: "$activeSlave.clothes", collar: "$activeSlave.collar", shoes: "$activeSlave.shoes", vaginalAccessory: "none", dickAccessory: "none", buttplug: "none", intelligence: $activeSlave.intelligence,  intelligenceImplant: $activeSlave.intelligenceImplant, energy: $activeSlave.energy, attrXX: $activeSlave.attrXX, attrXY: $activeSlave.attrXY, attrKnown: $activeSlave.attrKnown, fetish: "$activeSlave.fetish", fetishStrength: $activeSlave.fetishStrength, fetishKnown: $activeSlave.fetishKnown, behavioralFlaw: "$activeSlave.behavioralFlaw", behavioralQuirk: "none", sexualFlaw: "$activeSlave.sexualFlaw", sexualQuirk: "none", oralCount: 0, vaginalCount: 0, analCount: 0, mammaryCount: 0, penetrativeCount: 0, pitKills: 0, customTat: "$activeSlave.customTat", customLabel: "", customDesc: "$activeSlave.customDesc", customImage: 0, currentRules: _currentRules, actualAge: $activeSlave.actualAge, visualAge: $activeSlave.visualAge, physicalAge: $activeSlave.physicalAge, bellyTat: "$activeSlave.bellyTat", induce: 0, mpreg: $activeSlave.mpreg, inflation: 0, inflationType: "none", inflationMethod: 0, milkSource: 0, cumSource: 0, burst: 0, bellyImplant: $activeSlave.bellyImplant, bellySag: $activeSlave.bellySag, bellyPain: 0, cervixImplant: $activeSlave.cervixImplant, birthsTotal: $activeSlave.birthsTotal, pubertyXX: $activeSlave.pubertyXX, pubertyAgeXX: $activeSlave.pubertyAgeXX, pubertyXY: $activeSlave.pubertyXY, pubertyAgeXY: $activeSlave.pubertyAgeXY, scars: $activeSlave.scars, breedingMark: 0, underArmHStyle: "waxed", underArmHColor: "$activeSlave.underArmHColor", bodySwap: $activeSlave.bodySwap, father: 0, mother: 0, daughters: 0, sisters: 0, canRecruit: 0, HGExclude: 0, ballType: "$activeSlave.ballType", eggType: "$activeSlave.eggType", reservedChildren: 0, choosesOwnChastity: 0, pregControl: "none", readyLimbs: [], ageAdjust: $activeSlave.ageAdjust, bald: $activeSlave.bald, origBodyOwner: "", death: "", hormoneBalance: $activeSlave.hormoneBalance
diff --git a/src/npc/fFeelings.tw b/src/npc/fFeelings.tw
index fa078063626..66570fa2280 100644
--- a/src/npc/fFeelings.tw
+++ b/src/npc/fFeelings.tw
@@ -846,7 +846,7 @@ My favorite part of my body i<<s>>
 	<<if $activeSlave.relationship >= 3>>
 		<<if $activeSlave.mother == $slaves[$partner].ID>>
 			"I - I'm fucking my mother," she bursts out, blushing even harder. "It'<<s>> <<s>>o fucking wrong, but <<s>>he's <<s>>uch a hot MILF, I can't <<s>>top.
-		<<elseif $activeSlave.father == $slaves[$partnerj].ID>>
+		<<elseif $activeSlave.father == $slaves[$partner].ID>>
 			I - I'm fucking my father," she bursts out, blushing even harder. "It'<<s>> <<s>>o fucking wrong, but <<s>>he knows <<s>>o much about penetration, I can't <<s>>top.
 		<<elseif $slaves[$partner].mother == $activeSlave.ID>>
 			I - I'm fucking my daughter," she bursts out, blushing even harder. "It'<<s>> <<s>>o fucking wrong, but <<s>>he ha<<s>> <<s>>uch a hot little body, I can't <<s>>top.
diff --git a/src/pregmod/widgets/pregmodWidgets.tw b/src/pregmod/widgets/pregmodWidgets.tw
index 80733fcd2a4..6369d6af51e 100644
--- a/src/pregmod/widgets/pregmodWidgets.tw
+++ b/src/pregmod/widgets/pregmodWidgets.tw
@@ -599,7 +599,7 @@ $activeSlave.slaveName is up for review:
 	<<case "Indonesian">>
 		and, in keeping with her heritage, a Pindad SM2 LMG
 	<<case "Indian">>
-		and, in keeping with her heritage, a OFB MG 2A1 GPMG
+		and, in keeping with her heritage, an OFB MG 2A1 GPMG
 	<<case "Turkish">>
 		and, in keeping with her heritage, a MKEK MG3 GPMG
 	<<case "Iranian">>
@@ -622,7 +622,7 @@ $activeSlave.slaveName is up for review:
 	<<case "Uzbek" "Kazakh" "Belarusian" "Armenian">>
 		and, in keeping with her heritage, a Kalashnikov AK-74M assault rifle
 	<<<case "Russian">>
-		and, in keeping with her heritage, a Izhmash AN-94 Abakan assault rifle
+		and, in keeping with her heritage, an Izhmash AN-94 Abakan assault rifle
 	<<case "Ukrainian">>
 		and, in keeping with her heritage, a Fort-227 assault rifle
 	<<case "American">>
@@ -680,7 +680,7 @@ $activeSlave.slaveName is up for review:
 	<<case "Indonesian">>
 		and, in keeping with her heritage, a Pindad SS2 assault rifle
 	<<case "Indian">>
-		and, in keeping with her heritage, a OFB MCIWS assault rifle
+		and, in keeping with her heritage, an OFB MCIWS assault rifle
 	<<case "Turkish">>
 		and, in keeping with her heritage, a MKEK MPT-76 assault rifle
 	<<case "Iranian">>
@@ -688,11 +688,11 @@ $activeSlave.slaveName is up for review:
 	<<case "Vietnamese">>
 		and, in keeping with her heritage, a Z111 AKM assault rifle
 	<<case "Filipina">>
-		and, in keeping with her heritage, a Elitool M653P carbine
+		and, in keeping with her heritage, an Elitool M653P carbine
 	<<case "Thai">>
 		and, in keeping with her heritage, a MND Type 11 assault rifle
 	<<case "Brazilian">>
-		and, in keeping with her heritage, a IMBEL IA2 assault rifle
+		and, in keeping with her heritage, an IMBEL IA2 assault rifle
 	<<case "Argentinian">>
 		and, in keeping with her heritage, a FMAP FARA-83 assault rifle
 	<<case "Peruvian">>
@@ -759,7 +759,7 @@ $activeSlave.slaveName is up for review:
 	<<case "Indonesian">>
 		and, in keeping with her heritage, a Pindad PM1A1 SMG
 	<<case "Indian">>
-		and, in keeping with her heritage, a OFB MSMC SMG
+		and, in keeping with her heritage, an OFB MSMC SMG
 	<<case "Turkish">>
 		and, in keeping with her heritage, a Sarsilmaz SAR 109 SMG
 	<<case "Iranian">>
diff --git a/src/uncategorized/dispensary.tw b/src/uncategorized/dispensary.tw
index c199efa3ffb..3c5a9d113f3 100644
--- a/src/uncategorized/dispensary.tw
+++ b/src/uncategorized/dispensary.tw
@@ -330,15 +330,15 @@ The hormone replacement therapies
 <br><br>
 
 <<if ($prostateImplants != 1) && ($rep <= 3000*$upgradeMultiplierMedicine)>>
-	//You lack the reputation to access plans for stronger prostate implants//
+	//You lack the reputation to access plans for prostate implants//
 <</if>>
 
 <<if ($prostateImplants != 1) && ($rep > 3000*$upgradeMultiplierMedicine)>>
-    [[Purchase plans for powerful prostate implants|Dispensary][$cash -= 30000*$upgradeMultiplierMedicine, $prostateImplants = 1]]
+    [[Purchase plans for ejaculation enhancing prostate implants |Dispensary][$cash -= 30000*$upgradeMultiplierMedicine, $prostateImplants = 1]]
 	//Costs ¤<<print 30000*$upgradeMultiplierMedicine>>// 
-    <br>&nbsp;&nbsp;&nbsp;&nbsp;//Will allow the fabrication of a stronger variant of the slow release prostate implants. Beware of leaking and dehydration.//
+    <br>&nbsp;&nbsp;&nbsp;&nbsp;//Will allow the fabrication of a prostate implant designed to stimulate fluid production for massive ejaculations. Beware of leaking and dehydration.//
 <<elseif ($prostateImplants > 0)>>
-	The fabricator is capable of producing more powerful prostate implants.
+	The fabricator is capable of producing ejaculation enhancing prostate implants.
 <</if>>
 
 <</if>>
diff --git a/src/uncategorized/freeRangeDairyAssignmentScene.tw b/src/uncategorized/freeRangeDairyAssignmentScene.tw
index 86249021a53..4cf9e49f1ae 100644
--- a/src/uncategorized/freeRangeDairyAssignmentScene.tw
+++ b/src/uncategorized/freeRangeDairyAssignmentScene.tw
@@ -348,7 +348,7 @@ The milking cups on her nipples switch from rhythmic pulsing into intense suctio
 <</if>>
 <<if $activeSlave.prostate != 0 && $activeSlave.dick == 0 && $activeSlave.balls == 0 >>
 <br>
-$activeSlave.slaveName has no cock, but a functional prostate gland. It's attached to her urethra, so she squirts <<if $activeSlave.prostateImplant == 1>>massively<<else>>copiously<</if>> while she orgasms. The exotic fluid is caught by a basin positioned under her <<if $activeSlave.vagina >= 0 >>dripping pussy<<else>>featureless crotch<</if>>.
+$activeSlave.slaveName has no cock, but a functional prostate gland. It's attached to her urethra, so she squirts <<if $activeSlave.prostate > 2>>massively<<else>>copiously<</if>> while she orgasms. The exotic fluid is caught by a basin positioned under her <<if $activeSlave.vagina >= 0 >>dripping pussy<<else>>featureless crotch<</if>>.
 <</if>>
 <br><br>
 With the first milking cycle being over, $activeSlave.slaveName drifts into a relaxing slumber.
diff --git a/src/uncategorized/fsDevelopments.tw b/src/uncategorized/fsDevelopments.tw
index f6dca3d39f4..1b99b1fbe58 100644
--- a/src/uncategorized/fsDevelopments.tw
+++ b/src/uncategorized/fsDevelopments.tw
@@ -1,6 +1,6 @@
 :: FS Developments [nobr]
 
-<<if $useTabs>>__Society__<</if>>
+<<if $useTabs == 0>>__Society__<</if>>
 <br>
 
 <<if $FSCredits > 0>>
@@ -139,167 +139,204 @@
 	<</if>>
 <</if>>
 
-<<set $seed = 0>>
+/* Count adopted FS */
+<<set _societies = 0>>
+<<if $arcologies[0].FSSupremacist != "unset">>
+	<<set _societies++>>
+<</if>>
+<<if $arcologies[0].FSSubjugationist != "unset">>
+	<<set _societies++>>
+<</if>>
+<<if $arcologies[0].FSGenderRadicalist != "unset">>
+	<<set _societies++>>
+<<elseif $arcologies[0].FSGenderFundamentalist != "unset">>
+	<<set _societies++>>
+<</if>>
+<<if $arcologies[0].FSPaternalist != "unset">>
+	<<set _societies++>>
+<<elseif $arcologies[0].FSDegradationist != "unset">>
+	<<set _societies++>>
+<</if>>
+<<if $arcologies[0].FSBodyPurist != "unset">>
+	<<set _societies++>>
+<<elseif $arcologies[0].FSTransformationFetishist != "unset">>
+	<<set _societies++>>
+<</if>>
+<<if $arcologies[0].FSSlimnessEnthusiast != "unset">>
+	<<set _societies++>>
+<<elseif $arcologies[0].FSAssetExpansionist != "unset">>
+	<<set _societies++>>
+<</if>>
+<<if $arcologies[0].FSPastoralist != "unset">>
+	<<set _societies++>>
+<<elseif $arcologies[0].FSPhysicalIdealist != "unset">>
+	<<set _societies++>>
+<</if>>
+<<if $arcologies[0].FSMaturityPreferentialist != "unset">>
+	<<set _societies++>>
+<<elseif $arcologies[0].FSYouthPreferentialist != "unset">>
+	<<set _societies++>>
+<</if>>
+<<if $arcologies[0].FSChattelReligionist != "unset">>
+	<<set _societies++>>
+<</if>>
+<<if $arcologies[0].FSRomanRevivalist != "unset">>
+	<<set _societies++>>
+<<elseif $arcologies[0].FSAztecRevivalist != "unset">>
+	<<set _societies++>>
+<<elseif $arcologies[0].FSEgyptianRevivalist != "unset">>
+	<<set _societies++>>
+<<elseif $arcologies[0].FSEdoRevivalist != "unset">>
+	<<set _societies++>>
+<<elseif $arcologies[0].FSArabianRevivalist != "unset">>
+	<<set _societies++>>
+<<elseif $arcologies[0].FSChineseRevivalist != "unset">>
+	<<set _societies++>>
+<</if>>
+<<if $arcologies[0].FSRepopulationFocus != "unset">>
+	<<set _societies++>>
+<<elseif $arcologies[0].FSRestart != "unset">>
+	<<set _societies++>>
+<</if>>
+
+/* Spending, terrain, rep effects */
+<<set _broadProgress = 0>>
 <<if $FSSpending > 1>>
 	Your @@.yellowgreen;societal spending@@ helps forward your goals for the arcology's future.
-	<<set $seed += Math.trunc($FSSpending/(1000-(500*$arcologies[0].FSEdoRevivalistLaw)-(250*$arcologies[0].FSArabianRevivalistLaw)))>>
+	<<set _broadProgress += Math.trunc($FSSpending/(1000-(500*$arcologies[0].FSEdoRevivalistLaw)-(250*$arcologies[0].FSArabianRevivalistLaw)))>>
 <</if>>
 <<if $terrain == "urban">>
-	The urban location of the arcology naturally promotes cultural interchange, holding back $arcologies[0].name's cultural independence.
-	<<set $seed -= 3>>
+	The @@.yellow;urban location@@ of the arcology naturally promotes cultural interchange, holding back $arcologies[0].name's cultural independence.
+	<<set _broadProgress -= 3>>
 <<elseif $terrain == "rural">>
-	The rural location of the arcology naturally limits cultural interchange, allowing $arcologies[0].name to slowly develop its own culture.
-	<<set $seed -= 2>>
+	The @@.yellow;rural location@@ of the arcology naturally limits cultural interchange, allowing $arcologies[0].name to slowly develop its own culture.
+	<<set _broadProgress -= 2>>
 <<elseif $terrain == "marine">>
-	The marine location of the arcology strongly limits cultural interchange, allowing $arcologies[0].name to quickly develop its own culture.
-	<<set $seed -= 1>>
+	The @@.yellow;marine location@@ of the arcology strongly limits cultural interchange, allowing $arcologies[0].name to quickly develop its own culture.
+	<<set _broadProgress -= 1>>
 <<elseif $terrain == "ravine">>
-	The near subterranean location of the arcology almost eliminates cultural interchange, allowing $arcologies[0].name to independently develop its culture.
+	The @@.yellow;near subterranean location@@ of the arcology almost eliminates cultural interchange, allowing $arcologies[0].name to independently develop its culture.
+<<else>>
+	The @@.yellow;oceanic location@@ of the arcology almost eliminates cultural interchange, allowing $arcologies[0].name to independently develop its culture.
+<</if>>
+<<if $rep < 4000>>
+	@@.red;Your weak reputation@@ reflects badly on your social projects.
+	<<set _broadProgress -= 2>>
+<<elseif $rep < 8000>>
+	@@.red;Your mediocre reputation@@ engenders skepticism towards your social development.
+	<<set _broadProgress -= 1>>
+<<elseif $rep < 12000>>
+	@@.yellow;Your reputation@@ is neither weak enough or strong enough to affect social development.
+<<elseif $rep < 16000>>
+	@@.green;Your strong reputation@@ helps support social development.
+	<<set _broadProgress += 1>>
+<<elseif $rep < 20000>>
+	@@.green;Your very strong reputation@@ increases acceptance of your social development.
+	<<set _broadProgress += 2>>
 <<else>>
-	The oceanic location of the arcology almost eliminates cultural interchange, allowing $arcologies[0].name to independently develop its culture.
+	@@.green;Your incredible reputation@@ encourages automatic acceptance of your social development.
+	<<set _broadProgress += 4>>
 <</if>>
-<<if $seed != 0>>
-	<<if $arcologies[0].FSSupremacist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSSupremacist - $FSLockinLevel>>
-	<<set $arcologies[0].FSSupremacist = $FSLockinLevel>>
-	<<elseif $arcologies[0].FSSupremacist != "unset">>
-	<<set $arcologies[0].FSSupremacist += $seed>>
-	<</if>>
-	<<if $arcologies[0].FSSubjugationist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSSubjugationist - $FSLockinLevel>>
-	<<set $arcologies[0].FSSubjugationist = $FSLockinLevel>>
-	<<elseif $arcologies[0].FSSubjugationist != "unset">>
-	<<set $arcologies[0].FSSubjugationist += $seed>>
-	<</if>>
-	<<if $arcologies[0].FSRepopulationFocus > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSRepopulationFocus - $FSLockinLevel>>
-	<<set $arcologies[0].FSRepopulationFocus = $FSLockinLevel>>
-	<<elseif $arcologies[0].FSRepopulationFocus != "unset">>
-	<<set $arcologies[0].FSRepopulationFocus += $seed>>
-	<</if>>
-	<<if $arcologies[0].FSRestart > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSRestart - $FSLockinLevel>>
-	<<set $arcologies[0].FSRestart = $FSLockinLevel>>
-	<<elseif $arcologies[0].FSRestart != "unset">>
-	<<set $arcologies[0].FSRestart += $seed>>
-	<</if>>
-	<<if $arcologies[0].FSGenderRadicalist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSGenderRadicalist - $FSLockinLevel>>
-	<<set $arcologies[0].FSGenderRadicalist = $FSLockinLevel>>
-	<<elseif $arcologies[0].FSGenderRadicalist != "unset">>
-	<<set $arcologies[0].FSGenderRadicalist += $seed>>
-	<</if>>
-	<<if $arcologies[0].FSGenderFundamentalist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSGenderFundamentalist - $FSLockinLevel>>
-	<<set $arcologies[0].FSGenderFundamentalist = $FSLockinLevel>>
+<<if $FSCreditCount == 4>>
+	<<set _broadProgress += 1 - _societies>>
+	<<switch _societies>>
+	<<case 1>>Maintaining a single societal goal allows @@.green;very focused social engineering.@@
+	<<case 2>>Maintaining two societal goals allows @@.green;focused social engineering.@@
+	<<case 3>>Maintaining three societal goals requires @@.yellow;broad social engineering.@@
+	<<default>>Maintaining four societal goals requires @@.red;unfocused social engineering.@@
+	<</switch>>
+<<elseif $FSCreditCount == 6>>
+	<<set _broadProgress += 3 - _societies>>
+	<<switch _societies>>
+	<<case 1>>Maintaining a single societal goal allows @@.green;very focused social engineering.@@
+	<<case 2>>Maintaining two societal goals allows @@.green;focused social engineering.@@
+	<<case 3>>Maintaining three societal goals allows @@.yellow;barely focusable social engineering.@@
+	<<case 4>>Maintaining four societal goals requires @@.yellow;broad social engineering.@@
+	<<case 5>>Maintaining five societal goals requires @@.red;unfocused social engineering.@@
+	<<case 6>>Maintaining six societal goals requires @@.red;very unfocused social engineering.@@
+	<</switch>>
+<<elseif $FSCreditCount == 7>>
+	<<set _broadProgress += 3 - _societies>>
+	<<switch _societies>>
+	<<case 1>>Maintaining a single societal goal allows @@.green;very focused social engineering.@@
+	<<case 2>>Maintaining two societal goals allows @@.green;focused social engineering.@@
+	<<case 3>>Maintaining three societal goals allows @@.yellow;barely focusable social engineering.@@
+	<<case 4>>Maintaining four societal goals requires @@.yellow;broad social engineering.@@
+	<<case 5>>Maintaining five societal goals requires @@.red;unfocused social engineering.@@
+	<<case 6>>Maintaining six societal goals requires @@.red;very unfocused social engineering.@@
+	<<case 7>>Maintaining six societal goals requires @@.red;extremely unfocused social engineering.@@
+	<</switch>>
+<<else>>
+<<set _broadProgress += 2 - _societies>>
+<<switch _societies>>
+<<case 1>>Maintaining a single societal goal allows @@.green;very focused social engineering.@@
+<<case 2>>Maintaining two societal goals allows @@.green;focused social engineering.@@
+<<case 3>>Maintaining three societal goals requires @@.yellow;broad social engineering.@@
+<<case 4>>Maintaining four societal goals requires @@.red;unfocused social engineering.@@
+<<default>>Maintaining five societal goals requires @@.red;very unfocused social engineering.@@
+<</switch>>
+<</if>> /*closes FS count changes */
+<<if _broadProgress != 0>>
+	<<if $arcologies[0].FSSupremacist != "unset">>
+		<<set $arcologies[0].FSSupremacist += _broadProgress>>
+	<</if>>
+	<<if $arcologies[0].FSSubjugationist != "unset">>
+		<<set $arcologies[0].FSSubjugationist += _broadProgress>>
+	<</if>>
+	<<if $arcologies[0].FSGenderRadicalist != "unset">>
+		<<set $arcologies[0].FSGenderRadicalist += _broadProgress>>
 	<<elseif $arcologies[0].FSGenderFundamentalist != "unset">>
-	<<set $arcologies[0].FSGenderFundamentalist += $seed>>
+		<<set $arcologies[0].FSGenderFundamentalist += _broadProgress>>
 	<</if>>
-	<<if $arcologies[0].FSPaternalist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSPaternalist - $FSLockinLevel>>
-	<<set $arcologies[0].FSPaternalist = $FSLockinLevel>>
-	<<elseif $arcologies[0].FSPaternalist != "unset">>
-	<<set $arcologies[0].FSPaternalist += $seed>>
-	<</if>>
-	<<if $arcologies[0].FSDegradationist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSDegradationist - $FSLockinLevel>>
-	<<set $arcologies[0].FSDegradationist = $FSLockinLevel>>
+	<<if $arcologies[0].FSPaternalist != "unset">>
+		<<set $arcologies[0].FSPaternalist += _broadProgress>>
 	<<elseif $arcologies[0].FSDegradationist != "unset">>
-	<<set $arcologies[0].FSDegradationist += $seed>>
+		<<set $arcologies[0].FSDegradationist += _broadProgress>>
 	<</if>>
-	<<if $arcologies[0].FSBodyPurist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSBodyPurist - $FSLockinLevel>>
-	<<set $arcologies[0].FSBodyPurist = $FSLockinLevel>>
-	<<elseif $arcologies[0].FSBodyPurist != "unset">>
-	<<set $arcologies[0].FSBodyPurist += $seed>>
-	<</if>>
-	<<if $arcologies[0].FSPastoralist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSPastoralist - $FSLockinLevel>>
-	<<set $arcologies[0].FSPastoralist = $FSLockinLevel>>
-	<<elseif $arcologies[0].FSPastoralist != "unset">>
-	<<set $arcologies[0].FSPastoralist += $seed>>
-	<</if>>
-	<<if $arcologies[0].FSAssetExpansionist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSAssetExpansionist - $FSLockinLevel>>
-	<<set $arcologies[0].FSAssetExpansionist = $FSLockinLevel>>
-	<<elseif $arcologies[0].FSAssetExpansionist != "unset">>
-	<<set $arcologies[0].FSAssetExpansionist += $seed>>
-	<</if>>
-	<<if $arcologies[0].FSTransformationFetishist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSTransformationFetishist - $FSLockinLevel>>
-	<<set $arcologies[0].FSTransformationFetishist = $FSLockinLevel>>
+	<<if $arcologies[0].FSBodyPurist != "unset">>
+		<<set $arcologies[0].FSBodyPurist += _broadProgress>>
 	<<elseif $arcologies[0].FSTransformationFetishist != "unset">>
-	<<set $arcologies[0].FSTransformationFetishist += $seed>>
-	<</if>>
-	<<if $arcologies[0].FSMaturityPreferentialist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSMaturityPreferentialist - $FSLockinLevel>>
-	<<set $arcologies[0].FSMaturityPreferentialist = $FSLockinLevel>>
-	<<elseif $arcologies[0].FSMaturityPreferentialist != "unset">>
-	<<set $arcologies[0].FSMaturityPreferentialist += $seed>>
-	<</if>>
-	<<if $arcologies[0].FSYouthPreferentialist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSYouthPreferentialist - $FSLockinLevel>>
-	<<set $arcologies[0].FSYouthPreferentialist = $FSLockinLevel>>
-	<<elseif $arcologies[0].FSYouthPreferentialist != "unset">>
-	<<set $arcologies[0].FSYouthPreferentialist += $seed>>
+		<<set $arcologies[0].FSTransformationFetishist += _broadProgress>>
 	<</if>>
-	<<if $arcologies[0].FSSlimnessEnthusiast > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSSlimnessEnthusiast - $FSLockinLevel>>
-	<<set $arcologies[0].FSSlimnessEnthusiast = $FSLockinLevel>>
-	<<elseif $arcologies[0].FSSlimnessEnthusiast != "unset">>
-	<<set $arcologies[0].FSSlimnessEnthusiast += $seed>>
+	<<if $arcologies[0].FSSlimnessEnthusiast != "unset">>
+		<<set $arcologies[0].FSSlimnessEnthusiast += _broadProgress>>
+	<<elseif $arcologies[0].FSAssetExpansionist != "unset">>
+		<<set $arcologies[0].FSAssetExpansionist += _broadProgress>>
 	<</if>>
-	<<if $arcologies[0].FSPhysicalIdealist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSPhysicalIdealist - $FSLockinLevel>>
-	<<set $arcologies[0].FSPhysicalIdealist = $FSLockinLevel>>
+	<<if $arcologies[0].FSPastoralist != "unset">>
+		<<set $arcologies[0].FSPastoralist += _broadProgress>>
 	<<elseif $arcologies[0].FSPhysicalIdealist != "unset">>
-	<<set $arcologies[0].FSPhysicalIdealist += $seed>>
+		<<set $arcologies[0].FSPhysicalIdealist += _broadProgress>>
 	<</if>>
-	<<if $arcologies[0].FSChattelReligionist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSChattelReligionist - $FSLockinLevel>>
-	<<set $arcologies[0].FSChattelReligionist = $FSLockinLevel>>
-	<<elseif $arcologies[0].FSChattelReligionist != "unset">>
-	<<set $arcologies[0].FSChattelReligionist += $seed>>
+	<<if $arcologies[0].FSMaturityPreferentialist != "unset">>
+		<<set $arcologies[0].FSMaturityPreferentialist += _broadProgress>>
+	<<elseif $arcologies[0].FSYouthPreferentialist != "unset">>
+		<<set $arcologies[0].FSYouthPreferentialist += _broadProgress>>
 	<</if>>
-	<<if $arcologies[0].FSRomanRevivalist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSRomanRevivalist - $FSLockinLevel>>
-	<<set $arcologies[0].FSRomanRevivalist = $FSLockinLevel>>
-	<<elseif $arcologies[0].FSRomanRevivalist != "unset">>
-	<<set $arcologies[0].FSRomanRevivalist += $seed>>
+	<<if $arcologies[0].FSChattelReligionist != "unset">>
+		<<set $arcologies[0].FSChattelReligionist += _broadProgress>>
 	<</if>>
-	<<if $arcologies[0].FSAztecRevivalist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSAztecRevivalist - $FSLockinLevel>>
-	<<set $arcologies[0].FSAztecRevivalist = $FSLockinLevel>>
+	<<if $arcologies[0].FSRomanRevivalist != "unset">>
+		<<set $arcologies[0].FSRomanRevivalist += _broadProgress>>
 	<<elseif $arcologies[0].FSAztecRevivalist != "unset">>
-	<<set $arcologies[0].FSAztecRevivalist += $seed>>
-	<</if>>
-	<<if $arcologies[0].FSEgyptianRevivalist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSEgyptianRevivalist - $FSLockinLevel>>
-	<<set $arcologies[0].FSEgyptianRevivalist = $FSLockinLevel>>
+		<<set $arcologies[0].FSAztecRevivalist += _broadProgress>>
 	<<elseif $arcologies[0].FSEgyptianRevivalist != "unset">>
-	<<set $arcologies[0].FSEgyptianRevivalist += $seed>>
-	<</if>>
-	<<if $arcologies[0].FSEdoRevivalist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSEdoRevivalist - $FSLockinLevel>>
-	<<set $arcologies[0].FSEdoRevivalist = $FSLockinLevel>>
+		<<set $arcologies[0].FSEgyptianRevivalist += _broadProgress>>
 	<<elseif $arcologies[0].FSEdoRevivalist != "unset">>
-	<<set $arcologies[0].FSEdoRevivalist += $seed>>
-	<</if>>
-	<<if $arcologies[0].FSArabianRevivalist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSArabianRevivalist - $FSLockinLevel>>
-	<<set $arcologies[0].FSArabianRevivalist = $FSLockinLevel>>
+		<<set $arcologies[0].FSEdoRevivalist += _broadProgress>>
 	<<elseif $arcologies[0].FSArabianRevivalist != "unset">>
-	<<set $arcologies[0].FSArabianRevivalist += $seed>>
-	<</if>>
-	<<if $arcologies[0].FSChineseRevivalist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSChineseRevivalist - $FSLockinLevel>>
-	<<set $arcologies[0].FSChineseRevivalist = $FSLockinLevel>>
+		<<set $arcologies[0].FSArabianRevivalist += _broadProgress>>
 	<<elseif $arcologies[0].FSChineseRevivalist != "unset">>
-	<<set $arcologies[0].FSChineseRevivalist += $seed>>
+		<<set $arcologies[0].FSChineseRevivalist += _broadProgress>>
+	<</if>>
+	<<if $arcologies[0].FSRepopulationFocus != "unset">>
+		<<set $arcologies[0].FSRepopulationFocus += _broadProgress>>
+	<<elseif $arcologies[0].FSRestart != "unset">>
+		<<set $arcologies[0].FSRestart += _broadProgress>>
 	<</if>>
 <</if>>
 
-/*
+/* Promenade effects */
 <<for _i = 5; _i <= 7; _i++>>
 <<if $sectors[_i].type != "Shops">>
 <<if $sectors[_i].type != "Brothel">>
@@ -313,251 +350,7 @@
 <</if>>
 <</for>>
 
-<span id="FSshop">
-<<if $arcologies[0].FSSubjugationist != "unset">>
-	<<if $FSPromenade.Subjugationist == 0>>
-		<br>
-		<<link "Upgrade this sector to appeal to Subjugationist establishments">>
-			<<set $cash -= Math.trunc(10000*$upgradeMultiplierArcology), $FSPromenade.Subjugationist = 1, $sectors[$AS].type = "Subjugationist">>
-			<<replace "#FSshop">>
-				Sector remodeled to feature Subjugationist establishments.
-			<</replace>>
-		<</link>>//Costs ¤<<print Math.trunc(10000*$upgradeMultiplierArcology)>>//	
-	<</if>>
-<</if>>
-<<if $arcologies[0].FSSupremacist != "unset">>
-	<<if $FSPromenade.Supremacist == 0>>
-		<br>
-		<<link "Upgrade this sector to appeal to Supremacist establishments">>
-			<<set $cash -= Math.trunc(10000*$upgradeMultiplierArcology), $FSPromenade.Supremacist = 1, $sectors[$AS].type = "Supremacist">>
-			<<replace "#FSshop">>
-				Sector remodeled to feature Supremacist establishments.
-			<</replace>>
-		<</link>>//Costs ¤<<print Math.trunc(10000*$upgradeMultiplierArcology)>>//	
-	<</if>>
-<</if>>
-<<if $arcologies[0].FSGenderRadicalist != "unset">>
-	<<if $FSPromenade.GenderRadicalist == 0>>
-		<br>
-		<<link "Upgrade this sector to appeal to Gender Radicalist establishments">>
-			<<set $cash -= Math.trunc(10000*$upgradeMultiplierArcology), $FSPromenade.GenderRadicalist = 1, $sectors[$AS].type = "Gender Radicalist">>
-			<<replace "#FSshop">>
-				Sector remodeled to feature Gender Radicalist establishments.
-			<</replace>>
-		<</link>>//Costs ¤<<print Math.trunc(10000*$upgradeMultiplierArcology)>>//	
-	<</if>>
-<<elseif $arcologies[0].FSGenderFundamentalist != "unset">>
-	<<if $FSPromenade.GenderFundamentalist == 0>>
-		<br>
-		<<link "Upgrade this sector to appeal to Gender Fundamentalist establishments">>
-			<<set $cash -= Math.trunc(10000*$upgradeMultiplierArcology), $FSPromenade.GenderFundamentalist = 1, $sectors[$AS].type = "Gender Fundamentalist">>
-			<<replace "#FSshop">>
-				Sector remodeled to feature Gender Fundamentalist establishments.
-			<</replace>>
-		<</link>>//Costs ¤<<print Math.trunc(10000*$upgradeMultiplierArcology)>>//		
-	<</if>>
-<</if>>
-<<if $arcologies[0].FSPaternalist != "unset">>
-	<<if $FSPromenade.Paternalist == 0>>
-		<br>
-		<<link "Upgrade this sector to appeal to Paternalist establishments">>
-			<<set $cash -= Math.trunc(10000*$upgradeMultiplierArcology), $FSPromenade.Paternalist = 1, $sectors[$AS].type = "Paternalist">>
-			<<replace "#FSshop">>
-				Sector remodeled to feature Paternalist establishments.
-			<</replace>>
-		<</link>>//Costs ¤<<print Math.trunc(10000*$upgradeMultiplierArcology)>>//	
-	<</if>>
-<<elseif $arcologies[0].FSDegradationist != "unset">>
-	<<if $FSPromenade.Degradationist == 0>>
-		<br>
-		<<link "Upgrade this sector to appeal to Degradationist establishments">>
-			<<set $cash -= Math.trunc(10000*$upgradeMultiplierArcology), $FSPromenade.Degradationist = 1, $sectors[$AS].type = "Degradationist">>
-			<<replace "#FSshop">>
-				Sector remodeled to feature Degradationist establishments.
-			<</replace>>
-		<</link>>//Costs ¤<<print Math.trunc(10000*$upgradeMultiplierArcology)>>//	
-	<</if>>
-<</if>>
-<<if $arcologies[0].FSBodyPurist != "unset">>
-	<<if $FSPromenade.BodyPurist == 0>>
-		<br>
-		<<link "Upgrade this sector to appeal to Body Purist establishments">>
-			<<set $cash -= Math.trunc(10000*$upgradeMultiplierArcology), $FSPromenade.BodyPurist = 1, $sectors[$AS].type = "Body Purist">>
-			<<replace "#FSshop">>
-				Sector remodeled to feature Body Purist establishments.
-			<</replace>>
-		<</link>>//Costs ¤<<print Math.trunc(10000*$upgradeMultiplierArcology)>>//	
-	<</if>>
-<<elseif $arcologies[0].FSTransformationFetishist != "unset">>
-	<<if $FSPromenade.TransformationFetishist == 0>>
-		<br>
-		<<link "Upgrade this sector to appeal to Transformation Fetishist establishments">>
-			<<set $cash -= Math.trunc(10000*$upgradeMultiplierArcology), $FSPromenade.TransformationFetishist = 1, $sectors[$AS].type = "Transformation Fetishist">>
-			<<replace "#FSshop">>
-				Sector remodeled to feature Transformation Fetishist establishments.
-			<</replace>>
-		<</link>>//Costs ¤<<print Math.trunc(10000*$upgradeMultiplierArcology)>>//		
-	<</if>>
-<</if>>
-<<if $arcologies[0].FSYouthPreferentialist != "unset">>
-	<<if $FSPromenade.YouthPreferentialist == 0>>
-		<br>
-		<<link "Upgrade this sector to appeal to Youth Preferentialist establishments">>
-			<<set $cash -= Math.trunc(10000*$upgradeMultiplierArcology), $FSPromenade.YouthPreferentialist = 1, $sectors[$AS].type = "Youth Preferentialist">>
-			<<replace "#FSshop">>
-				Sector remodeled to feature Youth Preferentialist establishments.
-			<</replace>>
-		<</link>>//Costs ¤<<print Math.trunc(10000*$upgradeMultiplierArcology)>>//		
-	<</if>>
-<<elseif $arcologies[0].FSMaturityPreferentialist != "unset">>
-	<<if $FSPromenade.MaturityPreferentialist == 0>>
-		<br>
-		<<link "Upgrade this sector to appeal to Maturity Preferentialist establishments">>
-			<<set $cash -= Math.trunc(10000*$upgradeMultiplierArcology), $FSPromenade.MaturityPreferentialist = 1, $sectors[$AS].type = "Maturity Preferentialist">>
-			<<replace "#FSshop">>
-				Sector remodeled to feature Maturity Preferentialist establishments.
-			<</replace>>
-		<</link>>//Costs ¤<<print Math.trunc(10000*$upgradeMultiplierArcology)>>//	
-	<</if>>
-<</if>>
-<<if $arcologies[0].FSSlimnessEnthusiast != "unset">>
-	<<if $FSPromenade.SlimnessEnthusiast == 0>>
-		<br>
-		<<link "Upgrade this sector to appeal to Slimness Enthusiast establishments">>
-			<<set $cash -= Math.trunc(10000*$upgradeMultiplierArcology), $FSPromenade.SlimnessEnthusiast = 1, $sectors[$AS].type = "Slimness Enthusiast">>
-			<<replace "#FSshop">>
-				Sector remodeled to feature Slimness Enthusiast establishments.
-			<</replace>>
-		<</link>>//Costs ¤<<print Math.trunc(10000*$upgradeMultiplierArcology)>>//	
-	<</if>>
-<<elseif $arcologies[0].FSAssetExpansionist != "unset">>
-	<<if $FSPromenade.AssetExpansionist == 0>>
-		<br>
-		<<link "Upgrade this sector to appeal to Asset Expansionist establishments">>
-			<<set $cash -= Math.trunc(10000*$upgradeMultiplierArcology), $FSPromenade.AssetExpansionist = 1, $sectors[$AS].type = "Asset Expansionist">>
-			<<replace "#FSshop">>
-				Sector remodeled to feature Asset Expansionist establishments.
-			<</replace>>
-		<</link>>//Costs ¤<<print Math.trunc(10000*$upgradeMultiplierArcology)>>//		
-	<</if>>
-<</if>>
-<<if $arcologies[0].FSPastoralist != "unset">>
-	<<if $FSPromenade.Pastoralist == 0>>
-		<br>
-		<<link "Upgrade this sector to appeal to Pastoralist establishments">>
-			<<set $cash -= Math.trunc(10000*$upgradeMultiplierArcology), $FSPromenade.Pastoralist = 1, $sectors[$AS].type = "Pastoralist">>
-			<<replace "#FSshop">>
-				Sector remodeled to feature Pastoralist establishments.
-			<</replace>>
-		<</link>>//Costs ¤<<print Math.trunc(10000*$upgradeMultiplierArcology)>>//	
-	<</if>>
-<<elseif $arcologies[0].FSPhysicalIdealist != "unset">>
-	<<if $FSPromenade.PhysicalIdealist == 0>>
-		<br>
-		<<link "Upgrade this sector to appeal to Physical Idealist establishments">>
-			<<set $cash -= Math.trunc(10000*$upgradeMultiplierArcology), $FSPromenade.PhysicalIdealist = 1, $sectors[$AS].type = "Physical Idealist">>
-			<<replace "#FSshop">>
-				Sector remodeled to feature Physical Idealist establishments.
-			<</replace>>
-		<</link>>//Costs ¤<<print Math.trunc(10000*$upgradeMultiplierArcology)>>//	
-	<</if>>
-<</if>>
-<<if $arcologies[0].FSRepopulationFocus != "unset">>
-	<<if $FSPromenade.Repopulationist == 0>>
-		<br>
-		<<link "Upgrade this sector to appeal to Repopulationist establishments">>
-			<<set $cash -= Math.trunc(10000*$upgradeMultiplierArcology), $FSPromenade.Repopulationist = 1, $sectors[$AS].type = "Repopulationist">>
-			<<replace "#FSshop">>
-				Sector remodeled to feature Repopulationist establishments.
-			<</replace>>
-		<</link>>//Costs ¤<<print Math.trunc(10000*$upgradeMultiplierArcology)>>//	
-	<</if>>
-<<elseif $arcologies[0].FSRestart != "unset">>
-	<<if $FSPromenade.Eugenics == 0>>
-		<br>
-		<<link "Upgrade this sector to appeal to Eugenics establishments">>
-			<<set $cash -= Math.trunc(10000*$upgradeMultiplierArcology), $FSPromenade.Eugenics = 1, $sectors[$AS].type = "Eugenics">>
-			<<replace "#FSshop">>
-				Sector remodeled to feature Eugenics establishments.
-			<</replace>>
-		<</link>>//Costs ¤<<print Math.trunc(10000*$upgradeMultiplierArcology)>>//	
-	<</if>>
-<</if>>
-<<if $arcologies[0].FSChattelReligionist != "unset">>
-	<<if $FSPromenade.ChattelReligionist == 0>>
-		<br>
-		<<link "Upgrade this sector to appeal to Chattel Religionist establishments">>
-			<<set $cash -= Math.trunc(10000*$upgradeMultiplierArcology), $FSPromenade.ChattelReligionist = 1, $sectors[$AS].type = "Chattel Religionist">>
-			<<replace "#FSshop">>
-				Sector remodeled to feature Chattel Religionist establishments.
-			<</replace>>
-		<</link>>//Costs ¤<<print Math.trunc(10000*$upgradeMultiplierArcology)>>//	
-	<</if>>
-<</if>>
-<<if $arcologies[0].FSRomanRevivalist != "unset">>
-	<<if $FSPromenade.RomanRevivalist == 0>>
-		<br>
-		<<link "Upgrade this sector to appeal to Roman Revivalist establishments">>
-			<<set $cash -= Math.trunc(10000*$upgradeMultiplierArcology), $FSPromenade.RomanRevivalist = 1, $sectors[$AS].type = "Roman Revivalist">>
-			<<replace "#FSshop">>
-				Sector remodeled to feature Roman Revivalist establishments.
-			<</replace>>
-		<</link>>//Costs ¤<<print Math.trunc(10000*$upgradeMultiplierArcology)>>//		
-	<</if>>
-<<elseif $arcologies[0].FSAztecRevivalist != "unset">>
-	<<if $FSPromenade.AztecRevivalist == 0>>
-		<br>
-		<<link "Upgrade this sector to appeal to Aztec Revivalist establishments">>
-			<<set $cash -= Math.trunc(10000*$upgradeMultiplierArcology), $FSPromenade.AztecRevivalist = 1, $sectors[$AS].type = "Aztec Revivalist">>
-			<<replace "#FSshop">>
-				Sector remodeled to feature Aztec Revivalist establishments.
-			<</replace>>
-		<</link>>//Costs ¤<<print Math.trunc(10000*$upgradeMultiplierArcology)>>//		
-	<</if>>
-<<elseif $arcologies[0].FSEgyptianRevivalist != "unset">>
-	<<if $FSPromenade.EgyptianRevivalist == 0>>
-		<br>
-		<<link "Upgrade this sector to appeal to Egyptian Revivalist establishments">>
-			<<set $cash -= Math.trunc(10000*$upgradeMultiplierArcology), $FSPromenade.EgyptianRevivalist = 1, $sectors[$AS].type = "Egyptian Revivalist">>
-			<<replace "#FSshop">>
-				Sector remodeled to feature Egyptian Revivalist establishments.
-			<</replace>>
-		<</link>>//Costs ¤<<print Math.trunc(10000*$upgradeMultiplierArcology)>>//	
-	<</if>>
-<<elseif $arcologies[0].FSEdoRevivalist != "unset">>
-	<<if $FSPromenade.EdoRevivalist == 0>>
-		<br>
-		<<link "Upgrade this sector to appeal to Edo Revivalist establishments">>
-			<<set $cash -= Math.trunc(10000*$upgradeMultiplierArcology), $FSPromenade.EdoRevivalist = 1, $sectors[$AS].type = "Edo Revivalist">>
-			<<replace "#FSshop">>
-				Sector remodeled to feature Edo Revivalist establishments.
-			<</replace>>
-		<</link>>//Costs ¤<<print Math.trunc(10000*$upgradeMultiplierArcology)>>//	
-	<</if>>
-<<elseif $arcologies[0].FSArabianRevivalist != "unset">>
-	<<if $FSPromenade.ArabianRevivalist == 0>>
-		<br>
-		<<link "Upgrade this sector to appeal to Arabian Revivalist establishments">>
-			<<set $cash -= Math.trunc(10000*$upgradeMultiplierArcology), $FSPromenade.ArabianRevivalist = 1, $sectors[$AS].type = "Arabian Revivalist">>
-			<<replace "#FSshop">>
-				Sector remodeled to feature Arabian Revivalist establishments.
-			<</replace>>
-		<</link>>//Costs ¤<<print Math.trunc(10000*$upgradeMultiplierArcology)>>//	
-	<</if>>
-<<elseif $arcologies[0].FSChineseRevivalist != "unset">>
-	<<if $FSPromenade.ChineseRevivalist == 0>>
-		<br>
-		<<link "Upgrade this sector to appeal to Chinese Revivalist establishments">>
-			<<set $cash -= Math.trunc(10000*$upgradeMultiplierArcology), $FSPromenade.ChineseRevivalist = 1, $sectors[$AS].type = "Chinese Revivalist">>
-			<<replace "#FSshop">>
-				Sector remodeled to feature Chinese Revivalist establishments.
-			<</replace>>
-		<</link>>//Costs ¤<<print Math.trunc(10000*$upgradeMultiplierArcology)>>//	
-	<</if>>
-<</if>>
-</span>
-*/
-
+/* PA FS bonuses */
 <br><br>
 <<if $PAPublic == 1 && $assistantAppearance != "normal">>
 <<set _seed1 = 0, _seed2 = 0>>
@@ -790,6 +583,90 @@ With her $assistantAppearance appearance, $assistantName's public visibility mes
 <</if>>
 <</if>>
 
+/* Progress overflow into influence */
+<<if $arcologies[0].FSSupremacist > $FSLockinLevel>>
+	<<set $arcologies[0].influenceBonus += $arcologies[0].FSSupremacist - $FSLockinLevel>>
+	<<set $arcologies[0].FSSupremacist = $FSLockinLevel>>
+<</if>>
+<<if $arcologies[0].FSSubjugationist > $FSLockinLevel>>
+	<<set $arcologies[0].influenceBonus += $arcologies[0].FSSubjugationist - $FSLockinLevel>>
+	<<set $arcologies[0].FSSubjugationist = $FSLockinLevel>>
+<</if>>
+<<if $arcologies[0].FSGenderRadicalist > $FSLockinLevel>>
+	<<set $arcologies[0].influenceBonus += $arcologies[0].FSGenderRadicalist - $FSLockinLevel>>
+	<<set $arcologies[0].FSGenderRadicalist = $FSLockinLevel>>
+<<elseif $arcologies[0].FSGenderFundamentalist > $FSLockinLevel>>
+	<<set $arcologies[0].influenceBonus += $arcologies[0].FSGenderFundamentalist - $FSLockinLevel>>
+	<<set $arcologies[0].FSGenderFundamentalist = $FSLockinLevel>>
+<</if>>
+<<if $arcologies[0].FSPaternalist > $FSLockinLevel>>
+	<<set $arcologies[0].influenceBonus += $arcologies[0].FSPaternalist - $FSLockinLevel>>
+	<<set $arcologies[0].FSPaternalist = $FSLockinLevel>>
+<<elseif $arcologies[0].FSPaternalist != "unset">>
+<<set $arcologies[0].FSPaternalist += _broadProgress>>
+<<elseif $arcologies[0].FSDegradationist > $FSLockinLevel>>
+	<<set $arcologies[0].influenceBonus += $arcologies[0].FSDegradationist - $FSLockinLevel>>
+	<<set $arcologies[0].FSDegradationist = $FSLockinLevel>>
+<</if>>
+<<if $arcologies[0].FSBodyPurist > $FSLockinLevel>>
+	<<set $arcologies[0].influenceBonus += $arcologies[0].FSBodyPurist - $FSLockinLevel>>
+	<<set $arcologies[0].FSBodyPurist = $FSLockinLevel>>
+<<elseif $arcologies[0].FSTransformationFetishist > $FSLockinLevel>>
+	<<set $arcologies[0].influenceBonus += $arcologies[0].FSTransformationFetishist - $FSLockinLevel>>
+	<<set $arcologies[0].FSTransformationFetishist = $FSLockinLevel>>
+<</if>>
+<<if $arcologies[0].FSPastoralist > $FSLockinLevel>>
+	<<set $arcologies[0].influenceBonus += $arcologies[0].FSPastoralist - $FSLockinLevel>>
+	<<set $arcologies[0].FSPastoralist = $FSLockinLevel>>
+<<elseif $arcologies[0].FSPhysicalIdealist > $FSLockinLevel>>
+	<<set $arcologies[0].influenceBonus += $arcologies[0].FSPhysicalIdealist - $FSLockinLevel>>
+	<<set $arcologies[0].FSPhysicalIdealist = $FSLockinLevel>>
+<</if>>
+<<if $arcologies[0].FSMaturityPreferentialist > $FSLockinLevel>>
+	<<set $arcologies[0].influenceBonus += $arcologies[0].FSMaturityPreferentialist - $FSLockinLevel>>
+	<<set $arcologies[0].FSMaturityPreferentialist = $FSLockinLevel>>
+<<elseif $arcologies[0].FSYouthPreferentialist > $FSLockinLevel>>
+	<<set $arcologies[0].influenceBonus += $arcologies[0].FSYouthPreferentialist - $FSLockinLevel>>
+	<<set $arcologies[0].FSYouthPreferentialist = $FSLockinLevel>>
+<</if>>
+<<if $arcologies[0].FSSlimnessEnthusiast > $FSLockinLevel>>
+	<<set $arcologies[0].influenceBonus += $arcologies[0].FSSlimnessEnthusiast - $FSLockinLevel>>
+	<<set $arcologies[0].FSSlimnessEnthusiast = $FSLockinLevel>>
+<<elseif $arcologies[0].FSAssetExpansionist > $FSLockinLevel>>
+	<<set $arcologies[0].influenceBonus += $arcologies[0].FSAssetExpansionist - $FSLockinLevel>>
+	<<set $arcologies[0].FSAssetExpansionist = $FSLockinLevel>>
+<</if>>
+<<if $arcologies[0].FSChattelReligionist > $FSLockinLevel>>
+	<<set $arcologies[0].influenceBonus += $arcologies[0].FSChattelReligionist - $FSLockinLevel>>
+	<<set $arcologies[0].FSChattelReligionist = $FSLockinLevel>>
+<</if>>
+<<if $arcologies[0].FSRomanRevivalist > $FSLockinLevel>>
+	<<set $arcologies[0].influenceBonus += $arcologies[0].FSRomanRevivalist - $FSLockinLevel>>
+	<<set $arcologies[0].FSRomanRevivalist = $FSLockinLevel>>
+<<elseif $arcologies[0].FSAztecRevivalist > $FSLockinLevel>>
+	<<set $arcologies[0].influenceBonus += $arcologies[0].FSAztecRevivalist - $FSLockinLevel>>
+	<<set $arcologies[0].FSAztecRevivalist = $FSLockinLevel>>
+<<elseif $arcologies[0].FSEgyptianRevivalist > $FSLockinLevel>>
+	<<set $arcologies[0].influenceBonus += $arcologies[0].FSEgyptianRevivalist - $FSLockinLevel>>
+	<<set $arcologies[0].FSEgyptianRevivalist = $FSLockinLevel>>
+<<elseif $arcologies[0].FSEdoRevivalist > $FSLockinLevel>>
+	<<set $arcologies[0].influenceBonus += $arcologies[0].FSEdoRevivalist - $FSLockinLevel>>
+	<<set $arcologies[0].FSEdoRevivalist = $FSLockinLevel>>
+<<elseif $arcologies[0].FSArabianRevivalist > $FSLockinLevel>>
+	<<set $arcologies[0].influenceBonus += $arcologies[0].FSArabianRevivalist - $FSLockinLevel>>
+	<<set $arcologies[0].FSArabianRevivalist = $FSLockinLevel>>
+<<elseif $arcologies[0].FSChineseRevivalist > $FSLockinLevel>>
+	<<set $arcologies[0].influenceBonus += $arcologies[0].FSChineseRevivalist - $FSLockinLevel>>
+	<<set $arcologies[0].FSChineseRevivalist = $FSLockinLevel>>
+<</if>>
+<<if $arcologies[0].FSRepopulationFocus > $FSLockinLevel>>
+	<<set $arcologies[0].influenceBonus += $arcologies[0].FSRepopulationFocus - $FSLockinLevel>>
+	<<set $arcologies[0].FSRepopulationFocus = $FSLockinLevel>>
+<<elseif $arcologies[0].FSRestart > $FSLockinLevel>>
+	<<set $arcologies[0].influenceBonus += $arcologies[0].FSRestart - $FSLockinLevel>>
+	<<set $arcologies[0].FSRestart = $FSLockinLevel>>
+<</if>>
+
 <<if ($arcologies[0].FSSupremacistSMR + $arcologies[0].FSSubjugationistSMR + $arcologies[0].FSGenderRadicalistSMR + $arcologies[0].FSGenderFundamentalistSMR + $arcologies[0].FSPaternalistSMR + $arcologies[0].FSDegradationistSMR + $arcologies[0].FSBodyPuristSMR + $arcologies[0].FSTransformationFetishistSMR + $arcologies[0].FSYouthPreferentialistSMR + $arcologies[0].FSMaturityPreferentialistSMR + $arcologies[0].FSSlimnessEnthusiastSMR + $arcologies[0].FSAssetExpansionistSMR + $arcologies[0].FSPastoralistSMR + $arcologies[0].FSPhysicalIdealistSMR + $arcologies[0].FSChattelReligionistSMR + $arcologies[0].FSRomanRevivalistSMR + $arcologies[0].FSAztecRevivalistSMR + $arcologies[0].FSEgyptianRevivalistSMR + $arcologies[0].FSEdoRevivalistSMR + $arcologies[0].FSRepopulationFocusSMR + $arcologies[0].FSRestartSMR + $arcologies[0].FSArabianRevivalistSMR + $arcologies[0].FSChineseRevivalistSMR) > 0>>
 	The slave market regulations help ensure the arcology's slaves fit within its society.
 <</if>>
@@ -854,60 +731,60 @@ With her $assistantAppearance appearance, $assistantName's public visibility mes
 
 <<if $arcologies[0].FSRepopulationFocus != "unset">>
 <<if $arcologies[0].FSRepopulationFocus < 0>>
-  <<set $arcologies[0].FSRepopulationFocus = "unset">><<set $FSCredits += 1>>
-  <<set $arcologies[0].FSRepopulationFocusSMR = 0, $arcologies[0].FSRepopulationFocusLaw = 0>>
-  <<if $assistantFSAppearance == "repopulation focus">><<set $assistantFSAppearance = "default">><</if>>
-  <<ClearFacilityDecorations>>
-  @@.red;One of your future society projects has failed:@@ your citizens were repelled from your idea more than they were attracted to it. @@.yellow;You may select another option, or elect to try again.@@
+	<<set $arcologies[0].FSRepopulationFocus = "unset">><<set $FSCredits += 1>>
+	<<set $arcologies[0].FSRepopulationFocusSMR = 0, $arcologies[0].FSRepopulationFocusLaw = 0>>
+	<<if $assistantFSAppearance == "repopulation focus">><<set $assistantFSAppearance = "default">><</if>>
+	<<ClearFacilityDecorations>>
+	@@.red;One of your future society projects has failed:@@ your citizens were repelled from your idea more than they were attracted to it. @@.yellow;You may select another option, or elect to try again.@@
 <<elseif $arcologies[0].FSRepopulationFocus > $arcologies[0].FSRepopulationFocusDecoration>>
-  <<set $arcologies[0].FSRepopulationFocus = $arcologies[0].FSRepopulationFocusDecoration>>
+	<<set $arcologies[0].FSRepopulationFocus = $arcologies[0].FSRepopulationFocusDecoration>>
 <</if>>
 <<if $arcologies[0].FSRepopulationFocus >= $FSLockinLevel>>
-  $arcologies[0].name believes implicitly that all women should be pregnant.
-  <<set $independenceDay = 1>>
+	$arcologies[0].name believes implicitly that all women should be pregnant.
+	<<set $independenceDay = 1>>
 <<elseif $arcologies[0].FSRepopulationFocus >= $FSLockinLevel*0.6>>
-  $arcologies[0].name agrees strongly that all women should be pregnant.
-  <<set $independenceDay = 1>>
+	$arcologies[0].name agrees strongly that all women should be pregnant.
+	<<set $independenceDay = 1>>
 <<elseif $arcologies[0].FSRepopulationFocus >= $FSLockinLevel*0.3>>
-  $arcologies[0].name is sympathetic to the idea that all women should be pregnant.
+	$arcologies[0].name is sympathetic to the idea that all women should be pregnant.
 <<elseif $arcologies[0].FSRepopulationFocus != "unset">>
-  $arcologies[0].name is unconvinced that all women should be pregnant.
+	$arcologies[0].name is unconvinced that all women should be pregnant.
 <</if>>
 <<if $arcologies[0].FSRepopulationFocusDecoration < $FSLockinLevel>>
 <<if $arcologies[0].FSRepopulationFocus == $arcologies[0].FSRepopulationFocusDecoration>>
-  @@.yellow;Your societal development in this direction is being limited by $arcologies[0].name's lack of customization to support it.@@
+	@@.yellow;Your societal development in this direction is being limited by $arcologies[0].name's lack of customization to support it.@@
 <<elseif $arcologies[0].FSRepopulationFocusSMR == 1>>
-  <<set $arcologies[0].FSRepopulationFocus += 0.1*$FSSingleSlaveRep>>
+	<<set $arcologies[0].FSRepopulationFocus += 0.1*$FSSingleSlaveRep>>
 <</if>>
 <</if>>
 <</if>>
 
 <<if $arcologies[0].FSRestart != "unset">>
 <<if $arcologies[0].FSRestart < 0 && $arcologies[0].FSRestartDecoration != 100>>
-  <<set $arcologies[0].FSRestart = "unset">><<set $FSCredits += 1>>
-  <<set $arcologies[0].FSRestartSMR = 0, $arcologies[0].FSRestartLaw = 0>>
-  <<if $assistantFSAppearance == "eugenics">><<set $assistantFSAppearance = "default">><</if>>
-  <<ClearFacilityDecorations>>
-  @@.red;One of your future society projects has failed:@@ your citizens were repelled from your idea more than they were attracted to it. @@.yellow;You may select another option, or elect to try again.@@
+	<<set $arcologies[0].FSRestart = "unset">><<set $FSCredits += 1>>
+	<<set $arcologies[0].FSRestartSMR = 0, $arcologies[0].FSRestartLaw = 0>>
+	<<if $assistantFSAppearance == "eugenics">><<set $assistantFSAppearance = "default">><</if>>
+	<<ClearFacilityDecorations>>
+	@@.red;One of your future society projects has failed:@@ your citizens were repelled from your idea more than they were attracted to it. @@.yellow;You may select another option, or elect to try again.@@
 <<elseif $arcologies[0].FSRestart > $arcologies[0].FSRestartDecoration>>
-  <<set $arcologies[0].FSRestart = $arcologies[0].FSRestartDecoration>>
+	<<set $arcologies[0].FSRestart = $arcologies[0].FSRestartDecoration>>
 <</if>>
 <<if $arcologies[0].FSRestart >= $FSLockinLevel>>
-  $arcologies[0].name believes implicitly that only the elite should reproduce.
-  <<set $independenceDay = 1>>
+	$arcologies[0].name believes implicitly that only the elite should reproduce.
+	<<set $independenceDay = 1>>
 <<elseif $arcologies[0].FSRestart >= $FSLockinLevel*0.6>>
-  $arcologies[0].name agrees strongly that only the elite should reproduce.
-  <<set $independenceDay = 1>>
+	$arcologies[0].name agrees strongly that only the elite should reproduce.
+	<<set $independenceDay = 1>>
 <<elseif $arcologies[0].FSRestart >= $FSLockinLevel*0.3>>
-  $arcologies[0].name is sympathetic to the idea only the elite should reproduce.
+	$arcologies[0].name is sympathetic to the idea only the elite should reproduce.
 <<elseif $arcologies[0].FSRestart != "unset">>
-  $arcologies[0].name is unconvinced that only the elite should reproduce.
+	$arcologies[0].name is unconvinced that only the elite should reproduce.
 <</if>>
 <<if $arcologies[0].FSRestartDecoration < $FSLockinLevel>>
 <<if $arcologies[0].FSRestart == $arcologies[0].FSRestartDecoration>>
-  @@.yellow;Your societal development in this direction is being limited by $arcologies[0].name's lack of customization to support it.@@
+	@@.yellow;Your societal development in this direction is being limited by $arcologies[0].name's lack of customization to support it.@@
 <<elseif $arcologies[0].FSRestartSMR == 1>>
-  <<set $arcologies[0].FSRestart += 0.1*$FSSingleSlaveRep>>
+	<<set $arcologies[0].FSRestart += 0.1*$FSSingleSlaveRep>>
 <</if>>
 <</if>>
 <</if>>
diff --git a/src/uncategorized/futureSocities.tw b/src/uncategorized/futureSocities.tw
index 528780e1301..36552b1c0ac 100644
--- a/src/uncategorized/futureSocities.tw
+++ b/src/uncategorized/futureSocities.tw
@@ -430,7 +430,7 @@ possible societal customizations.
 <<set $FSSpending = Number($FSSpending) || 0>>
 <<set $FSSpending = Math.clamp(Math.trunc($FSSpending/1000)*1000, 0, 10000)>>
 You are spending ¤$FSSpending each week to support your societal goals.
-<<textbox $FSSpending $FSSpending "Future Societies">>
+<<textbox "$FSSpending" $FSSpending "Future Society">>
 <<if _warn>>//Spending more than ¤10000 weekly will be counterproductive//<</if>>
 
 <br>
diff --git a/src/uncategorized/nextWeek.tw b/src/uncategorized/nextWeek.tw
index 53c93cac030..bfdf9319efa 100644
--- a/src/uncategorized/nextWeek.tw
+++ b/src/uncategorized/nextWeek.tw
@@ -25,7 +25,7 @@
 <<set $averageTrust = 0, $averageDevotion = 0, _slavesContributing = 0, _OldHG = -1, _NewHG = -1, _SL = $slaves.length>>
 <<for _i = 0; _i < _SL; _i++>>
 	<<if $seeAge != 0>>
-	<<set $slaves[_i].birthWeek++>
+	<<set $slaves[_i].birthWeek++>>
 		<<if $slaves[_i].birthWeek >= 52>>
 			<<set $slaves[_i].birthWeek = 0>>
 			<<if $seeAge == 1>>
@@ -205,10 +205,10 @@
 
 /% These are variables that either should be made into _temp vars or should be Zeroed out once done with them instead of here. This can also interfere with debugging or hide NaN's as zeroing things out would clear a NaN. Also could stop from NaN's getting worse? %/
 /% Integer and float variables. No real need to zero them out but doesn't hurt to have them in a known state, though this might mask variables NaN'ing out. Takes up the least amount of Memory besides a "" string. %/
-<<set $averageProsperity = 0, $beauty = 0, $beautyMultiplier = 0, $boobsID = -1, $boobsInterestTargetID = -1, $brideSlave = -1, $buttslutID = -1, $buttslutInterestTargetID = -1, $cumslutID = -1, $FResult = 0, $groomSlave = -1, $humiliationID = -1, $humiliationInterestTargetID = -1, $i = 0, $I = 0, $individualCosts = 0, $influenceBonus = 0, $j = 0, $masochistID = -1, $masochistInterestTargetID = -1, $opinion = 0, $r = 0, $subID = -1, $submissiveInterestTargetID = -1, $weddingSlaveID = -1, $x = 0>>
+<<set $averageProsperity = 0, $beauty = 0, $beautyMultiplier = 0, $boobsID = -1, $boobsInterestTargetID = -1, $brideSlave = -1, $buttslutID = -1, $buttslutInterestTargetID = -1, $cumslutID = -1, $FResult = 0, $groomSlave = -1, $humiliationID = -1, $humiliationInterestTargetID = -1, $i = 0, $individualCosts = 0, $influenceBonus = 0, $j = 0, $masochistID = -1, $masochistInterestTargetID = -1, $opinion = 0, $r = 0, $subID = -1, $submissiveInterestTargetID = -1, $weddingSlaveID = -1, $x = 0>>
 
 /% Other arrays %/
-<<set $events = [], $RESSevent = [], $RESSTRevent = [], $RETSevent = [], $RECIevent = [], $RecETSevent = [], $REFIevent = [], $PESSevent = [], $PETSevent = [], $FSAcquisitionEvents = [], $FSNonconformistEvents = [], $nurseMolestationSubIDs = [], $qualifiedNicknames = [], $REAnalCowgirlSubIDs = [], $REButtholeCheckinIDs = [], $recruit = [], $RETasteTestSubIDs = [], $qualifiedFS = [], $recruitedType = []>>
+<<set $events = [], $RESSevent = [], $RESSTRevent = [], $RETSevent = [], $RECIevent = [], $RecETSevent = [], $REFIevent = [], $PESSevent = [], $PETSevent = [], $FSAcquisitionEvents = [], $FSNonconformistEvents = [], $qualifiedNicknames = [], $REAnalCowgirlSubIDs = [], $REButtholeCheckinIDs = [], $recruit = [], $RETasteTestSubIDs = [], $qualifiedFS = []>>
 
 /% Slave Objects using 0 instead of null. Second most memory eaten up. %/
 <<set $activeSlave = 0, $displaySlave = 0, $domSlave = 0, $eventSlave = 0, $REBoobCollisionSub = 0, $REIfYouEnjoyItSub = 0, $RERelationshipSlave = 0, $RESadisticDescriptionSub = 0, $REShowerForceSub = 0, $slaveWithoutBonuses = 0, $subSlave = 0, $milkTap = 0, $relation = 0>>
diff --git a/src/uncategorized/options.tw b/src/uncategorized/options.tw
index cb095b211d5..9e706bc4004 100644
--- a/src/uncategorized/options.tw
+++ b/src/uncategorized/options.tw
@@ -1,6 +1,6 @@
 :: Options [nobr]
 
-<<set $showEncyclopedia = 0>>
+<<set $showEncyclopedia = 0, $nextButton = "Back", $nextLink = "Main">>
 
 This save was created using FC version $ver build $releaseID.
 
diff --git a/src/uncategorized/randomNonindividualEvent.tw b/src/uncategorized/randomNonindividualEvent.tw
index b9d395f6045..08953354252 100644
--- a/src/uncategorized/randomNonindividualEvent.tw
+++ b/src/uncategorized/randomNonindividualEvent.tw
@@ -76,225 +76,78 @@
 
 <<if $familyTesting == 0>>
 
-<<set $used = 0>>
-<<for $i = 0; $i < $slaves.length; $i++>>
-<<if ($used == 0)>>
-<<if ($slaves[$i].relation == "mother")>>
-<<if ($slaves[$i].relationshipTarget != $slaves[$i].relationTarget)>>
-<<if ($slaves[$i].devotion > 50)>>
-	<<set $mother = $slaves[$i]>>
-	<<for $j = 0; $j < $slaves.length; $j++>>
-	<<if $slaves[$j].ID == $mother.relationTarget>>
-		<<set $daughter = $slaves[$j]>>
-		<<break>>
-	<</if>>
-	<</for>>
-	<<if ($daughter.devotion > 50)>>
-	<<if canWalk($daughter)>>
-		<<if canWalk($mother)>>
-		<<if ($daughter.anus != 0)>>
-			<<if ($mother.anus != 0)>>
-			<<set $events.push("RE devoted mother daughter")>>
-			<<set $used = 1>>
-			<</if>>
-		<</if>>
-		<</if>>
-	<</if>>
+<<set $devMother = $slaves.find(function(s) { return s.relation == "mother" && s.devotion > 50 && s.anus != 0 && s.relationshipTarget != s.relationTarget && canWalk(s); })>>
+<<if (def $devMother)>>
+	<<set $devDaughter = $slaves.find(function(s) { return s.ID == $devMother.relationTarget && s.devotion > 50 && s.anus != 0 && canWalk(s); })>>
+	<<if (def $devDaughter)>>
+		<<set $events.push("RE devoted mother daughter")>>
 	<</if>>
 <</if>>
-<</if>>
-<</if>>
-<</if>>
-<</for>>
 
-<<set $used = 0>>
-<<for $i = 0; $i < $slaves.length; $i++>>
-<<if ($used == 0)>>
-<<if ($slaves[$i].relation == "mother")>>
-<<if ($slaves[$i].relationshipTarget != $slaves[$i].relationTarget)>>
-<<if ($slaves[$i].devotion < 10)>>
-	<<set $mother = $slaves[$i]>>
-	<<for $j = 0; $j < $slaves.length; $j++>>
-	<<if $slaves[$j].ID == $mother.relationTarget>>
-		<<set $daughter = $slaves[$j]>>
-		<<break>>
+<<set $mother = $slaves.find(function(s) { return s.relation == "mother" && s.devotion < 10 && s.anus != 0 && s.relationshipTarget != s.relationTarget && canWalk(s); })>>
+<<if (def $mother)>>
+	<<set $daughter = $slaves.find(function(s) { return s.ID == $mother.relationTarget && s.devotion < 10 && s.anus != 0 && canWalk(s); })>>
+	<<if (def $daughter)>>
+		<<set $events.push("RE resistant mother daughter")>>
 	<</if>>
-	<</for>>
-	<<if ($daughter.devotion < 10)>>
-	<<if canWalk($daughter)>>
-		<<if canWalk($mother)>>
-		<<if ($daughter.anus != 0)>>
-			<<if ($mother.anus != 0)>>
-			<<set $events.push("RE resistant mother daughter")>>
-			<<set $used = 1>>
-			<</if>>
-		<</if>>
-		<</if>>
-	<</if>>
-	<</if>>
-<</if>>
 <</if>>
-<</if>>
-<</if>>
-<</for>>
 
-<<set $used = 0>>
-<<for $i = 0; $i < $slaves.length; $i++>>
-<<if ($used == 0)>>
-<<if ($slaves[$i].relation == "sister")>>
-<<if ($slaves[$i].dick == 1)>>
-	<<set $youngerSister = $slaves[$i]>>
-	<<for $j = 0; $j < $slaves.length; $j++>>
-		<<if $slaves[$j].ID == $slaves[$i].relationTarget>>
-			<<set $olderSister = $slaves[$j]>>
-			<<break>>
-		<</if>>
-	<</for>>
-<<if ($olderSister.anus == 0)>>
-<<if ($youngerSister.devotion > ($olderSister.devotion+20))>>
-<<set $events.push("RE sibling revenge")>>
-<<set $used = 1>>
-<</if>>
-<</if>>
-<</if>>
-<</if>>
+<<set $youngerSister = $slaves.find(function(s) { return s.relation == "sister" && canPenetrate(s); })>>
+<<if (def $youngerSister)>>
+	<<set $olderSister = $slaves.find(function(s) { return s.ID == $youngerSister.relationTarget && s.anus == 0 && $youngerSister.devotion > (s.devotion+20); })>>
+	<<if (def $olderSister)>>
+		<<set $events.push("RE sibling revenge")>>
+	<</if>>
 <</if>>
-<</for>>
 
-<<set $used = 0>>
-<<for $i = 0; $i < $slaves.length; $i++>>
-<<if ($used == 0)>>
-<<if ($slaves[$i].relation == "twin")>>
-	<<set $alphaTwin = $slaves[$i]>>
-	<<for $j = 0; $j < $slaves.length; $j++>>
-		<<if $slaves[$j].ID == $slaves[$i].relationTarget>>
-			<<set $betaTwin = $slaves[$j]>>
-			<<break>>
-		<</if>>
-	<</for>>
-<<if ($alphaTwin.anus > 0)>>
-<<if ($betaTwin.anus > 0)>>
-<<if ($alphaTwin.devotion > 50)>>
-<<if ($betaTwin.devotion > 50)>>
-<<if canWalk($alphaTwin)>>
-<<if canWalk($betaTwin)>>
-<<set $events.push("RE devoted twins")>>
-<<set $used = 1>>
-<</if>>
-<</if>>
-<</if>>
-<</if>>
-<</if>>
-<</if>>
-<</if>>
+<<set $alphaTwin = $slaves.find(function(s) { return s.relation == "twin" && s.anus > 0 && s.devotion > 50 && canWalk(s); })>>
+<<if (def $alphaTwin)>>
+	<<set $betaTwin = $slaves.find(function(s) { return s.ID == $alphaTwin.relationTarget && s.anus > 0 && s.devotion > 50 && canWalk(s); })>>
+	<<if (def $betaTwin)>>
+		<<set $events.push("RE devoted twins")>>
+	<</if>>
 <</if>>
-<</for>>
 
-<<else>>
+<<else>> /* $familyTesting == 1 */
 
-<<set $used = 0>>
-<<for $i = 0; $i < $slaves.length; $i++>>
-<<if ($used == 0)>>
-<<if ($slaves[$i].daughters > 0)>>
-<<if ($slaves[$i].devotion > 50)>>
-	<<set $mother = $slaves[$i]>>
-	<<set $daughter = randomDaughter($slaves[$i])>>
-	<<if ($daughter.devotion > 50)>>
-	<<if canWalk($daughter)>>
-		<<if canWalk($mother)>>
-		<<if ($daughter.anus != 0)>>
-			<<if ($mother.anus != 0)>>
-			<<set $events.push("RE devoted mother daughter")>>
-			<<set $used = 1>>
-			<</if>>
-		<</if>>
-		<</if>>
-	<</if>>
+<<set $devMother = $slaves.find(function(s) { return s.daughters > 0 && s.devotion > 50 && s.anus != 0 && canWalk(s); })>>
+<<if (def $devMother)>>
+	<<set $devDaughter = randomDaughter($devMother)>>
+	<<if (def $devDaughter) && ($devDaughter.devotion > 50) && ($devDaughter.anus != 0) && canWalk($devDaughter)>>
+		<<set $events.push("RE devoted mother daughter")>>
 	<</if>>
 <</if>>
-<</if>>
-<</if>>
-<</for>>
 
-<<set $used = 0>>
-<<for $i = 0; $i < $slaves.length; $i++>>
-<<if ($used == 0)>>
-<<if ($slaves[$i].daughters > 0)>>
-<<if ($slaves[$i].devotion > 50)>>
-	<<set $mother = $slaves[$i]>>
-	<<set $daughter = randomDaughter($slaves[$i])>>
-	<<if ($daughter.devotion < 10)>>
-	<<if canWalk($daughter)>>
-		<<if canWalk($mother)>>
-		<<if ($daughter.anus != 0)>>
-			<<if ($mother.anus != 0)>>
-			<<set $events.push("RE resistant mother daughter")>>
-			<<set $used = 1>>
-			<</if>>
-		<</if>>
-		<</if>>
-	<</if>>
+<<set $mother = $slaves.find(function(s) { return s.daughters > 0 && s.devotion < 10 && s.anus != 0 && canWalk(s); })>>
+<<if (def $mother)>>
+	<<set $daughter = randomDaughter($mother)>>
+	<<if (def $daughter) && ($daughter.devotion < 10) && ($daughter.anus != 0) && canWalk($daughter)>>
+		<<set $events.push("RE resistant mother daughter")>>
 	<</if>>
 <</if>>
-<</if>>
-<</if>>
-<</for>>
 
-<<set $used = 0>>
-<<for $i = 0; $i < $slaves.length; $i++>>
-<<if ($used == 0)>>
-<<if ($slaves[$i].sisters > 0)>>
-<<if ($slaves[$i].dick == 1)>>
-	<<set $youngerSister = $slaves[$i]>>
-	<<set $olderSister = randomSister($slaves[$i])>>
-<<if ($olderSister.anus == 0)>>
-<<if ($youngerSister.devotion > ($olderSister.devotion+20))>>
-<<set $events.push("RE sibling revenge")>>
-<<set $used = 1>>
-<</if>>
-<</if>>
-<</if>>
-<</if>>
+<<set $youngerSister = $slaves.find(function(s) { return s.sisters > 0 && canPenetrate(s); })>>
+<<if (def $youngerSister)>>
+	<<set $olderSister = randomSister($youngerSister)>>
+	<<if (def $olderSister) && ($olderSister.anus == 0) && $youngerSister.devotion > ($olderSister.devotion+20)>>
+		<<set $events.push("RE sibling revenge")>>
+	<</if>>
 <</if>>
-<</for>>
 
-<<set $used = 0>>
-<<for $i = 0; $i < $slaves.length; $i++>>
-<<if ($used == 0)>>
-<<if ($slaves[$i].sisters > 0)>>
-	<<set $alphaTwin = $slaves[$i]>>
-	<<set $betaTwin = randomTwinSister($slaves[$i])>>
-<<if def $betaTwin>>
-<<if ($alphaTwin.anus > 0)>>
-<<if ($betaTwin.anus > 0)>>
-<<if ($alphaTwin.devotion > 50)>>
-<<if ($betaTwin.devotion > 50)>>
-<<if canWalk($alphaTwin)>>
-<<if canWalk($betaTwin)>>
-<<set $events.push("RE devoted twins")>>
-<<set $used = 1>>
-<</if>>
-<</if>>
-<</if>>
-<</if>>
-<</if>>
-<</if>>
-<</if>>
-<</if>>
+<<set $alphaTwin = $slaves.find(function(s) { return s.sisters > 0 && s.anus > 0 && s.devotion > 50 && canWalk(s); })>>
+<<if (def $alphaTwin)>>
+	<<set $betaTwin = randomTwinSister($alphaTwin)>>
+	<<if (def $betaTwin) && ($betaTwin.anus > 0) && ($betaTwin.devotion > 50) && canWalk($betaTwin)>>
+		<<set $events.push("RE devoted twins")>>
+	<</if>>
 <</if>>
-<</for>>
 
 <</if>>  /* closes extended family mode */
 
 /* Fetish Interest Events */
 
-<<set $buttslutID = 0>>
-<<set $cumslutID = 0>>
-<<set $humiliationID = 0>>
-<<set $subID = 0>>
-<<set $pregnancyID = 0>>
-<<set $masochistID = 0>>
-<<set $boobsID = 0>>
+<<set $buttslutID = 0, $cumslutID = 0, $humiliationID = 0, $subID = 0, $pregnancyID = 0, $masochistID = 0, $boobsID = 0>>
+
 <<for $i = 0; $i < $slaves.length; $i++>>
 <<if ($slaves[$i].fetishKnown == 1)>>
 <<if ($slaves[$i].fetishStrength > 95)>>
@@ -466,32 +319,31 @@
 	<</if>>
 	<</if>>
 
-	<<if ($HeadGirl.dick > 0)>>
-	<<if ($HeadGirl.hormones < 1)>>
-	<<if ($slaves[$slaves.length-1].devotion <= 20)>>
-		<<set $PESSevent.push("headgirl dickgirl")>>
-	<</if>>
-	<</if>>
-	<<if ($universalRulesImpregnation == "HG")>>
-	<<if ($HeadGirl.devotion > 95)>>
-	<<if ($HeadGirl.balls > 0)>>
-		<<set $PESSevent.push("worshipful impregnatrix")>>
-	<</if>>
-	<</if>>
-	<</if>>
+	<<set $j = $slaves.findIndex(function(s) { return s.ID != $HeadGirl.ID && s.devotion < 20; })>>
+
+	<<if canPenetrate($HeadGirl) && ($HeadGirl.balls > 0)>>
+		<<if $j != -1>>
+			<<set $PESSevent.push("headgirl dickgirl")>> /* requires valid $slaves[$j] */
+		<</if>>
+
+		<<if ($universalRulesImpregnation == "HG")>>
+		<<if ($HeadGirl.devotion > 95)>>
+			<<set $PESSevent.push("worshipful impregnatrix")>> /* does not use $j */
+		<</if>>
+		<</if>>
 	<</if>>
 
 	<<if ($HeadGirl.devotion > 95)>>
-	<<if ($slaves.length > 4)>>
-		<<set $PESSevent.push("loving headgirl")>>
-	<</if>>
-	<<if ($week > 20)>>
-	<<if ($HeadGirl.trust > 95)>>
-	<<if ($HeadGirl.intelligence > 1)>>
-		<<set $PESSevent.push("worried headgirl")>>
-	<</if>>
-	<</if>>
-	<</if>>
+		<<if ($slaves.length > 4)>>
+			<<set $PESSevent.push("loving headgirl")>> /* uses $j if valid, but not required */
+		<</if>>
+		<<if ($week > 20)>>
+		<<if ($HeadGirl.trust > 95)>>
+		<<if ($HeadGirl.intelligence > 1)>>
+			<<set $PESSevent.push("worried headgirl")>> /* does not use $j */
+		<</if>>
+		<</if>>
+		<</if>>
 	<</if>>
 
 <</if>>
@@ -507,16 +359,10 @@
 	<<if ($Bodyguard.relationship == 0)>>
 	<<if ($Bodyguard.relationshipRules == "permissive")>>
 	<<if ($Bodyguard.fetish != "mindbroken")>>
-	<<set $seed = 0>>
-	<<for $j = 0; $j < $slaves.length; $j++>>
-	<<if ($slaves[$j].relationship == 0)>>
-		<<set $seed = 1>>
-		<<break>>
-	<</if>>
-	<</for>>
-	<<if ($seed == 1)>>
-		<<set $events.push("PE lonely bodyguard")>>
-	<</if>>
+		<<set $j = $slaves.findIndex(function(s) { return s.ID != $Bodyguard.ID && s.relationship == 0 && s.devotion > -20; })>>
+		<<if $j != -1>>
+			<<set $events.push("PE lonely bodyguard")>> /* requires valid $slaves[$j] */
+		<</if>>
 	<</if>>
 	<</if>>
 	<</if>>
@@ -529,99 +375,46 @@
 
 <</if>>
 
-<<if ($Milkmaid != 0)>>
-
-	<<if ($dairySlaves >= 5)>>
-	<<if ($Milkmaid.health >= 70)>>
+<<if ($Milkmaid != 0) && ($dairySlaves >= 5) && ($Milkmaid.health >= 70)>>
 	<<if ($Milkmaid.muscles > 5)>>
 		<<set $PESSevent.push("tired milkmaid")>>
 	<</if>>
 	<<if canAchieveErection($Milkmaid)>>
 		<<set $PESSevent.push("tired collectrix")>>
 	<</if>>
-	<</if>>
-	<</if>>
-
 <</if>>
 
-<<if ($Stewardess != 0)>>
-
-	<<if ($servantsQuartersSlaves >= 1)>>
-	<<if ($Stewardess.actualAge >= 35)>>
-		<<set $PETSevent.push("stewardess beating")>>
-	<</if>>
-	<</if>>
-
+<<if ($Stewardess != 0) && ($servantsQuartersSlaves > 0) && ($Stewardess.actualAge >= 35)>>
+	<<set $PETSevent.push("stewardess beating")>>
 <</if>>
 
-<<if ($Madam != 0)>>
-
-	<<if ($brothelSlaves >= 5)>>
-	<<if ($Madam.actualAge >= 35)>>
-	<<if ($Madam.whoreSkill >= 100)>>
-		<<set $PESSevent.push("madam strategy")>>
-	<</if>>
-	<</if>>
-	<</if>>
-
+<<if ($Madam != 0) && ($brothelSlaves >= 5) && ($Madam.actualAge >= 35) && ($Madam.whoreSkill >= 100)>>
+	<<set $PESSevent.push("madam strategy")>>
 <</if>>
 
-<<if ($DJ != 0)>>
-
-	<<if ($clubSlaves >= 5)>>
-	<<if ($DJ.face > 95)>>
-	<<if ($DJ.entertainSkill >= 100)>>
-		<<set $PESSevent.push("DJ publicity")>>
-	<</if>>
-	<</if>>
-	<</if>>
-
+<<if ($DJ != 0) && ($clubSlaves >= 5) && ($DJ.face > 95) && ($DJ.entertainSkill >= 100)>>
+	<<set $PESSevent.push("DJ publicity")>>
 <</if>>
 
-<<if ($Schoolteacher != 0)>>
-	<<if ($schoolroomSlaves >= 1)>>
-	<<if ($Schoolteacher.intelligence >= 1)>>
-	<<if ($Schoolteacher.actualAge >= 35)>>
-		<<set $PETSevent.push("aggressive schoolteacher")>>
-	<</if>>
-	<</if>>
-	<</if>>
+<<if ($Schoolteacher != 0) && ($schoolroomSlaves > 0) && ($Schoolteacher.intelligence >= 1) && ($Schoolteacher.actualAge >= 35)>>
+	<<set $PETSevent.push("aggressive schoolteacher")>>
 <</if>>
 
-<<if ($Wardeness != 0)>>
-	<<if ($cellblockSlaves > 0)>>
-	<<if canTalk($Wardeness)>>
-		<<set $PETSevent.push("abusive wardeness")>>
-	<</if>>
-	<</if>>
+<<if ($Wardeness != 0) && ($cellblockSlaves > 0) && canTalk($Wardeness)>>
+	<<set $PETSevent.push("abusive wardeness")>>
 <</if>>
 
-<<if ($Attendant != 0)>>
-	<<if ($spaSlaves > 0)>>
-	<<if canTalk($Attendant)>>
-		<<set $PETSevent.push("comforting attendant")>>
-	<</if>>
-	<</if>>
+<<if ($Attendant != 0) && ($spaSlaves > 0) && canTalk($Attendant)>>
+	<<set $PETSevent.push("comforting attendant")>>
+
 <</if>>
 
-<<if ($Nurse != 0)>>
-<<if ($clinicSlaves > 0)>>
-	<<set $nurseMolestationSubIDs = []>>
-	<<for $i = 0; $i < $slaves.length; $i++>>
-	<<if $slaves[$i].assignment == "get treatment in the clinic">>
-	<<if $slaves[$i].anus != 0>>
-		<<set $nurseMolestationSubIDs.push($slaves[$i].ID)>>
-	<</if>>
-	<</if>>
-	<</for>>
-	<<if ($nurseMolestationSubIDs.length > 0)>>
-	<<if ($Nurse.energy > 95) || (($Nurse.fetishStrength > 60) && (($Nurse.fetish == "sadist") || ($Nurse.fetish == "dom")))>>
+<<if ($Nurse != 0) && ($clinicSlaves > 0) && ($Nurse.energy > 95) || (($Nurse.fetishStrength > 60) && ($Nurse.fetish == "sadist" || $Nurse.fetish == "dom"))>>
+	<<set $subSlave = $slaves.find(function(s) { return s.anus != 0 && s.assignment == "get treatment in the clinic"; })>>
+	<<if (def $subSlave)>>
 		<<set $PETSevent.push("nurse molestation")>>
-		<<set $nurseMolestationSubIDs = $slaves[$i].ID>>
-	<</if>>
 	<</if>>
 <</if>>
-<</if>>
 
 <<if ($Concubine != 0)>>
 	<<if canWalk($Concubine)>>
@@ -789,50 +582,32 @@
 
 <<if $familyTesting == 1>>
 
-<<for $i = 0; $i < $slaves.length; $i++>>
-	<<if $slaves[$i].fuckdoll == 0>>
-	<<if $slaves[$i].canRecruit == 1>>
-	<<if ($slaves[$i].devotion > 50)>>
-	<<if canWalk($slaves[$i])>>
-	<<if random(1,100) > 90+(totalRelatives($slaves[$i])*2)>>
-		<<for $j = 0; $j < $slavesOriginal.length; $j++>>
-			<<if $slaves[$i].ID == $slavesOriginal[$j].ID>>
-				<<set $events.push("RE relative recruiter")>>
-				<<break>>
-			<</if>>
-		<</for>>
-	<</if>>
-	<</if>>
-	<</if>>
-	<</if>>
+<<set $i = $slaves.findIndex(function(s) { return s.fuckdoll == 0 && s.canRecruit == 1 && s.devotion > 50 && canWalk(s); })>>
+<<if $i != -1>>
+	<<if random(random(1,100) > 90+(totalRelatives($slaves[$i])*2)>>
+		<<set $j = $slavesOriginal.findIndex(function(o) { return o.ID == $slaves[$i].ID; })>>
+		<<if $j != -1>>
+			<<set $events.push("RE relative recruiter")>>
+		<<else>> /* no matching slave object in the slavesOriginal array -- bug? */
+			<<set $slaves[$i].canRecruit = 0>>
+		<</if>>
 	<</if>>
-<</for>>
+<</if>>
 
-<<else>>
+<<else>> /* extended family mode == 0 */
 
-<<for $i = 0; $i < $slaves.length; $i++>>
-	<<if $slaves[$i].recruiter != 0>>
-	<<if $slaves[$i].canRecruit == 1>>
-	<<if ($slaves[$i].devotion > 50)>>
-	<<if ($slaves[$i].relation == 0)>>
-	<<if canWalk($slaves[$i])>>
-		<<for $j = 0; $j < $recruiters.length; $j++>>
-			<<if $slaves[$i].ID == $recruiters[$j].ID>>
-				<<set $seed = 1>>
-				<<set $events.push("RE relative recruiter")>>
-				<<break>>
-			<</if>>
-		<</for>>
-		<<if $seed != 1>><<set $slaves[$i].recruiter = 0>><</if>>
-	<</if>>
-	<</if>>
-	<</if>>
+<<set $i = $slaves.findIndex(function(s) { return s.recruiter != 0 && s.fuckdoll == 0 && s.devotion > 50 && s.relation == 0 && s.canRecruit && canWalk(s); })>>
+<<if $i != -1>>
+	<<set $j = $slavesOriginal.findIndex(function(o) { return o.ID == $slaves[$i].ID; })>>
+	<<if $j != -1>>
+		<<set $events.push("RE relative recruiter")>>
+	<<else>> /* no matching slave object in the slavesOriginal array -- bug? */
+		<<set $slaves[$i].recruiter = 0>>
 	<</if>>
-	<</if>>
-<</for>>
-
 <</if>>
 
+<</if>> /* closes extended family mode */
+
 <<if $FSAnnounced == 1>>
 	<<set $FSAcquisitionEvents = []>>
 	<<if $arcologies[0].FSSupremacist > random(1,100)>>
diff --git a/src/uncategorized/reNickname.tw b/src/uncategorized/reNickname.tw
index df6bf68cdf5..ce003bea859 100644
--- a/src/uncategorized/reNickname.tw
+++ b/src/uncategorized/reNickname.tw
@@ -181,7 +181,7 @@
 <<if ($activeSlave.dick > 5) && ($activeSlave.balls > 5)>>
 	<<set $qualifiedNicknames.push("babymaker")>>
 <</if>>
-<<if ($activeSlave.prostate == 1) && ($activeSlave.prostateImplant == 1) && ($activeSlave.dick == 0) && ($activeSlave.vagina > -1)>>
+<<if ($activeSlave.prostate > 2) && ($activeSlave.dick == 0) && ($activeSlave.vagina > -1)>>
 	<<set $qualifiedNicknames.push("superSquirter")>>
 <</if>>
 <<if ($activeSlave.preg > 5)>>
diff --git a/src/uncategorized/reRelativeRecruiter.tw b/src/uncategorized/reRelativeRecruiter.tw
index edfaa546b10..cb8643f892b 100644
--- a/src/uncategorized/reRelativeRecruiter.tw
+++ b/src/uncategorized/reRelativeRecruiter.tw
@@ -17,86 +17,76 @@
 	<<set $newRelativeRecruitID = 1100000>>
 <</if>>
 
-
-<<for $i = 0; $i < $slaves.length; $i++>>
-	<<if $slaves[$i].fuckdoll == 0>>
-	<<if $slaves[$i].canRecruit == 1>>
-	<<if ($slaves[$i].devotion > 50)>>
-	<<if canWalk($slaves[$i])>>
-	<<for $j = 0; $j < $slavesOriginal.length; $j++>>
-		<<if $slaves[$i].ID == $slavesOriginal[$j].ID>>
-			<<set $eventSlave = $slaves[$i]>>
-			<<set $activeSlave = $slavesOriginal[$j]>>
-			<<if random(1,100) > 0+(totalRelatives($slaves[$i])*20)>>
-				<<break>>
-			<</if>>
-		<</if>>
-	<</for>>
-	<</if>>
-	<</if>>
-	<</if>>
-	<</if>>
-<</for>>
-
-<<set $recruitedType = []>>
+<<set $eventSlave = $slaves.find(function(s) { return s.canRecruit == 1 && s.fuckdoll == 0 && s.devotion > 50 && canWalk(s) && (random(1,100) > (totalRelatives(s)*20)); })>>
+<<if (ndef $eventSlave)>><<goto "RIE Eligibility Check">><</if>> /* due to randomization, we might have to stop here */
+<<set $activeSlave = $slavesOriginal.find(function(o) { return o && o.ID == $eventSlave.ID; })>>
+<<if (ndef $activeSlave)>> /* slave not being in slavesOriginal array should never happen, but just in case ... */
+	@@.red;ERROR:@@  $eventSlave.slaveName ID $eventSlave.ID is not in the original slaves array: using current stats instead
+	<br>''this should never happen, so please save your game on this page and upload the save for investigation''
+	<br><br>
+	<<set $activeSlave = jQuery.extend(true, {}, $eventSlave)>> /* deep copy */
+<</if>>
+<<set _recruitedType = []>>
 <<if $eventSlave.mother == 0 && $activeSlave.actualAge < 24 && $seeDicks != 100>>
-	<<set $recruitedType.push("mother")>>
-	<<set $recruitedType.push("mother")>>
-	<<set $recruitedType.push("mother")>>
+	<<set _recruitedType.push("mother")>>
+	<<set _recruitedType.push("mother")>>
+	<<set _recruitedType.push("mother")>>
 <</if>>
 <<if $eventSlave.father == 0 && $activeSlave.actualAge < 24 && $seeDicks != 0>>
-	<<set $recruitedType.push("father")>>
+	<<set _recruitedType.push("father")>>
 <</if>>
 <<if ($eventSlave.daughters < 3) && ($activeSlave.actualAge > ($minimumSlaveAge+$fertilityAge)) && isFertile($activeSlave)>>
 	<<if $seeDicks != 100>>
-		<<set $recruitedType.push("daughter")>>
-		<<set $recruitedType.push("daughter")>>
+		<<set _recruitedType.push("daughter")>>
+		<<set _recruitedType.push("daughter")>>
 	<</if>>
 	<<if $seeDicks != 0>>
-		<<set $recruitedType.push("son")>>
+		<<set _recruitedType.push("son")>>
 	<</if>>
-	<<set $tempMF = "mother">>
+	<<set _tempMF = "mother">>
 <</if>>
 <<if ($eventSlave.daughters < 3) && $activeSlave.actualAge > ($minimumSlaveAge+$potencyAge) && $activeSlave.balls > 0>>
 	<<if $seeDicks != 100>>
-		<<set $recruitedType.push("daughter")>>
-		<<set $recruitedType.push("daughter")>>
+		<<set _recruitedType.push("daughter")>>
+		<<set _recruitedType.push("daughter")>>
 	<</if>>
 	<<if $seeDicks != 0>>
-		<<set $recruitedType.push("son")>>
+		<<set _recruitedType.push("son")>>
 	<</if>>
-	<<set $tempMF = "father">>
+	<<set _tempMF = "father">>
 <</if>>
 <<if ($eventSlave.sisters < 3)>>
 	<<if $activeSlave.actualAge <= ($retirementAge-5)>>
 		<<if $seeDicks != 100>>
-			<<set $recruitedType.push("older sister")>>
-			<<set $recruitedType.push("older sister")>>
+			<<set _recruitedType.push("older sister")>>
+			<<set _recruitedType.push("older sister")>>
 		<</if>>
 		<<if $seeDicks != 0>>
-			<<set $recruitedType.push("older brother")>>
-			<<set $recruitedType.push("older brother")>>
+			<<set _recruitedType.push("older brother")>>
+			<<set _recruitedType.push("older brother")>>
 		<</if>>
 	<</if>>
 	<<if $activeSlave.actualAge >= ($minimumSlaveAge+5)>>
 		<<if $seeDicks != 100>>
-			<<set $recruitedType.push("younger sister")>>
-			<<set $recruitedType.push("younger sister")>>
+			<<set _recruitedType.push("younger sister")>>
+			<<set _recruitedType.push("younger sister")>>
 		<</if>>
 		<<if $seeDicks != 0>>
-			<<set $recruitedType.push("younger brother")>>
-			<<set $recruitedType.push("younger brother")>>
+			<<set _recruitedType.push("younger brother")>>
+			<<set _recruitedType.push("younger brother")>>
 		<</if>>
 	<</if>>
-	<<set $recruitedType.push("twin")>>
+	<<set _recruitedType.push("twin")>>
 <</if>>
-<<if $recruitedType.length == 0>>
+<<if _recruitedType.length == 0>>
 	<<set $eventSlave.canRecruit = 0>>
-	$eventSlave.slaveName requests an interview with you. However, she ends up withdrawing her request. It would seem whatever she wanted to tell you is no longer relavant.
-<<else>>
-	<<set $relationType = $recruitedType.random()>>
-	
-	<<if $relationType != "twin">>
+	$eventSlave.slaveName requests an interview with you. However, she ends up withdrawing her request. It would seem whatever she wanted to tell you is no longer relevant.
+
+<<else>> /* this else covers the remainder of the extended family mode variant (search for vanilla to find closing tag) */
+
+	<<set _relationType = _recruitedType.random()>>
+
+	<<if _relationType != "twin">>
 		<<set $activeSlave.weight = 0>>
 		<<set $activeSlave.muscles = 0>>
 		<<set $activeSlave.corsetPiercing = 0>>
@@ -137,9 +127,9 @@
 		<<RandomizeAttraction>>
 		<<ResyncHeight>>
 	<</if>>
-	
+
 	$eventSlave.slaveName requests an interview with you. She's a devoted slave, and you grant it, and are happy you did when you see the troubled expression on her face. She explains<<if !canTalk($eventSlave)>> with desperate gestures<</if>> that
-	<<switch $relationType>>
+	<<switch _relationType>>
 	<<case "daughter">>
 		she had a daughter, who was sent to the slave orphanages, but now she's heard a rumor through other slaves that her daughter will go up for sale soon.
 	<<case "son">>
@@ -159,8 +149,8 @@
 	<<default>>
 		she has a twin sister, who was still free the last $eventSlave.slaveName knew of her. She's heard a rumor through other slaves that her twin has finally been enslaved, and will soon go up for sale.
 	<</switch>>
-<<if canTalk($eventSlave) == false>>She urgently gestures for permission to write. It's unusual, but she seems quite serious, so you grant it. She writes,
-<</if>>"You've been so good to me, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Master<<else>>Mistress<</if>>. I'm sure she looks like I did when you bought me. Please, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Master<<else>>Mistress<</if>>, will you buy her like you bought me? I'm afraid she'll go to a cruel <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Master<<else>>Mistress<</if>>." She bites her lip. "And, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Master<<else>>Mistress<</if>>, I'm sure she'd learn to love
+
+<<if canTalk($eventSlave) == false>>She urgently gestures for permission to write. It's unusual, but she seems quite serious, so you grant it. She writes,<</if>>"You've been so good to me, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Master<<else>>Mistress<</if>>. I'm sure she looks like I did when you bought me. Please, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Master<<else>>Mistress<</if>>, will you buy her like you bought me? I'm afraid she'll go to a cruel <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Master<<else>>Mistress<</if>>." She bites her lip. "And, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Master<<else>>Mistress<</if>>, I'm sure she'd learn to love
 <<if $eventSlave.fetish == "cumslut">>
 	the taste of your cum
 <<elseif $eventSlave.fetish == "submissive">>
@@ -171,7 +161,7 @@
 	the feeling of your cock in her butt
 <<elseif $eventSlave.fetish == "sadist">>
 	hurting your other slaves
-<<elseif $eventSlave.fetish == "pregnancy" && $relationType != "father" && $relationType != "son" && $relationType != "older brother" && $relationType != "younger brother">>
+<<elseif $eventSlave.fetish == "pregnancy" && _relationType != "father" && _relationType != "son" && _relationType != "older brother" && _relationType != "younger brother">>
 	being pregnant
 <<elseif $eventSlave.fetish == "masochist">>
 	being beaten
@@ -181,9 +171,9 @@
 	being a good nympho slut
 <<elseif $eventSlave.addict > 2>>
 	being a druggie whore
-<<elseif $eventSlave.births > 3 && $relationType != "father" && $relationType != "son" && $relationType != "older brother" && $relationType != "younger brother">>
+<<elseif $eventSlave.births > 3 && _relationType != "father" && _relationType != "son" && _relationType != "older brother" && _relationType != "younger brother">>
 	bearing children
-<<elseif $eventSlave.preg > 10 && $relationType != "father" && $relationType != "son" && $relationType != "older brother" && $relationType != "younger brother">>
+<<elseif $eventSlave.preg > 10 && _relationType != "father" && _relationType != "son" && _relationType != "older brother" && _relationType != "younger brother">>
 	swelling with life
 <<elseif $eventSlave.anus > 2>>
 	getting her butt stretched out
@@ -201,7 +191,7 @@ as much as I do.
 	You could make us fuck each other in public, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Master<<else>>Mistress<</if>>!"
 <<elseif $eventSlave.fetish == "buttslut">>
 	You could fuck our butts right next to each other, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Master<<else>>Mistress<</if>>!"
-<<elseif $eventSlave.fetish == "pregnancy" && $relationType != "father" && $relationType != "son" && $relationType != "older brother" && $relationType != "younger brother">>
+<<elseif $eventSlave.fetish == "pregnancy" && _relationType != "father" && _relationType != "son" && _relationType != "older brother" && _relationType != "younger brother">>
 	You could knock us up next to each other, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Master<<else>>Mistress<</if>>!"
 <<elseif $eventSlave.fetish == "sadist">>
 	I'm sure she'd love to help me, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Master<<else>>Mistress<</if>>!"
@@ -211,17 +201,16 @@ as much as I do.
 	I'm sure she'd love to help me use other slaves, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Master<<else>>Mistress<</if>>!"
 <<elseif $eventSlave.energy > 95>>
 	I'm sure she'd love to have threesomes, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Master<<else>>Mistress<</if>>!"
-<<elseif $eventSlave.births > 3 && $relationType != "father" && $relationType != "son" && $relationType != "older brother" && $relationType != "younger brother">>
+<<elseif $eventSlave.births > 3 && _relationType != "father" && _relationType != "son" && _relationType != "older brother" && _relationType != "younger brother">>
 	We could compete over who carried more of your children, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Master<<else>>Mistress<</if>>!
-<<elseif $eventSlave.preg > 10 && $relationType != "father" && $relationType != "son" && $relationType != "older brother" && $relationType != "younger brother">>
+<<elseif $eventSlave.preg > 10 && _relationType != "father" && _relationType != "son" && _relationType != "older brother" && _relationType != "younger brother">>
 	You could compare how big our bellies are next to each other, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Master<<else>>Mistress<</if>>!
 <<else>>
 	You could fuck us together, <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Master<<else>>Mistress<</if>>!"
 <</if>>
 She waits anxiously for your decision.
-<</if>>
 
-<<switch $relationType>>
+<<switch _relationType>>
 
 <<case "mother">>
 	<<set $activeSlave.origin = "She was recruited into your service by her daughter.">>
@@ -248,7 +237,7 @@ She waits anxiously for your decision.
 	<<set $activeSlave.voice = 2>>
 	<<set $activeSlave.birthsTotal = 5>>
 	<<for $j = 0; $j < $slaves.length; $j++>>
-		<<if $slaves[$j].mother is $activeSlave.ID || $slaves[$j].father is $activeSlave.ID>>
+		<<if $slaves[$j].mother == $activeSlave.ID || $slaves[$j].father == $activeSlave.ID>>
 			<<set $activeSlave.birthsTotal += 1>>
 		<</if>>
 	<</for>>
@@ -528,12 +517,11 @@ She waits anxiously for your decision.
 	<<set $activeSlave.slaveName = $activeSlave.birthName>>
 <</if>>
 
-<<set $activeSlave.ID = $newRelativeRecruitID>>
-<<set $newRelativeRecruitID++>>
+<<set $activeSlave.ID = $newRelativeRecruitID++>>
 
 <br><br>
-You look up the $relationType. She costs ¤$slaveCost, a bargain, but you won't be able to inspect her beyond her likely resemblance to her
-<<switch $relationType>>
+You look up the _relationType. She costs ¤$slaveCost, a bargain, but you won't be able to inspect her beyond her likely resemblance to her
+<<switch _relationType>>
 <<case "daughter">>
 	mother. Her listing states that she was used as a prostitute by her previous owner.
 <<case "son">>
@@ -558,15 +546,15 @@ You look up the $relationType. She costs ¤$slaveCost, a bargain, but you won't
 <span id="result">
 <<link "Buy her">>
 	<<set $cash -= $slaveCost>>
-	<<switch $relationType>>
+	<<switch _relationType>>
 	<<case "daughter">>
-		<<if $tempMF == "father">>
+		<<if _tempMF == "father">>
 			<<set $activeSlave.father = $eventSlave.ID>>
 		<<else>>
 			<<set $activeSlave.mother = $eventSlave.ID>>
 		<</if>>
 	<<case "son">>
-		<<if $tempMF == "father">>
+		<<if _tempMF == "father">>
 			<<set $activeSlave.father = $eventSlave.ID>>
 		<<else>>
 			<<set $activeSlave.mother = $eventSlave.ID>>
@@ -739,37 +727,22 @@ You look up the $relationType. She costs ¤$slaveCost, a bargain, but you won't
 	<<AddSlave $activeSlave>>
 	<<SlaveTitle $eventSlave>>
 	<<replace "#result">>
-	You complete the legalities and biometric scanning quickly and without fuss. $activeSlave.slaveName arrives shortly. The two slaves remember each other only dimly - they parted a long time ago - but they embrace. The devoted $desc explains the situation and encourages her $relationType to be a good slave to you. $activeSlave.slaveName looks a little fearful but clearly realizes that she's lucky to be here.
+	You complete the legalities and biometric scanning quickly and without fuss. $activeSlave.slaveName arrives shortly. The two slaves remember each other only dimly - they parted a long time ago - but they embrace. The devoted $desc explains the situation and encourages her _relationType to be a good slave to you. $activeSlave.slaveName looks a little fearful but clearly realizes that she's lucky to be here.
 	<<set $nextLink = "AS Dump">>
-	<<set $recruitedType = 0>>
-	<<set $relationType = 0>>
-	<<set $tempMF = 0>>
 	<<include "New Slave Intro">>
 	<</replace>>
 <</link>>
 </span>
 
+<</if>> /* _recruitedType.length */
+
 <<else>> /* vanilla */
 
-<<for $i = 0; $i < $slaves.length; $i++>>
-	<<if $slaves[$i].fuckdoll == 0>>
-	<<if $slaves[$i].recruiter != 0>>
-	<<if ($slaves[$i].devotion > 50)>>
-	<<if ($slaves[$i].relation == 0)>>
-	<<if canWalk($slaves[$i])>>
-		<<for $j = 0; $j < $slavesOriginal.length; $j++>>
-			<<if $slaves[$i].ID == $slavesOriginal[$j].ID>>
-				<<set $eventSlave = $slaves[$i]>>
-				<<set $activeSlave = $slavesOriginal[$j]>>
-				<<break>>
-			<</if>>
-		<</for>>
-	<</if>>
-	<</if>>
-	<</if>>
-	<</if>>
-	<</if>>
-<</for>>
+<<set $i = $slaves.findIndex(function(s) { return s.recruiter != 0 && s.fuckdoll == 0 && s.devotion > 50 && s.relation == 0 && canWalk(s); })>>
+<<set $j = $slavesOriginal.findIndex(function(o) { return o.ID == $slaves[$i].ID; })>>
+
+<<set $eventSlave = $slaves[$i]>>
+<<set $activeSlave = $slavesOriginal[$j]>>
 
 /* 000-250-006 */
 /* <<if $seeImages == 1>><<SlaveArt $eventSlave 2 0>><</if>> */
@@ -904,11 +877,11 @@ She waits anxiously for your decision.
 	<<set $activeSlave.entertainSkill = 0>>
 	<<set $activeSlave.whoreSkill = 0>>
 	<<set $activeSlave.lactation = 0>>
-<<set $activeSlaveOneTimeMaxAge = Math.max($minimumSlaveAge, Math.min(18, ($activeSlave.actualAge - Math.min(11, $fertilityAge))))>>
-<<set $activeSlaveOneTimeMinAge = Math.max($minimumSlaveAge, Math.min(14, $activeSlaveOneTimeMaxAge))>>
-<<if $pedo_mode == 1>><<set $activeSlaveOneTimeMinAge = $minimumSlaveAge>><</if>>
-<<set $activeSlave.actualAge = random($activeSlaveOneTimeMinAge, $activeSlaveOneTimeMaxAge)>>
-<<set $activeSlave.birthWeek = 0>>
+	<<set $activeSlaveOneTimeMaxAge = Math.max($minimumSlaveAge, Math.min(18, ($activeSlave.actualAge - Math.min(11, $fertilityAge))))>>
+	<<set $activeSlaveOneTimeMinAge = Math.max($minimumSlaveAge, Math.min(14, $activeSlaveOneTimeMaxAge))>>
+	<<if $pedo_mode == 1>><<set $activeSlaveOneTimeMinAge = $minimumSlaveAge>><</if>>
+	<<set $activeSlave.actualAge = random($activeSlaveOneTimeMinAge, $activeSlaveOneTimeMaxAge)>>
+	<<set $activeSlave.birthWeek = 0>>
 <<case "daughter">>
 	<<set $activeSlave.origin = "She was recruited into your service by her daughter.">>
 	<<if $activeSlave.vagina == 0>>
@@ -1051,4 +1024,5 @@ You look up the $activeSlave.relation. She costs ¤$slaveCost, a bargain, but yo
 <</link>>
 </span>
 
-<</if>> /* close extended family mode */
\ No newline at end of file
+<</if>> /* close extended family mode */
+
diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw
index b0873080385..10b47b12259 100644
--- a/src/uncategorized/remoteSurgery.tw
+++ b/src/uncategorized/remoteSurgery.tw
@@ -601,7 +601,7 @@ $pronounCap has
 	<</if>>
 <</if>>
 <<if $activeSlave.prostate>>
-	<br>$pronounCap has a <<if $activeSlave.prostate > 2>>extremely hyperactive<<elseif $activeSlave.prostate > 1>>hyperactive<<else>>normal<</if>> prostate.
+	<br>$pronounCap has a <<if $activeSlave.prostate > 2>>hyperactive, ejaculation enhancing<<elseif $activeSlave.prostate > 1>>hyperactive<<else>>normal<</if>> prostate.
 	<<if ($seeExtreme == 1)>>
 		<<if $activeSlave.indentureRestrictions < 1>>
 			[[Remove|Surgery Degradation][$activeSlave.prostate = 0,$cash -= $surgeryCost, $activeSlave.health -= 40, $surgeryType to "prostate"]]
@@ -610,11 +610,11 @@ $pronounCap has
 	<<if $activeSlave.prostate >= 2 && $prostateImplants == 1>>
 		<<if $activeSlave.prostate < 3>>
 			<<if $activeSlave.indentureRestrictions < 2>>
-			[[Implant prostate with concentrated production drugs|Surgery Degradation][$activeSlave.prostate = 3,$cash -= $surgeryCost, $activeSlave.health -= 20,$surgeryType = "ejaculation"]] //This will thin $possessive ejaculate but greatly increase its quantity//
+			[[Implant prostate with an ejaculation boosting implant|Surgery Degradation][$activeSlave.prostate = 3,$cash -= $surgeryCost, $activeSlave.health -= 20,$surgeryType = "ejaculation"]] //This will thin $possessive ejaculate but greatly increase its quantity//
 			<</if>>
 		<</if>>
 		<<if $activeSlave.prostate == 3>>
-			 | [[Remove concentrated drug implant|Surgery Degradation][$activeSlave.prostate = 2,$cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "endejac"]]
+			 | [[Remove ejaculation implant|Surgery Degradation][$activeSlave.prostate = 2,$cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "endejac"]]
 		<<elseif $activeSlave.prostate == 2>>
 			 | [[Remove drug implant|Surgery Degradation][$activeSlave.prostate=1,$cash-=$surgeryCost,$surgeryType="endprecum"]]
 		<</if>>
diff --git a/src/uncategorized/saGetMilked.tw b/src/uncategorized/saGetMilked.tw
index a9a39e004d1..ba09c7ccf2e 100644
--- a/src/uncategorized/saGetMilked.tw
+++ b/src/uncategorized/saGetMilked.tw
@@ -347,7 +347,7 @@ gets milked this week.
 
 	<<if $slaves[$i].prostate>>
 		<<if $slaves[$i].prostate > 2>>
-			Her heavily altered prostate greatly increases the volume of her ejaculations and promotes good, if not watery, semen production.
+			Her heavily altered prostate greatly increases the volume of her ejaculations and promotes excessive, watery semen production. This dilute ejaculate @@.red;sells poorly@@ compared to normal cum.
 		<<elseif $slaves[$i].prostate > 1>>
 			Her hyperactive prostate increases the volume of her ejaculations and promotes good semen production.
 		<</if>>
@@ -396,12 +396,15 @@ gets milked this week.
 
 	<<if ($arcologies[0].FSPastoralist == "unset")>>
 		<<set $seed = ($cum*random(25,35))>>
+		<<if $slaves[$i].prostate == 3>><<set $seed *= 0.5>><</if>>
 		She produces <<print $cum>> deciliters of cum over the week; the fresh ejaculate is sold for @@.yellowgreen;¤<<print $seed>>.@@
 	<<elseif $arcologies[0].FSPastoralistLaw == 1>>
 		<<set $seed = ($cum*(random(40,50)))>>
+		<<if $slaves[$i].prostate == 3>><<set $seed *= 0.5>><</if>>
 		She produces <<print $cum>> deciliters of cum over the week; the fresh ejaculate, which is in extremely high demand as one of $arcologies[0].name's few legal sources of animal protein, is sold for @@.yellowgreen;¤<<print $seed>>.@@
 	<<else>>
 		<<set $seed = ($cum*(random(25,35)+Math.trunc($arcologies[0].FSPastoralist/10)))>>
+		<<if $slaves[$i].prostate == 3>><<set $seed *= 0.5>><</if>>
 		She produces <<print $cum>> deciliters of cum over the week; the fresh ejaculate, which is in high demand given the new cultural preference for slave products, is sold for @@.yellowgreen;¤<<print $seed>>.@@
 	<</if>>
 	<<set $cash += $seed>>
diff --git a/src/uncategorized/slaveMarkets.tw b/src/uncategorized/slaveMarkets.tw
index 2c5203d656e..adea64b47f5 100644
--- a/src/uncategorized/slaveMarkets.tw
+++ b/src/uncategorized/slaveMarkets.tw
@@ -209,6 +209,7 @@ You're in the corner of the slave market occupied by "The Flesh Heap", a dumping
 <<slaveCost $activeSlave>>
 <<if $slavesSeen > $slaveMarketLimit>><<set $slaveCost += $slaveCost*(($slavesSeen-$slaveMarketLimit)*0.1)>><</if>>
 
+/*
 <<if $slaveMarket == "neighbor">>
 	<<for $i = 0; $i < $arcologies.length; $i++>>
 	<<if $arcologies[$i].direction == $direction>>
@@ -223,6 +224,7 @@ You're in the corner of the slave market occupied by "The Flesh Heap", a dumping
 	<</if>>
 	<</for>>
 <</if>>
+*/
 
 <<set $slaveCost = 500*Math.trunc($slaveCost/500)>>
 The offered price is ¤<<print $slaveCost>>.<<if $slavesSeen > $slaveMarketLimit>> You have cast such a wide net for slaves this week that it is becoming more expensive to find more for sale. Your reputation helps determine your reach within the slave market.<</if>>
diff --git a/src/uncategorized/slaveSummary.tw b/src/uncategorized/slaveSummary.tw
index 2cc13f7a8e2..a0c13e0fa7a 100644
--- a/src/uncategorized/slaveSummary.tw
+++ b/src/uncategorized/slaveSummary.tw
@@ -2794,7 +2794,7 @@ _Slave.faceShape face.
 <<if $abbreviateMental == 1>>
 @@.lightgreen;
 <<if $familyTesting == 1>>
-	<<for ssj = 0; ssj < _SL; ssj++>>
+	<<for _ssj = 0; _ssj < _SL; _ssj++>>
 		<<if _Slave.mother == $slaves[_ssj].ID>>
 			$slaves[_ssj].slaveName's daughter<<if _Slave.relationshipTarget == $slaves[_ssj].ID>><<if _Slave.relationship == 1>> & friend<<elseif _Slave.relationship == 2>> & BFF<<elseif _Slave.relationship == 3>> & FWB<<elseif _Slave.relationship == 4>> & lover<<else>> & wife<</if>><<set _relationshipHandled = 1>><</if>>
 		<</if>>
@@ -2803,7 +2803,7 @@ _Slave.faceShape face.
 		<</if>>
 	<</for>>
 	<<if _Slave.daughters == 1>>
-		<<for ssj = 0; ssj < _SL; ssj++>>
+		<<for _ssj = 0; _ssj < _SL; _ssj++>>
 			<<if $slaves[_ssj].mother == _Slave.ID>>
 				$slaves[_ssj].slaveName's mother<<if _Slave.relationshipTarget == $slaves[_ssj].ID>><<if _Slave.relationship == 1>> & friend<<elseif _Slave.relationship == 2>> & BFF<<elseif _Slave.relationship == 3>> & FWB<<elseif _Slave.relationship == 4>> & lover<<else>> & wife<</if>><<set _relationshipHandled = 1>><</if>>
 				<<break>>
@@ -2817,7 +2817,7 @@ _Slave.faceShape face.
 		multiple daughters
 	<</if>>
 	<<if _Slave.sisters == 1>>
-		<<for ssj = 0; ssj < _SL; ssj++>>
+		<<for _ssj = 0; _ssj < _SL; _ssj++>>
 			<<if areSisters($slaves[_ssj], _Slave.ID) > 0>>
 				$slaves[_ssj].slaveName's sister<<if _Slave.relationshipTarget == $slaves[_ssj].ID>><<if _Slave.relationship == 1>> & friend<<elseif _Slave.relationship == 2>> & BFF<<elseif _Slave.relationship == 3>> & FWB<<elseif _Slave.relationship == 4>> & lover<<else>> & wife<</if>><<set _relationshipHandled = 1>><</if>>
 				<<break>>
@@ -2827,7 +2827,7 @@ _Slave.faceShape face.
 		multiple sisters
 	<</if>>
 	<<if _Slave.relationship > 0 && _relationshipHandled != 1>>
-		<<for ssj = 0; ssj < _SL; ssj++>>
+		<<for _ssj = 0; _ssj < _SL; _ssj++>>
 			<<if _Slave.relationshipTarget == $slaves[_ssj].ID>>
 				<<switch _Slave.relationship>>
 				<<case 1>>
@@ -2857,7 +2857,7 @@ _Slave.faceShape face.
 	<</if>>
 <<else>>
 	<<if _Slave.relation != 0>>
-		<<for ssj = 0; ssj < _SL; ssj++>>
+		<<for _ssj = 0; _ssj < _SL; _ssj++>>
 			<<if _Slave.relationTarget == $slaves[_ssj].ID>>
 				$slaves[_ssj].slaveName's _Slave.relation
 				<<if _Slave.relationship <= 0>>&nbsp;&nbsp;&nbsp;&nbsp;<</if>>
@@ -2866,7 +2866,7 @@ _Slave.faceShape face.
 		<</for>>
 	<</if>>
 	<<if _Slave.relationship > 0>>
-		<<for ssj = 0; ssj < _SL; ssj++>>
+		<<for _ssj = 0; _ssj < _SL; _ssj++>>
 			<<if _Slave.relationshipTarget == $slaves[_ssj].ID>>
 				<<switch _Slave.relationship>>
 				<<case 1>>
@@ -2916,7 +2916,7 @@ _Slave.faceShape face.
 <</if>>
 <<elseif $abbreviateMental == 2>>
 <<if $familyTesting == 1>>
-	<<for ssj = 0; ssj < _SL; ssj++>>
+	<<for _ssj = 0; _ssj < _SL; _ssj++>>
 		<<if _Slave.mother == $slaves[_ssj].ID>>
 			$slaves[_ssj].slaveName's @@.lightgreen;daughter<<if _Slave.relationshipTarget == $slaves[_ssj].ID>><<if _Slave.relationship == 1>> and friend<<elseif _Slave.relationship == 2>> and best friend<<elseif _Slave.relationship == 3>> and FWB<<elseif _Slave.relationship == 4>> and lover<<else>> and wife<</if>><<set _relationshipHandled = 1>><</if>>.@@
 		<</if>>
@@ -2925,7 +2925,7 @@ _Slave.faceShape face.
 		<</if>>
 	<</for>>
 	<<if _Slave.daughters == 1>>
-		<<for ssj = 0; ssj < _SL; ssj++>>
+		<<for _ssj = 0; _ssj < _SL; _ssj++>>
 			<<if $slaves[_ssj].mother == _Slave.ID>>
 				$slaves[_ssj].slaveName's @@.lightgreen;mother<<if _Slave.relationshipTarget == $slaves[_ssj].ID>><<if _Slave.relationship == 1>> and friend<<elseif _Slave.relationship == 2>> and best friend<<elseif _Slave.relationship == 3>> and FWB<<elseif _Slave.relationship == 4>> and lover<<else>> and wife<</if>><<set _relationshipHandled = 1>><</if>>.@@
 				<<break>>
@@ -2945,7 +2945,7 @@ _Slave.faceShape face.
 		<</if>>
 	<</if>>
 	<<if _Slave.sisters == 1>>
-		<<for ssj = 0; ssj < _SL; ssj++>>
+		<<for _ssj = 0; _ssj < _SL; _ssj++>>
 			<<if areSisters($slaves[_ssj], _Slave) > 0>>
 				$slaves[_ssj].slaveName's @@.lightgreen;sister<<if _Slave.relationshipTarget == $slaves[_ssj].ID>><<if _Slave.relationship == 1>> and friend<<elseif _Slave.relationship == 2>> and best friend<<elseif _Slave.relationship == 3>> and FWB<<elseif _Slave.relationship == 4>> and lover<<else>> and wife<</if>><<set _relationshipHandled = 1>><</if>>.@@
 				<<break>>
@@ -2961,7 +2961,7 @@ _Slave.faceShape face.
 		<</if>>
 	<</if>>
 	<<if _Slave.relationship > 0 && _relationshipHandled != 1>>
-		<<for ssj = 0; ssj < _SL; ssj++>>
+		<<for _ssj = 0; _ssj < _SL; _ssj++>>
 			<<if _Slave.relationshipTarget == $slaves[_ssj].ID>>
 				<<switch _Slave.relationship>>
 				<<case 1>>
@@ -2991,7 +2991,7 @@ _Slave.faceShape face.
 	<</if>>
 <<else>>
 	<<if _Slave.relation != 0>>
-		<<for ssj = 0; ssj < _SL; ssj++>>
+		<<for _ssj = 0; _ssj < _SL; _ssj++>>
 			<<if _Slave.relationTarget == $slaves[_ssj].ID>>
 				$slaves[_ssj].slaveName's 
 				<<if _Slave.relationshipTarget != _Slave.relationTarget>>
@@ -3005,7 +3005,7 @@ _Slave.faceShape face.
 		<</for>>
 	<</if>>
 	<<if _Slave.relationship > 0>>
-		<<for ssj = 0; ssj < _SL; ssj++>>
+		<<for _ssj = 0; _ssj < _SL; _ssj++>>
 			<<if _Slave.relationshipTarget == $slaves[_ssj].ID>>
 				<<switch _Slave.relationship>>
 				<<case 1>>
diff --git a/src/uncategorized/surgeryDegradation.tw b/src/uncategorized/surgeryDegradation.tw
index 5e49ff1229e..6615f0460e0 100644
--- a/src/uncategorized/surgeryDegradation.tw
+++ b/src/uncategorized/surgeryDegradation.tw
@@ -555,7 +555,7 @@ As the remote surgery's long recovery cycle completes,
 	As with all surgery @@.red;her health has been slightly affected.@@
 
 <<case "endejac">>
-	Her groin is a little sore, and she examines it closely, but she can't find much difference other than the swelling above her crotch has gone down. She'll realize later when her next ejaculation is rather underwhelming from what she has become acustomed to. As with all surgery @@.red;her health has been slightly affected.@@
+	Her groin is a little sore, and she examines it closely, but she can't find much difference other than the swelling in her crotch has gone down. She'll realize later when her next ejaculation is rather underwhelming from what she has become accustomed to. As with all surgery @@.red;her health has been slightly affected.@@
 
 <<case "scarRemov">>
 	Even though removing scars is a trivial process, @@.red;her health has been slightly affected@@. When she exits the room, she feels that most of her skin is numb, and she is @@.hotpink;happy@@ when she finds her scars have been removed.
diff --git a/src/utility/descriptionWidgets.tw b/src/utility/descriptionWidgets.tw
index 418ba987394..897e6f5323b 100644
--- a/src/utility/descriptionWidgets.tw
+++ b/src/utility/descriptionWidgets.tw
@@ -3487,7 +3487,7 @@ $pronounCap's got a
 <</if>>
 
 <<if ($activeSlave.prostate > 2)>>
-	The area above $possessive crotch has a slight swell to it from $possessive massive prostate. Several thick strings of precum dangle from the tip of $possessive cock; $possessive artificially hyperactive prostate forcing cum out of $object that way.
+	The area above $possessive crotch has a slight swell to it from $possessive prostate implant. A constant dribble of precum drips from the tip of $possessive cock; $possessive artificially hyperactive prostate keeps $object that way.
 <<elseif ($activeSlave.prostate > 1)>>
 	$possessiveCap's got a string of precum dangling from the tip of $possessive cock; $possessive artificially hyperactive prostate keeps $object that way.
 <</if>>
@@ -3591,9 +3591,9 @@ $pronounCap's got a
 	$pronounCap produces so much cum that $possessive dick uncontrollably dribbles precum wherever $pronoun goes, leaving a trail of drops behind $object.
 <</if>>
 
-	<<if $activeSlave.prostate > 2>>
-		$possessiveCap ejaculate has a distinct clearness to it from the sheer amount of prostate fluid produced by $possessive heavily altered prostate.
-	<</if>>
+<<if $activeSlave.prostate > 2>>
+	$possessiveCap ejaculate has a distinct clearness to it from the sheer amount of prostate fluid produced by $possessive overstimulated prostate.
+<</if>>
 
 <<if $activeSlave.physicalAge <= 3>>
 <<if $activeSlave.balls >= 25>>
@@ -3905,14 +3905,14 @@ $pronounCap's got a
 	<</if>>
 	<</if>>
 		<<if ($activeSlave.prostate > 2)>>
-			he area above $possessive crotch has a slight swell to it from $possessive massive prostate. Several thick strings of precum dangle from the hole; $possessive artificially hyperactive prostate forcing cum out of $object that way.
+			The area above $possessive crotch has a slight swell to it from $possessive prostate implant. A constant dribble of precum drips from the tip of $possessive cock; $possessive artificially hyperactive prostate keeps $object that way.
 		<<elseif ($activeSlave.prostate > 1)>>
 			$possessiveCap's got a string of precum dangling from the hole; $possessive artificially hyperactive prostate keeps $object that way.
 		<</if>>
 		<<if ($activeSlave.aphrodisiacs > 0) || ($activeSlave.inflationType == "aphrodisiac")>>
 			The aphrodisiacs have $possessive so horny that there's a <<if $activeSlave.prostate > 1>>constant flow of precum leaking from<<else>>little precum beading at<</if>> the hole.
 		<<elseif ($activeSlave.energy > 95)>>
-			As a nympho, $pronoun's almost always got a <<if $activeSlave.prostate > 1>>constant flow of precum leaking from<<elseif $activeSlave.prostate > 1>><<else>>little bead of precum forming at<</if>> the hole.
+			As a nympho, $pronoun's almost always got a <<if $activeSlave.prostate > 1>>constant flow of precum leaking from<<else>>little bead of precum forming at<</if>> the hole.
 		<<elseif $activeSlave.fetishKnown == 0>>
 		<<elseif $activeSlave.fetishStrength <= 60>>
 		<<elseif ($activeSlave.fetish == "buttslut")>>
@@ -3934,7 +3934,6 @@ $pronounCap's got a
 		<<elseif ($activeSlave.fetish == "boobs")>>
 			Judging by the <<if $activeSlave.prostate > 1>>constant flow of precum leaking from<<else>>little bead of precum forming at<</if>> the hole, $pronoun's probably fantasizing about boobs.
 		<</if>>
-	<</if>>
 	<<if $activeSlave.prostate > 2>>
 		This hole is normally almost invisible, making it absolutely shocking when $pronoun orgasms and shoots a massive cumshot out of it.
 	<<elseif $activeSlave.balls != 0>>
@@ -3952,7 +3951,7 @@ $pronounCap's got a
 		$pronounCap produces so much cum that $possessive dick uncontrollably dribbles precum wherever $pronoun goes, leaving a trail of drops behind $object.
 	<</if>>
 	<<if $activeSlave.prostate > 2>>
-		$possessiveCap ejaculate has a distinct clearness to it from the sheer amount of prostate fluid produced by $possessive heavily altered prostate.
+		$possessiveCap ejaculate has a distinct clearness to it from the sheer amount of prostate fluid produced by $possessive overstimulated prostate.
 	<</if>>
 <</if>>
 
@@ -4083,7 +4082,7 @@ $pronounCap's got a
 	<<if $activeSlave.prostate != 0>>
 	<<if $activeSlave.dick == 0>>
 		In stark contrast, however, $pronoun's been given a functional prostate gland. It's attached to $possessive urethra, of course, so despite $possessive dryness, $pronoun squirts <<if $activeSlave.balls > 0>>semen<<else>>fluid<</if>> when $pronoun orgasms.
-		<<if $activeSlave.prostateImplant == 1>>
+		<<if $activeSlave.prostate > 2>>
 			With the implant imbedded in it, that squirt is more like a blast; $pronoun will soak <<print $object>>self and anyone near $object.
 		<</if>>
 	<</if>>
@@ -7877,7 +7876,7 @@ $pronounCap has
 	<<case "dildo gag">>
 		$pronounCap is wearing a sturdy leather collar that continues up to restrict $possessive jaw as well. It holds a ring gag in $possessive mouth, into which slots a formidable inward-facing dildo that reaches down $possessive throat. It can be removed to facefuck $object.
 	<<case "massive dildo gag">>
-		$pronounCap is wearing a sturdy leather collar that continues up to restrict $possessive jaw as well. It acts as an anchor for a enormous inward-facing dildo that reaches deep down $possessive throat. The sheer size of the phallus forces $possessive mouth as wide as it will go and considerably bulges $possessive throat. Fortunatly for $object, it is designed to allow $object to be able to breath through $possessive nose; though when removed, the poor girl finds <<print $object>>self incapable of closing $possessive mouth for some time.
+		$pronounCap is wearing a sturdy leather collar that continues up to restrict $possessive jaw as well. It acts as an anchor for an enormous inward-facing dildo that reaches deep down $possessive throat. The sheer size of the phallus forces $possessive mouth as wide as it will go and considerably bulges $possessive throat. Fortunatly for $object, it is designed to allow $object to be able to breath through $possessive nose; though when removed, the poor girl finds <<print $object>>self incapable of closing $possessive mouth for some time.
 	<<case "tight steel">>
 		$pronounCap is wearing a tight steel collar whose restricting metal touch $pronoun cannot escape.
 	<<case "preg biometrics">>
@@ -9917,7 +9916,7 @@ $pronounCap has
 <<case "a fallen nuns habit">>
 	$activeSlave.slaveName's latex habit's corset is left hanging open fully revealing $possessive implant-filled belly.
 <<case "a penitent nuns habit">>
-	$pronounCap looks absolutely blasphemous in a habit with a implant-filled belly.  The coarse cloth aggravates $possessive sensitive stretched skin.
+	$pronounCap looks absolutely blasphemous in a habit with an implant-filled belly.  The coarse cloth aggravates $possessive sensitive stretched skin.
 <<case "a string bikini">>
 	$activeSlave.slaveName's implant-filled belly parts $possessive string bikini to either side.
 <<case "clubslut netting">>
-- 
GitLab