diff --git a/README.md b/README.md
index 6b0142578ab74f54513f927d96de91b33d2996c9..c0ec961ee0da5790afa4846358cf05894b22ff15 100644
--- a/README.md
+++ b/README.md
@@ -60,7 +60,7 @@ How to mod (basic doc):
 	meld FreeCities FreeCitiesPregmod
 	or just select these folders in meld's GUI.
 
-5. All modders will be very grateful if anyone who makes some changes to game with .html file also post his/her resulting src folder tree.
+5. All modders will be very grateful if anyone who makes some changes to game with .html file also post their resulting src folder tree.
 
 6. For contributors to pregmod: if you don't use git, then you need to post your version of src folder tree, not just produced FC_pregmod.html file!!! This html file can't be reverted to proper sources, and useless as contribution!
 
diff --git a/compile b/compile
index 5d8feaa2194c6f572c8d5b2ffc5f1d7fd924296b..d44d129ab69d49563aebeec6f894f4e42b013f7a 100755
--- a/compile
+++ b/compile
@@ -65,4 +65,4 @@ fi
 
 #Make the output prettier, replacing \t with a tab and \n with a newline
 sed -i -e '/^.*<div id="store-area".*$/s/\\t/\t/g' -e '/^.*<div id="store-area".*$/s/\\n/\n/g' bin/FC_pregmod_tmp.html \
-   && mv bin/FC_pregmod_tmp.html bin/FC_pregmod.html
+	&& mv bin/FC_pregmod_tmp.html bin/FC_pregmod.html
diff --git a/devNotes/Useful JS Function Documentation.txt b/devNotes/Useful JS Function Documentation.txt
index 3c990ca0ac703885fd07e07c9f31a2b7d280d0d8..53c2eebea669ad3cd5ee50776dfdb72b007527a6 100644
--- a/devNotes/Useful JS Function Documentation.txt	
+++ b/devNotes/Useful JS Function Documentation.txt	
@@ -98,7 +98,7 @@ canHear(slave) - Returns if the slave can hear.
 
 canWalk(slave) - Returns if the slave can walk.
 
-canTallk(slave) - Returns if the slave can talk.
+canTalk(slave) - Returns if the slave can talk.
 
 canDoAnal(slave) - Returns if the slave can currently have anal sex.
 
diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt
index 5b6b24408d5a4c99dae2ec48563b6b11371d7ba9..09f3c7ff7c881736a9bb67fd03c8428a5637be6d 100644
--- a/devNotes/VersionChangeLog-Premod+LoliMod.txt
+++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt
@@ -3,6 +3,7 @@ Pregmod
 0.10.7.1-2.2.x
 
 	0
+	-overhauled chastity
 	-overhauled reputation tracking
 	-reputation is now harder to build the higher it gets
 	-ear shaping surgeries
@@ -13,7 +14,8 @@ Pregmod
 	-RA can now manage basic abortions
 	-added abortion tracking tattoos
 	-added bulk incubator retrieval
-	-added "pFace" and "uFace" genetic traits
+	-added "albinism", "pFace" and "uFace" genetic traits
+	-added sexy Santa outfit
 	-fixes
 
 0.10.7.1-2.1.x
diff --git a/devNotes/clothing hair and accessory passages.txt b/devNotes/clothing hair and accessory passages.txt
index 1855d58e5ae1a97b4f571ad534e95518e5a66604..b44269a74e7bd055f5f2a3c9f802f67acf0f9a01 100644
--- a/devNotes/clothing hair and accessory passages.txt	
+++ b/devNotes/clothing hair and accessory passages.txt	
@@ -120,8 +120,8 @@ SEXUAL/EROTIC
 	Nice Lingerie
 	Latex Catsuit
 	Bodysuit
-	Skimpy Loincloth [Not in-game yet]
-	BDSM Pony outfit [Not in-game yet]
+	Skimpy Loincloth
+	BDSM Pony outfit
 
 FESTIVE/ENTERTAINMENT/TRADITIONAL/CULTURAL
 =================================
@@ -142,8 +142,9 @@ FESTIVE/ENTERTAINMENT/TRADITIONAL/CULTURAL
 	Minidress
 	Haltertop Dress
 	Clubslut Netting
-	Hanbok [Not in-game yet]
-	Gothic Lolita [Not in-game yet]
+	Santa Dress
+	Hanbok
+	Gothic Lolita
 
 EXERCISE/ATHLETICS
 ==================
diff --git a/slave variables documentation - Pregmod.txt b/slave variables documentation - Pregmod.txt
index cbea27af76bfb220ee6957ad1dcf46cac5d0761a..8aafdbf84ab080de0dcf5a42e97d782e80c3261d 100644
--- a/slave variables documentation - Pregmod.txt	
+++ b/slave variables documentation - Pregmod.txt	
@@ -2509,6 +2509,7 @@ may accept strings, use at own risk
 "a penitent nuns habit"
 "a police uniform"
 "a red army uniform"
+"a Santa dress"
 "a scalemail bikini"
 "a schoolgirl outfit"
 "a schutzstaffel uniform"
@@ -2618,9 +2619,6 @@ vaginalAccessory:
 
 may accept strings, use at own risk
 "none"
-"chastity belt"
-"combined chastity"
-"anal chastity"
 "dildo"
 "large dildo"
 "huge dildo"
@@ -2632,9 +2630,24 @@ dickAccessory:
 
 may accept strings, use at own risk
 "none"
-"chastity"
-"anal chastity"
-"combined chastity"
+
+chastityAnus:
+
+whether the slave has a chastity device on their anus
+0 - no
+1 - yes
+
+chastityPenis:
+
+whether the slave has a chastity device on their penis
+0 - no
+1 - yes
+
+chastityVagina:
+
+whether the slave has a chastity device on their vagina
+0 - no
+1 - yes
 
 legAccessory:
 
@@ -2844,6 +2857,8 @@ pFace + uFace - Depends on carrier status, may swing between average and above/b
 
 albinism - slave has pale skin, white hair and red eyes
 
+heterochromia - slave may have mismatched eye colors (Takes a string if not zero!)
+
 rearLipedema - slave's ass never stops growing. Increased growth rate, reduced shrink rate.
 
 wellHung - slave has (or will have) a huge dong
@@ -3563,7 +3578,7 @@ How to set up your own hero slave.
 
 -The default slave template used:
 
-<<set $activeSlave = {slaveName: "blank", slaveSurname: 0, birthName: "blank", birthSurname: 0, genes: "XX", pronoun: "she", possessive: "her", possessivePronoun: "hers", objectReflexive: "herself", object: "her", noun: "girl", weekAcquired: 0, origin: 0, career: 0, ID: 0, prestige: 0, pornFeed: 0, pornFame: 0, pornFameSpending: 0, pornPrestige: 0, pornPrestigeDesc: 0, pornFameType: "none", pornFocus: "none", pornTypeGeneral: 0, pornTypeFuckdoll: 0, pornTypeRape: 0, pornTypePreggo: 0, pornTypeBBW: 0, pornTypeGainer: 0, pornTypeStud: 0, pornTypeLoli: 0, pornTypeDeepThroat: 0, pornTypeStruggleFuck: 0, pornTypePainal: 0, pornTypeTease: 0, pornTypeRomantic: 0, pornTypePervert: 0, pornTypeCaring: 0, pornTypeUnflinching: 0, pornTypeSizeQueen: 0, pornTypeNeglectful: 0, pornTypeCumAddict: 0, pornTypeAnalAddict: 0, pornTypeAttentionWhore: 0, pornTypeBreastGrowth: 0, pornTypeAbusive: 0, pornTypeMalicious: 0, pornTypeSelfHating: 0, pornTypeBreeder: 0, pornTypeSub: 0, pornTypeCumSlut: 0, pornTypeAnal: 0, pornTypeHumiliation: 0, pornTypeBoobs: 0, pornTypeDom: 0, pornTypeSadist: 0, pornTypeMasochist: 0, pornTypePregnancy: 0, prestigeDesc: 0, recruiter: 0, relation: 0, relationTarget: 0, relationship: 0, relationshipTarget: 0, rivalry: 0, rivalryTarget: 0, subTarget: 0, father: 0, mother: 0, daughters: 0, sisters: 0, canRecruit: 0, choosesOwnAssignment: 0, assignment: "rest", assignmentVisible: 1, sentence: 0, training: 0, toyHole: "all her holes", indenture: -1, indentureRestrictions: 0, birthWeek: random(0,51), actualAge: 18, visualAge: 18, physicalAge: 18, ovaryAge: 18, ageImplant: 0, health: 0, minorInjury: 0, trust: 0, oldTrust: 0, devotion: 0, oldDevotion: 0, weight: 0, muscles: 0, height: 170, heightImplant: 0, nationality: "slave", race: "white", origRace: "white", markings: "none", eyes: 1, eyeColor: "brown", origEye: "brown", pupil: "circular", sclerae: "white", eyewear: "none", hears: 0, earwear: "none", earImplant: 0, origHColor: "brown", hColor: "brown", pubicHColor: "brown", underArmHColor: "brown", eyebrowHColor: "brown", origSkin: "light", skin: "light", hLength: 60, eyebrowFullness: "natural", hStyle: "short", pubicHStyle: "neat", underArmHStyle: "neat", eyebrowHStyle: "natural", waist: 0, corsetPiercing: 0, PLimb: 0, amp: 0, heels:0, voice: 2, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, boobsImplant: 0, boobsImplantType: 0, boobShape: "normal", nipples: "cute", nipplesPiercing: 0, nipplesAccessory: 0, areolae: 0, areolaePiercing: 0, areolaeShape: "circle", boobsTat: 0, lactation: 0, lactationAdaptation: 0, milk: 0, cum: 0, hips: 0, hipsImplant: 0, butt: 0, buttImplant: 0, buttImplantType: 0, buttTat: 0, face: 0, faceImplant: 0, faceShape: "normal", lips: 15, lipsImplant: 0, lipsPiercing: 0, lipsTat: 0, teeth: "normal", tonguePiercing: 0, vagina: 0, vaginaLube: 0, vaginaPiercing: 0, vaginaTat: 0, preg: -1, pregSource: 0, pregType: 0, pregAdaptation: 50, superfetation: 0, ovaImplant: 0, wombImplant: "none", broodmother: 0, broodmotherFetuses: 0, broodmotherOnHold: 0, broodmotherCountDown: 0, labor: 0, births: 0, cSec: 0, bellyAccessory: "none", labia: 0, clit: 0, clitPiercing: 0, clitSetting: "vanilla", foreskin: 0, anus: 0, dick: 0, analArea: 1, dickPiercing: 0, dickTat: 0, prostate: 0, balls: 0, scrotum: 0, ovaries: 0, anusPiercing: 0, anusTat: 0, makeup: 0, nails: 0, brand: 0, brandLocation: 0, earPiercing: 0, nosePiercing: 0, eyebrowPiercing: 0, navelPiercing: 0, shouldersTat: 0, armsTat: 0, legsTat: 0, backTat: 0, stampTat: 0, vaginalSkill: 0, oralSkill: 0, analSkill: 0, whoreSkill: 0, entertainSkill: 0, combatSkill: 0, livingRules: "spare", speechRules: "restrictive", releaseRules: "restrictive", relationshipRules: "restrictive", standardPunishment: "situational", standardReward: "situational", useRulesAssistant: 1, diet: "healthy", dietCum: 0, dietMilk: 0, tired: 0, hormones: 0, drugs: "no drugs", curatives: 0, chem: 0, aphrodisiacs: 0, addict: 0, fuckdoll: 0, choosesOwnClothes: 0, clothes: "no clothing", collar: "none", shoes: "none", vaginalAccessory: "none", dickAccessory: "none", legAccessory: "none", buttplug: "none", buttplugAttachment: "none", intelligence: 0, intelligenceImplant: 0, energy: 50, need: 0, attrXX: 0, attrXY: 0, attrKnown: 0, fetish: "none", fetishStrength: 70, fetishKnown: 0, behavioralFlaw: "none", behavioralQuirk: "none", sexualFlaw: "none", sexualQuirk: "none", oralCount: 0, vaginalCount: 0, analCount: 0, mammaryCount: 0, penetrativeCount: 0, publicCount: 0, pitKills: 0, customTat: "", customLabel: "", customDesc: "", customTitle: "", customTitleLisp: "", rudeTitle: 0, customImage: 0, currentRules: [], bellyTat: 0, induce: 0, mpreg: 0, inflation: 0, inflationType: "none", inflationMethod: 0, milkSource: 0, cumSource: 0, burst: 0, pregKnown: 0, pregWeek: 0, belly: 0, bellyPreg: 0, bellyFluid: 0, bellyImplant: -1, bellySag: 0, bellySagPreg: 0, bellyPain: 0, cervixImplant: 0, birthsTotal: 0, pubertyAgeXX: 13, pubertyAgeXY: 13, scars: 0, breedingMark: 0, bodySwap: 0, HGExclude: 0, ballType: "human", eggType: "human", reservedChildren: 0, reservedChildrenNursery: 0, choosesOwnChastity: 0, pregControl: "none", readyLimbs: [], ageAdjust: 0, bald: 0, origBodyOwner: "", origBodyOwnerID: 0, death: "", hormoneBalance: 0, onDiet: 0, breastMesh: 0, slavesFathered: 0, PCChildrenFathered: 0, slavesKnockedUp: 0, PCKnockedUp: 0, prematureBirth: 0, premature: 0, origSkin: "white", vasectomy: 0, haircuts: 0, newGamePlus: 0, skillHG: 0, skillRC: 0, skillBG: 0, skillMD: 0, skillDJ: 0, skillNU: 0, skillTE: 0, skillAT: 0, skillMT: 0, skillST: 0, skillMM: 0, skillFA: 0, skillWA: 0, skillS: 0, skillE: 0, skillW: 0, tankBaby: 0, geneMods: {NCS: 0, rapidCellGrowth: 0}, NCSyouthening: 0, override_Race: 0, override_Skin: 0, override_Eye_Color: 0, override_H_Color: 0, override_Pubic_H_Color: 0, override_Arm_H_Color: 0, override_Brow_H_Color: 0, missingEyes: 0, missingArms: 0, missingLegs: 0, slaveCost: 0, lifetimeCashExpenses: 0, lifetimeCashIncome: 0, lastWeeksCashIncome: 0, lifetimeRepExpenses: 0, lifetimeRepIncome: 0, lastWeeksRepIncome: 0, chastityVagina = 0, chastityPenis = 0, chastityAnus = 0}>>
+<<set $activeSlave = {slaveName: "blank", slaveSurname: 0, birthName: "blank", birthSurname: 0, genes: "XX", pronoun: "she", possessive: "her", possessivePronoun: "hers", objectReflexive: "herself", object: "her", noun: "girl", weekAcquired: 0, origin: 0, career: 0, ID: 0, prestige: 0, pornFeed: 0, pornFame: 0, pornFameSpending: 0, pornPrestige: 0, pornPrestigeDesc: 0, pornFameType: "none", pornFocus: "none", pornTypeGeneral: 0, pornTypeFuckdoll: 0, pornTypeRape: 0, pornTypePreggo: 0, pornTypeBBW: 0, pornTypeGainer: 0, pornTypeStud: 0, pornTypeLoli: 0, pornTypeDeepThroat: 0, pornTypeStruggleFuck: 0, pornTypePainal: 0, pornTypeTease: 0, pornTypeRomantic: 0, pornTypePervert: 0, pornTypeCaring: 0, pornTypeUnflinching: 0, pornTypeSizeQueen: 0, pornTypeNeglectful: 0, pornTypeCumAddict: 0, pornTypeAnalAddict: 0, pornTypeAttentionWhore: 0, pornTypeBreastGrowth: 0, pornTypeAbusive: 0, pornTypeMalicious: 0, pornTypeSelfHating: 0, pornTypeBreeder: 0, pornTypeSub: 0, pornTypeCumSlut: 0, pornTypeAnal: 0, pornTypeHumiliation: 0, pornTypeBoobs: 0, pornTypeDom: 0, pornTypeSadist: 0, pornTypeMasochist: 0, pornTypePregnancy: 0, prestigeDesc: 0, recruiter: 0, relation: 0, relationTarget: 0, relationship: 0, relationshipTarget: 0, rivalry: 0, rivalryTarget: 0, subTarget: 0, father: 0, mother: 0, daughters: 0, sisters: 0, canRecruit: 0, choosesOwnAssignment: 0, assignment: "rest", assignmentVisible: 1, sentence: 0, training: 0, toyHole: "all her holes", indenture: -1, indentureRestrictions: 0, birthWeek: random(0,51), actualAge: 18, visualAge: 18, physicalAge: 18, ovaryAge: 18, ageImplant: 0, health: 0, minorInjury: 0, trust: 0, oldTrust: 0, devotion: 0, oldDevotion: 0, weight: 0, muscles: 0, height: 170, heightImplant: 0, nationality: "slave", race: "white", origRace: "white", markings: "none", eyes: 1, eyeColor: "brown", origEye: "brown", pupil: "circular", sclerae: "white", eyewear: "none", hears: 0, earwear: "none", earImplant: 0, origHColor: "brown", hColor: "brown", pubicHColor: "brown", underArmHColor: "brown", eyebrowHColor: "brown", origSkin: "light", skin: "light", hLength: 60, eyebrowFullness: "natural", hStyle: "short", pubicHStyle: "neat", underArmHStyle: "neat", eyebrowHStyle: "natural", waist: 0, corsetPiercing: 0, PLimb: 0, amp: 0, heels:0, voice: 2, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, boobsImplant: 0, boobsImplantType: 0, boobShape: "normal", nipples: "cute", nipplesPiercing: 0, nipplesAccessory: 0, areolae: 0, areolaePiercing: 0, areolaeShape: "circle", boobsTat: 0, lactation: 0, lactationAdaptation: 0, milk: 0, cum: 0, hips: 0, hipsImplant: 0, butt: 0, buttImplant: 0, buttImplantType: 0, buttTat: 0, face: 0, faceImplant: 0, faceShape: "normal", lips: 15, lipsImplant: 0, lipsPiercing: 0, lipsTat: 0, teeth: "normal", tonguePiercing: 0, vagina: 0, vaginaLube: 0, vaginaPiercing: 0, vaginaTat: 0, preg: -1, pregSource: 0, pregType: 0, pregAdaptation: 50, superfetation: 0, ovaImplant: 0, wombImplant: "none", broodmother: 0, broodmotherFetuses: 0, broodmotherOnHold: 0, broodmotherCountDown: 0, labor: 0, births: 0, cSec: 0, bellyAccessory: "none", labia: 0, clit: 0, clitPiercing: 0, clitSetting: "vanilla", foreskin: 0, anus: 0, dick: 0, analArea: 1, dickPiercing: 0, dickTat: 0, prostate: 0, balls: 0, scrotum: 0, ovaries: 0, anusPiercing: 0, anusTat: 0, makeup: 0, nails: 0, brand: 0, brandLocation: 0, earPiercing: 0, nosePiercing: 0, eyebrowPiercing: 0, navelPiercing: 0, shouldersTat: 0, armsTat: 0, legsTat: 0, backTat: 0, stampTat: 0, vaginalSkill: 0, oralSkill: 0, analSkill: 0, whoreSkill: 0, entertainSkill: 0, combatSkill: 0, livingRules: "spare", speechRules: "restrictive", releaseRules: "restrictive", relationshipRules: "restrictive", standardPunishment: "situational", standardReward: "situational", useRulesAssistant: 1, diet: "healthy", dietCum: 0, dietMilk: 0, tired: 0, hormones: 0, drugs: "no drugs", curatives: 0, chem: 0, aphrodisiacs: 0, addict: 0, fuckdoll: 0, choosesOwnClothes: 0, clothes: "no clothing", collar: "none", shoes: "none", vaginalAccessory: "none", dickAccessory: "none", legAccessory: "none", buttplug: "none", buttplugAttachment: "none", intelligence: 0, intelligenceImplant: 0, energy: 50, need: 0, attrXX: 0, attrXY: 0, attrKnown: 0, fetish: "none", fetishStrength: 70, fetishKnown: 0, behavioralFlaw: "none", behavioralQuirk: "none", sexualFlaw: "none", sexualQuirk: "none", oralCount: 0, vaginalCount: 0, analCount: 0, mammaryCount: 0, penetrativeCount: 0, publicCount: 0, pitKills: 0, customTat: "", customLabel: "", customDesc: "", customTitle: "", customTitleLisp: "", rudeTitle: 0, customImage: 0, currentRules: [], bellyTat: 0, induce: 0, mpreg: 0, inflation: 0, inflationType: "none", inflationMethod: 0, milkSource: 0, cumSource: 0, burst: 0, pregKnown: 0, pregWeek: 0, belly: 0, bellyPreg: 0, bellyFluid: 0, bellyImplant: -1, bellySag: 0, bellySagPreg: 0, bellyPain: 0, cervixImplant: 0, birthsTotal: 0, pubertyAgeXX: 13, pubertyAgeXY: 13, scars: 0, breedingMark: 0, bodySwap: 0, HGExclude: 0, ballType: "human", eggType: "human", reservedChildren: 0, reservedChildrenNursery: 0, choosesOwnChastity: 0, pregControl: "none", readyLimbs: [], ageAdjust: 0, bald: 0, origBodyOwner: "", origBodyOwnerID: 0, death: "", hormoneBalance: 0, onDiet: 0, breastMesh: 0, slavesFathered: 0, PCChildrenFathered: 0, slavesKnockedUp: 0, PCKnockedUp: 0, prematureBirth: 0, premature: 0, origSkin: "white", vasectomy: 0, haircuts: 0, newGamePlus: 0, skillHG: 0, skillRC: 0, skillBG: 0, skillMD: 0, skillDJ: 0, skillNU: 0, skillTE: 0, skillAT: 0, skillMT: 0, skillST: 0, skillMM: 0, skillFA: 0, skillWA: 0, skillS: 0, skillE: 0, skillW: 0, tankBaby: 0, geneMods: {NCS: 0, rapidCellGrowth: 0}, NCSyouthening: 0, override_Race: 0, override_Skin: 0, override_Eye_Color: 0, override_H_Color: 0, override_Pubic_H_Color: 0, override_Arm_H_Color: 0, override_Brow_H_Color: 0, albinismOverride: 0, missingEyes: 0, missingArms: 0, missingLegs: 0, slaveCost: 0, lifetimeCashExpenses: 0, lifetimeCashIncome: 0, lastWeeksCashIncome: 0, lifetimeRepExpenses: 0, lifetimeRepIncome: 0, lastWeeksRepIncome: 0, chastityVagina = 0, chastityPenis = 0, chastityAnus = 0}>>
 
 Making your slave; add their name to the following, then go down the documentation adding in your changes.
 -each variable must be separated from the last by a comma followed by a space
diff --git a/src/Mods/DinnerParty/dinnerPartyExecution.tw b/src/Mods/DinnerParty/dinnerPartyExecution.tw
index e1562ef88fffaca870e6fd5122d8fc0c831ef300..14a2d408afcf93dbf3f9a5ae95e353a1e9f5e557 100644
--- a/src/Mods/DinnerParty/dinnerPartyExecution.tw
+++ b/src/Mods/DinnerParty/dinnerPartyExecution.tw
@@ -351,7 +351,7 @@
 		<<run repX(-500, "event")>>
 	<</if>>
 	<<if $activeSlave.buttImplant > 0>>
-		All of sudden one of your guests clutches his chest. His face turns pale as a ghost, foaming at the mouth falls over onto the table. You rush over to him, it is clear he is not breathing. You don't know what's wrong with him. It could not have been poison, since any toxins in the food would have been detected by your virtual assistant. You order your slave to rush the man to the nearest emergency clinic. You were informed later that he had died from ingesting a silicone butt implant. Your reputation @@.red;suffers@@ greatly due to this incident.
+		All of sudden one of your guests clutches his chest. His face turns pale as a ghost, foaming at the mouth falls over onto the table. You rush over to him, it is clear he is not breathing. You don't know what's wrong with him. It could not have been poison, since any toxins in the food would have been detected by your personal assistant. You order your slave to rush the man to the nearest emergency clinic. You were informed later that he had died from ingesting a silicone butt implant. Your reputation @@.red;suffers@@ greatly due to this incident.
 		<<set _dishRating -= 10>>
 		<<run repX(-5000, "event")>>
 	<</if>>
diff --git a/src/SecExp/encyclopediaSecExpBattles.tw b/src/SecExp/encyclopediaSecExpBattles.tw
index 2e0e50bd86451d3b94a75881bd0a4c4fc380a3d7..e261224ded36c89123b4a55ae78b14ab00abb9d9 100644
--- a/src/SecExp/encyclopediaSecExpBattles.tw
+++ b/src/SecExp/encyclopediaSecExpBattles.tw
@@ -41,7 +41,8 @@
 		<br><strong>Leader</strong>: The leader is who will command the combined troops in the field. Each type of leader has its bonuses and maluses.
 
 	<br><br>Leaders:
-		<br><strong>The Assistant</strong>: The assistant can lead the troops. Her performance will entirely depend on the computational power she has available. Non human soldiers will be happy to be lead by a computer however and will fight with less ardor, unless your own reputation or authority is high enough.
+		<<setAssistantPronouns>>
+		<br><strong>The Assistant</strong>: The assistant can lead the troops. _HisA performance will entirely depend on the computational power _heA has available. Human soldiers will be not happy to be lead by a computer however and will fight with less ardor, unless your own reputation or authority is high enough.
 
 		<br><strong>The Arcology Owner</strong>: You can join the fray yourself. Your performance will depend greatly on your warfare skill and your past. The troops will react to your presence depending on your social standing and your past as well.
 			Do note however there is the possibility of getting wounded, which makes you unable to focus on any task for a few weeks.
diff --git a/src/SecExp/secExpSmilingMan.tw b/src/SecExp/secExpSmilingMan.tw
index 54c7f81e2f2342ac77b4aa6e1f50369b7b22df9c..31cfeaf6c40d711952750ee3f9f8ee09574e7a9e 100644
--- a/src/SecExp/secExpSmilingMan.tw
+++ b/src/SecExp/secExpSmilingMan.tw
@@ -10,7 +10,7 @@
 	<br>	/* TODO: fix grammatical errors and clean this block up */
 	During your morning routine, you come across a peculiar report: it's been several weeks now that your arcology has been the victim of a series of cyber-crimes conducted by a mysterious figure.
 	The egocentric criminal took great pride in their acts, to the point of signing his acts with their peculiar symbol: a stylized smiling face. Your arcology was not the only one under assault by the
-	machinations of the one the media quickly nicknamed //the smiling man//.
+	machinations of the one the media quickly nicknamed //the Smiling Man//.
 	<br>Despite the sheer damage this criminal was doing, you cannot help but admire the skill with which every misdeed is carried — the worst white collar crimes of the century, carried out with such elegance
 	that they almost seemed the product of natural laws, rather than the masterful manipulation of the digital market.
 	While you sift through the pages of the report, $assistantName remains strangely quiet. "I'm worried, <<= properTitle()>> — this individual seems to be able to penetrate whichever system garners his attention. I... feel vulnerable," _heA says. "It's not something I'm used to."
diff --git a/src/SecExp/securityReport.tw b/src/SecExp/securityReport.tw
index 2d1b8ca4e6f956d52b3822fc88c34ceeb66dddd2..fa1ea2cb75d41e53694e63fd5b91c38ab5e39897 100644
--- a/src/SecExp/securityReport.tw
+++ b/src/SecExp/securityReport.tw
@@ -296,7 +296,8 @@
 				<<set _recruits += 1>>
 			<</if>>
 		<<else>>
-			''__@@.pink;<<= SlaveFullName($Recruiter)>>@@__'' is able to further boost your militia recruitment campaign from her PR hub office.
+			<<setLocalPronouns $Recruiter>>
+			''__@@.pink;<<= SlaveFullName($Recruiter)>>@@__'' is able to further boost your militia recruitment campaign from $his PR hub office.
 			<<if $propCampaignBoost == 1>>
 				<<set _recruits += 4+Math.floor(($Recruiter.intelligence+$Recruiter.intelligenceImplant)/32)>>
 			<<else>>
diff --git a/src/SecExp/weaponsManufacturing.tw b/src/SecExp/weaponsManufacturing.tw
index 787e3cb9511cce3546c47bdb4f81714bed9057ae..02c30b35092600b008ae03520e6354443fe0b96b 100644
--- a/src/SecExp/weaponsManufacturing.tw
+++ b/src/SecExp/weaponsManufacturing.tw
@@ -29,7 +29,7 @@ many small old world nations as the advanced technology that free cities have av
 	There's a large lab attached to the complex. The complement of equipment and personnel makes it a great beacon of military science in an otherwise ignorant world.
 <</if>>
 <br>
-<<if $weapMenials> 0>>Assigned here are $weapMenials slaves working to produce as much equipment as possible<<else>>There are no assigned menial slaves here. The spaces is manned exclusively by low rank citizens.<</if>>
+<<if $weapMenials> 0>>Assigned here are $weapMenials slaves working to produce as much equipment as possible.<<else>>There are no assigned menial slaves here. The spaces is manned exclusively by low rank citizens.<</if>>
 You own <<print commaNum($menials)>> free menial slaves. This manufacturing complex can house 500 at most, with <<print 500 - $weapMenials>> free slots.
 <br>
 <<silently>><<= MenialPopCap()>><</silently>>
diff --git a/src/SpecialForce/SpecialForce.js b/src/SpecialForce/SpecialForce.js
index 5a3326c70cbda0a24bdffd4057047de754e7bf7e..348ee96087053fbae8ed562ba7fc9c4b4b89a606 100644
--- a/src/SpecialForce/SpecialForce.js
+++ b/src/SpecialForce/SpecialForce.js
@@ -399,7 +399,7 @@ const V=State.variables,T=State.temporary,S=V.SF.Squad;
 	r+= ` The goods procured by ${V.SF.Lower} after accounting for the spoils retained by individual soldiers were `;
 	if (profit > 0) {
 		r += `<span class='green'>more than sufficient to cover expenses</span>. Excess material and human assets totaling <span class='yellowgreen'>${cashFormat(income)}</span> (after liquidation) were transferred to your accounts.`;
-		if (V.economy < 100) r += `The rapiddly degrading global economy has one upside,<span class='green'> ${V.SF.Caps} was able to more easily use more 'persuasive' technciques thus leading to an increase in profit</span>.`;
+		if (V.economy < 100) r += `The rapidly degrading global economy has one upside,<span class='green'> ${V.SF.Caps} was able to more easily use more 'persuasive' techniques thus leading to an increase in profit</span>.`;
 	} else {
 		r += `<span class='red'>barely enough to cover expenses.</span> More growth will be needed to ensure profitability, <span class='yellow'>hopefully purchasing more upgrades will help</span>.`;
 		r += ` Per the estimates that ${SFC()} provides, an additional <span class='yellowgreen'>${cashFormat(target-income)}</span> is required for sufficient cover.`;
@@ -1013,7 +1013,7 @@ window.ms = function() {
 			switch(FSPOS) {
 				case 'Repopulation': text += `Repopulation Efforts: focus on mass breeding in order to repopulate the future world.`; break;
 				case 'Eugenics': text += `Eugenics: rebuilding society using restrictive breeding programs reserved solely for society's finest. `; break;
-				case 'Gender radicalism': text += `Gender radicalism: a radical redefinition of gendetext that identifies powerful people as male, and everyone else as female.`; break;
+				case 'Gender radicalism': text += `Gender radicalism: a radical redefinition of gender that identifies powerful people as male, and everyone else as female.`; break;
 				case 'Gender traditionalism': text += `Gender traditionalism: a societal preference for feminine slaves and support for slave pregnancy. `; break;
 				case 'Paternalism': text += `Paternalism: a vision of slave improvement, including slaves' health, mental well-being, and education. `; break;
 				case 'Degradationism': text += `Degradationism: a belief that slaves are not human and should not be treated decently.`; break;
@@ -1022,7 +1022,7 @@ window.ms = function() {
 				case 'Youth Preferentialism': text += `Youth Preferentialism: increased interest in girls just past their majority. `; break;
 				case 'Maturity Preferentialism': text += `Maturity Preferentialism: increased interest in mature slaves. `; break;
 				case 'Slimness Enthusiasm': text += `Slimness Enthusiasm: a fashion for slaves with girlish figures.`; break;
-				case 'Asset Expansionism': text += `Asset Expansionism: societal hungetext for huge assets of whatever origin.`; break;
+				case 'Asset Expansionism': text += `Asset Expansionism: societal hunger for huge assets of whatever origin.`; break;
 				case 'Slave Pastoralism': text += `Slave Pastoralism: societal acceptance of slave products like milk.`; break;
 				case 'Physical Idealism': text += `Physical Idealism: societal reverence for the idealized human form, including height, health and muscle.`; break;
 				case 'Hedonistic Decadence': text += `Hedonistic Decadence: societal acceptance of overindulgence and immediate gratification. Be it food, drink, sex, drugs or whatever one's desire may be.`; break;
diff --git a/src/art/artJS.js b/src/art/artJS.js
index 4b872ca3401250a017b23017c42846f8ee75a6d3..e350ea6bd265583464586d301e74266d9167d684 100644
--- a/src/art/artJS.js
+++ b/src/art/artJS.js
@@ -1,7 +1,31 @@
+/*
+Call as <<= SlaveArt(...)>> or <<print SlaveArt(...)>>
+Displays slave images. Currently passage-based.
+artSlave: Slave.
+artSize: Image size/center.
+	3: Large, right. Example: long slave description.
+	2: Medium, right. Example: random events.
+	1: Small, left. Example: lists.
+	0: Tiny, left. Example: facilities
+UIDisplay (optional, only used by legacy art): icon UI Display for vector art, 1 for on.
+*/
+window.SlaveArt = function(artSlave, artSize, UIDisplay) {
+	const imageChoice = State.variables.imageChoice;
+	if (artSlave.customImage !== 0)
+		return CustomArt(artSlave, artSize);
+	else if (imageChoice === 1) /* VECTOR ART BY NOX/DEEPMURK */
+		return VectorArt(artSlave, artSize);
+	else if (imageChoice === 2) /* VECTOR ART BY NOX - Pregmod Legacy Version */
+		return LegacyVectorArt(artSlave, UIDisplay);
+	else if (imageChoice === 3) /* VECTOR ART REVAMP*/
+		return RevampedVectorArt(artSlave);
+	else /* RENDERED IMAGES BY SHOKUSHU */
+		return ArtControlRendered(artSlave, artSize);
+};
+
 window.ArtControlRendered = function ArtControlRendered(slave, sizePlacement) {
 	const V = State.variables;
 	let fileName = "'resources/renders/";
-	let r = "";
 
 	if (slave.belly > 1500) {
 		fileName += "preg ";
@@ -47,7 +71,7 @@ window.ArtControlRendered = function ArtControlRendered(slave, sizePlacement) {
 		}
 	} else if (slave.fetish === "mindbroken") {
 		fileName = `${fileName} reluctant`;
-	} else if (slave.devotion <= 50 || slave.fetishKnown !== 1 || V.seeMainFetishes === 0 && sizePlacement < 2) {
+	} else if (slave.devotion <= 50 || slave.fetishKnown !== 1 || (V.seeMainFetishes === 0 && sizePlacement < 2)) {
 		fileName = `${fileName} obedient`;
 	} else {
 		if (slave.fetish === "none") {
@@ -59,15 +83,30 @@ window.ArtControlRendered = function ArtControlRendered(slave, sizePlacement) {
 
 	fileName += ".png'";
 	if (sizePlacement === 3) {
-		r = `<img src=${fileName} style='float:right; border:3px hidden'>`;
+		return `<img src=${fileName} style='float:right; border:3px hidden'>`;
 	} else if (sizePlacement === 2) {
-		r = `<img src=${fileName} style='float:right; border:3px hidden' width='300' height='300'>`;
+		return `<img src=${fileName} style='float:right; border:3px hidden' width='300' height='300'>`;
 	} else if (sizePlacement === 1) {
-		r = `<img src=${fileName} style='float:left; border:3px hidden' width='150' height='150'>`;
+		return `<img src=${fileName} style='float:left; border:3px hidden' width='150' height='150'>`;
 	} else {
-		r = `<img src=${fileName} style='float:left; border:3px hidden' width='120' height='120'>`;
+		return `<img src=${fileName} style='float:left; border:3px hidden' width='120' height='120'>`;
 	}
-	return r;
+};
+
+window.CustomArt = function(slave, imageSize) {
+	const fileType = slave.customImageFormat || "png";
+	const fileName = `'resources/${slave.customImage}.${fileType}'`;
+	const displayTypeStart = (fileType === "webm" ? "video loop autoplay" : "img");
+	const displayTypeEnd = (fileType === "webm" ? "</video>" : "");
+
+	if (imageSize === 3)
+		return `<${displayTypeStart} src=${fileName} style='float:right; border:3px hidden'>${displayTypeEnd}`;
+	else if (imageSize === 2)
+		return `<${displayTypeStart} src=${fileName} style='float:right; border:3px hidden' width='300' height='300'>${displayTypeEnd}`;
+	else if (imageSize === 1)
+		return `<${displayTypeStart} src=${fileName} style='float:right; border:3px hidden' width='150' height='150'>${displayTypeEnd}`;
+	else
+		return `<${displayTypeStart} src=${fileName} style='float:right; border:3px hidden' width='120' height='120'>${displayTypeEnd}`;
 };
 
 /*
@@ -1728,1941 +1767,3 @@ window.skinColorCatcher = function (artSlave) {
 	}
 	return colorSlave;
 };
-
-window.VectorArt = (function (artSlave) {
-	"use strict";
-	let V, T, slave;
-	let r;
-	let leftArmType, rightArmType, legSize, torsoSize, buttSize, penisSize, hairLength;
-	let bellyScaleFactor, artBoobScaleFactor, heightScaleFactor;
-	let artTranslationX, artTranslationY;
-	let penisDrawtime, penisArtString;
-	
-	function VectorArt(artSlave) {
-		/* set constants */
-		V = State.variables;
-		T = State.temporary;
-		slave = artSlave;
-		/* reset/initialize some variables */
-		T.artTransformBelly = "";
-		T.artTransformBoob = "";
-		T.art_transform = ""; /* in case other files are trying to use this, and expecting a string */
-		r = "";
-		if (V.seeHeight !== 0)
-			heightScaleFactor = 200 / slave.height;
-		else
-			heightScaleFactor = 1;
-
-		setArmType();
-		setBoobScaling();
-		setButtSize();
-		setHairLength();
-		setLegSize();
-		setPenisSize();
-		penisArtControl(); /* depends on setPenisSize and setBoobScaling, sets penisDrawtime and penisArtString */
-		setTorsoSize();
-		
-		/*
-		each function adds one layer of vector art
-		vector art added later is drawn over previously added art
-		(what is listed on the bottom in the code appears on the top of the image)
-		*/
-		ArtVectorHairBack();
-		ArtVectorArm();
-		ArtVectorAnalAccessories();
-		ArtVectorButt();
-		ArtVectorLeg();
-		ArtVectorFeet(); /* includes shoes and leg outfits*/
-		ArtVectorTorso();
-		ArtVectorPussy();
-		ArtVectorPubicHair();
-		if (slave.vaginaPiercing !== 0 || slave.clitPiercing !== 0)
-			ArtVectorPussyPiercings();
-		ArtVectorChastityBelt();
-		ArtVectorTorsoOutfit(); /* note: clothing covers chastity belts */
-		if (slave.scrotum > 0 && slave.balls > 0)
-			ArtVectorBalls();
-		if (penisDrawtime === 0) /* for dicks behind boobs */
-			r += penisArtString;
-		ArtVectorBelly(); /* includes navel piercing and belly-related clothing options */
-		ArtVectorBoob(); /* includes areolae and piercings */
-		if (penisDrawtime === 1) /* for dicks in front of boobs */
-			r += penisArtString;
-		ArtVectorBoobAddons(); /* piercings always appear in front of boobs AND dick */
-		ArtVectorCollar(); /* includes clavicle artwork */
-		ArtVectorHead(); /* glasses are drawn here */
-		ArtVectorHairFore();
-		
-		return r;
-	}
-
-	function setArmType() {
-		if (slave.amp === 1) {
-			leftArmType = "None";
-			rightArmType = "None";
-		} else {
-			if (slave.devotion > 50) {
-				leftArmType = "High";
-				rightArmType = "High";
-			} else if (slave.trust >= -20) {
-				if (slave.devotion < -20) {
-					leftArmType = "Rebel";
-					rightArmType = "Low";
-				} else if (slave.devotion <= 20) {
-					leftArmType = "Low";
-					rightArmType = "Low";
-				} else {
-					leftArmType = "Mid";
-					rightArmType = "High";
-				}
-			} else {
-				leftArmType = "Mid";
-				rightArmType = "Mid";
-			}
-		}
-	}
-
-	function setBoobScaling() {
-		/*
-		Prepare SVG transform matrix for continuous boob scaling.
-		This transform affects boobs, areolae and piercings.
-		The parameters were fit by points (300,1.0) and (15000,2.5).
-		See https://www.wolframalpha.com/input/?i=log+fit+%7B%7B300,1%7D,%7B15000,2.5%7D%7D .
-		Boobs start at 300cc as of "flesh description widgets".
-		Upper value was discussed at https://github.com/Free-Cities/Free-Cities/issues/950#issuecomment-321359466 .
-		*/
-		if (slave.boobs < 300) {
-			artBoobScaleFactor = 1;
-			artTranslationX = 22; /* a little shift to the right is needed due to perspective */
-			artTranslationY = 0;
-		} else {
-			artBoobScaleFactor = 0.383433 * Math.log(0.0452403 * slave.boobs) * heightScaleFactor;
-			artTranslationX = -282.841 * artBoobScaleFactor + 292.349;
-			artTranslationY = -225.438 * artBoobScaleFactor + 216.274;
-		}
-		T.artTransformBoob = `matrix(${artBoobScaleFactor},0,0,${artBoobScaleFactor},${artTranslationX},${artTranslationY})`;
-	}
-
-	function setButtSize() {
-		/* Size calculations - needs to be done even for amputees */
-		buttSize = Math.clamp(Math.trunc(slave.butt), 1, 7) - 1;
-	}
-
-	function setHairLength() {
-		hairLength = undefined;
-		if (slave.hLength >= 60)
-			hairLength = "Long";
-		else if (slave.hLength >= 30)
-			hairLength = "Medium";
-		else if (slave.hLength >= 10)
-			hairLength = "Short";		
-	}
-
-	function setLegSize() {
-		/* Leg wideness switch courtesy of Nov-X */
-		/* needs to be done even for amputees */
-		if (slave.hips === -2) {
-			if (slave.weight <= 0)
-				legSize = "Narrow";
-			else if (slave.weight < 161)
-				legSize = "Normal";
-			else 
-				legSize = "Wide";
-		} else if (slave.hips === -1) {
-			if (slave.weight <= -11)
-				legSize = "Narrow";
-			else if (slave.weight < 96)
-				legSize = "Normal";
-			else
-				legSize = "Wide";
-		} else if (slave.hips === 0) {
-			if (slave.weight <= -96)
-				legSize = "Narrow";
-			else if (slave.weight < 11)
-				legSize = "Normal";
-			else if (slave.weight < 131)
-				legSize = "Wide";
-			else
-				legSize = "Thick";
-		} else if (slave.hips === 1) {
-			if (slave.weight <= -31)
-				legSize = "Normal";
-			else if (slave.weight < 31)
-				legSize = "Wide";
-			else
-				legSize = "Thick";
-		} else { /* .hips === 2 or 3 */
-			if (slave.weight <= -11)
-				legSize = "Wide";
-			else
-				legSize = "Thick";
-		}
-	}
-
-	function setPenisSize() {
-		penisSize = undefined;
-		if (slave.dick > 6 || (slave.dick > 0 && slave.belly <= 4000))
-			penisSize = Math.clamp(slave.dick, 1, 11) - 1;
-	}
-
-	function penisArtControl() {
-		penisArtString = "";
-		if (penisSize === undefined) {
-			penisDrawtime = -1; /* no penis to draw */
-		} else {
-			penisDrawtime = 0; /* default is to draw before boobs/belly */
-			switch (slave.clothes) {
-				/* BULGE OUTFITS LONG+MEDIUM OUTFITS */
-				case "a ball gown":
-				case "a biyelgee costume":
-				case "a burkini":
-				case "a burqa":
-				case "a dirndl":
-				case "a halter top dress":
-				case "a hijab and abaya":
-				case "a hijab and blouse":
-				case "a kimono":
-				case "a klan robe":
-				case "a long qipao":
-				case "a maternity dress":
-				case "a military uniform":
-				case "a mounty outfit":
-				case "a nice maid outfit":
-				case "a nice nurse outfit":
-				case "a niqab and abaya":
-				case "a police uniform":
-				case "a red army uniform":
-				case "a schutzstaffel uniform":
-				case "a skimpy loincloth":
-				case "a slave gown":
-				case "a slutty nurse outfit":
-				case "a slutty schutzstaffel uniform":
-				case "a t-shirt and jeans":
-				case "a toga":
-				case "an apron":
-				case "battlearmor":
-				case "battledress":
-				case "conservative clothing":
-				case "jeans":
-				case "leather pants":
-				case "leather pants and a tube top":
-				case "leather pants and pasties":
-				case "lederhosen":
-				case "nice business attire":
-				case "slutty business attire":
-				case "spats and a tank top":
-				case "sport shorts":
-				case "sport shorts and a sports bra":
-				case "sport shorts and a t-shirt":
-				case "stretch pants and a crop-top":
-					penisArtString = jsInclude(`Art_Vector_Bulge_Outfit_${penisSize}`);
-					break;
-				/* BULGE OUTFITS SHORT OUTFITS */
-				case "a bunny outfit":
-				case "a button-up shirt and panties":
-				case "a chattel habit":
-				case "a huipil":
-				case "a leotard":
-				case "a mini dress":
-				case "a monokini":
-				case "a one-piece swimsuit":
-				case "a penitent nuns habit":
-				case "a scalemail bikini":
-				case "a slutty klan robe":
-				case "a slutty maid outfit":
-				case "a slutty outfit":
-				case "a slutty qipao":
-				case "a succubus outfit":
-				case "a sweater and cutoffs":
-				case "a sweater and panties":
-				case "a t-shirt and panties":
-				case "a t-shirt and thong":
-				case "a tank-top and panties":
-				case "a thong":
-				case "a tube top and thong":
-				case "an oversized t-shirt and boyshorts":
-				case "attractive lingerie for a pregnant woman":
-				case "boyshorts":
-				case "cutoffs":
-				case "cutoffs and a t-shirt":
-				case "harem gauze":
-				case "kitty lingerie":
-				case "panties":
-				case "panties and pasties":
-				case "striped panties":
-				case "striped underwear":
-					if (slave.belly <= 4000) {
-						if (slave.dick > 3)
-							penisArtString = jsInclude("Art_Vector_Bulge_Outfit_3");
-						else
-							penisArtString = jsInclude(`Art_Vector_Bulge_Outfit_${penisSize}`);
-					}
-					break;
-				/* hide everything */
-				case "a cheerleader outfit":
-				case "a gothic lolita dress":
-				case "a hanbok":
-				case "a schoolgirl outfit":
-					break;
-				/* full frontal */
-				default:
-					if (canAchieveErection(slave) && !(slave.chastityPenis)) {
-						penisDrawtime = 1; /* draw erect penis over boobs if boobs do not hide the penis' base */
-						if (artBoobScaleFactor < 3.7) {
-							if (slave.foreskin !== 0)
-								penisArtString = jsInclude(`Art_Vector_Penis_${penisSize}`);
-							else
-								penisArtString = jsInclude(`Art_Vector_PenisCirc_${penisSize}`);
-						}
-					} else {
-						/* flaccid penises are drawn behind the boobs/belly */
-						if (slave.foreskin !== 0) 
-							penisArtString = jsInclude(`Art_Vector_Flaccid_${penisSize}`);
-						else
-							penisArtString = jsInclude(`Art_Vector_FlaccidCirc_${penisSize}`);
-						/* this draws chastity OVER latex catsuit. prndev finds this alright. */
-						if (slave.chastityPenis) 
-							penisArtString += jsInclude(`Art_Vector_Chastity_Cage_${penisSize}`);
-					}
-			}
-		}
-	}
-
-	function setTorsoSize() {
-		/* Torso size switch courtesy of Nov-X */
-		if (slave.waist >= 96) {
-			if (slave.weight >= 96)
-				torsoSize = "Obese";
-			else if (slave.weight >= 11)
-				torsoSize = "Fat";
-			else if (slave.weight > -31)
-				torsoSize = "Chubby";
-			else
-				torsoSize = "Normal";
-		} else if (slave.waist >= 41) {
-			if (slave.weight >= 131)
-				torsoSize = "Obese";
-			else if (slave.weight >= 31)
-				torsoSize = "Fat";
-			else if (slave.weight >= 0)
-				torsoSize = "Chubby";
-			else if (slave.weight > -96)
-				torsoSize = "Normal";
-			else
-				torsoSize = "Hourglass";
-		} else if (slave.waist >= 11) {
-			if (slave.weight >= 161)
-				torsoSize = "Obese";
-			else if (slave.weight >= 96)
-				torsoSize = "Fat";
-			else if (slave.weight >= 11)
-				torsoSize = "Chubby";
-			else if (slave.weight > -31)
-				torsoSize = "Normal";
-			else
-				torsoSize = "Hourglass";
-		} else if (slave.waist > -11) {
-			if (slave.weight >= 191)
-				torsoSize = "Obese";
-			else if (slave.weight >= 131)
-				torsoSize = "Fat";
-			else if (slave.weight >= 31)
-				torsoSize = "Chubby";
-			else if (slave.weight >= 0)
-				torsoSize = "Normal";
-			else if (slave.weight > -96)
-				torsoSize = "Hourglass";
-			else
-				torsoSize = "Unnatural";
-		} else if (slave.waist > -41) {
-			if (slave.weight >= 161)
-				torsoSize = "Fat";
-			else if (slave.weight >= 96)
-				torsoSize = "Chubby";
-			else if (slave.weight >= 11)
-				torsoSize = "Normal";
-			else if (slave.weight > -31)
-				torsoSize = "Hourglass";
-			else
-				torsoSize = "Unnatural";
-		} else if (slave.waist > -96) {
-			if (slave.weight >= 191)
-				torsoSize = "Fat";
-			else if (slave.weight >= 131)
-				torsoSize = "Chubby";
-			else if (slave.weight >= 31)
-				torsoSize = "Normal";
-			else if (slave.weight > -11)
-				torsoSize = "Hourglass";
-			else
-				torsoSize = "Unnatural";
-		} else {
-			if (slave.weight >= 161)
-				torsoSize = "Chubby";
-			else if (slave.weight >= 96)
-				torsoSize = "Normal";
-			else if (slave.weight > 0)
-				torsoSize = "Hourglass";
-			else
-				torsoSize = "Unnatural";
-		}
-	}
-
-	function ArtVectorAnalAccessories() {
-		if (slave.buttplug === "long plug")
-			r += jsInclude("Art_Vector_Plug_Long");
-		else if (slave.buttplug === "large plug")
-			r += jsInclude("Art_Vector_Plug_Large");
-		else if (slave.buttplug === "long, large plug")
-			r += jsInclude("Art_Vector_Plug_Large_Long");
-		else if (slave.buttplug === "huge plug")
-			r += jsInclude("Art_Vector_Plug_Huge");
-		else if (slave.buttplug === "long, huge plug")
-			r += jsInclude("Art_Vector_Plug_Huge_Long");
-
-		if (slave.buttplugAttachment === "tail")
-			r += jsInclude("Art_Vector_Plug_Tail");
-		else if (slave.buttplugAttachment === "cat tail")
-			r += jsInclude("Art_Vector_Cat_Tail");
-	}
-
-	function ArtVectorArm() {
-		/* Arms position switch courtesy of Nov-X */
-		/* Updated 2018-10-25 by Fr0g */
-		/* - changed arm calculation block position*/
-		/* - added brackets to make boolean logic run */
-
-		if (slave.amp === 1) {
-			/* Many amputee clothing art files exist, but draw nothing.They are excluded for now to reduce on rendering time
-			r += jsInclude("Art_Vector_Arm_Right_None");
-			r += jsInclude("Art_Vector_Arm_Left_None");
-			*/
-		} else { /* is not amputee or has limbs equipped so running arm calculation block */
-			if (slave.amp === 0) {
-				r += jsInclude(`Art_Vector_Arm_Right_${rightArmType}`);
-				r += jsInclude(`Art_Vector_Arm_Left_${leftArmType}`);
-				if (slave.muscles >= 6) {
-					if (leftArmType === "High")
-						r += jsInclude("Art_Vector_Arm_Left_High_MLight");
-					else if (leftArmType === "Mid")
-						r += jsInclude("Art_Vector_Arm_Left_Mid_MLight");
-					else if (leftArmType === "Low")
-						r += jsInclude("Art_Vector_Arm_Left_Low_MLight");
-					else if (leftArmType === "Rebel")
-						r += jsInclude("Art_Vector_Arm_Left_Rebel_MLight");
-
-					if (rightArmType === "High")
-						r += jsInclude("Art_Vector_Arm_Right_High_MLight");
-					else if (rightArmType === "Mid")
-						r += jsInclude("Art_Vector_Arm_Right_Mid_MLight");
-					else if (rightArmType === "Low")
-						r += jsInclude("Art_Vector_Arm_Right_Low_MLight");
-				}
-			} else if (slave.PLimb === 1 || slave.PLimb === 2) { /* slave is an amputee and has PLimbs equipped */
-				if (slave.amp === -1) {
-					r += jsInclude(`Art_Vector_Arm_Right_ProstheticBasic_${rightArmType}`);
-					r += jsInclude(`Art_Vector_Arm_Left_ProstheticBasic_${leftArmType}`);
-				} else if (slave.amp === -2) {
-					r += jsInclude(`Art_Vector_Arm_Right_ProstheticSexy_${rightArmType}`);
-					r += jsInclude(`Art_Vector_Arm_Left_ProstheticSexy_${leftArmType}`);
-				} else if (slave.amp === -3) {/* Reverting beauty limbs to regular SVG */
-					r += jsInclude(`Art_Vector_Arm_Right_ProstheticBeauty_${rightArmType}`);
-					r += jsInclude(`Art_Vector_Arm_Left_ProstheticBeauty_${leftArmType}`);
-				} else if (slave.amp === -4) {
-					r += jsInclude(`Art_Vector_Arm_Right_ProstheticCombat_${rightArmType}`);
-					r += jsInclude(`Art_Vector_Arm_Left_ProstheticCombat_${leftArmType}`);
-				} else if (slave.amp === -5) {
-					r += jsInclude(`Art_Vector_Arm_Right_ProstheticSwiss_${rightArmType}`);
-					r += jsInclude(`Art_Vector_Arm_Left_ProstheticSwiss_${leftArmType}`);
-				}
-			}
-			/* shiny clothing */
-			if (V.seeVectorArtHighlights === 1) {
-				if (slave.fuckdoll !== 0 || slave.clothes === "restrictive latex" || slave.clothes === "a latex catsuit" || slave.clothes === "body oil") {
-					/* only some arm positions have art (feel free to add more) */
-					if (leftArmType === "High")
-						r += jsInclude("Art_Vector_Arm_Outfit_Shine_Left_High");
-					else if (leftArmType === "Mid")
-						r += jsInclude("Art_Vector_Arm_Outfit_Shine_Left_Mid");
-					else if (leftArmType === "Low")
-						r += jsInclude("Art_Vector_Arm_Outfit_Shine_Left_Low");
-				}
-			}
-			/* TODO: simplify selection (select prefix, infix and suffix and combine instead of using switch statements) */
-			switch (slave.clothes) {
-				case "a biyelgee costume":
-				case "a burkini":
-				case "a button-up shirt":
-				case "a button-up shirt and panties":
-				case "a cheerleader outfit":
-				case "a dirndl":
-				case "a gothic lolita dress":
-				case "a hanbok":
-				case "a hijab and blouse":
-				case "a huipil":
-				case "a kimono":
-				case "a klan robe":
-				case "a long qipao":
-				case "a military uniform":
-				case "a mounty outfit":
-				case "a nice maid outfit":
-				case "a nice nurse outfit":
-				case "a police uniform":
-				case "a red army uniform":
-				case "a schoolgirl outfit":
-				case "a slutty klan robe":
-				case "a slutty nurse outfit":
-				case "a slutty qipao":
-				case "a sweater":
-				case "a sweater and cutoffs":
-				case "a sweater and panties":
-				case "a t-shirt":
-				case "a t-shirt and jeans":
-				case "a t-shirt and panties":
-				case "a t-shirt and thong":
-				case "an oversized t-shirt":
-				case "an oversized t-shirt and boyshorts":
-				case "battlearmor":
-				case "battledress":
-				case "clubslut netting":
-				case "conservative clothing":
-				case "cutoffs and a t-shirt":
-				case "lederhosen":
-				case "nice business attire":
-				case "slutty business attire":
-				case "slutty jewelry":
-				case "sport shorts and a t-shirt":
-				case "Western clothing":
-					r += jsInclude(`Art_Vector_Arm_Outfit_${clothing2artSuffix(slave.clothes)}_Right_${rightArmType}`);
-					r += jsInclude(`Art_Vector_Arm_Outfit_${clothing2artSuffix(slave.clothes)}_Left_${leftArmType}`);
-					break;
-				/* manually handle special cases */
-				case "a schutzstaffel uniform":
-				case "a slutty schutzstaffel uniform":
-					r += jsInclude(`Art_Vector_Arm_Outfit_SchutzstaffelUniform_Right_${rightArmType}`);
-					r += jsInclude(`Art_Vector_Arm_Outfit_SchutzstaffelUniform_Left_${leftArmType}`);
-					break;
-				case "a hijab and abaya":
-				case "a niqab and abaya":
-				case "a burqa":
-					r += jsInclude(`Art_Vector_Arm_Outfit_HijabAndAbaya_Right_${rightArmType}`);
-					r += jsInclude(`Art_Vector_Arm_Outfit_HijabAndAbaya_Left_${leftArmType}`);
-					break;
-				case "a slave gown":
-					/* only some arm positions have art (feel free to add more) */
-					if (leftArmType !== "Rebel")
-						r += jsInclude(`Art_Vector_Arm_Outfit_SlaveGown_Left_${leftArmType}`);
-			}
-		} /* close .amp check */
-	}
-
-	function ArtVectorBalls() {
-		switch (slave.clothes) {
-			case "a bra":
-			case "a button-up shirt":
-			case "a comfortable bodysuit":
-			case "a cybersuit":
-			case "a fallen nuns habit":
-			case "a hanbok":
-			case "a latex catsuit":
-			case "a monokini":
-			case "a nice pony outfit":
-			case "a slutty pony outfit":
-			case "a sports bra":
-			case "a string bikini":
-			case "a striped bra":
-			case "a sweater":
-			case "a t-shirt":
-			case "a tank-top":
-			case "a thong":
-			case "a tube top":
-			case "an oversized t-shirt":
-			case "attractive lingerie":
-			case "body oil":
-			case "chains":
-			case "choosing her own clothes":
-			case "clubslut netting":
-			case "no clothing":
-			case "panties and pasties":
-			case "restrictive latex":
-			case "shibari ropes":
-			case "slutty jewelry":
-			case "uncomfortable straps":
-			case "Western clothing":
-				let ballsScaleFactor = (slave.scrotum / 3) * heightScaleFactor;
-				artTranslationX = -271 * (ballsScaleFactor - 1);
-				artTranslationY = -453 * (ballsScaleFactor - 1);
-				T.artTransformBalls = `matrix(${ballsScaleFactor},0,0,${ballsScaleFactor},${artTranslationX},${artTranslationY})`;
-				r += jsInclude("Art_Vector_Balls");
-		}
-	}
-
-	function ArtVectorBelly() {
-		if (slave.belly >= 2000) {
-			/* add pregnancy belly, scale dynamically (clothing and addons can be scaled, too) */
-			/* TODO: add check in penis control. do not draw penis atop belly if _art_belly_scale_factor > 1. */
-			bellyScaleFactor = 0.300 * Math.log(0.011 * slave.belly) * heightScaleFactor;
-			artTranslationX = -262 * (bellyScaleFactor - 1);
-			artTranslationY = -284 * (bellyScaleFactor - 1);
-			T.artTransformBelly = `matrix(${bellyScaleFactor},0,0,${bellyScaleFactor},${artTranslationX},${artTranslationY})`;
-
-			if (slave.navelPiercing === 1)
-				r += jsInclude("Art_Vector_Belly_Pregnant_Piercing");
-			else if (slave.navelPiercing === 2)
-				r += jsInclude("Art_Vector_Belly_Pregnant_Piercing_Heavy");
-			else
-				r += jsInclude("Art_Vector_Belly");
-
-			switch (slave.clothes) {
-				case "a bra":
-				case "a cybersuit":
-				case "a Fuckdoll suit":
-				case "a latex catsuit":
-				case "a nice pony outfit":
-				case "a scalemail bikini":
-				case "a skimpy loincloth":
-				case "a slutty klan robe":
-				case "a slutty outfit":
-				case "a slutty pony outfit":
-				case "a sports bra":
-				case "a string bikini":
-				case "a striped bra":
-				case "a thong":
-				case "a tube top":
-				case "a tube top and thong":
-				case "attractive lingerie":
-				case "attractive lingerie for a pregnant woman":
-				case "body oil":
-				case "boyshorts":
-				case "chains":
-				case "choosing her own clothes":
-				case "cutoffs":
-				case "jeans":
-				case "kitty lingerie":
-				case "leather pants":
-				case "leather pants and a tube top":
-				case "leather pants and pasties":
-				case "no clothing":
-				case "panties":
-				case "panties and pasties":
-				case "restrictive latex":
-				case "shibari ropes":
-				case "slutty jewelry":
-				case "sport shorts":
-				case "sport shorts and a sports bra":
-				case "stretch pants and a crop-top":
-				case "striped panties":
-				case "striped underwear":
-				case "uncomfortable straps":
-					break; /* do nothing for these choices */
-				/* manually handle special cases */
-				case "a slutty schutzstaffel uniform":
-					r += jsInclude("Art_Vector_Belly_Outfit_SchutzstaffelUniform");
-					break;
-				case "a niqab and abaya":
-				case "a burqa":
-					r += jsInclude("Art_Vector_Belly_Outfit_HijabAndAbaya");
-					break;
-				default:
-					r += jsInclude(`Art_Vector_Belly_Outfit_${clothing2artSuffix(slave.clothes)}`);
-			}
-			/* shiny clothing */
-			if (V.seeVectorArtHighlights === 1) {
-				if (slave.fuckdoll !== 0 || slave.clothes === "restrictive latex" || slave.clothes === "a latex catsuit" || slave.clothes === "body oil") {
-					r += jsInclude("Art_Vector_Belly_Outfit_Shine");
-				}
-			}
-		}
-		/* belly piercings for flat bellies */
-		if (slave.belly === 0) {
-			if (slave.navelPiercing === 1)
-				r += jsInclude("Art_Vector_Belly_Piercing");
-			else if (slave.navelPiercing === 2)
-				r += jsInclude("Art_Vector_Belly_Piercing_Heavy");
-		}
-		/* Torso Accessories */
-		if ((slave.bellyAccessory === "a corset" || slave.bellyAccessory === "an extreme corset") && slave.belly === 0) {
-			if (torsoSize === "Normal")
-				r += jsInclude("Art_Vector_Corsetnormal");
-			else if (torsoSize === "Hourglass")
-				r += jsInclude("Art_Vector_Corsethourglass");
-			else if (torsoSize === "Unnatural")
-				r += jsInclude("Art_Vector_Corsetunnatural");
-		} else if (slave.bellyAccessory === "a small empathy belly") {
-			r += jsInclude("Art_Vector_Empathy_Belly_Small");
-		} else if (slave.bellyAccessory === "a medium empathy belly") {
-			r += jsInclude("Art_Vector_Empathy_Belly_Medium");
-		} else if (slave.bellyAccessory === "a large empathy belly") {
-			r += jsInclude("Art_Vector_Empathy_Belly_Large");
-		} else if (slave.bellyAccessory === "a huge empathy belly") {
-			r += jsInclude("Art_Vector_Empathy_Belly_Huge");
-		}
-	}
-
-	function ArtVectorBoob() {
-		if (slave.boobs < 300) {
-			/* BEWARE: this threshold may be used in other art-related code, too */
-			/* boobs too small - draw areolae directly onto torso */
-		} else {
-			r += jsInclude("Art_Vector_Boob_Alt");
-			/* shiny clothing */
-			if (V.seeVectorArtHighlights === 1) {
-				if (slave.fuckdoll !== 0 || slave.clothes === "a latex catsuit" || slave.clothes === "body oil")
-					r += jsInclude("Art_Vector_Boob_Outfit_Shine");
-			}
-		}
-		switch (slave.clothes) { /* display nipples/areola for the following clothes */
-			case "a chattel habit":
-			case "a fallen nuns habit":
-			case "a Fuckdoll suit":
-			case "a monokini":
-			case "a nice pony outfit":
-			case "a skimpy loincloth":
-			case "a slutty pony outfit":
-			case "a string bikini":
-			case "a succubus outfit":
-			case "a thong":
-			case "a toga":
-			case "attractive lingerie for a pregnant woman":
-			case "body oil":
-			case "boyshorts":
-			case "chains":
-			case "choosing her own clothes":
-			case "clubslut netting":
-			case "cutoffs":
-			case "jeans":
-			case "leather pants":
-			case "no clothing":
-			case "panties":
-			case "restrictive latex":
-			case "shibari ropes":
-			case "slutty jewelry":
-			case "sport shorts":
-			case "striped panties":
-			case "uncomfortable straps":
-				if (slave.areolaeShape === "star")
-					r += jsInclude("Art_Vector_Boob_Areola_Star");
-				else if (slave.areolaeShape === "heart")
-					r += jsInclude("Art_Vector_Boob_Areola_Heart");
-				else if (slave.areolae === 0)
-					r += jsInclude("Art_Vector_Boob_Areola");
-				else if (slave.areolae === 1)
-					r += jsInclude("Art_Vector_Boob_Areola_Large");
-				else if (slave.areolae === 2)
-					r += jsInclude("Art_Vector_Boob_Areola_Wide");
-				else if (slave.areolae === 3)
-					r += jsInclude("Art_Vector_Boob_Areola_Huge");
-
-				if (slave.nipples === "tiny")
-					r += jsInclude("Art_Vector_Boob_NippleTiny");
-				else if (slave.nipples === "cute")
-					r += jsInclude("Art_Vector_Boob_NippleCute");
-				else if (slave.nipples === "puffy")
-					r += jsInclude("Art_Vector_Boob_NipplePuffy");
-				else if (slave.nipples === "inverted")
-					r += jsInclude("Art_Vector_Boob_NippleInverted");
-				else if (slave.nipples === "huge")
-					r += jsInclude("Art_Vector_Boob_NippleHuge");
-				else if (slave.nipples === "partially inverted")
-					r += jsInclude("Art_Vector_Boob_NipplePartiallyInverted");
-				else if (slave.nipples === "fuckable")
-					r += jsInclude("Art_Vector_Boob_NippleFuckable");
-		}
-	}
-
-	function ArtVectorBoobAddons() {
-		if (slave.boobs < 300) {
-			/* boobs too small: do not show boob-related art */
-			/* BEWARE: this threshold should be kept in sync with the one in Art_Vector_Boob_ */
-		} else {
-			switch (slave.clothes) {
-				case "a chattel habit":
-				case "a comfortable bodysuit":
-				case "a cybersuit":
-				case "a fallen nuns habit":
-				case "a Fuckdoll suit":
-				case "a latex catsuit":
-				case "a nice pony outfit":
-				case "a skimpy loincloth":
-				case "a slutty pony outfit":
-				case "a succubus outfit":
-				case "a thong":
-				case "body oil":
-				case "boyshorts":
-				case "choosing her own clothes":
-				case "cutoffs":
-				case "jeans":
-				case "leather pants":
-				case "no clothing":
-				case "panties":
-				case "restrictive latex":
-				case "sport shorts":
-				case "striped panties":
-					break; /* do nothing for these choices */
-				/* manually handle special cases */
-				case "a slutty schutzstaffel uniform":
-					r += jsInclude("Art_Vector_Boob_Outfit_SchutzstaffelUniform");
-					break;
-				case "a niqab and abaya":
-				case "a burqa":
-					r += jsInclude("Art_Vector_Boob_Outfit_HijabAndAbaya");
-					break;
-				default:
-					r += jsInclude(`Art_Vector_Boob_Outfit_${clothing2artSuffix(slave.clothes)}`);
-			}
-		}
-		if (V.showBodyMods === 1 && (slave.nipplesPiercing > 0 || slave.areolaePiercing > 0)) {
-			/* shows nipple piercings in game when selected; piercings will show on the outfits listed below */
-			switch (slave.clothes) {
-				case "a chattel habit":
-				case "a comfortable bodysuit":
-				case "a cybersuit":
-				case "a fallen nuns habit":
-				case "a latex catsuit":
-				case "a monokini":
-				case "a nice pony outfit":
-				case "a penitent nuns habit":
-				case "a skimpy loincloth":
-				case "a slutty pony outfit":
-				case "a string bikini":
-				case "a succubus outfit":
-				case "a thong":
-				case "an apron":
-				case "attractive lingerie":
-				case "attractive lingerie for a pregnant woman":
-				case "body oil":
-				case "boyshorts":
-				case "chains":
-				case "choosing her own clothes":
-				case "cutoffs":
-				case "jeans":
-				case "leather pants":
-				case "leather pants and a tube top":
-				case "leather pants and pasties":
-				case "no clothing":
-				case "panties":
-				case "restrictive latex":
-				case "shibari ropes":
-				case "slutty jewelry":
-				case "sport shorts":
-				case "striped panties":
-				case "uncomfortable straps":
-					if (slave.nipplesPiercing === 1)
-						r += jsInclude("Art_Vector_Boob_Piercing");
-					else if (slave.nipplesPiercing > 1)
-						r += jsInclude("Art_Vector_Boob_Piercing_Heavy");
-
-					if (slave.areolaePiercing === 1)
-						r += jsInclude("Art_Vector_Boob_Areola_Piercing");
-					else if (slave.areolaePiercing > 1)
-						r += jsInclude("Art_Vector_Boob_Areola_Piercingheavy");
-			}
-		}
-	}
-
-	function ArtVectorButt() {
-		if (slave.amp === 0)
-			r += jsInclude(`Art_Vector_Butt_${buttSize}`);
-		else if (slave.amp === -1)
-			r += jsInclude(`Art_Vector_Butt_ProstheticBasic_${buttSize}`);
-		else if (slave.amp === -2)
-			r += jsInclude(`Art_Vector_Butt_ProstheticSexy_${buttSize}`);
-		else if (slave.amp === -3) /* reverted to regular SVG to match description */
-			r += jsInclude(`Art_Vector_Butt_ProstheticBeauty_${buttSize}`);
-		else if (slave.amp === -4)
-			r += jsInclude(`Art_Vector_Butt_ProstheticCombat_${buttSize}`);
-		else if (slave.amp === -5)
-			r += jsInclude(`Art_Vector_Butt_ProstheticSwiss_${buttSize}`);
-	}
-
-	function ArtVectorChastityBelt() {
-		let bodySize = "";
-		if (slave.waist >= 96) {
-			if (slave.weight >= 11)
-				bodySize = "Fat";
-			else if (slave.weight > -31)
-				bodySize = "_Chubby";
-		} else if (slave.waist >= 41) {
-			if (slave.weight >= 31)
-				bodySize = "Fat";
-			else if (slave.weight >= 0)
-				bodySize = "_Chubby";
-		} else if (slave.waist >= 11) {
-			if (slave.weight >= 96)
-				bodySize = "Fat";
-			else if (slave.weight >= 11)
-				bodySize = "_Chubby";
-		} else if (slave.waist > -11) {
-			if (slave.weight >= 131)
-				bodySize = "Fat";
-			else if (slave.weight >= 31)
-				bodySize = "_Chubby";
-		} else if (slave.waist > -41) {
-			if (slave.weight >= 161)
-				bodySize = "Fat";
-			else if (slave.weight >= 96)
-				bodySize = "_Chubby";
-		} else if (slave.waist > -96) {
-			if (slave.weight >= 191)
-				bodySize = "Fat";
-			else if (slave.weight >= 131)
-				bodySize = "_Chubby";
-		} else {
-			if (slave.weight >= 31)
-				bodySize = "_Chubby";
-		}
-
-		if (slave.chastityAnus) {
-			if (bodySize === "Fat") {
-				r += jsInclude("Art_Vector_Chastity_Vagina_Fat");
-			} else {
-				r += jsInclude("Art_Vector_Chastity_Anus");
-				r += jsInclude(`Art_Vector_Chastity_Base${bodySize}`);
-			}
-		}
-		if (slave.chastityVagina) {
-			if (bodySize === "Fat") {
-				r += jsInclude("Art_Vector_Chastity_Vagina_Fat");
-			} else {
-				r += jsInclude("Art_Vector_Chastity_Vagina");
-				r += jsInclude(`Art_Vector_Chastity_Base${bodySize}`);
-			}
-		}
-		if (slave.vaginalAccessory !== "none") {
-			switch (slave.clothes) {/* shows vaginal accessories on the outfits below */
-				case "a bra":
-				case "a button-up shirt":
-				case "a button-up shirt and panties":
-				case "a chattel habit":
-				case "a comfortable bodysuit":
-				case "a fallen nuns habit":
-				case "a Fuckdoll suit":
-				case "a latex catsuit":
-				case "a monokini":
-				case "a nice pony outfit":
-				case "a penitent nuns habit":
-				case "a slutty klan robe":
-				case "a slutty outfit":
-				case "a slutty pony outfit":
-				case "a sports bra":
-				case "a string bikini":
-				case "a striped bra":
-				case "a succubus outfit":
-				case "a sweater":
-				case "a t-shirt":
-				case "a t-shirt and panties":
-				case "a t-shirt and thong":
-				case "a tank-top":
-				case "a thong":
-				case "a tube top":
-				case "a tube top and thong":
-				case "an apron":
-				case "an oversized t-shirt":
-				case "attractive lingerie":
-				case "attractive lingerie for a pregnant woman":
-				case "body oil":
-				case "chains":
-				case "choosing her own clothes":
-				case "clubslut netting":
-				case "cutoffs":
-				case "harem gauze":
-				case "no clothing":
-				case "panties":
-				case "panties and pasties":
-				case "restrictive latex":
-				case "shibari ropes":
-				case "slutty jewelry":
-				case "striped underwear":
-				case "uncomfortable straps":
-					if (slave.vaginalAccessory === "dildo") {
-						r += jsInclude("Art_Vector_Dildo_Short");
-					} else if (slave.vaginalAccessory === "long dildo") {
-						r += jsInclude("Art_Vector_Dildo_Long");
-					} else if (slave.clothes !== "a comfortable bodysuit" && slave.clothes !== "a string bikini" && slave.clothes !== "attractive lingerie for a pregnant woman" && slave.clothes !== "restrictive latex") {
-						if (slave.vaginalAccessory === "large dildo") /* additional outfits disabled due to the art breaking with the larger accessories */
-							r += jsInclude("Art_Vector_Dildo_Large");
-						else if (slave.vaginalAccessory === "long, large dildo")
-							r += jsInclude("Art_Vector_Dildo_Large_Long");
-						else if (slave.vaginalAccessory === "huge dildo")
-							r += jsInclude("Art_Vector_Dildo_Huge");
-						else if (slave.vaginalAccessory === "long, huge dildo")
-							r += jsInclude("Art_Vector_Dildo_Huge_Long");
-					}
-			}
-		}
-	}
-
-	function ArtVectorCollar() {
-		r += jsInclude("Art_Vector_Clavicle");
-		/* TODO": find out where "uncomfortable leather" collar art went */
-		switch (slave.collar) {
-			case "leather with cowbell":
-				r += jsInclude("Art_Vector_Collar_Cowbell");
-				break;
-			case "heavy gold":
-				r += jsInclude("Art_Vector_Collar_Gold_Heavy");
-				break;
-			case "neck corset":
-				r += jsInclude("Art_Vector_Collar_Neck_Corset");
-				break;
-			case "pretty jewelry":
-				r += jsInclude("Art_Vector_Collar_Pretty_Jewelry");
-				break;
-			case "cruel retirement counter":
-				r += jsInclude("Art_Vector_Collar_Retirement_Cruel");
-				break;
-			case "nice retirement counter":
-				r += jsInclude("Art_Vector_Collar_Retirement_Nice");
-				break;
-			case "satin choker":
-				r += jsInclude("Art_Vector_Collar_Satin_Choker");
-				break;
-			case "shock punishment":
-				r += jsInclude("Art_Vector_Collar_Shock_Punishment");
-				break;
-			case "stylish leather":
-				r += jsInclude("Art_Vector_Collar_Stylish_Leather");
-				break;
-			case "tight steel":
-				r += jsInclude("Art_Vector_Collar_Tight_Steel");
-				break;
-			case "uncomfortable leather":
-				r += jsInclude("Art_Vector_Collar_Leather_Cruel");
-				break;
-			case "silk ribbon":
-				r += jsInclude("Art_Vector_Collar_Silk_Ribbon");
-				break;
-			case "bowtie":
-				r += jsInclude("Art_Vector_Collar_Bowtie");
-				break;
-			case "ancient Egyptian":
-				r += jsInclude("Art_Vector_Collar_Ancientegyptian");
-		}
-	}
-
-	function ArtVectorFeet() {
-		let outfit, stockings;
-		if (slave.legAccessory === "short stockings")
-			stockings = "SS";
-		else if (slave.legAccessory === "long stockings")
-			stockings = "LL";
-
-		/* Updated 2018-10-25 by Fr0g */
-		/* - added brackets to make boolean logic run */
-		if (slave.shoes === "heels") {
-			r += jsInclude("Art_Vector_Shoes_Heel");
-		} else if (slave.shoes === "pumps") {
-				r += jsInclude("Art_Vector_Shoes_Pump");
-		} else if (slave.shoes === "extreme heels") {
-				r += jsInclude(`Art_Vector_Shoes_Extreme_Heel_${legSize}`);
-		} else if (slave.shoes === "boots") {
-				r += jsInclude(`Art_Vector_Shoes_Boot_${legSize}`);
-		} else if (slave.shoes === "flats") {
-				r += jsInclude("Art_Vector_Shoes_Flat");
-		} else {
-			if (slave.amp === 0) {
-				r += jsInclude("Art_Vector_Feet_Normal");
-			} else if (slave.PLimb === 1 || slave.PLimb === 2) {
-				if (slave.amp === -1)
-					r += jsInclude("Art_Vector_Feet_ProstheticBasic");
-				else if (slave.amp === -2)
-					r += jsInclude("Art_Vector_Feet_ProstheticSexy");
-				else if (slave.amp === -3)
-					r += jsInclude("Art_Vector_Feet_ProstheticBeauty");
-				else if (slave.amp === -4)
-					r += jsInclude("Art_Vector_Feet_ProstheticCombat");
-				else if (slave.amp === -5)
-					r += jsInclude("Art_Vector_Feet_ProstheticSwiss");
-			}
-		}
-		if (stockings !== undefined && slave.amp !== 1) {
-			if (slave.shoes === "heels") {
-				r += jsInclude(`Art_Vector_Shoes_Heel_${stockings}_${legSize}`);
-			} else if (slave.shoes === "pumps") {
-				r += jsInclude(`Art_Vector_Shoes_Pump_${stockings}_${legSize}`);
-			} else if (slave.shoes === "flats") {
-				r += jsInclude(`Art_Vector_Shoes_Flat_${stockings}_${legSize}`);
-			} else if (slave.shoes === "none") {
-				r += jsInclude(`Art_Vector_Shoes_Stockings_${stockings}_${legSize}`);
-			}
-		}
-		switch (slave.clothes) {
-			case "a bra":
-			case "a button-up shirt":
-			case "a button-up shirt and panties":
-			case "a chattel habit":
-			case "a comfortable bodysuit":
-			case "a cybersuit":
-			case "a gothic lolita dress":
-			case "a hanbok":
-			case "a leotard":
-			case "a nice pony outfit":
-			case "a one-piece swimsuit":
-			case "a penitent nuns habit":
-			case "a scalemail bikini":
-			case "a skimpy loincloth":
-			case "a slutty klan robe":
-			case "a slutty outfit":
-			case "a slutty pony outfit":
-			case "a sports bra":
-			case "a string bikini":
-			case "a striped bra":
-			case "a sweater":
-			case "a sweater and panties":
-			case "a t-shirt":
-			case "a t-shirt and panties":
-			case "a t-shirt and thong":
-			case "a tank-top":
-			case "a tank-top and panties":
-			case "a thong":
-			case "a tube top":
-			case "a tube top and thong":
-			case "an oversized t-shirt":
-			case "attractive lingerie for a pregnant woman":
-			case "chains":
-			case "choosing her own clothes":
-			case "kitty lingerie":
-			case "no clothing":
-			case "panties":
-			case "panties and pasties":
-			case "shibari ropes":
-			case "striped panties":
-			case "striped underwear":
-			case "uncomfortable straps":
-				break; /* do nothing for these cases */
-			case "a Fuckdoll suit":
-			case "a latex catsuit":
-			case "body oil":
-			case "restrictive latex":
-				if (V.seeVectorArtHighlights === 1) /* special case for shiny clothing */
-					outfit = "Shine";
-				break;
-			default:
-				outfit = clothing2artSuffix(slave.clothes);
-		}
-		if (outfit !== undefined) {
-			if (slave.amp !== 1) {
-				if (slave.clothes !== "a slutty qipao" && slave.clothes !== "harem gauze" && slave.clothes !== "slutty jewelry" && slave.clothes !== "Western clothing") /* these clothes have a stump/leg outfit, but no butt outfit */
-					r += jsInclude(`Art_Vector_Butt_Outfit_${outfit}_${buttSize}`);
-				if (slave.clothes !== "a schoolgirl outfit") /* file is there, but contains no artwork */
-					r += jsInclude(`Art_Vector_Leg_Outfit_${outfit}_${legSize}`);
-			} else {
-				if (outfit === "Shine") /* the only stump outfit that does not draw an empty svg */
-					r += jsInclude(`Art_Vector_Leg_Outfit_${outfit}_Stump`);
-			}
-		}
-	}
-
-	function ArtVectorHairBack() {
-		if (hairLength !== undefined) { /* Don't draw hair if it isn't there */
-			if (slave.fuckdoll !== 0 || (slave.bald !== 0 && slave.hStyle === "bald")) {
-				r += jsInclude("Art_Vector_Hair_Back_NoHair");
-			} else {
-				switch (slave.clothes) {
-					case "a biyelgee costume":
-					case "a burkini":
-					case "a burqa":
-					case "a chattel habit":
-					case "a cybersuit":
-					case "a fallen nuns habit":
-					case "a hijab and abaya":
-					case "a hijab and blouse":
-					case "a klan robe":
-					case "a military uniform":
-					case "a mounty outfit":
-					case "a niqab and abaya":
-					case "a penitent nuns habit":
-					case "a police uniform":
-					case "a red army uniform":
-					case "a schutzstaffel uniform":
-					case "a slutty klan robe":
-					case "a slutty nurse outfit":
-					case "a slutty schutzstaffel uniform":
-					case "battlearmor":
-					case "restrictive latex":
-					case "Western clothing":
-						break; /* do nothing */
-					default:
-						switch (slave.hStyle) {
-							case "buzzcut":
-							case "shaved":
-							case "shaved bald":
-								r += jsInclude("Art_Vector_Hair_Back_NoHair");
-								break;
-							case "afro":
-								if (slave.hLength >= 150)
-									r += jsInclude("Art_Vector_Hair_Back_Afro_Giant");
-								else
-									r += jsInclude(`Art_Vector_Hair_Back_Afro_${hairLength}`);
-								break;
-							case "messy bun":
-								r += jsInclude(`Art_Vector_Hair_Back_Ninja_${hairLength}`);
-								break;
-							case "strip":
-								r += jsInclude("Art_Vector_Hair_Back_NoHair");
-								break;
-							case "braided":
-							case "bun":
-							case "cornrows":
-							case "curled":
-							case "dreadlocks":
-							case "eary":
-							case "luxurious":
-							case "messy":
-							case "neat":
-							case "permed":
-							case "ponytail":
-							case "tails":
-							case "up":
-								r += jsInclude(`Art_Vector_Hair_Back_${capFirstChar(slave.hStyle)}_${hairLength}`);
-								break;
-							default:
-								r += jsInclude("Art_Vector_Hair_Back_Messy_Medium");
-						}
-				}
-			}
-		}
-		/* note: latex clothing actually shows some hair, but there is no appropriate art for it */
-		if (slave.collar === "cat ears")
-			r += jsInclude("Art_Vector_Cat_Ear_Back");
-	}
-
-	function ArtVectorHairFore() {
-		if (hairLength !== undefined) { /* Don't draw hair if it isn't there */
-			if (slave.fuckdoll !== 0 || (slave.bald !== 0 && slave.hStyle === "bald")) {
-				r += jsInclude("Art_Vector_Hair_Fore_NoHair");
-			} else {
-				switch (slave.clothes) {
-					case "a biyelgee costume":
-					case "a burkini":
-					case "a burqa":
-					case "a chattel habit":
-					case "a cybersuit":
-					case "a fallen nuns habit":
-					case "a hijab and abaya":
-					case "a hijab and blouse":
-					case "a klan robe":
-					case "a military uniform":
-					case "a mounty outfit":
-					case "a niqab and abaya":
-					case "a penitent nuns habit":
-					case "a police uniform":
-					case "a red army uniform":
-					case "a schutzstaffel uniform":
-					case "a slutty klan robe":
-					case "a slutty nurse outfit":
-					case "a slutty schutzstaffel uniform":
-					case "battlearmor":
-					case "restrictive latex":
-					case "Western clothing":
-						break; /* do nothing */
-					default:
-						switch (slave.hStyle) {
-							case "buzzcut":
-							case "shaved":
-							case "shaved bald":
-								r += jsInclude("Art_Vector_Hair_Fore_NoHair");
-								break;
-							case "afro":
-								if (slave.hLength >= 150)
-									r += jsInclude("Art_Vector_Hair_Fore_Afro_Giant");
-								else
-									r += jsInclude(`Art_Vector_Hair_Fore_Afro_${hairLength}`);
-								break;
-							case "messy bun":
-								r += jsInclude(`Art_Vector_Hair_Fore_Ninja_${hairLength}`);
-								break;
-							case "bun":
-							case "neat":
-							case "ponytail":
-								r += jsInclude(`Art_Vector_Hair_Fore_${capFirstChar(slave.hStyle)}`);
-								break;
-							case "braided":
-							case "cornrows":
-							case "curled":
-							case "dreadlocks":
-							case "eary":
-							case "luxurious":
-							case "messy":
-							case "permed":
-							case "strip":
-							case "tails":
-							case "up":
-								r += jsInclude(`Art_Vector_Hair_Fore_${capFirstChar(slave.hStyle)}_${hairLength}`);
-								break;
-							default:
-								r += jsInclude("Art_Vector_Hair_Fore_Messy_Medium");
-						}
-				}
-			}
-		}
-		/* note: latex clothing actually shows some hair, but there is no appropriate art for it */
-		if (slave.collar === "cat ears")
-			r += jsInclude("Art_Vector_Cat_Ear_Fore");
-	}
-	
-	function ArtVectorHead() {
-		const eyebrowFullness = clothing2artSuffix(slave.eyebrowFullness); /* designed for clothing but works for eyebrows too. If other eyebrow styles are added, this may need to be changed. */
-		const hasEyebrows = slave.eyebrowHStyle !== "bald" && slave.eyebrowHStyle !== "shaved";
-
-		r += jsInclude("Art_Vector_Head");
-		/* shiny clothing */
-		if (V.seeVectorArtHighlights === 1) {
-			if (slave.fuckdoll !== 0 || slave.clothes === "restrictive latex" || slave.clothes === "a latex catsuit")
-				r += jsInclude("Art_Vector_Head_Outfit_Shine");
-		}
-		if (slave.clothes !== "restrictive latex") {
-			if (slave.markings === "beauty mark")
-				r += jsInclude("Art_Vector_Beauty_Mark");
-			else if (slave.markings === "freckles")
-				r += jsInclude("Art_Vector_Freckles");
-			else if (slave.markings === "heavily freckled")
-				r += jsInclude("Art_Vector_Freckles_Heavy");
-			else if (slave.markings === "birthmark")
-				r += jsInclude("Art_Vector_Birthmark");
-			else if (slave.minorInjury === "black eye")
-				r += jsInclude("Art_Vector_Black_Eye");
-		}
-		/* FACIAL APPEARANCE */
-		if (V.seeFaces === 1) {
-			if (slave.fuckdoll === 0 && slave.clothes !== "restrictive latex") {
-				switch (slave.race) {
-					case "southern european":
-					case "white":
-						if (slave.faceShape === "normal") {
-							r += jsInclude("Art_Vector_Eyes_TypeB");
-							r += jsInclude("Art_Vector_Mouth_TypeA");
-							r += jsInclude("Art_Vector_Nose_TypeA");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeA_${eyebrowFullness}`);
-						} else if (slave.faceShape === "masculine") {
-							r += jsInclude("Art_Vector_Eyes_TypeD");
-							r += jsInclude("Art_Vector_Mouth_TypeF");
-							r += jsInclude("Art_Vector_Nose_TypeF");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeE_${eyebrowFullness}`);
-						} else if (slave.faceShape === "androgynous") {
-							r += jsInclude("Art_Vector_Eyes_TypeE");
-							r += jsInclude("Art_Vector_Mouth_TypeE");
-							r += jsInclude("Art_Vector_Nose_TypeE");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeF_${eyebrowFullness}`);
-						} else if (slave.faceShape === "cute") {
-							r += jsInclude("Art_Vector_Eyes_TypeB");
-							r += jsInclude("Art_Vector_Mouth_TypeB");
-							r += jsInclude("Art_Vector_Nose_TypeD");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeA_${eyebrowFullness}`);
-						} else if (slave.faceShape === "sensual") {
-							r += jsInclude("Art_Vector_Eyes_TypeC");
-							r += jsInclude("Art_Vector_Mouth_TypeC");
-							r += jsInclude("Art_Vector_Nose_TypeC");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeC_${eyebrowFullness}`);
-						} else if (slave.faceShape === "exotic") {
-							r += jsInclude("Art_Vector_Eyes_TypeA");
-							r += jsInclude("Art_Vector_Mouth_TypeC");
-							r += jsInclude("Art_Vector_Nose_TypeC");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeC_${eyebrowFullness}`);
-						}
-						break;
-					case "asian":
-					case "malay":
-					case "pacific islander":
-						if (slave.faceShape === "normal") {
-							r += jsInclude("Art_Vector_Eyes_TypeA");
-							r += jsInclude("Art_Vector_Mouth_TypeC");
-							r += jsInclude("Art_Vector_Nose_TypeC");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeD_${eyebrowFullness}`);
-						} else if (slave.faceShape === "masculine") {
-							r += jsInclude("Art_Vector_Eyes_TypeD");
-							r += jsInclude("Art_Vector_Mouth_TypeD");
-							r += jsInclude("Art_Vector_Nose_TypeB");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeC_${eyebrowFullness}`);
-						} else if (slave.faceShape === "androgynous") {
-							r += jsInclude("Art_Vector_Eyes_TypeE");
-							r += jsInclude("Art_Vector_Mouth_TypeE");
-							r += jsInclude("Art_Vector_Nose_TypeA");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeC_${eyebrowFullness}`);
-						} else if (slave.faceShape === "cute") {
-							r += jsInclude("Art_Vector_Eyes_TypeC");
-							r += jsInclude("Art_Vector_Mouth_TypeC");
-							r += jsInclude("Art_Vector_Nose_TypeC");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeF_${eyebrowFullness}`);
-						} else if (slave.faceShape === "sensual") {
-							r += jsInclude("Art_Vector_Eyes_TypeA");
-							r += jsInclude("Art_Vector_Mouth_TypeA");
-							r += jsInclude("Art_Vector_Nose_TypeE");
-							if (slave.eyebrowFullness === "pencil-thin")
-								r += jsInclude("Art_Vector_Eyebrow_TypeC_Pencilthin");
-							else if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeF_${eyebrowFullness}`);
-						} else if (slave.faceShape === "exotic") {
-							r += jsInclude("Art_Vector_Eyes_TypeB");
-							r += jsInclude("Art_Vector_Mouth_TypeC");
-							r += jsInclude("Art_Vector_Nose_TypeF");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeA_${eyebrowFullness}`);
-						}
-						break;
-					case "amerindian":
-					case "latina":
-						if (slave.faceShape === "normal") {
-							r += jsInclude("Art_Vector_Eyes_TypeB");
-							r += jsInclude("Art_Vector_Mouth_TypeE");
-							r += jsInclude("Art_Vector_Nose_TypeD");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeB_${eyebrowFullness}`);
-						} else if (slave.faceShape === "masculine") {
-							r += jsInclude("Art_Vector_Eyes_TypeE");
-							r += jsInclude("Art_Vector_Mouth_TypeD");
-							r += jsInclude("Art_Vector_Nose_TypeF");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeC_${eyebrowFullness}`);
-						} else if (slave.faceShape === "androgynous") {
-							r += jsInclude("Art_Vector_Eyes_TypeA");
-							r += jsInclude("Art_Vector_Mouth_TypeD");
-							r += jsInclude("Art_Vector_Nose_TypeB");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeD_${eyebrowFullness}`);
-						} else if (slave.faceShape === "cute") {
-							r += jsInclude("Art_Vector_Eyes_TypeF");
-							r += jsInclude("Art_Vector_Mouth_TypeB");
-							r += jsInclude("Art_Vector_Nose_TypeB");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeF_${eyebrowFullness}`);
-						} else if (slave.faceShape === "sensual") {
-							r += jsInclude("Art_Vector_Eyes_TypeB");
-							r += jsInclude("Art_Vector_Mouth_TypeE");
-							r += jsInclude("Art_Vector_Nose_TypeC");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeF_${eyebrowFullness}`);
-						} else if (slave.faceShape === "exotic") {
-							r += jsInclude("Art_Vector_Eyes_TypeC");
-							r += jsInclude("Art_Vector_Mouth_TypeA");
-							r += jsInclude("Art_Vector_Nose_TypeC");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeE_${eyebrowFullness}`);
-						}
-						break;
-					case "black":
-						if (slave.faceShape === "normal") {
-							r += jsInclude("Art_Vector_Eyes_TypeD");
-							r += jsInclude("Art_Vector_Mouth_TypeB");
-							r += jsInclude("Art_Vector_Nose_TypeF");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeF_${eyebrowFullness}`);
-						} else if (slave.faceShape === "masculine") {
-							r += jsInclude("Art_Vector_Eyes_TypeA");
-							r += jsInclude("Art_Vector_Mouth_TypeD");
-							r += jsInclude("Art_Vector_Nose_TypeF");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeE_${eyebrowFullness}`);
-						} else if (slave.faceShape === "androgynous") {
-							r += jsInclude("Art_Vector_Eyes_TypeF");
-							r += jsInclude("Art_Vector_Mouth_TypeE");
-							r += jsInclude("Art_Vector_Nose_TypeB");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeE_${eyebrowFullness}`);
-						} else if (slave.faceShape === "cute") {
-							r += jsInclude("Art_Vector_Eyes_TypeC");
-							r += jsInclude("Art_Vector_Mouth_TypeE");
-							r += jsInclude("Art_Vector_Nose_TypeD");
-							if (slave.eyebrowFullness === "natural")
-								r += jsInclude("Art_Vector_Eyebrow_TypeB_Natural");
-							else if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeD_${eyebrowFullness}`);
-						} else if (slave.faceShape === "sensual") {
-							r += jsInclude("Art_Vector_Eyes_TypeC");
-							r += jsInclude("Art_Vector_Mouth_TypeF");
-							r += jsInclude("Art_Vector_Nose_TypeA");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeC_${eyebrowFullness}`);
-						} else if (slave.faceShape === "exotic") {
-							r += jsInclude("Art_Vector_Eyes_TypeE");
-							r += jsInclude("Art_Vector_Mouth_TypeE");
-							r += jsInclude("Art_Vector_Nose_TypeC");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeA_${eyebrowFullness}`);
-						}
-						break;
-					case "middle eastern":
-						if (slave.faceShape === "normal") {
-							r += jsInclude("Art_Vector_Eyes_TypeB");
-							r += jsInclude("Art_Vector_Mouth_TypeA");
-							r += jsInclude("Art_Vector_Nose_TypeA");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeA_${eyebrowFullness}`);
-						} else if (slave.faceShape === "masculine") {
-							r += jsInclude("Art_Vector_Eyes_TypeD");
-							r += jsInclude("Art_Vector_Mouth_TypeF");
-							r += jsInclude("Art_Vector_Nose_TypeA");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeB_${eyebrowFullness}`);
-						} else if (slave.faceShape === "androgynous") {
-							r += jsInclude("Art_Vector_Eyes_TypeF");
-							r += jsInclude("Art_Vector_Mouth_TypeB");
-							r += jsInclude("Art_Vector_Nose_TypeF");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeF_${eyebrowFullness}`);
-						} else if (slave.faceShape === "cute") {
-							r += jsInclude("Art_Vector_Eyes_TypeB");
-							r += jsInclude("Art_Vector_Mouth_TypeB");
-							r += jsInclude("Art_Vector_Nose_TypeC");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeA_${eyebrowFullness}`);
-						} else if (slave.faceShape === "sensual") {
-							r += jsInclude("Art_Vector_Eyes_TypeA");
-							r += jsInclude("Art_Vector_Mouth_TypeD");
-							r += jsInclude("Art_Vector_Nose_TypeA");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeC_${eyebrowFullness}`);
-						} else if (slave.faceShape === "exotic") {
-							r += jsInclude("Art_Vector_Eyes_TypeE");
-							r += jsInclude("Art_Vector_Mouth_TypeE");
-							r += jsInclude("Art_Vector_Nose_TypeE");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeE_${eyebrowFullness}`);
-						}
-						break;
-					case "semitic":
-						if (slave.faceShape === "normal") {
-							r += jsInclude("Art_Vector_Eyes_TypeB");
-							r += jsInclude("Art_Vector_Mouth_TypeA");
-							r += jsInclude("Art_Vector_Nose_TypeA");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeA_${eyebrowFullness}`);
-						} else if (slave.faceShape === "masculine") {
-							r += jsInclude("Art_Vector_Eyes_TypeD");
-							r += jsInclude("Art_Vector_Mouth_TypeF");
-							r += jsInclude("Art_Vector_Nose_TypeA");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeB_${eyebrowFullness}`);
-						} else if (slave.faceShape === "androgynous") {
-							r += jsInclude("Art_Vector_Eyes_TypeF");
-							r += jsInclude("Art_Vector_Mouth_TypeB");
-							r += jsInclude("Art_Vector_Nose_TypeF");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeF_${eyebrowFullness}`);
-						} else if (slave.faceShape === "cute") {
-							r += jsInclude("Art_Vector_Eyes_TypeB");
-							r += jsInclude("Art_Vector_Mouth_TypeB");
-							r += jsInclude("Art_Vector_Nose_TypeC");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeA_${eyebrowFullness}`);
-						} else if (slave.faceShape === "sensual") {
-							r += jsInclude("Art_Vector_Eyes_TypeA");
-							r += jsInclude("Art_Vector_Mouth_TypeD");
-							r += jsInclude("Art_Vector_Nose_TypeA");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeC_${eyebrowFullness}`);
-						} else if (slave.faceShape === "exotic") {
-							r += jsInclude("Art_Vector_Eyes_TypeE");
-							r += jsInclude("Art_Vector_Mouth_TypeE");
-							r += jsInclude("Art_Vector_Nose_TypeE");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeE_${eyebrowFullness}`);
-						}
-						break;
-					case "indo-aryan":
-						if (slave.faceShape === "normal") {
-							r += jsInclude("Art_Vector_Eyes_TypeE");
-							r += jsInclude("Art_Vector_Mouth_TypeA");
-							r += jsInclude("Art_Vector_Nose_TypeD");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeA_${eyebrowFullness}`);
-						} else if (slave.faceShape === "masculine") {
-							r += jsInclude("Art_Vector_Eyes_TypeF");
-							r += jsInclude("Art_Vector_Mouth_TypeD");
-							r += jsInclude("Art_Vector_Nose_TypeE");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeC_${eyebrowFullness}`);
-						} else if (slave.faceShape === "androgynous") {
-							r += jsInclude("Art_Vector_Eyes_TypeC");
-							r += jsInclude("Art_Vector_Mouth_TypeB");
-							r += jsInclude("Art_Vector_Nose_TypeD");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeF_${eyebrowFullness}`);
-						} else if (slave.faceShape === "cute") {
-							r += jsInclude("Art_Vector_Eyes_TypeC");
-							r += jsInclude("Art_Vector_Mouth_TypeD");
-							r += jsInclude("Art_Vector_Nose_TypeA");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeD_${eyebrowFullness}`);
-						} else if (slave.faceShape === "sensual") {
-							r += jsInclude("Art_Vector_Eyes_TypeA");
-							r += jsInclude("Art_Vector_Mouth_TypeE");
-							r += jsInclude("Art_Vector_Nose_TypeC");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeD_${eyebrowFullness}`);
-						} else if (slave.faceShape === "exotic") {
-							r += jsInclude("Art_Vector_Eyes_TypeA");
-							r += jsInclude("Art_Vector_Mouth_TypeC");
-							r += jsInclude("Art_Vector_Nose_TypeC");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeC_${eyebrowFullness}`);
-						}
-						break;
-					case "mixed race":
-						if (slave.faceShape === "normal") {
-							r += jsInclude("Art_Vector_Eyes_TypeE");
-							r += jsInclude("Art_Vector_Mouth_TypeA");
-							r += jsInclude("Art_Vector_Nose_TypeD");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeA_${eyebrowFullness}`);
-						} else if (slave.faceShape === "masculine") {
-							r += jsInclude("Art_Vector_Eyes_TypeF");
-							r += jsInclude("Art_Vector_Mouth_TypeD");
-							r += jsInclude("Art_Vector_Nose_TypeE");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeC_${eyebrowFullness}`);
-						} else if (slave.faceShape === "androgynous") {
-							r += jsInclude("Art_Vector_Eyes_TypeC");
-							r += jsInclude("Art_Vector_Mouth_TypeB");
-							r += jsInclude("Art_Vector_Nose_TypeD");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeF_${eyebrowFullness}`);
-						} else if (slave.faceShape === "cute") {
-							r += jsInclude("Art_Vector_Eyes_TypeC");
-							r += jsInclude("Art_Vector_Mouth_TypeD");
-							r += jsInclude("Art_Vector_Nose_TypeA");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeD_${eyebrowFullness}`);
-						} else if (slave.faceShape === "sensual") {
-							r += jsInclude("Art_Vector_Eyes_TypeA");
-							r += jsInclude("Art_Vector_Mouth_TypeE");
-							r += jsInclude("Art_Vector_Nose_TypeC");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeD_${eyebrowFullness}`);
-						} else if (slave.faceShape === "exotic") {
-							r += jsInclude("Art_Vector_Eyes_TypeA");
-							r += jsInclude("Art_Vector_Mouth_TypeC");
-							r += jsInclude("Art_Vector_Nose_TypeC");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeC_${eyebrowFullness}`);
-						}
-						break;
-					default:
-						if (slave.faceShape === "normal") {
-							r += jsInclude("Art_Vector_Eyes_TypeB");
-							r += jsInclude("Art_Vector_Mouth_TypeA");
-							r += jsInclude("Art_Vector_Nose_TypeA");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeA_${eyebrowFullness}`);
-						} else if (slave.faceShape === "masculine") {
-							r += jsInclude("Art_Vector_Eyes_TypeD");
-							r += jsInclude("Art_Vector_Mouth_TypeF");
-							r += jsInclude("Art_Vector_Nose_TypeF");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeE_${eyebrowFullness}`);
-						} else if (slave.faceShape === "androgynous") {
-							r += jsInclude("Art_Vector_Eyes_TypeE");
-							r += jsInclude("Art_Vector_Mouth_TypeE");
-							r += jsInclude("Art_Vector_Nose_TypeE");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeF_${eyebrowFullness}`);
-						} else if (slave.faceShape === "cute") {
-							r += jsInclude("Art_Vector_Eyes_TypeB");
-							r += jsInclude("Art_Vector_Mouth_TypeB");
-							r += jsInclude("Art_Vector_Nose_TypeD");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeA_${eyebrowFullness}`);
-						} else if (slave.faceShape === "sensual") {
-							r += jsInclude("Art_Vector_Eyes_TypeC");
-							r += jsInclude("Art_Vector_Mouth_TypeC");
-							r += jsInclude("Art_Vector_Nose_TypeC");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeC_${eyebrowFullness}`);
-						} else if (slave.faceShape === "exotic") {
-							r += jsInclude("Art_Vector_Eyes_TypeA");
-							r += jsInclude("Art_Vector_Mouth_TypeC");
-							r += jsInclude("Art_Vector_Nose_TypeC");
-							if (hasEyebrows === true)
-								r += jsInclude(`Art_Vector_Eyebrow_TypeC_${eyebrowFullness}`);
-						}
-				}
-			}
-		}
-		/* END FACIAL APPEARANCE */
-
-		if (slave.eyebrowPiercing === 1)
-			r += jsInclude("Art_Vector_Eyebrow_Light");
-		else if (slave.eyebrowPiercing === 2)
-			r += jsInclude("Art_Vector_Eyebrow_Heavy");
-
-		if (slave.nosePiercing === 1)
-			r += jsInclude("Art_Vector_Nose_Light");
-		else if (slave.nosePiercing === 2)
-			r += jsInclude("Art_Vector_Nose_Heavy");
-		
-		if (slave.lipsPiercing === 1)
-			r += jsInclude("Art_Vector_Lip_Light");
-		else if (slave.lipsPiercing === 2)
-			r += jsInclude("Art_Vector_Lip_Heavy");
-
-		/* ADDONS */
-		if (slave.fuckdoll === 0) { /* fuckdolls cannot be decorated */
-			if (slave.collar === "dildo gag")
-				r += jsInclude("Art_Vector_Dildo_Gag");
-			else if (slave.collar === "ball gag")
-				r += jsInclude("Art_Vector_Ball_Gag");
-			else if (slave.collar === "bit gag")
-				r += jsInclude("Art_Vector_Bit_Gag");
-			else if (slave.collar === "massive dildo gag")
-				r += jsInclude("Art_Vector_Massive_Dildo_Gag");
-			else if (slave.collar === "porcelain mask")
-				r += jsInclude("Art_Vector_Porcelain_Mask");
-
-			if (slave.eyewear === "corrective glasses" || slave.eyewear === "glasses" || slave.eyewear === "blurring glasses")
-				r += jsInclude("Art_Vector_Glasses");
-
-			/* head clothing */
-			switch (slave.clothes) {
-				case "a biyelgee costume":
-				case "a bunny outfit":
-				case "a burkini":
-				case "a burqa":
-				case "a chattel habit":
-				case "a cybersuit":
-				case "a fallen nuns habit":
-				case "a hijab and abaya":
-				case "a hijab and blouse":
-				case "a klan robe":
-				case "a military uniform":
-				case "a mounty outfit":
-				case "a niqab and abaya":
-				case "a penitent nuns habit":
-				case "a police uniform":
-				case "a red army uniform":
-				case "a slutty klan robe":
-				case "a slutty nurse outfit":
-				case "a succubus outfit":
-				case "battlearmor":
-				case "harem gauze":
-				case "Western clothing":
-					r += jsInclude(`Art_Vector_Head_Outfit_${clothing2artSuffix(slave.clothes)}`);
-					break;
-				case "a schutzstaffel uniform":
-				case "a slutty schutzstaffel uniform":
-					r += jsInclude("Art_Vector_Head_Outfit_SchutzstaffelUniform");
-					break;
-				case "kitty lingerie":
-					r += jsInclude("Art_Vector_Cat_Ear_Fore");
-					r += jsInclude("Art_Vector_Cat_Ear_Back");
-			}
-		}	
-	}
-
-	function ArtVectorLeg() {
-		/* Selection of matching SVG based on amputee level */
-		if (slave.amp === 0) {
-			r += jsInclude(`Art_Vector_Leg_${legSize}`);
-			if (slave.muscles >= 97)
-				r += jsInclude(`Art_Vector_Leg_${legSize}_MHeavy`);
-			else if (slave.muscles >= 62)
-				r += jsInclude(`Art_Vector_Leg_${legSize}_MMedium`);
-			else if (slave.muscles >= 30)
-				r += jsInclude(`Art_Vector_Leg_${legSize}_MLight`);
-		} else if (slave.amp === 1) {
-			r += jsInclude("Art_Vector_Stump");
-		} else if (slave.PLimb === 1 || slave.PLimb === 2) { /* slave is an amputee and has PLimbs equipped */
-			if (slave.amp === -1)
-				r += jsInclude(`Art_Vector_Leg_ProstheticBasic_${legSize}`);
-			else if (slave.amp === -2)
-				r += jsInclude(`Art_Vector_Leg_ProstheticSexy_${legSize}`);
-			else if (slave.amp === -3)
-				r += jsInclude(`Art_Vector_Leg_ProstheticBeauty_${legSize}`);
-			else if (slave.amp === -4)
-				r += jsInclude(`Art_Vector_Leg_ProstheticCombat_${legSize}`);
-			else /* slave.amp === -5 */
-				r += jsInclude(`Art_Vector_Leg_ProstheticSwiss_${legSize}`);
-		}
-	}
-
-	function ArtVectorPubicHair() {
-		if (slave.fuckdoll !== 0 || slave.clothes !== "a latex catsuit") {
-			if (V.showBodyMods === 1 && slave.vaginaTat === "rude words") {
-				if (slave.dick !== 0)
-					T.art_pussy_tattoo_text = "Useless";
-				else
-					T.art_pussy_tattoo_text = "Fucktoy";
-				r += jsInclude("Art_Vector_Pussy_Tattoo");
-			}
-			if (slave.physicalAge < 11) {
-				/* these art files exist, but draw empty svg's. Commented out for now to save on rendering time
-				r += jsInclude("Art_Vector_Pubic_Hair_None");
-				r += jsInclude("Art_Vector_Pubic_Hair_Underarm_None");
-				*/
-			} else if (slave.physicalAge <= 13) {
-				if (slave.pubicHStyle !== "waxed")
-					r += jsInclude("Art_Vector_Pubic_Hair_Wispy");
-			} else if (slave.clothes !== "a comfortable bodysuit") {
-				switch (slave.pubicHStyle) {
-					case "bald":
-					case "hairless":
-					case "waxed":
-						/* commented out to save on rendering time
-						r += jsInclude("Art_Vector_Pubic_Hair_None");
-						*/
-						break;
-					case "strip":
-					case "in a strip":
-						if (torsoSize === "Obese" || torsoSize === "Fat")
-							r += jsInclude("Art_Vector_Pubic_Hair_StripFat");
-						else
-							r += jsInclude("Art_Vector_Pubic_Hair_Strip");
-						break;
-					case "neat":
-						if (torsoSize === "Obese" || torsoSize === "Fat")
-							r += jsInclude("Art_Vector_Pubic_Hair_NeatFat");
-						else
-							r += jsInclude("Art_Vector_Pubic_Hair_Neat");
-						break;
-					case "bushy in the front and neat in the rear":
-						if (torsoSize === "Obese" || torsoSize === "Fat")
-							r += jsInclude("Art_Vector_Pubic_Hair_BushFat");
-						else
-							r += jsInclude("Art_Vector_Pubic_Hair_Bush");
-						break;
-					case "bushy":
-						if (torsoSize === "Obese" || torsoSize === "Fat")
-							r += jsInclude("Art_Vector_Pubic_Hair_BushyFat");
-						else
-							r += jsInclude("Art_Vector_Pubic_Hair_Bushy");
-						break;
-					case "very bushy":
-						if (torsoSize === "Obese" || torsoSize === "Fat")
-							r += jsInclude("Art_Vector_Pubic_Hair_Very_BushyFat");
-						else
-							r += jsInclude("Art_Vector_Pubic_Hair_Very_Bushy");
-				}
-				switch (slave.underArmHStyle) {
-					case "hairless":
-					case "waxed":
-					case "bald":
-						/* commented out to save on rendering time
-						r += jsInclude("Art_Vector_Pubic_Hair_Underarm_None");
-						*/
-						break;
-					case "shaved":
-						r += jsInclude("Art_Vector_Pubic_Hair_Underarm_Shaved");
-						break;
-					case "neat":
-						r += jsInclude("Art_Vector_Pubic_Hair_Underarm_Neat");
-						break;
-					case "bushy":
-						r += jsInclude("Art_Vector_Pubic_Hair_Underarm_Bushy");
-				}
-			}
-		}
-	}
-
-	function ArtVectorPussy() {
-		if (slave.vagina >= 0 && slave.clothes !== "a latex catsuit" && slave.clothes !== "a comfortable bodysuit" && slave.clothes !== "a cybersuit")
-			r += jsInclude("Art_Vector_Pussy");
-	}
-
-	function ArtVectorPussyPiercings() {
-		switch (slave.clothes) {/* piercings display on these clothes */
-			case "a bra":
-			case "a button-up shirt":
-			case "a chattel habit":
-			case "a comfortable bodysuit":
-			case "a cybersuit":
-			case "a fallen nuns habit":
-			case "a Fuckdoll suit":
-			case "a latex catsuit":
-			case "a monokini":
-			case "a nice pony outfit":
-			case "a penitent nuns habit":
-			case "a skimpy loincloth":
-			case "a slutty pony outfit":
-			case "a sports bra":
-			case "a string bikini":
-			case "a striped bra":
-			case "a succubus outfit":
-			case "a sweater":
-			case "a t-shirt":
-			case "a t-shirt and panties":
-			case "a t-shirt and thong":
-			case "a tank-top":
-			case "a tube top":
-			case "an oversized t-shirt":
-			case "attractive lingerie":
-			case "body oil":
-			case "chains":
-			case "choosing her own clothes":
-			case "no clothing":
-			case "restrictive latex":
-			case "shibari ropes":
-			case "slutty jewelry":
-			case "sport shorts":
-			case "sport shorts and a sports bra":
-			case "sport shorts and a t-shirt":
-			case "uncomfortable straps":
-			case "Western clothing":
-				/* piercinglevel = 1, Light; piercinglevel = 2, Heavy; piercinglevel = 3, Smart; piercinglevel = 0, None */
-				if (slave.vaginaPiercing === 1)
-					r += jsInclude("Art_Vector_Pussy_Piercing");
-				else if (slave.vaginaPiercing === 2)
-					r += jsInclude("Art_Vector_Pussy_Piercing_Heavy");
-
-				if (slave.clitPiercing === 1)
-					r += jsInclude("Art_Vector_Clit_Piercing");
-				else if (slave.clitPiercing === 2)
-					r += jsInclude("Art_Vector_Clit_Piercing_Heavy");
-				else if (slave.clitPiercing === 3)
-					r += jsInclude("Art_Vector_Clit_Piercing_Smart");
-		}
-	}
-
-	function ArtVectorTorso() {
-		r += jsInclude(`Art_Vector_Torso_${torsoSize}`);
-		if (slave.muscles >= 97)
-			r += jsInclude(`Art_Vector_Torso_${torsoSize}_MHeavy`);
-		else if (slave.muscles >= 62)
-			r += jsInclude(`Art_Vector_Torso_${torsoSize}_MMedium`);
-		else if (slave.muscles >= 30)
-			r += jsInclude(`Art_Vector_Torso_${torsoSize}_MLight`);
-	}
-
-	function ArtVectorTorsoOutfit() {
-		/* TODO: latex catsuit should cover vagina and its piercings, too */
-		switch (slave.clothes) {
-			case "a Fuckdoll suit":
-			case "a latex catsuit":
-			case "a nice pony outfit":
-			case "a slutty pony outfit":
-			case "choosing her own clothes":
-			case "no clothing":
-				break; /* no torso outfit */
-			/* manually handle special cases */
-			case "a cybersuit":
-				r += jsInclude(`Art_Vector_Torso_Outfit_Latex_${torsoSize}`);
-				break;
-			case "a slutty schutzstaffel uniform":
-				r += jsInclude(`Art_Vector_Torso_Outfit_SchutzstaffelUniform_${torsoSize}`);
-				break;
-			case "a niqab and abaya":
-			case "a burqa":
-				r += jsInclude(`Art_Vector_Torso_Outfit_HijabAndAbaya_${torsoSize}`);
-				break;
-			default:
-				r += jsInclude(`Art_Vector_Torso_Outfit_${clothing2artSuffix(slave.clothes)}_${torsoSize}`);
-		}
-		if (V.seeVectorArtHighlights === 1) {
-			if (slave.fuckdoll !== 0 || slave.clothes === "restrictive latex" || slave.clothes === "a latex catsuit") {
-				if (slave.amp !== 0)
-					r += jsInclude("Art_Vector_Torso_Outfit_Shine_Shoulder");
-				if (slave.preg <= 0)
-					r += jsInclude(`Art_Vector_Torso_Outfit_Shine_${torsoSize}`);
-			}
-		}
-	}
-	return VectorArt;
-})();
diff --git a/src/art/artWidgets.tw b/src/art/artWidgets.tw
index 17f28ce4872b2eac96afd855575aa0642ac4e0a9..5c7529bfef3b141d4977db18f21ec21c8046bff9 100644
--- a/src/art/artWidgets.tw
+++ b/src/art/artWidgets.tw
@@ -13,480 +13,7 @@ $args[2]: icon UI Display for vector art, 1 for on.
 %/
 <<widget "SlaveArt">>
 
-<<if ndef $args[0].customImage>><<set $args[0].customImage = 0>><</if>>
-<<if $args[0].customImage != 0>>
-	<<set _fileFormat = ($args[0].customImageFormat || "png"),
-		_fileName = "'resources/" + $args[0].customImage + "." + _fileFormat + "' ",
-		_fileTypeStart = (_fileFormat === "webm" ? "video loop autoplay" : "img"),
-		_fileTypeEnd = (_fileFormat === "webm" ? "</video>" : "")>>
-	<<if $args[1] == 3>>
-		<<print "<" + _fileTypeStart + " src=" + _fileName + "style='float:right; border:3px hidden'>" + _fileTypeEnd>>
-	<<elseif $args[1] == 2>>
-		<<print "<" + _fileTypeStart + " src=" + _fileName + "style='float:right; border:3px hidden' width='300' height='300'>" + _fileTypeEnd>>
-	<<elseif $args[1] == 1>>
-		<<print "<" + _fileTypeStart + " src=" + _fileName + "style='float:left; border:3px hidden' width='150' height='150'>" + _fileTypeEnd>>
-	<<else>>
-		<<print "<" + _fileTypeStart + " src=" + _fileName + "style='float:left; border:3px hidden' width='120' height='120'>" + _fileTypeEnd>>
-	<</if>>
-
-<<elseif $imageChoice == 1>> /* VECTOR ART BY NOX*/
-
-<<set _artSlave = $args[0] >>
-/* prepare HTML color codes for slave display */
-/* note: latex clothing is mostly emulated by rubber color for skin (and shoes) */
-/* TODO: consistently use American "color" instead of "colour" for all identifiers */
-<<run ArtVectorColor(_artSlave)>>
-<<include Art_Vector_Generate_Stylesheet_>>
-<<= VectorArt(_artSlave)>>
-
-<<elseif $imageChoice == 2>> /* VECTOR ART BY NOX - Pregmod Legacy Version */
-<<SVGFilters>>
-
-/* 000-250-006 */
-/* <div class="imageRef"> */
-/* 000-250-006 */
-
-<<set _folderLoc = "'resources/vector">>
-
-<<if $args[2] == 1>>
-	<<print "<img class='paperdoll' src=" + _folderLoc + "/test ui.svg'" + "/>">>
-<</if>>
-
-/% Set skin color %/
-<<set _skinFilter = "filter: url(#skin-" + _.kebabCase($args[0].skin) + ");">>
-/% Set hair color %/
-<<set _hairFilter = "filter: url(#hair-" + _.kebabCase($args[0].hColor) + ");">>
-<<set _underArmFilter = "filter: url(#hair-" + _.kebabCase($args[0].underArmHColor) + ");">>
-<<set _pubesFilter = "filter: url(#hair-" + _.kebabCase($args[0].pubicHColor) + ");">>
-<<set _axillaryFilter = "filter: url(#hair-" + _.kebabCase($args[0].underArmHColor) + ");">>
-<<if $args[0].customHairVector>>
-	<<set _hairStyle = $args[0].customHairVector>>
-<<else>>
-	<<set _hairStyle = ["afro", "braided", "bun", "buzzcut", "dreadlocks", "eary", "luxurious", "messy", "neat", "ponytail", "strip", "tails", "trimmed", "up"].includes($args[0].hStyle) ? $args[0].hStyle : "neat">>
-<</if>>
-<<set _underArmHStyle = $args[0].underArmHStyle>>
-
-<<set _imgSkinLoc = _folderLoc + "/body/white">>
-
-/% Shoulder width and arm or no arm %/
-<<if $args[0].amp != 1>>
-	<<if $args[0].devotion > 50>>
-		<<set _leftArmType = "high">>
-		<<set _rightArmType = "high">>
-	<<elseif $args[0].trust >= -20>>
-		<<if $args[0].devotion < -20>>
-			<<set _leftArmType = "rebel">>
-			<<set _rightArmType = "low">>
-		<<elseif $args[0].devotion <= 20>>
-			<<set _leftArmType = "low">>
-			<<set _rightArmType = "low">>
-		<<else>>
-			<<set _leftArmType = "mid">>
-			<<set _rightArmType = "high">>
-		<</if>>
-	<<else>>
-		<<set _leftArmType = "mid">>
-		<<set _rightArmType = "mid">>
-	<</if>>
-
-	<<if $args[0].fuckdoll == 0 && $args[0].clothes != "restrictive latex" && $args[0].clothes != "a latex catsuit">>
-		<<print "<img class='paperdoll' src=" + _imgSkinLoc + "/arm right " + _rightArmType + ".svg'" + " style='"+ _skinFilter + "'>">>
-		<<if $args[0].underArmHStyle == "bushy">>
-			<<= "<img class='paperdoll' src=" + _folderLoc + "/hair/underArm " + _underArmHStyle + " right.svg'" + " style='" + _underArmFilter + "'/>">>
-		<</if>>
-	<<else>>
-		<<if $args[0].fuckdoll != 0>>
-			<<set _rightArmType = "mid">>
-		<</if>>
-		<<print "<img class='paperdoll' src=" + _folderLoc + "/outfit/arm right " + _rightArmType + " latex.svg'" + "/>">>
-	<</if>>
-
-<<else>>
-	<<if $args[0].fuckdoll == 0 && $args[0].clothes != "restrictive latex" && $args[0].clothes != "a latex catsuit" && $args[0].underArmHStyle == "bushy">>
-		<<= "<img class='paperdoll' src=" + _folderLoc + "/hair/underArm " + _underArmHStyle + " right.svg'" + " style='" + _underArmFilter + "'/>">>
-	<</if>>
-<</if>>
-
-/% Hair Aft %/
-<<if $args[0].hStyle != "shaved" && $args[0].fuckdoll == 0>>
-	<<= "<img class='paperdoll' src=" + _folderLoc + "/hair/" + _hairStyle + " back.svg'" + " style='" + _hairFilter + "'/>">>
-<</if>>
-
-/% Tailed Plug %/
-<<if $args[0].buttplugAttachment == "tail">>
-	<<= "<img class='paperdoll' src=" + _folderLoc + "/outfit/tail plug.svg'" + " style='" + _hairFilter + "'/>">>
-<</if>>
-
-/% Butt %/
-<<if $args[0].amp != 1>>
-<<if $args[0].butt > 6>>
-	<<set _buttSize = 3>>
-<<elseif $args[0].butt > 4>>
-	<<set _buttSize = 2>>
-<<elseif $args[0].butt > 2>>
-	<<set _buttSize = 1>>
-<<else>>
-	<<set _buttSize = 0>>
-<</if>>
-<<if $args[0].fuckdoll != 0 || $args[0].clothes == "restrictive latex" || $args[0].clothes == "a latex catsuit">>
-	<<set _buttSize = _buttSize + " latex">>
-	<<print "<img class='paperdoll' src=" + _folderLoc + "/outfit/butt " + _buttSize + ".svg'" + " style='"+ _skinFilter + "'>">>
-<<else>>
-	<<print "<img class='paperdoll' src=" + _imgSkinLoc + "/butt " + _buttSize + ".svg'" + " style='"+ _skinFilter + "'>">>
-<</if>>
-<</if>>
-
-/% Leg + 1 size up when chubby or fat%/
-<<if $args[0].hips < 0>>
-	<<if $args[0].weight > 95>>/%Chubby%/
-		<<set _legSize = "normal">>
-	<<else>>
-		<<set _legSize = "narrow">>
-	<</if>>
-<<elseif $args[0].hips == 0>>
-	<<if $args[0].weight > 95>>/%Chubby%/
-		<<set _legSize = "wide">>
-	<<else>>
-		<<set _legSize = "normal">>
-	<</if>>
-<<elseif $args[0].hips > 0>>
-	<<set _legSize = "wide">>
-<</if>>
-<<if $args[0].amp == 1>>
-	<<set _legSize = "stump " + _legSize>>
-<</if>>
-<<if ($args[0].fuckdoll != 0 || $args[0].clothes == "restrictive latex" || $args[0].clothes == "a latex catsuit") && $args[0].amp != 1>>
-	<<set _legSize = _legSize + " latex">>
-	<<print "<img class='paperdoll' src=" + _folderLoc + "/outfit/leg " + _legSize + ".svg'" + "/>">>
-<<else>>
-	<<print "<img class='paperdoll' src=" + _imgSkinLoc + "/leg " + _legSize + ".svg'" + " style='"+ _skinFilter + "'>">>
-<</if>>
-
-/% Feet %/
-<<if $args[0].amp != 1>>
-<<if $args[0].shoes == "heels">>
-	<<set _shoesType = "heel">>
-<<elseif $args[0].shoes == "extreme heels">>
-	<<if $args[0].weight > 95>>/%Chubby%/
-		<<set _shoesType = "extreme heel wide">>
-	<<else>>
-		<<set _shoesType = "extreme heel">>
-	<</if>>
-<<elseif $args[0].shoes == "boots">>
-	<<if $args[0].weight > 95>>/%Chubby%/
-		<<set _shoesType = "boot wide">>
-	<<else>>
-		<<set _shoesType = "boot">>
-	<</if>>
-<<elseif $args[0].shoes == "flats">>
-	<<set _shoesType = "flat">>
-<<else>>
-	<<print "<img class='paperdoll' src=" + _imgSkinLoc + "/feet.svg'" + " style='"+ _skinFilter + "'>">>
-<</if>>
-<<if $args[0].shoes == "extreme heels" || $args[0].shoes == "boots">>
-	<<if $args[0].fuckdoll != 0 || $args[0].clothes == "restrictive latex" || $args[0].clothes == "a latex catsuit">>
-		<<set _shoesType = _shoesType + " latex">>
-	<</if>>
-	<<print "<img class='paperdoll' src=" + _folderLoc + "/outfit/" + _shoesType + ".svg'" + "/>">>
-<</if>>
-<<if $args[0].shoes == "heels" || $args[0].shoes == "flats">>
-	<<if $args[0].fuckdoll != 0 || $args[0].clothes == "restrictive latex" || $args[0].clothes == "a latex catsuit">>
-		<<set _shoesType = _shoesType + " latex">>
-		<<print "<img class='paperdoll' src=" + _folderLoc + "/outfit/" + _shoesType + ".svg'" + "/>">>
-	<<else>>
-		<<print "<img class='paperdoll' src=" + _imgSkinLoc + "/" + _shoesType + ".svg'" + " style='"+ _skinFilter + "'>">>
-	<</if>>
-<</if>>
-<</if>>
-
-/% Torso %/
-<<if $args[0].waist < -40>>
-	<<if $args[0].weight > 30>>
-		<<set _torsoSize = "Hourglass">>
-	<<else>>
-		<<set _torsoSize = "Unnatural">>
-	<</if>>
-<<elseif $args[0].waist <= 10>>
-	<<if $args[0].weight > 30>>
-		<<set _torsoSize = "Normal">>
-	<<else>>
-		<<set _torsoSize = "Hourglass">>
-	<</if>>
-<<else>>
-	<<set _torsoSize = "Normal">>
-<</if>>
-<<print "<img class='paperdoll' src=" + _imgSkinLoc + "/torso " + _torsoSize + ".svg'" + " style='"+ _skinFilter + "'>">>
-<<set _torsoOutfit = false>>
-<<if $args[0].fuckdoll != 0 || $args[0].clothes == "restrictive latex" || $args[0].clothes == "a latex catsuit">>
-	<<set _torsoOutfit = " latex">>
-<<elseif $args[0].clothes == "uncomfortable straps">>
-	<<set _torsoOutfit = " straps">>
-<</if>>
-<<if _torsoOutfit>>
-	<<print "<img class='paperdoll' src=" + _folderLoc + "/outfit/torso " + _torsoSize + _torsoOutfit + ".svg'" + "/>">>
-<</if>>
-
-<<if $args[0].amp != 1>>
-	<<if $args[0].fuckdoll == 0 && $args[0].clothes != "restrictive latex" && $args[0].clothes != "a latex catsuit">>
-		<<if _leftArmType == "high">>
-			<<print "<img class='paperdoll' src=" + _imgSkinLoc + "/arm left " + _leftArmType + ".svg'" + " style='"+ _skinFilter + "'>">>
-			<<if $args[0].underArmHStyle == "bushy">>
-				<<= "<img class='paperdoll' src=" + _folderLoc + "/hair/underArm " + _underArmHStyle + " left.svg'" + " style='" + _underArmFilter + "'/>">>
-			<</if>>
-		<<else>>
-			<<if $args[0].underArmHStyle == "bushy">>
-				<<= "<img class='paperdoll' src=" + _folderLoc + "/hair/underArm " + _underArmHStyle + " left.svg'" + " style='" + _underArmFilter + "'/>">>
-			<</if>>
-			<<print "<img class='paperdoll' src=" + _imgSkinLoc + "/arm left " + _leftArmType + ".svg'" + " style='"+ _skinFilter + "'>">>
-		<</if>>
-		<<print "<img class='paperdoll' src=" + _imgSkinLoc + "/arm left " + _leftArmType + ".svg'" + " style='"+ _skinFilter + "'>">>
-	<<else>>
-		<<if $args[0].fuckdoll != 0>>
-			<<set _leftArmType = "mid">>
-		<</if>>
-		<<print "<img class='paperdoll' src=" + _folderLoc + "/outfit/arm left " + _leftArmType + " latex.svg'" + "/>">>
-	<</if>>
-<<else>>
-	<<if $args[0].fuckdoll == 0 && $args[0].clothes != "restrictive latex" && $args[0].clothes != "a latex catsuit" && $args[0].underArmHStyle == "bushy">>
-		<<= "<img class='paperdoll' src=" + _folderLoc + "/hair/underArm " + _underArmHStyle + " left.svg'" + " style='" + _underArmFilter + "'/>">>
-	<</if>>
-<</if>>
-
-/% Vagina %/
-<<if $args[0].vagina >= 0>>
-	<<print "<img class='paperdoll' src=" + _imgSkinLoc + "/vagina.svg'" + " style='"+ _skinFilter + "'>">>
-	<<if $args[0].clitPiercing == 1>>
-		<<print "<img class='paperdoll' src=" + _folderLoc + "/body/addon/clit piercing.svg'" + "/>">>
-	<<elseif $args[0].clitPiercing == 2>>
-		<<print "<img class='paperdoll' src=" + _folderLoc + "/body/addon/clit piercing heavy.svg'" + "/>">>
-	<<elseif $args[0].clitPiercing == 3>>
-		<<print "<img class='paperdoll' src=" + _folderLoc + "/body/addon/clit piercing smart.svg'" + "/>">>
-	<</if>>
-	<<if $args[0].vaginaPiercing == 1>>
-		<<print "<img class='paperdoll' src=" + _folderLoc + "/body/addon/pussy piercing.svg'" + "/>">>
-	<<elseif $args[0].vaginaPiercing == 2>>
-		<<print "<img class='paperdoll' src=" + _folderLoc + "/body/addon/pussy piercing heavy.svg'" + "/>">>
-	<</if>>
-<</if>>
-
-/% Collar %/
-<<switch $args[0].collar>>
-<<case "bowtie">>
-<<case "ancient Egyptian">>
-<<case "nice retirement counter" "cruel retirement counter" "leather with cowbell" "pretty jewelry" "heavy gold" "satin choker" "stylish leather" "neck corset" "shock punishment" "tight steel" "uncomfortable leather" "dildo gag">>
-	<<print "<img class='paperdoll' src=" + _folderLoc + "/outfit/" + $args[0].collar + ".svg'" + "/>">>
-<</switch>>
-
-/% Head base image %/
-<<if $args[0].fuckdoll != 0 || $args[0].clothes == "restrictive latex" || $args[0].clothes == "a latex catsuit">>
-	<<print "<img class='paperdoll' src=" + _folderLoc + "/outfit/head latex.svg'" + "/>">>
-<<else>>
-	<<print "<img class='paperdoll' src=" +_imgSkinLoc + "/head.svg'" + " style='"+ _skinFilter + "'>">>
-<</if>>
-
-/% Glasses %/
-<<if $args[0].eyewear == "corrective glasses" || $args[0].eyewear == "glasses" || $args[0].eyewear == "blurring glasses">>
-	<<print "<img class='paperdoll' src=" + _folderLoc + "/outfit/glasses.svg'" + "/>">>
-<</if>>
-
-/% Chastity belt or Pubic hair %/
-<<if $args[0].chastityPenis || $args[0].chastityVagina || $args[0].chastityAnus>>
-	<<if $args[0].chastityPenis>>
-		<<print "<img class='paperdoll' src=" + _folderLoc + "/outfit/chastity male aft.svg'" + "/>">>
-	<</if>>
-	<<if $args[0].chastityVagina>>
-		<<print "<img class='paperdoll' src=" + _folderLoc + "/outfit/chastity female.svg'" + "/>">>
-	<</if>>
-	<<print "<img class='paperdoll' src=" + _folderLoc + "/outfit/chastity base.svg'" + "/>">>
-<<else>>
-	<<if $args[0].pubicHStyle != "waxed">>
-		<<set _pubicHStyle = ($args[0].pubicHStyle == "in a strip" ? "strip" : $args[0].pubicHStyle)>>
-		<<= "<img class='paperdoll' src=" + _folderLoc + "/hair/pubes " + _pubicHStyle + ".svg' style='" + _pubesFilter + "'/>">>
-	<</if>>
-<</if>>
-
-/%if pregnant or has a belly%/
-<<if $args[0].belly >= 5000>>
-	<<print "<img class='paperdoll' src=" + _imgSkinLoc + "/preg belly 5000.svg'" + " style='"+ _skinFilter + "'>">>
-	<<if $args[0].navelPiercing >= 1>>/*Navel Piercing*/
-		<<print "<img class='paperdoll' src=" + _folderLoc + "/body/addon/preg navel piercing.svg'" + "/>">>
-	<</if>>
-	<<if $args[0].navelPiercing == 2>>
-		<<print "<img class='paperdoll' src=" + _folderLoc + "/body/addon/preg navel piercing heavy.svg'" + "/>">>
-	<</if>>
-<<elseif $args[0].belly <= -100>> /* condition is currently reversed until the vector can be fixed */
-	<<print "<img class='paperdoll' src=" + _imgSkinLoc + "/preg belly 100.svg'" + " style='"+ _skinFilter + "'>">>
-	/*
-	<<if $args[0].navelPiercing >= 1>>/Navel Piercing/
-		<<print "<img class='paperdoll' src=" + _folderLoc + "/body/addon/preg navel piercing.svg'" + "/>">>
-	<</if>>
-	<<if $args[0].navelPiercing == 2>>
-		<<print "<img class='paperdoll' src=" + _folderLoc + "/body/addon/preg navel piercing heavy.svg'" + "/>">>
-	<</if>>
-	*/
-<<else>>
-	/*Navel Piercing*/
-	<<if $args[0].navelPiercing >= 1>>
-		<<print "<img class='paperdoll' src=" + _folderLoc + "/body/addon/navel piercing.svg'" + "/>">>
-	<</if>>
-	<<if $args[0].navelPiercing == 2>>
-		<<print "<img class='paperdoll' src=" + _folderLoc + "/body/addon/navel piercing heavy.svg'" + "/>">>
-	<</if>>
-<</if>>
-
-/% Boob %/
-<<if $args[0].boobs < 300>>
-	<<set _boobSize = 0>>
-<<elseif $args[0].boobs < 500>>
-	<<set _boobSize = 1>>
-<<elseif $args[0].boobs < 800>>
-	<<set _boobSize = 2>>
-<<elseif $args[0].boobs < 1600>>
-	<<set _boobSize = 3>>
-<<elseif $args[0].boobs < 3200>>
-	<<set _boobSize = 4>>
-<<elseif $args[0].boobs < 6400>>
-	<<set _boobSize = 5>>
-<<elseif $args[0].boobs < 12000>>
-	<<set _boobSize = 6>>
-<<else>>
-	<<set _boobSize = 7>>
-<</if>>
-
-/% Scrotum %/
-<<if $args[0].scrotum > 0>>
-	<<if $args[0].scrotum >= 6>>
-		<<set _ballSize = 4>>
-	<<elseif $args[0].scrotum >= 4>>
-		<<set _ballSize = 3>>
-	<<elseif $args[0].scrotum >= 3>>
-		<<set _ballSize = 2>>
-	<<elseif $args[0].scrotum >= 2>>
-		<<set _ballSize = 1>>
-	<<else>>
-		<<set _ballSize = 0>>
-	<</if>>
-<</if>>
-
-/% Penis %/
-<<if $args[0].dick > 0>>
-	<<if $args[0].dick >= 8>>
-		<<set _penisSize = 6>>
-	<<elseif $args[0].dick >= 7>>
-		<<set _penisSize = 5>>
-	<<elseif $args[0].dick >= 6>>
-		<<set _penisSize = 4>>
-	<<elseif $args[0].dick >= 5>>
-		<<set _penisSize = 3>>
-	<<elseif $args[0].dick >= 4>>
-		<<set _penisSize = 2>>
-	<<elseif $args[0].dick >= 2>>
-		<<set _penisSize = 1>>
-	<<else>>
-		<<set _penisSize = 0>>
-	<</if>>
-<</if>>
-
-/% Boob %/
-<<set _needBoobs = 1>>
-<<if $args[0].dick > 0>>
-<<if canAchieveErection($args[0])>>
-<<if _boobSize < 6>>
-	<<if $args[0].fuckdoll != 0 || $args[0].clothes == "restrictive latex" || $args[0].clothes == "a latex catsuit">>
-		/* normal case: outfit hides boobs */
-		<<set _boobOutfit = " latex" >>
-	<</if>>
-	<<if _boobOutfit >>
-		<<print "<img class='paperdoll' src=" + _folderLoc + "/outfit/boob " +_boobSize + _boobOutfit + ".svg'" + "/>">>
-		<<if $args[0].lactation > 0>>
-			<<print "<img class='paperdoll' src=" + _imgSkinLoc + "/boob " +_boobSize + " areola.svg'" + " style='"+ _skinFilter + "'>">>
-		<</if>>
-	<<else>>
-		<<print "<img class='paperdoll' src=" + _imgSkinLoc + "/boob " +_boobSize +".svg'" + " style='"+ _skinFilter + "'>">>
-		<<print "<img class='paperdoll' src=" + _imgSkinLoc + "/boob " +_boobSize + " areola.svg'" + " style='"+ _skinFilter + "'>">>
-	<</if>>
-	/* special case: straps are actually dawn over the boobs */
-	<<if $args[0].clothes == "uncomfortable straps">>
-		<<set _boobOutfit = " straps" >>
-		<<print "<img class='paperdoll' src=" + _folderLoc + "/outfit/boob " +_boobSize + _boobOutfit + ".svg'" + "/>">>
-	<</if>>
-	<<set _needBoobs = 0>>
-<</if>>
-<</if>>
-<</if>>
-<<if $args[0].vagina > 0>>
-	<<if $args[0].dick > 0>>
-		<div class="highPenis">
-		<<if $args[0].scrotum > 0>>
-			<<print "<img class='paperdoll' src=" + _imgSkinLoc + "/ball " + _ballSize + ".svg'" + " style='"+ _skinFilter + "'>">>
-		<</if>>
-		<<if canAchieveErection($args[0])>>
-			<<print "<img class='paperdoll' src=" + _imgSkinLoc + "/penis " + _penisSize + ".svg'" + " style='"+ _skinFilter + "'>">>
-		<<else>>
-			<<print "<img class='paperdoll' src=" + _imgSkinLoc + "/flaccid " + _penisSize + ".svg'" + " style='"+ _skinFilter + "'>">>
-			<<if $args[0].chastityPenis>>
-				<<print "<img class='paperdoll' src=" + _folderLoc + "/outfit/chastity male fore " + _penisSize + ".svg'" + "/>">>
-			<</if>>
-		<</if>>
-		</div>
-	<</if>>
-<<else>>
-	<<if $args[0].dick > 0>>
-		<div class="lowPenis">
-		<<if $args[0].scrotum > 0>>
-			<<print "<img class='paperdoll' src=" + _imgSkinLoc + "/ball " + _ballSize + ".svg'" + " style='"+ _skinFilter + "'>">>
-		<</if>>
-		<<if canAchieveErection($args[0])>>
-			<<print "<img class='paperdoll' src=" + _imgSkinLoc + "/penis " + _penisSize + ".svg'" + " style='"+ _skinFilter + "'>">>
-		<<else>>
-			<<print "<img class='paperdoll' src=" + _imgSkinLoc + "/flaccid " + _penisSize + ".svg'" + " style='"+ _skinFilter + "'>">>
-			<<if $args[0].chastityPenis>>
-				<<print "<img class='paperdoll' src=" + _folderLoc + "/outfit/chastity male fore " + _penisSize + ".svg'" + "/>">>
-			<</if>>
-		<</if>>
-		</div>
-	<</if>>
-<</if>>
-<<if _needBoobs>>
-	<<if $args[0].fuckdoll != 0 || $args[0].clothes == "restrictive latex" || $args[0].clothes == "a latex catsuit">>
-		<<print "<img class='paperdoll' src=" + _folderLoc + "/outfit/boob " +_boobSize +" latex.svg'" + "/>">>
-		<<if $args[0].lactation > 0>><<print "<img class='paperdoll' src=" + _imgSkinLoc + "/boob " +_boobSize + " areola.svg'" + " style='"+ _skinFilter + "'>">><</if>>
-	<<else>>
-		<<print "<img class='paperdoll' src=" + _imgSkinLoc + "/boob " +_boobSize +".svg'" + " style='"+ _skinFilter + "'>">>
-		<<print "<img class='paperdoll' src=" + _imgSkinLoc + "/boob " +_boobSize + " areola.svg'" + " style='"+ _skinFilter + "'>">>
-	<</if>>
-	/* special case: straps are actually dawn over the boobs */
-	<<if $args[0].clothes == "uncomfortable straps">>
-		<<set _boobOutfit = " straps" >>
-		<<print "<img class='paperdoll' src=" + _folderLoc + "/outfit/boob " +_boobSize + _boobOutfit + ".svg'" + "/>">>
-	<</if>>
-<</if>>
-
-/% piercings %/
-<<if $args[0].nipplesPiercing == 1>>
-	<<print "<img class='paperdoll' src=" + _folderLoc + "/body/addon/boob " +_boobSize +" piercing.svg'" + "/>">>
-<<elseif $args[0].nipplesPiercing == 2>>
-	<<print "<img class='paperdoll' src=" + _folderLoc + "/body/addon/boob " +_boobSize +" piercing heavy.svg'" + "/>">>
-<</if>>
-<<if $args[0].areolaePiercing == 1>>
-	<<print "<img class='paperdoll' src=" + _folderLoc + "/body/addon/boob " +_boobSize +" areola piercing.svg'" + "/>">>
-<</if>>
-
-/% clavicle %/
-<<print "<img class='paperdoll' src=" + _folderLoc + "/body/addon/clavicle.svg'" + "/>">>
-
-/% Hair Foreground %/
-<<if $args[0].hStyle != "shaved" && $args[0].fuckdoll == 0>>
-	<<= "<img class='paperdoll' src=" + _folderLoc + "/hair/" + _hairStyle + " front.svg'" + " style='" + _hairFilter + "'/>">>
-<</if>>
-
-<<elseif $imageChoice == 3>> /* VECTOR ART REVAMP*/
-	<<include Art_Vector_Revamped_Control_>>
-<<else>> /* RENDERED IMAGES BY SHOKUSHU */
-
-	<<= ArtControlRendered($args[0], $args[1])>>
-
-<</if>> /* CLOSES IMAGE CHOICE */
+<<= SlaveArt($args[0], $args[1], $args[2])>>
 
 <</widget>>
 
diff --git a/src/art/vector/ArtVectorColor.js b/src/art/vector/ArtVectorColor.js
deleted file mode 100644
index 4becc3e941a59ff53ec54a085f9c13def8baaabd..0000000000000000000000000000000000000000
--- a/src/art/vector/ArtVectorColor.js
+++ /dev/null
@@ -1,386 +0,0 @@
-window.ArtVectorColor = function(slave) {
-	const T = State.temporary;
-	let outfitBaseColour;
-	
-	/* 
-		WARNING: Some of these temporary variables are used in wardrobeUse.tw or salon.tw 
-	 	Known examples are _outfitBaseColour, _glassesColor, and _shoeColour
-	*/
-	setOutfitColor();	
-	setSkinColor();
-	setHairColor();
-	setShoeColor();
-
-	function setOutfitColor() {
-		/* TODO: rewrite all textual descriptions not to explicitly mention the latex being of black color. */
-		if (slave.clothes === "a Fuckdoll suit" || slave.clothes === "restrictive latex" || slave.clothes === "a latex catsuit" || slave.clothes === "a cybersuit")
-			outfitBaseColour = slave.clothingBaseColor || "#515351"; /* use custom color, or use default latex color */
-		else if (slave.clothes == "a comfortable bodysuit")
-			outfitBaseColour = slave.clothingBaseColor || "#464646"; /* use custom color, or use default bodysuit color */
-
-		/* head addons */
-		if (slave.collar === "porcelain mask")
-			T.glassesColor = slave.glassesColor || "#FFFFFF"; /* use custom color or white */
-		else
-			T.glassesColor = slave.glassesColor || "#010101"; /* use custom color or default */
-
-		T.eyeColor = extractColor(slave.eyeColor, 1);
-		T.outfitBaseColour = outfitBaseColour;
-	}
-
-	function setSkinColor() {
-		const colorSlave = skinColorCatcher(slave);
-
-		/* setting default values */
-		T.areolaStyle = colorSlave.areolaColor;
-		T.bellybuttonStyle = colorSlave.areolaColor;
-		T.labiaStyle = colorSlave.labiaColor;
-		T.skinColour = colorSlave.skinColor;
-		/* todo: introduce fleshStyle */
-		/* these need to be declared so they can be set conditionally */
-		T.headSkinStyle = undefined;
-		T.torsoSkinStyle = undefined;
-		T.boobSkinStyle = undefined;
-		T.penisSkinStyle = undefined;
-		T.scrotumSkinStyle = undefined;
-		T.bellySkinStyle = undefined;
-
-		/* BEGIN SKIN COLOR OVERRIDES FOR LATEX CLOTHING EMULATION */
-		if (slave.clothes === "a Fuckdoll suit") {
-			/* slave is a fuckdoll - display all skin as if it was black rubber */
-			T.skinColour = outfitBaseColour;
-			T.areolaStyle = "fill:rgba(81,83,81,1);";
-			T.labiaStyle = T.areolaStyle;
-			T.bellybuttonStyle = T.areolaStyle;
-		} else if (slave.clothes === "restrictive latex") { /* slave wears restrictive latex - display most skin as if it was rubber */
-			/* nice latex does not cover any privates. */
-			T.boobSkinStyle = "fill:"+T.skinColour+";";
-			T.penisSkinStyle = "fill:"+T.skinColour+";";
-			T.scrotumSkinStyle = "fill:"+T.skinColour+";";
-			T.torsoSkinStyle = "fill:"+T.skinColour+";";
-			/* rest of body is covered in latex */
-			T.skinColour = outfitBaseColour;
-			T.bellybuttonStyle = outfitBaseColour;
-		} else if (slave.clothes === "a latex catsuit") {
-			/* nice latex does not cover head. */
-			T.headSkinStyle = "fill:"+T.skinColour+";";
-			/* rest of body is covered in latex */
-			T.skinColour = outfitBaseColour;
-			/* catsuit covers areolae and crotch, too */
-			T.bellybuttonStyle = outfitBaseColour;
-		} else if (slave.clothes === "a cybersuit") {
-			/* rest of body is covered in latex */
-			T.skinColour = outfitBaseColour;
-			T.bellybuttonStyle = outfitBaseColour;
-		} else if (slave.clothes === "a comfortable bodysuit") {
-			/* nice bodysuit does not cover head. */
-			T.headSkinStyle = "fill:"+T.skinColour+";";
-			/* rest of body is covered in bodysuit */
-			T.skinColour = outfitBaseColour;
-			T.bellySkinStyle = outfitBaseColour;
-			T.bellybuttonStyle = outfitBaseColour;
-		}
-		/* END SKIN COLOR OVERRIDES FOR LATEX CLOTHING EMULATION */
-
-		/* outfit dick coloring to match outfit rgba in svg */
-		switch (slave.clothes) {
-			case "a cheerleader outfit":
-				T.scrotumSkinStyle = "fill:rgba(250,186,0,1);";
-				T.bellySkinStyle = "fill:rgba(95,110,160,1);";
-				break;
-			case "cutoffs and a t-shirt":
-				T.scrotumSkinStyle = "fill:rgba(81,124,211,1);";
-				break;
-			case "a halter top dress":
-				T.scrotumSkinStyle = "fill:rgba(94,51,124,1);";
-				T.bellySkinStyle = "fill:rgba(94,51,124,1);";
-				break;
-			case "a burqa":
-			case "a hijab and abaya":
-			case "a niqab and abaya":
-				T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
-				T.bellySkinStyle = "fill:rgba(51,51,51,1);";
-				break;
-			case "a hijab and blouse":
-				T.scrotumSkinStyle = "fill:rgba(85,0,34,1);";
-				T.bellySkinStyle = "fill:rgba(85,0,34,1);";
-				break;
-			case "a burkini":
-				T.scrotumSkinStyle = "fill:rgba(0,97,158,1);";
-				T.bellySkinStyle = "fill:rgba(0,97,158,1);";
-				break;
-			case "a klan robe":
-				T.scrotumSkinStyle = "fill:rgba(236,236,236,1);";
-				T.bellySkinStyle = "fill:rgba(236,236,236,1);";
-				break;
-			case "a nice maid outfit":
-			case "a slutty maid outfit":
-				T.scrotumSkinStyle = "fill:rgba(225,225,225,1);";
-				T.bellySkinStyle = "fill:rgba(225,225,225,1);";
-				break;
-			case "a leotard":
-				T.scrotumSkinStyle = "fill:rgba(120,15,55,1);";
-				T.bellySkinStyle = "fill:rgba(120,15,55,1);";
-				break;
-			case "a military uniform":
-				T.scrotumSkinStyle = "fill:rgba(34,42,18,1);";
-				T.bellySkinStyle = "fill:rgba(34,42,18,1);";
-				break;
-			case "a mini dress":
-				T.scrotumSkinStyle = "fill:rgba(26,26,26,1);";
-				T.bellySkinStyle = "fill:rgba(26,26,26,1);";
-				break;
-			case "a nice nurse outfit":
-				T.scrotumSkinStyle = "fill:rgba(0,128,128,1);";
-				T.bellySkinStyle = "fill:rgba(0,128,128,1);";
-				break;
-			case "a slutty nurse outfit":
-				T.scrotumSkinStyle = "fill:rgba(255,255,255,1);";
-				break;
-			case "a scalemail bikini":
-				T.scrotumSkinStyle = "fill:rgba(133,146,158,1);";
-				break;
-			case "striped panties":
-				T.scrotumSkinStyle = "fill:rgba(255,255,255,1);";
-				break;
-			case "a schoolgirl outfit":
-				T.scrotumSkinStyle = "fill:rgba(28,31,36,1);";
-				T.bellySkinStyle = "fill:rgba(28,31,36,1);";
-				break;
-			case "a ball gown":
-				T.scrotumSkinStyle = "fill:rgba(128,0,0,1);";
-				T.bellySkinStyle = "fill:rgba(128,0,0,1);";
-				break;
-			case "battledress":
-				T.scrotumSkinStyle = "fill:rgba(34,42,18,1);";
-				T.bellySkinStyle = "fill:rgba(34,42,18,1);";
-				break;
-			case "a slave gown":
-				T.scrotumSkinStyle = "fill:rgba(200,200,200,1);";
-				T.bellySkinStyle = "fill:rgba(200,200,200,1);";
-				break;
-			case "a slutty outfit":
-				T.scrotumSkinStyle = "fill:rgba(63,126,181,1);";
-				break;
-			case "spats and a tank top":
-				T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
-				break;
-			case "a succubus outfit":
-				T.scrotumSkinStyle = "fill:rgba(128,0,0,1);";
-				T.bellySkinStyle = "fill:rgba(128,0,0,1);";
-				break;
-			case "nice business attire":
-				T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
-				T.bellySkinStyle = "fill:rgba(51,51,51,1);";
-				break;
-			case "slutty business attire":
-				T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
-				break;
-			case "attractive lingerie for a pregnant woman":
-				T.scrotumSkinStyle = "fill:rgba(153,153,153,1);";
-				break;
-			case "a bunny outfit":
-				T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
-				T.bellySkinStyle = "fill:rgba(51,51,51,1);";
-				break;
-			case "conservative clothing":
-				T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
-				T.bellySkinStyle = "fill:rgba(51,51,51,1);";
-				break;
-			case "harem gauze":
-				T.scrotumSkinStyle = "fill:rgba(0,168,131,1);";
-				break;
-			case "a huipil":
-				T.scrotumSkinStyle = "fill:rgba(200,200,200,1);";
-				T.bellySkinStyle = "fill:rgba(200,200,200,1);";
-				break;
-			case "a kimono":
-				T.scrotumSkinStyle = "fill:rgba(0,91,150,1);";
-				T.bellySkinStyle = "fill:rgba(0,91,150,1);";
-				break;
-			case "a maternity dress":
-				T.scrotumSkinStyle = "fill:rgba(48,54,72,1);";
-				T.bellySkinStyle = "fill:rgba(48,54,72,1);";
-				break;
-			case "a slutty qipao":
-				T.scrotumSkinStyle = "fill:rgba(204,177,68,1);";
-				T.bellySkinStyle = "fill:rgba(204,177,68,1);";
-				break;
-			case "stretch pants and a crop-top":
-				T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
-				break;
-			case "a toga":
-				T.scrotumSkinStyle = "fill:rgba(200,200,200,1);";
-				T.bellySkinStyle = "fill:rgba(200,200,200,1);";
-				break;
-			case "a penitent nuns habit":
-				T.scrotumSkinStyle = "fill:rgba(114,93,73,1);";
-				break;
-			case "a fallen nuns habit":
-				T.bellySkinStyle = "fill:rgba(51,51,51,1);";
-				break;
-			case "a chattel habit":
-				T.scrotumSkinStyle = "fill:rgba(200,200,200,1);";
-				break;
-			case "a monokini":
-				T.scrotumSkinStyle = "fill:rgba(33,47,61,1);";
-				break;
-			case "a schutzstaffel uniform":
-			case "a slutty schutzstaffel uniform":
-				T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
-				T.bellySkinStyle = "fill:rgba(51,51,51,1);";
-				break;
-			case "a red army uniform":
-				T.scrotumSkinStyle = "fill:rgba(114,93,73,1);";
-				T.bellySkinStyle = "fill:rgba(114,93,73,1);";
-				break;
-			case "an apron":
-				T.scrotumSkinStyle = "fill:rgba(255,105,180,1);";
-				T.bellySkinStyle = "fill:rgba(255,105,180,1);";
-				break;
-			case "a dirndl":
-				T.scrotumSkinStyle = "fill:rgba(128,0,51,1);";
-				T.bellySkinStyle = "fill:rgba(128,0,51,1);";
-				break;
-			case "lederhosen":
-				T.scrotumSkinStyle = "fill:rgba(93,83,108,1);";
-				break;
-			case "a long qipao":
-				T.scrotumSkinStyle = "fill:rgba(0,128,0,1);";
-				break;
-			case "a mounty outfit":
-				T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
-				T.bellySkinStyle = "fill:rgba(128,0,0,1);";
-				break;
-			case "battlearmor":
-				T.scrotumSkinStyle = "fill:rgba(200,200,200,1);";
-				break;
-			case "striped underwear":
-				T.scrotumSkinStyle = "fill:rgba(255,255,255,1);";
-				break;
-			case "panties":
-				T.scrotumSkinStyle = "fill:rgba(255,170,238,1);";
-				break;
-			case "a thong":
-				T.scrotumSkinStyle = "fill:rgba(34,28,36,1);";
-				break;
-			case "a button-up shirt and panties":
-			case "a t-shirt and panties":
-				T.scrotumSkinStyle = "fill:rgba(255,255,255,1);";
-				T.bellySkinStyle = "fill:rgba(255,255,255,1);";
-				break;
-			case "a slutty klan robe":
-				T.scrotumSkinStyle = "fill:rgba(128,0,0,1);";
-				break;
-			case "cutoffs":
-				T.scrotumSkinStyle = "fill:rgba(81,124,211,1);";
-				break;
-			case "sport shorts":
-			case "sport shorts and a sports bra":
-				T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
-				break;
-			case "a t-shirt and thong":
-				T.scrotumSkinStyle = "fill:rgba(200,55,171,1);";
-				T.bellySkinStyle = "fill:rgba(200,55,171,1);";
-				break;
-			case "jeans":
-				T.scrotumSkinStyle = "fill:rgba(81,124,211,1);";
-				break;
-			case "leather pants":
-			case "leather pants and a tube top":
-				T.scrotumSkinStyle = "fill:rgba(26,26,26,1);";
-				break;
-			case "leather pants and pasties":
-				T.scrotumSkinStyle = "fill:rgba(85,0,0,1);";
-				break;
-			case "a t-shirt and jeans":
-				T.scrotumSkinStyle = "fill:rgba(81,124,211,1);";
-				T.bellySkinStyle = "fill:rgba(255,255,255,1);";
-				break;
-			case "a tank-top and panties":
-				T.scrotumSkinStyle = "fill:rgba(26,26,26,1);";
-				T.bellySkinStyle = "fill:rgba(26,26,26,1);";
-				break;
-			case "a tank-top":
-				T.bellySkinStyle = "fill:rgba(255,255,255,1);";
-				break;
-			case "a tube top and thong":
-				T.scrotumSkinStyle = "fill:rgba(34,28,36,1);";
-				break;
-			case "boyshorts":
-				T.scrotumSkinStyle = "fill:rgba(26,26,26,1);";
-				break;
-			case "an oversized t-shirt and boyshorts":
-				T.bellySkinStyle = "fill:rgba(255,255,255,1);";
-				break;
-			case "a sweater and panties":
-				T.scrotumSkinStyle = "fill:rgba(26,26,26,1);";
-				T.bellySkinStyle = "fill:rgba(212,170,0,1);";
-				break;
-			case "a sweater and cutoffs":
-				T.scrotumSkinStyle = "fill:rgba(77,77,77,1);";
-				T.bellySkinStyle = "fill:rgba(85,0,0,1);";
-				break;
-			case "a police uniform":
-				T.scrotumSkinStyle = "fill:rgba(11,23,40,1);";
-				T.bellySkinStyle = "fill:rgba(11,23,40,1);";
-				break;
-			case "a one-piece swimsuit":
-				T.scrotumSkinStyle = "fill:rgba(22,45,80,1);";
-				T.bellySkinStyle = "fill:rgba(22,45,80,1);";
-				break;
-			case "a skimpy loincloth":
-				T.scrotumSkinStyle = "fill:rgba(145,124,111,1);";
-				break;
-			case "kitty lingerie":
-				T.scrotumSkinStyle = "fill:rgba(255,170,238,1);";
-				break;
-			case "an oversized t-shirt":
-				T.bellySkinStyle = "fill:rgba(255,255,255,1);";
-				break;
-			case "a hanbok":
-				T.bellySkinStyle = "fill:rgba(255,109,182,1);";
-				break;
-			case "a gothic lolita dress":
-				T.bellySkinStyle = "fill:rgba(26,26,26,1);";
-				break;
-			case "a sweater":
-				T.bellySkinStyle = "fill:rgba(85,0,0,1);";
-				break;
-			case "sport shorts and a t-shirt":
-				T.scrotumSkinStyle = "fill:rgba(200,55,171,1);";
-				T.bellySkinStyle = "fill:rgba(200,55,171,1);";
-				break;
-			case "a biyelgee costume":
-				T.scrotumSkinStyle = "fill:rgba(33,68,120,1);";
-		}
-	}
-
-	function setHairColor() {
-		T.hairColour = extractColor(slave.hColor);
-		T.pubicHairColour = extractColor(slave.pubicHColor);
-		T.underarmHairColour = extractColor(slave.underArmHColor);
-		T.eyebrowHairColour = extractColor(slave.eyebrowHColor);
-		T.sclerae = extractColor(slave.sclerae);
-	}
-
-	function setShoeColor() {
-		/* BEWARE: _shoeColour is read by Wardrobe Use */
-		/* note: only heels use this _shoeShadowColour */
-
-		/* override color in case of full body latex outfit, or custom color*/
-		if (slave.clothes === "a Fuckdoll suit" || slave.clothes === "restrictive latex") {
-			T.shoeColour = T.skinColour;
-			T.shoeShadowColour = T.shoeColour+";opacity: 0.5"; /* TODO: do not abuse "color" variable for style definitions. do not rely on dark background for shadow effect either. */
-		} else if (slave.shoeColor !== undefined) {
-			T.shoeColour = slave.shoeColor+";opacity: 0.4"; /* shoe color selected by user */
-			T.shoeShadowColour = T.shoeColour+";opacity: 0.5"; /* TODO: do not abuse "color" variable for style definitions. do not rely on dark background for shadow effect either. */
-		} else {
-			T.shoeShadowColour = "#616a6b";
-			if (slave.shoes === "none")
-				T.shoeColour = "#595959";
-			else
-				T.shoeColour = "#80808080";		
-		}
-	}
-};
diff --git a/src/art/vector/Body_Clothing_Control.tw b/src/art/vector/Body_Clothing_Control.tw
index d01188ea54bbfcc2979d2df49b306b611ca7990a..85d3e9789c194ef43327639bbe8148cf97a912df 100644
--- a/src/art/vector/Body_Clothing_Control.tw
+++ b/src/art/vector/Body_Clothing_Control.tw
@@ -21,9 +21,9 @@
 <<set _showLips = 1>>
 <<set _showMouth = 1>>
 <<set _showPubic = 1>>
-<<set _showPussy = _artSlave.vagina >= 0>>
+<<set _showPussy = (_artSlave.vagina >= 0)>>
 <<set _showArmHair = 1>>
-<<set _showHair = _artSlave.hStyle != "shaved">>
+<<set _showHair = (_artSlave.hStyle != "shaved")>>
 <<set _showBoobs = 1>>
 <<set _showNipples = 1>>
 <<set _showArmHighlight = 0>>
@@ -34,9 +34,9 @@
 <<set _showHeadHighlight = 1>>
 <<set _showBellyPiercings = 1>>
 <<set _showNipplePiercings = 1>>
-<<set _chastityAnal = _artSlave.dickAccessory == "anal chastity" || _artSlave.dickAccessory == "combined chastity" || _artSlave.vaginalAccessory == "anal chastity" || _artSlave.vaginalAccessory == "combined chastity" >>
+<<set _chastityAnal = (_artSlave.chastityAnus == 1)>>
 
-<<set _chastityVaginal = _artSlave.vaginalAccessory == "chastity belt" || _artSlave.vaginalAccessory == "combined chastity">>
+<<set _chastityVaginal = (_artSlave.chastityVagina == 1)>>
 
 <<if _artSlave.fuckdoll > 0>>
 	<<set _showEyes = 0>>
diff --git a/src/art/vector/Generate_Stylesheet.tw b/src/art/vector/Generate_Stylesheet.tw
deleted file mode 100644
index cb50ba685a6b24f2c6fc5015a064f0e72688c044..0000000000000000000000000000000000000000
--- a/src/art/vector/Generate_Stylesheet.tw
+++ /dev/null
@@ -1,56 +0,0 @@
-:: Art_Vector_Generate_Stylesheet_ [nobr]
-
-/* _art_display_class is the style class for this display */
-<<if _art_display_id > 0 >>
-	<<set _art_display_id += 1>>
-<<else>>
-	<<set _art_display_id = 1>>
-<</if>>
-<<set _art_display_class = "ad"+_art_display_id >>
-
-/* setup height scaling and style */
-<<if $seeHeight == 0 || ($seeHeight == 1 && $args[1] == 3)>>
-	<<set _slaveHeightScale = 1>>
-	<<set _margin = 0>>
-<<else>>
-	<<set _slaveHeightScale = _artSlave.height/200>>
-	<<set _margin = Math.max(50 - (50 * _slaveHeightScale), 0)>>
-<</if>>
-
-<<print "<style>."+_art_display_class+" {
-	position: absolute;
-	height: 100%;
-	transform: scale(" + _slaveHeightScale + ");
-	margin-top: " + _margin + "%;
-	margin-left: auto;
-	margin-right: auto;
-	left: 0;
-	right: 0;
-}
-."+_art_display_class+" .white   { fill:#FFFFFF; }
-."+_art_display_class+" .skin	{ fill:"+_skinColour+"; }
-."+_art_display_class+" .head	{ "+_headSkinStyle+"; }
-."+_art_display_class+" .torso   { "+_torsoSkinStyle+"; }
-."+_art_display_class+" .boob	{ "+_boobSkinStyle+"; }
-."+_art_display_class+" .penis   { "+_penisSkinStyle+"; }
-."+_art_display_class+" .scrotum { "+_scrotumSkinStyle+"; }
-."+_art_display_class+" .belly   { "+_bellySkinStyle+"; }
-."+_art_display_class+" .areola  { fill:"+_areolaStyle+"; }
-."+_art_display_class+" .bellybutton  { fill:"+_bellybuttonStyle+"; }
-."+_art_display_class+" .labia   { fill:"+_labiaStyle+"; }
-."+_art_display_class+" .hair	{ fill:"+_hairColour+"; }
-."+_art_display_class+" .pubic_hair	 { fill:"+_pubicHairColour+"; }
-."+_art_display_class+" .underarm_hair  { fill:"+_underarmHairColour+"; }
-."+_art_display_class+" .eyebrow_hair  { fill:"+_eyebrowHairColour+"; }
-."+_art_display_class+" .shoe	{ fill:"+_shoeColour+"; }
-."+_art_display_class+" .shoe_shadow	{ fill:"+_shoeShadowColour+"; }
-."+_art_display_class+" .smart_piercing { fill:#4DB748; }
-."+_art_display_class+" .steel_piercing { fill:#787878; }
-."+_art_display_class+" .steel_chastity { fill:#BABABA; }
-."+_art_display_class+" .outfit_base  { fill:"+_outfitBaseColour+"; }
-."+_art_display_class+" .gag	 { fill:#BF2126; }
-."+_art_display_class+" .shadow  { fill:#010101; }
-."+_art_display_class+" .glasses { fill:"+_glassesColor+"; }
-."+_art_display_class+" .eye	 { fill:"+_eyeColor+"; }
-."+_art_display_class+" .sclera	 { fill:"+_sclerae+"; }
-</style>" >>
diff --git a/src/art/vector/VectorArtJS.js b/src/art/vector/VectorArtJS.js
new file mode 100644
index 0000000000000000000000000000000000000000..fe6ebc59ad2dcb011fd928d0e7c145bc2838ce6b
--- /dev/null
+++ b/src/art/vector/VectorArtJS.js
@@ -0,0 +1,2798 @@
+window.VectorArt = (function () {
+	"use strict";
+	let V, T, slave;
+	let r;
+	let leftArmType, rightArmType, legSize, torsoSize, buttSize, penisSize, hairLength, wearingLatex;
+	let bellyScaleFactor, artBoobScaleFactor, heightScaleFactor;
+	let artTranslationX, artTranslationY;
+	let penisDrawtime, penisArtString;
+
+	function VectorArt(artSlave, artSize) {
+		/* set constants */
+		V = State.variables;
+		T = State.temporary;
+		slave = artSlave;
+		wearingLatex = slave.clothes === "a Fuckdoll suit" || slave.clothes === "restrictive latex" || slave.clothes === "a latex catsuit";
+		/* reset/initialize some variables */
+		T.artTransformBelly = "";
+		T.artTransformBoob = "";
+		T.art_transform = ""; /* in case other files are trying to use this, and expecting a string */
+
+		setStylesheet(artSize); /* initializes the stylesheet, and r */
+		setArmType();
+		setBoobScaling();
+		setButtSize();
+		setHairLength();
+		setLegSize();
+		setPenisSize();
+		penisArtControl(); /* depends on setPenisSize and setBoobScaling, sets penisDrawtime and penisArtString */
+		setTorsoSize();
+
+		/*
+		each function adds one layer of vector art
+		vector art added later is drawn over previously added art
+		(what is listed on the bottom in the code appears on the top of the image)
+		*/
+		ArtVectorHairBack();
+		ArtVectorArm();
+		ArtVectorAnalAccessories();
+		ArtVectorButt();
+		ArtVectorLeg();
+		if (slave.amp !== 1)
+			ArtVectorFeet(); /* includes shoes and leg outfits*/
+		ArtVectorTorso();
+		ArtVectorPussy();
+		ArtVectorPubicHair();
+		if (slave.vaginaPiercing !== 0 || slave.clitPiercing !== 0)
+			ArtVectorPussyPiercings();
+		ArtVectorChastityBelt();
+		ArtVectorTorsoOutfit(); /* note: clothing covers chastity belts */
+		if (slave.scrotum > 0 && slave.balls > 0)
+			ArtVectorBalls();
+		if (penisDrawtime === 0) /* for dicks behind boobs */
+			r += penisArtString;
+		ArtVectorBelly(); /* includes navel piercing and belly-related clothing options */
+		ArtVectorBoob(); /* includes areolae and piercings */
+		if (penisDrawtime === 1) /* for dicks in front of boobs */
+			r += penisArtString;
+		ArtVectorBoobAddons(); /* piercings always appear in front of boobs AND dick */
+		ArtVectorCollar(); /* includes clavicle artwork */
+		ArtVectorHead(); /* glasses are drawn here */
+		ArtVectorHairFore();
+
+		return r;
+	}
+
+	function setStylesheet(artSize) {
+		let slaveHeightScale, margin, displayClass;
+
+		/* prepare HTML color codes for slave display */
+		/* note: latex clothing is mostly emulated by rubber color for skin (and shoes) */
+		/* TODO: consistently use American "color" instead of "colour" for all identifiers */
+		ArtVectorColor(slave);
+
+		/* displayClass is the style class for this display */
+		if (T.art_display_id > 0)
+			T.art_display_id++;
+		else
+			T.art_display_id = 1;
+		displayClass = `ad${T.art_display_id}`;
+		T.art_display_class = displayClass;
+
+		/* setup height scaling and style */
+		if (V.seeHeight === 0)
+			heightScaleFactor = 1;
+		else
+			heightScaleFactor = 200 / slave.height;
+
+		if (V.seeHeight === 0 || (V.seeHeight === 1 && artSize === 3)) {
+			slaveHeightScale = 1;
+			margin = 0;
+		} else {
+			slaveHeightScale = slave.height / 200;
+			margin = Math.max(50 - (50 * slaveHeightScale), 0);
+		}
+
+		r = `<style>.${displayClass} {\
+				position: absolute;\
+				height: 100%;\
+				transform: scale(${slaveHeightScale});\
+				margin-top: ${margin}%;\
+				margin-left: auto;\
+				margin-right: auto;\
+				left: 0;\
+				right: 0;\
+			}\
+			.${displayClass} .white{ fill:#FFFFFF; }\
+			.${displayClass} .skin{ fill:${T.skinColour}; }\
+			.${displayClass} .head{ ${T.headSkinStyle}; }\
+			.${displayClass} .torso{ ${T.torsoSkinStyle}; }\
+			.${displayClass} .boob{ ${T.boobSkinStyle}; }\
+			.${displayClass} .penis{ ${T.penisSkinStyle}; }\
+			.${displayClass} .scrotum{ ${T.scrotumSkinStyle}; }\
+			.${displayClass} .belly{ ${T.bellySkinStyle}; }\
+			.${displayClass} .areola{ fill:${T.areolaStyle}; }\
+			.${displayClass} .bellybutton{ fill:${T.bellybuttonStyle}; }\
+			.${displayClass} .labia{ fill:${T.labiaStyle}; }\
+			.${displayClass} .hair{ fill:${T.hairColour}; }\
+			.${displayClass} .pubic_hair{ fill:${T.pubicHairColour}; }\
+			.${displayClass} .underarm_hair{ fill:${T.underarmHairColour}; }\
+			.${displayClass} .eyebrow_hair{ fill:${T.eyebrowHairColour}; }\
+			.${displayClass} .shoe{ fill:${T.shoeColour}; }\
+			.${displayClass} .shoe_shadow{ fill:${T.shoeShadowColour}; }\
+			.${displayClass} .smart_piercing{ fill:#4DB748; }\
+			.${displayClass} .steel_piercing{ fill:#787878; }\
+			.${displayClass} .steel_chastity{ fill:#BABABA; }\
+			.${displayClass} .outfit_base{ fill:${T.outfitBaseColour}; }\
+			.${displayClass} .gag{ fill:#BF2126; }\
+			.${displayClass} .shadow{ fill:#010101; }\
+			.${displayClass} .glasses{ fill:${T.glassesColor}; }\
+			.${displayClass} .eye{ fill:${T.eyeColor}; }\
+			.${displayClass} .sclera{ fill:${T.sclerae}; }\
+			</style>`;
+	}
+
+	function setArmType() {
+		if (slave.amp === 1) {
+			leftArmType = "None";
+			rightArmType = "None";
+		} else {
+			if (slave.devotion > 50) {
+				leftArmType = "High";
+				rightArmType = "High";
+			} else if (slave.trust >= -20) {
+				if (slave.devotion < -20) {
+					leftArmType = "Rebel";
+					rightArmType = "Low";
+				} else if (slave.devotion <= 20) {
+					leftArmType = "Low";
+					rightArmType = "Low";
+				} else {
+					leftArmType = "Mid";
+					rightArmType = "High";
+				}
+			} else {
+				leftArmType = "Mid";
+				rightArmType = "Mid";
+			}
+		}
+	}
+
+	function setBoobScaling() {
+		/*
+		Prepare SVG transform matrix for continuous boob scaling.
+		This transform affects boobs, areolae and piercings.
+		The parameters were fit by points (300,1.0) and (15000,2.5).
+		See https://www.wolframalpha.com/input/?i=log+fit+%7B%7B300,1%7D,%7B15000,2.5%7D%7D .
+		Boobs start at 300cc as of "flesh description widgets".
+		Upper value was discussed at https://github.com/Free-Cities/Free-Cities/issues/950#issuecomment-321359466 .
+		*/
+		if (slave.boobs < 300) {
+			artBoobScaleFactor = 1;
+			artTranslationX = 22; /* a little shift to the right is needed due to perspective */
+			artTranslationY = 0;
+		} else {
+			artBoobScaleFactor = 0.383433 * Math.log(0.0452403 * slave.boobs) * heightScaleFactor;
+			artTranslationX = -282.841 * artBoobScaleFactor + 292.349;
+			artTranslationY = -225.438 * artBoobScaleFactor + 216.274;
+		}
+		T.artTransformBoob = `matrix(${artBoobScaleFactor},0,0,${artBoobScaleFactor},${artTranslationX},${artTranslationY})`;
+	}
+
+	function setButtSize() {
+		/* Size calculations - needs to be done even for amputees */
+		buttSize = Math.clamp(Math.trunc(slave.butt), 1, 7) - 1;
+	}
+
+	function setHairLength() {
+		hairLength = undefined;
+		if (slave.hLength >= 60)
+			hairLength = "Long";
+		else if (slave.hLength >= 30)
+			hairLength = "Medium";
+		else if (slave.hLength >= 10)
+			hairLength = "Short";
+	}
+
+	function setLegSize() {
+		/* Leg wideness switch courtesy of Nov-X */
+		/* needs to be done even for amputees */
+		if (slave.hips === -2) {
+			if (slave.weight <= 0)
+				legSize = "Narrow";
+			else if (slave.weight < 161)
+				legSize = "Normal";
+			else
+				legSize = "Wide";
+		} else if (slave.hips === -1) {
+			if (slave.weight <= -11)
+				legSize = "Narrow";
+			else if (slave.weight < 96)
+				legSize = "Normal";
+			else
+				legSize = "Wide";
+		} else if (slave.hips === 0) {
+			if (slave.weight <= -96)
+				legSize = "Narrow";
+			else if (slave.weight < 11)
+				legSize = "Normal";
+			else if (slave.weight < 131)
+				legSize = "Wide";
+			else
+				legSize = "Thick";
+		} else if (slave.hips === 1) {
+			if (slave.weight <= -31)
+				legSize = "Normal";
+			else if (slave.weight < 31)
+				legSize = "Wide";
+			else
+				legSize = "Thick";
+		} else { /* .hips === 2 or 3 */
+			if (slave.weight <= -11)
+				legSize = "Wide";
+			else
+				legSize = "Thick";
+		}
+	}
+
+	function setPenisSize() {
+		penisSize = undefined;
+		if (slave.dick > 6 || (slave.dick > 0 && slave.belly <= 4000))
+			penisSize = Math.clamp(slave.dick, 1, 11) - 1;
+	}
+
+	function penisArtControl() {
+		penisArtString = "";
+		if (penisSize === undefined) {
+			penisDrawtime = -1; /* no penis to draw */
+		} else {
+			penisDrawtime = 0; /* default is to draw before boobs/belly */
+			switch (slave.clothes) {
+				/* BULGE OUTFITS LONG+MEDIUM OUTFITS */
+				case "a ball gown":
+				case "a biyelgee costume":
+				case "a burkini":
+				case "a burqa":
+				case "a dirndl":
+				case "a halter top dress":
+				case "a hijab and abaya":
+				case "a hijab and blouse":
+				case "a kimono":
+				case "a klan robe":
+				case "a long qipao":
+				case "a maternity dress":
+				case "a military uniform":
+				case "a mounty outfit":
+				case "a nice maid outfit":
+				case "a nice nurse outfit":
+				case "a niqab and abaya":
+				case "a police uniform":
+				case "a red army uniform":
+				case "a schutzstaffel uniform":
+				case "a skimpy loincloth":
+				case "a slave gown":
+				case "a slutty nurse outfit":
+				case "a slutty schutzstaffel uniform":
+				case "a t-shirt and jeans":
+				case "a toga":
+				case "an apron":
+				case "battlearmor":
+				case "battledress":
+				case "conservative clothing":
+				case "jeans":
+				case "leather pants":
+				case "leather pants and a tube top":
+				case "leather pants and pasties":
+				case "lederhosen":
+				case "nice business attire":
+				case "slutty business attire":
+				case "spats and a tank top":
+				case "sport shorts":
+				case "sport shorts and a sports bra":
+				case "sport shorts and a t-shirt":
+				case "stretch pants and a crop-top":
+					penisArtString = jsInclude(`Art_Vector_Bulge_Outfit_${penisSize}`);
+					break;
+				/* BULGE OUTFITS SHORT OUTFITS */
+				case "a bunny outfit":
+				case "a button-up shirt and panties":
+				case "a chattel habit":
+				case "a huipil":
+				case "a leotard":
+				case "a mini dress":
+				case "a monokini":
+				case "a one-piece swimsuit":
+				case "a penitent nuns habit":
+				case "a scalemail bikini":
+				case "a slutty klan robe":
+				case "a slutty maid outfit":
+				case "a slutty outfit":
+				case "a slutty qipao":
+				case "a succubus outfit":
+				case "a sweater and cutoffs":
+				case "a sweater and panties":
+				case "a t-shirt and panties":
+				case "a t-shirt and thong":
+				case "a tank-top and panties":
+				case "a thong":
+				case "a tube top and thong":
+				case "an oversized t-shirt and boyshorts":
+				case "attractive lingerie for a pregnant woman":
+				case "boyshorts":
+				case "cutoffs":
+				case "cutoffs and a t-shirt":
+				case "harem gauze":
+				case "kitty lingerie":
+				case "panties":
+				case "panties and pasties":
+				case "striped panties":
+				case "striped underwear":
+					if (slave.belly <= 4000) {
+						if (slave.dick > 3)
+							penisArtString = jsInclude("Art_Vector_Bulge_Outfit_3");
+						else
+							penisArtString = jsInclude(`Art_Vector_Bulge_Outfit_${penisSize}`);
+					}
+					break;
+				/* hide everything */
+				case "a cheerleader outfit":
+				case "a gothic lolita dress":
+				case "a hanbok":
+				case "a schoolgirl outfit":
+					break;
+				/* full frontal */
+				default:
+					if ((canAchieveErection(slave)) && (slave.chastityPenis !== 1)) {
+						penisDrawtime = 1; /* draw erect penis over boobs if boobs do not hide the penis' base */
+						if (artBoobScaleFactor < 3.7) {
+							if (slave.foreskin !== 0)
+								penisArtString = jsInclude(`Art_Vector_Penis_${penisSize}`);
+							else
+								penisArtString = jsInclude(`Art_Vector_PenisCirc_${penisSize}`);
+						}
+					} else {
+						/* flaccid penises are drawn behind the boobs/belly */
+						if (slave.foreskin !== 0)
+							penisArtString = jsInclude(`Art_Vector_Flaccid_${penisSize}`);
+						else
+							penisArtString = jsInclude(`Art_Vector_FlaccidCirc_${penisSize}`);
+						/* this draws chastity OVER latex catsuit. prndev finds this alright. */
+						if (slave.chastityPenis === 1)
+							penisArtString += jsInclude(`Art_Vector_Chastity_Cage_${penisSize}`);
+					}
+			}
+		}
+	}
+
+	function setTorsoSize() {
+		/* Torso size switch courtesy of Nov-X */
+		if (slave.waist >= 96) {
+			if (slave.weight >= 96)
+				torsoSize = "Obese";
+			else if (slave.weight >= 11)
+				torsoSize = "Fat";
+			else if (slave.weight > -31)
+				torsoSize = "Chubby";
+			else
+				torsoSize = "Normal";
+		} else if (slave.waist >= 41) {
+			if (slave.weight >= 131)
+				torsoSize = "Obese";
+			else if (slave.weight >= 31)
+				torsoSize = "Fat";
+			else if (slave.weight >= 0)
+				torsoSize = "Chubby";
+			else if (slave.weight > -96)
+				torsoSize = "Normal";
+			else
+				torsoSize = "Hourglass";
+		} else if (slave.waist >= 11) {
+			if (slave.weight >= 161)
+				torsoSize = "Obese";
+			else if (slave.weight >= 96)
+				torsoSize = "Fat";
+			else if (slave.weight >= 11)
+				torsoSize = "Chubby";
+			else if (slave.weight > -31)
+				torsoSize = "Normal";
+			else
+				torsoSize = "Hourglass";
+		} else if (slave.waist > -11) {
+			if (slave.weight >= 191)
+				torsoSize = "Obese";
+			else if (slave.weight >= 131)
+				torsoSize = "Fat";
+			else if (slave.weight >= 31)
+				torsoSize = "Chubby";
+			else if (slave.weight >= 0)
+				torsoSize = "Normal";
+			else if (slave.weight > -96)
+				torsoSize = "Hourglass";
+			else
+				torsoSize = "Unnatural";
+		} else if (slave.waist > -41) {
+			if (slave.weight >= 161)
+				torsoSize = "Fat";
+			else if (slave.weight >= 96)
+				torsoSize = "Chubby";
+			else if (slave.weight >= 11)
+				torsoSize = "Normal";
+			else if (slave.weight > -31)
+				torsoSize = "Hourglass";
+			else
+				torsoSize = "Unnatural";
+		} else if (slave.waist > -96) {
+			if (slave.weight >= 191)
+				torsoSize = "Fat";
+			else if (slave.weight >= 131)
+				torsoSize = "Chubby";
+			else if (slave.weight >= 31)
+				torsoSize = "Normal";
+			else if (slave.weight > -11)
+				torsoSize = "Hourglass";
+			else
+				torsoSize = "Unnatural";
+		} else {
+			if (slave.weight >= 161)
+				torsoSize = "Chubby";
+			else if (slave.weight >= 96)
+				torsoSize = "Normal";
+			else if (slave.weight > 0)
+				torsoSize = "Hourglass";
+			else
+				torsoSize = "Unnatural";
+		}
+	}
+
+	function ArtVectorAnalAccessories() {
+		if (slave.buttplug === "long plug")
+			r += jsInclude("Art_Vector_Plug_Long");
+		else if (slave.buttplug === "large plug")
+			r += jsInclude("Art_Vector_Plug_Large");
+		else if (slave.buttplug === "long, large plug")
+			r += jsInclude("Art_Vector_Plug_Large_Long");
+		else if (slave.buttplug === "huge plug")
+			r += jsInclude("Art_Vector_Plug_Huge");
+		else if (slave.buttplug === "long, huge plug")
+			r += jsInclude("Art_Vector_Plug_Huge_Long");
+
+		if (slave.buttplugAttachment === "tail")
+			r += jsInclude("Art_Vector_Plug_Tail");
+		else if (slave.buttplugAttachment === "cat tail")
+			r += jsInclude("Art_Vector_Cat_Tail");
+	}
+
+	function ArtVectorArm() {
+		/* Arms position switch courtesy of Nov-X */
+		/* Updated 2018-10-25 by Fr0g */
+		/* - changed arm calculation block position*/
+		/* - added brackets to make boolean logic run */
+
+		if (slave.amp === 1) {
+			/* Many amputee clothing art files exist, but draw nothing.They are excluded for now to reduce on rendering time
+			r += jsInclude("Art_Vector_Arm_Right_None");
+			r += jsInclude("Art_Vector_Arm_Left_None");
+			*/
+		} else { /* is not amputee or has limbs equipped so running arm calculation block */
+			if (slave.amp === 0) {
+				r += jsInclude(`Art_Vector_Arm_Right_${rightArmType}`);
+				r += jsInclude(`Art_Vector_Arm_Left_${leftArmType}`);
+				if (slave.muscles >= 6) {
+					if (leftArmType === "High")
+						r += jsInclude("Art_Vector_Arm_Left_High_MLight");
+					else if (leftArmType === "Mid")
+						r += jsInclude("Art_Vector_Arm_Left_Mid_MLight");
+					else if (leftArmType === "Low")
+						r += jsInclude("Art_Vector_Arm_Left_Low_MLight");
+					else if (leftArmType === "Rebel")
+						r += jsInclude("Art_Vector_Arm_Left_Rebel_MLight");
+
+					if (rightArmType === "High")
+						r += jsInclude("Art_Vector_Arm_Right_High_MLight");
+					else if (rightArmType === "Mid")
+						r += jsInclude("Art_Vector_Arm_Right_Mid_MLight");
+					else if (rightArmType === "Low")
+						r += jsInclude("Art_Vector_Arm_Right_Low_MLight");
+				}
+			} else if (slave.PLimb === 1 || slave.PLimb === 2) { /* slave is an amputee and has PLimbs equipped */
+				if (slave.amp === -1) {
+					r += jsInclude(`Art_Vector_Arm_Right_ProstheticBasic_${rightArmType}`);
+					r += jsInclude(`Art_Vector_Arm_Left_ProstheticBasic_${leftArmType}`);
+				} else if (slave.amp === -2) {
+					r += jsInclude(`Art_Vector_Arm_Right_ProstheticSexy_${rightArmType}`);
+					r += jsInclude(`Art_Vector_Arm_Left_ProstheticSexy_${leftArmType}`);
+				} else if (slave.amp === -3) {/* Reverting beauty limbs to regular SVG */
+					r += jsInclude(`Art_Vector_Arm_Right_ProstheticBeauty_${rightArmType}`);
+					r += jsInclude(`Art_Vector_Arm_Left_ProstheticBeauty_${leftArmType}`);
+				} else if (slave.amp === -4) {
+					r += jsInclude(`Art_Vector_Arm_Right_ProstheticCombat_${rightArmType}`);
+					r += jsInclude(`Art_Vector_Arm_Left_ProstheticCombat_${leftArmType}`);
+				} else if (slave.amp === -5) {
+					r += jsInclude(`Art_Vector_Arm_Right_ProstheticSwiss_${rightArmType}`);
+					r += jsInclude(`Art_Vector_Arm_Left_ProstheticSwiss_${leftArmType}`);
+				}
+			}
+			/* shiny clothing */
+			if (V.seeVectorArtHighlights === 1) {
+				if (wearingLatex === true || slave.clothes === "body oil") {
+					/* only some arm positions have art (feel free to add more) */
+					if (leftArmType === "High")
+						r += jsInclude("Art_Vector_Arm_Outfit_Shine_Left_High");
+					else if (leftArmType === "Mid")
+						r += jsInclude("Art_Vector_Arm_Outfit_Shine_Left_Mid");
+					else if (leftArmType === "Low")
+						r += jsInclude("Art_Vector_Arm_Outfit_Shine_Left_Low");
+				}
+			}
+			/* TODO: simplify selection (select prefix, infix and suffix and combine instead of using switch statements) */
+			switch (slave.clothes) {
+				case "a biyelgee costume":
+				case "a burkini":
+				case "a button-up shirt":
+				case "a button-up shirt and panties":
+				case "a cheerleader outfit":
+				case "a dirndl":
+				case "a gothic lolita dress":
+				case "a hanbok":
+				case "a hijab and blouse":
+				case "a huipil":
+				case "a kimono":
+				case "a klan robe":
+				case "a long qipao":
+				case "a military uniform":
+				case "a mounty outfit":
+				case "a nice maid outfit":
+				case "a nice nurse outfit":
+				case "a police uniform":
+				case "a red army uniform":
+				case "a schoolgirl outfit":
+				case "a slutty klan robe":
+				case "a slutty nurse outfit":
+				case "a slutty qipao":
+				case "a sweater":
+				case "a sweater and cutoffs":
+				case "a sweater and panties":
+				case "a t-shirt":
+				case "a t-shirt and jeans":
+				case "a t-shirt and panties":
+				case "a t-shirt and thong":
+				case "an oversized t-shirt":
+				case "an oversized t-shirt and boyshorts":
+				case "battlearmor":
+				case "battledress":
+				case "clubslut netting":
+				case "conservative clothing":
+				case "cutoffs and a t-shirt":
+				case "lederhosen":
+				case "nice business attire":
+				case "slutty business attire":
+				case "slutty jewelry":
+				case "sport shorts and a t-shirt":
+				case "Western clothing":
+					r += jsInclude(`Art_Vector_Arm_Outfit_${clothing2artSuffix(slave.clothes)}_Right_${rightArmType}`);
+					r += jsInclude(`Art_Vector_Arm_Outfit_${clothing2artSuffix(slave.clothes)}_Left_${leftArmType}`);
+					break;
+				/* manually handle special cases */
+				case "a schutzstaffel uniform":
+				case "a slutty schutzstaffel uniform":
+					r += jsInclude(`Art_Vector_Arm_Outfit_SchutzstaffelUniform_Right_${rightArmType}`);
+					r += jsInclude(`Art_Vector_Arm_Outfit_SchutzstaffelUniform_Left_${leftArmType}`);
+					break;
+				case "a hijab and abaya":
+				case "a niqab and abaya":
+				case "a burqa":
+					r += jsInclude(`Art_Vector_Arm_Outfit_HijabAndAbaya_Right_${rightArmType}`);
+					r += jsInclude(`Art_Vector_Arm_Outfit_HijabAndAbaya_Left_${leftArmType}`);
+					break;
+				case "a slave gown":
+					/* only some arm positions have art (feel free to add more) */
+					if (leftArmType !== "Rebel")
+						r += jsInclude(`Art_Vector_Arm_Outfit_SlaveGown_Left_${leftArmType}`);
+			}
+		} /* close .amp check */
+	}
+
+	function ArtVectorBalls() {
+		switch (slave.clothes) {
+			case "a bra":
+			case "a button-up shirt":
+			case "a comfortable bodysuit":
+			case "a cybersuit":
+			case "a fallen nuns habit":
+			case "a hanbok":
+			case "a latex catsuit":
+			case "a monokini":
+			case "a nice pony outfit":
+			case "a Santa dress":
+			case "a slutty pony outfit":
+			case "a sports bra":
+			case "a string bikini":
+			case "a striped bra":
+			case "a sweater":
+			case "a t-shirt":
+			case "a tank-top":
+			case "a thong":
+			case "a tube top":
+			case "an oversized t-shirt":
+			case "attractive lingerie":
+			case "body oil":
+			case "chains":
+			case "choosing her own clothes":
+			case "clubslut netting":
+			case "no clothing":
+			case "panties and pasties":
+			case "restrictive latex":
+			case "shibari ropes":
+			case "slutty jewelry":
+			case "uncomfortable straps":
+			case "Western clothing":
+				let ballsScaleFactor = (slave.scrotum / 3) * heightScaleFactor;
+				artTranslationX = -271 * (ballsScaleFactor - 1);
+				artTranslationY = -453 * (ballsScaleFactor - 1);
+				T.artTransformBalls = `matrix(${ballsScaleFactor},0,0,${ballsScaleFactor},${artTranslationX},${artTranslationY})`;
+				r += jsInclude("Art_Vector_Balls");
+		}
+	}
+
+	function ArtVectorBelly() {
+		if (slave.belly >= 2000) {
+			/* add pregnancy belly, scale dynamically (clothing and addons can be scaled, too) */
+			/* TODO: add check in penis control. do not draw penis atop belly if _art_belly_scale_factor > 1. */
+			bellyScaleFactor = 0.300 * Math.log(0.011 * slave.belly) * heightScaleFactor;
+			artTranslationX = -262 * (bellyScaleFactor - 1);
+			artTranslationY = -284 * (bellyScaleFactor - 1);
+			T.artTransformBelly = `matrix(${bellyScaleFactor},0,0,${bellyScaleFactor},${artTranslationX},${artTranslationY})`;
+
+			if (slave.navelPiercing === 1)
+				r += jsInclude("Art_Vector_Belly_Pregnant_Piercing");
+			else if (slave.navelPiercing === 2)
+				r += jsInclude("Art_Vector_Belly_Pregnant_Piercing_Heavy");
+			else
+				r += jsInclude("Art_Vector_Belly");
+
+			switch (slave.clothes) {
+				case "a bra":
+				case "a cybersuit":
+				case "a Fuckdoll suit":
+				case "a latex catsuit":
+				case "a nice pony outfit":
+				case "a Santa dress":
+				case "a scalemail bikini":
+				case "a skimpy loincloth":
+				case "a slutty klan robe":
+				case "a slutty outfit":
+				case "a slutty pony outfit":
+				case "a sports bra":
+				case "a string bikini":
+				case "a striped bra":
+				case "a thong":
+				case "a tube top":
+				case "a tube top and thong":
+				case "attractive lingerie":
+				case "attractive lingerie for a pregnant woman":
+				case "body oil":
+				case "boyshorts":
+				case "chains":
+				case "choosing her own clothes":
+				case "cutoffs":
+				case "jeans":
+				case "kitty lingerie":
+				case "leather pants":
+				case "leather pants and a tube top":
+				case "leather pants and pasties":
+				case "no clothing":
+				case "panties":
+				case "panties and pasties":
+				case "restrictive latex":
+				case "shibari ropes":
+				case "slutty jewelry":
+				case "sport shorts":
+				case "sport shorts and a sports bra":
+				case "stretch pants and a crop-top":
+				case "striped panties":
+				case "striped underwear":
+				case "uncomfortable straps":
+					break; /* do nothing for these choices */
+				/* manually handle special cases */
+				case "a slutty schutzstaffel uniform":
+					r += jsInclude("Art_Vector_Belly_Outfit_SchutzstaffelUniform");
+					break;
+				case "a niqab and abaya":
+				case "a burqa":
+					r += jsInclude("Art_Vector_Belly_Outfit_HijabAndAbaya");
+					break;
+				default:
+					r += jsInclude(`Art_Vector_Belly_Outfit_${clothing2artSuffix(slave.clothes)}`);
+			}
+			/* shiny clothing */
+			if (V.seeVectorArtHighlights === 1) {
+				if (wearingLatex === true || slave.clothes === "body oil") {
+					r += jsInclude("Art_Vector_Belly_Outfit_Shine");
+				}
+			}
+		}
+		/* belly piercings for flat bellies */
+		if (slave.belly === 0) {
+			if (slave.navelPiercing === 1)
+				r += jsInclude("Art_Vector_Belly_Piercing");
+			else if (slave.navelPiercing === 2)
+				r += jsInclude("Art_Vector_Belly_Piercing_Heavy");
+		}
+		/* Torso Accessories */
+		if ((slave.bellyAccessory === "a corset" || slave.bellyAccessory === "an extreme corset") && slave.belly === 0) {
+			if (torsoSize === "Normal")
+				r += jsInclude("Art_Vector_Corsetnormal");
+			else if (torsoSize === "Hourglass")
+				r += jsInclude("Art_Vector_Corsethourglass");
+			else if (torsoSize === "Unnatural")
+				r += jsInclude("Art_Vector_Corsetunnatural");
+		} else if (slave.bellyAccessory === "a small empathy belly") {
+			r += jsInclude("Art_Vector_Empathy_Belly_Small");
+		} else if (slave.bellyAccessory === "a medium empathy belly") {
+			r += jsInclude("Art_Vector_Empathy_Belly_Medium");
+		} else if (slave.bellyAccessory === "a large empathy belly") {
+			r += jsInclude("Art_Vector_Empathy_Belly_Large");
+		} else if (slave.bellyAccessory === "a huge empathy belly") {
+			r += jsInclude("Art_Vector_Empathy_Belly_Huge");
+		}
+	}
+
+	function ArtVectorBoob() {
+		if (slave.boobs < 300) {
+			/* BEWARE: this threshold may be used in other art-related code, too */
+			/* boobs too small - draw areolae directly onto torso */
+		} else {
+			r += jsInclude("Art_Vector_Boob_Alt");
+			/* shiny clothing */
+			if (V.seeVectorArtHighlights === 1) {
+				if (slave.fuckdoll !== 0 || slave.clothes === "a latex catsuit" || slave.clothes === "body oil")
+					r += jsInclude("Art_Vector_Boob_Outfit_Shine");
+			}
+		}
+		switch (slave.clothes) { /* display nipples/areola for the following clothes */
+			case "a chattel habit":
+			case "a fallen nuns habit":
+			case "a Fuckdoll suit":
+			case "a monokini":
+			case "a nice pony outfit":
+			case "a Santa dress":
+			case "a skimpy loincloth":
+			case "a slutty pony outfit":
+			case "a string bikini":
+			case "a succubus outfit":
+			case "a thong":
+			case "a toga":
+			case "attractive lingerie for a pregnant woman":
+			case "body oil":
+			case "boyshorts":
+			case "chains":
+			case "choosing her own clothes":
+			case "clubslut netting":
+			case "cutoffs":
+			case "jeans":
+			case "leather pants":
+			case "no clothing":
+			case "panties":
+			case "restrictive latex":
+			case "shibari ropes":
+			case "slutty jewelry":
+			case "sport shorts":
+			case "striped panties":
+			case "uncomfortable straps":
+				if (slave.areolaeShape === "star")
+					r += jsInclude("Art_Vector_Boob_Areola_Star");
+				else if (slave.areolaeShape === "heart")
+					r += jsInclude("Art_Vector_Boob_Areola_Heart");
+				else if (slave.areolae === 0)
+					r += jsInclude("Art_Vector_Boob_Areola");
+				else if (slave.areolae === 1)
+					r += jsInclude("Art_Vector_Boob_Areola_Large");
+				else if (slave.areolae === 2)
+					r += jsInclude("Art_Vector_Boob_Areola_Wide");
+				else if (slave.areolae === 3)
+					r += jsInclude("Art_Vector_Boob_Areola_Huge");
+
+				if (slave.nipples === "tiny")
+					r += jsInclude("Art_Vector_Boob_NippleTiny");
+				else if (slave.nipples === "cute")
+					r += jsInclude("Art_Vector_Boob_NippleCute");
+				else if (slave.nipples === "puffy")
+					r += jsInclude("Art_Vector_Boob_NipplePuffy");
+				else if (slave.nipples === "inverted")
+					r += jsInclude("Art_Vector_Boob_NippleInverted");
+				else if (slave.nipples === "huge")
+					r += jsInclude("Art_Vector_Boob_NippleHuge");
+				else if (slave.nipples === "partially inverted")
+					r += jsInclude("Art_Vector_Boob_NipplePartiallyInverted");
+				else if (slave.nipples === "fuckable")
+					r += jsInclude("Art_Vector_Boob_NippleFuckable");
+		}
+	}
+
+	function ArtVectorBoobAddons() {
+		if (slave.boobs < 300) {
+			/* boobs too small: do not show boob-related art */
+			/* BEWARE: this threshold should be kept in sync with the one in Art_Vector_Boob_ */
+		} else {
+			switch (slave.clothes) {
+				case "a chattel habit":
+				case "a comfortable bodysuit":
+				case "a cybersuit":
+				case "a fallen nuns habit":
+				case "a Fuckdoll suit":
+				case "a latex catsuit":
+				case "a nice pony outfit":
+				case "a Santa dress":
+				case "a skimpy loincloth":
+				case "a slutty pony outfit":
+				case "a succubus outfit":
+				case "a thong":
+				case "body oil":
+				case "boyshorts":
+				case "choosing her own clothes":
+				case "cutoffs":
+				case "jeans":
+				case "leather pants":
+				case "no clothing":
+				case "panties":
+				case "restrictive latex":
+				case "sport shorts":
+				case "striped panties":
+					break; /* do nothing for these choices */
+				/* manually handle special cases */
+				case "a slutty schutzstaffel uniform":
+					r += jsInclude("Art_Vector_Boob_Outfit_SchutzstaffelUniform");
+					break;
+				case "a niqab and abaya":
+				case "a burqa":
+					r += jsInclude("Art_Vector_Boob_Outfit_HijabAndAbaya");
+					break;
+				default:
+					r += jsInclude(`Art_Vector_Boob_Outfit_${clothing2artSuffix(slave.clothes)}`);
+			}
+		}
+		if (V.showBodyMods === 1 && (slave.nipplesPiercing > 0 || slave.areolaePiercing > 0)) {
+			/* shows nipple piercings in game when selected; piercings will show on the outfits listed below */
+			switch (slave.clothes) {
+				case "a chattel habit":
+				case "a comfortable bodysuit":
+				case "a cybersuit":
+				case "a fallen nuns habit":
+				case "a latex catsuit":
+				case "a monokini":
+				case "a nice pony outfit":
+				case "a penitent nuns habit":
+				case "a Santa dress":
+				case "a skimpy loincloth":
+				case "a slutty pony outfit":
+				case "a string bikini":
+				case "a succubus outfit":
+				case "a thong":
+				case "an apron":
+				case "attractive lingerie":
+				case "attractive lingerie for a pregnant woman":
+				case "body oil":
+				case "boyshorts":
+				case "chains":
+				case "choosing her own clothes":
+				case "cutoffs":
+				case "jeans":
+				case "leather pants":
+				case "leather pants and a tube top":
+				case "leather pants and pasties":
+				case "no clothing":
+				case "panties":
+				case "restrictive latex":
+				case "shibari ropes":
+				case "slutty jewelry":
+				case "sport shorts":
+				case "striped panties":
+				case "uncomfortable straps":
+					if (slave.nipplesPiercing === 1)
+						r += jsInclude("Art_Vector_Boob_Piercing");
+					else if (slave.nipplesPiercing > 1)
+						r += jsInclude("Art_Vector_Boob_Piercing_Heavy");
+
+					if (slave.areolaePiercing === 1)
+						r += jsInclude("Art_Vector_Boob_Areola_Piercing");
+					else if (slave.areolaePiercing > 1)
+						r += jsInclude("Art_Vector_Boob_Areola_Piercingheavy");
+			}
+		}
+	}
+
+	function ArtVectorButt() {
+		if (slave.amp === 0)
+			r += jsInclude(`Art_Vector_Butt_${buttSize}`);
+		else if (slave.amp === -1)
+			r += jsInclude(`Art_Vector_Butt_ProstheticBasic_${buttSize}`);
+		else if (slave.amp === -2)
+			r += jsInclude(`Art_Vector_Butt_ProstheticSexy_${buttSize}`);
+		else if (slave.amp === -3) /* reverted to regular SVG to match description */
+			r += jsInclude(`Art_Vector_Butt_ProstheticBeauty_${buttSize}`);
+		else if (slave.amp === -4)
+			r += jsInclude(`Art_Vector_Butt_ProstheticCombat_${buttSize}`);
+		else if (slave.amp === -5)
+			r += jsInclude(`Art_Vector_Butt_ProstheticSwiss_${buttSize}`);
+	}
+
+	function ArtVectorChastityBelt() {
+		let bodySize = "";
+		if (slave.waist >= 96) {
+			if (slave.weight >= 11)
+				bodySize = "Fat";
+			else if (slave.weight > -31)
+				bodySize = "_Chubby";
+		} else if (slave.waist >= 41) {
+			if (slave.weight >= 31)
+				bodySize = "Fat";
+			else if (slave.weight >= 0)
+				bodySize = "_Chubby";
+		} else if (slave.waist >= 11) {
+			if (slave.weight >= 96)
+				bodySize = "Fat";
+			else if (slave.weight >= 11)
+				bodySize = "_Chubby";
+		} else if (slave.waist > -11) {
+			if (slave.weight >= 131)
+				bodySize = "Fat";
+			else if (slave.weight >= 31)
+				bodySize = "_Chubby";
+		} else if (slave.waist > -41) {
+			if (slave.weight >= 161)
+				bodySize = "Fat";
+			else if (slave.weight >= 96)
+				bodySize = "_Chubby";
+		} else if (slave.waist > -96) {
+			if (slave.weight >= 191)
+				bodySize = "Fat";
+			else if (slave.weight >= 131)
+				bodySize = "_Chubby";
+		} else {
+			if (slave.weight >= 31)
+				bodySize = "_Chubby";
+		}
+
+		if (slave.chastityAnus === 1) {
+			if (bodySize === "Fat") {
+				r += jsInclude("Art_Vector_Chastity_Vagina_Fat");
+			} else {
+				r += jsInclude("Art_Vector_Chastity_Anus");
+				r += jsInclude(`Art_Vector_Chastity_Base${bodySize}`);
+			}
+		}
+		if (slave.chastityVagina === 1) {
+			if (bodySize === "Fat") {
+				r += jsInclude("Art_Vector_Chastity_Vagina_Fat");
+			} else {
+				r += jsInclude("Art_Vector_Chastity_Vagina");
+				r += jsInclude(`Art_Vector_Chastity_Base${bodySize}`);
+			}
+		}
+		if (slave.vaginalAccessory !== "none") {
+			switch (slave.clothes) {/* shows vaginal accessories on the outfits below */
+				case "a bra":
+				case "a button-up shirt":
+				case "a button-up shirt and panties":
+				case "a chattel habit":
+				case "a comfortable bodysuit":
+				case "a fallen nuns habit":
+				case "a Fuckdoll suit":
+				case "a latex catsuit":
+				case "a monokini":
+				case "a nice pony outfit":
+				case "a penitent nuns habit":
+				case "a Santa dress":
+				case "a slutty klan robe":
+				case "a slutty outfit":
+				case "a slutty pony outfit":
+				case "a sports bra":
+				case "a string bikini":
+				case "a striped bra":
+				case "a succubus outfit":
+				case "a sweater":
+				case "a t-shirt":
+				case "a t-shirt and panties":
+				case "a t-shirt and thong":
+				case "a tank-top":
+				case "a thong":
+				case "a tube top":
+				case "a tube top and thong":
+				case "an apron":
+				case "an oversized t-shirt":
+				case "attractive lingerie":
+				case "attractive lingerie for a pregnant woman":
+				case "body oil":
+				case "chains":
+				case "choosing her own clothes":
+				case "clubslut netting":
+				case "cutoffs":
+				case "harem gauze":
+				case "no clothing":
+				case "panties":
+				case "panties and pasties":
+				case "restrictive latex":
+				case "shibari ropes":
+				case "slutty jewelry":
+				case "striped underwear":
+				case "uncomfortable straps":
+					if (slave.vaginalAccessory === "dildo") {
+						r += jsInclude("Art_Vector_Dildo_Short");
+					} else if (slave.vaginalAccessory === "long dildo") {
+						r += jsInclude("Art_Vector_Dildo_Long");
+					} else if (slave.clothes !== "a comfortable bodysuit" && slave.clothes !== "a string bikini" && slave.clothes !== "attractive lingerie for a pregnant woman" && slave.clothes !== "restrictive latex") {
+						if (slave.vaginalAccessory === "large dildo") /* additional outfits disabled due to the art breaking with the larger accessories */
+							r += jsInclude("Art_Vector_Dildo_Large");
+						else if (slave.vaginalAccessory === "long, large dildo")
+							r += jsInclude("Art_Vector_Dildo_Large_Long");
+						else if (slave.vaginalAccessory === "huge dildo")
+							r += jsInclude("Art_Vector_Dildo_Huge");
+						else if (slave.vaginalAccessory === "long, huge dildo")
+							r += jsInclude("Art_Vector_Dildo_Huge_Long");
+					}
+			}
+		}
+	}
+
+	function ArtVectorColor() {
+		let outfitBaseColour;
+
+		/*
+			WARNING: Some of these temporary variables are used in wardrobeUse.tw or salon.tw
+			Known examples are _outfitBaseColour, _glassesColor, and _shoeColour
+		*/
+		setOutfitColor();
+		setSkinColor();
+		setHairColor();
+		setShoeColor();
+
+		function setOutfitColor() {
+			/* TODO: rewrite all textual descriptions not to explicitly mention the latex being of black color. */
+			if (wearingLatex === true || slave.clothes === "a cybersuit")
+				outfitBaseColour = slave.clothingBaseColor || "#515351"; /* use custom color, or use default latex color */
+			else if (slave.clothes == "a comfortable bodysuit")
+				outfitBaseColour = slave.clothingBaseColor || "#464646"; /* use custom color, or use default bodysuit color */
+
+			/* head addons */
+			if (slave.collar === "porcelain mask")
+				T.glassesColor = slave.glassesColor || "#FFFFFF"; /* use custom color or white */
+			else
+				T.glassesColor = slave.glassesColor || "#010101"; /* use custom color or default */
+
+			T.eyeColor = extractColor(slave.eyeColor, 1);
+			T.outfitBaseColour = outfitBaseColour;
+		}
+
+		function setSkinColor() {
+			const colorSlave = skinColorCatcher(slave);
+
+			/* setting default values */
+			T.areolaStyle = colorSlave.areolaColor;
+			T.bellybuttonStyle = colorSlave.areolaColor;
+			T.labiaStyle = colorSlave.labiaColor;
+			T.skinColour = colorSlave.skinColor;
+			/* todo: introduce fleshStyle */
+			/* these need to be declared so they can be set conditionally */
+			T.headSkinStyle = undefined;
+			T.torsoSkinStyle = undefined;
+			T.boobSkinStyle = undefined;
+			T.penisSkinStyle = undefined;
+			T.scrotumSkinStyle = undefined;
+			T.bellySkinStyle = undefined;
+
+			/* BEGIN SKIN COLOR OVERRIDES FOR LATEX CLOTHING EMULATION */
+			if (slave.clothes === "a Fuckdoll suit") {
+				/* slave is a fuckdoll - display all skin as if it was black rubber */
+				T.skinColour = outfitBaseColour;
+				T.areolaStyle = "fill:rgba(81,83,81,1);";
+				T.labiaStyle = T.areolaStyle;
+				T.bellybuttonStyle = T.areolaStyle;
+			} else if (slave.clothes === "restrictive latex") { /* slave wears restrictive latex - display most skin as if it was rubber */
+				/* nice latex does not cover any privates. */
+				T.boobSkinStyle = "fill:"+T.skinColour+";";
+				T.penisSkinStyle = "fill:"+T.skinColour+";";
+				T.scrotumSkinStyle = "fill:"+T.skinColour+";";
+				T.torsoSkinStyle = "fill:"+T.skinColour+";";
+				/* rest of body is covered in latex */
+				T.skinColour = outfitBaseColour;
+				T.bellybuttonStyle = outfitBaseColour;
+			} else if (slave.clothes === "a latex catsuit") {
+				/* nice latex does not cover head. */
+				T.headSkinStyle = "fill:"+T.skinColour+";";
+				/* rest of body is covered in latex */
+				T.skinColour = outfitBaseColour;
+				/* catsuit covers areolae and crotch, too */
+				T.bellybuttonStyle = outfitBaseColour;
+			} else if (slave.clothes === "a cybersuit") {
+				/* rest of body is covered in latex */
+				T.skinColour = outfitBaseColour;
+				T.bellybuttonStyle = outfitBaseColour;
+			} else if (slave.clothes === "a comfortable bodysuit") {
+				/* nice bodysuit does not cover head. */
+				T.headSkinStyle = "fill:"+T.skinColour+";";
+				/* rest of body is covered in bodysuit */
+				T.skinColour = outfitBaseColour;
+				T.bellySkinStyle = outfitBaseColour;
+				T.bellybuttonStyle = outfitBaseColour;
+			}
+			/* END SKIN COLOR OVERRIDES FOR LATEX CLOTHING EMULATION */
+
+			/* outfit dick coloring to match outfit rgba in svg */
+			switch (slave.clothes) {
+				case "a cheerleader outfit":
+					T.scrotumSkinStyle = "fill:rgba(250,186,0,1);";
+					T.bellySkinStyle = "fill:rgba(95,110,160,1);";
+					break;
+				case "cutoffs and a t-shirt":
+					T.scrotumSkinStyle = "fill:rgba(81,124,211,1);";
+					break;
+				case "a halter top dress":
+					T.scrotumSkinStyle = "fill:rgba(94,51,124,1);";
+					T.bellySkinStyle = "fill:rgba(94,51,124,1);";
+					break;
+				case "a burqa":
+				case "a hijab and abaya":
+				case "a niqab and abaya":
+					T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
+					T.bellySkinStyle = "fill:rgba(51,51,51,1);";
+					break;
+				case "a hijab and blouse":
+					T.scrotumSkinStyle = "fill:rgba(85,0,34,1);";
+					T.bellySkinStyle = "fill:rgba(85,0,34,1);";
+					break;
+				case "a burkini":
+					T.scrotumSkinStyle = "fill:rgba(0,97,158,1);";
+					T.bellySkinStyle = "fill:rgba(0,97,158,1);";
+					break;
+				case "a klan robe":
+					T.scrotumSkinStyle = "fill:rgba(236,236,236,1);";
+					T.bellySkinStyle = "fill:rgba(236,236,236,1);";
+					break;
+				case "a nice maid outfit":
+				case "a slutty maid outfit":
+					T.scrotumSkinStyle = "fill:rgba(225,225,225,1);";
+					T.bellySkinStyle = "fill:rgba(225,225,225,1);";
+					break;
+				case "a leotard":
+					T.scrotumSkinStyle = "fill:rgba(120,15,55,1);";
+					T.bellySkinStyle = "fill:rgba(120,15,55,1);";
+					break;
+				case "a military uniform":
+					T.scrotumSkinStyle = "fill:rgba(34,42,18,1);";
+					T.bellySkinStyle = "fill:rgba(34,42,18,1);";
+					break;
+				case "a mini dress":
+					T.scrotumSkinStyle = "fill:rgba(26,26,26,1);";
+					T.bellySkinStyle = "fill:rgba(26,26,26,1);";
+					break;
+				case "a nice nurse outfit":
+					T.scrotumSkinStyle = "fill:rgba(0,128,128,1);";
+					T.bellySkinStyle = "fill:rgba(0,128,128,1);";
+					break;
+				case "a slutty nurse outfit":
+					T.scrotumSkinStyle = "fill:rgba(255,255,255,1);";
+					break;
+				case "a scalemail bikini":
+					T.scrotumSkinStyle = "fill:rgba(133,146,158,1);";
+					break;
+				case "striped panties":
+					T.scrotumSkinStyle = "fill:rgba(255,255,255,1);";
+					break;
+				case "a schoolgirl outfit":
+					T.scrotumSkinStyle = "fill:rgba(28,31,36,1);";
+					T.bellySkinStyle = "fill:rgba(28,31,36,1);";
+					break;
+				case "a ball gown":
+					T.scrotumSkinStyle = "fill:rgba(128,0,0,1);";
+					T.bellySkinStyle = "fill:rgba(128,0,0,1);";
+					break;
+				case "battledress":
+					T.scrotumSkinStyle = "fill:rgba(34,42,18,1);";
+					T.bellySkinStyle = "fill:rgba(34,42,18,1);";
+					break;
+				case "a slave gown":
+					T.scrotumSkinStyle = "fill:rgba(200,200,200,1);";
+					T.bellySkinStyle = "fill:rgba(200,200,200,1);";
+					break;
+				case "a slutty outfit":
+					T.scrotumSkinStyle = "fill:rgba(63,126,181,1);";
+					break;
+				case "spats and a tank top":
+					T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
+					break;
+				case "a succubus outfit":
+					T.scrotumSkinStyle = "fill:rgba(128,0,0,1);";
+					T.bellySkinStyle = "fill:rgba(128,0,0,1);";
+					break;
+				case "nice business attire":
+					T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
+					T.bellySkinStyle = "fill:rgba(51,51,51,1);";
+					break;
+				case "slutty business attire":
+					T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
+					break;
+				case "attractive lingerie for a pregnant woman":
+					T.scrotumSkinStyle = "fill:rgba(153,153,153,1);";
+					break;
+				case "a bunny outfit":
+					T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
+					T.bellySkinStyle = "fill:rgba(51,51,51,1);";
+					break;
+				case "conservative clothing":
+					T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
+					T.bellySkinStyle = "fill:rgba(51,51,51,1);";
+					break;
+				case "harem gauze":
+					T.scrotumSkinStyle = "fill:rgba(0,168,131,1);";
+					break;
+				case "a huipil":
+					T.scrotumSkinStyle = "fill:rgba(200,200,200,1);";
+					T.bellySkinStyle = "fill:rgba(200,200,200,1);";
+					break;
+				case "a kimono":
+					T.scrotumSkinStyle = "fill:rgba(0,91,150,1);";
+					T.bellySkinStyle = "fill:rgba(0,91,150,1);";
+					break;
+				case "a maternity dress":
+					T.scrotumSkinStyle = "fill:rgba(48,54,72,1);";
+					T.bellySkinStyle = "fill:rgba(48,54,72,1);";
+					break;
+				case "a slutty qipao":
+					T.scrotumSkinStyle = "fill:rgba(204,177,68,1);";
+					T.bellySkinStyle = "fill:rgba(204,177,68,1);";
+					break;
+				case "stretch pants and a crop-top":
+					T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
+					break;
+				case "a toga":
+					T.scrotumSkinStyle = "fill:rgba(200,200,200,1);";
+					T.bellySkinStyle = "fill:rgba(200,200,200,1);";
+					break;
+				case "a penitent nuns habit":
+					T.scrotumSkinStyle = "fill:rgba(114,93,73,1);";
+					break;
+				case "a fallen nuns habit":
+					T.bellySkinStyle = "fill:rgba(51,51,51,1);";
+					break;
+				case "a chattel habit":
+					T.scrotumSkinStyle = "fill:rgba(200,200,200,1);";
+					break;
+				case "a monokini":
+					T.scrotumSkinStyle = "fill:rgba(33,47,61,1);";
+					break;
+				case "a schutzstaffel uniform":
+				case "a slutty schutzstaffel uniform":
+					T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
+					T.bellySkinStyle = "fill:rgba(51,51,51,1);";
+					break;
+				case "a red army uniform":
+					T.scrotumSkinStyle = "fill:rgba(114,93,73,1);";
+					T.bellySkinStyle = "fill:rgba(114,93,73,1);";
+					break;
+				case "an apron":
+					T.scrotumSkinStyle = "fill:rgba(255,105,180,1);";
+					T.bellySkinStyle = "fill:rgba(255,105,180,1);";
+					break;
+				case "a dirndl":
+					T.scrotumSkinStyle = "fill:rgba(128,0,51,1);";
+					T.bellySkinStyle = "fill:rgba(128,0,51,1);";
+					break;
+				case "lederhosen":
+					T.scrotumSkinStyle = "fill:rgba(93,83,108,1);";
+					break;
+				case "a long qipao":
+					T.scrotumSkinStyle = "fill:rgba(0,128,0,1);";
+					break;
+				case "a mounty outfit":
+					T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
+					T.bellySkinStyle = "fill:rgba(128,0,0,1);";
+					break;
+				case "battlearmor":
+					T.scrotumSkinStyle = "fill:rgba(200,200,200,1);";
+					break;
+				case "striped underwear":
+					T.scrotumSkinStyle = "fill:rgba(255,255,255,1);";
+					break;
+				case "panties":
+					T.scrotumSkinStyle = "fill:rgba(255,170,238,1);";
+					break;
+				case "a thong":
+					T.scrotumSkinStyle = "fill:rgba(34,28,36,1);";
+					break;
+				case "a button-up shirt and panties":
+				case "a t-shirt and panties":
+					T.scrotumSkinStyle = "fill:rgba(255,255,255,1);";
+					T.bellySkinStyle = "fill:rgba(255,255,255,1);";
+					break;
+				case "a slutty klan robe":
+					T.scrotumSkinStyle = "fill:rgba(128,0,0,1);";
+					break;
+				case "cutoffs":
+					T.scrotumSkinStyle = "fill:rgba(81,124,211,1);";
+					break;
+				case "sport shorts":
+				case "sport shorts and a sports bra":
+					T.scrotumSkinStyle = "fill:rgba(51,51,51,1);";
+					break;
+				case "a t-shirt and thong":
+					T.scrotumSkinStyle = "fill:rgba(200,55,171,1);";
+					T.bellySkinStyle = "fill:rgba(200,55,171,1);";
+					break;
+				case "jeans":
+					T.scrotumSkinStyle = "fill:rgba(81,124,211,1);";
+					break;
+				case "leather pants":
+				case "leather pants and a tube top":
+					T.scrotumSkinStyle = "fill:rgba(26,26,26,1);";
+					break;
+				case "leather pants and pasties":
+					T.scrotumSkinStyle = "fill:rgba(85,0,0,1);";
+					break;
+				case "a t-shirt and jeans":
+					T.scrotumSkinStyle = "fill:rgba(81,124,211,1);";
+					T.bellySkinStyle = "fill:rgba(255,255,255,1);";
+					break;
+				case "a tank-top and panties":
+					T.scrotumSkinStyle = "fill:rgba(26,26,26,1);";
+					T.bellySkinStyle = "fill:rgba(26,26,26,1);";
+					break;
+				case "a tank-top":
+					T.bellySkinStyle = "fill:rgba(255,255,255,1);";
+					break;
+				case "a tube top and thong":
+					T.scrotumSkinStyle = "fill:rgba(34,28,36,1);";
+					break;
+				case "boyshorts":
+					T.scrotumSkinStyle = "fill:rgba(26,26,26,1);";
+					break;
+				case "an oversized t-shirt and boyshorts":
+					T.bellySkinStyle = "fill:rgba(255,255,255,1);";
+					break;
+				case "a sweater and panties":
+					T.scrotumSkinStyle = "fill:rgba(26,26,26,1);";
+					T.bellySkinStyle = "fill:rgba(212,170,0,1);";
+					break;
+				case "a sweater and cutoffs":
+					T.scrotumSkinStyle = "fill:rgba(77,77,77,1);";
+					T.bellySkinStyle = "fill:rgba(85,0,0,1);";
+					break;
+				case "a police uniform":
+					T.scrotumSkinStyle = "fill:rgba(11,23,40,1);";
+					T.bellySkinStyle = "fill:rgba(11,23,40,1);";
+					break;
+				case "a one-piece swimsuit":
+					T.scrotumSkinStyle = "fill:rgba(22,45,80,1);";
+					T.bellySkinStyle = "fill:rgba(22,45,80,1);";
+					break;
+				case "a skimpy loincloth":
+					T.scrotumSkinStyle = "fill:rgba(145,124,111,1);";
+					break;
+				case "kitty lingerie":
+					T.scrotumSkinStyle = "fill:rgba(255,170,238,1);";
+					break;
+				case "an oversized t-shirt":
+					T.bellySkinStyle = "fill:rgba(255,255,255,1);";
+					break;
+				case "a hanbok":
+					T.bellySkinStyle = "fill:rgba(255,109,182,1);";
+					break;
+				case "a gothic lolita dress":
+					T.bellySkinStyle = "fill:rgba(26,26,26,1);";
+					break;
+				case "a sweater":
+					T.bellySkinStyle = "fill:rgba(85,0,0,1);";
+					break;
+				case "sport shorts and a t-shirt":
+					T.scrotumSkinStyle = "fill:rgba(200,55,171,1);";
+					T.bellySkinStyle = "fill:rgba(200,55,171,1);";
+					break;
+				case "a biyelgee costume":
+					T.scrotumSkinStyle = "fill:rgba(33,68,120,1);";
+			}
+		}
+
+		function setHairColor() {
+			T.hairColour = extractColor(slave.hColor);
+			T.pubicHairColour = extractColor(slave.pubicHColor);
+			T.underarmHairColour = extractColor(slave.underArmHColor);
+			T.eyebrowHairColour = extractColor(slave.eyebrowHColor);
+			T.sclerae = extractColor(slave.sclerae);
+		}
+
+		function setShoeColor() {
+			/* BEWARE: _shoeColour is read by Wardrobe Use */
+			/* note: only heels use this _shoeShadowColour */
+
+			/* override color in case of full body latex outfit, or custom color*/
+			if (slave.clothes === "a Fuckdoll suit" || slave.clothes === "restrictive latex") {
+				T.shoeColour = T.skinColour;
+				T.shoeShadowColour = T.shoeColour+";opacity: 0.5"; /* TODO: do not abuse "color" variable for style definitions. do not rely on dark background for shadow effect either. */
+			} else if (slave.shoeColor !== undefined) {
+				T.shoeColour = slave.shoeColor+";opacity: 0.4"; /* shoe color selected by user */
+				T.shoeShadowColour = T.shoeColour+";opacity: 0.5"; /* TODO: do not abuse "color" variable for style definitions. do not rely on dark background for shadow effect either. */
+			} else {
+				T.shoeShadowColour = "#616a6b";
+				if (slave.shoes === "none")
+					T.shoeColour = "#595959";
+				else
+					T.shoeColour = "#80808080";
+			}
+		}
+	}
+
+	function ArtVectorCollar() {
+		r += jsInclude("Art_Vector_Clavicle");
+		/* TODO": find out where "uncomfortable leather" collar art went */
+		switch (slave.collar) {
+			case "leather with cowbell":
+				r += jsInclude("Art_Vector_Collar_Cowbell");
+				break;
+			case "heavy gold":
+				r += jsInclude("Art_Vector_Collar_Gold_Heavy");
+				break;
+			case "neck corset":
+				r += jsInclude("Art_Vector_Collar_Neck_Corset");
+				break;
+			case "pretty jewelry":
+				r += jsInclude("Art_Vector_Collar_Pretty_Jewelry");
+				break;
+			case "cruel retirement counter":
+				r += jsInclude("Art_Vector_Collar_Retirement_Cruel");
+				break;
+			case "nice retirement counter":
+				r += jsInclude("Art_Vector_Collar_Retirement_Nice");
+				break;
+			case "satin choker":
+				r += jsInclude("Art_Vector_Collar_Satin_Choker");
+				break;
+			case "shock punishment":
+				r += jsInclude("Art_Vector_Collar_Shock_Punishment");
+				break;
+			case "stylish leather":
+				r += jsInclude("Art_Vector_Collar_Stylish_Leather");
+				break;
+			case "tight steel":
+				r += jsInclude("Art_Vector_Collar_Tight_Steel");
+				break;
+			case "uncomfortable leather":
+				r += jsInclude("Art_Vector_Collar_Leather_Cruel");
+				break;
+			case "silk ribbon":
+				r += jsInclude("Art_Vector_Collar_Silk_Ribbon");
+				break;
+			case "bowtie":
+				r += jsInclude("Art_Vector_Collar_Bowtie");
+				break;
+			case "ancient Egyptian":
+				r += jsInclude("Art_Vector_Collar_Ancientegyptian");
+		}
+	}
+
+	function ArtVectorFeet() {
+		let outfit, stockings;
+		if (slave.legAccessory === "short stockings")
+			stockings = "SS";
+		else if (slave.legAccessory === "long stockings")
+			stockings = "LL";
+
+		/* Updated 2018-10-25 by Fr0g */
+		/* - added brackets to make boolean logic run */
+		if (slave.shoes === "heels") {
+			r += jsInclude("Art_Vector_Shoes_Heel");
+		} else if (slave.shoes === "pumps") {
+				r += jsInclude("Art_Vector_Shoes_Pump");
+		} else if (slave.shoes === "extreme heels") {
+				r += jsInclude(`Art_Vector_Shoes_Extreme_Heel_${legSize}`);
+		} else if (slave.shoes === "boots") {
+				r += jsInclude(`Art_Vector_Shoes_Boot_${legSize}`);
+		} else if (slave.shoes === "flats") {
+				r += jsInclude("Art_Vector_Shoes_Flat");
+		} else {
+			if (slave.amp === 0) {
+				r += jsInclude("Art_Vector_Feet_Normal");
+			} else if (slave.PLimb === 1 || slave.PLimb === 2) {
+				if (slave.amp === -1)
+					r += jsInclude("Art_Vector_Feet_ProstheticBasic");
+				else if (slave.amp === -2)
+					r += jsInclude("Art_Vector_Feet_ProstheticSexy");
+				else if (slave.amp === -3)
+					r += jsInclude("Art_Vector_Feet_ProstheticBeauty");
+				else if (slave.amp === -4)
+					r += jsInclude("Art_Vector_Feet_ProstheticCombat");
+				else if (slave.amp === -5)
+					r += jsInclude("Art_Vector_Feet_ProstheticSwiss");
+			}
+		}
+		if (stockings !== undefined && slave.amp !== 1) {
+			if (slave.shoes === "heels") {
+				r += jsInclude(`Art_Vector_Shoes_Heel_${stockings}_${legSize}`);
+			} else if (slave.shoes === "pumps") {
+				r += jsInclude(`Art_Vector_Shoes_Pump_${stockings}_${legSize}`);
+			} else if (slave.shoes === "flats") {
+				r += jsInclude(`Art_Vector_Shoes_Flat_${stockings}_${legSize}`);
+			} else if (slave.shoes === "none") {
+				r += jsInclude(`Art_Vector_Shoes_Stockings_${stockings}_${legSize}`);
+			}
+		}
+		switch (slave.clothes) {
+			case "a bra":
+			case "a button-up shirt":
+			case "a button-up shirt and panties":
+			case "a chattel habit":
+			case "a comfortable bodysuit":
+			case "a cybersuit":
+			case "a gothic lolita dress":
+			case "a hanbok":
+			case "a leotard":
+			case "a nice pony outfit":
+			case "a one-piece swimsuit":
+			case "a penitent nuns habit":
+			case "a Santa dress":
+			case "a scalemail bikini":
+			case "a skimpy loincloth":
+			case "a slutty klan robe":
+			case "a slutty outfit":
+			case "a slutty pony outfit":
+			case "a sports bra":
+			case "a string bikini":
+			case "a striped bra":
+			case "a sweater":
+			case "a sweater and panties":
+			case "a t-shirt":
+			case "a t-shirt and panties":
+			case "a t-shirt and thong":
+			case "a tank-top":
+			case "a tank-top and panties":
+			case "a thong":
+			case "a tube top":
+			case "a tube top and thong":
+			case "an oversized t-shirt":
+			case "attractive lingerie for a pregnant woman":
+			case "chains":
+			case "choosing her own clothes":
+			case "kitty lingerie":
+			case "no clothing":
+			case "panties":
+			case "panties and pasties":
+			case "shibari ropes":
+			case "striped panties":
+			case "striped underwear":
+			case "uncomfortable straps":
+				break; /* do nothing for these cases */
+			case "a Fuckdoll suit":
+			case "a latex catsuit":
+			case "body oil":
+			case "restrictive latex":
+				if (V.seeVectorArtHighlights === 1) /* special case for shiny clothing */
+					outfit = "Shine";
+				break;
+			default:
+				outfit = clothing2artSuffix(slave.clothes);
+		}
+		if (outfit !== undefined) {
+			if (slave.amp !== 1) {
+				if (slave.clothes !== "a slutty qipao" && slave.clothes !== "harem gauze" && slave.clothes !== "slutty jewelry" && slave.clothes !== "Western clothing") /* these clothes have a stump/leg outfit, but no butt outfit */
+					r += jsInclude(`Art_Vector_Butt_Outfit_${outfit}_${buttSize}`);
+				if (slave.clothes !== "a schoolgirl outfit") /* file is there, but contains no artwork */
+					r += jsInclude(`Art_Vector_Leg_Outfit_${outfit}_${legSize}`);
+			} else {
+				if (outfit === "Shine") /* the only stump outfit that does not draw an empty svg */
+					r += jsInclude(`Art_Vector_Leg_Outfit_${outfit}_Stump`);
+			}
+		}
+	}
+
+	function ArtVectorHairBack() {
+		if (hairLength !== undefined) { /* Don't draw hair if it isn't there */
+			if (slave.fuckdoll !== 0 || (slave.bald !== 0 && slave.hStyle === "bald")) {
+				r += jsInclude("Art_Vector_Hair_Back_NoHair");
+			} else {
+				switch (slave.clothes) {
+					case "a biyelgee costume":
+					case "a burkini":
+					case "a burqa":
+					case "a chattel habit":
+					case "a cybersuit":
+					case "a fallen nuns habit":
+					case "a hijab and abaya":
+					case "a hijab and blouse":
+					case "a klan robe":
+					case "a military uniform":
+					case "a mounty outfit":
+					case "a niqab and abaya":
+					case "a penitent nuns habit":
+					case "a police uniform":
+					case "a red army uniform":
+					case "a schutzstaffel uniform":
+					case "a slutty klan robe":
+					case "a slutty nurse outfit":
+					case "a slutty schutzstaffel uniform":
+					case "battlearmor":
+					case "restrictive latex":
+					case "Western clothing":
+						break; /* do nothing */
+					default:
+						switch (slave.hStyle) {
+							case "buzzcut":
+							case "shaved":
+							case "shaved bald":
+								r += jsInclude("Art_Vector_Hair_Back_NoHair");
+								break;
+							case "afro":
+								if (slave.hLength >= 150)
+									r += jsInclude("Art_Vector_Hair_Back_Afro_Giant");
+								else
+									r += jsInclude(`Art_Vector_Hair_Back_Afro_${hairLength}`);
+								break;
+							case "messy bun":
+								r += jsInclude(`Art_Vector_Hair_Back_Ninja_${hairLength}`);
+								break;
+							case "strip":
+								r += jsInclude("Art_Vector_Hair_Back_NoHair");
+								break;
+							case "braided":
+							case "bun":
+							case "cornrows":
+							case "curled":
+							case "dreadlocks":
+							case "eary":
+							case "luxurious":
+							case "messy":
+							case "neat":
+							case "permed":
+							case "ponytail":
+							case "tails":
+							case "up":
+								r += jsInclude(`Art_Vector_Hair_Back_${capFirstChar(slave.hStyle)}_${hairLength}`);
+								break;
+							default:
+								r += jsInclude("Art_Vector_Hair_Back_Messy_Medium");
+						}
+				}
+			}
+		}
+		/* note: latex clothing actually shows some hair, but there is no appropriate art for it */
+		if (slave.collar === "cat ears")
+			r += jsInclude("Art_Vector_Cat_Ear_Back");
+	}
+
+	function ArtVectorHairFore() {
+		if (hairLength !== undefined) { /* Don't draw hair if it isn't there */
+			if (slave.fuckdoll !== 0 || (slave.bald !== 0 && slave.hStyle === "bald")) {
+				r += jsInclude("Art_Vector_Hair_Fore_NoHair");
+			} else {
+				switch (slave.clothes) {
+					case "a biyelgee costume":
+					case "a burkini":
+					case "a burqa":
+					case "a chattel habit":
+					case "a cybersuit":
+					case "a fallen nuns habit":
+					case "a hijab and abaya":
+					case "a hijab and blouse":
+					case "a klan robe":
+					case "a military uniform":
+					case "a mounty outfit":
+					case "a niqab and abaya":
+					case "a penitent nuns habit":
+					case "a police uniform":
+					case "a red army uniform":
+					case "a schutzstaffel uniform":
+					case "a slutty klan robe":
+					case "a slutty nurse outfit":
+					case "a slutty schutzstaffel uniform":
+					case "battlearmor":
+					case "restrictive latex":
+					case "Western clothing":
+						break; /* do nothing */
+					default:
+						switch (slave.hStyle) {
+							case "buzzcut":
+							case "shaved":
+							case "shaved bald":
+								r += jsInclude("Art_Vector_Hair_Fore_NoHair");
+								break;
+							case "afro":
+								if (slave.hLength >= 150)
+									r += jsInclude("Art_Vector_Hair_Fore_Afro_Giant");
+								else
+									r += jsInclude(`Art_Vector_Hair_Fore_Afro_${hairLength}`);
+								break;
+							case "messy bun":
+								r += jsInclude(`Art_Vector_Hair_Fore_Ninja_${hairLength}`);
+								break;
+							case "bun":
+							case "neat":
+							case "ponytail":
+								r += jsInclude(`Art_Vector_Hair_Fore_${capFirstChar(slave.hStyle)}`);
+								break;
+							case "braided":
+							case "cornrows":
+							case "curled":
+							case "dreadlocks":
+							case "eary":
+							case "luxurious":
+							case "messy":
+							case "permed":
+							case "strip":
+							case "tails":
+							case "up":
+								r += jsInclude(`Art_Vector_Hair_Fore_${capFirstChar(slave.hStyle)}_${hairLength}`);
+								break;
+							default:
+								r += jsInclude("Art_Vector_Hair_Fore_Messy_Medium");
+						}
+				}
+			}
+		}
+		/* note: latex clothing actually shows some hair, but there is no appropriate art for it */
+		if (slave.collar === "cat ears")
+			r += jsInclude("Art_Vector_Cat_Ear_Fore");
+	}
+
+	function ArtVectorHead() {
+		const eyebrowFullness = clothing2artSuffix(slave.eyebrowFullness); /* designed for clothing but works for eyebrows too. If other eyebrow styles are added, this may need to be changed. */
+		const hasEyebrows = slave.eyebrowHStyle !== "bald" && slave.eyebrowHStyle !== "shaved";
+
+		r += jsInclude("Art_Vector_Head");
+		/* shiny clothing */
+		if (V.seeVectorArtHighlights === 1) {
+			if (wearingLatex === true)
+				r += jsInclude("Art_Vector_Head_Outfit_Shine");
+		}
+		if (slave.clothes !== "restrictive latex") {
+			if (slave.markings === "beauty mark")
+				r += jsInclude("Art_Vector_Beauty_Mark");
+			else if (slave.markings === "freckles")
+				r += jsInclude("Art_Vector_Freckles");
+			else if (slave.markings === "heavily freckled")
+				r += jsInclude("Art_Vector_Freckles_Heavy");
+			else if (slave.markings === "birthmark")
+				r += jsInclude("Art_Vector_Birthmark");
+			else if (slave.minorInjury === "black eye")
+				r += jsInclude("Art_Vector_Black_Eye");
+		}
+		/* FACIAL APPEARANCE */
+		if (V.seeFaces === 1) {
+			if (slave.fuckdoll === 0 && slave.clothes !== "restrictive latex") {
+				switch (slave.race) {
+					case "southern european":
+					case "white":
+						if (slave.faceShape === "normal") {
+							r += jsInclude("Art_Vector_Eyes_TypeB");
+							r += jsInclude("Art_Vector_Mouth_TypeA");
+							r += jsInclude("Art_Vector_Nose_TypeA");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeA_${eyebrowFullness}`);
+						} else if (slave.faceShape === "masculine") {
+							r += jsInclude("Art_Vector_Eyes_TypeD");
+							r += jsInclude("Art_Vector_Mouth_TypeF");
+							r += jsInclude("Art_Vector_Nose_TypeF");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeE_${eyebrowFullness}`);
+						} else if (slave.faceShape === "androgynous") {
+							r += jsInclude("Art_Vector_Eyes_TypeE");
+							r += jsInclude("Art_Vector_Mouth_TypeE");
+							r += jsInclude("Art_Vector_Nose_TypeE");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeF_${eyebrowFullness}`);
+						} else if (slave.faceShape === "cute") {
+							r += jsInclude("Art_Vector_Eyes_TypeB");
+							r += jsInclude("Art_Vector_Mouth_TypeB");
+							r += jsInclude("Art_Vector_Nose_TypeD");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeA_${eyebrowFullness}`);
+						} else if (slave.faceShape === "sensual") {
+							r += jsInclude("Art_Vector_Eyes_TypeC");
+							r += jsInclude("Art_Vector_Mouth_TypeC");
+							r += jsInclude("Art_Vector_Nose_TypeC");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeC_${eyebrowFullness}`);
+						} else if (slave.faceShape === "exotic") {
+							r += jsInclude("Art_Vector_Eyes_TypeA");
+							r += jsInclude("Art_Vector_Mouth_TypeC");
+							r += jsInclude("Art_Vector_Nose_TypeC");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeC_${eyebrowFullness}`);
+						}
+						break;
+					case "asian":
+					case "malay":
+					case "pacific islander":
+						if (slave.faceShape === "normal") {
+							r += jsInclude("Art_Vector_Eyes_TypeA");
+							r += jsInclude("Art_Vector_Mouth_TypeC");
+							r += jsInclude("Art_Vector_Nose_TypeC");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeD_${eyebrowFullness}`);
+						} else if (slave.faceShape === "masculine") {
+							r += jsInclude("Art_Vector_Eyes_TypeD");
+							r += jsInclude("Art_Vector_Mouth_TypeD");
+							r += jsInclude("Art_Vector_Nose_TypeB");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeC_${eyebrowFullness}`);
+						} else if (slave.faceShape === "androgynous") {
+							r += jsInclude("Art_Vector_Eyes_TypeE");
+							r += jsInclude("Art_Vector_Mouth_TypeE");
+							r += jsInclude("Art_Vector_Nose_TypeA");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeC_${eyebrowFullness}`);
+						} else if (slave.faceShape === "cute") {
+							r += jsInclude("Art_Vector_Eyes_TypeC");
+							r += jsInclude("Art_Vector_Mouth_TypeC");
+							r += jsInclude("Art_Vector_Nose_TypeC");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeF_${eyebrowFullness}`);
+						} else if (slave.faceShape === "sensual") {
+							r += jsInclude("Art_Vector_Eyes_TypeA");
+							r += jsInclude("Art_Vector_Mouth_TypeA");
+							r += jsInclude("Art_Vector_Nose_TypeE");
+							if (slave.eyebrowFullness === "pencil-thin")
+								r += jsInclude("Art_Vector_Eyebrow_TypeC_Pencilthin");
+							else if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeF_${eyebrowFullness}`);
+						} else if (slave.faceShape === "exotic") {
+							r += jsInclude("Art_Vector_Eyes_TypeB");
+							r += jsInclude("Art_Vector_Mouth_TypeC");
+							r += jsInclude("Art_Vector_Nose_TypeF");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeA_${eyebrowFullness}`);
+						}
+						break;
+					case "amerindian":
+					case "latina":
+						if (slave.faceShape === "normal") {
+							r += jsInclude("Art_Vector_Eyes_TypeB");
+							r += jsInclude("Art_Vector_Mouth_TypeE");
+							r += jsInclude("Art_Vector_Nose_TypeD");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeB_${eyebrowFullness}`);
+						} else if (slave.faceShape === "masculine") {
+							r += jsInclude("Art_Vector_Eyes_TypeE");
+							r += jsInclude("Art_Vector_Mouth_TypeD");
+							r += jsInclude("Art_Vector_Nose_TypeF");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeC_${eyebrowFullness}`);
+						} else if (slave.faceShape === "androgynous") {
+							r += jsInclude("Art_Vector_Eyes_TypeA");
+							r += jsInclude("Art_Vector_Mouth_TypeD");
+							r += jsInclude("Art_Vector_Nose_TypeB");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeD_${eyebrowFullness}`);
+						} else if (slave.faceShape === "cute") {
+							r += jsInclude("Art_Vector_Eyes_TypeF");
+							r += jsInclude("Art_Vector_Mouth_TypeB");
+							r += jsInclude("Art_Vector_Nose_TypeB");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeF_${eyebrowFullness}`);
+						} else if (slave.faceShape === "sensual") {
+							r += jsInclude("Art_Vector_Eyes_TypeB");
+							r += jsInclude("Art_Vector_Mouth_TypeE");
+							r += jsInclude("Art_Vector_Nose_TypeC");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeF_${eyebrowFullness}`);
+						} else if (slave.faceShape === "exotic") {
+							r += jsInclude("Art_Vector_Eyes_TypeC");
+							r += jsInclude("Art_Vector_Mouth_TypeA");
+							r += jsInclude("Art_Vector_Nose_TypeC");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeE_${eyebrowFullness}`);
+						}
+						break;
+					case "black":
+						if (slave.faceShape === "normal") {
+							r += jsInclude("Art_Vector_Eyes_TypeD");
+							r += jsInclude("Art_Vector_Mouth_TypeB");
+							r += jsInclude("Art_Vector_Nose_TypeF");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeF_${eyebrowFullness}`);
+						} else if (slave.faceShape === "masculine") {
+							r += jsInclude("Art_Vector_Eyes_TypeA");
+							r += jsInclude("Art_Vector_Mouth_TypeD");
+							r += jsInclude("Art_Vector_Nose_TypeF");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeE_${eyebrowFullness}`);
+						} else if (slave.faceShape === "androgynous") {
+							r += jsInclude("Art_Vector_Eyes_TypeF");
+							r += jsInclude("Art_Vector_Mouth_TypeE");
+							r += jsInclude("Art_Vector_Nose_TypeB");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeE_${eyebrowFullness}`);
+						} else if (slave.faceShape === "cute") {
+							r += jsInclude("Art_Vector_Eyes_TypeC");
+							r += jsInclude("Art_Vector_Mouth_TypeE");
+							r += jsInclude("Art_Vector_Nose_TypeD");
+							if (slave.eyebrowFullness === "natural")
+								r += jsInclude("Art_Vector_Eyebrow_TypeB_Natural");
+							else if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeD_${eyebrowFullness}`);
+						} else if (slave.faceShape === "sensual") {
+							r += jsInclude("Art_Vector_Eyes_TypeC");
+							r += jsInclude("Art_Vector_Mouth_TypeF");
+							r += jsInclude("Art_Vector_Nose_TypeA");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeC_${eyebrowFullness}`);
+						} else if (slave.faceShape === "exotic") {
+							r += jsInclude("Art_Vector_Eyes_TypeE");
+							r += jsInclude("Art_Vector_Mouth_TypeE");
+							r += jsInclude("Art_Vector_Nose_TypeC");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeA_${eyebrowFullness}`);
+						}
+						break;
+					case "middle eastern":
+						if (slave.faceShape === "normal") {
+							r += jsInclude("Art_Vector_Eyes_TypeB");
+							r += jsInclude("Art_Vector_Mouth_TypeA");
+							r += jsInclude("Art_Vector_Nose_TypeA");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeA_${eyebrowFullness}`);
+						} else if (slave.faceShape === "masculine") {
+							r += jsInclude("Art_Vector_Eyes_TypeD");
+							r += jsInclude("Art_Vector_Mouth_TypeF");
+							r += jsInclude("Art_Vector_Nose_TypeA");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeB_${eyebrowFullness}`);
+						} else if (slave.faceShape === "androgynous") {
+							r += jsInclude("Art_Vector_Eyes_TypeF");
+							r += jsInclude("Art_Vector_Mouth_TypeB");
+							r += jsInclude("Art_Vector_Nose_TypeF");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeF_${eyebrowFullness}`);
+						} else if (slave.faceShape === "cute") {
+							r += jsInclude("Art_Vector_Eyes_TypeB");
+							r += jsInclude("Art_Vector_Mouth_TypeB");
+							r += jsInclude("Art_Vector_Nose_TypeC");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeA_${eyebrowFullness}`);
+						} else if (slave.faceShape === "sensual") {
+							r += jsInclude("Art_Vector_Eyes_TypeA");
+							r += jsInclude("Art_Vector_Mouth_TypeD");
+							r += jsInclude("Art_Vector_Nose_TypeA");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeC_${eyebrowFullness}`);
+						} else if (slave.faceShape === "exotic") {
+							r += jsInclude("Art_Vector_Eyes_TypeE");
+							r += jsInclude("Art_Vector_Mouth_TypeE");
+							r += jsInclude("Art_Vector_Nose_TypeE");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeE_${eyebrowFullness}`);
+						}
+						break;
+					case "semitic":
+						if (slave.faceShape === "normal") {
+							r += jsInclude("Art_Vector_Eyes_TypeB");
+							r += jsInclude("Art_Vector_Mouth_TypeA");
+							r += jsInclude("Art_Vector_Nose_TypeA");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeA_${eyebrowFullness}`);
+						} else if (slave.faceShape === "masculine") {
+							r += jsInclude("Art_Vector_Eyes_TypeD");
+							r += jsInclude("Art_Vector_Mouth_TypeF");
+							r += jsInclude("Art_Vector_Nose_TypeA");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeB_${eyebrowFullness}`);
+						} else if (slave.faceShape === "androgynous") {
+							r += jsInclude("Art_Vector_Eyes_TypeF");
+							r += jsInclude("Art_Vector_Mouth_TypeB");
+							r += jsInclude("Art_Vector_Nose_TypeF");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeF_${eyebrowFullness}`);
+						} else if (slave.faceShape === "cute") {
+							r += jsInclude("Art_Vector_Eyes_TypeB");
+							r += jsInclude("Art_Vector_Mouth_TypeB");
+							r += jsInclude("Art_Vector_Nose_TypeC");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeA_${eyebrowFullness}`);
+						} else if (slave.faceShape === "sensual") {
+							r += jsInclude("Art_Vector_Eyes_TypeA");
+							r += jsInclude("Art_Vector_Mouth_TypeD");
+							r += jsInclude("Art_Vector_Nose_TypeA");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeC_${eyebrowFullness}`);
+						} else if (slave.faceShape === "exotic") {
+							r += jsInclude("Art_Vector_Eyes_TypeE");
+							r += jsInclude("Art_Vector_Mouth_TypeE");
+							r += jsInclude("Art_Vector_Nose_TypeE");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeE_${eyebrowFullness}`);
+						}
+						break;
+					case "indo-aryan":
+						if (slave.faceShape === "normal") {
+							r += jsInclude("Art_Vector_Eyes_TypeE");
+							r += jsInclude("Art_Vector_Mouth_TypeA");
+							r += jsInclude("Art_Vector_Nose_TypeD");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeA_${eyebrowFullness}`);
+						} else if (slave.faceShape === "masculine") {
+							r += jsInclude("Art_Vector_Eyes_TypeF");
+							r += jsInclude("Art_Vector_Mouth_TypeD");
+							r += jsInclude("Art_Vector_Nose_TypeE");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeC_${eyebrowFullness}`);
+						} else if (slave.faceShape === "androgynous") {
+							r += jsInclude("Art_Vector_Eyes_TypeC");
+							r += jsInclude("Art_Vector_Mouth_TypeB");
+							r += jsInclude("Art_Vector_Nose_TypeD");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeF_${eyebrowFullness}`);
+						} else if (slave.faceShape === "cute") {
+							r += jsInclude("Art_Vector_Eyes_TypeC");
+							r += jsInclude("Art_Vector_Mouth_TypeD");
+							r += jsInclude("Art_Vector_Nose_TypeA");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeD_${eyebrowFullness}`);
+						} else if (slave.faceShape === "sensual") {
+							r += jsInclude("Art_Vector_Eyes_TypeA");
+							r += jsInclude("Art_Vector_Mouth_TypeE");
+							r += jsInclude("Art_Vector_Nose_TypeC");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeD_${eyebrowFullness}`);
+						} else if (slave.faceShape === "exotic") {
+							r += jsInclude("Art_Vector_Eyes_TypeA");
+							r += jsInclude("Art_Vector_Mouth_TypeC");
+							r += jsInclude("Art_Vector_Nose_TypeC");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeC_${eyebrowFullness}`);
+						}
+						break;
+					case "mixed race":
+						if (slave.faceShape === "normal") {
+							r += jsInclude("Art_Vector_Eyes_TypeE");
+							r += jsInclude("Art_Vector_Mouth_TypeA");
+							r += jsInclude("Art_Vector_Nose_TypeD");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeA_${eyebrowFullness}`);
+						} else if (slave.faceShape === "masculine") {
+							r += jsInclude("Art_Vector_Eyes_TypeF");
+							r += jsInclude("Art_Vector_Mouth_TypeD");
+							r += jsInclude("Art_Vector_Nose_TypeE");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeC_${eyebrowFullness}`);
+						} else if (slave.faceShape === "androgynous") {
+							r += jsInclude("Art_Vector_Eyes_TypeC");
+							r += jsInclude("Art_Vector_Mouth_TypeB");
+							r += jsInclude("Art_Vector_Nose_TypeD");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeF_${eyebrowFullness}`);
+						} else if (slave.faceShape === "cute") {
+							r += jsInclude("Art_Vector_Eyes_TypeC");
+							r += jsInclude("Art_Vector_Mouth_TypeD");
+							r += jsInclude("Art_Vector_Nose_TypeA");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeD_${eyebrowFullness}`);
+						} else if (slave.faceShape === "sensual") {
+							r += jsInclude("Art_Vector_Eyes_TypeA");
+							r += jsInclude("Art_Vector_Mouth_TypeE");
+							r += jsInclude("Art_Vector_Nose_TypeC");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeD_${eyebrowFullness}`);
+						} else if (slave.faceShape === "exotic") {
+							r += jsInclude("Art_Vector_Eyes_TypeA");
+							r += jsInclude("Art_Vector_Mouth_TypeC");
+							r += jsInclude("Art_Vector_Nose_TypeC");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeC_${eyebrowFullness}`);
+						}
+						break;
+					default:
+						if (slave.faceShape === "normal") {
+							r += jsInclude("Art_Vector_Eyes_TypeB");
+							r += jsInclude("Art_Vector_Mouth_TypeA");
+							r += jsInclude("Art_Vector_Nose_TypeA");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeA_${eyebrowFullness}`);
+						} else if (slave.faceShape === "masculine") {
+							r += jsInclude("Art_Vector_Eyes_TypeD");
+							r += jsInclude("Art_Vector_Mouth_TypeF");
+							r += jsInclude("Art_Vector_Nose_TypeF");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeE_${eyebrowFullness}`);
+						} else if (slave.faceShape === "androgynous") {
+							r += jsInclude("Art_Vector_Eyes_TypeE");
+							r += jsInclude("Art_Vector_Mouth_TypeE");
+							r += jsInclude("Art_Vector_Nose_TypeE");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeF_${eyebrowFullness}`);
+						} else if (slave.faceShape === "cute") {
+							r += jsInclude("Art_Vector_Eyes_TypeB");
+							r += jsInclude("Art_Vector_Mouth_TypeB");
+							r += jsInclude("Art_Vector_Nose_TypeD");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeA_${eyebrowFullness}`);
+						} else if (slave.faceShape === "sensual") {
+							r += jsInclude("Art_Vector_Eyes_TypeC");
+							r += jsInclude("Art_Vector_Mouth_TypeC");
+							r += jsInclude("Art_Vector_Nose_TypeC");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeC_${eyebrowFullness}`);
+						} else if (slave.faceShape === "exotic") {
+							r += jsInclude("Art_Vector_Eyes_TypeA");
+							r += jsInclude("Art_Vector_Mouth_TypeC");
+							r += jsInclude("Art_Vector_Nose_TypeC");
+							if (hasEyebrows === true)
+								r += jsInclude(`Art_Vector_Eyebrow_TypeC_${eyebrowFullness}`);
+						}
+				}
+			}
+		}
+		/* END FACIAL APPEARANCE */
+
+		if (slave.eyebrowPiercing === 1)
+			r += jsInclude("Art_Vector_Eyebrow_Light");
+		else if (slave.eyebrowPiercing === 2)
+			r += jsInclude("Art_Vector_Eyebrow_Heavy");
+
+		if (slave.nosePiercing === 1)
+			r += jsInclude("Art_Vector_Nose_Light");
+		else if (slave.nosePiercing === 2)
+			r += jsInclude("Art_Vector_Nose_Heavy");
+
+		if (slave.lipsPiercing === 1)
+			r += jsInclude("Art_Vector_Lip_Light");
+		else if (slave.lipsPiercing === 2)
+			r += jsInclude("Art_Vector_Lip_Heavy");
+
+		/* ADDONS */
+		if (slave.fuckdoll === 0) { /* fuckdolls cannot be decorated */
+			if (slave.collar === "dildo gag")
+				r += jsInclude("Art_Vector_Dildo_Gag");
+			else if (slave.collar === "ball gag")
+				r += jsInclude("Art_Vector_Ball_Gag");
+			else if (slave.collar === "bit gag")
+				r += jsInclude("Art_Vector_Bit_Gag");
+			else if (slave.collar === "massive dildo gag")
+				r += jsInclude("Art_Vector_Massive_Dildo_Gag");
+			else if (slave.collar === "porcelain mask")
+				r += jsInclude("Art_Vector_Porcelain_Mask");
+
+			if (slave.eyewear === "corrective glasses" || slave.eyewear === "glasses" || slave.eyewear === "blurring glasses")
+				r += jsInclude("Art_Vector_Glasses");
+
+			/* head clothing */
+			switch (slave.clothes) {
+				case "a biyelgee costume":
+				case "a bunny outfit":
+				case "a burkini":
+				case "a burqa":
+				case "a chattel habit":
+				case "a cybersuit":
+				case "a fallen nuns habit":
+				case "a hijab and abaya":
+				case "a hijab and blouse":
+				case "a klan robe":
+				case "a military uniform":
+				case "a mounty outfit":
+				case "a niqab and abaya":
+				case "a penitent nuns habit":
+				case "a police uniform":
+				case "a red army uniform":
+				case "a slutty klan robe":
+				case "a slutty nurse outfit":
+				case "a succubus outfit":
+				case "battlearmor":
+				case "harem gauze":
+				case "Western clothing":
+					r += jsInclude(`Art_Vector_Head_Outfit_${clothing2artSuffix(slave.clothes)}`);
+					break;
+				case "a schutzstaffel uniform":
+				case "a slutty schutzstaffel uniform":
+					r += jsInclude("Art_Vector_Head_Outfit_SchutzstaffelUniform");
+					break;
+				case "kitty lingerie":
+					r += jsInclude("Art_Vector_Cat_Ear_Fore");
+					r += jsInclude("Art_Vector_Cat_Ear_Back");
+			}
+		}
+	}
+
+	function ArtVectorLeg() {
+		/* Selection of matching SVG based on amputee level */
+		if (slave.amp === 0) {
+			r += jsInclude(`Art_Vector_Leg_${legSize}`);
+			if (slave.muscles >= 97)
+				r += jsInclude(`Art_Vector_Leg_${legSize}_MHeavy`);
+			else if (slave.muscles >= 62)
+				r += jsInclude(`Art_Vector_Leg_${legSize}_MMedium`);
+			else if (slave.muscles >= 30)
+				r += jsInclude(`Art_Vector_Leg_${legSize}_MLight`);
+		} else if (slave.amp === 1) {
+			r += jsInclude("Art_Vector_Stump");
+		} else if (slave.PLimb === 1 || slave.PLimb === 2) { /* slave is an amputee and has PLimbs equipped */
+			if (slave.amp === -1)
+				r += jsInclude(`Art_Vector_Leg_ProstheticBasic_${legSize}`);
+			else if (slave.amp === -2)
+				r += jsInclude(`Art_Vector_Leg_ProstheticSexy_${legSize}`);
+			else if (slave.amp === -3)
+				r += jsInclude(`Art_Vector_Leg_ProstheticBeauty_${legSize}`);
+			else if (slave.amp === -4)
+				r += jsInclude(`Art_Vector_Leg_ProstheticCombat_${legSize}`);
+			else /* slave.amp === -5 */
+				r += jsInclude(`Art_Vector_Leg_ProstheticSwiss_${legSize}`);
+		}
+	}
+
+	function ArtVectorPubicHair() {
+		if (slave.fuckdoll !== 0 || slave.clothes !== "a latex catsuit") {
+			if (V.showBodyMods === 1 && slave.vaginaTat === "rude words") {
+				if (slave.dick !== 0)
+					T.art_pussy_tattoo_text = "Useless";
+				else
+					T.art_pussy_tattoo_text = "Fucktoy";
+				r += jsInclude("Art_Vector_Pussy_Tattoo");
+			}
+			if (slave.physicalAge < 11) {
+				/* these art files exist, but draw empty svg's. Commented out for now to save on rendering time
+				r += jsInclude("Art_Vector_Pubic_Hair_None");
+				r += jsInclude("Art_Vector_Pubic_Hair_Underarm_None");
+				*/
+			} else if (slave.physicalAge <= 13) {
+				if (slave.pubicHStyle !== "waxed")
+					r += jsInclude("Art_Vector_Pubic_Hair_Wispy");
+			} else if (slave.clothes !== "a comfortable bodysuit") {
+				switch (slave.pubicHStyle) {
+					case "bald":
+					case "hairless":
+					case "waxed":
+						/* commented out to save on rendering time
+						r += jsInclude("Art_Vector_Pubic_Hair_None");
+						*/
+						break;
+					case "strip":
+					case "in a strip":
+						if (torsoSize === "Obese" || torsoSize === "Fat")
+							r += jsInclude("Art_Vector_Pubic_Hair_StripFat");
+						else
+							r += jsInclude("Art_Vector_Pubic_Hair_Strip");
+						break;
+					case "neat":
+						if (torsoSize === "Obese" || torsoSize === "Fat")
+							r += jsInclude("Art_Vector_Pubic_Hair_NeatFat");
+						else
+							r += jsInclude("Art_Vector_Pubic_Hair_Neat");
+						break;
+					case "bushy in the front and neat in the rear":
+						if (torsoSize === "Obese" || torsoSize === "Fat")
+							r += jsInclude("Art_Vector_Pubic_Hair_BushFat");
+						else
+							r += jsInclude("Art_Vector_Pubic_Hair_Bush");
+						break;
+					case "bushy":
+						if (torsoSize === "Obese" || torsoSize === "Fat")
+							r += jsInclude("Art_Vector_Pubic_Hair_BushyFat");
+						else
+							r += jsInclude("Art_Vector_Pubic_Hair_Bushy");
+						break;
+					case "very bushy":
+						if (torsoSize === "Obese" || torsoSize === "Fat")
+							r += jsInclude("Art_Vector_Pubic_Hair_Very_BushyFat");
+						else
+							r += jsInclude("Art_Vector_Pubic_Hair_Very_Bushy");
+				}
+				switch (slave.underArmHStyle) {
+					case "hairless":
+					case "waxed":
+					case "bald":
+						/* commented out to save on rendering time
+						r += jsInclude("Art_Vector_Pubic_Hair_Underarm_None");
+						*/
+						break;
+					case "shaved":
+						r += jsInclude("Art_Vector_Pubic_Hair_Underarm_Shaved");
+						break;
+					case "neat":
+						r += jsInclude("Art_Vector_Pubic_Hair_Underarm_Neat");
+						break;
+					case "bushy":
+						r += jsInclude("Art_Vector_Pubic_Hair_Underarm_Bushy");
+				}
+			}
+		}
+	}
+
+	function ArtVectorPussy() {
+		if (slave.vagina >= 0 && slave.clothes !== "a latex catsuit" && slave.clothes !== "a comfortable bodysuit" && slave.clothes !== "a cybersuit")
+			r += jsInclude("Art_Vector_Pussy");
+	}
+
+	function ArtVectorPussyPiercings() {
+		switch (slave.clothes) {/* piercings display on these clothes */
+			case "a bra":
+			case "a button-up shirt":
+			case "a chattel habit":
+			case "a comfortable bodysuit":
+			case "a cybersuit":
+			case "a fallen nuns habit":
+			case "a Fuckdoll suit":
+			case "a latex catsuit":
+			case "a monokini":
+			case "a nice pony outfit":
+			case "a penitent nuns habit":
+			case "a Santa dress":
+			case "a skimpy loincloth":
+			case "a slutty pony outfit":
+			case "a sports bra":
+			case "a string bikini":
+			case "a striped bra":
+			case "a succubus outfit":
+			case "a sweater":
+			case "a t-shirt":
+			case "a t-shirt and panties":
+			case "a t-shirt and thong":
+			case "a tank-top":
+			case "a tube top":
+			case "an oversized t-shirt":
+			case "attractive lingerie":
+			case "body oil":
+			case "chains":
+			case "choosing her own clothes":
+			case "no clothing":
+			case "restrictive latex":
+			case "shibari ropes":
+			case "slutty jewelry":
+			case "sport shorts":
+			case "sport shorts and a sports bra":
+			case "sport shorts and a t-shirt":
+			case "uncomfortable straps":
+			case "Western clothing":
+				/* piercinglevel = 1, Light; piercinglevel = 2, Heavy; piercinglevel = 3, Smart; piercinglevel = 0, None */
+				if (slave.vaginaPiercing === 1)
+					r += jsInclude("Art_Vector_Pussy_Piercing");
+				else if (slave.vaginaPiercing === 2)
+					r += jsInclude("Art_Vector_Pussy_Piercing_Heavy");
+
+				if (slave.clitPiercing === 1)
+					r += jsInclude("Art_Vector_Clit_Piercing");
+				else if (slave.clitPiercing === 2)
+					r += jsInclude("Art_Vector_Clit_Piercing_Heavy");
+				else if (slave.clitPiercing === 3)
+					r += jsInclude("Art_Vector_Clit_Piercing_Smart");
+		}
+	}
+
+	function ArtVectorTorso() {
+		r += jsInclude(`Art_Vector_Torso_${torsoSize}`);
+		if (slave.muscles >= 97)
+			r += jsInclude(`Art_Vector_Torso_${torsoSize}_MHeavy`);
+		else if (slave.muscles >= 62)
+			r += jsInclude(`Art_Vector_Torso_${torsoSize}_MMedium`);
+		else if (slave.muscles >= 30)
+			r += jsInclude(`Art_Vector_Torso_${torsoSize}_MLight`);
+	}
+
+	function ArtVectorTorsoOutfit() {
+		/* TODO: latex catsuit should cover vagina and its piercings, too */
+		switch (slave.clothes) {
+			case "a Fuckdoll suit":
+			case "a latex catsuit":
+			case "a nice pony outfit":
+			case "a Santa dress":
+			case "a slutty pony outfit":
+			case "choosing her own clothes":
+			case "no clothing":
+				break; /* no torso outfit */
+			/* manually handle special cases */
+			case "a cybersuit":
+				r += jsInclude(`Art_Vector_Torso_Outfit_Latex_${torsoSize}`);
+				break;
+			case "a slutty schutzstaffel uniform":
+				r += jsInclude(`Art_Vector_Torso_Outfit_SchutzstaffelUniform_${torsoSize}`);
+				break;
+			case "a niqab and abaya":
+			case "a burqa":
+				r += jsInclude(`Art_Vector_Torso_Outfit_HijabAndAbaya_${torsoSize}`);
+				break;
+			default:
+				r += jsInclude(`Art_Vector_Torso_Outfit_${clothing2artSuffix(slave.clothes)}_${torsoSize}`);
+		}
+		if (V.seeVectorArtHighlights === 1) {
+			if (wearingLatex === true) {
+				if (slave.amp !== 0)
+					r += jsInclude("Art_Vector_Torso_Outfit_Shine_Shoulder");
+				if (slave.preg <= 0)
+					r += jsInclude(`Art_Vector_Torso_Outfit_Shine_${torsoSize}`);
+			}
+		}
+	}
+
+	return VectorArt;
+})();
+
+window.LegacyVectorArt = function(slave, artSize) {
+	const filePath = "'resources/vector";
+	const skinFilePath = filePath + "/body/white";
+	const wearingLatex = slave.clothes === "a Fuckdoll suit" || slave.clothes === "restrictive latex" || slave.clothes === "a latex catsuit";
+	let hairStyle, underArmHStyle, leftArmType, rightArmType, buttSize, legSize, shoesType, torsoSize, boobSize, ballSize, penisSize;
+	let needBoobs = true;
+	let r = jsInclude("SVG filters");
+
+	/* Set skin color */
+	let skinFilter = `filter: url(#skin-${_.kebabCase(slave.skin)});`;
+	/* Set hair color */
+	let hairFilter = `filter: url(#hair-${_.kebabCase(slave.hColor)});`;
+	let underArmFilter = `filter: url(#hair-${_.kebabCase(slave.underArmHColor)});`;
+	let pubesFilter = `filter: url(#hair-${_.kebabCase(slave.pubicHColor)});`;
+
+	if (artSize === 1)
+		r += `<img class='paperdoll' src=${filePath}/test ui.svg'/`;
+
+	if (slave.customHairVector)
+		hairStyle = slave.customHairVector;
+	else
+		hairStyle = (["afro", "braided", "bun", "buzzcut", "dreadlocks", "eary", "luxurious", "messy", "neat", "ponytail", "strip", "tails", "trimmed", "up"].includes(slave.hStyle) ? slave.hStyle : "neat");
+
+	underArmHStyle = slave.underArmHStyle;
+
+	/* Shoulder width and arm or no arm */
+	if (slave.amp !== 1) {
+		if (slave.devotion > 50) {
+			leftArmType = "high";
+			rightArmType = "high";
+		} else if (slave.trust >= -20) {
+			if (slave.devotion < -20) {
+				leftArmType = "rebel";
+				rightArmType = "low";
+			} else if (slave.devotion <= 20) {
+				leftArmType = "low";
+				rightArmType = "low";
+			} else {
+				leftArmType = "mid";
+				rightArmType = "high";
+			}
+		} else {
+			leftArmType = "mid";
+			rightArmType = "mid";
+		}
+
+		if (wearingLatex === false) {
+			r += `<img class='paperdoll' src=${skinFilePath}/arm right ${rightArmType}.svg' style='${skinFilter}'>`;
+			if (slave.underArmHStyle === "bushy")
+				r += `<img class='paperdoll' src=${filePath}/hair/underArm ${underArmHStyle} right.svg' style='{underArmFilter}'/>`;
+		} else {
+			if (slave.fuckdoll !== 0)
+				rightArmType = "mid";
+			r += `<img class='paperdoll' src=${filePath}/outfit/arm right ${rightArmType} latex.svg'/>`;
+		}
+	} else if (wearingLatex === false && slave.underArmHStyle === "bushy") {
+			r += `<img class='paperdoll' src=${filePath}/hair/underArm ${underArmHStyle} right.svg' style='{underArmFilter}'/>`;
+	}
+
+	/* Hair Aft */
+	if (slave.fuckdoll === 0) {
+		switch (slave.hStyle) {
+			case "eary":
+			case "luxurious":
+			case "messy":
+			case "neat":
+			case "tails":
+			case "trimmed":
+				r += `<img class='paperdoll' src=${filePath}/hair/${hairStyle} back.svg' style='${hairFilter}'/>`;
+		}
+	}
+
+	/* Tailed Plug */
+	if (slave.buttplugAttachment === "tail")
+		r += `<img class='paperdoll' src=${filePath}/outfit/tail plug.svg' style='${hairFilter}'/>`;
+
+	/* Butt */
+	if (slave.amp !== 1) {
+		if (slave.butt > 6)
+			buttSize = 3;
+		else if (slave.butt > 4)
+			buttSize = 2;
+		else if (slave.butt > 2)
+			buttSize = 1;
+		else
+			buttSize = 0;
+
+		if (wearingLatex === true)
+			r += `<img class='paperdoll' src=${filePath}/outfit/butt ${buttSize} latex.svg' style='${skinFilter}'>`;
+		else
+			r += `<img class='paperdoll' src=${skinFilePath}/butt ${buttSize}.svg' style='${skinFilter}'>`;
+	}
+
+	/* Leg + 1 size up when chubby or fat */
+	if (slave.hips < 0) {
+		if (slave.weight > 95) /* Chubby */
+			legSize = "normal";
+		else
+			legSize = "narrow";
+	} else if (slave.hips === 0) {
+		if (slave.weight > 95) /* Chubby */
+			legSize = "wide";
+		else
+			legSize = "normal";
+	} else {
+		legSize = "wide";
+	}
+	if (slave.amp === 1)
+		legSize = "stump " + legSize;
+
+	if (wearingLatex === true && slave.amp !== 1)
+		r += `<img class='paperdoll' src=${filePath}/outfit/leg ${legSize} latex.svg'/>`;
+	else
+		r += `<img class='paperdoll' src=${skinFilePath}/leg ${legSize}.svg' style='${skinFilter}'>`;
+
+	/* Feet */
+	if (slave.amp !== 1) {
+		if (slave.shoes === "heels") {
+			shoesType = "heel";
+		} else if (slave.shoes === "extreme heels") {
+			if (slave.weight > 95 ) /* Chubby */
+				shoesType = "extreme heel wide";
+			else
+				shoesType = "extreme heel";
+		} else if (slave.shoes === "boots") {
+			if (slave.weight > 95) /* Chubby */
+				shoesType = "boot wide";
+			else
+				shoesType = "boot";
+		} else if (slave.shoes === "flats") {
+			shoesType = "flat";
+		} else {
+			r += `<img class='paperdoll' src=${skinFilePath}/feet.svg' style='${skinFilter}'>`;
+		}
+		if (slave.shoes === "extreme heels" || slave.shoes === "boots") {
+			if (wearingLatex === true)
+				r += `<img class='paperdoll' src=${filePath}/outfit/${shoesType} latex.svg'/>`;
+			else
+				r += `<img class='paperdoll' src=${filePath}/outfit/${shoesType}.svg'/>`;
+		} else if (slave.shoes === "heels" || slave.shoes === "flats") {
+			if (wearingLatex === true)
+				r += `<img class='paperdoll' src=${filePath}/outfit/${shoesType} latex.svg'/>`;
+			else
+				r += `<img class='paperdoll' src=${skinFilePath}/${shoesType}.svg' style='${skinFilter}'>`;
+		}
+	}
+
+	/* Torso */
+	if (slave.waist < -40) {
+		if (slave.weight > 30)
+			torsoSize = "Hourglass";
+		else
+			torsoSize = "Unnatural";
+	} else if (slave.waist <= 10) {
+		if (slave.weight > 30)
+			torsoSize = "Normal";
+		else
+			torsoSize = "Hourglass";
+	} else {
+		torsoSize = "Normal";
+	}
+	r += `<img class='paperdoll' src=${skinFilePath}/torso ${torsoSize}.svg' style='${skinFilter}'>`;
+	if (wearingLatex === true)
+		r += `<img class='paperdoll' src=${filePath}/outfit/torso ${torsoSize} latex.svg'/>`;
+	else if (slave.clothes === "uncomfortable straps")
+		r += `<img class='paperdoll' src=${filePath}/outfit/torso ${torsoSize} straps.svg'/>`;
+
+	if (slave.amp !== 1) {
+		if (wearingLatex === false) {
+			if (leftArmType === "high") {
+				r += `<img class='paperdoll' src=${skinFilePath}/arm left ${leftArmType}.svg' style='${skinFilter}'>`;
+				if (slave.underArmHStyle === "bushy")
+					r += `<img class='paperdoll' src=${filePath}/hair/underArm ${underArmHStyle} left.svg' style='${underArmFilter}'/>`;
+			} else {
+				if (slave.underArmHStyle === "bushy")
+					r += `<img class='paperdoll' src=${filePath}/hair/underArm ${underArmHStyle} left.svg' style='${underArmFilter}'/>`;
+				r += `<img class='paperdoll' src=${skinFilePath}/arm left ${leftArmType}.svg' style='${skinFilter}'>`;
+			}
+			r += `<img class='paperdoll' src=${skinFilePath}/arm left ${leftArmType}.svg' style='${skinFilter}'>`;
+		} else {
+			if (slave.fuckdoll !== 0)
+				leftArmType = "mid";
+			r += `<img class='paperdoll' src=${filePath}/outfit/arm left ${leftArmType} latex.svg'/>`;
+		}
+	} else if (wearingLatex === false && slave.underArmHStyle === "bushy") {
+		r += `<img class='paperdoll' src=${filePath}/hair/underArm ${underArmHStyle} left.svg' style='${underArmFilter}'/>`;
+	}
+
+	/* Vagina */
+	if (slave.vagina >= 0) {
+		r += `<img class='paperdoll' src=${skinFilePath}/vagina.svg' style='${skinFilter}'>`;
+		if (slave.clitPiercing === 1)
+			r += `<img class='paperdoll' src=${filePath}/body/addon/clit piercing.svg'/>`;
+		else if (slave.clitPiercing === 2)
+			r += `<img class='paperdoll' src=${filePath}/body/addon/clit piercing heavy.svg'/>`;
+		else if (slave.clitPiercing === 3)
+			r += `<img class='paperdoll' src=${filePath}/body/addon/clit piercing smart.svg'/>`;
+
+		if (slave.vaginaPiercing === 1)
+			r += `<img class='paperdoll' src=${filePath}/body/addon/pussy piercing.svg'/>`;
+		else if (slave.vaginaPiercing === 2)
+			r += `<img class='paperdoll' src=${filePath}/body/addon/pussy piercing heavy.svg'/>`;
+	}
+
+	/* Collar */
+	switch (slave.collar) {
+		case "nice retirement counter":
+		case "cruel retirement counter":
+		case "leather with cowbell":
+		case "pretty jewelry":
+		case "heavy gold":
+		case "satin choker":
+		case "stylish leather":
+		case "neck corset":
+		case "shock punishment":
+		case "tight steel":
+		case "uncomfortable leather":
+		case "dildo gag":
+			r += `<img class='paperdoll' src=${filePath}/outfit/${slave.collar}.svg'/>`;
+	}
+
+	/* Head base image */
+	if (wearingLatex === true)
+		r += `<img class='paperdoll' src=${filePath}/outfit/head latex.svg'/>`;
+	else
+		r += `<img class='paperdoll' src=${skinFilePath}/head.svg' style='${skinFilter}'>`;
+
+	/* Glasses */
+	if (slave.eyewear === "corrective glasses" || slave.eyewear === "glasses" || slave.eyewear === "blurring glasses")
+		r += `<img class='paperdoll' src=${filePath}/outfit/glasses.svg'/>`;
+
+	/* Chastity belt or Pubic hair */
+	if (slave.chastityPenis === 1 || slave.chastityVagina === 1 || slave.chastityAnus === 1) {
+		if (slave.chastityPenis === 1)
+			r += `<img class='paperdoll' src=${filePath}/outfit/chastity male aft.svg'/>`;
+		if (slave.chastityVagina === 1)
+			r += `<img class='paperdoll' src=${filePath}/outfit/chastity female.svg'/>`;
+		r += `<img class='paperdoll' src=${filePath}/outfit/chastity base.svg'/>`;
+	} else if (slave.pubicHStyle !== "waxed" && slave.pubicHStyle !== "bald" && slave.pubicHStyle !== "hairless") {
+		let pubicHStyle = (slave.pubicHStyle == "in a strip" ? "strip" : slave.pubicHStyle);
+		r += `<img class='paperdoll' src=${filePath}/hair/pubes ${pubicHStyle}.svg' style='${pubesFilter}'/>`;
+	}
+
+	/* if pregnant or has a belly */
+	if (slave.belly >= 5000) {
+		r += `<img class='paperdoll' src=${skinFilePath}/preg belly 5000.svg' style='${skinFilter}'>`;
+		if (slave.navelPiercing >= 1) /*Navel Piercing*/
+			r += `<img class='paperdoll' src=${filePath}/body/addon/preg navel piercing.svg'/>`;
+		if (slave.navelPiercing === 2)
+			r += `<img class='paperdoll' src=${filePath}/body/addon/preg navel piercing heavy.svg'/>`;
+	} else if (slave.belly <= -100) { /* condition is currently reversed until the vector can be fixed */
+		r += `<img class='paperdoll' src=${skinFilePath}/preg belly 100.svg' style='${skinFilter}'>`;
+		/*
+		if (slave.navelPiercing >= 1)/Navel Piercing/
+			r += `<img class='paperdoll' src=${filePath}/body/addon/preg navel piercing.svg'/>`;
+		if (slave.navelPiercing === 2)
+			r += `<img class='paperdoll' src=${filePath}/body/addon/preg navel piercing heavy.svg'/>`;
+		*/
+	} else {
+		if (slave.navelPiercing >= 1) /*Navel Piercing*/
+			r += `<img class='paperdoll' src=${filePath}/body/addon/navel piercing.svg'/>`;
+		if (slave.navelPiercing === 2)
+			r += `<img class='paperdoll' src=${filePath}/body/addon/navel piercing heavy.svg'/>`;
+	}
+
+	/* Boob */
+	if (slave.boobs < 300)
+		boobSize = 0;
+	else if (slave.boobs < 500)
+		boobSize = 1;
+	else if (slave.boobs < 800)
+		boobSize = 2;
+	else if (slave.boobs < 1600)
+		boobSize = 3;
+	else if (slave.boobs < 3200)
+		boobSize = 4;
+	else if (slave.boobs < 6400)
+		boobSize = 5;
+	else if (slave.boobs < 12000)
+		boobSize = 6;
+	else
+		boobSize = 7;
+
+	/* Scrotum */
+	if (slave.scrotum > 0) {
+		if (slave.scrotum >= 6)
+			ballSize = 4;
+		else if (slave.scrotum >= 4)
+			ballSize = 3;
+		else if (slave.scrotum >= 3)
+			ballSize = 2;
+		else if (slave.scrotum >= 2)
+			ballSize = 1;
+		else
+			ballSize = 0;
+	}
+
+	/* Penis */
+	if (slave.dick > 0) {
+		if (slave.dick >= 8)
+			penisSize = 6;
+		else if (slave.dick >= 7)
+			penisSize = 5;
+		else if (slave.dick >= 6)
+			penisSize = 4;
+		else if (slave.dick >= 5)
+			penisSize = 3;
+		else if (slave.dick >= 4)
+			penisSize = 2;
+		else if (slave.dick >= 2)
+			penisSize = 1;
+		else
+			penisSize = 0;
+	}
+
+	/* Boob */
+	if (slave.dick > 0) {
+		if (canAchieveErection(slave)) {
+			if (boobSize < 6) {
+				if (wearingLatex === true) {
+					/* normal case: outfit hides boobs */
+					r += `<img class='paperdoll' src=${filePath}/outfit/boob ${boobSize} latex.svg'/>`;
+					if (slave.lactation > 0)
+						r += `<img class='paperdoll' src=${skinFilePath}/boob ${boobSize} areola.svg' style='${skinFilter}'>`;
+				} else {
+					r += `<img class='paperdoll' src=${skinFilePath}/boob ${boobSize}.svg' style='${skinFilter}'>`;
+					r += `<img class='paperdoll' src=${skinFilePath}/boob ${boobSize} areola.svg' style='${skinFilter}'>`;
+				}
+				/* special case: straps are actually dawn over the boobs */
+				if (slave.clothes === "uncomfortable straps")
+					r += `<img class='paperdoll' src=${filePath}/outfit/boob ${boobSize} straps.svg'/>`;
+
+				needBoobs = false;
+			}
+		}
+	}
+	if (slave.vagina > 0) {
+		if (slave.dick > 0) {
+			r += '<div class="highPenis">';
+			if (slave.scrotum > 0) 
+				r += `<img class='paperdoll' src=${skinFilePath}/ball ${ballSize}.svg' style='${skinFilter}'>`;
+			if (canAchieveErection(slave)) {
+				r += `<img class='paperdoll' src=${skinFilePath}/penis ${penisSize}.svg' style='${skinFilter}'>`;
+			} else {
+				r += `<img class='paperdoll' src=${skinFilePath}/flaccid ${penisSize}.svg' style='${skinFilter}'>`;
+				if (slave.chastityPenis === 1)
+					r += `<img class='paperdoll' src=${filePath}/outfit/chastity male fore ${penisSize}.svg'/>`;
+			}
+			r += '</div>';
+		}
+	} else {
+		if (slave.dick > 0) {
+			r += '<div class="lowPenis">';
+			if (slave.scrotum > 0) 
+				r += `<img class='paperdoll' src=${skinFilePath}/ball ${ballSize}.svg' style='${skinFilter}'>`;
+			if (canAchieveErection(slave)) {
+				r += `<img class='paperdoll' src=${skinFilePath}/penis ${penisSize}.svg' style='${skinFilter}'>`;
+			} else {
+				r += `<img class='paperdoll' src=${skinFilePath}/flaccid ${penisSize}.svg' style='${skinFilter}'>`;
+				if (slave.chastityPenis === 1)
+					r += `<img class='paperdoll' src=${filePath}/outfit/chastity male fore ${penisSize}.svg'/>`;
+			}
+			r += '</div>';
+		}
+	}
+	if (needBoobs === true) {
+		if (wearingLatex === true) {
+			r += `<img class='paperdoll' src=${filePath}/outfit/boob ${boobSize} latex.svg'/>`;
+			if (slave.lactation > 0)
+				r += `<img class='paperdoll' src=${skinFilePath}/boob ${boobSize} areola.svg' style='${skinFilter}'>`;
+		} else {
+			r += `<img class='paperdoll' src=${skinFilePath}/boob ${boobSize}.svg' style='${skinFilter}'>`;
+			r += `<img class='paperdoll' src=${skinFilePath}/boob ${boobSize} areola.svg' style='${skinFilter}'>`;
+		}
+		/* special case: straps are actually dawn over the boobs */
+		if (slave.clothes === "uncomfortable straps")
+			r += `<img class='paperdoll' src=${filePath}/outfit/boob ${boobSize} straps.svg'/>`;
+	}
+
+	/* piercings */
+	if (slave.nipplesPiercing === 1)
+		r += `<img class='paperdoll' src=${filePath}/body/addon/boob ${boobSize} piercing.svg'/>`;
+	else if (slave.nipplesPiercing === 2)
+		r += `<img class='paperdoll' src=${filePath}/body/addon/boob ${boobSize} piercing heavy.svg'/>`;
+
+	if (slave.areolaePiercing === 1)
+		r += `<img class='paperdoll' src=${filePath}/body/addon/boob ${boobSize} areola piercing.svg'/>`;
+
+	/* clavicle */
+	r += `<img class='paperdoll' src=${filePath}/body/addon/clavicle.svg'/>`;
+
+	/* Hair Foreground */
+	if (slave.hStyle !== "shaved" && slave.fuckdoll === 0)
+		r += `<img class='paperdoll' src=${filePath}/hair/${hairStyle} front.svg' style='${hairFilter}'/>`;
+
+	return r;
+};
diff --git a/src/art/vector_revamp/Vector_Revamped_Control_.tw b/src/art/vector_revamp/Vector_Revamped_Control_.tw
deleted file mode 100644
index db73476bb2b1b8b5ae6d07008596671401d1f83b..0000000000000000000000000000000000000000
--- a/src/art/vector_revamp/Vector_Revamped_Control_.tw
+++ /dev/null
@@ -1,33 +0,0 @@
-:: Art_Vector_Revamped_Control_ [nobr]
-
-<<if ndef $seeVectorArtHighlights>>
-	<<set $seeVectorArtHighlights = 1>>
-<</if>>
-
-<<set _artSlave = $args[0] >>
-
-<<if _art_display_id > 0 >>
-	<<set _art_display_id += 1>>
-<<else>>
-	<<set _art_display_id = 1>>
-<</if>>
-<<set _art_display_class = "ad"+_art_display_id >>
-
-/*Using JS from vectorRevampedArtControl.tw*/
-
-<<set _revampedVectorArtControl = getVectorArtRevampedControl(_art_display_class, _artSlave, $seeVectorArtHighlights, $showBodyMods)>>
-
-<<print "<style>" + _revampedVectorArtControl.StylesCss + "</style>" >>
-<<set _revampedArtLayers = _revampedVectorArtControl.Layers>>
-<<set _art_transform = _revampedVectorArtControl.artTransform>>
-<<set _boob_right_art_transform = _revampedVectorArtControl.boobRightArtTransform>>
-<<set _boob_left_art_transform = _revampedVectorArtControl.boobLeftArtTransform>>
-
-<<set _boob_outfit_art_transform = _revampedVectorArtControl.boobOutfitArtTransform>>
-
-<<set _art_pussy_tattoo_text = _revampedVectorArtControl.pubicTattooText >>
-<<set _artString = "">>
-<<run _revampedArtLayers.forEach(function(s) { _artString += jsInclude(s); })>>
-<<print _artString>>
-
-<<unset _art_transform>>
\ No newline at end of file
diff --git a/src/art/vector_revamp/vectorRevampedArtControl.js b/src/art/vector_revamp/vectorRevampedArtControl.js
index 82e8a4978e4e97f86ae5913ec18c043c0e6551aa..08722ac290b877e5589e4c8a791922087c3378ab 100644
--- a/src/art/vector_revamp/vectorRevampedArtControl.js
+++ b/src/art/vector_revamp/vectorRevampedArtControl.js
@@ -1,3 +1,34 @@
+window.RevampedVectorArt = function(slave) {
+	const V = State.variables;
+	const T = State.temporary;
+	let r;
+
+	if (T.art_display_id > 0)
+		T.art_display_id++;
+	else
+		T.art_display_id = 1;
+	T.art_display_class = `ad${T.art_display_id}`;
+	
+	/*Using JS from vectorRevampedArtControl.tw*/
+	T.revampedVectorArtControl = getVectorArtRevampedControl(T.art_display_class, slave, V.seeVectorArtHighlights, V.showBodyMods)
+
+	r = `<style>${T.revampedVectorArtControl.StylesCss}</style>`;
+	T.revampedArtLayers = T.revampedVectorArtControl.Layers;
+	T.art_transform = T.revampedVectorArtControl.artTransform;
+	T.boob_right_art_transform = T.revampedVectorArtControl.boobRightArtTransform;
+	T.boob_left_art_transform = T.revampedVectorArtControl.boobLeftArtTransform;
+	T.boob_outfit_art_transform = T.revampedVectorArtControl.boobOutfitArtTransform;
+	T.art_pussy_tattoo_text = T.revampedVectorArtControl.pubicTattooText;
+
+	T.revampedArtLayers.forEach(function(s) { r += jsInclude(s); });
+
+	return r;
+}
+
+window.getVectorArtRevampedControl = function(artDisplayClass, artSlave, globalShowHighlights, globalShowBodyMods) {
+	return new RevampedArtControl(artDisplayClass, artSlave, globalShowHighlights, globalShowBodyMods);
+};
+
 class ArtStyleEntry {
 	constructor(name) {
 		this.name = name;
@@ -1168,7 +1199,7 @@ class RevampedArtControl {
 		if (!this.showPenis || penisSize < 0)
 			return result;
 
-		if (canAchieveErection(this.artSlave) && (this.artSlave.chastityPenis != 1)
+		if (canAchieveErection(this.artSlave) && (this.artSlave.chastityPenis != 1))
 		{
 			result.push("Art_Vector_Revamp_Penis_" + penisSize);
 
@@ -1184,7 +1215,7 @@ class RevampedArtControl {
 		{
 			result.push("Art_Vector_Revamp_Flaccid_" + penisSize);
 
-			if (this.artSlave.dickAccessory == chastityPenis) {
+			if (this.artSlave.chastityPenis == 1) {
 				result.push("Art_Vector_Revamp_Chastity_Cage_" + penisSize);
 			}
 		}
@@ -1706,7 +1737,3 @@ class RevampedArtControl {
 		return layers;
 	}
 }
-
-window.getVectorArtRevampedControl = function(artDisplayClass, artSlave, globalShowHighlights, globalShowBodyMods) {
-	return new RevampedArtControl(artDisplayClass, artSlave, globalShowHighlights, globalShowBodyMods);
-};
diff --git a/src/cheats/mod_EditChildCheatNew.tw b/src/cheats/mod_EditChildCheatNew.tw
index 3ec29edec47dd73fbcc94a44f9ad138164425922..f94ce92d74def5ebeba3618ed294f862a6bc3f73 100644
--- a/src/cheats/mod_EditChildCheatNew.tw
+++ b/src/cheats/mod_EditChildCheatNew.tw
@@ -1,6 +1,7 @@
 :: MOD_Edit Child Cheat New [nobr]
 
 <<set $nextButton = "Continue", $nextLink = "MOD_Edit Child Cheat Datatype Cleanup New", $tempSlave = clone($activeSlave)>>
+<<setLocalPronouns $tempSlave>>
 
 <<widget COptions>>
 	<<link "[$args[0]]">>
@@ -103,7 +104,7 @@
 
 <<widget NameTab>>
 	<br>''Legal status:''<br>
-	<br>''She is your Slave since Week @@.yellow;$tempSlave.weekAcquired@@ ''<br>
+	<br>''$He is your Slave since Week @@.yellow;$tempSlave.weekAcquired@@ ''<br>
 	<<textbox "$tempSlave.weekAcquired" $tempSlave.weekAcquired>>
 	<br>
 	<br>''Birth Name: ( [first Name] [Surname] 0 for no Surname)''<br>
@@ -858,7 +859,7 @@
 	<<radiobutton "$tempSlave.markings" "birthmark">> Birth Mark
 	<br><br>
 
-	''Her hearing is :''
+	''$His hearing is :''
 	<<switch $tempSlave.hears>>
 	<<case -2>>@@.yellow;Deaf@@
 	<<case -1>>@@.yellow;Hard Of Hearing@@
@@ -897,11 +898,11 @@
 	<br>
 	<<switch $tempSlave.hStyle>>
 	<<case "tails" "dreadlocks" "curled" "cornrows">>
-	''Her hair is in @@.yellow;$tempSlave.hStyle@@''
+	''$His hair is in @@.yellow;$tempSlave.hStyle@@''
 	<<case "ponytail">>
-	''Her hair is in a @@.yellow;$tempSlave.hStyle@@''
+	''$His hair is in a @@.yellow;$tempSlave.hStyle@@''
 	<<default>>
-	''Her hair is @@.yellow;$tempSlave.hStyle@@''
+	''$His hair is @@.yellow;$tempSlave.hStyle@@''
 	<</switch>>
 	Custom hair description: <<textbox "$tempSlave.hStyle" $tempSlave.hStyle>>
 	<br>
@@ -926,7 +927,7 @@
 	<<radiobutton "$tempSlave.hStyle" "strip">> Strip
 
 	<br><br>
-	Her hair is currently ''@@.yellow;$tempSlave.hColor@@'' in color
+	$His hair is currently ''@@.yellow;$tempSlave.hColor@@'' in color
 	<<link "Hair Colors">>
 		<<if (ndef _hcol1R) || (_hcol1R == 0) >>
 			<<replace "#hcol1">>
@@ -973,7 +974,7 @@
 	<br>
 	//For best results, use a short, uncapitalized and unpunctuated description; for example: 'black with purple highlights'//
 	<br>
-	''Her original haircolor is @@.yellow;$tempSlave.origHColor@@''
+	''$His original haircolor is @@.yellow;$tempSlave.origHColor@@''
 	<<link "Hair Colors">>
 		<<if (ndef _hcol2R) || (_hcol2R == 0) >>
 			<<replace "#hcol2">>
@@ -1018,7 +1019,7 @@
 	<span id=hcol2></span>
 	<br>Custom hair color: <<textbox "$tempSlave.origHColor" $tempSlave.origHColor>>
 	<br><br>
-	''Her eyebrows are @@.yellow;$tempSlave.eyebrowHColor@@ in color''
+	''$His eyebrows are @@.yellow;$tempSlave.eyebrowHColor@@ in color''
 	<<link "Hair Colors">>
 		<<if (ndef _hcol5R) || (_hcol5R == 0) >>
 			<<replace "#hcol5">>
@@ -1085,7 +1086,7 @@
 	<<radiobutton "$tempSlave.eyebrowFullness" "thick">> Thick
 	<<radiobutton "$tempSlave.eyebrowFullness" "bushy">> Bushy
 	<br>
-	''Her pubic hair is @@.yellow;$tempSlave.pubicHColor@@ in color''
+	''$His pubic hair is @@.yellow;$tempSlave.pubicHColor@@ in color''
 	<<link "Hair Colors">>
 		<<if (ndef _hcol3R) || (_hcol3R == 0) >>
 			<<replace "#hcol3">>
@@ -1139,7 +1140,7 @@
 	<<radiobutton "$tempSlave.pubicHStyle" "bushy">> Bushy
 	<<radiobutton "$tempSlave.pubicHStyle" "very bushy">> Very Bushy
 	<br>
-	''Her underarm hair is @@.yellow;$tempSlave.underArmHColor@@ in color''
+	''$His underarm hair is @@.yellow;$tempSlave.underArmHColor@@ in color''
 		<<link "Hair Colors">>
 		<<if (ndef _hcol4R) || (_hcol4R == 0) >>
 			<<replace "#hcol4">>
@@ -1196,7 +1197,7 @@
 
 <<widget EyesTab>>
 	<br>
-	''Her eyes are currently @@.yellow;$tempSlave.eyeColor@@ in color''
+	''$His eyes are currently @@.yellow;$tempSlave.eyeColor@@ in color''
 	<<link "Eye Colors">>
 		<<if (ndef _ecol1R) || (_ecol1R == 0) >>
 			<<replace "#ecol1">>
@@ -1224,7 +1225,7 @@
 	<span id=ecol1></span>
 	<br>Custom eye color: <<textbox "$tempSlave.eyeColor" $tempSlave.eyeColor>>
 	<br><br>
-	''Her original eyecolor is @@.yellow;$tempSlave.origEye@@''
+	''$His original eyecolor is @@.yellow;$tempSlave.origEye@@''
 	<<link "Eye Colors">>
 		<<if (ndef _ecol2R) || (_ecol2R == 0) >>
 			<<replace "#ecol2">>
@@ -1253,7 +1254,7 @@
 	<br>Custom eye color: <<textbox "$tempSlave.origEye" $tempSlave.origEye>>
 	<<radiobutton "$tempSlave.origEye" "implant">> Artificial Eyes
 	<br><br>
-	''Her pupils are @@.yellow;$tempSlave.pupil@@ in shape''
+	''$His pupils are @@.yellow;$tempSlave.pupil@@ in shape''
 	<<link "Pupil Shape">>
 		<<if (ndef _ppilR) || (_ppilR == 0) >>
 			<<replace "#ppil">>
@@ -1283,7 +1284,7 @@
 	<span id=ppil></span>
 	<br>Custom pupil shape: <<textbox "$tempSlave.pupil" $tempSlave.pupil>>
 	<br><br>
-	''Her sclerae are @@.yellow;$tempSlave.sclerae@@ in color''
+	''$His sclerae are @@.yellow;$tempSlave.sclerae@@ in color''
 	<<link "Sclera Colors">>
 		<<if (ndef _sclrR) || (_sclrR == 0) >>
 			<<replace "#sclr">>
@@ -1311,7 +1312,7 @@
 	<span id=sclr></span>
 	<br>Custom sclera color: <<textbox "$tempSlave.sclerae" $tempSlave.sclerae>>
 	<br><br>
-	''Her vision is :''
+	''$His vision is :''
 	<<switch $tempSlave.eyes>>
 	<<case -2>>@@.yellow;Blind@@
 	<<case -1>>@@.yellow;Nearsighted@@
@@ -2425,17 +2426,17 @@
 <</widget>>
 
 <<widget PrestTab>>
-	''Change her custom tattoo:'' <<textbox "$tempSlave.customTat" $tempSlave.customTat>>
+	''Change $his custom tattoo:'' <<textbox "$tempSlave.customTat" $tempSlave.customTat>>
 	<br>
 	//For best results, use complete, capitalized and punctuated sentences; for example: 'She has blue stars tattooed along her cheekbones, and a blue arrow down each arm.'//
 
 	<br>
-	''Change her custom description:'' <<textbox "$tempSlave.customDesc" $tempSlave.customDesc>>
+	''Change $his custom description:'' <<textbox "$tempSlave.customDesc" $tempSlave.customDesc>>
 	<br>
 	//For best results, use complete, capitalized and punctuated sentences; for example: 'She has a beauty mark above her left nipple.'//
 
 	<br>
-	''Change her custom label:'' <<textbox "$tempSlave.customLabel" $tempSlave.customLabel>>
+	''Change $his custom label:'' <<textbox "$tempSlave.customLabel" $tempSlave.customLabel>>
 	<br>
 	//For best results, use a short phrase; for example: 'Breeder.'//
 	<br>
@@ -2717,9 +2718,9 @@
 	''Branding: ''<<link "[No Branding]">><<set $tempSlave.brand =0>><<set $tempSlave.brandLocation = 0>><</link>>
 	<br>
 	<<if $tempSlave.brand == 0>>
-		''She has no Branding''
+		''$He has no Branding''
 	<<else>>
-		''@@.yellow;She has $tempSlave.brand branded onto her <<if $tempSlave.brandLocation == 0>>@@.red;[NEEDS TO BE SET]<<else>> $tempSlave.brandLocation @@<</if>>''
+		''@@.yellow;$He has $tempSlave.brand branded onto $his <<if $tempSlave.brandLocation == 0>>@@.red;[NEEDS TO BE SET]<<else>> $tempSlave.brandLocation @@<</if>>''
 	<</if>>
 	<br><br>
 	''Branding Location:''
@@ -2816,23 +2817,23 @@
 	<br>
 	<<link "[a devil silhouette]">><<set $tempSlave.brand = "a devil silhouette">><</link>><<print " | ">>
 	<<link "[a racial slur]">><<set $tempSlave.brand = "a racial slur">><</link>><<print " | ">>
-	<<link "[the number of children she has birthed]">><<set $tempSlave.brand = "the number of children "+$he+" has birthed">><</link>><<print " | ">>
+	<<link "[the number of children $he has birthed]">><<set $tempSlave.brand = "the number of children "+$he+" has birthed">><</link>><<print " | ">>
 	<<link "[a gender symbol]">><<set $tempSlave.brand = "a gender symbol">><</link>><<print " | ">>
-	<<link "[her own personal symbol]">><<set $tempSlave.brand = $his+" own personal symbol">><</link>><<print " | ">>
+	<<link "[$his own personal symbol]">><<set $tempSlave.brand = $his+" own personal symbol">><</link>><<print " | ">>
 	<br>
 	<<link "[a chain symbol]">><<set $tempSlave.brand = "a chain symbol">><</link>><<print " | ">>
 	<<link "[a Vitruvian man]">><<set $tempSlave.brand = "a Vitruvian man">><</link>><<print " | ">>
 	<<link "[a scalpel]">><<set $tempSlave.brand = "a scalpel">><</link>><<print " | ">>
-	<<link "[her virginity status]">><<set $tempSlave.brand = $his+" virginity status">><</link>><<print " | ">>
-	<<link "[her sexual skills]">><<set $tempSlave.brand = $his+" sexual skills">><</link>>
+	<<link "[$his virginity status]">><<set $tempSlave.brand = $his+" virginity status">><</link>><<print " | ">>
+	<<link "[$his sexual skills]">><<set $tempSlave.brand = $his+" sexual skills">><</link>>
 	<br>
-	<<link "[her absolute minimum breast size]">><<set $tempSlave.brand = $his+" absolute minimum breast size">><</link>><<print " | ">>
-	<<link "[her absolute maximum breast size]">><<set $tempSlave.brand = $his+" absolute maximum breast size">><</link>><<print " | ">>
-	<<link "[her highest weigh-in]">><<set $tempSlave.brand = $his+" highest weigh-in">><</link>><<print " | ">>
+	<<link "[$his absolute minimum breast size]">><<set $tempSlave.brand = $his+" absolute minimum breast size">><</link>><<print " | ">>
+	<<link "[$his absolute maximum breast size]">><<set $tempSlave.brand = $his+" absolute maximum breast size">><</link>><<print " | ">>
+	<<link "[$his highest weigh-in]">><<set $tempSlave.brand = $his+" highest weigh-in">><</link>><<print " | ">>
 	<<link "[a big helping of your personal refreshment]">><<set $tempSlave.brand = "a big helping of "+$PC.refreshment >><</link>><<print " | ">>
-	<<link "[her body product quality]">><<set $tempSlave.brand = $his+" body product quality">><</link>>
+	<<link "[$his body product quality]">><<set $tempSlave.brand = $his+" body product quality">><</link>>
 	<br>
-	<<link "[her deadlift record]">><<set $tempSlave.brand = $his+" deadlift record">><</link>><<print " | ">>
+	<<link "[$his deadlift record]">><<set $tempSlave.brand = $his+" deadlift record">><</link>><<print " | ">>
 	<<link "[a religious symbol]">><<set $tempSlave.brand = "a religious symbol">><</link>><<print " | ">>
 	<<link "[the crest of your Republic]">><<set $tempSlave.brand = "the crest of your Republic">><</link>><<print " | ">>
 	<<link "[the symbol of the Aztec gods]">><<set $tempSlave.brand = "the symbol of the Aztec gods">><</link>><<print " | ">>
diff --git a/src/cheats/mod_EditSlaveCheat.tw b/src/cheats/mod_EditSlaveCheat.tw
index ed6f87a20068fe812f18fdfb08b53324722d0a86..5503da7a79f4b318b1c3497305ac4b79c6cb7f7e 100644
--- a/src/cheats/mod_EditSlaveCheat.tw
+++ b/src/cheats/mod_EditSlaveCheat.tw
@@ -252,11 +252,11 @@
 
 <<switch $tempSlave.hStyle>>
 <<case "tails" "dreadlocks" "cornrows">>
-''Her hair is in $tempSlave.hStyle''
+''$His hair is in $tempSlave.hStyle''
 <<case "ponytail">>
-''Her hair is in a $tempSlave.hStyle''
+''$His hair is in a $tempSlave.hStyle''
 <<default>>
-''Her hair is $tempSlave.hStyle''
+''$His hair is $tempSlave.hStyle''
 <</switch>>
 Custom hair description: <<textbox "$tempSlave.hStyle" $tempSlave.hStyle>>
 <br>
@@ -267,17 +267,17 @@ Custom hair description: <<textbox "$tempSlave.hStyle" $tempSlave.hStyle>>
 Custom hair length: <<textbox "$tempSlave.hLength" $tempSlave.hLength>>
 
 <br>
-''Her hair is $tempSlave.hColor in color''
+''$His hair is $tempSlave.hColor in color''
 Custom hair color: <<textbox "$tempSlave.hColor" $tempSlave.hColor>>
 <br>
 //For best results, use a short, uncapitalized and unpunctuated description; for example: 'black with purple highlights', also see [[Dyes|Encyclopedia][$encyclopedia = "Dyes"]]//
 
 <br>
-''Her eyebrows are $tempSlave.eyebrowHColor in color''
+''$His eyebrows are $tempSlave.eyebrowHColor in color''
 Custom eyebrow hair color: <<textbox "$tempSlave.eyebrowHColor" $tempSlave.eyebrowHColor>>
 
 <br>
-''Her pubic hair is $tempSlave.pubicHColor in color''
+''$His pubic hair is $tempSlave.pubicHColor in color''
 Custom pubic hair color: <<textbox "$tempSlave.pubicHColor" $tempSlave.pubicHColor>>
 
 <br>
@@ -294,28 +294,28 @@ Custom pubic hair color: <<textbox "$tempSlave.pubicHColor" $tempSlave.pubicHCol
 <br><br>
 
 <br>
-''Her armpit hair is $tempSlave.underArmHColor in color''
+''$His armpit hair is $tempSlave.underArmHColor in color''
 Custom armpit hair color: <<textbox "$tempSlave.underArmHColor" $tempSlave.underArmHColor>>
 
 <br>
 
-''Her eyes are currently $tempSlave.eyeColor in color''
+''$His eyes are currently $tempSlave.eyeColor in color''
 Custom eye color: <<textbox "$tempSlave.eyeColor" $tempSlave.eyeColor>>
 
 <br>
-''Her eyes are originally $tempSlave.origEye in color''
+''$His eyes are originally $tempSlave.origEye in color''
 Custom eye color: <<textbox "$tempSlave.origEye" $tempSlave.origEye>>
 
 <br>
-''Her pupils are $tempSlave.pupil in shape''
+''$His pupils are $tempSlave.pupil in shape''
 Custom pupil shape: <<textbox "$tempSlave.pupil" $tempSlave.pupil>>
 
 <br>
-''Her sclerae are $tempSlave.sclerae in color''
+''$His sclerae are $tempSlave.sclerae in color''
 Custom sclera color: <<textbox "$tempSlave.sclerae" $tempSlave.sclerae>>
 
 <br>
-''Her vision is (-1: nearsighted, 1: normal): $tempSlave.eyes''
+''$His vision is (-1: nearsighted, 1: normal): $tempSlave.eyes''
 <br>Eyes: <<textbox "$tempSlave.eyes" $tempSlave.eyes>>
 <<radiobutton "$tempSlave.eyes" 1>> Normal
 <<radiobutton "$tempSlave.eyes" -1>> Nearsighted
@@ -325,7 +325,7 @@ Custom sclera color: <<textbox "$tempSlave.sclerae" $tempSlave.sclerae>>
 
 <br><br>
 
-''Her hearing is (-1: impaired, 0: normal): $tempSlave.hears''
+''$His hearing is (-1: impaired, 0: normal): $tempSlave.hears''
 <br>Ears: <<textbox "$tempSlave.hears" $tempSlave.hears>>
 <<radiobutton "$tempSlave.hears" 0>> Normal
 <<radiobutton "$tempSlave.hears" -1>> Hard Of Hearing
@@ -335,17 +335,17 @@ Custom sclera color: <<textbox "$tempSlave.sclerae" $tempSlave.sclerae>>
 
 <br><br>
 
-''Change her custom tattoo:'' <<textbox "$tempSlave.customTat" $tempSlave.customTat>>
+''Change $his custom tattoo:'' <<textbox "$tempSlave.customTat" $tempSlave.customTat>>
 <br>
 //For best results, use complete, capitalized and punctuated sentences; for example: 'She has blue stars tattooed along her cheekbones, and a blue arrow down each arm.'//
 
 <br>
-''Change her custom description:'' <<textbox "$tempSlave.customDesc" $tempSlave.customDesc>>
+''Change $his custom description:'' <<textbox "$tempSlave.customDesc" $tempSlave.customDesc>>
 <br>
 //For best results, use complete, capitalized and punctuated sentences; for example: 'She has a beauty mark above her left nipple.'//
 
 <br>
-''Change her custom label:'' <<textbox "$tempSlave.customLabel" $tempSlave.customLabel>>
+''Change $his custom label:'' <<textbox "$tempSlave.customLabel" $tempSlave.customLabel>>
 <br>
 //For best results, use a short phrase; for example: 'Breeder.'//
 
diff --git a/src/cheats/mod_editSlaveCheatNew.tw b/src/cheats/mod_editSlaveCheatNew.tw
index 639243384d4179c5c6de7738c565a2e35f970fe3..9fe1e9186602835eb762a601c12d237100ee294d 100644
--- a/src/cheats/mod_editSlaveCheatNew.tw
+++ b/src/cheats/mod_editSlaveCheatNew.tw
@@ -126,7 +126,7 @@
 		<</replace>>
 	<</link>>
 	<span id="indstat"></span><br>
-	<br>''She is your Slave since Week @@.yellow;$tempSlave.weekAcquired@@ ''<br>
+	<br>''$He is your Slave since Week @@.yellow;$tempSlave.weekAcquired@@ ''<br>
 	<<textbox "$tempSlave.weekAcquired" $tempSlave.weekAcquired>>
 	<br>
 	<br>''Birth Name: ( [first Name] [Surname] 0 for no Surname)''<br>
@@ -1451,7 +1451,7 @@
 	<<radiobutton "$tempSlave.markings" "birthmark">> Birth Mark
 	<br><br>
 
-	''Her hearing is :''
+	''$His hearing is :''
 	<<switch $tempSlave.hears>>
 	<<case -2>>@@.yellow;Deaf@@
 	<<case -1>>@@.yellow;Hard Of Hearing@@
@@ -1521,11 +1521,11 @@
 	<br>
 	<<switch $tempSlave.hStyle>>
 	<<case "tails" "dreadlocks" "curled" "cornrows">>
-	''Her hair is in @@.yellow;$tempSlave.hStyle@@''
+	''$His hair is in @@.yellow;$tempSlave.hStyle@@''
 	<<case "ponytail">>
-	''Her hair is in a @@.yellow;$tempSlave.hStyle@@''
+	''$His hair is in a @@.yellow;$tempSlave.hStyle@@''
 	<<default>>
-	''Her hair is @@.yellow;$tempSlave.hStyle@@''
+	''$His hair is @@.yellow;$tempSlave.hStyle@@''
 	<</switch>>
 	Custom hair description: <<textbox "$tempSlave.hStyle" $tempSlave.hStyle>>
 	<br>
@@ -1550,7 +1550,7 @@
 	<<radiobutton "$tempSlave.hStyle" "strip">> Strip
 
 	<br><br>
-	Her hair is currently ''@@.yellow;$tempSlave.hColor@@'' in color
+	$His hair is currently ''@@.yellow;$tempSlave.hColor@@'' in color
 	<<link "Hair Colors">>
 		<<if (ndef _hcol1R) || (_hcol1R == 0) >>
 			<<replace "#hcol1">>
@@ -1597,7 +1597,7 @@
 	<br>
 	//For best results, use a short, uncapitalized and unpunctuated description; for example: 'black with purple highlights'//
 	<br>
-	''Her original haircolor is @@.yellow;$tempSlave.origHColor@@''
+	''$His original haircolor is @@.yellow;$tempSlave.origHColor@@''
 	<<link "Hair Colors">>
 		<<if (ndef _hcol2R) || (_hcol2R == 0) >>
 			<<replace "#hcol2">>
@@ -1642,7 +1642,7 @@
 	<span id=hcol2></span>
 	<br>Custom hair color: <<textbox "$tempSlave.origHColor" $tempSlave.origHColor>>
 	<br><br>
-	''Her eyebrows are @@.yellow;$tempSlave.eyebrowHColor@@ in color''
+	''$His eyebrows are @@.yellow;$tempSlave.eyebrowHColor@@ in color''
 	<<link "Hair Colors">>
 		<<if (ndef _hcol5R) || (_hcol5R == 0) >>
 			<<replace "#hcol5">>
@@ -1709,7 +1709,7 @@
 	<<radiobutton "$tempSlave.eyebrowFullness" "thick">> Thick
 	<<radiobutton "$tempSlave.eyebrowFullness" "bushy">> Bushy
 	<br>
-	''Her pubic hair is @@.yellow;$tempSlave.pubicHColor@@ in color''
+	''$His pubic hair is @@.yellow;$tempSlave.pubicHColor@@ in color''
 	<<link "Hair Colors">>
 		<<if (ndef _hcol3R) || (_hcol3R == 0) >>
 			<<replace "#hcol3">>
@@ -1763,7 +1763,7 @@
 	<<radiobutton "$tempSlave.pubicHStyle" "bushy">> Bushy
 	<<radiobutton "$tempSlave.pubicHStyle" "very bushy">> Very Bushy
 	<br>
-	''Her underarm hair is @@.yellow;$tempSlave.underArmHColor@@ in color''
+	''$His underarm hair is @@.yellow;$tempSlave.underArmHColor@@ in color''
 		<<link "Hair Colors">>
 		<<if (ndef _hcol4R) || (_hcol4R == 0) >>
 			<<replace "#hcol4">>
@@ -1820,7 +1820,7 @@
 
 <<widget EyesTab>>
 	<br>
-	''Her eyes are currently @@.yellow;$tempSlave.eyeColor@@ in color''
+	''$His eyes are currently @@.yellow;$tempSlave.eyeColor@@ in color''
 	<<link "Eye Colors">>
 		<<if (ndef _ecol1R) || (_ecol1R == 0) >>
 			<<replace "#ecol1">>
@@ -1848,7 +1848,7 @@
 	<span id=ecol1></span>
 	<br>Custom eye color: <<textbox "$tempSlave.eyeColor" $tempSlave.eyeColor>>
 	<br><br>
-	''Her original eyecolor is @@.yellow;$tempSlave.origEye@@''
+	''$His original eyecolor is @@.yellow;$tempSlave.origEye@@''
 	<<link "Eye Colors">>
 		<<if (ndef _ecol2R) || (_ecol2R == 0) >>
 			<<replace "#ecol2">>
@@ -1877,7 +1877,7 @@
 	<br>Custom eye color: <<textbox "$tempSlave.origEye" $tempSlave.origEye>>
 	<<radiobutton "$tempSlave.origEye" "implant">> Artificial Eyes
 	<br><br>
-	''Her pupils are @@.yellow;$tempSlave.pupil@@ in shape''
+	''$His pupils are @@.yellow;$tempSlave.pupil@@ in shape''
 	<<link "Pupil Shape">>
 		<<if (ndef _ppilR) || (_ppilR == 0) >>
 			<<replace "#ppil">>
@@ -1907,7 +1907,7 @@
 	<span id=ppil></span>
 	<br>Custom pupil shape: <<textbox "$tempSlave.pupil" $tempSlave.pupil>>
 	<br><br>
-	''Her sclerae are @@.yellow;$tempSlave.sclerae@@ in color''
+	''$His sclerae are @@.yellow;$tempSlave.sclerae@@ in color''
 	<<link "Sclera Colors">>
 		<<if (ndef _sclrR) || (_sclrR == 0) >>
 			<<replace "#sclr">>
@@ -1935,7 +1935,7 @@
 	<span id=sclr></span>
 	<br>Custom sclera color: <<textbox "$tempSlave.sclerae" $tempSlave.sclerae>>
 	<br><br>
-	''Her vision is :''
+	''$His vision is :''
 	<<switch $tempSlave.eyes>>
 	<<case -2>>@@.yellow;Blind@@
 	<<case -1>>@@.yellow;Nearsighted@@
@@ -3231,17 +3231,17 @@
 <</widget>>
 
 <<widget PrestTab>>
-	''Change her custom tattoo:'' <<textbox "$tempSlave.customTat" $tempSlave.customTat>>
+	''Change $his custom tattoo:'' <<textbox "$tempSlave.customTat" $tempSlave.customTat>>
 	<br>
 	//For best results, use complete, capitalized and punctuated sentences; for example: 'She has blue stars tattooed along her cheekbones, and a blue arrow down each arm.'//
 
 	<br>
-	''Change her custom description:'' <<textbox "$tempSlave.customDesc" $tempSlave.customDesc>>
+	''Change $his custom description:'' <<textbox "$tempSlave.customDesc" $tempSlave.customDesc>>
 	<br>
 	//For best results, use complete, capitalized and punctuated sentences; for example: 'She has a beauty mark above her left nipple.'//
 
 	<br>
-	''Change her custom label:'' <<textbox "$tempSlave.customLabel" $tempSlave.customLabel>>
+	''Change $his custom label:'' <<textbox "$tempSlave.customLabel" $tempSlave.customLabel>>
 	<br>
 	//For best results, use a short phrase; for example: 'Breeder.'//
 	<br>
@@ -3523,9 +3523,9 @@
 	''Branding: ''<<link "[No Branding]">><<set $tempSlave.brand =0>><<set $tempSlave.brandLocation = 0>><</link>>
 	<br>
 	<<if $tempSlave.brand == 0>>
-		''She has no Branding''
+		''$He has no Branding''
 	<<else>>
-		''@@.yellow;She has $tempSlave.brand branded onto her <<if $tempSlave.brandLocation == 0>>@@.red;[NEEDS TO BE SET]<<else>> $tempSlave.brandLocation @@<</if>>''
+		''@@.yellow;$He has $tempSlave.brand branded onto $his <<if $tempSlave.brandLocation == 0>>@@.red;[NEEDS TO BE SET]<<else>> $tempSlave.brandLocation @@<</if>>''
 	<</if>>
 	<br><br>
 	''Branding Location:''
@@ -3622,23 +3622,23 @@
 	<br>
 	<<link "[a devil silhouette]">><<set $tempSlave.brand = "a devil silhouette">><</link>><<print " | ">>
 	<<link "[a racial slur]">><<set $tempSlave.brand = "a racial slur">><</link>><<print " | ">>
-	<<link "[the number of children she has birthed]">><<set $tempSlave.brand = "the number of children "+$he+" has birthed">><</link>><<print " | ">>
+	<<link "[the number of children $he has birthed]">><<set $tempSlave.brand = "the number of children "+$he+" has birthed">><</link>><<print " | ">>
 	<<link "[a gender symbol]">><<set $tempSlave.brand = "a gender symbol">><</link>><<print " | ">>
-	<<link "[her own personal symbol]">><<set $tempSlave.brand = $his+" own personal symbol">><</link>><<print " | ">>
+	<<link "[$his own personal symbol]">><<set $tempSlave.brand = $his+" own personal symbol">><</link>><<print " | ">>
 	<br>
 	<<link "[a chain symbol]">><<set $tempSlave.brand = "a chain symbol">><</link>><<print " | ">>
 	<<link "[a Vitruvian man]">><<set $tempSlave.brand = "a Vitruvian man">><</link>><<print " | ">>
 	<<link "[a scalpel]">><<set $tempSlave.brand = "a scalpel">><</link>><<print " | ">>
-	<<link "[her virginity status]">><<set $tempSlave.brand = $his+" virginity status">><</link>><<print " | ">>
-	<<link "[her sexual skills]">><<set $tempSlave.brand = $his+" sexual skills">><</link>>
+	<<link "[$his virginity status]">><<set $tempSlave.brand = $his+" virginity status">><</link>><<print " | ">>
+	<<link "[$his sexual skills]">><<set $tempSlave.brand = $his+" sexual skills">><</link>>
 	<br>
-	<<link "[her absolute minimum breast size]">><<set $tempSlave.brand = $his+" absolute minimum breast size">><</link>><<print " | ">>
-	<<link "[her absolute maximum breast size]">><<set $tempSlave.brand = $his+" absolute maximum breast size">><</link>><<print " | ">>
-	<<link "[her highest weigh-in]">><<set $tempSlave.brand = $his+" highest weigh-in">><</link>><<print " | ">>
+	<<link "[$his absolute minimum breast size]">><<set $tempSlave.brand = $his+" absolute minimum breast size">><</link>><<print " | ">>
+	<<link "[$his absolute maximum breast size]">><<set $tempSlave.brand = $his+" absolute maximum breast size">><</link>><<print " | ">>
+	<<link "[$his highest weigh-in]">><<set $tempSlave.brand = $his+" highest weigh-in">><</link>><<print " | ">>
 	<<link "[a big helping of your personal refreshment]">><<set $tempSlave.brand = "a big helping of "+$PC.refreshment >><</link>><<print " | ">>
-	<<link "[her body product quality]">><<set $tempSlave.brand = $his+" body product quality">><</link>>
+	<<link "[$his body product quality]">><<set $tempSlave.brand = $his+" body product quality">><</link>>
 	<br>
-	<<link "[her deadlift record]">><<set $tempSlave.brand = $his+" deadlift record">><</link>><<print " | ">>
+	<<link "[$his deadlift record]">><<set $tempSlave.brand = $his+" deadlift record">><</link>><<print " | ">>
 	<<link "[a religious symbol]">><<set $tempSlave.brand = "a religious symbol">><</link>><<print " | ">>
 	<<link "[the crest of your Republic]">><<set $tempSlave.brand = "the crest of your Republic">><</link>><<print " | ">>
 	<<link "[the symbol of the Aztec gods]">><<set $tempSlave.brand = "the symbol of the Aztec gods">><</link>><<print " | ">>
diff --git a/src/endWeek/saChoosesOwnClothes.js b/src/endWeek/saChoosesOwnClothes.js
index 3fcfe945d69b6d7748cd67992e75ed6c69803b15..53665571786d375db3c6e0a42c66f8335307ae5f 100644
--- a/src/endWeek/saChoosesOwnClothes.js
+++ b/src/endWeek/saChoosesOwnClothes.js
@@ -63,20 +63,20 @@ window.saChoosesOwnClothes = (function() {
 			slave.devotion += 1;
 
 			if (V.arcologies[0].FSRestart !== "unset" && slave.choosesOwnChastity == 1) {
-				if (slave.vagina > -1 && slave.breedingMark === 1 && (slave.chastityVagina)) {
+				if (slave.vagina > -1 && slave.breedingMark === 1 && slave.chastityVagina === 1) {
 					r += `${He} unfastens ${his} chastity belt knowing full well ${his} role in life is to carry ${his} ${WrittenMaster(slave)}'s children. `;
 					slave.chastityVagina = 0;
-				} else if (slave.vagina > -1 && slave.ovaries === 1 && slave.preg === 0 && !(slave.chastityVagina)) {
+				} else if (slave.vagina > -1 && slave.ovaries === 1 && slave.preg === 0 && slave.chastityVagina !== 1) {
 					r += `${He} also affixes a chastity belt over ${his} vagina to discourage use of ${his} reproductive organ. `;
 					slave.chastityVagina = 1;
-				} else if (slave.vagina > -1 && (slave.ovaries === 0 || slave.preg < -1) && slave.chastityVagina) {
+				} else if (slave.vagina > -1 && (slave.ovaries === 0 || slave.preg < -1) && slave.chastityVagina === 1) {
 					r += `${He} removes ${his} chastity belt since no matter how hard someone tries, ${he} can never become pregnant. `;
 					slave.chastityVagina = 0;
 				}
-				if (slave.dick > 0 && slave.balls > 0 && !(slave.chastityPenis)) {
+				if (slave.dick > 0 && slave.balls > 0 && slave.chastityPenis !== 1) {
 					r += `${He} also affixes a chastity cage onto ${his} dick to discourage use of ${his} reproductive organ. `;
 					slave.chastityPenis = 1;
-				} else if (slave.dick > 0 && slave.balls === 0 && slave.chastityPenis) {
+				} else if (slave.dick > 0 && slave.balls === 0 && slave.chastityPenis === 1) {
 					r += `${He} removes ${his} chastity cage since even if ${he} could get erect, ${he} only shoots blanks. `;
 					slave.chastityPenis = 0;
 				}
@@ -503,13 +503,13 @@ window.saChoosesOwnClothes = (function() {
 							wardrobeAssignment.push({text: `and wears a sturdy maid outfit, since anything else might be damaged by ${his} hard work around the penthouse.`, clothes: "a nice maid outfit"});
 						}
 						wardrobeAssignment.push({text: `and wears a skimpy maid outfit to tempt anyone watching ${his} work.`, clothes: "a slutty maid outfit"});
-						wardrobeAssignment.push({text: `and wears nothing more than an apronto tempt anyone watching ${his} work.`, clothes: "an apron"});
+						wardrobeAssignment.push({text: `and wears nothing more than an apron to tempt anyone watching ${his} work.`, clothes: "an apron"});
 					} else {
 						if(isItemAccessible("a nice maid outfit")) {
 							wardrobeAssignment.push({text: `and wears a sturdy maid outfit, since anything else might be damaged by ${his} hard work around the penthouse.`, clothes: "a nice maid outfit"});
 						}
 						wardrobeAssignment.push({text: `and wears a skimpy maid outfit to tempt anyone watching ${his} work.`, clothes: "a slutty maid outfit"});
-						wardrobeAssignment.push({text: `and wears nothing more than an apronto tempt anyone watching ${his} work.`, clothes: "an apron"});
+						wardrobeAssignment.push({text: `and wears nothing more than an apron to tempt anyone watching ${his} work.`, clothes: "an apron"});
 					}
 				}
 
@@ -565,6 +565,9 @@ window.saChoosesOwnClothes = (function() {
 						if(isItemAccessible("nice business attire")) {
 							wardrobeFS.push({text: `and wears a formal suit to look more mature.`, clothes: "nice business attire"});
 						}
+						if(isItemAccessible("a Santa dress")) {
+							wardrobeFS.push({text: `and wears a dress referencing a figure of advanced age.`, clothes: "a Santa dress"});
+						}
 						wardrobeFS.push({text: `and wears only an apron in an attempt to make ${himself} seem more matronly.`, clothes: "an apron"});
 					}
 				} else if(V.arcologies[0].FSYouthPreferentialist > 0) {
@@ -763,6 +766,10 @@ window.saChoosesOwnClothes = (function() {
 					}
 				} else if(slave.actualAge < 18) {
 					wardrobeTastes.push({text: `and chooses an outfit that somewhat resembles one of ${his} school uniforms.`, clothes: "a schoolgirl outfit"});
+				} else if(slave.actualAge > 65) {
+					if(isItemAccessible("a Santa dress")) {
+						wardrobeTastes.push({text: `and chooses a dress that acknowledges ${his} advanced age while still looking sexy.`, clothes: "a Santa dress"});
+					}
 				}
 
 				/* fetishes */
@@ -873,7 +880,7 @@ window.saChoosesOwnClothes = (function() {
 					wardrobeTastes.push({text: `but goes nude, since as a nympho ${he} gets plenty of attention anyway, and considers clothes an unnecessary hindrance.`, clothes: "no clothing"});
 				} else if(slave.energy > 60) {
 					wardrobeTastes.push({text: `and puts on some daring lingerie to draw attention to ${himself}.`, clothes: "attractive lingerie"});
-					wardrobeTastes.push({text: `and goes toplesss to draw attention to ${himself}.`, clothes: "panties"});
+					wardrobeTastes.push({text: `and goes topless to draw attention to ${himself}.`, clothes: "panties"});
 					if(isItemAccessible("kitty lingerie")) {
 						wardrobeTastes.push({text: `and puts on some decorative lingerie to draw attention to ${himself}.`, clothes: "kitty lingerie"});
 					}
@@ -886,6 +893,9 @@ window.saChoosesOwnClothes = (function() {
 					if(isItemAccessible("kitty lingerie")) {
 						wardrobeTastes.push({text: `and wears cute lingerie to show off ${his} merchandise while giving ${his} protruding belly plenty of room to hang free.`, clothes: "kitty lingerie"});
 					}
+					if(isItemAccessible("a Santa dress")) {
+						wardrobeTastes.push({text: `and chooses a dress that pokes fun at ${his} rotund figure while still looking sexy.`, clothes: "a Santa dress"});
+					}
 					if(isItemAccessible("attractive lingerie for a pregnant woman") && slave.energy > 70) {
 						wardrobeTastes.push({text: `and wears pretty lingerie to show off ${his} merchandise and accentuate ${his} pregnancy while giving it plenty of room to hang free.`, clothes: "attractive lingerie for a pregnant woman"});
 					} else if(isItemAccessible("a maternity dress")) {
diff --git a/src/events/gameover.tw b/src/events/gameover.tw
index 2af91afcddb622a4115100bf99d385408ba4c805..4b62c2d887f008e134dd8146fe534550cca6e6a6 100644
--- a/src/events/gameover.tw
+++ b/src/events/gameover.tw
@@ -12,8 +12,8 @@
 	''GAME OVER''
 <<elseif $gameover == "idiot ball">>
 	<<set $ui = "start">>
-	<<setLocalPronouns $Bodyguard 2>>
-	You quickly move to deal $Bodyguard.slaveName a slap across the face. You have an instant to realize the depth of your folly as _his2 combat training kicks into gear: before _he2 realizes what _he2's doing, _he2 has drawn _his2 sword, blocked your slap (and incidentally, removed your hand in doing so), and buried the sword in your chest on the riposte. _His2 devotion returns to _him2 as _his2 combat instincts subside. As you fade, you see _his2 eyes cloud with terrible, unhealable guilt; in one sure movement, _he2 draws _his2 weapon, sets it to semi-automatic, places it under _his2 chin, and fires a single round.
+	<<setLocalPronouns $Bodyguard>>
+	You quickly move to deal $Bodyguard.slaveName a slap across the face. You have an instant to realize the depth of your folly as $his combat training kicks into gear: before $he realizes what $he's doing, $he has drawn $his sword, blocked your slap (and incidentally, removed your hand in doing so), and buried the sword in your chest on the riposte. $His devotion returns to $him as $his combat instincts subside. As you fade, you see $his eyes cloud with terrible, unhealable guilt; in one sure movement, $he draws $his weapon, sets it to semi-automatic, places it under $his chin, and fires a single round.
 
 	<br><br>
 	''GAME OVER''
diff --git a/src/facilities/farmyard/farmyardReport.tw b/src/facilities/farmyard/farmyardReport.tw
index c5578ff4f831ec2bfdc294b49eeb76bbde7a5d35..fdd3719639d6f40ac23c530a0585f3bce8617ac3 100644
--- a/src/facilities/farmyard/farmyardReport.tw
+++ b/src/facilities/farmyard/farmyardReport.tw
@@ -6,7 +6,7 @@
 <<SlaveSort $FarmyardiIDs>>
 <<set _DL = $FarmyardiIDs.length, $farmyardSlaves = _DL, _SL = $slaves.length, $FarmerCashBonus = 0, _FLsFetish = 0, _profits = 0, _foodWeek = 0>>
 <<set $FarmerDevotionBonus = 1, $FarmerDevotionThreshold = 45, $FarmerTrustBonus = 1, $FarmerTrustThreshold = 35, $FarmerHealthBonus = 0>>
-/*<<set $legendaryWombID = 0>> TODO: will the Farmyard have a lengendary womb system? */
+/*<<set $legendaryWombID = 0>> TODO: will the Farmyard have a legendary womb system? */
 
 <!-- Statistics gathering -->
 <<set $facility = $facility || {}, $facility.farmyard = initFacilityStatistics($facility.farmyard)>>
@@ -53,7 +53,7 @@
 		<<set $FarmerCashBonus += 0.25>>
 	<</if>>
 	<<if (_FLsFetish == 1)>>
-		$He isn't above sampling the merchandise $himself; before long it's obvious to $his girls that $he @@.lightcoral;really likes fucking them.@@
+		$He isn't above sampling the merchandise $himself; before long it's obvious to $his workers that $he @@.lightcoral;really likes fucking them.@@
 	<<elseif (_FLsFetish == 2)>>
 		$He's careful that all of the farmhands under $his supervision are all ready to work every morning, and $he @@.lightsalmon;becomes more dominant.@@
 	<</if>>
diff --git a/src/facilities/nursery/childInteract.tw b/src/facilities/nursery/childInteract.tw
index b423870ad53c4c6108609f40164b6b73ad9ef394..b28f3da5bcdd340ab5635634a4217f4ec0393d49 100644
--- a/src/facilities/nursery/childInteract.tw
+++ b/src/facilities/nursery/childInteract.tw
@@ -350,6 +350,7 @@
 |	<<link "Pony outfit (nice)">><<set $activeChild.clothes = "a nice pony outfit",$activeChild.choosesOwnClothes = 0>><<replace "#clothes">>$activeChild.clothes<</replace>><</link>>
 |	<<link "Pony outfit (slutty)">><<set $activeChild.clothes = "a slutty pony outfit",$activeChild.choosesOwnClothes = 0>><<replace "#clothes">>$activeChild.clothes<</replace>><</link>>
 |	<<link "Red Army uniform">><<set $activeChild.clothes = "a red army uniform",$activeChild.choosesOwnClothes = 0>><<replace "#clothes">>$activeChild.clothes<</replace>><</link>>
+|	<<link "Santa dress">><<set $activeChild.clothes = "a Santa dress",$activeChild.choosesOwnClothes = 0>><<replace "#clothes">>$activeChild.clothes<</replace>><</link>>
 |	<<link "Scalemail bikini">><<set $activeChild.clothes = "a scalemail bikini",$activeChild.choosesOwnClothes = 0>><<replace "#clothes">>$activeChild.clothes<</replace>><</link>>
 |	<<link "Schoolgirl">><<set $activeChild.clothes = "a schoolgirl outfit",$activeChild.choosesOwnClothes = 0>><<replace "#clothes">>$activeChild.clothes<</replace>><</link>>
 |	<<link "Schutzstaffel uniform (nice)">><<set $activeChild.clothes = "a schutzstaffel uniform",$activeChild.choosesOwnClothes = 0>><<replace "#clothes">>$activeChild.clothes<</replace>><</link>>
@@ -551,18 +552,28 @@
 	<<if isItemAccessible("long, huge dildo") && ($activeChild.breedingMark != 1 || $propOutcome == 0)>>
 		<<if $activeChild.vagina >= 2>>| <<link "Huge and long dildo">><<set $activeChild.vaginalAccessory = "long, huge dildo">><<replace "#vaginalAccessory">>$activeChild.vaginalAccessory<</replace>><</link>><</if>>
 	<</if>>
-	| <<link "Chastity belt">><<set $activeChild.chastityVagina = 1,$activeChild.choosesOwnChastity = 0>><<replace "#vaginalAccessory">>$activeChild.vaginalAccessory<</replace>><<SlaveInteractImpreg>><<SlaveInteractFertility>><<SlaveInteractSexOption>><<SlaveInteractAnalSexOption>><<SlaveInteractGropeOption>><<SlaveInteractDickGropeOption>><<SlaveInteractAnalGropeOption>><</link>>
-	| <<link "Anal chastity belt">><<set $activeChild.chastityAnis = 1,$activeChild.choosesOwnChastity = 0>><<replace "#vaginalAccessory">>$activeChild.vaginalAccessory<</replace>><<SlaveInteractSexOption>><<SlaveInteractAnalSexOption>><<SlaveInteractGropeOption>><<SlaveInteractDickGropeOption>><<SlaveInteractAnalGropeOption>><</link>>
-	| <<link "Combined chastity belt">><<set $activeChild.vaginalAccessory = "combined chastity",$activeChild.choosesOwnChastity = 0>><<replace "#vaginalAccessory">>$activeChild.vaginalAccessory<</replace>><<SlaveInteractImpreg>><<SlaveInteractFertility>><<SlaveInteractSexOption>><<SlaveInteractAnalSexOption>><<SlaveInteractGropeOption>><<SlaveInteractDickGropeOption>><<SlaveInteractAnalGropeOption>><</link>>
 <</if>>
 <<if $activeChild.dick > 0>>
 	<br>Dick accessory: ''<span id="dickAccessory">$activeChild.dickAccessory</span>.''
 	<<link "None">><<set $activeChild.dickAccessory = "none">><<replace "#dickAccessory">>$activeChild.dickAccessory<</replace>><<SlaveInteractSexOption>><<SlaveInteractAnalSexOption>><<SlaveInteractGropeOption>><<SlaveInteractDickGropeOption>><<SlaveInteractAnalGropeOption>><</link>>
-	| <<link "Chastity cage">><<set $activeChild.dickAccessory = "chastity",$activeChild.choosesOwnChastity = 0>><<replace "#dickAccessory">>$activeChild.dickAccessory<</replace>><<SlaveInteractSexOption>><<SlaveInteractAnalSexOption>><<SlaveInteractGropeOption>><<SlaveInteractDickGropeOption>><<SlaveInteractAnalGropeOption>><</link>>
-	| <<link "Anal chastity belt">><<set $activeChild.dickAccessory = "anal chastity",$activeChild.choosesOwnChastity = 0>><<replace "#dickAccessory">>$activeChild.dickAccessory<<SlaveInteractSexOption>><<SlaveInteractAnalSexOption>><<SlaveInteractGropeOption>><<SlaveInteractDickGropeOption>><<SlaveInteractAnalGropeOption>><</replace>><</link>>
-	| <<link "Combined chastity belt">><<set $activeChild.dickAccessory = "combined chastity",$activeChild.choosesOwnChastity = 0>><<replace "#dickAccessory">>$activeChild.dickAccessory<</replace>><<SlaveInteractSexOption>><<SlaveInteractAnalSexOption>><<SlaveInteractGropeOption>><<SlaveInteractDickGropeOption>><<SlaveInteractAnalGropeOption>><</link>>
 <</if>>
 
+	<br>Chastity device: ''<span id="chastity"><<if $activeChild.chastityAnus == 1 && $activeChild.chastityPenis == 1 && $activeChild.chastityVagina == 1>>Full Chastity<<elseif $activeChild.chastityPenis == 1 && $activeChild.chastityVagina == 1>>Genital Chastity<<elseif $activeChild.chastityAnus == 1 && $activeChild.chastityPenis == 1>>Combined Chastity Cage<<elseif $activeChild.chastityAnus == 1 && $activeChild.chastityVagina == 1>>Combined Chastity Belt<<elseif $activeChild.chastityVagina == 1>>Chastity Belt<<elseif $activeChild.chastityPenis == 1>>Chastity Cage<<elseif $activeChild.chastityAnus == 1>>Anal Chastity<<elseif $activeChild.chastityAnus == 0 && $activeChild.chastityPenis == 0 && $activeChild.chastityVagina == 0>>None<<else>>THERE HAS BEEN AN ERROR<</if>></span>.''
+	<<link "None">><<set $activeChild.chastityAnus = 0>><<set $activeChild.chastityPenis = 0>><<set $activeChild.chastityVagina = 0>><<replace "#chastity">>None<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>>
+	| <<link "Anal Chastity">><<set $activeChild.choosesOwnChastity = 0>><<set $activeChild.chastityAnus = 1>><<set $activeChild.chastityPenis = 0>><<set $activeChild.chastityVagina = 0>><<replace "#chastity">>Anal Chastity<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>>
+	<<if $activeChild.vagina > -1>>
+		| <<link "Chastity Belt">><<set $activeChild.choosesOwnChastity = 0>><<set $activeChild.chastityAnus = 0>><<set $activeChild.chastityPenis = 0>><<set $activeChild.chastityVagina = 1>><<replace "#chastity">>Vaginal Chastity<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>>
+		| <<link "Combined Chastity Belt">><<set $activeChild.choosesOwnChastity = 0>><<set $activeChild.chastityAnus = 0>><<set $activeChild.chastityPenis = 0>><<set $activeChild.chastityVagina = 0>><<replace "#chastity">>Combined Chastity Belt<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>>
+	<</if>>
+	<<if $activeChild.dick > 0>>
+		| <<link "Chastity Cage">><<set $activeChild.choosesOwnChastity = 0>><<set $activeChild.chastityAnus = 0>><<set $activeChild.chastityPenis = 1>><<set $activeChild.chastityVagina = 0>><<replace "#chastity">>Chastity Cage<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>>
+		| <<link "Combined Chastity Cage">><<set $activeChild.choosesOwnChastity = 0>><<set $activeChild.chastityAnus = 1>><<set $activeChild.chastityPenis = 1>><<set $activeChild.chastityVagina = 0>><<replace "#chastity">>Combined Chastity Cage<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>>
+		<<if $activeChild.vagina > -1>>
+			| <<link "Genital Chastity">><<set $activeChild.choosesOwnChastity = 0>><<set $activeChild.chastityAnus = 0>><<set $activeChild.chastityPenis = 1>><<set $activeChild.chastityVagina = 1>><<replace "#chastity">>Genital Chastity<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>>
+			| <<link "Full Chastity">><<set $activeChild.choosesOwnChastity = 0>><<set $activeChild.chastityAnus = 1>><<set $activeChild.chastityPenis = 1>><<set $activeChild.chastityVagina = 1>><<replace "#chastity">>Full Chastity<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>>
+		<</if>>
+	<</if>>
+
 <<if $arcologies[0].FSRestart != "unset" && $activeChild.devotion > 20 && $activeChild.trust > 0 && $activeChild.choosesOwnClothes == 1>>
 <br>
 	<<if $activeChild.choosesOwnChastity == 1>>
diff --git a/src/facilities/nursery/longChildDescription.tw b/src/facilities/nursery/longChildDescription.tw
index 3d9c319ec00fab7e42859348daf945243c37368e..431b0a44e114d09aeed44dadfd56bc98840085df 100644
--- a/src/facilities/nursery/longChildDescription.tw
+++ b/src/facilities/nursery/longChildDescription.tw
@@ -963,7 +963,7 @@ $he's
 	<<elseif $activeChild.whoreSkill <= 60>>
 		<<if $activeChild.entertainSkill <= 10>>$He is <</if>>a @@.aquamarine;skilled streetwalker.@@
 	<<elseif $activeChild.whoreSkill < 100>>
-		<<if $activeChild.entertainSkill <= 10>>$He is <</if>>an @@.aquamarine;expert working girl.@@
+		<<if $activeChild.entertainSkill <= 10>>$He is <</if>>an @@.aquamarine;expert working $girl.@@
 	<<else>>
 		<<if $activeChild.entertainSkill <= 10>>$He is <</if>>a @@.aquamarine;masterful whore.@@
 	<</if>>
diff --git a/src/facilities/nursery/nurseryReport.tw b/src/facilities/nursery/nurseryReport.tw
index 0ceaa3bdc167da45ed6a7b87366d60df0d360d75..dcdf03ed03e7b9f5253151b1c09b3162b4c4eb67 100644
--- a/src/facilities/nursery/nurseryReport.tw
+++ b/src/facilities/nursery/nurseryReport.tw
@@ -45,7 +45,7 @@
 	<<if (_FLsFetish == 1)>>
 		When $he is paid a visit by a slave with sexual issues to work out, $he provides $him with an understanding, willing, giving partner. $He finds real satisfaction in helping your slaves find sexual gratification, and @@.lightsalmon;becomes more caring.@@
 	<<elseif (_FLsFetish == 2)>>
-		Every new slave in the nursery is a new girl $he gets to connect with and serve. Sexually. @@.lightsalmon;$He becomes more caring.@@
+		Every new slave in the nursery is a new person $he gets to connect with and serve. Sexually. @@.lightsalmon;$He becomes more caring.@@
 	<</if>>
 	<<if setup.attendantCareers.includes($Matron.career)>>
 		$He has experience with childcare from $his life before $he was a slave, making $him better at properly raising children, and giving $him a better chance of softening flaws into beneficial quirks.
@@ -76,7 +76,7 @@
 		<<set _idleBonus++>>
 	<</if>>
 	<<if isFertile($Matron) || ($Matron.bellyPreg >= 1500) || ($Matron.birthsTotal > 0) || ($Matron.bellyImplant >= 1500)>>
-		$He has a natural mothering instinct and really makes $his girls feel at home.
+		$He has a natural mothering instinct and really makes $his guests feel at home.
 		<<set _idleBonus++, _healthBonus++>>
 	<</if>>
 	<<if (_NL < $nursery)>>
diff --git a/src/facilities/nursery/nurseryWorkaround.tw b/src/facilities/nursery/nurseryWorkaround.tw
index 2f435be524245a424d24d41667d186e6861432af..fd5e886e88d3fb39c277f6631a5f3a1fdfbc6043 100644
--- a/src/facilities/nursery/nurseryWorkaround.tw
+++ b/src/facilities/nursery/nurseryWorkaround.tw
@@ -16,7 +16,7 @@
 		<<link "Commit name.">>
 		<<set $activeSlave.birthName = $activeSlave.slaveName>>
 		<<replace "#naming">>
-		You instruct $assistantName to register the new girl as "<<print $activeSlave.slaveName>>" in the slave registry.
+		You instruct $assistantName to register the new $girl as "<<print $activeSlave.slaveName>>" in the slave registry.
 		<</replace>>
 		<<replace "#newName">>
 			''__@@.pink;$activeSlave.slaveName@@__''
@@ -25,7 +25,7 @@
 	<br><<link "Have your PA assign $him a random name">>
 		<<replace "#naming">>
 			<<NewChildName $activeSlave>>
-			$assistantName registers the new girl as "<<print $activeSlave.slaveName>>" in your registry.
+			$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
 		<</replace>>
 		<<replace "#newName">>
 			''__@@.pink;$activeSlave.slaveName@@__''
@@ -37,7 +37,7 @@
 			<<replace "#naming">>
 			<<set $activeSlave.slaveName = setup.cowSlaveNames.random()>>
 			<<set $activeSlave.birthName = $activeSlave.slaveName>>
-			$assistantName registers the new girl as "<<print $activeSlave.slaveName>>" in your registry.
+			$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
 			<</replace>>
 			<<replace "#newName">>
 				''__@@.pink;$activeSlave.slaveName@@__''
@@ -50,7 +50,7 @@
 			<<replace "#naming">>
 			<<set $activeSlave.slaveName = setup.chattelReligionistSlaveNames.random()>>
 			<<set $activeSlave.birthName = $activeSlave.slaveName>>
-			$assistantName registers the new girl as "<<print $activeSlave.slaveName>>" in your registry.
+			$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
 			<</replace>>
 			<<replace "#newName">>
 				''__@@.pink;$activeSlave.slaveName@@__''
@@ -62,7 +62,7 @@
 			<<replace "#naming">>
 			<<set $activeSlave.slaveName = setup.romanSlaveNames.random()>>
 			<<set $activeSlave.birthName = $activeSlave.slaveName>>
-			$assistantName registers the new girl as "<<print $activeSlave.slaveName>>" in your registry.
+			$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
 			<</replace>>
 			<<replace "#newName">>
 				''__@@.pink;$activeSlave.slaveName@@__''
@@ -73,7 +73,7 @@
 			<<replace "#naming">>
 			<<set $activeSlave.slaveName = setup.aztecSlaveNames.random()>>
 			<<set $activeSlave.birthName = $activeSlave.slaveName>>
-			$assistantName registers the new girl as "<<print $activeSlave.slaveName>>" in your registry.
+			$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
 			<</replace>>
 			<<replace "#newName">>
 				''__@@.pink;$activeSlave.slaveName@@__''
@@ -84,7 +84,7 @@
 			<<replace "#naming">>
 			<<set $activeSlave.slaveName = setup.ancientEgyptianSlaveNames.random()>>
 			<<set $activeSlave.birthName = $activeSlave.slaveName>>
-			$assistantName registers the new girl as "<<print $activeSlave.slaveName>>" in your registry.
+			$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
 			<</replace>>
 			<<replace "#newName">>
 				''__@@.pink;$activeSlave.slaveName@@__''
@@ -95,7 +95,7 @@
 			<<replace "#naming">>
 			<<set $activeSlave.slaveName = setup.edoSlaveNames.random()>>
 			<<set $activeSlave.birthName = $activeSlave.slaveName>>
-			$assistantName registers the new girl as "<<print $activeSlave.slaveName>>" in your registry.
+			$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
 			<</replace>>
 			<<replace "#newName">>
 				''__@@.pink;$activeSlave.slaveName@@__''
@@ -107,7 +107,7 @@
 			<<replace "#naming">>
 			<<run DegradingName($activeSlave)>>
 			<<set $activeSlave.birthName = $activeSlave.slaveName>>
-			$assistantName registers the new girl as "<<print $activeSlave.slaveName>>" in your registry.
+			$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
 			<</replace>>
 			<<replace "#newName">>
 				''__@@.pink;$activeSlave.slaveName@@__''
diff --git a/src/gui/svgFilters.tw b/src/gui/svgFilters.tw
index c6700a29224dfa3783dc0cbae9cd2f124a9355e4..42e0b12951599b547d7562aeff5ca1a93c23ba12 100644
--- a/src/gui/svgFilters.tw
+++ b/src/gui/svgFilters.tw
@@ -1,5 +1,5 @@
-:: SVG filters [widget]
-<<widget "SVGFilters">>
+:: SVG filters
+
 <html>
 <svg class="defs-only" style="width: 0; height: 0; position: absolute;">
 	<filter id="skin-black" color-interpolation-filters="sRGB">
@@ -214,4 +214,3 @@
 	</filter>
 </svg>
 </html>
-<</widget>>
\ No newline at end of file
diff --git a/src/init/dummy.tw b/src/init/dummy.tw
index 79bd8af1fa097cdf3d33a6000cfb2e189ad0884d..b910c0245fa08902863f6657c246bd95ad6c241d 100644
--- a/src/init/dummy.tw
+++ b/src/init/dummy.tw
@@ -23,7 +23,7 @@ $drugs, $harshCollars, $shoes, $bellyAccessories, $vaginalAccessories, $dickAcce
 $PC.origRace, $PC.origSkin
 $isReady, $fatherID,
 $servantsQuartersSpots
-$sayEnunciate, $sEnunciate, $SEnunciate, $ssEnunciate, $cEnunciate, $CEnunciate, $ccEnunciate, $zEnunciate, $ZEnunciate, $chEnunciate, $ChEnunciate, $shEnunciate, $ShEnunciate, $scEnunciate, $ScEnunciate, $xEnunciate, $XEnunciate
+$sayEnunciate, $sEnunciate, $SEnunciate, $ssEnunciate, $cEnunciate, $CEnunciate, $ccEnunciate, $zEnunciate, $ZEnunciate, $chEnunciate, $ChEnunciate, $shEnunciate, $ShEnunciate, $scEnunciate, $ScEnunciate, $schEnunciate, $SchEnunciate, $xEnunciate, $XEnunciate
 $ZEnunciate = $ZEnunciate
 $Girl
 $corpPeopleEnslaved, $slaveAssets, $slaveAssetPrice, $corpProfit, $corpValue, $sharePrice, $oldSharePrice, $generalAssetPrice, $generalAssets, $entrapmentAssets, $entrapmentAssetPrice, $captureAssets, $captureAssetPrice, $trainingAssets, $trainingAssetPrice, $surgicalAssets, $surgicalAssetPrice, $drugAssets, $drugAssetPrice
diff --git a/src/init/setupVars.tw b/src/init/setupVars.tw
index 422364cd4630efc061d5b12e434ad71403e8ac6f..b397827f12d134895496b30ff834c9e2bc89daa9 100644
--- a/src/init/setupVars.tw
+++ b/src/init/setupVars.tw
@@ -2077,16 +2077,11 @@ Then pick _namePool.random(), or display those names as possible choices, or do
 	{name: "Large dildo", value: "large dildo"},
 	{name: "Long, large dildo", value: "long, large dildo", rs: "buyBigDildos"},
 	{name: "Huge dildo", value: "huge dildo"},
-	{name: "Long, huge dildo", value: "long, huge dildo", rs: "buyBigDildos"},
-	{name: "Chastity belt", value: "chastity belt"},
-	{name: "Anal chastity belt", value: "anal chastity"},
-	{name: "Combined chastity belt", value: "combined chastity"}]>>
+	{name: "Long, huge dildo", value: "long, huge dildo", rs: "buyBigDildos"}]>>
 
 <<set setup.dickAccessories = [
 	{name: "No default setting", value: "no default setting"},
-	{name: "None", value: "none"},
-	{name: "Chastity cage", value: "chastity"},
-	{name: "Anal chastity", value: "anal chastity"}, {name: "Combined chastity", value: "combined chastity"}]>>
+	{name: "None", value: "none"}]>>
 
 <<set setup.buttplugs = [
 	{name: "No default setting", value: "no default setting"},
diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw
index c62aa478cb9adc7322e2d2fee33e6806f5c72bb6..6342d7156ed1bfea385c7a974b1f733a4b1a8c6f 100644
--- a/src/init/storyInit.tw
+++ b/src/init/storyInit.tw
@@ -848,6 +848,7 @@ You should have received a copy of the GNU General Public License along with thi
 <<set $clothesBoughtCultural = 0>>
 <<set $clothesBoughtMiddleEastern = 0>>
 <<set $clothesBoughtPol = 0>>
+<<set $clothesBoughtCostume = 0>>
 <<set $clothesBoughtPantsu = 0>>
 <<set $clothesBoughtCareer = 0>>
 <<set $clothesBoughtDresses = 0>>
diff --git a/src/interaction/researchLab.tw b/src/interaction/researchLab.tw
index becd7f1445f94bcd1e0e53586cff5d6cc7a60ee2..04f89dc762297bbcdd0d32b430f4f9ee81aa5400 100644
--- a/src/interaction/researchLab.tw
+++ b/src/interaction/researchLab.tw
@@ -16,7 +16,7 @@
 
 <br>
 	<<if $researchLab.aiModule == 1>>
-		[[Buy and install research module|Research Lab][cashX(-35000, "capEx"), $researchLab.aiModule = 2]] //This module enables your assistant to assist staff and direct menials assigned to your research facility, increasing efficiency. It costs <<print cashFormat(35000)>>//<br>
+		[[Buy and install research module|Research Lab][cashX(-35000, "capEx"), $researchLab.aiModule = 2]] //This module enables your personal assistant to assist staff and direct menials assigned to your research facility, increasing efficiency. It costs <<print cashFormat(35000)>>//<br>
 	<</if>>
 	<<if ($researchLab.hired + $researchLab.menials) == 0>>
 		//Facility is currently unstaffed.//
@@ -35,7 +35,8 @@
 			$researchLab.menials menials
 		<</if>>
 		working in your lab.
-			<<if $researchLab.aiModule != 0>>Occasionally you hear voice of your assistant as it helps direct and organize work.<</if>>//
+			<<setAssistantPronouns>>
+			<<if $researchLab.aiModule != 0>>Occasionally you hear the voice of your assistant as _heA helps direct and organize work.<</if>>//
 	<</if>>
 	<br>
 
diff --git a/src/js/DefaultRules.js b/src/js/DefaultRules.js
index bae0c78afaa42cbc5b2a4c7ea6d4d4a193e480ac..f8686aa887189ba083420e9320582342b68ac51f 100644
--- a/src/js/DefaultRules.js
+++ b/src/js/DefaultRules.js
@@ -7,6 +7,10 @@ window.DefaultRules = (function() {
 
 	/** @param {App.Entity.SlaveState} slave */
 	function DefaultRules(slave) {
+		const pronouns = getPronouns(slave);
+		const he = pronouns.pronoun;
+		const him = pronouns.object;
+		const his = pronouns.possessive;
 		if (slave.useRulesAssistant === 0) return r; //exempted
 
 		V = State.variables;
@@ -330,7 +334,7 @@ window.DefaultRules = (function() {
 						r += `<br>${slave.slaveName} has been automatically assigned to be confined in ${V.cellblockName}.`;
 						break;
 					case "choose her own job":
-						r += `<br>${slave.slaveName} is now allowed to select her own assignments.`;
+						r += `<br>${slave.slaveName} is now allowed to select ${his} own assignments.`;
 						break;
 					default:
 						r += `<br>${slave.slaveName} has been automatically assigned to ${rule.setAssignment}.`;
@@ -349,7 +353,7 @@ window.DefaultRules = (function() {
 				if ((slave.choosesOwnClothes === 0)) {
 					slave.clothes = "choosing her own clothes";
 					slave.choosesOwnClothes = 1;
-					r += `<br>${slave.slaveName} is now allowed to choose her own clothes.`;
+					r += `<br>${slave.slaveName} is now allowed to choose ${his} own clothes.`;
 				}
 			} else if ((slave.clothes !== rule.clothes)) {
 				slave.clothes = rule.clothes;
@@ -370,7 +374,7 @@ window.DefaultRules = (function() {
 					r += `${slave.slaveName} cannot utilize preg biometrics. `;
 				} else if ((rule.collar === "massive dildo gag" && slave.oralSkill <= 50)) {
 					slave.collar = "none";
-					r += `${slave.slaveName} lacks the oral skill to successfully keep the massive dildo gag in her throat. `;
+					r += `${slave.slaveName} lacks the oral skill to successfully keep the massive dildo gag in ${his} throat. `;
 				} else
 					slave.collar = rule.collar;
 				if ((slave.collar === "none"))
@@ -549,7 +553,7 @@ window.DefaultRules = (function() {
 
 	/** @param {App.Entity.SlaveState} slave */
 	function ProcessVVirginDildos(slave, rule) {
-		// apply vaginal dildos to varginal virgins
+		// apply vaginal dildos to vaginal virgins
 		if ((rule.virginAccessory !== undefined) && (rule.virginAccessory !== "no default setting")) {
 			if (slave.vaginalAccessory !== rule.virginAccessory) {
 				slave.vaginalAccessory = rule.virginAccessory;
@@ -557,37 +561,37 @@ window.DefaultRules = (function() {
 					case "huge dildo":
 						r += `<br>${slave.slaveName} is a virgin and has been given a `;
 						if (slave.vagina >= 2)
-							r += `massive dildo to permanently gape her cunt.`;
+							r += `massive dildo to permanently gape ${his} cunt.`;
 						else {
-							r += `large dildo for her pussy, since it must be stretched before it can accommodate a huge one.`;
+							r += `large dildo for ${his} pussy, since it must be stretched before it can accommodate a huge one.`;
 							slave.vaginalAccessory = "large dildo";
 						}
 						break;
 
 					case "long dildo":
 						if (slave.breedingMark === 1 && V.propOutcome === 1) {
-							r += `<br>Breeding regulations forbid the use of cervix penetrating dildos on marked slaves, so the virgin ${slave.slaveName} has been given a standard length dildo for her pussy.`;
+							r += `<br>Breeding regulations forbid the use of cervix penetrating dildos on marked slaves, so the virgin ${slave.slaveName} has been given a standard length dildo for ${his} pussy.`;
 							slave.vaginalAccessory = "dildo";
 						}
 						break;
 
 					case "long, large dildo":
 						if (slave.breedingMark === 1 && V.propOutcome === 1) {
-							r += `<br>Breeding regulations forbid the use of cervix penetrating dildos on marked slaves, so the virgin ${slave.slaveName} has been given a standard length large dildo for her pussy.`;
+							r += `<br>Breeding regulations forbid the use of cervix penetrating dildos on marked slaves, so the virgin ${slave.slaveName} has been given a standard length large dildo for ${his} pussy.`;
 							slave.vaginalAccessory = "large dildo";
 						}
 						break;
 
 					case "long, huge dildo":
 						if (slave.breedingMark === 1 && V.propOutcome === 1) {
-							r += `<br>Breeding regulations forbid the use of cervix penetrating dildos on marked slaves, so the virgin ${slave.slaveName} has been given a standard length huge dildo for her pussy.`;
+							r += `<br>Breeding regulations forbid the use of cervix penetrating dildos on marked slaves, so the virgin ${slave.slaveName} has been given a standard length huge dildo for ${his} pussy.`;
 							slave.vaginalAccessory = "huge dildo";
 						} else {
 							r += `<br>${slave.slaveName} is a virgin and has been given a `;
 							if (slave.vagina >= 2)
-								r += `massive and oversized dildo to permanently gape her cunt.`;
+								r += `massive and oversized dildo to permanently gape ${his} cunt.`;
 							else {
-								r += `long, large dildo for her pussy, since it must be stretched before it can accommodate a huge one.`;
+								r += `long, large dildo for ${his} pussy, since it must be stretched before it can accommodate a huge one.`;
 								slave.vaginalAccessory = "long, large dildo";
 							}
 						}
@@ -598,7 +602,7 @@ window.DefaultRules = (function() {
 						break;
 
 					default:
-						r += `<br>${slave.slaveName} is a virgin and has been given a ${slave.vaginalAccessory} for her pussy.`;
+						r += `<br>${slave.slaveName} is a virgin and has been given a ${slave.vaginalAccessory} for ${his} pussy.`;
 						break;
 				}
 			}
@@ -615,37 +619,37 @@ window.DefaultRules = (function() {
 					case "huge dildo":
 						r += `<br>${slave.slaveName} is a virgin and has been given a `;
 						if (slave.vagina >= 2)
-							r += `massive dildo to permanently gape her cunt.`;
+							r += `massive dildo to permanently gape ${his} cunt.`;
 						else {
-							r += `large dildo for her pussy, since it must be stretched before it can accommodate a huge one.`;
+							r += `large dildo for ${his} pussy, since it must be stretched before it can accommodate a huge one.`;
 							slave.vaginalAccessory = "large dildo";
 						}
 						break;
 
 					case "long dildo":
 						if (slave.breedingMark === 1 && V.propOutcome === 1) {
-							r += `<br>Breeding regulations forbid the use of cervix penetrating dildos on marked slaves, so the virgin ${slave.slaveName} has been given a standard length dildo for her pussy.`;
+							r += `<br>Breeding regulations forbid the use of cervix penetrating dildos on marked slaves, so the virgin ${slave.slaveName} has been given a standard length dildo for ${his} pussy.`;
 							slave.vaginalAccessory = "dildo";
 						}
 						break;
 
 					case "long, large dildo":
 						if (slave.breedingMark === 1 && V.propOutcome === 1) {
-							r += `<br>Breeding regulations forbid the use of cervix penetrating dildos on marked slaves, so the virgin ${slave.slaveName} has been given a standard length large dildo for her pussy.`;
+							r += `<br>Breeding regulations forbid the use of cervix penetrating dildos on marked slaves, so the virgin ${slave.slaveName} has been given a standard length large dildo for ${his} pussy.`;
 							slave.vaginalAccessory = "large dildo";
 						}
 						break;
 
 					case "long, huge dildo":
 						if (slave.breedingMark === 1 && V.propOutcome === 1) {
-							r += `<br>Breeding regulations forbid the use of cervix penetrating dildos on marked slaves, so the virgin ${slave.slaveName} has been given a standard length huge dildo for her pussy.`;
+							r += `<br>Breeding regulations forbid the use of cervix penetrating dildos on marked slaves, so the virgin ${slave.slaveName} has been given a standard length huge dildo for ${his} pussy.`;
 							slave.vaginalAccessory = "huge dildo";
 						} else {
 							r += `<br>${slave.slaveName} is a virgin and has been given a `;
 							if (slave.vagina >= 2)
-								r += `massive and oversized dildo to permanently gape her cunt.`;
+								r += `massive and oversized dildo to permanently gape ${his} cunt.`;
 							else {
-								r += `long, large dildo for her pussy, since it must be stretched before it can accommodate a huge one.`;
+								r += `long, large dildo for ${his} pussy, since it must be stretched before it can accommodate a huge one.`;
 								slave.vaginalAccessory = "long, large dildo";
 							}
 						}
@@ -656,7 +660,7 @@ window.DefaultRules = (function() {
 						break;
 
 					default:
-						r += `<br>${slave.slaveName} is a virgin and has been given a ${slave.vaginalAccessory} for her pussy.`;
+						r += `<br>${slave.slaveName} is a virgin and has been given a ${slave.vaginalAccessory} for ${his} pussy.`;
 						break;
 				}
 			}
@@ -673,37 +677,37 @@ window.DefaultRules = (function() {
 					case "huge dildo":
 						r += `<br>${slave.slaveName} has been given a `;
 						if (slave.vagina >= 2)
-							r += `massive dildo to permanently gape her cunt.`;
+							r += `massive dildo to permanently gape ${his} cunt.`;
 						else {
-							r += `large dildo for her pussy, since it must be stretched before it can accommodate a huge one.`;
+							r += `large dildo for ${his} pussy, since it must be stretched before it can accommodate a huge one.`;
 							slave.vaginalAccessory = "large dildo";
 						}
 						break;
 
 					case "long dildo":
 						if (slave.breedingMark === 1 && V.propOutcome === 1) {
-							r += `<br>Breeding regulations forbid the use of cervix penetrating dildos on marked slaves, so ${slave.slaveName} has been given a standard length dildo for her pussy.`;
+							r += `<br>Breeding regulations forbid the use of cervix penetrating dildos on marked slaves, so ${slave.slaveName} has been given a standard length dildo for ${his} pussy.`;
 							slave.vaginalAccessory = "dildo";
 						}
 						break;
 
 					case "long, large dildo":
 						if (slave.breedingMark === 1 && V.propOutcome === 1) {
-							r += `<br>Breeding regulations forbid the use of cervix penetrating dildos on marked slaves, so ${slave.slaveName} has been given a standard length large dildo for her pussy.`;
+							r += `<br>Breeding regulations forbid the use of cervix penetrating dildos on marked slaves, so ${slave.slaveName} has been given a standard length large dildo for ${his} pussy.`;
 							slave.vaginalAccessory = "large dildo";
 						}
 						break;
 
 					case "long, huge dildo":
 						if (slave.breedingMark === 1 && V.propOutcome === 1) {
-							r += `<br>Breeding regulations forbid the use of cervix penetrating dildos on marked slaves, so ${slave.slaveName} has been given a standard length huge dildo for her pussy.`;
+							r += `<br>Breeding regulations forbid the use of cervix penetrating dildos on marked slaves, so ${slave.slaveName} has been given a standard length huge dildo for ${his} pussy.`;
 							slave.vaginalAccessory = "huge dildo";
 						} else {
 							r += `<br>${slave.slaveName} has been given a `;
 							if (slave.vagina >= 2)
-								r += `massive and oversized dildo to permanently gape her cunt.`;
+								r += `massive and oversized dildo to permanently gape ${his} cunt.`;
 							else {
-								r += `long, large dildo for her pussy, since it must be stretched before it can accommodate a huge one.`;
+								r += `long, large dildo for ${his} pussy, since it must be stretched before it can accommodate a huge one.`;
 								slave.vaginalAccessory = "long, large dildo";
 							}
 						}
@@ -713,7 +717,7 @@ window.DefaultRules = (function() {
 						break;
 
 					default:
-						r += `<br>${slave.slaveName} has been given a ${slave.vaginalAccessory} for her pussy.`;
+						r += `<br>${slave.slaveName} has been given a ${slave.vaginalAccessory} for ${his} pussy.`;
 						break;
 				}
 			}
@@ -731,7 +735,7 @@ window.DefaultRules = (function() {
 						if (slave.dickAccessory === "none")
 							r += `<br>${slave.slaveName} is a virgin and has been instructed not to wear a dick accessory.`;
 						else
-							r += `<br>${slave.slaveName} is a virgin and has been given a ${slave.dickAccessory} accessory for her cock.`;
+							r += `<br>${slave.slaveName} is a virgin and has been given a ${slave.dickAccessory} accessory for ${his} cock.`;
 					}
 				}
 			} else {
@@ -741,7 +745,7 @@ window.DefaultRules = (function() {
 						if (slave.dickAccessory === "none")
 							r += `<br>${slave.slaveName} has been instructed not to wear a dick accessory.`;
 						else
-							r += `<br>${slave.slaveName} has been given a ${slave.dickAccessory} accessory for her cock.`;
+							r += `<br>${slave.slaveName} has been given a ${slave.dickAccessory} accessory for ${his} cock.`;
 					}
 				}
 			}
@@ -791,7 +795,7 @@ window.DefaultRules = (function() {
 	/** @param {App.Entity.SlaveState} slave */
 	function ProcessAnalAccessories(slave, rule) {
 		// apply buttplugs and buttplug accessories to slave
-		if (!(slave.chastityAnus)) {
+		if (slave.chastityAnus !== 1) {
 			if (slave.anus === 0)
 				ProcessAnalVirginButtplugs(slave, rule);
 			else
@@ -810,37 +814,37 @@ window.DefaultRules = (function() {
 					case "huge plug":
 						r += `<br>${slave.slaveName} is an anal virgin and has been given a `;
 						if ((slave.anus >= 2))
-							r += `massive plug to permanently gape her asshole.`;
+							r += `massive plug to permanently gape ${his} asshole.`;
 						else {
 							slave.buttplug = "large plug";
-							r += `large buttplug for her asshole, since it must be stretched before it can accommodate a huge one.`;
+							r += `large buttplug for ${his} asshole, since it must be stretched before it can accommodate a huge one.`;
 						}
 						break;
 
 					case "long plug":
 						if (slave.breedingMark === 1 && V.propOutcome === 1) {
-							r += `<br>Breeding regulations forbid the use of anal plugs that can damage a growing fetus on marked slaves, so the anal virgin ${slave.slaveName} has been given a standard length plug for her anus.`;
+							r += `<br>Breeding regulations forbid the use of anal plugs that can damage a growing fetus on marked slaves, so the anal virgin ${slave.slaveName} has been given a standard length plug for ${his} anus.`;
 							slave.buttplug = "plug";
 						}
 						break;
 
 					case "long, large plug":
 						if (slave.breedingMark === 1 && V.propOutcome === 1) {
-							r += `<br>Breeding regulations forbid the use of anal plugs that can damage a growing fetus on marked slaves, so the anal virgin ${slave.slaveName} has been given a standard length large plug for her anus.`;
+							r += `<br>Breeding regulations forbid the use of anal plugs that can damage a growing fetus on marked slaves, so the anal virgin ${slave.slaveName} has been given a standard length large plug for ${his} anus.`;
 							slave.buttplug = "large plug";
 						}
 						break;
 
 					case "long, huge plug":
 						if (slave.breedingMark === 1 && V.propOutcome === 1) {
-							r += `<br>Breeding regulations forbid the use of anal plugs that can damage a growing fetus on marked slaves, so the anal virgin ${slave.slaveName} has been given a standard length huge plug for her anus.`;
+							r += `<br>Breeding regulations forbid the use of anal plugs that can damage a growing fetus on marked slaves, so the anal virgin ${slave.slaveName} has been given a standard length huge plug for ${his} anus.`;
 							slave.buttplug = "huge plug";
 						} else {
 							r += `<br>${slave.slaveName} is an anal virgin and has been given a `;
 							if (slave.anus >= 2)
-								r += `massive and oversized plug to permanently gape her asshole.`;
+								r += `massive and oversized plug to permanently gape ${his} asshole.`;
 							else {
-								r += `long, large buttplug for her asshole, since it must be stretched before it can accommodate a huge one.`;
+								r += `long, large buttplug for ${his} asshole, since it must be stretched before it can accommodate a huge one.`;
 								slave.buttplug = "long, large plug";
 							}
 						}
@@ -851,7 +855,7 @@ window.DefaultRules = (function() {
 						break;
 
 					default:
-						r += `<br>${slave.slaveName} is an anal virgin and has been given a ${slave.buttplug} for her asshole.`;
+						r += `<br>${slave.slaveName} is an anal virgin and has been given a ${slave.buttplug} for ${his} asshole.`;
 						break;
 				}
 			}
@@ -868,37 +872,37 @@ window.DefaultRules = (function() {
 					case "huge plug":
 						r += `<br>${slave.slaveName} has been given a `;
 						if ((slave.anus >= 2))
-							r += `massive plug to permanently gape her asshole.`;
+							r += `massive plug to permanently gape ${his} asshole.`;
 						else {
 							slave.buttplug = "large plug";
-							r += `large buttplug for her asshole, since it must be stretched before it can accommodate a huge one.`;
+							r += `large buttplug for ${his} asshole, since it must be stretched before it can accommodate a huge one.`;
 						}
 						break;
 
 					case "long plug":
 						if (slave.breedingMark === 1 && V.propOutcome === 1) {
-							r += `<br>Breeding regulations forbid the use of anal plugs that can damage a growing fetus on marked slaves, so ${slave.slaveName} has been given a standard length plug for her anus.`;
+							r += `<br>Breeding regulations forbid the use of anal plugs that can damage a growing fetus on marked slaves, so ${slave.slaveName} has been given a standard length plug for ${his} anus.`;
 							slave.buttplug = "plug";
 						}
 						break;
 
 					case "long, large plug":
 						if (slave.breedingMark === 1 && V.propOutcome === 1) {
-							r += `<br>Breeding regulations forbid the use of anal plugs that can damage a growing fetus on marked slaves, so ${slave.slaveName} has been given a standard length large plug for her anus.`;
+							r += `<br>Breeding regulations forbid the use of anal plugs that can damage a growing fetus on marked slaves, so ${slave.slaveName} has been given a standard length large plug for ${his} anus.`;
 							slave.buttplug = "large plug";
 						}
 						break;
 
 					case "long, huge plug":
 						if (slave.breedingMark === 1 && V.propOutcome === 1) {
-							r += `<br>Breeding regulations forbid the use of anal plugs that can damage a growing fetus on marked slaves, so ${slave.slaveName} has been given a standard length huge plug for her anus.`;
+							r += `<br>Breeding regulations forbid the use of anal plugs that can damage a growing fetus on marked slaves, so ${slave.slaveName} has been given a standard length huge plug for ${his} anus.`;
 							slave.buttplug = "huge plug";
 						} else {
 							r += `<br>${slave.slaveName} has been given a `;
 							if (slave.anus >= 2)
-								r += `massive and oversized plug to permanently gape her asshole.`;
+								r += `massive and oversized plug to permanently gape ${his} asshole.`;
 							else {
-								r += `long, large buttplug for her asshole, since it must be stretched before it can accommodate a huge one.`;
+								r += `long, large buttplug for ${his} asshole, since it must be stretched before it can accommodate a huge one.`;
 								slave.buttplug = "long, large plug";
 							}
 						}
@@ -909,7 +913,7 @@ window.DefaultRules = (function() {
 						break;
 
 					default:
-						r += `<br>${slave.slaveName} has been given a ${slave.buttplug} for her asshole.`;
+						r += `<br>${slave.slaveName} has been given a ${slave.buttplug} for ${his} asshole.`;
 						break;
 				}
 			}
@@ -927,11 +931,11 @@ window.DefaultRules = (function() {
 				switch (slave.buttplugAttachment) {
 
 					case "none":
-						r += `<br>${slave.slaveName} has been instructed not to use an attachment for her anal accessory.`;
+						r += `<br>${slave.slaveName} has been instructed not to use an attachment for ${his} anal accessory.`;
 						break;
 
 					default:
-						r += `<br>${slave.slaveName} has been given a ${slave.buttplugAttachment} to attach to her buttplug.`;
+						r += `<br>${slave.slaveName} has been given a ${slave.buttplugAttachment} to attach to ${his} buttplug.`;
 						break;
 				}
 			}
@@ -947,26 +951,26 @@ window.DefaultRules = (function() {
 			if (slave.health > -10 ) {
 				let diff = rule.bellyImplantVol - slave.bellyImplant;
 				if (diff >= 5000 && slave.bellyPain === 0 && slave.health > 50) {
-					r += `${slave.slaveName}'s belly is way too small, so she has been directed to have intensive belly implant filling procedures throughout this week.`;
+					r += `${slave.slaveName}'s belly is way too small, so ${he} has been directed to have intensive belly implant filling procedures throughout this week.`;
 					slave.bellyImplant += 1000;
 					slave.bellyPain += 2;
 					BellySurgery(slave, diff);
 				} else if (diff >= 500 && slave.bellyPain < 2 ) {
-					r += `${slave.slaveName}'s belly has not reached the desired size, so she has been directed to have belly implant filling procedures throughout this week.`;
+					r += `${slave.slaveName}'s belly has not reached the desired size, so ${he} has been directed to have belly implant filling procedures throughout this week.`;
 					slave.bellyImplant += 500;
 					slave.bellyPain += 1;
 					BellySurgery(slave, diff);
 				} else if (diff <= -5000 ) {
-					r += `${slave.slaveName}'s belly is way too big, so she has been directed to have intensive belly implant draining procedures throughout this week.`;
+					r += `${slave.slaveName}'s belly is way too big, so ${he} has been directed to have intensive belly implant draining procedures throughout this week.`;
 					slave.bellyImplant -= 1000;
 					BellySurgery(slave, diff);
 				} else if (diff <= -500 ) {
-					r += `${slave.slaveName}'s belly is too big, so she has been directed to have belly implant draining procedures throughout this week.`;
+					r += `${slave.slaveName}'s belly is too big, so ${he} has been directed to have belly implant draining procedures throughout this week.`;
 					slave.bellyImplant -= 500;
 					BellySurgery(slave, diff);
 				}
 			} else {
-				r += `${slave.slaveName} is not healthy enough to safely adjust her belly implant.`;
+				r += `${slave.slaveName} is not healthy enough to safely adjust ${his} belly implant.`;
 			}
 		}
 	}
@@ -1036,23 +1040,23 @@ window.DefaultRules = (function() {
 				} else {
 					r += `<br>${slave.slaveName}'s pregnancy has been terminated; `;
 					if (slave.sexualFlaw === "breeder") {
-						r += `it broke her mind.`;
+						r += `it broke ${his} mind.`;
 						slave.fetish = "mindbroken", slave.behavioralQuirk = "none", slave.behavioralFlaw = "none", slave.sexualQuirk = "none", slave.sexualFlaw = "none", slave.devotion = 0, slave.trust = 0;
 					} else if (slave.devotion < -50) {
-						r += `she did not handle it well.`;
+						r += `${he} did not handle it well.`;
 						slave.trust -= 10, slave.devotion -= 25;
 					} else if (slave.devotion < -20) {
-						r += `she did not handle it well.`;
+						r += `${he} did not handle it well.`;
 						slave.trust -= 10, slave.devotion -= 10;
 					} else if (slave.fetish === "pregnancy") {
-						r += `she did not handle it well.`;
+						r += `${he} did not handle it well.`;
 						var fetishModifier = (slave.fetishStrength / 2);
 						slave.devotion -= (1 * fetishModifier), (slave.trust -= 1 * fetishModifier);
 					} else if (slave.devotion <= 20) {
-						r += `she did not handle it well.`;
+						r += `${he} did not handle it well.`;
 						slave.trust -= 10, slave.devotion -= 5;
 					} else if (slave.devotion <= 50) {
-						r += `she did not handle it well.`;
+						r += `${he} did not handle it well.`;
 						slave.trust -= 10;
 					} else {
 						r += `it had little mental effect.`;
@@ -1182,11 +1186,11 @@ window.DefaultRules = (function() {
 					r += `<br>${slave.slaveName} has been put on `;
 					if (rule.growth_intensity && slave.drugs !== "lip injections" && slave.health > 0) {
 						slave.drugs = "intensive " + slave.drugs;
-						r += `${slave.drugs}, since she's healthy enough to take them, and `;
+						r += `${slave.drugs}, since ${he}'s healthy enough to take them, and `;
 					} else {
 						r += `${slave.drugs}, since `;
 					}
-					r += `that part of her body is ${Math.trunc(_priorities[0].weight*100)}% `;
+					r += `that part of ${his} body is ${Math.trunc(_priorities[0].weight*100)}% `;
 					if (_priorities[0].weight < 1) r+= "below ";
 					else r+= "above ";
 					r += "the targeted size.";
@@ -1198,15 +1202,15 @@ window.DefaultRules = (function() {
 					r += `<br>${slave.slaveName} has been put on `;
 					if (rule.growth_intensity && slave.drugs !== "lip injections" && slave.health > 0) {
 						slave.drugs = "intensive " + slave.drugs;
-						r += `${slave.drugs}, since she's healthy enough to take them, and `;
+						r += `${slave.drugs}, since ${he}'s healthy enough to take them, and `;
 					} else
 						r += `${slave.drugs}, since `;
-					r += `that is the only part of her body that does not meet the targeted size.`;
+					r += `that is the only part of ${his} body that does not meet the targeted size.`;
 				}
 				return;
 			} else if (growth_drugs.has(slave.drugs)) {
 				slave.drugs = "no drugs";
-				r += `<br>${slave.slaveName}'s body has met all relevant growth targets, so her pharmaceutical regime has been ended.`;
+				r += `<br>${slave.slaveName}'s body has met all relevant growth targets, so ${his} pharmaceutical regime has been ended.`;
 				return;
 			}
 		} else {
@@ -1304,7 +1308,7 @@ window.DefaultRules = (function() {
 			}
 			if (growth_drugs.has(slave.drugs)) {
 				slave.drugs = "no drugs";
-				r += `<br>${slave.slaveName} has met all relevant growth targets, so her pharmaceutical regime has been ended.`;
+				r += `<br>${slave.slaveName} has met all relevant growth targets, so ${his} pharmaceutical regime has been ended.`;
 				return;
 			}
 		}
@@ -1459,7 +1463,7 @@ window.DefaultRules = (function() {
 				r += `<br>${slave.slaveName} has been put on ${slave.drugs}.`;
 			} else {
 				slave.drugs = "no drugs";
-				r += `<br>${slave.slaveName} cannot benefit from her assigned drug and has been defaulted to ${slave.drugs}`;
+				r += `<br>${slave.slaveName} cannot benefit from ${his} assigned drug and has been defaulted to ${slave.drugs}`;
 			}
 		}
 	}
@@ -1469,7 +1473,7 @@ window.DefaultRules = (function() {
 		if ((rule.inflationType !== undefined) && (rule.inflationType !== "no default setting")) {
 			if (slave.inflationType !== rule.inflationType) {
 				if ((slave.inflationType === "curative" && slave.health > 90) || (slave.inflationType === "tightener" && slave.anus <= 1 && slave.vagina <= 1)) {
-					r += `<br>${slave.slaveName} cannot benefit from her assigned enema and has been defaulted to none.`;
+					r += `<br>${slave.slaveName} cannot benefit from ${his} assigned enema and has been defaulted to none.`;
 					slave.inflation = 0;
 					slave.inflationType = "none";
 					slave.inflationMethod = 0;
@@ -1492,7 +1496,7 @@ window.DefaultRules = (function() {
 				slave.inflation = 1;
 				SetBellySize(slave);
 			} else if (slave.inflation > 1 && (slave.bellyPreg >= 1500 || slave.bellyImplant >= 1500)) {
-				r += `<br>${slave.slaveName}'s current enema is too much for her body, so it has been reduced.`;
+				r += `<br>${slave.slaveName}'s current enema is too much for ${his} body, so it has been reduced.`;
 				slave.inflation = 1;
 				SetBellySize(slave);
 			} else if (slave.inflationType === "none") {
@@ -1513,7 +1517,7 @@ window.DefaultRules = (function() {
 			if ((slave.boobs >= 1600) && (slave.muscles <= 5) && (slave.amp != 1) && ((rule.muscles == "no default setting") || (rule.muscles === 0))) {
 				if ((slave.diet !== "muscle building")) {
 					slave.diet = "muscle building"
-					r += `<br>${slave.slaveName} has big tits and no back muscles, so she's been assigned to gain some.`
+					r += `<br>${slave.slaveName} has big tits and no back muscles, so ${he}'s been assigned to gain some.`
 				}
 			} else if ((slave.boobs >= 1600) && (slave.muscles > 5) && (slave.diet == "muscle building") && ((rule.muscles == "no default setting") || (rule.muscles === 0))) {
 			*/
@@ -1522,24 +1526,24 @@ window.DefaultRules = (function() {
 				r += `<br>${slave.slaveName} has been assigned to a healthy diet.`;
 			} else if ((slave.boobs >= 1600) && (slave.muscles > 5) && (slave.diet === "muscle building") && ((rule.muscles === "no default setting") || (rule.muscles === 0))) {
 				slave.diet = "healthy";
-				r += `<br>${slave.slaveName} has huge boobs, but she already has the back muscles to bear them, so she's been assigned to stop working out so hard.`;
+				r += `<br>${slave.slaveName} has huge boobs, but ${he} already has the back muscles to bear them, so ${he}'s been assigned to stop working out so hard.`;
 			} else if ((rule.dietGrowthSupport === 1) && ((slave.drugs === "breast injections") || (slave.drugs === "butt injections")) && (slave.weight <= 95)) {
 				if (slave.diet !== "fattening") {
 					slave.diet = "fattening";
-					r += `<br>${slave.slaveName} is on drugs designed to expand major body parts, so she's been put on a fattening diet to provide her body as much fuel for growth as possible.`;
+					r += `<br>${slave.slaveName} is on drugs designed to expand major body parts, so ${he}'s been put on a fattening diet to provide ${his} body as much fuel for growth as possible.`;
 				}
 			} else {
 				if (!(isNaN(rule.diet))) {
 					if ((slave.weight - rule.diet) > 5) {
 						if ((slave.diet !== "restricted")) {
 							slave.diet = "restricted";
-							r += `<br>${slave.slaveName} is too fat so her diet has been set to restricted.`;
+							r += `<br>${slave.slaveName} is too fat so ${his} diet has been set to restricted.`;
 						}
 
 					} else if ((slave.weight - rule.diet) < -5) {
 						if ((slave.diet !== "fattening")) {
 							slave.diet = "fattening";
-							r += `<br>${slave.slaveName} is too skinny so her diet has been set to fattening.`;
+							r += `<br>${slave.slaveName} is too skinny so ${his} diet has been set to fattening.`;
 						}
 					} else if ((rule.muscles !== undefined) && (rule.muscles !== "no default setting") && (slave.amp !== 1)) {
 						if ((slave.muscles >= rule.muscles+8)) {
@@ -1555,25 +1559,25 @@ window.DefaultRules = (function() {
 						} else {
 							if ((slave.diet !== "healthy")) {
 								slave.diet = "healthy";
-								r += `<br>${slave.slaveName} is at the target weight, so her diet has been normalized.`;
+								r += `<br>${slave.slaveName} is at the target weight, so ${his} diet has been normalized.`;
 							}
 						}
 					} else {
 						if ((slave.diet !== "healthy")) {
 							slave.diet = "healthy";
-							r += `<br>${slave.slaveName} is at the target weight, so her diet has been normalized.`;
+							r += `<br>${slave.slaveName} is at the target weight, so ${his} diet has been normalized.`;
 						}
 					}
 				} else if ((rule.diet === "attractive")) {
 					if (((slave.weight > 95) || ((slave.weight > 30) && (slave.hips < 2)))) {
 						if ((slave.diet !== "restricted")) {
 							slave.diet = "restricted";
-							r += `<br>${slave.slaveName} is too fat so her diet has been set to restricted.`;
+							r += `<br>${slave.slaveName} is too fat so ${his} diet has been set to restricted.`;
 						}
 					} else if (((slave.weight < -95) || ((slave.weight < -30) && (slave.hips > -2)))) {
 						if ((slave.diet !== "fattening")) {
 							slave.diet = "fattening";
-							r += `<br>${slave.slaveName} is too skinny so her diet has been set to fattening.`;
+							r += `<br>${slave.slaveName} is too skinny so ${his} diet has been set to fattening.`;
 						}
 					} else if ((rule.muscles !== undefined) && (rule.muscles !== "no default setting") && (slave.amp !== 1)) {
 						if ((slave.muscles >= rule.muscles+8)) {
@@ -1589,13 +1593,13 @@ window.DefaultRules = (function() {
 						} else {
 							if ((slave.diet !== "healthy")) {
 								slave.diet = "healthy";
-								r += `<br>${slave.slaveName} is at the target weight, so her diet has been normalized.`;
+								r += `<br>${slave.slaveName} is at the target weight, so ${his} diet has been normalized.`;
 							}
 						}
 					} else {
 						if ((slave.diet !== "healthy")) {
 							slave.diet = "healthy";
-							r += `<br>${slave.slaveName} is at the target weight, so her diet has been normalized.`;
+							r += `<br>${slave.slaveName} is at the target weight, so ${his} diet has been normalized.`;
 						}
 					}
 				} else if ((rule.diet === "XX")) {
@@ -1617,7 +1621,7 @@ window.DefaultRules = (function() {
 					} else {
 						if ((slave.diet !== "healthy")) {
 							slave.diet = "healthy";
-							r += `<br>${slave.slaveName} has been put on a standard diet since she is not a hermaphrodite.`;
+							r += `<br>${slave.slaveName} has been put on a standard diet since ${he} is not a hermaphrodite.`;
 						}
 					}
 				} else if ((rule.diet === "cleansing")) {
@@ -1635,10 +1639,10 @@ window.DefaultRules = (function() {
 						if ((slave.diet !== "healthy")) {
 							slave.diet = "healthy";
 							if (slave.pregKnown === 0 && slave.preg > 0) {
-								r += `<br>${slave.slaveName} has been put on a standard diet since tests reveal she has become pregnant.`;
+								r += `<br>${slave.slaveName} has been put on a standard diet since tests reveal ${he} has become pregnant.`;
 								slave.pregKnown = 1;
 							} else {
-								r += `<br>${slave.slaveName} has been put on a standard diet since she is currently unable to become pregnant.`;
+								r += `<br>${slave.slaveName} has been put on a standard diet since ${he} is currently unable to become pregnant.`;
 							}
 						}
 					}
@@ -1651,7 +1655,7 @@ window.DefaultRules = (function() {
 					} else {
 						if ((slave.diet !== "healthy")) {
 							slave.diet = "healthy";
-							r += `<br>${slave.slaveName} has been put on a standard diet since she is no longer able to produce cum.`;
+							r += `<br>${slave.slaveName} has been put on a standard diet since ${he} is no longer able to produce cum.`;
 						}
 					}
 				}
@@ -1670,17 +1674,17 @@ window.DefaultRules = (function() {
 			} else {
 				if ((slave.diet !== "healthy")) {
 					slave.diet = "healthy";
-					r += `<br>${slave.slaveName} has achieved the target musculature, so her exercise regime has been normalized.`;
+					r += `<br>${slave.slaveName} has achieved the target musculature, so ${his} exercise regime has been normalized.`;
 				}
 			}
 		}
 
 		if (slave.drugs === "appetite suppressors" && slave.diet !== "restricted") {
 			slave.drugs = "no drugs";
-			r += `<br>${slave.slaveName} no longer needs to lose weight, so she's no longer being given appetite suppressors.`;
+			r += `<br>${slave.slaveName} no longer needs to lose weight, so ${he}'s no longer being given appetite suppressors.`;
 		} else if (slave.diet === "restricted" && V.arcologies[0].FSSlimnessEnthusiastResearch === 1 && (slave.drugs === "no drugs" || slave.drugs === "none")) {
 			slave.drugs = "appetite suppressors";
-			r += `<br>${slave.slaveName} needs to lose weight so she will be given weight loss pills.`;
+			r += `<br>${slave.slaveName} needs to lose weight so ${he} will be given weight loss pills.`;
 		}
 	}
 
@@ -1691,7 +1695,7 @@ window.DefaultRules = (function() {
 				if (rule.curatives === 2) {
 					if (slave.health > 100) {
 						if ((slave.curatives !== 1)) {
-							r += `<br>${slave.slaveName} has been put on preventatives, since curatives cannot improve her health further.`;
+							r += `<br>${slave.slaveName} has been put on preventatives, since curatives cannot improve ${his} health further.`;
 							slave.curatives = 1;
 						}
 					} else {
@@ -1728,7 +1732,7 @@ window.DefaultRules = (function() {
 							slave.hormones = Math.clamp(slave.hormones, -1, 1);
 						}
 						if (slave.hormones !== _oldHormones) {
-							r += `<br>${slave.slaveName} is a gelding, so she has been put on the appropriate hormonal regime.`;
+							r += `<br>${slave.slaveName} is a gelding, so ${he} has been put on the appropriate hormonal regime.`;
 						}
 					}
 				}
@@ -1744,7 +1748,7 @@ window.DefaultRules = (function() {
 										slave.hormones = Math.clamp(slave.hormones, -1, 1);
 									}
 									if (slave.hormones !== _oldHormones) {
-										r += `<br>${slave.slaveName} is a shemale, so she has been put on the appropriate hormonal regime.`;
+										r += `<br>${slave.slaveName} is a shemale, so ${he} has been put on the appropriate hormonal regime.`;
 									}
 								}
 							}
@@ -1765,7 +1769,7 @@ window.DefaultRules = (function() {
 					slave.hormones = Math.clamp(slave.hormones, -1, 1);
 				}
 				if (slave.hormones !== _oldHormones) {
-					r += `<br>${slave.slaveName} is a female, so she has been put on the appropriate hormonal regime.`;
+					r += `<br>${slave.slaveName} is a female, so ${he} has been put on the appropriate hormonal regime.`;
 				}
 			}
 		}
@@ -1776,24 +1780,24 @@ window.DefaultRules = (function() {
 		if (slave.pregKnown === 1 && rule.pregSpeed !== "no default setting" && (slave.breedingMark !== 1 || V.propOutcome === 0) && slave.indentureRestrictions < 1 && slave.broodmother === 0) {
 			if (rule.pregSpeed === "slow" && slave.preg < slave.pregData.minLiveBirth) {
 				slave.pregControl = "slow gestation";
-				r += `<br>${slave.slaveName} is pregnant, so she has been put on the gestation slowing agents.`;
+				r += `<br>${slave.slaveName} is pregnant, so ${he} has been put on the gestation slowing agents.`;
 			} else if (rule.pregSpeed === "fast" && slave.preg < slave.pregData.minLiveBirth && slave.health > -50) {
 				slave.pregControl = "speed up";
-				r += `<br>${slave.slaveName} is pregnant, so she has been put on rapid gestation agents. CAUTION! Can be dangerous. Clinic supervision is recommended.`;
+				r += `<br>${slave.slaveName} is pregnant, so ${he} has been put on rapid gestation agents. CAUTION! Can be dangerous. Clinic supervision is recommended.`;
 			} else if (rule.pregSpeed === "suppress" && slave.preg >= slave.pregData.minLiveBirth && slave.health > -50) {
 				slave.pregControl = "labor suppressors";
-				r += `<br>${slave.slaveName} is ready to birth, so she has been put on labor suppressing agents.`;
+				r += `<br>${slave.slaveName} is ready to birth, so ${he} has been put on labor suppressing agents.`;
 			} else if (rule.pregSpeed === "stimulate" && slave.preg > slave.pregData.minLiveBirth && slave.health > -50) {
 				slave.labor = 1;
 				slave.induce = 1;
 				V.birthee = 1;
-				r += `<br>${slave.slaveName} is ready to birth, so her labor has been stimulated.`;
+				r += `<br>${slave.slaveName} is ready to birth, so ${his} labor has been stimulated.`;
 			} else if (rule.pregSpeed === "fast" && slave.pregControl === "speed up" && slave.health <= -50) {
 				slave.pregControl = "none";
-				r += `<br>${slave.slaveName} is on rapid gestation agents and dangerously unhealthy, so her agent regimen has been stopped.`;
+				r += `<br>${slave.slaveName} is on rapid gestation agents and dangerously unhealthy, so ${his} agent regimen has been stopped.`;
 			} else if (rule.pregSpeed === "suppress" && slave.pregControl === "labor suppressors" && slave.health <= -50) {
 				slave.pregControl = "none";
-				r += `<br>${slave.slaveName} is on labor suppression agents and unhealthy, so her agent regimen has been stopped.`;
+				r += `<br>${slave.slaveName} is on labor suppression agents and unhealthy, so ${his} agent regimen has been stopped.`;
 			}
 		}
 	}
@@ -1802,13 +1806,13 @@ window.DefaultRules = (function() {
 	function ProcessLivingStandard(slave, rule) {
 		if ((rule.livingRules !== undefined) && (rule.livingRules !== "no default setting")) {
 			if (setup.facilityCareers.includes(slave.assignment)) {
-				r += ``; // `<br>${slave.slaveName}'s living standards are controlled by her assignment.`;
+				r += ``; // `<br>${slave.slaveName}'s living standards are controlled by ${his} assignment.`;
 			} else if (((slave.assignment === "be your Head Girl") && (V.HGSuite === 1)) || ((slave.assignment === "guard you") && (V.dojo > 1))) {
 				r += `<br>${slave.slaveName} has a private room.`;
 			} else if ((slave.fetish === "mindbroken")) {
 				if ((slave.livingRules !== "spare")) {
 					slave.livingRules = "spare";
-					r += `<br>Since ${slave.slaveName} is mindbroken her living standard has been set to spare.`;
+					r += `<br>Since ${slave.slaveName} is mindbroken, ${his} living standard has been set to spare.`;
 				}
 			} else if (slave.livingRules !== rule.livingRules) {
 				if (rule.livingRules !== "luxurious") {
@@ -1821,7 +1825,7 @@ window.DefaultRules = (function() {
 							V.roomsPopulation += 1;
 					} else {
 						slave.livingRules = "normal";
-						r += `<br>${slave.slaveName}'s living standard has been set to normal, since there is no room for her to occupy.`;
+						r += `<br>${slave.slaveName}'s living standard has been set to normal, since there is no room for ${him} to occupy.`;
 					}
 				} else {
 					slave.livingRules = rule.livingRules;
@@ -1837,15 +1841,15 @@ window.DefaultRules = (function() {
 			if (slave.fetish === "mindbroken") {
 				if ((slave.speechRules !== "restrictive")) {
 					slave.speechRules = "restrictive";
-					r += `<br>Since ${slave.slaveName} is mindbroken her speech rules have been set to restrictive.`;
+					r += `<br>Since ${slave.slaveName} is mindbroken, ${his} speech rules have been set to restrictive.`;
 				}
 			} else if (slave.accent === 4) {
 				if (rule.speechRules === "accent elimination" && slave.speechRules !== "language lessons") {
 					slave.speechRules = "language lessons";
-					r += `<br>Since ${slave.slaveName} does not know how to talk, her speech rules have been set to language learning.`;
+					r += `<br>Since ${slave.slaveName} does not know how to talk, ${his} speech rules have been set to language learning.`;
 				} else {
 					slave.speechRules = "restrictive";
-					r += `<br>Since ${slave.slaveName} does not know how to talk, her speech rules have been set to restrictive.`;
+					r += `<br>Since ${slave.slaveName} does not know how to talk, ${his} speech rules have been set to restrictive.`;
 				}
 			} else if (rule.speechRules === "accent elimination") {
 				if (slave.accent > 0) {
@@ -1853,7 +1857,7 @@ window.DefaultRules = (function() {
 					r += `<br>${slave.slaveName}'s speech rules have been set to ${rule.speechRules}.`;
 				} else {
 					slave.speechRules = "restrictive";
-					r += `<br>Since ${slave.slaveName} has no accent her speech rules have been set to restrictive.`;
+					r += `<br>Since ${slave.slaveName} has no accent, ${his} speech rules have been set to restrictive.`;
 				}
 			} else if (slave.speechRules !== rule.speechRules) {
 				slave.speechRules = rule.speechRules;
@@ -1879,16 +1883,16 @@ window.DefaultRules = (function() {
 		if ((rule.releaseRules !== undefined) && (rule.releaseRules !== "no default setting")) {
 			let _release = 0;
 			if (rule.releaseRules === "restrictive" &&
-				!(["serve the public", "serve in the club", "whore", "work in the brothel", "please you", "serve in the master suite", "be a subordinate slave", "work a glory hole", "be confined in the arcade", "get milked", "work in the dairy", "work as a farmhand", "be your Head Girl"].contains(slave.assignment)))
+				!(["be a subordinate slave", "be confined in the arcade", "be your Head Girl", "get milked", "please you", "serve in the club", "serve in the master suite", "serve the public", "whore", "work a glory hole", "work as a farmhand", "work in the brothel", "work in the dairy"].contains(slave.assignment)))
 				_release = 1;
 			else
 				_release = 1;
 			if ((slave.fetish === "mindbroken") && (slave.releaseRules !== "permissive")) {
 				slave.releaseRules = "permissive";
-				r += `<br>Since ${slave.slaveName} is mindbroken her masturbation rules have been set to permissive.`;
+				r += `<br>Since ${slave.slaveName} is mindbroken, ${his} masturbation rules have been set to permissive.`;
 			} else if ((slave.amp === 1 || slave.fuckdoll > 0) && (slave.releaseRules === "masturbation")) {
 				slave.releaseRules = "restrictive";
-				r += `<br>Since ${slave.slaveName} is unable to masturbate, her masturbation rules have been set to restrictive.`;
+				r += `<br>Since ${slave.slaveName} is unable to masturbate, ${his} masturbation rules have been set to restrictive.`;
 			} else if ((_release !== 0) && (slave.releaseRules !== rule.releaseRules)) {
 				slave.releaseRules = rule.releaseRules;
 				r += `<br>${slave.slaveName}'s masturbation rules have been set to ${rule.releaseRules}.`;
@@ -1922,30 +1926,30 @@ window.DefaultRules = (function() {
 			if (rule.toyHole === "pussy") {
 				if (slave.vagina > 0 && canDoVaginal(slave)) {
 					slave.toyHole = rule.toyHole ;
-					r += `<br>${slave.slaveName} has been instructed to use her ${rule.toyHole} to please you.`;
+					r += `<br>${slave.slaveName} has been instructed to use ${his} ${rule.toyHole} to please you.`;
 				} else if (slave.toyHole !== "all her holes") {
 					slave.toyHole = "all her holes" ;
-					r += `<br>${slave.slaveName}'s hole preference has defaulted to all her holes.`;
+					r += `<br>${slave.slaveName}'s hole preference has defaulted to all ${his} holes.`;
 				}
 			} else if (rule.toyHole === "ass") {
 				if (slave.anus > 0 && canDoAnal(slave)) {
 					slave.toyHole = rule.toyHole ;
-					r += `<br>${slave.slaveName} has been instructed to use her ${rule.toyHole} to please you.`;
+					r += `<br>${slave.slaveName} has been instructed to use ${his} ${rule.toyHole} to please you.`;
 				} else if (slave.toyHole !== "all her holes") {
 					slave.toyHole = "all her holes" ;
-					r += `<br>${slave.slaveName}'s hole preference has defaulted to all her holes.`;
+					r += `<br>${slave.slaveName}'s hole preference has defaulted to all ${his} holes.`;
 				}
 			} else if (rule.toyHole === "dick") {
 				if (slave.dick > 0 && canPenetrate(slave)) {
 					slave.toyHole = rule.toyHole ;
-					r += `<br>${slave.slaveName} has been instructed to use her ${rule.toyHole} to please you.`;
+					r += `<br>${slave.slaveName} has been instructed to use ${his} ${rule.toyHole} to please you.`;
 				} else if (slave.toyHole !== "all her holes") {
 					slave.toyHole = "all her holes" ;
-					r += `<br>${slave.slaveName}'s hole preference has defaulted to all her holes.`;
+					r += `<br>${slave.slaveName}'s hole preference has defaulted to all ${his} holes.`;
 				}
 			} else if ((slave.toyHole !== rule.toyHole)) {
 				slave.toyHole = rule.toyHole ;
-				r += `<br>${slave.slaveName} has been instructed to use her ${rule.toyHole} to please you.`;
+				r += `<br>${slave.slaveName} has been instructed to use ${his} ${rule.toyHole} to please you.`;
 			}
 		}
 	}
@@ -1960,9 +1964,9 @@ window.DefaultRules = (function() {
 					slave.dietMilk = 0;
 				}
 				if (slave.dietCum === 1)
-					r += `<br>${slave.slaveName} has had cum added to her diet.`;
+					r += `<br>${slave.slaveName} has had cum added to ${his} diet.`;
 				else
-					r += `<br>${slave.slaveName} has had cum removed from her diet.`;
+					r += `<br>${slave.slaveName} has had cum removed from ${his} diet.`;
 			}
 		}
 	}
@@ -1977,9 +1981,9 @@ window.DefaultRules = (function() {
 					slave.dietCum = 0;
 				}
 				if (slave.dietMilk === 1)
-					r += `<br>${slave.slaveName} has had human milk added to her diet.`;
+					r += `<br>${slave.slaveName} has had human milk added to ${his} diet.`;
 				else
-					r += `<br>${slave.slaveName} has had human milk removed from her diet.`;
+					r += `<br>${slave.slaveName} has had human milk removed from ${his} diet.`;
 			}
 		}
 	}
@@ -2004,11 +2008,11 @@ window.DefaultRules = (function() {
 				if ((slave.teeth === "crooked")) {
 					slave.teeth = "straightening braces";
 					cashX(forceNeg(V.modCost), "slaveSurgery", slave);
-					r += `<br>${slave.slaveName} has been given braces for her crooked teeth.`;
+					r += `<br>${slave.slaveName} has been given braces for ${his} crooked teeth.`;
 				} else if (slave.teeth === "gapped") {
 					slave.teeth = "straightening braces";
 					cashX(forceNeg(V.modCost), "slaveSurgery", slave);
-					r += `<br>${slave.slaveName} has been given braces to close the gap in her teeth.`;
+					r += `<br>${slave.slaveName} has been given braces to close the gap in ${his} teeth.`;
 				} else if ((slave.teeth === "normal")) {
 					slave.teeth = "cosmetic braces";
 					cashX(forceNeg(V.modCost), "slaveSurgery", slave);
@@ -2018,22 +2022,22 @@ window.DefaultRules = (function() {
 				if ((slave.teeth === "crooked")) {
 					slave.teeth = "straightening braces";
 					cashX(forceNeg(V.modCost), "slaveSurgery", slave);
-					r += `<br>${slave.slaveName} has been given braces for her crooked teeth.`;
+					r += `<br>${slave.slaveName} has been given braces for ${his} crooked teeth.`;
 				} else if (slave.teeth === "gapped") {
 					slave.teeth = "straightening braces";
 					cashX(forceNeg(V.modCost), "slaveSurgery", slave);
-					r += `<br>${slave.slaveName} has been given braces to close the gap in her teeth.`;
+					r += `<br>${slave.slaveName} has been given braces to close the gap in ${his} teeth.`;
 				} else if ((slave.teeth === "cosmetic braces")) {
 					slave.teeth = "normal";
-					r += `<br>${slave.slaveName} has had her braces removed, since her teeth are straight.`;
+					r += `<br>${slave.slaveName} has had ${his} braces removed, since ${his} teeth are straight.`;
 				}
 			} else if ((rule.teeth === "none")) {
 				if ((slave.teeth === "straightening braces")) {
 					slave.teeth = "crooked";
-					r += `<br>${slave.slaveName} has had her braces removed.`;
+					r += `<br>${slave.slaveName} has had ${his} braces removed.`;
 				} else if ((slave.teeth === "cosmetic braces")) {
 					slave.teeth = "normal";
-					r += `<br>${slave.slaveName} has had her braces removed.`;
+					r += `<br>${slave.slaveName} has had ${his} braces removed.`;
 				}
 			}
 		}
@@ -2099,7 +2103,7 @@ window.DefaultRules = (function() {
 						r += `<br>${slave.slaveName}'s hair has been cut; it `;
 					} else {
 						cashX(forceNeg(V.modCost*Math.trunc((rule.hLength-slave.hLength)/10)), "slaveMod");
-						r += `<br>${slave.slaveName} has been given extensions; her hair `;
+						r += `<br>${slave.slaveName} has been given extensions; ${his} hair `;
 					}
 				r += `is now ${lengthToEitherUnit(rule.hLength)} long.`;
 				slave.hLength = rule.hLength;
diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js
index 94cba504d2f4912ad30839ea18a5ab8af7b3e502..cc632b2c747baff0dc98d12afa9128e35631fd6b 100644
--- a/src/js/SlaveState.js
+++ b/src/js/SlaveState.js
@@ -1387,116 +1387,117 @@ App.Entity.SlaveState = class SlaveState {
 		/** 0: no; 1: yes */
 		this.choosesOwnClothes = 0;
 		/**
-		* may accept strings, use at own risk
-		*
-		* * "a ball gown"
-		* * "a biyelgee costume"
-		* * "a bra"
-		* * "a bunny outfit"
-		* * "a burkini"
-		* * "a burqa"
-		* * "a button-up shirt"
-		* * "a button-up shirt and panties"
-		* * "a chattel habit"
-		* * "a cheerleader outfit"
-		* * "a comfortable bodysuit"
-		* * "a cybersuit"
-		* * "a dirndl"
-		* * "a fallen nuns habit"
-		* * "a Fuckdoll suit"
-		* * "a gothic lolita dress"
-		* * "a halter top dress"
-		* * "a hanbok"
-		* * "a hijab and abaya"
-		* * "a hijab and blouse"
-		* * "a huipil"
-		* * "a kimono"
-		* * "a klan robe"
-		* * "a latex catsuit"
-		* * "a leotard"
-		* * "a long qipao"
-		* * "a maternity dress"
-		* * "a military uniform"
-		* * "a mini dress"
-		* * "a monokini"
-		* * "a mounty outfit"
-		* * "a nice maid outfit"
-		* * "a nice nurse outfit"
-		* * "a nice pony outfit"
-		* * "a niqab and abaya"
-		* * "a one-piece swimsuit"
-		* * "a penitent nuns habit"
-		* * "a police uniform"
-		* * "a red army uniform"
-		* * "a scalemail bikini"
-		* * "a schoolgirl outfit"
-		* * "a schutzstaffel uniform"
-		* * "a skimpy loincloth"
-		* * "a slave gown"
-		* * "a slutty klan robe"
-		* * "a slutty maid outfit"
-		* * "a slutty nurse outfit"
-		* * "a slutty outfit"
-		* * "a slutty pony outfit"
-		* * "a slutty qipao"
-		* * "a slutty schutzstaffel uniform"
-		* * "a sports bra"
-		* * "a string bikini"
-		* * "a striped bra"
-		* * "a succubus outfit"
-		* * "a sweater"
-		* * "a sweater and cutoffs"
-		* * "a sweater and panties"
-		* * "a t-shirt"
-		* * "a t-shirt and jeans"
-		* * "a t-shirt and panties"
-		* * "a t-shirt and thong"
-		* * "a tank-top"
-		* * "a tank-top and panties"
-		* * "a thong"
-		* * "a toga"
-		* * "a tube top"
-		* * "a tube top and thong"
-		* * "an apron"
-		* * "an oversized t-shirt"
-		* * "an oversized t-shirt and boyshorts"
-		* * "attractive lingerie"
-		* * "attractive lingerie for a pregnant woman"
-		* * "battlearmor"
-		* * "battledress"
-		* * "body oil"
-		* * "boyshorts"
-		* * "chains"
-		* * "choosing her own clothes"
-		* * "clubslut netting"
-		* * "conservative clothing"
-		* * "cutoffs"
-		* * "cutoffs and a t-shirt"
-		* * "harem gauze"
-		* * "jeans"
-		* * "kitty lingerie"
-		* * "leather pants"
-		* * "leather pants and a tube top"
-		* * "leather pants and pasties"
-		* * "lederhosen"
-		* * "nice business attire"
-		* * "no clothing"
-		* * "panties"
-		* * "panties and pasties"
-		* * "restrictive latex"
-		* * "shibari ropes"
-		* * "slutty business attire"
-		* * "slutty jewelry"
-		* * "spats and a tank top"
-		* * "sport shorts"
-		* * "sport shorts and a sports bra"
-		* * "sport shorts and a t-shirt"
-		* * "stretch pants and a crop-top"
-		* * "striped panties"
-		* * "striped underwear"
-		* * "uncomfortable straps"
-		* * "Western clothing"
-		*/
+		 * may accept strings, use at own risk
+		 *
+		 * * "a ball gown"
+		 * * "a biyelgee costume"
+		 * * "a bra"
+		 * * "a bunny outfit"
+		 * * "a burkini"
+		 * * "a burqa"
+		 * * "a button-up shirt"
+		 * * "a button-up shirt and panties"
+		 * * "a chattel habit"
+		 * * "a cheerleader outfit"
+		 * * "a comfortable bodysuit"
+		 * * "a cybersuit"
+		 * * "a dirndl"
+		 * * "a fallen nuns habit"
+		 * * "a Fuckdoll suit"
+		 * * "a gothic lolita dress"
+		 * * "a halter top dress"
+		 * * "a hanbok"
+		 * * "a hijab and abaya"
+		 * * "a hijab and blouse"
+		 * * "a huipil"
+		 * * "a kimono"
+		 * * "a klan robe"
+		 * * "a latex catsuit"
+		 * * "a leotard"
+		 * * "a long qipao"
+		 * * "a maternity dress"
+		 * * "a military uniform"
+		 * * "a mini dress"
+		 * * "a monokini"
+		 * * "a mounty outfit"
+		 * * "a nice maid outfit"
+		 * * "a nice nurse outfit"
+		 * * "a nice pony outfit"
+		 * * "a niqab and abaya"
+		 * * "a one-piece swimsuit"
+		 * * "a penitent nuns habit"
+		 * * "a police uniform"
+		 * * "a red army uniform"
+		 * * "a Santa dress"
+		 * * "a scalemail bikini"
+		 * * "a schoolgirl outfit"
+		 * * "a schutzstaffel uniform"
+		 * * "a skimpy loincloth"
+		 * * "a slave gown"
+		 * * "a slutty klan robe"
+		 * * "a slutty maid outfit"
+		 * * "a slutty nurse outfit"
+		 * * "a slutty outfit"
+		 * * "a slutty pony outfit"
+		 * * "a slutty qipao"
+		 * * "a slutty schutzstaffel uniform"
+		 * * "a sports bra"
+		 * * "a string bikini"
+		 * * "a striped bra"
+		 * * "a succubus outfit"
+		 * * "a sweater"
+		 * * "a sweater and cutoffs"
+		 * * "a sweater and panties"
+		 * * "a t-shirt"
+		 * * "a t-shirt and jeans"
+		 * * "a t-shirt and panties"
+		 * * "a t-shirt and thong"
+		 * * "a tank-top"
+		 * * "a tank-top and panties"
+		 * * "a thong"
+		 * * "a toga"
+		 * * "a tube top"
+		 * * "a tube top and thong"
+		 * * "an apron"
+		 * * "an oversized t-shirt"
+		 * * "an oversized t-shirt and boyshorts"
+		 * * "attractive lingerie"
+		 * * "attractive lingerie for a pregnant woman"
+		 * * "battlearmor"
+		 * * "battledress"
+		 * * "body oil"
+		 * * "boyshorts"
+		 * * "chains"
+		 * * "choosing her own clothes"
+		 * * "clubslut netting"
+		 * * "conservative clothing"
+		 * * "cutoffs"
+		 * * "cutoffs and a t-shirt"
+		 * * "harem gauze"
+		 * * "jeans"
+		 * * "kitty lingerie"
+		 * * "leather pants"
+		 * * "leather pants and a tube top"
+		 * * "leather pants and pasties"
+		 * * "lederhosen"
+		 * * "nice business attire"
+		 * * "no clothing"
+		 * * "panties"
+		 * * "panties and pasties"
+		 * * "restrictive latex"
+		 * * "shibari ropes"
+		 * * "slutty business attire"
+		 * * "slutty jewelry"
+		 * * "spats and a tank top"
+		 * * "sport shorts"
+		 * * "sport shorts and a sports bra"
+		 * * "sport shorts and a t-shirt"
+		 * * "stretch pants and a crop-top"
+		 * * "striped panties"
+		 * * "striped underwear"
+		 * * "uncomfortable straps"
+		 * * "Western clothing"
+		 */
 		this.clothes = "no clothing";
 		/**
 		* may accept strings, use at own risk 	"none"
@@ -1534,32 +1535,45 @@ App.Entity.SlaveState = class SlaveState {
 		*/
 		this.shoes = "none";
 		/**
-		* may accept strings, use at own risk
-		* * "none"
-		* * "chastity belt"
-		* * "combined chastity"
-		* * "anal chastity"
-		* * "dildo"
-		* * "large dildo"
-		* * "huge dildo"
-		* * "long dildo"
-		* * "long, large dildo"
-		* * "long, huge dildo"
-		*/
+		 * may accept strings, use at own risk
+		 * * "none"
+		 * * "dildo"
+		 * * "large dildo"
+		 * * "huge dildo"
+		 * * "long dildo"
+		 * * "long, large dildo"
+		 * * "long, huge dildo"
+		 */
 		this.vaginalAccessory = "none";
 		/**
-		* may accept strings, use at own risk
-		* * "none"
-		* * "chastity"
-		* * "anal chastity"
-		* * "combined chastity"
-		*/
+		 * may accept strings, use at own risk
+		 * * "none"
+		 */
 		this.dickAccessory = "none";
 		/**
-		* * "none"
-		* * "short stockings"
-		* * "long stockings"
+		* whether the slave has a chastity device on their anus
+		* 0 - no
+		* 1 - yes
 		*/
+		this.chastityAnus = 0;
+		/**
+		* whether the slave has a chastity device on their penis
+		* 0 - no
+		* 1 - yes
+		*/
+		this.chastityPenis = 0;
+		/**
+		* whether the slave has a chastity device on their vagina
+		* 0 - no
+		* 1 - yes
+		*/
+		this.chastityVagina = 0;
+		/**
+		 * may accept strings, use at own risk
+		 * * "none"
+		 * * "short stockings"
+		 * * "long stockings"
+		 */
 		this.legAccessory = "none";
 		/**
 		* may accept strings, use at own risk
@@ -1732,7 +1746,9 @@ App.Entity.SlaveState = class SlaveState {
 		* * "size queen": prefers big cocks
 		*/
 		this.sexualQuirk = "none";
-		/** 0: does not have; 1: carrier; 2: active */
+		/** 0: does not have; 1: carrier; 2: active 
+		* * heterochromia is an exception. String = active
+		*/
 		this.geneticQuirks = {
 			/** Oversized breasts. Increased growth rate, reduced shrink rate. Breasts try to return to oversized state if reduced. */
 			macromastia: 0,
@@ -1756,8 +1772,10 @@ App.Entity.SlaveState = class SlaveState {
 			pFace: 0,
 			/** has a hideous face. pFace + uFace - Depends on carrier status, may swing between average and above/below depending on it */
 			uFace: 0,
-			/**  has pale skin, white hair and red eyes */
+			/** has pale skin, white hair and red eyes */
 			albinism: 0,
+			/** may have mismatched eyes */
+			heterochromia: 0,
 			/** ass never stops growing. Increased growth rate, reduced shrink rate. */
 			rearLipedema: 0,
 			/** has (or will have) a huge dong */
@@ -2047,22 +2065,22 @@ App.Entity.SlaveState = class SlaveState {
 		/** Cause of slave death. */
 		this.death = "";
 		/**
-		* Slave's current hormonal balance, directs saHormones changes
-		*
-		* ||tresholds|
-		* |-|-|
-		* -500 - -400 | overwhelmingly masculine
-		* -399 - -300 | extremely masculine
-		* -299 - -200 | heavily masculine
-		* -199 - -100 | very masculine
-		* -99 - -21 | masculine
-		* -20 - 20 | neutral
-		* 21 - 99 | feminine
-		* 100 - 199 | very feminine
-		* 200 - 299 | heavily feminine
-		* 300 - 399 | extremely feminine
-		* 400 - 500 | overwhelmingly feminine
-		*/
+		 * Slave's current hormonal balance, directs saHormones changes
+		 *
+		 * ||thresholds|
+		 * |-|-|
+		 * -500 - -400 | overwhelmingly masculine
+		 * -399 - -300 | extremely masculine
+		 * -299 - -200 | heavily masculine
+		 * -199 - -100 | very masculine
+		 * -99 - -21 | masculine
+		 * -20 - 20 | neutral
+		 * 21 - 99 | feminine
+		 * 100 - 199 | very feminine
+		 * 200 - 299 | heavily feminine
+		 * 300 - 399 | extremely feminine
+		 * 400 - 500 | overwhelmingly feminine
+		 */
 		this.hormoneBalance = 0;
 		/** Whether a slave is permitted to eat Hedonistic Decadence's specialized slave food.
 		*
@@ -2190,6 +2208,7 @@ App.Entity.SlaveState = class SlaveState {
 		this.override_Pubic_H_Color = 0;
 		this.override_Arm_H_Color = 0;
 		this.override_Brow_H_Color = 0;
+		this.albinismOverride = 0;
 		/** are eyes missing?
 		*
 		* 0: none; 1: yes, left; 2: yes, right; 3: yes, both */
diff --git a/src/js/assayJS.js b/src/js/assayJS.js
index 8c0f47ad7ed0393e2c1687ee8b6edead33288ebd..1a5c8d6bf3097b5e7a5957fa0991797433e2d7b2 100644
--- a/src/js/assayJS.js
+++ b/src/js/assayJS.js
@@ -358,12 +358,23 @@ window.newSlave = /** @param {App.Entity.SlaveState} slave */ function newSlave(
 
 	if (slave.origin !== "She was your slave, but you freed her, which she repaid by participating in a coup attempt against you. It failed, and she is again your chattel." && slave.ID !== V.boomerangSlave.ID) {
 		V.genePool.push(slave);
+		/* Store non-albino stats in genePool */
+		if (slave.geneticQuirks.albinism === 2) {
+			var albInd = V.genePool.findIndex(function(s) { return s.ID === slave.ID; });
+			V.genePool.genePool[albInd].origSkin = slave.albinismOverride.skin;
+			V.genePool.genePool[albInd].origEye = slave.albinismOverride.eyeColor;
+			V.genePool.genePool[albInd].origHColor = slave.albinismOverride.hColor;
+			V.genePool.genePool[albInd].underArmHColor = slave.albinismOverride.hColor;
+			V.genePool.genePool[albInd].pubicHColor = slave.albinismOverride.hColor;
+			V.genePool.genePool[albInd].eyebrowHColor = slave.albinismOverride.hColor;
+			slave.albinismOverride = 0;
+		}
 	} else {
 		if (V.genePool.findIndex(function(s) { return s.ID === slave.ID; }) === -1) {
 			V.genePool.push(slave);
 		}
 	}
-
+	
 	/* add to facilities array if needed */
 	if (slave.assignment !== "rest") {
 		assignJob(slave, slave.assignment);
@@ -573,6 +584,8 @@ window.Enunciate = /** @param {App.Entity.SlaveState} slave */ function Enunciat
 		V.ShEnunciate = "Th";
 		V.scEnunciate = "th";
 		V.ScEnunciate = "Th";
+		V.schEnunciate = "th";
+		V.SchEnunciate = "Th";
 		V.xEnunciate = "kth";
 		V.XEnunciate = "Th";
 	} else {
@@ -641,6 +654,8 @@ window.Enunciate = /** @param {App.Entity.SlaveState} slave */ function Enunciat
 		V.ShEnunciate = "Sh";
 		V.scEnunciate = "sc";
 		V.ScEnunciate = "Sc";
+		V.schEnunciate = "sch";
+		V.SchEnunciate = "Sch";
 		V.xEnunciate = "x";
 		V.XEnunciate = "X";
 	}
@@ -1323,6 +1338,10 @@ window.SlaveTitle = /** @param {App.Entity.SlaveState} slave */ function SlaveTi
 				r = "loli " + r;
 			}
 		}
+		
+		if (slave.geneticQuirks.albinism === 2) {
+			r = "albino " + r;
+		}
 
 		if (slave.dick > 9 && slave.balls > 9 && slave.boobs > 12000) {
 			r = "hyper " + r;
@@ -1373,7 +1392,7 @@ window.SlaveTitle = /** @param {App.Entity.SlaveState} slave */ function SlaveTi
 		} else if (slave.births >= 3) {
 			r = r + " breeder";
 		}
-
+		
 		if (slave.indenture > -1) {
 			r = "indentured " + r;
 		}
@@ -1585,6 +1604,10 @@ window.SlaveTitle = /** @param {App.Entity.SlaveState} slave */ function SlaveTi
 			r = r + " breeder";
 		}
 
+		if (slave.geneticQuirks.albinism === 2) {
+			r = "albino " + r;
+		}
+
 		if (slave.indenture > -1) {
 			r = "indentured " + r;
 		}
diff --git a/src/js/datatypeCleanupJS.js b/src/js/datatypeCleanupJS.js
index 22ccf04dc7bb1081389daedd9a15a3b1c1497a44..28e29af6d747d17c13245c9e5ba9cc86c0467994 100644
--- a/src/js/datatypeCleanupJS.js
+++ b/src/js/datatypeCleanupJS.js
@@ -373,6 +373,9 @@ window.SlaveDatatypeCleanup = (function SlaveDatatypeCleanup() {
 		slave.makeup = Math.clamp(+slave.makeup, 0, 8) || 0;
 		slave.nails = Math.clamp(+slave.nails, 0, 9) || 0;
 		slave.scars = Math.clamp(+slave.scars, 0, 6) || 0;
+		slave.chastityAnus = Math.clamp(+slave.chastityAnus, 0, 1) || 0;
+		slave.chastityPenis = Math.clamp(+slave.chastityPenis, 0, 1) || 0;
+		slave.chastityVagina = Math.clamp(+slave.chastityVagina, 0, 1) || 0;
 		slave.choosesOwnClothes = Math.clamp(+slave.choosesOwnClothes, 0, 1) || 0;
 		if (typeof slave.clothes !== "string") {
 			slave.clothes = "no clothing";
@@ -598,7 +601,7 @@ window.SlaveDatatypeCleanup = (function SlaveDatatypeCleanup() {
 		if (typeof slave.customTitleLisp !== "string") {
 			slave.customTitleLisp = "";
 		}
-		if (typeof slave.customImage !== "string") {
+		if (typeof slave.customImage !== "string" || slave.customImage === "") {
 			slave.customImage = 0;
 		}
 	}
@@ -945,6 +948,9 @@ window.childCosmeticsDatatypeCleanup = function childCosmeticsDatatypeCleanup(ch
 	child.makeup = Math.clamp(+child.makeup, 0, 8) || 0;
 	child.nails = Math.clamp(+child.nails, 0, 9) || 0;
 	child.scars = Math.clamp(+child.scars, 0, 6) || 0;
+	child.chastityAnus = Math.clamp(+child.chastityAnus, 0, 1) || 0;
+	child.chastityPenis = Math.clamp(+child.chastityPenis, 0, 1) || 0;
+	child.chastityVagina = Math.clamp(+child.chastityVagina, 0, 1) || 0;
 	child.choosesOwnClothes = Math.clamp(+child.choosesOwnClothes, 0, 1) || 0;
 	if (typeof child.clothes !== "string") {
 		child.clothes = "no clothing";
@@ -1390,6 +1396,21 @@ window.ArcologyDatatypeCleanup = function ArcologyDatatypeCleanup() {
 	V.TFS.schoolProsperity = Math.clamp(+V.TFS.schoolProsperity, -10, 10) || 0;
 };
 
+function FacilityDecorationCleanup() {
+	ValidateFacilityDecoration("brothelDecoration");
+	ValidateFacilityDecoration("dairyDecoration");
+	ValidateFacilityDecoration("clubDecoration");
+	ValidateFacilityDecoration("servantsQuartersDecoration");
+	ValidateFacilityDecoration("schoolroomDecoration");
+	ValidateFacilityDecoration("spaDecoration");
+	ValidateFacilityDecoration("clinicDecoration");
+	ValidateFacilityDecoration("arcadeDecoration");
+	ValidateFacilityDecoration("cellblockDecoration");
+	ValidateFacilityDecoration("masterSuiteDecoration");
+	ValidateFacilityDecoration("nurseryDecoration");
+	ValidateFacilityDecoration("farmyardDecoration");
+};
+
 window.FacilityDatatypeCleanup = (function() {
 	"use strict";
 	let V;
@@ -1437,33 +1458,6 @@ window.FacilityDatatypeCleanup = (function() {
 		helperFunction(V.FarmyardiIDs);
 	}
 
-	function FacilityDecorationCleanup() {
-		if (typeof V.brothelDecoration !== "string")
-			V.brothelDecoration = "standard";
-		if (typeof V.dairyDecoration !== "string")
-			V.dairyDecoration = "standard";
-		if (typeof V.clubDecoration !== "string")
-			V.clubDecoration = "standard";
-		if (typeof V.servantsQuartersDecoration !== "string")
-			V.servantsQuartersDecoration = "standard";
-		if (typeof V.schoolroomDecoration !== "string")
-			V.schoolroomDecoration = "standard";
-		if (typeof V.spaDecoration !== "string")
-			V.spaDecoration = "standard";
-		if (typeof V.clinicDecoration !== "string")
-			V.clinicDecoration = "standard";
-		if (typeof V.arcadeDecoration !== "string")
-			V.arcadeDecoration = "standard";
-		if (typeof V.cellblockDecoration !== "string")
-			V.cellblockDecoration = "standard";
-		if (typeof V.masterSuiteDecoration !== "string")
-			V.masterSuiteDecoration = "standard";
-		if (typeof V.nurseryDecoration !== "string")
-			V.nurseryDecoration = "standard";
-		if (typeof V.farmyardDecoration !== "string")
-			V.farmyardDecoration = "standard";
-	}
-
 	function FacilityNameCleanup() {
 		V.arcologies[0].name = V.arcologies[0].name || "Arcology X-4";
 		V.brothelName = V.brothelName || "the Brothel";
diff --git a/src/js/economyJS.js b/src/js/economyJS.js
index 9567d7f2f59da92d3c38682f8a886bc1bfd8f9d3..e2441ada2830fcc426dee198b91abc5f0caed38b 100644
--- a/src/js/economyJS.js
+++ b/src/js/economyJS.js
@@ -95,12 +95,12 @@ window.getCost = function(array) {
 	//these two apply a multiplicative effect to all costs so far.
 	// Calculate what the deduced expenses would be, then subtract
 	costSoFar = (oldCash - State.variables.cash); //How much we have spent by this point; expected to be positive.
-	cashX(costSoFar - getEnvironmentCosts(costSoFar), "environment"); //getEnv takes total costs and makes it worse.  Figure out how much worse and record it
+	cashX(costSoFar - getEnvironmentCosts(costSoFar), "environment"); //getEnv takes total costs and makes it worse. Figure out how much worse and record it
 
 	costSoFar = (oldCash - State.variables.cash);
 	cashX(costSoFar - getPCMultiplierCosts(costSoFar), "PCskills");
 
-	//in the old order these were applied after multiplication.  Not sure if deliberate, but I'm leaving it for now.
+	//in the old order these were applied after multiplication. Not sure if deliberate, but I'm leaving it for now.
 	cashX(forceNeg(getSFCosts()), "specialForces");
 	cashX(forceNeg(getWeatherCosts()), "weather");
 	return (oldCash - State.variables.cash);
@@ -1076,9 +1076,9 @@ window.initFacilityStatistics = function(facility) {
 
 /*
 
-Welcome to the new way to spend and make money, all while having it recorded: cashX!  In the past, costs were directly deducted from $cash, with something like <<set $cash -= 100>>.
+Welcome to the new way to spend and make money, all while having it recorded: cashX! In the past, costs were directly deducted from $cash, with something like <<set $cash -= 100>>.
 
-The new system will still happily spend your money, but it will also record it in the appropriate budget category and (optinally) the appropriate slave as well.
+The new system will still happily spend your money, but it will also record it in the appropriate budget category and (optionally) the appropriate slave as well.
 
 Let's say you were going to spend 100 on your favorite $activeSlave with cashX.  You might try:
 
@@ -1087,13 +1087,13 @@ Let's say you were going to spend 100 on your favorite $activeSlave with cashX.
 There we go!
 1. -100 taken from your account
 2. Recorded: -100 for the slaveMod category, to be displayed on the Budget screen
-3. Recorded: -100 noted in your activeSlave's permanent record.  She better get busy paying that off!
+3. Recorded: -100 noted in your activeSlave's permanent record. She better get busy paying that off!
 
 cashX can be used in JS as well, and can be included in [[]] style links.
 
 Make sure that expenses arrive in the COST slot as a negative, they are often positive in code.  Use the new function forceNeg or pass it along on a temporary variable if needed.
 
-Costs don't have to be numbers either, you can use variables.  <<run cashX(forceNeg($contractCost), "slaveTransfer", $activeSlave)>>.  forceNeg makes sure that whatever value $contractCost has is negative, and will therefore be recorded as an expense.  You don't have to use it if you're sure the number you are passing along is negative.
+Costs don't have to be numbers either, you can use variables. <<run cashX(forceNeg($contractCost), "slaveTransfer", $activeSlave)>>. forceNeg makes sure that whatever value $contractCost has is negative, and will therefore be recorded as an expense. You don't have to use it if you're sure the number you are passing along is negative.
 
 A full list of categories (slaveMod, slaveTransfer, event) are in the widget "setupLastWeeksCash", currently found in costsWidgets.tw.  It's important to match your cost to one of those categories (or add a new one there, and display it in costsBudget.tw.)
 
diff --git a/src/js/eventSelectionJS.js b/src/js/eventSelectionJS.js
index 209f8561caecee3d10011298d6c4095ea3c5a49d..8e096d838305a1d61f1adc43271dd3fb0615cb50 100644
--- a/src/js/eventSelectionJS.js
+++ b/src/js/eventSelectionJS.js
@@ -254,7 +254,7 @@ window.generateRandomEventPoolStandard = function (eventSlave) {
 					if (eventSlave.devotion > 20) {
 						if (eventSlave.releaseRules !== "restrictive" && eventSlave.releaseRules !== "masturbation" && eventSlave.releaseRules !== "chastity") {
 							if (eventSlave.fetish === "buttslut" || eventSlave.fetish === "sadist" || eventSlave.fetish === "dom") {
-								if (!(eventSlave.chastityPenis) || eventSlave.dick === 0) {
+								if ((eventSlave.chastityPenis !== 1) || (eventSlave.dick === 0)) {
 									State.variables.RETSevent.push("anal cowgirl");
 								}
 							}
@@ -321,7 +321,7 @@ window.generateRandomEventPoolStandard = function (eventSlave) {
 								State.variables.RESSevent.push("devoted nympho");
 							}
 							if (eventSlave.releaseRules === "permissive" || eventSlave.releaseRules === "masturbation") {
-								if (!(eventSlave.chastityPenis) || eventSlave.dick === 0) {
+								if ((eventSlave.chastityPenis !== 1) || (eventSlave.dick === 0)) {
 									State.variables.RESSevent.push("permitted masturbation");
 								}
 							}
@@ -822,7 +822,7 @@ window.generateRandomEventPoolStandard = function (eventSlave) {
 
 			if (eventSlave.devotion > 20) {
 				if (eventSlave.butt > 5) {
-					if (!["a ball gown", "a burqa", "a chattel habit", "a halter top dress", "a hijab and abaya", "a hijab and blouse" "a slave gown", "a kimono", "a mini dress", "a niqab and abaya", "a slutty maid outfit", "a string bikini", "a toga", "body oil", "harem gauze", "no clothing", "shibari ropes"].includes(eventSlave.clothes)) {
+					if (["a biyelgee costume", "a bunny outfit", "a burkini", "a cheerleader outfit", "a comfortable bodysuit", "a dirndl", "a fallen nuns habit", "a huipil", "a latex catsuit", "a leotard", "a long qipao", "a maternity dress", "a military uniform", "a monokini", "a mounty outfit", "a nice nurse outfit", "a red army uniform", "a scalemail bikini", "a schoolgirl outfit", "a schutzstaffel uniform", "a slutty nurse outfit", "a slutty outfit", "a slutty qipao", "a slutty schutzstaffel uniform", "a succubus outfit", "attractive lingerie for a pregnant woman", "attractive lingerie", "battlearmor", "chains", "clubslut netting", "conservative clothing", "cutoffs and a t-shirt", "kitty lingerie", "lederhosen", "nice business attire", "restrictive latex", "shimapan panties", "slutty business attire", "slutty jewelry", "spats and a tank top", "stretch pants and a crop-top", "uncomfortable straps", "Western clothing"].includes(eventSlave.clothes)) {
 						State.variables.RESSevent.push("ass fitting");
 					}
 				}
@@ -854,7 +854,7 @@ window.generateRandomEventPoolStandard = function (eventSlave) {
 				if (eventSlave.trust <= -20) {
 					if (eventSlave.genes === "XY") {
 						if (eventSlave.dick > 0) {
-							if (!(eventSlave.chastityPenis)) {
+							if (eventSlave.chastityPenis !== 1) {
 								if (eventSlave.vagina === -1) {
 									if (eventSlave.attrXY < 50) {
 										State.variables.RESSevent.push("transition anxiety");
@@ -1020,7 +1020,7 @@ window.generateRandomEventPoolStandard = function (eventSlave) {
 
 			if (eventSlave.balls > 0) {
 				if (eventSlave.scrotum > 0) {
-					if (eventSlave.chastityPenis) {
+					if (eventSlave.chastityPenis === 1) {
 						if (eventSlave.devotion <= 95) {
 							if (eventSlave.energy > 50) {
 								if (eventSlave.energy < 95) {
@@ -1183,7 +1183,7 @@ window.generateRandomEventPoolStandard = function (eventSlave) {
 				if (eventSlave.need) {
 					if (eventSlave.devotion <= 95) {
 						if (eventSlave.trust >= -20) {
-							if (!(eventSlave.chastityPenis) || (eventSlave.dick === 0)) {
+							if ((eventSlave.chastityPenis !== 1) || (eventSlave.dick === 0)) {
 								State.variables.RESSevent.push("forbidden masturbation");
 							}
 						}
@@ -1354,7 +1354,7 @@ window.generateRandomEventPoolStandard = function (eventSlave) {
 				if (eventSlave.devotion > 20) {
 					if (eventSlave.trust >= -20) {
 						if (canDoAnal(eventSlave) || canDoVaginal(eventSlave)) {
-							if (!(eventSlave.chastityPenis) || eventSlave.dick === 0) {
+							if ((eventSlave.chastityPenis !== 1) || (eventSlave.dick === 0)) {
 								if (State.variables.corpIncorporated !== 0) {
 									State.variables.RESSevent.push("shift sleep");
 								}
@@ -1383,7 +1383,7 @@ window.generateRandomEventPoolStandard = function (eventSlave) {
 				if (eventSlave.devotion > 20) {
 					if (eventSlave.trust >= -20) {
 						if (canDoAnal(eventSlave) || canDoVaginal(eventSlave)) {
-							if ((!(eventSlave.chastityPenis) || (eventSlave.dick === 0)) {
+							if ((eventSlave.chastityPenis !== 1) || (eventSlave.dick === 0)) {
 								if (State.variables.corpIncorporated !== 0) {
 									State.variables.RESSevent.push("shift sleep");
 								}
@@ -1610,7 +1610,7 @@ window.generateRandomEventPoolStandard = function (eventSlave) {
 				if (eventSlave.amp !== 1) {
 					if (canAchieveErection(eventSlave)) {
 						if (eventSlave.belly < 10000) {
-							if !(eventSlave.chastityPenis) {
+							if (eventSlave.chastityPenis !== 1) {
 								State.variables.RESSevent.push("slave dick huge");
 							}
 						}
@@ -2448,7 +2448,7 @@ window.generateRandomEventPoolServant = function (eventSlave) {
 
 			if (eventSlave.balls > 0) {
 				if (eventSlave.scrotum > 0) {
-					if (eventSlave.chastityPenis) {
+					if (eventSlave.chastityPenis === 1) {
 						if (eventSlave.devotion <= 95) {
 							if (eventSlave.energy > 50) {
 								if (eventSlave.energy < 95) {
@@ -2577,7 +2577,7 @@ window.generateRandomEventPoolServant = function (eventSlave) {
 				if (eventSlave.need) {
 					if (eventSlave.devotion <= 95) {
 						if (eventSlave.trust >= -20) {
-							if (!(eventSlave.chastityPenis) || (eventSlave.dick === 0)) {
+							if (eventSlave.chastityPenis !== 1 || (eventSlave.dick === 0)) {
 								State.variables.RESSevent.push("forbidden masturbation");
 							}
 						}
@@ -2820,7 +2820,7 @@ window.generateRandomEventPoolServant = function (eventSlave) {
 				if (eventSlave.amp !== 1) {
 					if (canAchieveErection(eventSlave)) {
 						if (eventSlave.belly < 10000) {
-							if !(eventSlave.chastityPenis) {
+							if (eventSlave.chastityPenis !== 1) {
 								State.variables.RESSevent.push("slave dick huge");
 							}
 						}
diff --git a/src/js/food.js b/src/js/food.js
index 9e21c3ebf55c5ab3a55d9f6b4ea2fbad6f90fc50..098ff5eb52525ed9bae7fcf40ab69ae244a89d92 100644
--- a/src/js/food.js
+++ b/src/js/food.js
@@ -91,7 +91,7 @@ window.farmShowsIncome = function (slave) {
 				}
 				cash *= 1.2;
 			} else { //slave is not visibly pregnant
-				cash *= 0.8; //TODO: should non-pregnant slaves receieve a penalty?
+				cash *= 0.8; //TODO: should non-pregnant slaves receive a penalty?
 			}
 		}
 		if (arcology.FSRestart !== "unset") {
diff --git a/src/js/generateGenetics.js b/src/js/generateGenetics.js
index 70947a096ed063adc1c91fd775369bc44fc9e507..0c25df36532a0a7f3aa6fa828a55787fff6897c5 100644
--- a/src/js/generateGenetics.js
+++ b/src/js/generateGenetics.js
@@ -520,7 +520,7 @@ window.generateGenetics = (function() {
 
 	// genetic quirks
 	function setGeneticQuirks(father, mother, sex) {
-		let quirks = {macromastia: 0, gigantomastia: 0, fertility: 0, hyperFertility: 0, superfetation: 0, gigantism: 0, dwarfism: 0, pFace: 0, uFace: 0, albinism: 0, rearLipedema: 0, wellHung: 0, wGain: 0, wLoss: 0, androgyny: 0};
+		let quirks = {macromastia: 0, gigantomastia: 0, fertility: 0, hyperFertility: 0, superfetation: 0, gigantism: 0, dwarfism: 0, pFace: 0, uFace: 0, albinism: 0, heterochromia: 0, rearLipedema: 0, wellHung: 0, wGain: 0, wLoss: 0, androgyny: 0};
 		let chance = 0;
 
 		// fertility
@@ -649,6 +649,38 @@ window.generateGenetics = (function() {
 		} else if (mother.geneticQuirks.uFace === 2) {
 			quirks.uFace = 1;
 		}
+		
+		//albinism
+		if (father !== 0) {
+			// Add treatment to force albinism
+			if (mother.geneticQuirks.albinism === 2 && father.geneticQuirks.albinism === 2) {
+				if (jsRandom(1, 4) === 1) {
+					quirks.albinism = 2;
+				} else {
+					quirks.albinism = 1;
+				}
+			} else if (mother.geneticQuirks.albinism === 1 + father.geneticQuirks.albinism >= 3) {
+				chance = jsRandom(1, 4);
+				if (chance === 1) {
+					quirks.albinism = 2;
+				} else if (chance !== 4) {
+					quirks.albinism = 1;
+				}
+			} else if (mother.geneticQuirks.albinism === 1 && father.geneticQuirks.albinism === 1) {
+				if (jsRandom(1, 4) === 1) {
+					quirks.albinism = 2;
+				}
+			}
+		} else if (mother.geneticQuirks.albinism >= 1) {
+			if (jsRandom(0, 40000) >= 39500) {
+				chance = jsRandom(1, 4);
+				if (chance === 1) {
+					quirks.albinism = 2;
+				} else if (chance !== 4) {
+					quirks.albinism = 1;
+				}
+			}
+		}
 
 		return clone(quirks);
 	}
@@ -850,7 +882,6 @@ window.generateChild = function (mother, ova, destination) {
 		child.mother = genes.mother;
 		child.father = genes.father;
 		child.nationality = genes.nationality;
-		child.skin = genes.skin;
 		child.race = genes.race;
 		child.intelligence = genes.intelligence;
 		if (mother.prematureBirth > 0) {
@@ -860,8 +891,6 @@ window.generateChild = function (mother, ova, destination) {
 			child.premature = 1;
 		}
 		child.face = genes.face;
-		child.eyeColor = genes.eyeColor;
-		child.hColor = genes.hColor;
 		child.underArmHStyle = genes.underArmHStyle;
 		child.pubicHStyle = genes.pubicHStyle;
 		child.markings = genes.markings;
@@ -869,9 +898,42 @@ window.generateChild = function (mother, ova, destination) {
 		child.behavioralFlaw = genes.behavioralFlaw;
 		child.fetish = genes.fetish;
 		child.geneticQuirks = clone(genes.geneticQuirks);
-		child.pubicHColor = child.hColor;
-		child.underArmHColor = child.hColor;
-		child.eyebrowHColor = child.hColor;
+		if (child.geneticQuirks.albinism == 2) {
+			child.albinismOverride = {skin: genes.skin, eyeColor: genes.eyeColor, hColor: genes.hColor};
+			child.hColor = "white";
+			child.pubicHColor = child.hColor;
+			child.underArmHColor = child.hColor;
+			child.eyebrowHColor = child.hColor;
+			child.eyeColor = "red";
+			switch (child.race) {
+				case "black":
+				case "indo-aryan":
+				case "malay":
+				case "pacific islander":
+				case "amerindian":
+					child.skin = "very fair";
+					break;
+				case "latina":
+					child.skin = "extremely fair";
+					break;
+				case "asian":
+				case "middle eastern":
+				case "semitic":
+				case "southern european":
+				case "white":
+					child.skin = "pure white";
+					break;
+				default:
+					child.skin = "pure white";
+			}
+		} else {
+			child.skin = genes.skin;
+			child.eyeColor = genes.eyeColor;
+			child.hColor = genes.hColor;
+			child.pubicHColor = child.hColor;
+			child.underArmHColor = child.hColor;
+			child.eyebrowHColor = child.hColor;
+		}
 		child.birthWeek = 0;
 		if (genes.faceShape !== undefined) {
 			child.faceShape = genes.faceShape;
diff --git a/src/js/generateNewSlaveJS.js b/src/js/generateNewSlaveJS.js
index 95d513e927d03d5cbf78b61a0381eed56ebf5b21..91d08e69e6833dc74ef4c293239e4eeacf211e1d 100644
--- a/src/js/generateNewSlaveJS.js
+++ b/src/js/generateNewSlaveJS.js
@@ -61,6 +61,7 @@ window.GenerateNewSlave = (function(){
 		generateBoobTweaks(); /* split this up for female vs. male? */
 		generateSkills();
 		generateDisabilities();
+		generateGeneticQuirkTweaks();
 		generatePronouns(slave);
 		slave.origRace = slave.race;
 		slave.origEye = slave.eyeColor;
@@ -1085,6 +1086,12 @@ window.GenerateNewSlave = (function(){
 		} else if (chance >= 9900) {
 			slave.geneticQuirks.hyperFertility = 1;
 		}
+		chance = jsRandom(1,20000);
+		if (chance == 777) {
+			slave.geneticQuirks.albinism = 2;
+		} else if (chance >= 19500) {
+			slave.geneticQuirks.albinism = 1;
+		}
 	}
 
 	function generateXYGeneticQuirks() {
@@ -1102,6 +1109,11 @@ window.GenerateNewSlave = (function(){
 		if (chance >= 9900) {
 			slave.geneticQuirks.hyperFertility = 1;
 		}
+		if (chance == 777) {
+			slave.geneticQuirks.albinism = 2;
+		} else if (chance >= 19500) {
+			slave.geneticQuirks.albinism = 1;
+		}
 	}
 
 	function generateAge() {
@@ -1400,6 +1412,35 @@ window.GenerateNewSlave = (function(){
 			V.oneTimeDisableDisability = 0;
 		}
 	}
+	
+	function generateGeneticQuirkTweaks() {
+		if (slave.geneticQuirks.albinism === 2) {
+			slave.albinismOverride = {skin: slave.skin, eyeColor: slave.eyeColor, hColor: slave.hColor};
+			slave.hColor = "white";
+			slave.eyeColor = "red";
+			switch (slave.race) {
+				case "black":
+				case "indo-aryan":
+				case "malay":
+				case "pacific islander":
+				case "amerindian":
+					slave.skin = "very fair";
+					break;
+				case "latina":
+					slave.skin = "extremely fair";
+					break;
+				case "asian":
+				case "middle eastern":
+				case "semitic":
+				case "southern european":
+				case "white":
+					slave.skin = "pure white";
+					break;
+				default:
+					slave.skin = "pure white";
+			}
+		}
+	}
 
 	return GenerateNewSlave;
 })();
diff --git a/src/js/itemAvailability.js b/src/js/itemAvailability.js
index 77b5c003f266839e3bae3e0858ddf21f99a23b1e..4f06d45d4718beb412310765b99b1bd500b888d7 100644
--- a/src/js/itemAvailability.js
+++ b/src/js/itemAvailability.js
@@ -49,9 +49,12 @@ window.isItemAccessible = function(string) {
 			return (V.clothesBoughtCultural === 1);
 		case 'a burqa':
 		case 'a burkini':
-		case 'a blouse and hijab':
 		case 'a niqab and abaya':
 			return (V.clothesBoughtMiddleEastern === 1 || V.continent === 'the Middle East');
+		case 'a hijab and blouse':
+			return (V.clothesBoughtMiddleEastern === 1 || V.clothesBoughtConservative === 1 || V.continent === 'the Middle East');
+		case 'a Santa dress':
+			return (V.clothesBoughtCostume);
 		case 'a klan robe':
 		case 'a slutty klan robe':
 		case 'a schutzstaffel uniform':
diff --git a/src/js/removeActiveSlave.js b/src/js/removeActiveSlave.js
index 9d9a6b6552dc354a42d415bbd074bb5701e0e933..7ad31f4b449986c2b923afc7635820d116f3ef01 100644
--- a/src/js/removeActiveSlave.js
+++ b/src/js/removeActiveSlave.js
@@ -213,7 +213,7 @@ window.removeActiveSlave = function removeActiveSlave() {
 			}
 			if (!keep) { /* avoid going through this loop if possible */
 				keep = V.slaves.some(slave => {
-					/* have we impregnated a slave that is not ourself? */
+					/* have we impregnated a slave that is not ourselves? */
 					return (slave.ID !== AS_ID && isImpregnatedBy(slave, V.activeSlave))
 				});
 			}
@@ -336,7 +336,7 @@ window.removeNonNGPSlave = function removeNonNGPSlave(removedSlave) {
 			}
 			if (!keep) { /* avoid going through this loop if possible */
 				keep = V.slaves.some(slave => {
-					/* have we impregnated a slave that is not ourself? */
+					/* have we impregnated a slave that is not ourselves? */
 					return (slave.ID !== ID && isImpregnatedBy(slave, removedSlave))
 				});
 			}
diff --git a/src/js/rulesAssistantOptions.js b/src/js/rulesAssistantOptions.js
index 4f0148bd44a320f7014d014b8d8cc3ddc277ca85..3335741c3baabdcbc7a7658d63ed2be4b3add94e 100644
--- a/src/js/rulesAssistantOptions.js
+++ b/src/js/rulesAssistantOptions.js
@@ -215,7 +215,7 @@ window.rulesAssistantOptions = (function() {
 			return (this.value.tagName === "INPUT" ? this.parse(this.value.value): this.selectedItem.data);
 		}
 
-		// customisable input field parser / sanity checker
+		// customizable input field parser / sanity checker
 		parse(what) { return what; }
 
 		propagateChange() {
@@ -1161,13 +1161,14 @@ window.rulesAssistantOptions = (function() {
 				["Pony outfit (nice)", "a nice pony outfit"],
 				["Pony outfit (slutty)", "a slutty pony outfit"],
 				["Red Army uniform", "a red army uniform"],
+				["Santa dress", "a Santa dress"],
+				["Schutzstaffel uniform (nice)", "a schutzstaffel uniform"],
+				["Schutzstaffel uniform (slutty)", "a slutty schutzstaffel uniform"],
 				["Striped Bra", "a striped bra"],
 				["Striped Panties", "striped panties"],
 				["Striped Underwear", "striped underwear"],
 				["Skimpy battledress", "battledress"],
 				["Skimpy loincloth", "a skimpy loincloth"],
-				["Schutzstaffel uniform (nice)", "a schutzstaffel uniform"],
-				["Schutzstaffel uniform (slutty)", "a slutty schutzstaffel uniform"],
 			];
 			const fsnclothes = [
 				["Body oil (FS)", "body oil"],
@@ -2556,7 +2557,7 @@ window.rulesAssistantOptions = (function() {
 				["dark brown"],
 				["brown"],
 				["auburn"],
-				["burgundry"],
+				["burgundy"],
 				["chocolate"],
 				["chestnut"],
 				["hazel"],
diff --git a/src/js/slaveCostJS.js b/src/js/slaveCostJS.js
index 87c0ba6d7ef69b451cc706876d8286267b0c3eee..378b619c2d0a598eaed13e2112f1c23f06a45bb2 100644
--- a/src/js/slaveCostJS.js
+++ b/src/js/slaveCostJS.js
@@ -1054,7 +1054,7 @@ window.Beauty = (function() {
 			if (slave.hips === 3) {
 				beauty += 10;
 			}
-			if (slave.horns !== "none" || slave.tail !== "none" || (slave.earShape !== "normal" && slave.earShape !== "damaged") || slave.earT !== "none") {
+			if (slave.horn !== "none" || slave.tail !== "none" || (slave.earShape !== "normal" && slave.earShape !== "damaged") || slave.earT !== "none") {
 				beauty += 10;
 			}
 		}
@@ -1191,6 +1191,9 @@ window.Beauty = (function() {
 	/** @param {App.Entity.SlaveState} slave */
 	function calcMultipliersBeauty(slave) {
 		calcBellyBeauty(slave);
+		if (slave.geneticQuirks.albinism == 2) {
+			beauty += 0.1*beauty;
+		}
 		if (slave.breedingMark === 1) {
 			if (V.propOutcome === 1) {
 				beauty = 2*beauty;
@@ -1970,6 +1973,9 @@ window.slaveCost = (function() {
 		if (slave.pubertyXY === 0 && slave.physicalAge >= V.potencyAge && slave.genes === "XY" && arcology.FSGenderRadicalist === "unset") {
 			multiplier += 0.5;
 		}
+		if (slave.geneticQuirks.albinism === 2) {
+			multiplier += 0.2;
+		}
 		if (slave.brand !== 0) {
 			if (V.rep > 10000) {
 				multiplier += 0.1;
diff --git a/src/js/slaveSummaryWidgets.js b/src/js/slaveSummaryWidgets.js
index 069fb749c9aa5f310612da0481230c859e9762ed..f965be1269fbeb9bce7db79e6d53070081518fc3 100644
--- a/src/js/slaveSummaryWidgets.js
+++ b/src/js/slaveSummaryWidgets.js
@@ -246,7 +246,7 @@ window.SlaveSummaryUncached = (function(){
 			if (V.abbreviateClothes === 2) {
 				r += `&nbsp;&nbsp;&nbsp;&nbsp;`;
 				if (slave.choosesOwnClothes === 1)
-					r += `Dressing herself. `;
+					r += `Dressing herself.`;
 				long_clothes(slave);
 				long_collar(slave);
 				long_belly(slave);
@@ -254,6 +254,7 @@ window.SlaveSummaryUncached = (function(){
 					long_legs(slave);
 				if (canWalk(slave))
 					long_shoes(slave);
+				long_chastity(slave);
 				long_vaginal_acc(slave);
 				long_dick_acc(slave);
 				long_buttplug(slave);
@@ -4400,6 +4401,9 @@ window.SlaveSummaryUncached = (function(){
 			case "a slutty pony outfit":
 				r += `Slutty pony outfit.`;
 				break;
+			case "a Santa dress":
+				r += `Santa dress.`;
+				break;
 			case "a sports bra":
 				r += `Sports bra.`;
 				break;
@@ -4598,16 +4602,26 @@ window.SlaveSummaryUncached = (function(){
 		}
 		r += " ";
 	}
-
+	
 	/** @param {App.Entity.SlaveState} slave */
-	function long_vaginal_acc(slave) {
-		if (slave.chastityVagina === 1 && slave.chastityAnus === 1) {
+	function long_chastity(slave) {
+		if (slave.chastityAnus === 1 && slave.chastityPenis === 1 && slave.chastityVagina === 1) {
+			r += `Full chastity.`;
+		} else if (slave.chastityPenis === 1 && slave.chastityVagina === 1) {
+			r += `Genital chastity.`;
+		} else if ((slave.chastityAnus === 1 && slave.chastityVagina === 1) || (slave.chastityAnus === 1 && slave.chastityPenis === 1)) {
 			r += `Combined chastity.`;
 		} else if (slave.chastityVagina === 1) {
 			r += `Vaginal chastity.`;
+		} else if (slave.chastityPenis === 1) {
+			r += `Chastity cage.`;
 		} else if (slave.chastityAnus === 1) {
 			r += `Anal chastity.`;
 		}
+	}
+
+	/** @param {App.Entity.SlaveState} slave */
+	function long_vaginal_acc(slave) {
 		switch (slave.vaginalAccessory) {
 			case "dildo":
 				r += `Vaginal dildo.`;
@@ -4633,12 +4647,10 @@ window.SlaveSummaryUncached = (function(){
 
 	/** @param {App.Entity.SlaveState} slave */
 	function long_dick_acc(slave) {
-		if (slave.chastityPenis === 1 && slave.chastityAnus === 1) {
-			r += `Combined chastity.`;
-		} else if (slave.chastityPenis === 1) {
-			r += `Chastity cage.`;
-		} else if (slave.chastityAnus === 1) {
-			r += `Anal chastity.`;
+		switch (slave.dickAccessory) {
+			case "sock":
+				r += `Cock sock.`;
+				break;
 		}
 		r += " ";
 	}
diff --git a/src/js/storyJS.js b/src/js/storyJS.js
index 424c48df898632f0d267418c60cc029153cb3c2b..b1b6132862963889054978f6f8b711d2ca7341db 100644
--- a/src/js/storyJS.js
+++ b/src/js/storyJS.js
@@ -904,6 +904,7 @@ window.removeFS = function(FS) {
 		}
 	}
 	arcology[FS] = "unset";
+	FacilityDecorationCleanup();
 	resetFSCredits();
 };
 
diff --git a/src/js/utilJS.js b/src/js/utilJS.js
index caa77f977103a497969862b7519bd92146cd39a3..4132c45101644ec191eb35c454ce5b3349fa7836 100644
--- a/src/js/utilJS.js
+++ b/src/js/utilJS.js
@@ -501,7 +501,7 @@ window.repFormat = function(s) {
 			return commaNum(Math.round(s * 100) / 100) + " rep";
 		}
 	} else {
-		/* In order to calculate just how much any one category matters so we can show a "fuzzy" symbolic value to the player, we need to know how "busy" reputation was this week.  To calculate this, I ADD income to expenses.  Why?  100 - 100 and 10000 - 10000 BOTH are 0, but a +50 event matters a lot more in the first case than the second.  I exclude overflow from the caluclation because it's not a "real" expense for our purposes, and divide by half just to make percentages a bit easier*/
+		/* In order to calculate just how much any one category matters so we can show a "fuzzy" symbolic value to the player, we need to know how "busy" reputation was this week. To calculate this, I ADD income to expenses. Why? 100 - 100 and 10000 - 10000 BOTH are 0, but a +50 event matters a lot more in the first case than the second. I exclude overflow from the calculation because it's not a "real" expense for our purposes, and divide by half just to make percentages a bit easier. */
 		var weight = s/(((V.lastWeeksRepIncome.Total - V.lastWeeksRepExpenses.Total) + V.lastWeeksRepExpenses.overflow)/2);
 		if (weight > 0.60) {
 			return `@@.green;+++++ rep@@`;
@@ -555,7 +555,7 @@ window.budgetLine = function(category, title) {
 		<td>${title}</td>\
 		<td>\
 			<<if (${income}.${category}) > 0>>\
-				@@.yellowgreen;<<print cashFormat(${income}.${category})>>@@\ /*please don't put a plus sign in front of income, it's not done on a budget sheet.  Safe to assume money is money unless it's in parenthesis or with a - sign.*/
+				@@.yellowgreen;<<print cashFormat(${income}.${category})>>@@\ /*please don't put a plus sign in front of income, it's not done on a budget sheet. Safe to assume money is money unless it's in parenthesis or with a - sign.*/
 			<<else>>\
 				<<print cashFormat(${income}.${category})>>\
 			<</if>>\
@@ -1077,6 +1077,8 @@ window.ValidateFacilityDecoration = function ValidateFacilityDecoration(decorati
 				V[decoration] = "standard";
 			}
 			break;
+		default:
+			V[decoration] = "standard";
 	}
 };
 
@@ -1090,7 +1092,7 @@ window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) {
 			if (Number.isFinite(V.arcologies[0].FSSupremacist)) {
 				if (magnitude < 0) {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSSupremacist / V.FSLockinLevel) / 3, "futureSocieties"); //Reducing the reputation impact of slaves that are not adhering to societal ideals properly
-				} else { 
+				} else {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSSupremacist / V.FSLockinLevel), "futureSocieties");
 				}
 				V.arcologies[0].FSSupremacist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
@@ -1100,7 +1102,7 @@ window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) {
 			if (Number.isFinite(V.arcologies[0].FSSubjugationist)) {
 				if (magnitude < 0) {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSSubjugationist / V.FSLockinLevel) / 3, "futureSocieties");
-				} else { 
+				} else {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSSubjugationist / V.FSLockinLevel), "futureSocieties");
 				}
 				V.arcologies[0].FSSubjugationist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
@@ -1110,7 +1112,7 @@ window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) {
 			if (Number.isFinite(V.arcologies[0].FSGenderRadicalist)) {
 				if (magnitude < 0) {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSGenderRadicalist / V.FSLockinLevel) / 3, "futureSocieties");
-				} else { 
+				} else {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSGenderRadicalist / V.FSLockinLevel), "futureSocieties");
 				}
 				V.arcologies[0].FSGenderRadicalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
@@ -1120,7 +1122,7 @@ window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) {
 			if (Number.isFinite(V.arcologies[0].FSGenderFundamentalist)) {
 				if (magnitude < 0) {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSGenderFundamentalist / V.FSLockinLevel) / 3, "futureSocieties");
-				} else { 
+				} else {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSGenderFundamentalist / V.FSLockinLevel), "futureSocieties");
 				}
 				V.arcologies[0].FSGenderFundamentalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
@@ -1130,7 +1132,7 @@ window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) {
 			if (Number.isFinite(V.arcologies[0].FSPaternalist)) {
 				if (magnitude < 0) {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSPaternalist / V.FSLockinLevel) / 3, "futureSocieties");
-				} else { 
+				} else {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSPaternalist / V.FSLockinLevel), "futureSocieties");
 				}
 				V.arcologies[0].FSPaternalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
@@ -1140,7 +1142,7 @@ window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) {
 			if (Number.isFinite(V.arcologies[0].FSDegradationist)) {
 				if (magnitude < 0) {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSDegradationist / V.FSLockinLevel) / 3, "futureSocieties");
-				} else { 
+				} else {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSDegradationist / V.FSLockinLevel), "futureSocieties");
 				}
 				V.arcologies[0].FSDegradationist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
@@ -1150,7 +1152,7 @@ window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) {
 			if (Number.isFinite(V.arcologies[0].FSAssetExpansionist)) {
 				if (magnitude < 0) {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSAssetExpansionist / V.FSLockinLevel) / 3, "futureSocieties");
-				} else { 
+				} else {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSAssetExpansionist / V.FSLockinLevel), "futureSocieties");
 				}
 				V.arcologies[0].FSAssetExpansionist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
@@ -1160,7 +1162,7 @@ window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) {
 			if (Number.isFinite(V.arcologies[0].FSSlimnessEnthusiast)) {
 				if (magnitude < 0) {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSSlimnessEnthusiast / V.FSLockinLevel) / 3, "futureSocieties");
-				} else { 
+				} else {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSSlimnessEnthusiast / V.FSLockinLevel), "futureSocieties");
 				}
 				V.arcologies[0].FSSlimnessEnthusiast += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
@@ -1170,7 +1172,7 @@ window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) {
 			if (Number.isFinite(V.arcologies[0].FSTransformationFetishist)) {
 				if (magnitude < 0) {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSTransformationFetishist / V.FSLockinLevel) / 3, "futureSocieties");
-				} else { 
+				} else {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSTransformationFetishist / V.FSLockinLevel), "futureSocieties");
 				}
 				V.arcologies[0].FSTransformationFetishist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
@@ -1180,7 +1182,7 @@ window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) {
 			if (Number.isFinite(V.arcologies[0].FSBodyPurist)) {
 				if (magnitude < 0) {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSBodyPurist / V.FSLockinLevel) / 3, "futureSocieties");
-				} else { 
+				} else {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSBodyPurist / V.FSLockinLevel), "futureSocieties");
 				}
 				V.arcologies[0].FSBodyPurist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
@@ -1190,7 +1192,7 @@ window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) {
 			if (Number.isFinite(V.arcologies[0].FSMaturityPreferentialist)) {
 				if (magnitude < 0) {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSMaturityPreferentialist / V.FSLockinLevel) / 3, "futureSocieties");
-				} else { 
+				} else {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSMaturityPreferentialist / V.FSLockinLevel), "futureSocieties");
 				}
 				V.arcologies[0].FSMaturityPreferentialist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
@@ -1200,7 +1202,7 @@ window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) {
 			if (Number.isFinite(V.arcologies[0].FSYouthPreferentialist)) {
 				if (magnitude < 0) {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSYouthPreferentialist / V.FSLockinLevel) / 3, "futureSocieties");
-				} else { 
+				} else {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSYouthPreferentialist / V.FSLockinLevel), "futureSocieties");
 				}
 				V.arcologies[0].FSYouthPreferentialist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
@@ -1210,7 +1212,7 @@ window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) {
 			if (Number.isFinite(V.arcologies[0].FSPastoralist)) {
 				if (magnitude < 0) {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSPastoralist / V.FSLockinLevel) / 3, "futureSocieties");
-				} else { 
+				} else {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSPastoralist / V.FSLockinLevel), "futureSocieties");
 				}
 				V.arcologies[0].FSPastoralist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
@@ -1220,7 +1222,7 @@ window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) {
 			if (Number.isFinite(V.arcologies[0].FSPhysicalIdealist)) {
 				if (magnitude < 0) {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSPhysicalIdealist / V.FSLockinLevel) / 3, "futureSocieties");
-				} else { 
+				} else {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSPhysicalIdealist / V.FSLockinLevel), "futureSocieties");
 				}
 				V.arcologies[0].FSPhysicalIdealist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
@@ -1230,7 +1232,7 @@ window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) {
 			if (Number.isFinite(V.arcologies[0].FSChattelReligionist)) {
 				if (magnitude < 0) {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSChattelReligionist / V.FSLockinLevel) / 3, "futureSocieties");
-				} else { 
+				} else {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSChattelReligionist / V.FSLockinLevel), "futureSocieties");
 				}
 				V.arcologies[0].FSChattelReligionist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
@@ -1240,7 +1242,7 @@ window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) {
 			if (Number.isFinite(V.arcologies[0].FSRomanRevivalist)) {
 				if (magnitude < 0) {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSRomanRevivalist / V.FSLockinLevel) / 3, "futureSocieties");
-				} else { 
+				} else {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSRomanRevivalist / V.FSLockinLevel), "futureSocieties");
 				}
 				V.arcologies[0].FSRomanRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
@@ -1250,7 +1252,7 @@ window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) {
 			if (Number.isFinite(V.activeArcology.FSAztecRevivalist)) {
 				if (magnitude < 0) {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSAztecRevivalist / V.FSLockinLevel) / 3, "futureSocieties");
-				} else { 
+				} else {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSAztecRevivalist / V.FSLockinLevel), "futureSocieties");
 				}
 				V.arcologies[0].FSAztecRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
@@ -1260,7 +1262,7 @@ window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) {
 			if (Number.isFinite(V.arcologies[0].FSEgyptianRevivalist)) {
 				if (magnitude < 0) {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSEgyptianRevivalist / V.FSLockinLevel) / 3, "futureSocieties");
-				} else { 
+				} else {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSEgyptianRevivalist / V.FSLockinLevel), "futureSocieties");
 				}
 				V.arcologies[0].FSEgyptianRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
@@ -1270,7 +1272,7 @@ window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) {
 			if (Number.isFinite(V.arcologies[0].FSEdoRevivalist)) {
 				if (magnitude < 0) {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSEdoRevivalist / V.FSLockinLevel) / 3, "futureSocieties");
-				} else { 
+				} else {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSEdoRevivalist / V.FSLockinLevel), "futureSocieties");
 				}
 				V.arcologies[0].FSEdoRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
@@ -1280,7 +1282,7 @@ window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) {
 			if (Number.isFinite(V.arcologies[0].FSArabianRevivalist)) {
 				if (magnitude < 0) {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSArabianRevivalist / V.FSLockinLevel) / 3, "futureSocieties");
-				} else { 
+				} else {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSArabianRevivalist / V.FSLockinLevel), "futureSocieties");
 				}
 				V.arcologies[0].FSArabianRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
@@ -1290,7 +1292,7 @@ window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) {
 			if (Number.isFinite(V.arcologies[0].FSChineseRevivalist)) {
 				if (magnitude < 0) {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSChineseRevivalist / V.FSLockinLevel) / 3, "futureSocieties");
-				} else { 
+				} else {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSChineseRevivalist / V.FSLockinLevel), "futureSocieties");
 				}
 				V.arcologies[0].FSChineseRevivalist += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
@@ -1300,7 +1302,7 @@ window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) {
 			if (Number.isFinite(V.arcologies[0].FSRepopulationFocus)) {
 				if (magnitude < 0) {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSRepopulationFocus / V.FSLockinLevel) / 3, "futureSocieties");
-				} else { 
+				} else {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSRepopulationFocus / V.FSLockinLevel), "futureSocieties");
 				}
 				V.arcologies[0].FSRepopulationFocus += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
@@ -1310,7 +1312,7 @@ window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) {
 			if (Number.isFinite(V.arcologies[0].FSRestart)) {
 				if (magnitude < 0) {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSRestart / V.FSLockinLevel) / 3, "futureSocieties");
-				} else { 
+				} else {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSRestart / V.FSLockinLevel), "futureSocieties");
 				}
 				V.arcologies[0].FSRestart += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
@@ -1320,7 +1322,7 @@ window.FSChange = function FSChange(FS, magnitude, bonus_multiplier) {
 			if (Number.isFinite(V.arcologies[0].FSHedonisticDecadence)) {
 				if (magnitude < 0) {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSHedonisticDecadence / V.FSLockinLevel) / 3, "futureSocieties");
-				} else { 
+				} else {
 					repX(magnitude * V.FSSingleSlaveRep * (V.arcologies[0].FSHedonisticDecadence / V.FSLockinLevel), "futureSocieties");
 				}
 				V.arcologies[0].FSHedonisticDecadence += 0.05 * magnitude * V.FSSingleSlaveRep * (bonus_multiplier || 1);
@@ -1505,7 +1507,7 @@ window.opentab = function(evt, tabName) {
  * The result works in the same way as the wiki markup in the SugarCube
  * @see https://www.motoslave.net/sugarcube/2/docs/#markup-html-attribute
  * @param {string} linkText link text
- * @param {string} passage passage name to link to
+ * @param {string} passage the passage name to link to
  * @param {string} [setter=''] setter tet (optional)
  * @param {string} [elementType='a'] element type (optional) default is 'a'.
  * Could be any of 'a', 'audio', img', 'source', 'video'
diff --git a/src/js/vignettes.js b/src/js/vignettes.js
index 53e3f356b1f102102a471f6d88756f2d2c4cfc44..e1b10573ca3b09384d66752347217f3a743b6b3a 100644
--- a/src/js/vignettes.js
+++ b/src/js/vignettes.js
@@ -641,7 +641,7 @@ window.GetVignette = /** @param {App.Entity.SlaveState} slave */ function GetVig
 				break;
 			case "caring":
 				vignettes.push({
-					text: `${he} serves as an impromptu sounding board for a customer having marital trouble,`,
+					text: `${he} served as an impromptu sounding board for a customer having marital trouble,`,
 					type: "cash",
 					effect: 1,
 				});
@@ -1165,19 +1165,26 @@ window.GetVignette = /** @param {App.Entity.SlaveState} slave */ function GetVig
 				effect: -1,
 			});
 		}
-		if (slave.heels === 1 && !(["heels", "pumps", "extreme heels", "boots"].includes(slave.shoes))) {
+		if (slave.heels === 1 && !(["boots", "extreme heels", "heels", "pumps"].includes(slave.shoes))) {
 			vignettes.push({
 				text: `${he} enticed a new customer who had never really considered buttsex before they saw ${him} crawling along with ${his} asshole vulnerable,`,
 				type: "cash",
 				effect: 1,
 			});
 		}
-		if (slave.chastityVagina) {
+		if (slave.chastityVagina === 1) {
 			vignettes.push({
-				text: `a wavering customer who was disappointed that ${his} pussy is unavailable decided to try ${his} ass instead,`,
+				text: `a wavering customer who was disappointed that ${his} pussy was unavailable decided to try ${his} mouth instead,`,
 				type: "cash",
 				effect: 1,
 			});
+			if (slave.chastityAnus !== 1) {
+				vignettes.push({
+					text: `a wavering customer who was disappointed that ${his} pussy was unavailable decided to try ${his} ass instead,`,
+					type: "cash",
+					effect: 1,
+				});
+			}
 		}
 		if (slave.collar === "shock punishment") {
 			vignettes.push({
@@ -1440,7 +1447,7 @@ window.GetVignette = /** @param {App.Entity.SlaveState} slave */ function GetVig
 			}
 			if (slave.boobsImplant >= 500) {
 				vignettes.push({
-					text: `a photographer won an award for an artistic close up of one of ${his} implant-heavy tits,`,
+					text: `a photographer won an award for an artistic close-up of one of ${his} implant-heavy tits,`,
 					type: "rep",
 					effect: 1,
 				});
@@ -1965,7 +1972,7 @@ window.GetVignette = /** @param {App.Entity.SlaveState} slave */ function GetVig
 				break;
 			case "devout":
 				vignettes.push({
-					text: `a citizen catches ${him} praying to ${himself} as they inserted themsleves into ${him}, turning them off,`,
+					text: `a citizen catches ${him} praying to ${himself} as they inserted themselves into ${him}, turning them off,`,
 					type: "rep",
 					effect: -1,
 				});
@@ -2756,19 +2763,26 @@ window.GetVignette = /** @param {App.Entity.SlaveState} slave */ function GetVig
 				effect: -1,
 			});
 		}
-		if (slave.heels === 1 && !(["heels", "pumps", "extreme heels", "boots"].includes(slave.shoes))) {
+		if (slave.heels === 1 && !(["boots", "extreme heels", "heels", "pumps"].includes(slave.shoes))) {
 			vignettes.push({
 				text: `${he} enticed a new patron who had never really considered buttsex before they saw ${him} crawling along with ${his} asshole vulnerable,`,
 				type: "rep",
 				effect: 1,
 			});
 		}
-		if (slave.chastityVagina) {
+		if (slave.chastityVagina === 1) {
 			vignettes.push({
-				text: `a wavering citizen who was disappointed that ${his} pussy is unavailable decided to try ${his} ass instead,`,
+				text: `a wavering citizen who was disappointed that ${his} pussy was unavailable decided to try ${his} mouth instead,`,
 				type: "rep",
 				effect: 1,
 			});
+			if (slave.chastityAnus !== 1) {
+				vignettes.push({
+					text: `a wavering citizen who was disappointed that ${his} pussy was unavailable decided to try ${his} ass instead,`,
+					type: "rep",
+					effect: 1,
+				});
+			}
 		}
 		if (slave.collar === "shock punishment") {
 			vignettes.push({
@@ -3556,13 +3570,11 @@ window.GetVignette = /** @param {App.Entity.SlaveState} slave */ function GetVig
 				}
 			}
 			if (canWalk(slave)) {
-				if (slave.amp === 0) {
-					vignettes.push({
-						text: `${he} was so horny that ${he} sleepwalked into your room and performed oral sex on you, and then woke up when ${he} bruised ${his} shin,`,
-						type: "health",
-						effect: -1,
-					});
-				}
+				vignettes.push({
+					text: `${he} was so horny that ${he} sleepwalked into your room and performed oral sex on you, and then woke up when ${he} bruised ${his} shin,`,
+					type: "health",
+					effect: -1,
+				});
 			} else {
 				if (slave.missingArms !== 3) {
 					if (slave.releaseRules === "permissive" || slave.releaseRules === "masturbation") {
diff --git a/src/js/walkPastJS.js b/src/js/walkPastJS.js
index f6df592428d4de9d0f57051f5ba058c6ae367d58..bc3866921c32d46b0aaef77b8b744216b2dc4d50 100644
--- a/src/js/walkPastJS.js
+++ b/src/js/walkPastJS.js
@@ -179,9 +179,9 @@ window.loverSlave = function(activeSlave) {
 							if (_fuckSeed > 80 && _partnerSlave.lactation > 0) {
 								t += `${name} loves how milky ${partnerName}'s tits are and has ${his} lips wrapped around a nipple. `;
 								if (_partnerSlave.amp !== 1) {
-									t += `${partnerName} is left to moan lustfully and tweak ${his2} free nipple until ${his2} ${activeSlaveRel} has drinken ${his} fill.`;
+									t += `${partnerName} is left to moan lustfully and tweak ${his2} free nipple until ${his2} ${activeSlaveRel} has drank ${his} fill.`;
 								} else {
-									t += `${partnerName} is left to moan lustfully and squirm with desire until ${his2} ${activeSlaveRel} has drinken ${his} fill and moves to ${his2} other nipple.`;
+									t += `${partnerName} is left to moan lustfully and squirm with desire until ${his2} ${activeSlaveRel} has drank ${his} fill and moves to ${his2} other nipple.`;
 								}
 							} else {
 								t += `${name} loves having ${his} breasts suckled and has ${partnerName}'s lips wrapped around a nipple. `;
@@ -270,7 +270,7 @@ window.loverSlave = function(activeSlave) {
 							} else if (_partnerSlave.clit > 3) {
 								t += `${his2} clit up the butt. `;
 								if (activeSlave.anus > 1) {
-									t += `${name} can barely tell ${partnerName}'s unorthodox phalus is in there, but it's the thought that counts.`;
+									t += `${name} can barely tell ${partnerName}'s unorthodox phallus is in there, but it's the thought that counts.`;
 								} else {
 									t += `${name}'s tight anus and ${partnerName}'s clitdick work well together; ${name} can take it easily, and ${partnerName} gets to fuck a hole that hugs ${his2} sensitive rod tight.`;
 								}
@@ -292,9 +292,9 @@ window.loverSlave = function(activeSlave) {
 						break;
 					case "cumslut":
 						t += `sharing oral pleasure ${_fuckSpot}. ${name} is such an oral addict that ${he} wants it all the time, and ${partnerName} certainly doesn't mind all the loving oral attention. `;
-						if (((!["chastity", "combined chastity"].includes(activeSlave.dickAccessory) && activeSlave.dick > 0) || canDoVaginal(activeSlave)) && ((!["chastity", "combined chastity"].includes(_partnerSlave.dickAccessory) && _partnerSlave.dick > 0) || canDoVaginal(_partnerSlave))) {
+						if (((activeSlave.chastityPenis !== 1 && activeSlave.dick > 0) || canDoVaginal(activeSlave)) && ((_partnerSlave.chastityPenis !== 1 && _partnerSlave.dick > 0) || canDoVaginal(_partnerSlave))) {
 							t += `They're lying down to 69 comfortably, `;
-							if (!["chastity", "combined chastity"].includes(_partnerSlave.dickAccessory) && _partnerSlave.dick > 0) {
+							if (_partnerSlave.chastityPenis !== 1 && _partnerSlave.dick > 0) {
 								if (canPenetrate(_partnerSlave)) {
 									t += `with ${name} hungrily sucking ${his} ${activeSlaveRel}'s turgid cock.`;
 								} else if (_partnerSlave.dick > 7 && activeSlave.amp !== 1) {
@@ -313,9 +313,9 @@ window.loverSlave = function(activeSlave) {
 							} else {
 								t += `and ${name} is sating ${his} oral fixation for the moment by eagerly polishing ${his} ${activeSlaveRel}'s pearl.`;
 							}
-						} else if ((!["chastity", "combined chastity"].includes(_partnerSlave.dickAccessory) && _partnerSlave.dick > 0) || canDoVaginal(_partnerSlave)) {
+						} else if ((_partnerSlave.chastityPenis !== 1 && _partnerSlave.dick > 0) || canDoVaginal(_partnerSlave)) {
 							t += `${name} has ${his} face to ${partnerName}'s crotch and is `;
-							if (!["chastity", "combined chastity"].includes(_partnerSlave.dickAccessory) && _partnerSlave.dick > 0) {
+							if (_partnerSlave.chastityPenis !== 1 && _partnerSlave.dick > 0) {
 								if (canPenetrate(_partnerSlave)) {
 									t += `hungrily sucking ${his} ${activeSlaveRel}'s turgid cock.`;
 								} else if (_partnerSlave.dick > 7 && activeSlave.amp !== 1) {
@@ -585,9 +585,9 @@ window.loverSlave = function(activeSlave) {
 									}
 								} else {
 									if (activeSlave.belly >= 5000) {
-										t += `${partnerName} has ${name} on ${his} back so that ${he2} can ride ${him} while lavashing attention on ${his} beloved stomach.`;
+										t += `${partnerName} has ${name} on ${his} back so that ${he2} can ride ${him} while lavishing attention on ${his} beloved stomach.`;
 									} else {
-										t += `${name} has ${partnerName} on ${his2} back so that ${he} can fuck ${him2} while lavashing attention on ${his2} bulging stomach.`;
+										t += `${name} has ${partnerName} on ${his2} back so that ${he} can fuck ${him2} while lavishing attention on ${his2} bulging stomach.`;
 									}
 								}
 							} else if (canDoAnal(_partnerSlave) && _partnerSlave.anus > 0 && _fuckSeed > 80) {
@@ -701,7 +701,7 @@ window.loverSlave = function(activeSlave) {
 										}
 										t += `${himself2} `;
 										if (activeSlave.belly >= 5000) {
-											t += `so ${he2} and ${name} are trying their hardest to trib with their ever expanding bobies in the way.`;
+											t += `so ${he2} and ${name} are trying their hardest to trib with their ever expanding bodies in the way.`;
 										} else {
 											t += `so ${name} is savoring the feeling of ${_his} navel tracing ${his} slit.`;
 										}
@@ -1151,7 +1151,7 @@ window.loverSlave = function(activeSlave) {
 						if (canTalk(activeSlave)) {
 							t += `starting a meal together. A third, less well trained slave has asked ${name} an innocent question, and is getting enthusiastic slave dogma in return. ${His} ${activeSlaveRel} smiles tolerantly.`;
 						} else {
-							t += `have just woken up. ${name} is planning out how to better convince new slaves that they made the right choice. ${His} ${activeSlaveRel} just tolerently goes about tidying up while giving the occasional idea.`;
+							t += `have just woken up. ${name} is planning out how to better convince new slaves that they made the right choice. ${His} ${activeSlaveRel} just tolerantly goes about tidying up while giving the occasional idea.`;
 						}
 						break;
 					case "adores men":
diff --git a/src/npc/databases/dSlavesDatabase.tw b/src/npc/databases/dSlavesDatabase.tw
index b5f736bfdb46c705caba46fd3cfe69618cb5bd3f..ca22350304b34c3c3cdb331eed9c3b2dd868c229 100644
--- a/src/npc/databases/dSlavesDatabase.tw
+++ b/src/npc/databases/dSlavesDatabase.tw
@@ -489,7 +489,7 @@
 <<set $heroSlaves.push(_HS)>>
 
 <<set _HS = {}>>
-<<set _HS.slaveName = "'Virago' Kissa", _HS.birthName = "", _HS.birthSurname = "", _HS.origin = "In spite of the great demand for her kind, she has apparently eluded enslavement until recently.", _HS.career = "a wanderer", _HS.ID = _i++, _HS.prestige = 1, _HS.prestigeDesc = "She is a natural albino.", _HS.birthWeek = random(0,51), _HS.health = 100, _HS.devotion = 100, _HS.muscles = 50, _HS.height = 190, _HS.nationality = "Ugandan", _HS.race = "black", _HS.eyeColor = "pale grey", _HS.hColor = "white", _HS.pubicHColor = "white", _HS.skin = "extremely pale", _HS.hLength = 100, _HS.hStyle = "extremely long and bushy", _HS.pubicHStyle = "bushy", _HS.waist = -55, _HS.boobs = 600, _HS.face = 55, _HS.lips = 35, _HS.vaginaLube = 1, _HS.clitPiercing = 3, _HS.clitSetting = "oral", _HS.ovaries = 1, _HS.anusTat = "bleached", _HS.oralSkill = 100, _HS.whoreSkill = 100, _HS.entertainSkill = 100, _HS.combatSkill = 3, _HS.livingRules = "luxurious", _HS.speechRules = "permissive", _HS.releaseRules = "permissive", _HS.collar = "pretty jewelry", _HS.shoes = "flats", _HS.intelligence = 100, _HS.intelligenceImplant = 30, _HS.attrXY = 40, _HS.fetish = "cumslut", _HS.fetishKnown = 1, _HS.behavioralFlaw = "odd", _HS.customTat = "Her entire body is tattooed with a detailed map of her arteries which, combined with her albinism, gives her a quasi-translucent quality.", _HS.customDesc = "Her eyes are unsettling; though her irises are a pale grey color, in some lights the whole eye takes on a red cast.">>
+<<set _HS.slaveName = "'Virago' Kissa", _HS.birthName = "", _HS.birthSurname = "", _HS.origin = "In spite of the great demand for her kind, she has apparently eluded enslavement until recently.", _HS.career = "a wanderer", _HS.ID = _i++, _HS.prestige = 1, _HS.prestigeDesc = "She is a natural albino.", _HS.birthWeek = random(0,51), _HS.health = 100, _HS.devotion = 100, _HS.muscles = 50, _HS.height = 190, _HS.nationality = "Ugandan", _HS.race = "black", _HS.eyeColor = "pale grey", _HS.hColor = "white", _HS.pubicHColor = "white", _HS.skin = "extremely pale", _HS.hLength = 100, _HS.hStyle = "extremely long and bushy", _HS.pubicHStyle = "bushy", _HS.waist = -55, _HS.boobs = 600, _HS.face = 55, _HS.lips = 35, _HS.vaginaLube = 1, _HS.clitPiercing = 3, _HS.clitSetting = "oral", _HS.ovaries = 1, _HS.anusTat = "bleached", _HS.oralSkill = 100, _HS.whoreSkill = 100, _HS.entertainSkill = 100, _HS.combatSkill = 3, _HS.livingRules = "luxurious", _HS.speechRules = "permissive", _HS.releaseRules = "permissive", _HS.collar = "pretty jewelry", _HS.shoes = "flats", _HS.intelligence = 100, _HS.intelligenceImplant = 30, _HS.attrXY = 40, _HS.fetish = "cumslut", _HS.fetishKnown = 1, _HS.behavioralFlaw = "odd", _HS.geneticQuirks.albinism == 2, _HS.customTat = "Her entire body is tattooed with a detailed map of her arteries which, combined with her albinism, gives her a quasi-translucent quality.", _HS.customDesc = "Her eyes are unsettling; though her irises are a pale grey color, in some lights the whole eye takes on a red cast.">>
 <<set $heroSlaves.push(_HS)>>
 
 <<set _HS = {}>>
diff --git a/src/npc/descriptions/fAnus.tw b/src/npc/descriptions/fAnus.tw
index 43ccb29a8263560a8dbacdac650307c46a026055..e532aaba2dab25e77dae5d744bea391cbf47ed89 100644
--- a/src/npc/descriptions/fAnus.tw
+++ b/src/npc/descriptions/fAnus.tw
@@ -67,14 +67,14 @@ $His anus is invitingly bleached,
 <<elseif $activeSlave.fetish == "mindbroken">>
 	<<if ($activeSlave.amp != 1)>>You instruct $him to present $his anus. $He dully kneels and spreads $his buttocks<<if ($PC.dick == 0)>>as you don a strap-on<</if>>. You spit on $his hole and ram <<if ($PC.dick == 0)>>it<<else>>your cock<</if>> up $his butt.<<else>>Talking to a broken mind is pointless, so you simply set $him on the couch, spread $his buttocks with one hand, spit on $his hole, and ram <<if ($PC.dick == 0)>>it<<else>>your cock<</if>> up $his <<if $seeRace == 1>>$activeSlave.race <</if>>butt.<</if>> $His butthole spasms as you assrape $him, <<if ($PC.dick == 0)>>an amusing sight<<else>>squeezing your dick nicely<</if>>.
 	<<if ($activeSlave.dick != 0) && canAchieveErection($activeSlave)>>
-		<<if $activeSlave.chastityPenis>>
+		<<if $activeSlave.chastityPenis == 1>>
 			Automatic responses give $him an erection, which $his chastity makes so uncomfortable that $he spasms. This cycle continues repeatedly, $his rectum squeezing unconsciously each time.
 		<<elseif $activeSlave.prostate != 0>>
 			Despite $his mental deficiency, the prostate stimulation gives $him an erection anyway.
 		<<else>>
 			Without a prostate, there's little stimulation to provoke an involuntary response, and $his cock stays limp.
 		<</if>>
-	<<elseif $activeSlave.chastityPenis>>
+	<<elseif $activeSlave.chastityPenis == 1>>
 		$His dick chastity keeps $his pointless cock hidden away while you use $his anus like a pussy.
 	<<elseif ($activeSlave.dick != 0)>>
 		$His cock is totally flaccid throughout.
@@ -84,18 +84,18 @@ $His anus is invitingly bleached,
 	<<if ($activeSlave.dick != 0) && canAchieveErection($activeSlave)>>
 		<<if $activeSlave.prostate == 0>>
 			$He lacks a prostate, denying $him any real pleasure from this. $His dick stays flaccid as you rape $him.
-		<<elseif ($activeSlave.chastityPenis)>>
+		<<elseif ($activeSlave.chastityPenis == 1)>>
 			Despite $his unwillingness to be sodomized, the prostate stimulation starts to give $him an erection, which $his dick chastity makes horribly uncomfortable. $He bucks with the pain, $his asshole spasming delightfully.
 		<<else>>
 			Despite $his unwillingness to be sodomized, the prostate stimulation gives $him an erection. $He's mortified that $he would get hard while being anally raped.
 		<</if>>
-	<<elseif ($activeSlave.chastityPenis)>>
+	<<elseif ($activeSlave.chastityPenis == 1)>>
 		$His dick chastity keeps $his bitch cock hidden away while you use $his anus like a pussy.
 	<<elseif ($activeSlave.dick != 0)>>
 		$His flaccid dick is ground into the back of the couch as you rape $him.
 	<</if>>
 <<elseif ($activeSlave.devotion <= 20) && ($activeSlave.vagina < 0)>>
-	<<if ($activeSlave.amp != 1)>>You instruct $him to present $his anus<<if ($PC.dick == 0)>> as you don a strap-on<</if>>. $He knows a sissy slave takes it up the butt, and lies on the couch next to your desk with $his legs in the air, spreading $his buttocks with $his hands.<<else>>You tell $him it's time for an assfuck. $He's hesitant, but as an amputee can do nothing about it.<</if>> You take your time and fuck $his <<if $seeRace == 1>>$activeSlave.race <</if>>butthole for a good long while<<if (!($activeSlave.chastityPenis))>><<if ($activeSlave.dick != 0)>> so $his limp dick flops around<<elseif ($activeSlave.balls != 0)>> as $his erect dick waves in the air<</if>><</if>>. This gives you enough time to stroke $him until $he gets aroused despite $his discomfort with anal. $He doesn't orgasm, but $he's getting accustomed to $his asshole as a sexual organ.
+	<<if ($activeSlave.amp != 1)>>You instruct $him to present $his anus<<if ($PC.dick == 0)>> as you don a strap-on<</if>>. $He knows a sissy slave takes it up the butt, and lies on the couch next to your desk with $his legs in the air, spreading $his buttocks with $his hands.<<else>>You tell $him it's time for an assfuck. $He's hesitant, but as an amputee can do nothing about it.<</if>> You take your time and fuck $his <<if $seeRace == 1>>$activeSlave.race <</if>>butthole for a good long while<<if ($activeSlave.chastityPenis != 1)>><<if ($activeSlave.dick != 0)>> so $his limp dick flops around<<elseif ($activeSlave.balls != 0)>> as $his erect dick waves in the air<</if>><</if>>. This gives you enough time to stroke $him until $he gets aroused despite $his discomfort with anal. $He doesn't orgasm, but $he's getting accustomed to $his asshole as a sexual organ.
 <<elseif $activeSlave.devotion < 10>>
 	<<if ($activeSlave.amp != 1)>>You instruct $him to present $his <<if $seeRace == 1>>$activeSlave.race <</if>>anus<<if ($PC.dick == 0)>> as you don a strap-on<</if>>. $He hesitates but eventually lies on the couch next to your desk with $his legs in the air, spreading $his buttocks with $his hands.<<else>>You tell $him it's time for an assfuck. $He's hesitant, but as an amputee can do nothing about it.<</if>> You take your time and fuck $his butthole for a good long while.
 	<<if ($activeSlave.anus == 1)>>
diff --git a/src/npc/descriptions/fBoobs.tw b/src/npc/descriptions/fBoobs.tw
index bb4ac2fffe8994fd97e75bf7b61924eb4a7d60c0..7f69c09d152ab0b7df449e918f714e5858c3b2dc 100644
--- a/src/npc/descriptions/fBoobs.tw
+++ b/src/npc/descriptions/fBoobs.tw
@@ -135,7 +135,7 @@ tits.
 		rolling $his $activeSlave.nipples nipples between your fingers and thumbs. When you finish, you give them a hard pull,
 	<</if>>
 	sending $him gasping over the edge as well.
-<<elseif ($activeSlave.fetish == "cumslut") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1) && ($activeSlave.chastityPenis)>>
+<<elseif ($activeSlave.fetish == "cumslut") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1) && ($activeSlave.chastityPenis == 1)>>
 	$He comes over eagerly, with hunger in $his eyes. $He gives you a titjob with $his lubricated cleavage while you sit at your desk. As a cumslut $he's almost desperate to get your cum into $him <<if $seeRace == 1>>$activeSlave.race <</if>>mouth and rubs a nipple with one hand and $his anal opening with the other, since $he can't touch $his cock. The situation brings $him some pleasure, but the first twitches of $his cock against $his chastity cage are so uncomfortable that $he subsides into busy mechanical dick sucking. $He writhes uncomfortably, frustrated beyond belief.
 <<elseif ($activeSlave.fetish == "cumslut") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1) && ($activeSlave.dick !== 0) && ($PC.dick == 1)>>
 	$He comes over eagerly, with hunger in $his eyes. $He gives you a titjob with $his lubricated cleavage while you sit at your desk. As a cumslut $he's almost desperate to get your cum into $him <<if $seeRace == 1>>$activeSlave.race <</if>>mouth and <<if canAchieveErection($activeSlave)>>jacks $himself off<<else>>rubs $his sadly limp member<</if>> in anticipation. When you finish, $he sits back with an ecstatic look on $his face and lets your cum rest in $his mouth as $he climaxes into $his hand. $He pours $his own cum from $his hand into $his mouth so it can mingle with yours.
diff --git a/src/npc/descriptions/fButt.tw b/src/npc/descriptions/fButt.tw
index 130f197a5a366dd4bd4abaa87269981c9dec5db1..16f3f0b3ddf7dc1a93b79dc99fb21726e833202d 100644
--- a/src/npc/descriptions/fButt.tw
+++ b/src/npc/descriptions/fButt.tw
@@ -103,12 +103,12 @@ $His anus is invitingly bleached,
 	<<if ($activeSlave.dick != 0) && canAchieveErection($activeSlave)>>
 		<<if $activeSlave.prostate == 0>>
 			$He lacks a prostate, denying $him any real pleasure. $His dick stays flaccid as you rape $him.
-		<<elseif ($activeSlave.chastityPenis)>>
+		<<elseif ($activeSlave.chastityPenis == 1)>>
 			Despite $his unwillingness to be sodomized, the prostate stimulation starts to give $him an erection, which $his dick chastity makes horribly uncomfortable. $He bucks with the pain, $his asshole spasming delightfully.
 		<<else>>
 			Despite $his unwillingness to be sodomized, the prostate stimulation gives $him an erection. $He's mortified that $he would get hard while being anally raped.
 		<</if>>
-	<<elseif ($activeSlave.chastityPenis)>>
+	<<elseif ($activeSlave.chastityPenis == 1)>>
 		$His dick chastity keeps $his bitch cock hidden away while you use $his anus like a pussy.
 	<<elseif ($activeSlave.dick !== 0)>>
 		$His flaccid dick is ground into the back of the couch as you rape $him.
@@ -143,13 +143,13 @@ $His anus is invitingly bleached,
 	<</if>>
 	You fuck $him there for a while before repeatedly pulling out and stuffing yourself back in. $He moans each time you fill <<if canDoVaginal($activeSlave)>>a<<else>>$his<</if>> waiting hole.
 	<<if ($activeSlave.dick != 0) && canAchieveErection($activeSlave)>>
-		<<if ($activeSlave.chastityPenis)>>
+		<<if ($activeSlave.chastityPenis == 1)>>
 			Whenever $he starts to get hard, $his dick chastity gives $him an awful twinge of pain. You do your best to be up $his butt when this happens so you can experience the resulting spasm.
 		<<else>>
 			Every time you penetrate, $his erect dick jerks up and slaps $his stomach.
 		<</if>>
 	<<elseif ($activeSlave.dick !== 0)>>
-		<<if ($activeSlave.chastityPenis)>>
+		<<if ($activeSlave.chastityPenis == 1)>>
 			$His dick chastity keeps $his girly bitchclit hidden, just like it belongs.
 		<<else>>
 			Every time you penetrate, $his limp dick flops around lamely.
diff --git a/src/npc/descriptions/fLips.tw b/src/npc/descriptions/fLips.tw
index 9ef407caa729d9a870101abab1a83fa6e77f1d3c..e8991c9600d43795e06ea2c902837634a50ad3d0 100644
--- a/src/npc/descriptions/fLips.tw
+++ b/src/npc/descriptions/fLips.tw
@@ -114,7 +114,7 @@ You tell $activeSlave.slaveName to
 		$He has absolutely no control over how hard you grind your cunt against $his face, so you are careful not to suffocate $him. Even so, you take $him to the edge, enjoying the sight of $his absurd rear jiggling as $he struggles to breathe. Eventually you climax, giving $him a good taste of your femcum.
 	<</if>>
 <<elseif ($activeSlave.fetish == "cumslut") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1) && ($activeSlave.dick != 0) && ($PC.dick != 0)>>
-	$He comes over eagerly, with hunger <<if canSee($activeSlave)>>in $his eyes<<else>>on $his face<</if>>. $He gets to $his knees, hurriedly takes you into $his <<if $seeRace == 1>>$activeSlave.race <</if>>mouth, and gives the blowjob $his all. As a cumslut $he's almost desperate to get your cum into $his mouth and <<if ($activeSlave.chastityPenis)>>(since $his cock is off limits) frantically rubs $his nipples and asspussy<<elseif canAchieveErection($activeSlave)>>jacks $himself off<<else>>rubs $his sadly limp member<</if>> in anticipation.<<if $PC.vagina == 1>> You have more than one variety of deliciousness for $him, and $he's careful not to neglect your wet cunt.<</if>> When you finish, $he sits back with an ecstatic look on $his face and lets your cum rest in $his mouth as $he climaxes into $his $activeSlave.skin hand. $He pours $his own cum from $his hand into $his mouth so it can mingle with yours.
+	$He comes over eagerly, with hunger <<if canSee($activeSlave)>>in $his eyes<<else>>on $his face<</if>>. $He gets to $his knees, hurriedly takes you into $his <<if $seeRace == 1>>$activeSlave.race <</if>>mouth, and gives the blowjob $his all. As a cumslut $he's almost desperate to get your cum into $his mouth and <<if ($activeSlave.chastityPenis == 1)>>(since $his cock is off limits) frantically rubs $his nipples and asspussy<<elseif canAchieveErection($activeSlave)>>jacks $himself off<<else>>rubs $his sadly limp member<</if>> in anticipation.<<if $PC.vagina == 1>> You have more than one variety of deliciousness for $him, and $he's careful not to neglect your wet cunt.<</if>> When you finish, $he sits back with an ecstatic look on $his face and lets your cum rest in $his mouth as $he climaxes into $his $activeSlave.skin hand. $He pours $his own cum from $his hand into $his mouth so it can mingle with yours.
 <<elseif ($activeSlave.fetish == "cumslut") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1) && ($PC.dick != 0)>>
 	$He comes over eagerly, with hunger <<if canSee($activeSlave)>>in $his eyes<<else>>on $his face<</if>>. $He gets to $his knees, hurriedly takes you into $his <<if $seeRace == 1>>$activeSlave.race <</if>>mouth, and gives the blowjob $his all. As a cumslut $he's almost desperate to get your cum into $his mouth and rubs $himself in anticipation.<<if $PC.vagina == 1>> You have more than one variety of deliciousness for $him, and $he's careful not to neglect your wet cunt.<</if>> When you finish, $he sits back with an ecstatic look on $his face and lets your cum rest in $his mouth as $he climaxes.
 <<elseif $activeSlave.devotion < -20>>
diff --git a/src/npc/descriptions/fVagina.tw b/src/npc/descriptions/fVagina.tw
index 5ab9fae65fa1d9d3689b03dd6afeb59dbb412556..4a759eb68d9a2815183154d3d7e015662fa27626 100644
--- a/src/npc/descriptions/fVagina.tw
+++ b/src/npc/descriptions/fVagina.tw
@@ -188,7 +188,7 @@ You call $him over so you can
 			atop your cock and slide $him up and down<<if _fSpeed > 75>>, hard and fast<<elseif _fSpeed > 50>>, firmly and vigorously<<elseif _fSpeed > 25>>, steadily and controlled<<else>>, slowly and tenderly<</if>>, managing $him with your arms.
 		<</if>>
 		<<if $activeSlave.dick > 0>>
-			<<if $activeSlave.chastityPenis>>
+			<<if $activeSlave.chastityPenis == 1>>
 				$His dick chastity keeps $his useless bitchclit out of the way.
 			<<elseif !canAchieveErection($activeSlave)>>
 				As you use $him as a helpless cock jacket, $his
@@ -301,12 +301,12 @@ You call $him over so you can
 	<</if>>
 	you can feel <<if $activeSlave.bellyPreg >= 300000>>$his children begin to squirm in reaction to their mother's lust<<else>>$his heart beating hard<</if>>. As the sex reaches its climax, $he begs you to cum inside $his unworthy body.
 	<<if ($activeSlave.dick != 0) && canAchieveErection($activeSlave)>>
-		<<if $activeSlave.chastityPenis>>
+		<<if $activeSlave.chastityPenis == 1>>
 			$He does $his submissive best to stay completely soft within $his dick chastity.
 		<<else>>
 			As a submissive $he spares no attention for $his own orgasm, so $his rock hard erection swings untended.
 		<</if>>
-	<<elseif ($activeSlave.chastityPenis)>>
+	<<elseif ($activeSlave.chastityPenis == 1)>>
 		$His cock is forgotten inside its chastity cage as you take what you want from $him.
 	<<elseif ($activeSlave.dick != 0)>>
 		As a submissive $he spares no attention for $his own orgasm, so $his flaccid cock swings untended.
@@ -327,7 +327,7 @@ You call $him over so you can
 			<<else>>
 				gives $him an erection. $He's mortified that $he would get hard while being raped.
 			<</if>>
-		<<elseif ($activeSlave.chastityPenis)>>
+		<<elseif ($activeSlave.chastityPenis == 1)>>
 			$His dick chastity keeps $his bitch cock hidden away while you use $his whore hole.
 		<<elseif ($activeSlave.dick != 0)>>
 			$His flaccid dick is ground into the back of the couch as you rape $him.
@@ -344,12 +344,12 @@ You call $him over so you can
 	<<if ($PC.dick != 0)>>
 		$He obeys, lying on the couch next to your desk with $his legs spread. You kneel on the ground and enter $him, a hand on each of $his legs to give you a good grip. <<if _fSpeed > 75>>The pounding is hard and fast<<elseif _fSpeed > 50>>You pound $him firmly and vigorously<<elseif _fSpeed > 25>>You fuck $him steadily and controlled<<else>>You fuck $him slowly and tenderly<</if>>, and $he gasps and <<if _fSpeed > 50>>whines<<else>>moans<</if>>. You reach a hand down to maul $his breasts.
 		<<if ($activeSlave.dick != 0) && canAchieveErection($activeSlave)>>
-			<<if ($activeSlave.chastityPenis)>>
+			<<if ($activeSlave.chastityPenis == 1)>>
 				$He enjoys $himself, even though $his dick chastity keeps $him soft by making the beginnings of erection very uncomfortable.
 			<<else>>
 				$He bites $his lip and moans as $he climaxes. You fill $his squeezing fuckhole with your cum. $He already dribbled $his own weak load all over $his stomach.
 			<</if>>
-		<<elseif ($activeSlave.chastityPenis)>>
+		<<elseif ($activeSlave.chastityPenis == 1)>>
 			$He bites $his lip and moans as $he climaxes. You fill $his squeezing fuckhole with your cum. Precum has been dribbling out of $his dick chastity for some time, apparently the best $his soft bitchclit can manage.
 		<<elseif ($activeSlave.dick != 0)>>
 			$He bites $his lip and moans as $he climaxes. You fill $his squeezing fuckhole with your cum. $He already blew $his own load all over $his stomach despite $his inability to get hard.
@@ -452,12 +452,12 @@ You call $him over so you can
 		you can feel <<if $activeSlave.bellyPreg >= 300000>>$his children begin to squirm in reaction to their mother's lust<<else>>$his heart beating hard<</if>>.
 		<<if (_fPosition <= 40) && $activeSlave.belly+$PC.belly < 20000>> As the sex reaches its climax, $his kisses grow urgent and passionate. <</if>>
 		<<if ($activeSlave.dick != 0) && canAchieveErection($activeSlave)>>
-			<<if $activeSlave.chastityPenis)>>
+			<<if ($activeSlave.chastityPenis == 1)>>
 				$He enjoys $himself, even though $his dick chastity keeps $him soft by making the beginnings of erection very uncomfortable.
 			<<else>>
 				When you orgasm together, $his erect cock squirts cum up towards $his tits while your cock fills $him with cum.
 			<</if>>
-		<<elseif ($activeSlave.chastityPenis)>>
+		<<elseif ($activeSlave.chastityPenis == 1)>>
 			$He bites $his lip and moans as $he climaxes. You fill $his squeezing fuckhole with your cum. Precum has been dribbling out of $his dick chastity for some time, apparently the best $his soft bitchclit can manage.
 		<<elseif ($activeSlave.dick != 0)>>
 			When you orgasm together, $his limp, neglected cock dribbles weakly while your cock fills $him with cum.
diff --git a/src/npc/fAbuse.tw b/src/npc/fAbuse.tw
index 8ee59865b5958a64e251b9662bdbbb3f2310e126..54a349bc054b0c714f72565fab40add5826e46c5 100644
--- a/src/npc/fAbuse.tw
+++ b/src/npc/fAbuse.tw
@@ -271,6 +271,8 @@
 		$He almost tears $his decorative lingerie in $his haste to avoid punishment.
 	<<case "harem gauze">>
 		$He's desperately torn between hurry to avoid punishment and fear $he'll tear $his flimsy gauze.
+	<<case "a Santa dress">>
+		$He tears off some of $his dress's white fur trim in $his struggle to remove it.
 	<<case "slutty jewelry">>
 		$He hurriedly strips fine jewelry from $his neck, wrists, and ankles.
 	<<case "a corset">>
@@ -344,7 +346,7 @@ from your victim.
 <</if>>
 <</if>>
 
-<<if ($activeSlave.chastityPenis)>>
+<<if ($activeSlave.chastityPenis == 1)>>
 	You rip $his dick chastity off $him, though $he knows not to be relieved. $His cock is now vulnerable, not free.
 <</if>>
 
diff --git a/src/npc/fRelation.tw b/src/npc/fRelation.tw
index 0524104b35e2c02540f7c5f6cd37095956987dcc..3c4e2b535bfed63c3a3411733989259bb18a0e25 100644
--- a/src/npc/fRelation.tw
+++ b/src/npc/fRelation.tw
@@ -84,7 +84,7 @@ You call both $activeSlave.slaveName and $slaves[$partner].slaveName to your off
 	<<= BothVCheck()>>
 	<<= PartnerVCheck()>>
 <<elseif canWalk($activeSlave) && canWalk($slaves[$partner]) && ($activeSlave.devotion > 50) && ($slaves[$partner].devotion > 20) && (_activeSlaveRel == "sister" || _activeSlaveRel == "half-sister")>>
-	You call $activeSlave.slaveName's _activeSlaveRel $slaves[$partner].slaveName in for some incestuous fun, but see no reason to wait for _him2. When _he2 arrives, it's to the sight of $activeSlave.slaveName sitting on the couch with $his legs spread with you <<if ($activeSlave.vagina > -1)>>gently fucking $his pussy<<else>>using $his asshole<</if>><<if ($PC.dick == 0)>> with a strap-on<</if>>. You pull out and order $slaves[$partner].slaveName to orally service _his2 sister. _He2 gets down before the spread-eagled slave $girl to get to work. After watching $activeSlave.slaveName enjoy the attention for a while, you move behind the busy $slaves[$partner].slaveName and pull _him2 into a good position so you can fuck _him2 while _he2 sucks. After a few thrusts, $activeSlave.slaveName's eyes roll back. <<if ($activeSlave.voice == 0) || ($activeSlave.accent >= 3)>>$He gestures that it feels really good when you make $his sister moan into $him.<<else>>"Oh <<Master>>," $he <<say squeal>>s, "it feel<<s>> <<s>>o good when you make _him2 moan into me!"<</if>>
+	You call $activeSlave.slaveName's _activeSlaveRel $slaves[$partner].slaveName in for some incestuous fun, but see no reason to wait for _him2. When _he2 arrives, it's to the <<if canSee($slaves[$partner])>>sight<<else>>scene<</if>> of $activeSlave.slaveName sitting on the couch with $his legs spread with you <<if ($activeSlave.vagina > -1)>>gently fucking $his pussy<<else>>using $his asshole<</if>><<if ($PC.dick == 0)>> with a strap-on<</if>>. You pull out and order $slaves[$partner].slaveName to orally service _his2 sister. _He2 gets down before the spread-eagled slave $girl to get to work. After watching $activeSlave.slaveName enjoy the attention for a while, you move behind the busy $slaves[$partner].slaveName and pull _him2 into a good position so you can fuck _him2 while _he2 sucks. After a few thrusts, $activeSlave.slaveName's eyes roll back. <<if ($activeSlave.voice == 0) || ($activeSlave.accent >= 3)>>$He gestures that it feels really good when you make $his sister moan into $him.<<else>>"Oh <<Master>>," $he squeals, "it feel<<s>> <<s>>o good when you make _him2 moan into me!"<</if>>
 	<<set $slaves[$partner].oralCount++, $activeSlave.oralCount++, $oralTotal++>>
 	<<= BothVCheck()>>
 	<<= PartnerVCheck()>>
diff --git a/src/npc/uploadSlave.tw b/src/npc/uploadSlave.tw
index d5372f3c0f6440e2b90f381f28f55204c4b8b125..555337eaf32de66f2f7d2512151405b311cb89ed 100644
--- a/src/npc/uploadSlave.tw
+++ b/src/npc/uploadSlave.tw
@@ -177,6 +177,9 @@ shoes: "$activeSlave.shoes",
 vaginalAccessory: "none",
 dickAccessory: "none",
 buttplug: "none",
+chastityAnus: 0,
+chastityPenis: 0,
+chastityVagina: 0,
 intelligence: $activeSlave.intelligence,
 intelligenceImplant: $activeSlave.intelligenceImplant,
 energy: $activeSlave.energy,
diff --git a/src/pregmod/fFeet.tw b/src/pregmod/fFeet.tw
index 1a22be9e447f33729dc0cbdc85ee66f83243107d..1dce3855d4c85b5292409f46b01604c26b649cf1 100644
--- a/src/pregmod/fFeet.tw
+++ b/src/pregmod/fFeet.tw
@@ -348,13 +348,13 @@ You call $activeSlave.slaveName to your office, telling $him to use $his feet to
 		As a devoted pervert, $activeSlave.slaveName gives an enthusiastic footjob, with $his
 		<<if $activeSlave.dick > 0>>
 			<<if canAchieveErection($activeSlave)>>
-				<<if ($activeSlave.chastityPenis)>>
+				<<if ($activeSlave.chastityPenis == 1)>>
 					erect caged _dick cock,
 				<<else>>
 					erect _dick cock,
 				<</if>>
 			<<else>>
-				soft and dripping _dick <<if ($activeSlave.chastityPenis)>>caged <</if>>dick ,
+				soft and dripping _dick <<if ($activeSlave.chastityPenis == 1)>>caged <</if>>dick ,
 			<</if>>
 			<<if $activeSlave.balls > 0 && $activeSlave.scrotum > 0>>
 				<<if $activeSlave.vagina >= 0>>
@@ -559,9 +559,9 @@ You call $activeSlave.slaveName to your office, telling $him to use $his feet to
 	<<if $PC.balls > 1>>
 		<<if $activeSlave.dick > 0>>
 			<<if cumAmount($activeSlave) > 20>>
-				$His _balls balls visibly throb as _dick dick unloads a massive amount of cum, adding $his own semen to $his body, resulting in a slave utterly plastered in spunk. $His eyes are held shut with a thick layer of cum, and judging by how <<if ($activeSlave.chastityPenis)>>$he's dick is still shooting cum even in a cage with no stimulation,<<else>>furiously $he is masturbating,<</if>> $he couldn't be happier.
+				$His _balls balls visibly throb as _dick dick unloads a massive amount of cum, adding $his own semen to $his body, resulting in a slave utterly plastered in spunk. $His eyes are held shut with a thick layer of cum, and judging by how <<if ($activeSlave.chastityPenis == 1)>>$he's dick is still shooting cum even in a cage with no stimulation,<<else>>furiously $he is masturbating,<</if>> $he couldn't be happier.
 			<<else>>
-				$His _dick dick unloads onto $his belly and $boobs chest, and $his giggles and gasps as it rains down with audible splats. $He is splattered in semen, face coated in your cum, and judging by $his nostrils desperately taking in the heady smell and how <<if ($activeSlave.chastityPenis)>>$he's dick is still throbbing in orgasm even in a cage with no stimulation,<<else>>$he can't stop masturbating,<</if>> $he couldn't be happier.
+				$His _dick dick unloads onto $his belly and $boobs chest, and $his giggles and gasps as it rains down with audible splats. $He is splattered in semen, face coated in your cum, and judging by $his nostrils desperately taking in the heady smell and how <<if ($activeSlave.chastityPenis == 1)>>$he's dick is still throbbing in orgasm even in a cage with no stimulation,<<else>>$he can't stop masturbating,<</if>> $he couldn't be happier.
 			<</if>>
 		<<elseif $activeSlave.vagina >= 0>>
 			$He leans back and moans in pleasure, $his <<if $activeSlave.vaginaLube == 1>>wet <<elseif $activeSlave.vaginaLube == 2>>dripping wet <</if>>pussy and asshole clenching. $He is splattered in semen, face coated in your cum, and judging by $his nostrils desperately taking in your scent and how $he can't stop masturbating, $he couldn't be happier.
diff --git a/src/pregmod/fMarry.tw b/src/pregmod/fMarry.tw
index 26d0dfe785ffcb5a950a2ae9866a413e1feed49b..0bee3b389fb5d5ef4d03588d3915f184dbd80c5f 100644
--- a/src/pregmod/fMarry.tw
+++ b/src/pregmod/fMarry.tw
@@ -160,13 +160,13 @@ You tell $activeSlave.slaveName that you're going to marry $him. (A proposal, of
 			<<if $activeSlave.relationship == -1>>
 				"I'll never be <<s>>ati<<s>>fied by ju<<s>>t you!"
 			<<elseif $activeSlave.relationship == 4>>
-				"I love _name, not you <<Master>>! You'll never be a<<s>> good as _himL!"
+				"I love _name, not you <<Master>>! You'll never be a<<s>> good a<<s>> _himL!"
 			<<elseif $activeSlave.relationship == 3>>
 				"But I like having <<s>>e<<x>> with _name, not you <<Master>>! You'll never be a<<s>> good as _himL!"
 			<<elseif $activeSlave.relationship > 0>>
 				"But I like <<s>>pending time with _name, _heL'<<s>> <<s>>o much ni<<c>>er to be around than you, <<Master>>.
 			<<else>>
-				"I need you in my life, <<Master>>, so why don't you bend down like the bitch you are and <<if $activeSlave.dick > 0>><<s>>uck my dick<<elseif $activeSlave.vagina > -1>>eat me out<<else>>lick my a<<ss>><</if>>, <<Master>>?"
+				"I need you in my life, <<Master>>, <<s>>o why don't you bend down like the bitch you are and <<if $activeSlave.dick > 0>><<s>>uck my dick<<elseif $activeSlave.vagina > -1>>eat me out<<else>>lick my a<<ss>><</if>>, <<Master>>?"
 			<</if>>
 		<</if>>
 	<<elseif $activeSlave.amp == 1>>
@@ -317,9 +317,9 @@ You tell $activeSlave.slaveName that you're going to marry $him. (A proposal, of
 	<<elseif $assistantAppearance == "hypergoddess">>
 		goddess avatar completely unchanged, since _heA considers _hisA usual form perfectly appropriate for a marriage.
 	<<elseif $assistantAppearance == "loli">>
-		loli avatar looking surprisingly mature in a minister's collar. Though, _heA would rather be the flower _girlA in this wedding.
+		_loliA avatar looking surprisingly mature in a minister's collar. Though, _heA would rather be the flower _girlA in this wedding.
 	<<elseif $assistantAppearance == "preggololi">>
-		loli avatar looking surprisingly mature in a minister's collar. Though, _heA would rather be the flower _girlA in this wedding.
+		_loliA avatar looking surprisingly mature in a minister's collar. Though, _heA would rather be the flower _girlA in this wedding.
 	<<elseif $assistantAppearance == "schoolgirl">>
 		schoolgirl avatar looking willfully absurd in a minister's collar and _hisA usual short plaid skirt.
 	<<elseif $assistantAppearance == "angel">>
@@ -528,7 +528,7 @@ You tell $activeSlave.slaveName that you're going to marry $him. (A proposal, of
 	<<elseif ($activeSlave.bellyFluid >= 1500)>>
 		$His distended, <<print $activeSlave.inflationType>>-belly protrudes out the front of $his bridal wear.
 	<</if>>
-	<<if $activeSlave.chastityPenis>>
+	<<if $activeSlave.chastityPenis == 1>>
 		$His slave dick is hidden by its chastity cage.
 	<<elseif canAchieveErection($activeSlave)>>
 		<<if ($activeSlave.dick > 4) && ($activeSlave.belly >= 5000)>>
diff --git a/src/pregmod/forceFeeding.tw b/src/pregmod/forceFeeding.tw
index 258c4d7c135533ed7136d11e06b2d423bad7bdef..97a9be36b5ef36018763b52d5671b038b53cf3b1 100644
--- a/src/pregmod/forceFeeding.tw
+++ b/src/pregmod/forceFeeding.tw
@@ -576,7 +576,7 @@ and a little jiggle from $his gut.
 				Every thrust into the stuffed $desc forces $his full middle to leap back
 				before slamming into your stomach alongside a moaning groan.
 				As you pick up the pace, $he begins to buck against you, adding even more motion to $his body.
-				It doesn't take long for you to reach your peak and after cumming, catch sight of $his own climax.
+				It doesn't take long for you to reach your peak and, after cumming, catch sight of $his own climax.
 				Watching $his middle attempt to contract around the mass of slave food inside $him
 				invigorates you for a second round.
 				<<if $PC.balls == 3>>
diff --git a/src/pregmod/geneLab.tw b/src/pregmod/geneLab.tw
index 515d07cb73ff053c23120e0d3c8f72f57aa9ae41..f0aecc162280b73dc8f70493770727e4cfd3bc98 100644
--- a/src/pregmod/geneLab.tw
+++ b/src/pregmod/geneLab.tw
@@ -43,7 +43,7 @@ Genetic Harvesting
 	<<else>>
 		[[Purchase methods for human cloning|Gene Lab][cashX(forceNeg(100000*_PCSkillCheck), "capEx"), $cloningSystem = 1]]
 		//Costs <<print cashFormat(100000*_PCSkillCheck)>>//
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will allow children to be created with indentical base genetics as the source DNA//
+		<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will allow children to be created with identical base genetics as the source DNA//
 		<br>
 	<</if>>
 <<elseif ($cloningSystem > 0)>>
diff --git a/src/pregmod/incubator.tw b/src/pregmod/incubator.tw
index a06a4c647d973c014594c452b451d3046579cc2b..6852e5433be908c596eb661c9ad4d5da0d96ee24 100644
--- a/src/pregmod/incubator.tw
+++ b/src/pregmod/incubator.tw
@@ -241,7 +241,7 @@ Target age for release: <<textbox "$targetAge" $targetAge "Incubator">> [[Minimu
 
 <br>
 <<if $incubatorBulkRelease == 1>>
-	Released children will be handled in bulk and not recieve personal attention.
+	Released children will be handled in bulk and not receive personal attention.
 	[[Individual release|Incubator][$incubatorBulkRelease = 0]]
 <<else>>
 	Released children will be seen to personally.
@@ -265,14 +265,14 @@ Target age for release: <<textbox "$targetAge" $targetAge "Incubator">> [[Minimu
 <<if $incubatorUpgradeWeight == 1>>
 	Advanced caloric monitoring systems have been installed in the tanks to monitor and maintain a developing child's weight.
 <<else>>
-	There are no systems in place to control a growing child's weight; they will likely come out emaciated from rapidly growing. [[Upgrade the growth tanks with weight monitoring systems|Incubator][cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "capEx"), $incubatorUpgradeWeight = 1]] //Costs <<print cashFormat(Math.trunc(20000*$upgradeMultiplierArcology))>> and will increase upkeep costs//
+	There are no systems in place to control a growing child's weight; they will likely come out emaciated from the rapid growth. [[Upgrade the growth tanks with weight monitoring systems|Incubator][cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "capEx"), $incubatorUpgradeWeight = 1]] //Costs <<print cashFormat(Math.trunc(20000*$upgradeMultiplierArcology))>> and will increase upkeep costs//
 <</if>>
 
 <br>
 <<if $incubatorUpgradeMuscles == 1>>
 	Advanced monitoring and steroid injection systems have been installed in the tanks to monitor and maintain a developing child's musculature.
 <<else>>
-	There are no systems in place to control a growing child's musculature; they will likely come out frail and weak from rapidly growing. [[Upgrade the growth tanks with muscle monitoring systems|Incubator][cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "capEx"), $incubatorUpgradeMuscles = 1]] //Costs <<print cashFormat(Math.trunc(20000*$upgradeMultiplierArcology))>> and will increase upkeep costs//
+	There are no systems in place to control a growing child's musculature; they will likely come out frail and weak from the rapid growth. [[Upgrade the growth tanks with muscle monitoring systems|Incubator][cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "capEx"), $incubatorUpgradeMuscles = 1]] //Costs <<print cashFormat(Math.trunc(20000*$upgradeMultiplierArcology))>> and will increase upkeep costs//
 <</if>>
 
 <br>
@@ -350,7 +350,9 @@ Target age for release: <<textbox "$targetAge" $targetAge "Incubator">> [[Minimu
 				extremely weak.
 			<</if>>
 			$His breasts are projected to be
-			<<if $tanks[$i].boobs <= 799>>
+			<<if $tanks[$i].boobs <= 299>>
+				of small size,
+			<<elseif $tanks[$i].boobs <= 799>>
 				of normal size,
 			<<elseif $tanks[$i].boobs <= 1799>>
 				of generous size,
@@ -398,7 +400,7 @@ Target age for release: <<textbox "$targetAge" $targetAge "Incubator">> [[Minimu
 				<<if $tanks[$i].pubertyXX == 0>>
 					as $he has not yet entered puberty.
 				<<else>>
-					it appears $his womb is sterile.
+					as it appears $his womb is sterile.
 				<</if>>
 			<</if>>
 		<<if $tanks[$i].growTime <= 0>>
@@ -537,7 +539,7 @@ Target age for release: <<textbox "$targetAge" $targetAge "Incubator">> [[Minimu
 				<</link>>
 			<</if>>
 			<<if $tanks[$i].voice == 0 && $tankOrgans.voicebox != 1>>
-				<br>It appears $he was born a mute:
+				<br>$He appears to be mute:
 				<<link "Prepare vocal cords">>
 					<<run cashX(-5000, "incubator", $tanks[$i])>>
 					<<set _newOrgan = {type: "voicebox", weeksToCompletion: "5", ID: 0}>>
diff --git a/src/pregmod/incubatorReport.tw b/src/pregmod/incubatorReport.tw
index d8028571577b61efa49d69ea62b48731c8680c4e..ff88051716ebb76311418cbc02b8c2daad809c53 100644
--- a/src/pregmod/incubatorReport.tw
+++ b/src/pregmod/incubatorReport.tw
@@ -63,7 +63,7 @@
 				<</if>>
 				The weight monitoring systems detect $he is underweight and @@.green;increase $his caloric intake.@@
 			<<else>>
-				$He is @@.lime;currently a healthy weight;@@ efforts will be made to maintain it.
+				$He is @@.lime;currently at a healthy weight;@@ efforts will be made to maintain it.
 			<</if>>
 		<<elseif $incubatorWeightSetting == 0>>
 			<<if $tanks[_inc].weight > -100>>
@@ -188,10 +188,10 @@
 			<</if>>
 		<<elseif $incubatorGrowthStimsSetting == 1>>
 			<<if $tanks[_inc].geneMods.NCS == 1>>
-				The monitoring system detects $he is near the expected height for $his @@.orange;NCS@@ condition, so it carefully regulates stimulants injections to @@.yellow;maintain $his current stature.@@
+				The monitoring system detects $he is near the expected height for $his @@.orange;NCS@@ condition, so it carefully regulates stimulant injections to @@.yellow;maintain $his current stature.@@
 				<<set $tanks[_inc].height = _heightLimitAge>>
 			<<elseif $tanks[_inc].height > _heightLimitAge>>
-				The monitoring system detects $he is near the expected height, so it carefully regulates stimulants injections to @@.yellow;maintain $his current stature.@@
+				The monitoring systems detect $he is near the expected height, so it carefully regulates stimulant injections to @@.yellow;maintain $his current stature.@@
 				<<if random(1,10) == 10>>
 					<<if $incubatorUpgradeSpeed == 52>>
 						<<set $tanks[_inc].height += random(1,4)>>
@@ -206,7 +206,7 @@
 					<</if>>
 				<</if>>
 			<<else>>
-				The monitoring system detects $his body is capable of developing more rapidly and @@.green;increases $his growth stimulant dosage.@@
+				The monitoring systems detect $his body is capable of developing more rapidly and @@.green;increase $his growth stimulant dosage.@@
 				<<if $incubatorUpgradeSpeed == 52>>
 					<<set $tanks[_inc].height += random(1,4)>>
 				<<elseif $incubatorUpgradeSpeed == 18>>
diff --git a/src/pregmod/incubatorRetrievalWorkaround.tw b/src/pregmod/incubatorRetrievalWorkaround.tw
index 488b17854a6e44e94cadcf4c1e08c7feb25b36f3..77370940f9eece744d741f243f73b6ab6469b592 100644
--- a/src/pregmod/incubatorRetrievalWorkaround.tw
+++ b/src/pregmod/incubatorRetrievalWorkaround.tw
@@ -80,7 +80,7 @@
 				Unknown.
 			<</if>>
 		<</if>>
-		
+
 		<<run newSlave(_newSlave)>>
 		<<if $incubatorOrgans.length > 0>>
 			<<for _irw2 = 0; _irw2 < $incubatorOrgans.length; _irw2++>>
@@ -95,7 +95,7 @@
 				<</if>>
 			<</for>>
 		<</if>>
-		
+
 	<</for>>
 	<<set $newSlavePool = 0>>
 <</if>>
\ No newline at end of file
diff --git a/src/pregmod/newChildIntro.tw b/src/pregmod/newChildIntro.tw
index 3edee4c8889876d5103d4dc3f481fcb40eeb8e4a..8779d48d5ca57c58f63fa6c85b526b3e5dcdf50a 100644
--- a/src/pregmod/newChildIntro.tw
+++ b/src/pregmod/newChildIntro.tw
@@ -24,7 +24,7 @@ You completed the legalities before heading to $incubatorName, knowing the tank
 	<<link "Commit name.">>
 	<<set $activeSlave.birthName = $activeSlave.slaveName>>
 	<<replace "#naming">>
-	You instruct $assistantName to register the new girl as "<<print $activeSlave.slaveName>>" in the slave registry.
+	You instruct $assistantName to register the new $girl as "<<print $activeSlave.slaveName>>" in the slave registry.
 	<</replace>>
 	<<replace "#newName">>
 		''__@@.pink;$activeSlave.slaveName@@__''
@@ -33,7 +33,7 @@ You completed the legalities before heading to $incubatorName, knowing the tank
 <br><<link "Have your PA assign $him a random name">>
 	<<replace "#naming">>
 		<<NewChildName $activeSlave>>
-		$assistantName registers the new girl as "<<print $activeSlave.slaveName>>" in your registry.
+		$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
 	<</replace>>
 	<<replace "#newName">>
 		''__@@.pink;$activeSlave.slaveName@@__''
@@ -45,7 +45,7 @@ You completed the legalities before heading to $incubatorName, knowing the tank
 		<<replace "#naming">>
 		<<set $activeSlave.slaveName = setup.cowSlaveNames.random()>>
 		<<set $activeSlave.birthName = $activeSlave.slaveName>>
-		$assistantName registers the new girl as "<<print $activeSlave.slaveName>>" in your registry.
+		$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
 		<</replace>>
 		<<replace "#newName">>
 			''__@@.pink;$activeSlave.slaveName@@__''
@@ -58,7 +58,7 @@ You completed the legalities before heading to $incubatorName, knowing the tank
 		<<replace "#naming">>
 		<<set $activeSlave.slaveName = setup.chattelReligionistSlaveNames.random()>>
 		<<set $activeSlave.birthName = $activeSlave.slaveName>>
-		$assistantName registers the new girl as "<<print $activeSlave.slaveName>>" in your registry.
+		$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
 		<</replace>>
 		<<replace "#newName">>
 			''__@@.pink;$activeSlave.slaveName@@__''
@@ -70,7 +70,7 @@ You completed the legalities before heading to $incubatorName, knowing the tank
 		<<replace "#naming">>
 		<<set $activeSlave.slaveName = setup.romanSlaveNames.random()>>
 		<<set $activeSlave.birthName = $activeSlave.slaveName>>
-		$assistantName registers the new girl as "<<print $activeSlave.slaveName>>" in your registry.
+		$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
 		<</replace>>
 		<<replace "#newName">>
 			''__@@.pink;$activeSlave.slaveName@@__''
@@ -81,7 +81,7 @@ You completed the legalities before heading to $incubatorName, knowing the tank
 		<<replace "#naming">>
 		<<set $activeSlave.slaveName = setup.aztecSlaveNames.random()>>
 		<<set $activeSlave.birthName = $activeSlave.slaveName>>
-		$assistantName registers the new girl as "<<print $activeSlave.slaveName>>" in your registry.
+		$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
 		<</replace>>
 		<<replace "#newName">>
 			''__@@.pink;$activeSlave.slaveName@@__''
@@ -92,7 +92,7 @@ You completed the legalities before heading to $incubatorName, knowing the tank
 		<<replace "#naming">>
 		<<set $activeSlave.slaveName = setup.ancientEgyptianSlaveNames.random()>>
 		<<set $activeSlave.birthName = $activeSlave.slaveName>>
-		$assistantName registers the new girl as "<<print $activeSlave.slaveName>>" in your registry.
+		$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
 		<</replace>>
 		<<replace "#newName">>
 			''__@@.pink;$activeSlave.slaveName@@__''
@@ -103,7 +103,7 @@ You completed the legalities before heading to $incubatorName, knowing the tank
 		<<replace "#naming">>
 		<<set $activeSlave.slaveName = setup.edoSlaveNames.random()>>
 		<<set $activeSlave.birthName = $activeSlave.slaveName>>
-		$assistantName registers the new girl as "<<print $activeSlave.slaveName>>" in your registry.
+		$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
 		<</replace>>
 		<<replace "#newName">>
 			''__@@.pink;$activeSlave.slaveName@@__''
@@ -115,7 +115,7 @@ You completed the legalities before heading to $incubatorName, knowing the tank
 		<<replace "#naming">>
 		<<run DegradingName($activeSlave)>>
 		<<set $activeSlave.birthName = $activeSlave.slaveName>>
-		$assistantName registers the new girl as "<<print $activeSlave.slaveName>>" in your registry.
+		$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
 		<</replace>>
 		<<replace "#newName">>
 			''__@@.pink;$activeSlave.slaveName@@__''
@@ -425,7 +425,7 @@ You completed the legalities before heading to $incubatorName, knowing the tank
 		$His eyes focus on _tempDad.slaveName's rounded middle, staring in fascination at the unfamiliar bulge.<<if $activeSlave.readyOva >= 20>> A hand runs across $his own middle and another down to $his moist pussy.<</if>>
 		<<set _dadInterest = "belly">>
 	<<elseif _tempDad.dick > 15>>
-		$His eyes focus on _tempDad.slaveName's <<= dickToEitherUnit(_tempDad.dick).replace("es","")>> long dick, trying to understand how it can fit in a girl.
+		$His eyes focus on _tempDad.slaveName's <<= dickToEitherUnit(_tempDad.dick).replace("es","")>> long dick, trying to understand how it can fit in anybody.
 		<<set _dadInterest = "dick">>
 	<<elseif _tempDad.balls > 60>>
 		$His eyes focus on _tempDad.slaveName's <<= ballsToEitherUnit(_tempDad.balls).replace("es","")>> long testicles, taking in every <<if $showInches == 2>>inch<<else>>centimeter<</if>> of their enormity, before shifting to the cum steadily drooling from <<if _tempDad.dick > 0>>the tip of _his2 dick<<else>>the hole in _his2 crotch<</if>>.
@@ -468,7 +468,7 @@ You slowly strip down, gauging $his reactions to your show, until you are fully
 		$He notices your privates differ from $hers, and thanks to the tank's teachings, @@.hotpink;can't look away.@@
 		<<set $activeSlave.devotion += 4>>
 		<<if $incubatorReproductionSetting > 0>>
-			$He seems a little alarmed at $his nipples and clit stiffening to the sight of your dick.
+			$He seems a little alarmed at $his nipples and clit stiffening to the <<if canSee($activeSlave)>>sight<<else>>presence<</if>> of your dick.
 		<</if>>
 	<</if>>
 <<elseif $activeSlave.dick > 0>>
@@ -479,7 +479,7 @@ You slowly strip down, gauging $his reactions to your show, until you are fully
 		$He notices your privates differ from $hers, and thanks to the tank's teachings, @@.hotpink;can't look away.@@
 		<<set $activeSlave.devotion += 4>>
 		<<if $incubatorReproductionSetting > 0>>
-			$He seems a little alarmed at $his dick <<if canAchieveErection($activeSlave)>>rapidly stiffening<<else>>engorging<</if>> to the sight of your pussy.
+			$He seems a little alarmed at $his dick <<if canAchieveErection($activeSlave)>>rapidly stiffening<<else>>engorging<</if>> to the <<if canSee($activeSlave)>>sight<<else>>presence<</if>> of your pussy.
 		<</if>>
 	<</if>>
 <</if>>
@@ -664,7 +664,7 @@ You slowly strip down, gauging $his reactions to your show, until you are fully
 	<<if $activeSlave.readyOva > 0>>
 		You don't need to perform an exam to know that $he is fertile; $his nethers are swollen with need and $his pussy dripping with desire<<if $activeSlave.readyOva > 20>>, and $his stomach is already slightly bloated with the number of fertile eggs within $his womb<</if>>. $He moans with pent-up lust as you deeply penetrate $him and begin steadily thrusting. $His tight pussy hungrily massages your dick as you near your climax, prompting you to hilt yourself in $him before seeding the deepest reaches of $his pussy. $He passed out in ecstasy, so you carry $his bred body to the couch to recover. $He should make the connection once $his belly starts to rapidly swell with child.
 	<<else>>
-		You perform a careful medical examination to verify fertility, and then forcefully take the girl's virginity. Whenever you feel able, you drain your balls into $his cunt, only allowing $him to wander off when scans verify a fertilized ovum. $He didn't properly understand the scans, so $he just thought it was sex; $he won't realize what happened for some months at least, and in the mean time, will think $he is just getting fat. Though once $his child starts kicking, $he might make the connection between sex and pregnancy.
+		You perform a careful medical examination to verify fertility, and then forcefully take the $girl's virginity. Whenever you feel able, you drain your balls into $his cunt, only allowing $him to wander off when scans verify a fertilized ovum. $He didn't properly understand the scans, so $he just thought it was sex; $he won't realize what happened for some months at least, and in the mean time, will think $he is just getting fat. Though once $his child starts kicking, $he might make the connection between sex and pregnancy.
 	<</if>>
 	<<= VaginalVCheck()>>
 	<<if $arcologies[0].FSRestart != "unset" && $activeSlave.breedingMark == 0 && $eugenicsFullControl != 1>>
@@ -742,7 +742,7 @@ You slowly strip down, gauging $his reactions to your show, until you are fully
 
 <br><<link "Give $him a cum shower">>
 <<replace "#result">>
-	You seat the curious $desc in the center of your office and order every slave available capable of getting hard to report to your office. Once everyone is assembled and erect, you order them to encircle the aroused girl and shower $him in cum. As they begin<<if canAchieveErection($activeSlave)>> ($activeSlave.slaveName stroking $his own erection too)<</if>>, <<if $PC.dick == 1 && $PC.vagina == 1>>you begin fingering yourself while jacking off alongside your slaves<<elseif $PC.dick == 1>>you join in the circlejerk as well<<else>>you sit back to finger yourself to the show<</if>>. When the first burst of cum streaks across $his face, $he gasps in surprise, giving another load the chance to launch into $his gaping mouth. $He gags before licking $his lips and opening wide for the next load. After everyone has finished, $activeSlave.slaveName is coated, head to toe, in cum and @@.hotpink;thrilled to be the center of attention.@@ Though $he may not be a cumslut now, $he certainly has the potential to become one.
+	You seat the curious $desc in the center of your office and order every slave available capable of getting hard to report to your office. Once everyone is assembled and erect, you order them to encircle the aroused $girl and shower $him in cum. As they begin<<if canAchieveErection($activeSlave)>> ($activeSlave.slaveName stroking $his own erection too)<</if>>, <<if $PC.dick == 1 && $PC.vagina == 1>>you begin fingering yourself while jacking off alongside your slaves<<elseif $PC.dick == 1>>you join in the circlejerk as well<<else>>you sit back to finger yourself to the show<</if>>. When the first burst of cum streaks across $his face, $he gasps in surprise, giving another load the chance to launch into $his gaping mouth. $He gags before licking $his lips and opening wide for the next load. After everyone has finished, $activeSlave.slaveName is coated, head to toe, in cum and @@.hotpink;thrilled to be the center of attention.@@ Though $he may not be a cumslut now, $he certainly has the potential to become one.
 	<<set $activeSlave.devotion += 4>>
 	<<if random(1,100) > 60 && $activeSlave.fetish == "none">>
 		<<set $activeSlave.fetish = "cumslut">>
@@ -828,7 +828,7 @@ As $he begins to moan with lust, you grip down tightly and force $him to the flo
 		<</link>>
 		<br><<link "Punish $him with a chastity belt">>
 			<<replace "#result2">>
-				Righting yourself, you head to your desk and pull out a chastity cage. Calling the curious girl over, you tease $his genitals until $he lowers $his guard and lock $his dick in the device. $He @@.mediumorchid;howls with displeasure@@ at the tightness around $his cock and @@.gold;begins to panic@@ when $he finds $he can't remove it. You send $him off to learn $his place.
+				Righting yourself, you head to your desk and pull out a chastity cage. Calling the curious $girl over, you tease $his genitals until $he lowers $his guard and lock $his dick in the device. $He @@.mediumorchid;howls with displeasure@@ at the tightness around $his cock and @@.gold;begins to panic@@ when $he finds $he can't remove it. You send $him off to learn $his place.
 				<<set $activeSlave.devotion -= 15>>
 				<<set $activeSlave.trust -= 5>>
 				<<set $activeSlave.chastityPenis = 1>>
@@ -854,7 +854,7 @@ As $he begins to moan with lust, you grip down tightly and force $him to the flo
 		<</if>>
 	</span>
 <<else>>
-	you quickly bind the base of $his penis, denying $him release. You grind your cunt into $his face, letting $him know that YOU are the one who'll be orgasming here, not $him. Only once you have initiated the new slave by soaking $his face in your cum do you release $his dick and lean back to avoid the coming blast. A few strokes later and your hand is coated in $his cum. You turn around and order the exhausted girl to clean $his cum off your hand<<if $PC.dick == 1>> and to finish off $his twitching dick<</if>>; $he might not be a submissive, but $he is @@.hotpink;willing to let you have your way@@ with $his body used and may even grow to enjoy it.
+	you quickly bind the base of $his penis, denying $him release. You grind your cunt into $his face, letting $him know that YOU are the one who'll be orgasming here, not $him. Only once you have initiated the new slave by soaking $his face in your cum do you release $his dick and lean back to avoid the coming blast. A few strokes later and your hand is coated in $his cum. You turn around and order the exhausted $girl to clean $his cum off your hand<<if $PC.dick == 1>> and to finish off $his twitching dick<</if>>; $he might not be a submissive, but $he is @@.hotpink;willing to let you have your way@@ with $his body used and may even grow to enjoy it.
 	<<set $activeSlave.devotion += 5>>
 	<<if random(1,100) > 60 && $activeSlave.fetish == "none">>
 		<<set $activeSlave.fetish = "submissive">>
@@ -869,7 +869,7 @@ As $he begins to moan with lust, you grip down tightly and force $him to the flo
 <<if $PC.boobsBonus == 3>>
 <br><<link "Permit $him to explore your expansive bust">>
 <<replace "#result">>
-You beckon the curious girl to your hefty breasts, having noticed how hungrily $he has been eying them. $He eagerly places $his hands to them and begins squeezing and massaging them, quickly becoming aroused $himself. $He pays close attention to your nipples, <<if $PC.lactation > 0>> squealing happily when milk begins to flow from them<<set $PC.lactationDuration = 2>><<else>> grumbling unhappily when $he finds no milk within<</if>>.
+You beckon the curious $girl to your hefty breasts, having noticed how hungrily $he has been eying them. $He eagerly places $his hands to them and begins squeezing and massaging them, quickly becoming aroused $himself. $He pays close attention to your nipples, <<if $PC.lactation > 0>> squealing happily when milk begins to flow from them<<set $PC.lactationDuration = 2>><<else>> grumbling unhappily when $he finds no milk within<</if>>.
 <<if $activeSlave.muscles > 30 && $incubatorReproductionSetting > 0 && canAchieveErection($activeSlave)>>
 	Suddenly, $he shoves you onto your back and begins enthusiastically fucking your breasts. Before you can push $him off, $he thrusts hard and unloads $his pent up orgasm deep into your cleavage and across your face. $He sits back with a huge smile on $his face and a @@.hotpink;new connection to you.@@ $He @@.gold;recoils in surprise and fear@@ when you respond by slapping $him across the face for $his impudence. $He might not look like a dom, but $he may turn into one.
 	<<set $activeSlave.devotion += 5>>
@@ -888,7 +888,7 @@ You beckon the curious girl to your hefty breasts, having noticed how hungrily $
 		<</link>>
 		<br><<link "Punish $him with a chastity belt">>
 			<<replace "#result2">>
-				Righting yourself, you head to your desk and pull out a chastity cage. Calling the cautious girl over, you tease $his genitals until $he lowers $his guard and lock $his dick in the device. $He @@.mediumorchid;howls with displeasure@@ at the tightness around $his cock and @@.gold;begins to panic@@ when $he finds $he can't remove it. You send $him off to learn $his place.
+				Righting yourself, you head to your desk and pull out a chastity cage. Calling the cautious $girl over, you tease $his genitals until $he lowers $his guard and lock $his dick in the device. $He @@.mediumorchid;howls with displeasure@@ at the tightness around $his cock and @@.gold;begins to panic@@ when $he finds $he can't remove it. You send $him off to learn $his place.
 				<<set $activeSlave.devotion -= 15>>
 				<<set $activeSlave.trust -= 5>>
 				<<set $activeSlave.chastityPenis = 1>>
@@ -928,7 +928,7 @@ You beckon the curious girl to your hefty breasts, having noticed how hungrily $
 <<if $PC.preg >= 24>>
 <br><<link "Permit $him to explore your pregnancy">>
 <<replace "#result">>
-	You beckon the curious girl to your weighty pregnancy and as $he approaches push it directly into $his <<if $activeSlave.height > 175>>stomach<<elseif $activeSlave.height < 155>>face<<else>>chest<</if>> until $he has no choice but to wrap $his arms around it. $He happily runs $his hands across your belly, cooing with delight at the tautness and warmth. $He jumps back with a gasp the first time $he is met with a kick from within you, but @@.hotpink;giggles pleasantly@@ as you help $him back to $his feet. $He spends a lot of time comparing your belly to $his own, $he might not be a pregnancy fetishist, but it seems likely $he may become one.
+	You beckon the curious $girl to your weighty pregnancy and as $he approaches push it directly into $his <<if $activeSlave.height > 175>>stomach<<elseif $activeSlave.height < 155>>face<<else>>chest<</if>> until $he has no choice but to wrap $his arms around it. $He happily runs $his hands across your belly, cooing with delight at the tautness and warmth. $He jumps back with a gasp the first time $he is met with a kick from within you, but @@.hotpink;giggles pleasantly@@ as you help $him back to $his feet. $He spends a lot of time comparing your belly to $his own, $he might not be a pregnancy fetishist, but it seems likely $he may become one.
 	<<set $activeSlave.devotion += 5>>
 	<<if random(1,100) > 40 && $activeSlave.fetish == "none">>
 		<<set $activeSlave.fetish = "pregnancy">>
@@ -939,7 +939,7 @@ You beckon the curious girl to your hefty breasts, having noticed how hungrily $
 <<if $PC.pregMood == 2>>
 	<br><<link "Teach $him how to satisfy a pregnant woman">>
 	<<replace "#result">>
-	You beckon the curious $girl to your weighty pregnancy and as $he approaches push it directly into $his <<if $activeSlave.height > 175>>stomach<<elseif $activeSlave.height < 155>>face<<else>>chest<</if>> knocking $him to the ground. <<if canPenetrate($activeSlave)>>A simple stroke is all it takes to get $him hard, so you quickly mount and begin riding $him. $He @@.hotpink;happily@@ runs $his hands across the underside of your belly as $he gets into the rhythm of thrusting up into you. After an unsatisfyingly short amount of time, $he cums deep in you<<else>>You quickly mount $his face and force $him to eat you out. $He @@.hotpink;happily@@ runs $his hands across the underside your belly as $he gets into the rhythm of penetrating you. It doesn't take long for the poor $girl to be out of breath and panicking<</if>>. Sighing, you pull the spent girl upright so $he can fondle your belly and hopefully recover enough for a second go. $He spends a lot of time comparing your belly to $his own, $he might not be a pregnancy fetishist, but it seems likely $he may become one.
+	You beckon the curious $girl to your weighty pregnancy and as $he approaches push it directly into $his <<if $activeSlave.height > 175>>stomach<<elseif $activeSlave.height < 155>>face<<else>>chest<</if>> knocking $him to the ground. <<if canPenetrate($activeSlave)>>A simple stroke is all it takes to get $him hard, so you quickly mount and begin riding $him. $He @@.hotpink;happily@@ runs $his hands across the underside of your belly as $he gets into the rhythm of thrusting up into you. After an unsatisfyingly short amount of time, $he cums deep in you<<else>>You quickly mount $his face and force $him to eat you out. $He @@.hotpink;happily@@ runs $his hands across the underside your belly as $he gets into the rhythm of penetrating you. It doesn't take long for the poor $girl to be out of breath and panicking<</if>>. Sighing, you pull the spent $girl upright so $he can fondle your belly and hopefully recover enough for a second go. $He spends a lot of time comparing your belly to $his own, $he might not be a pregnancy fetishist, but it seems likely $he may become one.
 	<<set $activeSlave.devotion += 5>>
 	<<if canPenetrate($activeSlave)>>
 		<<set $activeSlave.penetrativeCount++, $penetrativeTotal++>>
@@ -955,7 +955,7 @@ You beckon the curious girl to your hefty breasts, having noticed how hungrily $
 <<elseif $PC.pregMood == 1>>
 	<br><<link "Nurse $him">>
 	<<replace "#result">>
-	You beckon the curious girl to your weighty pregnancy and as $he approaches push it directly into $his <<if $activeSlave.height > 175>>stomach<<elseif $activeSlave.height < 155>>face<<else>>chest<</if>> until $he has no choice but to wrap $his arms around it. $He happily runs $his hands across your belly, cooing with delight at the tautness and warmth. $He jumps back with a gasp the first time $he is met with a kick from within you, but @@.hotpink;giggles pleasantly@@ as you help $him back to $his feet and pull $him into an embrace, guiding $him to the couch. You tweak one of your nipples, encouraging your milk to flow and enticing <<if $activeSlave.mother == -1>>your daughter to suckle from $his mother<<else>>the girl to suckle from your aching breasts<</if>>. $He eagerly complies, drinking deeply as you stroke $his head.<<if canPenetrate($activeSlave)>> Before long, you feel something hard prodding your leg; it seems someone is getting turned on by all this. As you shift $him to your other breast, you reach down and begin stroking $his erection. You can feel $his gulps become erratic as $his cock begins throbbing in your grip. $He moans lewdly as $he cums, but makes sure not to miss a single drop of your milk in the process.<</if>> Once $he drains you of your supply, you @@.mediumaquamarine;cuddle up to $him@@ and allow $him to caress your body. $He spends a lot of time comparing your belly to $his own, $he might not be a pregnancy fetishist, but it seems likely $he may become one.
+	You beckon the curious $girl to your weighty pregnancy and as $he approaches push it directly into $his <<if $activeSlave.height > 175>>stomach<<elseif $activeSlave.height < 155>>face<<else>>chest<</if>> until $he has no choice but to wrap $his arms around it. $He happily runs $his hands across your belly, cooing with delight at the tautness and warmth. $He jumps back with a gasp the first time $he is met with a kick from within you, but @@.hotpink;giggles pleasantly@@ as you help $him back to $his feet and pull $him into an embrace, guiding $him to the couch. You tweak one of your nipples, encouraging your milk to flow and enticing <<if $activeSlave.mother == -1>>your daughter to suckle from $his mother<<else>>the $girl to suckle from your aching breasts<</if>>. $He eagerly complies, drinking deeply as you stroke $his head.<<if canPenetrate($activeSlave)>> Before long, you feel something hard prodding your leg; it seems someone is getting turned on by all this. As you shift $him to your other breast, you reach down and begin stroking $his erection. You can feel $his gulps become erratic as $his cock begins throbbing in your grip. $He moans lewdly as $he cums, but makes sure not to miss a single drop of your milk in the process.<</if>> Once $he drains you of your supply, you @@.mediumaquamarine;cuddle up to $him@@ and allow $him to caress your body. $He spends a lot of time comparing your belly to $his own, $he might not be a pregnancy fetishist, but it seems likely $he may become one.
 	<<set $activeSlave.devotion += 15, $activeSlave.trust += 15>>
 	<<if random(1,100) > 40 && $activeSlave.fetish == "none">>
 		<<set $activeSlave.fetish = "pregnancy">>
@@ -1313,7 +1313,7 @@ You beckon the curious girl to your hefty breasts, having noticed how hungrily $
 			<<set $activeSlave.health -= 50>>
 			<<run SetBellySize($activeSlave)>>
 			<<replace "#result">>
-				You escort $him to the remote surgery, strap $him in, and put $him under. When $he awakes from $his induced coma, $he nearly faints at the sight of $his immense middle. $He's @@.hotpink;deliriously happy@@ at $his hugeness and @@.mediumaquamarine;squirms happily@@ when $he hears you can make it bigger, despite the fact that it is nearly as large as $he is and pins $him to the bed $he lies upon. As it was an invasive surgery, @@.red;$his health has been greatly affected.@@
+				You escort $him to the remote surgery, strap $him in, and put $him under. When $he awakes from $his induced coma, $he nearly faints at the <<if canSee($activeSlave)>>sight<<else>>feeling<</if>> of $his immense middle. $He's @@.hotpink;deliriously happy@@ at $his hugeness and @@.mediumaquamarine;squirms happily@@ when $he hears you can make it bigger, despite the fact that it is nearly as large as $he is and pins $him to the bed $he lies upon. As it was an invasive surgery, @@.red;$his health has been greatly affected.@@
 			<</replace>>
 		<</link>> //This option costs <<print cashFormat($surgeryCost)>>//
 	<</if>>
diff --git a/src/pregmod/pRaped.tw b/src/pregmod/pRaped.tw
index 9ff333cc0402a12302b6f4ad8f9be9a2426237a3..8ceecb13237fa205d2d6c5495ac055632b89b4ec 100644
--- a/src/pregmod/pRaped.tw
+++ b/src/pregmod/pRaped.tw
@@ -2,6 +2,8 @@
 
 <<set $raped = 1, $nextLink = "Nonrandom Event", $returnTo = "Nonrandom Event">>
 
+<<setPlayerPronouns>>
+
 While returning from a meeting with a prospective investor, an unfortunate wrong turn has led you into a rather seedy area of your arcology. You feel distinctly uncomfortable for some reason.
 
 <<if $PC.career == "mercenary">>
@@ -18,7 +20,7 @@ While returning from a meeting with a prospective investor, an unfortunate wrong
 <</if>>
 <<if $raped == 1>>
 <br><br>
-"Well, well, well, look what <<if $PC.belly >= 5000 || $PC.preg >= 20>>waddled<<else>>walked<</if>> into my territory. If it isn't $PC.name, come to grace me with her presence." The man binds your hands behind you, all the while keeping the knife to your throat. "Smart keeping your mouth shut; maybe I won't have to hurt you. Heh, I know what you're thinking, that you'll find out who I am and punish me. Don't worry, I made sure to not to leave you any trails to follow. Now let's see what we have here." With his free hand, he begins to explore your vulnerable body.
+"Well, well, well, look what <<if $PC.belly >= 5000 || $PC.preg >= 20>>waddled<<else>>walked<</if>> into my territory. If it isn't $PC.name, come to grace me with _hisP presence." The man binds your hands behind you, all the while keeping the knife to your throat. "Smart keeping your mouth shut; maybe I won't have to hurt you. Heh, I know what you're thinking, that you'll find out who I am and punish me. Don't worry, I made sure to not to leave you any trails to follow. Now let's see what we have here." With his free hand, he begins to explore your vulnerable body.
 <<switch $PC.career>>
 <<case "wealth">>
 	<<if $PC.boobs > 0>>
diff --git a/src/pregmod/rePregInventorText.tw b/src/pregmod/rePregInventorText.tw
index 09c7cb53e6288b0a8aaff87b827eb0b3b5a25d10..940480217fd4eff36101b0b87aa1a2e1884f7127 100644
--- a/src/pregmod/rePregInventorText.tw
+++ b/src/pregmod/rePregInventorText.tw
@@ -1,5 +1,6 @@
 :: RE Preg Inventor Text [nobr]
 
+		<<setNonlocalPronouns $seeDicks>>
 		The interview starts about halfway into a special episode of "Husbandry with Millie." The show's host is introducing a who's who of important figures in the slave breeding community. As you turn on the show, Millie seems to have just completed another interview.
 		<br><br>
 		"Everybody, give one last round of applause for renowned breakout porn star 'Twinner Jennie'!" she says. "Who'd have thought an eighteen year old slave could be pregnant with their own eighteen year old cloned sister? Quite a world — thank you again for that fascinating interview! Our next guest on 'Husbandry with Millie' is a clever 'broodmother' class breeding slave and mother of <<= commaNum($activeSlave.birthsTotal)>> children from the $continent arcology of '$arcologies[0].name.' Everybody, please give a hearty welcome to <<= SlaveFullName($activeSlave)>>!"
@@ -86,7 +87,7 @@
 			<</if>>
 		<</if>>
 		<br><br>
-		Millie places an appreciative hand on your slave's silk clad flank. The poor $girl is so packed full of children that $his brood can be seen pressed in outline along the full swell of her belly, and Millie's hand rests on the embossed figure of one such child. The camera zooms in as its form can be clearly made out pushing through the skin of your slave and against the host's touch. It turns over, allowing her to cup its back in her palm. Your slave flexes $his
+		Millie places an appreciative hand on your slave's silk clad flank. The poor $girl is so packed full of children that $his brood can be seen pressed in outline along the full swell of $his belly, and Millie's hand rests on the embossed figure of one such child. The camera zooms in as its form can be clearly made out pushing through the skin of your slave and against the host's touch. It turns over, allowing her to cup its back in her palm. Your slave flexes $his
 		<<if $activeSlave.amp < 1>>
 			legs
 		<<else>>
@@ -112,7 +113,7 @@
 		<<elseif $activeSlave.amp < 1>>
 			$He signs that $he'd like to give her a "hands-on demonstration" instead.
 		<<else>>
-			One of $his menials pushes her body into the breeder's enormous stomach in a possessive manner, then turns to regard Millie. "My mistress would like to give you a 'hands-on' demonstration, instead," she says.
+			One of $his menials pushes _hisU body into the breeder's enormous stomach in a possessive manner, then turns to regard Millie. "My <<if $activeSlave.noun == "girl">>mistress<<else>>master<</if>> would like to give you a 'hands-on' demonstration, instead," _heU says.
 		<</if>>
 		<br><br>
 		The host quirks an eyebrow, then nods. "Alright," she says. "How about we start with that pool of yours?" She then strips her outer layer of clothing, showing off her own famously heavily pregnant figure in an inadequate bra and panties. She makes her way to the curative jelly filled pool, after your slave has been situated within it. Millie dips a toe into the substance and giggles. "Oh my, it tingles!"
@@ -134,7 +135,7 @@
 		<<elseif $activeSlave.amp < 1>>
 			Using the hand farthest from Millie, and with the other conspicuously hidden under the goo, your slave signs that the pool is designed to allow slaves to care for their bodies no matter how large they grow. $He then signs a request regarding the host's wellbeing, wearing a look of mocking concern on $his face.
 		<<else>>
-			Your slave's speaking assistant explains that the pool is designed to allow slaves and women to care for their bodies no matter how large they inflate. Meanwhile, your slave has been slowly rotating in the pool until $he is pressed conspicuously close to the host. The assistant asks if the host is feeling well, a look of mock concern on her face.
+			Your slave's speaking assistant explains that the pool is designed to allow slaves and women to care for their bodies no matter how large they inflate. Meanwhile, your slave has been slowly rotating in the pool until $he is pressed conspicuously close to the host. The assistant asks if the host is feeling well, a look of mock concern on _hisU face.
 		<</if>>
 		<br><br>
 		"Ah! Um, yes — yep! I'm feeling just fine," Millie says. She's blushing furiously and squirming, and you can just make out the outline of your slave performing some form of teasing shenanigans under the distorting effect of the pool's goo. "So — oooh, yes... $activeSlave.slaveName, how did you, um, come up with the idea for this pool?"
@@ -154,7 +155,7 @@
 		<<elseif Math.floor($activeSlave.boobsImplant/$activeSlave.boobs) >= .60>>
 			your slave's fat, implanted tits, pumping it up and down to get their tightly packed mass bobbing while she nibbles and whispers into the baby machine's ear, just loud enough for the mic to pick it up.
 		<<else>>
-			your slave's breasts, rubbing it up and down one of her pert nipples while she simultaneously toys with the ridge of one of the baby machine's ears and both nibbles on and whispers into the other, just loud enough for the mic to pick it up.
+			your slave's breasts, rubbing it up and down one of $his pert nipples while she simultaneously toys with the ridge of one of the baby machine's ears and both nibbles on and whispers into the other, just loud enough for the mic to pick it up.
 		<</if>>
 		<br><br>
 		"That's quite something," Millie whispers. "I don't know about you, $activeSlave.slaveName, but I think I speak for everyone watching today when I say that now seems like a //really good time// to try out that other invention of yours."
@@ -171,7 +172,7 @@
 			The mute, limbless slave can only moan inchoately in response, but it's clear $he's more than ready.
 		<</if>>
 		<br><br>
-		The two then approach each other in mid air, settling into heavy petting and making out before transition into mechanically assisted scissoring. Your hyperbroodmother's unfathomable belly is hanging sideways and down, jiggling madly mere <<if $showInches == 2>>inches<<else>>centimeters<</if>> above the heads of the studio audience. One particularly adventurous audience member reaches up to place a hand on the slave's stomach to feel it bounce in their hands as $he gets fucked, and soon other members of the audience are also reaching up to feel the massive organ. The swing slowly rotates the coupling lovers back and forth over the length of the audience's seats, in a circle, and a wave of eager hands reach up as it does so, caressing your breeder's shaking belly as $he gets fucked by the show's moaning host. When Millie and your slave finally convulse in mutual orgasm, the camera zooms in on Millie's face for a close up. She seems exhausted, but she smiles for it anyway.
+		The two then approach each other in mid air, settling into heavy petting and making out before transition into mechanically assisted scissoring. Your hyperbroodmother's unfathomable belly is hanging sideways and down, jiggling madly mere <<if $showInches == 2>>inches<<else>>centimeters<</if>> above the heads of the studio audience. One particularly adventurous audience member reaches up to place a hand on the slave's stomach to feel it bounce in their hands as $he gets fucked, and soon other members of the audience are also reaching up to feel the massive organ. The swing slowly rotates the coupling lovers back and forth over the length of the audience's seats, in a circle, and a wave of eager hands reach up as it does so, caressing your breeder's shaking belly as $he gets fucked by the show's moaning host. When Millie and your slave finally convulse in mutual orgasm, the camera zooms in on Millie's face for a close-up. She seems exhausted, but she smiles for it anyway.
 		<<set $activeSlave.vaginalCount++>>
 		<br><br>
 		"That was //fantastic//. I'm going to remember that experience for quite some time, and I'm sure our viewers here and at home will, too! Any last things you would like to say before we cut for break?"
@@ -180,13 +181,13 @@
 		<br><br>
 		<<if $arcologies[0].FSRepopulationFocus != "unset">>
 			<<if canTalk($activeSlave)>>
-				"My <<Master>>, <<if SlaveStatsChecker.checkForLisp($activeSlave)>><<= lispReplace(PlayerName())>><<else>><<= PlayerName()>><</if>>, ha<<s>> a vi<<s>>ion for a beautiful future where baby-laden broodmother<<s>> like me aren't the e<<x>><<c>>eption in Free <<C>>itie<<s>> <<s>>o<<c>>iety, but the norm. We both hope that everyone here will <<s>>upport u<<s>>, and <<s>>o we've hidden <<c>>ertificate<<s>> for free pool<<s>> and <<s>>wing<<s>> under everyone'<<s>> <<s>>eat<<s>> — everybody look! If you like what you've <<s>>een today a<<s>> much a<<s>> we hope you have, my <<Master>> and I both hope you'll be filling these invention<<s>> with your own <<s>>lave<<s>>' <<s>>wollen bodie<<s>>, <<s>>oon. And we hope that, <<s>>ome day, everyone watching at home will feel thi<<s>> way, a<<s>> well!"
+				"My <<Master>>, <<if SlaveStatsChecker.checkForLisp($activeSlave)>><<= lispReplace(PlayerName())>><<else>><<= PlayerName()>><</if>>, ha<<s>> a vi<<s>>ion for a beautiful future where baby-laden broodmother<<s>> like me aren't the e<<x>><<c>>eption in Free <<C>>itie<<s>> <<s>>o<<c>>iety, but the norm. We both hope that everyone here will <<s>>upport u<<s>>, and <<s>>o we've hidden <<c>>ertificate<<s>> for free pool<<s>> and <<s>>wing<<s>> under everyone'<<s>> <<s>>eat<<s>> — everybody look! If you like what you've <<s>>een today a<<s>> much a<<s>> we hope you have, my <<Master>> and I both hope you'll be filling the<<s>>e invention<<s>> with your own <<s>>lave<<s>>' <<s>>wollen bodie<<s>>, <<s>>oon. And we hope that, <<s>>ome day, everyone watching at home will feel thi<<s>> way, a<<s>> well!"
 			<<else>>
 				Since your slave is unable to speak, $he signals the show's video crew to start playing a pre-recorded video in which you explain your vision for a future where specialized hyper-swollen breeding slaves can be found in Free Cities across the world. You then open your arms wide, in the video, and declare that vouchers for free pools and swings have been hidden under the audience's chairs.
 			<</if>>
 		<<else>>
 			<<if canTalk($activeSlave)>>
-				"My <<Master>>, <<if SlaveStatsChecker.checkForLisp($activeSlave)>><<= lispReplace(PlayerName())>><<else>><<= PlayerName()>><</if>>, ha<<s>> a vi<<s>>ion for a beautiful future where baby-laden broodmother<<s>> like me are all able to enjoy <<s>>e<<x>> with their owner<<s>> and client<<s>>. We both hope that everyone here will <<s>>upport u<<s>>, and <<s>>o we've hidden <<c>>ertificate<<s>> for free pool<<s>> and <<s>>wing<<s>> under everyone'<<s>> <<s>>eat<<s>> — everybody look! If you like what you've <<s>>een today a<<s>> much a<<s>> we hope you have, my <<Master>> and I both hope you'll be filling these invention<<s>> with your own <<s>>lave<<s>>' <<s>>wollen bodie<<s>>, <<s>>oon. And we hope that, <<s>>ome day, everyone watching at home will enjoy hyperpregnant <<s>>e<<x>> with our new toy<<s>>, too!"
+				"My <<Master>>, <<if SlaveStatsChecker.checkForLisp($activeSlave)>><<= lispReplace(PlayerName())>><<else>><<= PlayerName()>><</if>>, ha<<s>> a vi<<s>>ion for a beautiful future where baby-laden broodmother<<s>> like me are all able to enjoy <<s>>e<<x>> with their owner<<s>> and client<<s>>. We both hope that everyone here will <<s>>upport u<<s>>, and <<s>>o we've hidden <<c>>ertificate<<s>> for free pool<<s>> and <<s>>wing<<s>> under everyone'<<s>> <<s>>eat<<s>> — everybody look! If you like what you've <<s>>een today a<<s>> much a<<s>> we hope you have, my <<Master>> and I both hope you'll be filling the<<s>>e invention<<s>> with your own <<s>>lave<<s>>' <<s>>wollen bodie<<s>>, <<s>>oon. And we hope that, <<s>>ome day, everyone watching at home will enjoy hyperpregnant <<s>>e<<x>> with our new toy<<s>>, too!"
 			<<else>>
 				Since your slave is unable to speak, $he signals the show's video crew to start playing a pre-recorded video in which you explain your vision for a future where specialized hyper-swollen breeding slaves aren't just a sexual novelty, but enjoyable to fuck in their own right. You then open your arms wide, in the video, and declare that vouchers for free pools and swings have been hidden under the audience's chairs.
 			<</if>>
diff --git a/src/pregmod/saPorn.tw b/src/pregmod/saPorn.tw
index c51301a3b2340d07fab022c4a08d50eea83984ba..315dd75674064ff0a11510045d4004d022546d8e 100644
--- a/src/pregmod/saPorn.tw
+++ b/src/pregmod/saPorn.tw
@@ -740,7 +740,7 @@
 		<<set _viewerSoaking++>>
 
 		<<if $slaves[$i].pornFocus == "gainer" || $slaves[$i].pornFameType == "weight gain">>
-			$His expanding waistline attracts those who enjoy seeing a girl pack on the pounds while stuffing $his face.
+			$His expanding waistline attracts those who enjoy seeing a $girl pack on the pounds while stuffing $his face.
 			<<if $slaves[$i].pornTypeGainer > _oldPorn>>
 				Viewership @@.green;increased@@ this week.
 			<<elseif $slaves[$i].pornTypeGainer < _oldPorn>>
@@ -1012,7 +1012,7 @@
 		<<set $slaves[$i].pornTypeSizeQueen = Math.clamp($slaves[$i].pornTypeSizeQueen, 0, 150000)>>
 
 		<<if $slaves[$i].pornFocus == "size queen" || $slaves[$i].pornFameType == "huge insertion">>
-			$His intent on taking the largest things possible into her holes draws in viewers with an interest for huge insertions.
+			$His intent on taking the largest things possible into $his holes draws in viewers with an interest for huge insertions.
 			<<if $slaves[$i].pornTypeSizeQueen > _oldPorn>>
 				Viewership @@.green;increased@@ this week.
 			<<elseif $slaves[$i].pornTypeSizeQueen < _oldPorn>>
@@ -1346,7 +1346,7 @@
 			<<if $slaves[$i].pornTypeRomantic >= 50000>>
 				<<set $slaves[$i].pornPrestige = 2>>
 				<<set $slaves[$i].pornPrestigeDesc = "She is well known from her career in slave pornography. Her many fans relish the deep bond she shares with her partners.">>
-				@@.green;$He has gained a hold in $slaves[$i].pornFameType pornography!@@ $His many fans relish the deep bond $he shares with her partners, so it is now prestigious to own $him.
+				@@.green;$He has gained a hold in $slaves[$i].pornFameType pornography!@@ $His many fans relish the deep bond $he shares with $his partners, so it is now prestigious to own $him.
 			<<elseif _topFame.value >= $slaves[$i].pornTypeRomantic*_swapPoint>>
 				<<set _fameSwap = 1>>
 			<<elseif $slaves[$i].pornTypeRomantic < 5000>>
diff --git a/src/pregmod/seFCTVshows.tw b/src/pregmod/seFCTVshows.tw
index 87de7cbf022a917d2406480a52e9799fa5a68a82..e1ece4bbcc1816649d2eeeab4bb167c8caff751a 100644
--- a/src/pregmod/seFCTVshows.tw
+++ b/src/pregmod/seFCTVshows.tw
@@ -1,4 +1,4 @@
-:: SE FCTV Shows [nobr]
+:: SE FCTV Shows [nobr]
 
 <<set $nextButton = "Continue", $nextLink = "Scheduled Event", $returnTo = "Scheduled Event", $showEncyclopedia = 1, $encyclopedia = "FCTV">>
 <<if ndef $showEleven>>
@@ -39,7 +39,7 @@ Tired after a long day, you tell <<if $Concubine != 0>>@@.pink;$Concubine.slaveN
 	<<set $randShow = either(0,1,2,3,4,5,6,7,9,11,12)>>
 	There is an audible tone from your screen, which then displays a message: <i>Too much happiness detected, changing program.</i>
 <</if>>
-<<if $seePreg == 0 && ($randShow == 8 || $randShow == 5)>>
+<<if $seePreg == 0 && ($randShow == 5 || $randShow == 8)>>
 	<<set $randShow = either(0,1,2,3,4,6,7,9,11,12)>>
 	There is an audible tone from your screen, which then displays a message: <i>Too much baking detected, changing program.</i>
 <</if>>
@@ -103,7 +103,7 @@ Tired after a long day, you tell <<if $Concubine != 0>>@@.pink;$Concubine.slaveN
 	It looks like the random function chose to play the 'Home and Slave' stream channel. The current show features a set of female twins wearing nothing but tool belts. Their assets aren't particularly noteworthy, but they have a great hourglass figure, toned muscles, and gorgeous girl-next-door faces. The girls are hosting a DIY show, and seem to be performing a lot of the work themselves. The occasional bead of sweat makes their smooth tan skin really stand out. It seems like this time they are
 	<<if $randShow == 1>>
 		working on modifications to an apartment to accommodate enormous anatomy. The pair demonstrate how to tastefully modify a doorway so that giant breasts, <<if $seeDicks == 0>><i>smiles</i><<else>>testicles<</if>>, and baby bumps can get through easily. Their final results weren't refined enough to use in your own home, but were pretty amazing for the economy-sized apartment they filmed at.
-		<br><br>At the end of the show they tested out the new doorways by bringing in a somewhat unusual slave. A naked fu<<if $seeDicks == 0>><i>n</i><</if>>tanari wearing only a cowbell collar, she had massive milky tits, gigantic <<if $seeDicks == 0>><i>smile</i><<else>>balls hanging low in her sack<</if>>, and a belly engorged with what was probably a <<if $seeHyperPreg == 0>><i>single baby</i><<else>>dozen babies<</if>>. The <<if $seeDicks == 0>><i>fun</i><<else>>futa<</if>> cow ambled through the modified door without a problem, resulting in a bouncy victory dance from the naked twins.
+		<br><br>At the end of the show they tested out the new doorways by bringing in a somewhat unusual slave. A naked fu<<if $seeDicks == 0>><i>n</i><<else>>tanari<</if>> wearing only a cowbell collar, she had massive milky tits, gigantic <<if $seeDicks == 0>><i>smile</i><<else>>balls hanging low in her sack<</if>>, and a belly engorged with what was probably a <<if $seePreg == 0>><i>five-course dinner</i><<else>><<if $seeHyperPreg == 0>><i>single baby</i><<else>>dozen babies<</if>><</if>>. The <<if $seeDicks == 0>><i>fun</i><<else>>futa<</if>> cow ambled through the modified door without a problem, resulting in a bouncy victory dance from the naked twins.
 	<<elseif $randShow == 2>>
 		working on setting up a slave nutrition system inside a moderately-sized apartment. They're installing a deluxe system that has integrated nutritional sensing in addition to a food system that supplies the unit's two feeder/med-dispenser combo units. Amazingly, the whole thing fits into the kitchen without a problem, as they located the main system housing in the pantry. When they're finished, you couldn't tell the nutrition system is there, except for the two large dildos that are sticking out of the side of a cabinet.
 		<br><br>After their work is done, you're treated to watching the young twins testing the system out. They each take one feeder and ride it to get a test suppository, before turning around and inhaling the cockfeeders for a small meal. You wonder at their choice for the order of events, sucking the cockfeeder they had just finished ramming up their ass, but they were so enthusiastic about it that you decide they probably liked it that way.
@@ -117,12 +117,24 @@ Tired after a long day, you tell <<if $Concubine != 0>>@@.pink;$Concubine.slaveN
 	/* NOTE: These slaves are meant to be high quality and expensive, they are the product of the combined slave markets of all the free cities. Additionally, they won't follow the player's slave selling policies because they aren't being sold in the PC's arcology. Because they are purchased, it shouldn't be a balance issue or impact the game like a slave gift. */
 	<<set $showFour += 1, $lastShow = 4>>
 	<<if $seeDicks == 0>>
-		<<set $randShow = random(0,6)>>
+		<<if $seePreg == 0>>
+			<<set $randShow = random(5,6)>>
+		<<else>>
+			<<set $randShow = random(0,6)>>
+		<</if>>
+	<<elseif $seeDicks == 100>>
+		<<if $seePreg == 0>>
+			<<set $randShow = random(7)>>
+		<<else>>
+			<<set $randShow = random(7,9)>>
+		<</if>>
 	<<else>>
-		<<set $randShow = random(0,9)>>
+		<<if $seePreg == 0>>
+			<<set $randShow = random(5,7)>>
+		<<else>>
+			<<set $randShow = random(0,9)>>
+		<</if>>
 	<</if>>
-	It looks like the random function chose to play the 'Home Slave Shopping' stream channel. It's a bit strange, shopping for slaves without inspecting them in person, but you have to admit it's kind of convenient. Plus, you might find something that'd be difficult to get in your own arcology's markets. You started watching at the end of one slave being displayed, the program was going into a lot of detail that isn't always available from shady salesmen at the market. Two hosts are displaying the merchandise and an older male reads details on each slave from a prompter, while a fit female works the slave for the camera to give viewers a good look at what they might purchase.
-	<br><br>"Next up, we have
 	<<if $randShow < 3>> /* premium virgin */
 		<<set $activeSlaveOneTimeMinAge = ($fertilityAge + 2)>>
 		<<set $activeSlaveOneTimeMaxAge = 18>>
@@ -169,8 +181,7 @@ Tired after a long day, you tell <<if $Concubine != 0>>@@.pink;$Concubine.slaveN
 		<<set $activeSlave.health = 75>>
 		<<set $activeSlave.origin = "You purchased her from FCTV's Home Slave Shopping stream channel.">>
 		<<set $activeSlave.career = "a slave">>
-		<<set $activeSlave.customTat = "She has a small stylized 'A' tattooed on the nape of her neck marking her as the product of the famous breeding program at Arturus Arcology.">>
-		a premium virgin named $activeSlave.slaveName." A bright pink "VV" symbol flashes on the corner of the screen. "Take a good look, because she is a product of the famous sex slave breeding program at Arturus Arcology. Like all the slaves they sell, she's a premium @@.pink;double virgin.@@ She has excellent breeding potential, and while she isn't that skilled yet, she's got good intelligence and is already well acclimated to the life of a sex slave."
+		<<set $activeSlave.customTat = "She has a small stylized 'A' tattooed on the nape of her neck marking her as the product of the famous breeding program at Arcturus Arcology.">>
 	<<elseif $randShow == 3 || $randShow == 4>> /* hyperpregnant */
 		<<set $activeSlaveOneTimeMinAge = ($fertilityAge + 3)>>
 		<<set $activeSlaveOneTimeMaxAge = 20>>
@@ -224,7 +235,6 @@ Tired after a long day, you tell <<if $Concubine != 0>>@@.pink;$Concubine.slaveN
 		<<set $activeSlave.intelligenceImplant = 15>>
 		<<set $activeSlave.origin = "You purchased her from FCTV's Home Slave Shopping stream channel.">>
 		<<set $activeSlave.career = setup.youngCareers.random()>>
-		<<if $activeSlave.race == "amerindian" || $activeSlave.race == "asian" || $activeSlave.race == "indo-aryan">>an<<else>>a<</if>> $activeSlave.race breeder, young and healthy with an advanced <<if $seeHyperPreg == 0>><i>@@.pink;super pregnancy.@@</i><<else>>@@.pink;hyper pregnancy.@@<</if>> $activeSlave.slaveName is really into making babies, and has even had her hips surgically widened to help her carry a large brood. Our tests here at HSS show that she's pregnant with $activeSlave.pregType babies!"
 	<<elseif $randShow == 5>> /* MILF */
 		<<set $activeSlaveOneTimeMinAge = 36>>
 		<<set $activeSlaveOneTimeMaxAge = 40>>
@@ -268,7 +278,6 @@ Tired after a long day, you tell <<if $Concubine != 0>>@@.pink;$Concubine.slaveN
 		<<set $activeSlave.birthsTotal = random(1,3)>>
 		<<set $activeSlave.career = setup.youngCareers.random()>>
 		<<set $activeSlave.origin = "You purchased her from FCTV's Home Slave Shopping stream channel.">>
-		<<if $activeSlave.race == "amerindian" || $activeSlave.race == "asian" || $activeSlave.race == "indo-aryan">>an<<else>>a<</if>> $activeSlave.race @@.pink;MILF.@@ She's no longer young, but still quite attractive. She has been a slave for many years now, and has been trained well. She also has a good array of skills that you can put to use. She has huge tits and a huge ass to play with, but she'd also make good stock for a breeding program."
 	<<elseif $randShow == 6>> /* discount young hottie */
 		<<set $activeSlaveOneTimeMaxAge = 25>>
 		<<set $oneTimeDisableDisability = 1>>
@@ -303,8 +312,22 @@ Tired after a long day, you tell <<if $Concubine != 0>>@@.pink;$Concubine.slaveN
 		<<set $activeSlave.devotion = random(-25,25)>>
 		<<set $activeSlave.trust = random(-25,25)>>
 		<<set $activeSlave.origin = "You purchased her from FCTV's Home Slave Shopping stream channel.">>
-		a bargain discount offer on a young $activeSlave.race girl. Unlike our usual stock she's something of a @@.red;disobedient@@ slave, but that means savings for you, and all the fun of breaking in a new slave. We have to admit that her previous owner had a hard time training her, but I'm sure you can tell that her body has potential<<if $activeSlave.clit > 4>>, just look at the @@.pink;clit@@ on her<</if>>!"
-	<<elseif $randShow == 7>> /* mpreg dickgirl */
+	<<elseif $randShow == 7 || $randShow == 8>> /* huge balls */
+		<<set $activeSlaveOneTimeMaxAge = 25>>
+		<<set $oneTimeDisableDisability = 1>>
+		<<include "Generate XY Slave">>
+		<<set $activeSlave.anus = 2>>
+		<<set $activeSlave.balls = random(20,35)>>
+		<<set $activeSlave.scrotum = $activeSlave.balls>>
+		<<set $activeSlave.dick = random(3,5)>>
+		<<set $activeSlave.prostate = 2>>
+		<<set $activeSlave.oralSkill = random(30,60)>>
+		<<set $activeSlave.analSkill = random(20,50)>>
+		<<set $activeSlave.whoreSkill = random(0,25)>>
+		<<set $activeSlave.devotion = random(50,80)>>
+		<<set $activeSlave.trust = random(50,80)>>
+		<<set $activeSlave.origin = "You purchased her from FCTV's Home Slave Shopping stream channel.">>
+	<<elseif $randShow == 9>> /* mpreg dickgirl */
 		<<set $activeSlaveOneTimeMaxAge = 22>>
 		<<set $oneTimeDisableDisability = 1>>
 		<<include "Generate XY Slave">>
@@ -339,27 +362,25 @@ Tired after a long day, you tell <<if $Concubine != 0>>@@.pink;$Concubine.slaveN
 		<<set $activeSlave.health = 75>>
 		<<set $activeSlave.career = setup.youngCareers.random()>>
 		<<set $activeSlave.origin = "You purchased her from FCTV's Home Slave Shopping stream channel.">>
-		a strong young $activeSlave.race girl that retains her cock and balls. $activeSlave.slaveName has something that makes her special: thanks to medical tests she's got a @@.pink;functional ass womb.@@ That's right folks, this slave is fertile and can get knocked up if you inseminate her asshole. That's pretty amazing, to be honest, and exceptionally rare. Don't let this opportunity slip by!"
-	<<elseif $randShow > 7>> /* huge balls */
-		<<set $activeSlaveOneTimeMaxAge = 25>>
-		<<set $oneTimeDisableDisability = 1>>
-		<<include "Generate XY Slave">>
-		<<set $activeSlave.anus = 2>>
-		<<set $activeSlave.balls = random(20,35)>>
-		<<set $activeSlave.scrotum = $activeSlave.balls>>
-		<<set $activeSlave.dick = random(3,5)>>
-		<<set $activeSlave.prostate = 2>>
-		<<set $activeSlave.oralSkill = random(30,60)>>
-		<<set $activeSlave.analSkill = random(20,50)>>
-		<<set $activeSlave.whoreSkill = random(0,25)>>
-		<<set $activeSlave.devotion = random(50,80)>>
-		<<set $activeSlave.trust = random(50,80)>>
-		<<set $activeSlave.origin = "You purchased her from FCTV's Home Slave Shopping stream channel.">>
-		<<if $activeSlave.race == "amerindian" || $activeSlave.race == "asian" || $activeSlave.race == "indo-aryan">>an<<else>>a<</if>> $activeSlave.race cum cow. Just take a look at that pair of @@.pink;massive balls.@@ This slave also has a prostate stimulating hormone implant to ramp up her cum production even further. She's a perfect fit for your dairy, or even your own kitchen creamery!"
+	<</if>>
+	<<setLocalPronouns $activeSlave>>
+	It looks like the random function chose to play the 'Home Slave Shopping' stream channel. It's a bit strange, shopping for slaves without inspecting them in person, but you have to admit it's kind of convenient. Plus, you might find something that'd be difficult to get in your own arcology's markets. You started watching at the end of one slave being displayed, the program was going into a lot of detail that isn't always available from shady salesmen at the market. Two hosts are displaying the merchandise and an older male reads details on each slave from a prompter, while a fit female works the slave for the camera to give viewers a good look at what they might purchase.
+	<br><br>"Next up, we have
+	<<if $randShow < 3>> /* premium virgin */
+		a premium virgin named $activeSlave.slaveName." A bright pink "VV" symbol flashes on the corner of the screen. "Take a good look, because $he is a product of the famous sex slave breeding program at Arcturus Arcology. Like all the slaves they sell, $he's a premium @@.pink;double virgin.@@ $He has excellent breeding potential, and while $he isn't that skilled yet, $he's got good intelligence and is already well acclimated to the life of a sex slave."
+	<<elseif $randShow == 3 || $randShow == 4>> /* hyperpregnant */
+		<<if $activeSlave.race == "amerindian" || $activeSlave.race == "asian" || $activeSlave.race == "indo-aryan">>an<<else>>a<</if>> $activeSlave.race breeder, young and healthy with an advanced <<if $seeHyperPreg == 0>><i>@@.pink;super pregnancy.@@</i><<else>>@@.pink;hyper pregnancy.@@<</if>> $activeSlave.slaveName is really into making babies, and has even had $his hips surgically widened to help $him carry a large brood. Our tests here at HSS show that $he's pregnant with $activeSlave.pregType babies!"
+	<<elseif $randShow == 5>> /* MILF */
+		<<if $activeSlave.race == "amerindian" || $activeSlave.race == "asian" || $activeSlave.race == "indo-aryan">>an<<else>>a<</if>> $activeSlave.race @@.pink;MILF.@@ $He's no longer young, but still quite attractive. $He has been a slave for many years now, and has been trained well. $He also has a good array of skills that you can put to use. $He has huge tits and a huge ass to play with, but $he'd also make <<if $seePreg == 0>><i>sandwiches</i><<else>>good stock for a breeding program<</if>>."
+	<<elseif $randShow == 6>> /* discount young hottie */
+		a bargain discount offer on a young $activeSlave.race $girl. Unlike our usual stock $he's something of a @@.red;disobedient@@ slave, but that means savings for you, and all the fun of breaking in a new slave. We have to admit that $his previous owner had a hard time training $him, but I'm sure you can tell that $his body has potential<<if $activeSlave.clit > 4>>, just look at the @@.pink;clit@@ on $him<</if>>!"
+	<<elseif $randShow == 7 || $randShow == 8>> /* huge balls */
+		<<if $activeSlave.race == "amerindian" || $activeSlave.race == "asian" || $activeSlave.race == "indo-aryan">>an<<else>>a<</if>> $activeSlave.race cum cow. Just take a look at that pair of @@.pink;massive balls.@@ This slave also has a prostate stimulating hormone implant to ramp up $his cum production even further. $He's a perfect fit for your dairy, or even your own kitchen creamery!"
 		<br><br>The woman helping to display the slaves shows her hand to the camera; it's coated in a sticky layer of precum from handling the cum cow's equipment.
+	<<elseif $randShow == 9>> /* mpreg dickgirl */
+		a strong young $activeSlave.race $girl that retains $his cock and balls. $activeSlave.slaveName has something that makes $him special: thanks to medical science $he's got a @@.pink;functional ass womb.@@ That's right folks, this slave is fertile and can get knocked up if you inseminate $his asshole. That's pretty amazing, to be honest, and exceptionally rare. Don't let this opportunity slip by!"
 	<</if>>
 <<slaveCost $activeSlave>>
-<<setLocalPronouns $activeSlave>>
 <<if $randShow < 3>>
 	<<set $slaveCost *= 1.3>>
 <<elseif $randShow == 6>>
@@ -385,7 +406,7 @@ The offered price is <<print cashFormat($slaveCost)>>.
 
 <<case 5>>
 	<<set $showFive += 1, $lastShow = 5>>
-	It looks like the random function chose to play an episode of the slave-breeding for beginners series: 'Husbandry with Millie'. The show is hosted by the famous and charismatic Millie, a slave breeder from Arturus who appears to be in her mid thirties. She's wearing something resembling a maternity dress over her large pregnant belly, but the loose fabric doesn't hide her enormous hips and complementary ass. The dress only comes part of the way up her chest, leaving her large milk-engorged breasts exposed as they rest atop the fabric. Millie begins the show the same way as always, by giving her viewers some encouragement. "Anyone can become a breeder, even you! Just be willing to learn, and as I always say..." she pats her full belly meaningfully "be ready to get your hands dirty!"
+	It looks like the random function chose to play an episode of the slave-breeding for beginners series: 'Husbandry with Millie'. The show is hosted by the famous and charismatic Millie, a slave breeder from Arcturus who appears to be in her mid thirties. She's wearing something resembling a maternity dress over her large pregnant belly, but the loose fabric doesn't hide her enormous hips and complementary ass. The dress only comes part of the way up her chest, leaving her large milk-engorged breasts exposed as they rest atop the fabric. Millie begins the show the same way as always, by giving her viewers some encouragement. "Anyone can become a breeder, even you! Just be willing to learn, and as I always say..." she pats her full belly meaningfully "be ready to get your hands dirty!"
 	<br><br>
 	<<set $randShow = random(2)+1>>
 	<<if $randShow == 1 && $showFive > 3 || $showFive == 1>>
@@ -505,7 +526,7 @@ The offered price is <<print cashFormat($slaveCost)>>.
 	<br><br>.....
 
 <<case 9>>
-	<<set $showNine += 1, $lastShow = 9, $randShow = random(3)+1>>
+	<<set $showNine += 1, $lastShow = 9, $randShow = random(0,3)+1>>
 	It looks like the random function chose to play
 	<<if $randShow == 1>>
 		a documentary on the surging Repopulation movement: "Continuing the Dream". After the opening credits, the documentary introduces a young and extremely pregnant woman as the commentator. The program makes an impassioned argument about the need for a new generation of citizens and slaves that were born into the dream of the free cities. The woman is wearing semi-conservative business attire, and has on elegant makeup. She looks somewhat plain when compared to the hyper-sexualized style of other FCTV programming, though she does make it plain over the course of the program that she loves sex more than ever. She tends to use herself as an example to show that pregnancy no longer means limitations or sacrifice, instead emphasizing that she's on her fifth pregnancy and would rather be with child than without.
@@ -962,7 +983,7 @@ The offered price is <<print cashFormat($slaveCost)>>.
 		<br>
 		"Yes Daddy." even though she's almost whispering, her voice is filled with confidence.
 		<br>
-		Jason takes one hand off her hips and positions himself at the entrance to her pussy, sliding in the head with ease before immediately hitting a block. He leans forward until he can whisper in her ear "Deep breath, sweetie." then pushes a little harder against the resistance. "Ah..." Jessica moans, a mixture of pain and unprecedented pleasure. Finally breaking her hymen, his penis suddenly slides more than halfway into her. "AH!" He pushes the rest in before slowly sliding out, savoring every millimeter of her insides. The slow pace continues for some time, with Jessica's body slowly lowering more and more until only her father's hands are keeping her ass in the air. By that point Jason is hammering away, every thrust producing a slap loud enough to carry a slight echo in the apartment's master bedroom. The sheets beneath Jessica's pussy are soaked through, with a strand of femcum hanging between them and her clit. Her father grabs her tightly and rotates her body to missionary without removing his cock from her, then rips open her shirt, throwing buttons all around the room and exposing her tiny tits. He starts to play with them, resuming the tempo of his thrusts.
+		Jason takes one hand off her hips and positions himself at the entrance to her pussy, sliding in the head with ease before immediately hitting a block. He leans forward until he can whisper in her ear "Deep breath, sweetie." then pushes a little harder against the resistance. "Ah..." Jessica moans, a mixture of pain and unprecedented pleasure. Finally breaking her hymen, his penis suddenly slides more than halfway into her. "AH!" He pushes the rest in before slowly sliding out, savoring every <<if $showInches == 2>>fraction of an inch<<else>>millimeter<</if>> of her insides. The slow pace continues for some time, with Jessica's body slowly lowering more and more until only her father's hands are keeping her ass in the air. By that point Jason is hammering away, every thrust producing a slap loud enough to carry a slight echo in the apartment's master bedroom. The sheets beneath Jessica's pussy are soaked through, with a strand of femcum hanging between them and her clit. Her father grabs her tightly and rotates her body to missionary without removing his cock from her, then rips open her shirt, throwing buttons all around the room and exposing her tiny tits. He starts to play with them, resuming the tempo of his thrusts.
 		<br>
 		Jessica's hands grab at the sheets blindly, balling them up in her fists and causing one of the corners to become detached from the mattress. At this point she's no longer capable of dialog, moaning at a volume that would be audible at a club and begging for more in an almost unintelligible way. Her legs wrap around her father's hips, pulling her in closer, and making the seal between them tighter. Feeling this drives Jason over the edge and he slams into her crotch recklessly, knocking the bed frame against the window with every thrust. He mauls her tits, squeezing them and pinching the nipples, sometimes dipping his head down to suck and lick them. With one final hard thrust, he stops while completely inside her and blows an impressive load, especially for TV. His daughter's pussy is filled so quickly that cum is squeezed out of the limited space between his cock and her inner walls, squirting out onto the bed and pooling against her ass and on the inside of the back of her skirt. Jessica moans and convulses, her pussy contractions squeezing a second orgasm out of Jason. Panting, he says "You make the same face your mother used to."
 		<br>
diff --git a/src/pregmod/seHuskSlaveDelivery.tw b/src/pregmod/seHuskSlaveDelivery.tw
index e79e9b722924aa672512d10758116bc7c8e2a173..dfe6ec1c9b95ee20e4ccd7992eef597ef51647bd 100644
--- a/src/pregmod/seHuskSlaveDelivery.tw
+++ b/src/pregmod/seHuskSlaveDelivery.tw
@@ -77,4 +77,3 @@ A slave came in fitting the description you provided.
 	//You can't sustain $him and thus must return $him.//
 <</if>>
 </span>
-
diff --git a/src/pregmod/slaveOnSlaveFeedingWorkAround.tw b/src/pregmod/slaveOnSlaveFeedingWorkAround.tw
index b38bef3620ef7090fecc5790265c0920b767b5fb..7d151b10a35efd2816a7e426677f5311c81d00fc 100644
--- a/src/pregmod/slaveOnSlaveFeedingWorkAround.tw
+++ b/src/pregmod/slaveOnSlaveFeedingWorkAround.tw
@@ -17,7 +17,7 @@
 <</if>>
 <</for>>
 <<for _i = 0; _i < $slaves.length; _i++>> /* cum output */
-<<if $slaves[_i].balls > 0 && $slaves[_i].dick > 0 && !($slaves[_i].chastityPenis)>>
+<<if $slaves[_i].balls > 0 && $slaves[_i].dick > 0 && $slaves[_i].chastityPenis != 1>>
 	<<set $slaves[_i].cumOutput = 0>>
 	<<set _cum = cumAmount($slaves[_i])>>
 	<<set _cum = (_cum/7)>>
diff --git a/src/pregmod/widgets/bodySwapReaction.tw b/src/pregmod/widgets/bodySwapReaction.tw
index 35972b3ba50c9f5d25907caeb89fcc5fb6a39c7b..c5342397e8c648fced3d50ee461f345108c29155 100644
--- a/src/pregmod/widgets/bodySwapReaction.tw
+++ b/src/pregmod/widgets/bodySwapReaction.tw
@@ -107,13 +107,17 @@ Now you only have to wait for $him to wake up.
 		/*(arms)*/
 		<<if $args[0].amp < 0 && $args[1].amp == 0>>
 			finger; the servo motors whining softly with each movement.
-			<<if $args[0].fetish == "mindbroken">>
-				$He vaguely reacts to the sounds coming from $his arm, though not to any meaningful extent.
-			<<elseif $args[0].devotion >= -20>>
-				A look of morbid curiosity crosses $his features.
+			<<if $args[0].hears <= -2>>
+				<<if $args[0].fetish == "mindbroken">>
+					$He vaguely reacts to the sounds coming from $his arm, though not to any meaningful extent.
+				<<elseif $args[0].devotion >= -20>>
+					A look of morbid curiosity crosses $his features.
+				<<else>>
+					A look of @@.mediumorchid;frustration@@ and @@.gold;anguish@@ distorts $his face as $he moans pitiably.
+					<<set $args[0].devotion -= 5, $args[0].trust -= 1>>
+				<</if>>
 			<<else>>
-				A look of @@.mediumorchid;frustration@@ and @@.gold;anguish@@ distorts $his face as $he moans pitiably.
-				<<set $args[0].devotion -= 5, $args[0].trust -= 1>>
+				Naturally, $he hasn't noticed it yet.
 			<</if>>
 		<<elseif $args[0].amp < 0 && $args[1].amp < 0>>
 			finger; the servo motors whining softly with each movement.
diff --git a/src/pregmod/widgets/bodyswapWidgets.tw b/src/pregmod/widgets/bodyswapWidgets.tw
index 82dfaf71bc7e11bdb7066324baf7f8592f86fd3d..8131801c5b9a590feacb88635b1a55cec4a94ee0 100644
--- a/src/pregmod/widgets/bodyswapWidgets.tw
+++ b/src/pregmod/widgets/bodyswapWidgets.tw
@@ -179,7 +179,7 @@
 <<set $args[0].clothes = $args[1].clothes>>
 <<set $args[0].collar = $args[1].collar>>
 <<set $args[0].shoes = $args[1].shoes>>
-<<set $args[0].vaginalChastity = $args[1].vaginalChastity>>
+<<set $args[0].vaginalAccessory = $args[1].vaginalAccessory>>
 <<set $args[0].dickAccessory = $args[1].dickAccessory>>
 <<set $args[0].chastityVagina = $args[1].chastityVagina>>
 <<set $args[0].chastityPenis = $args[1].chastityPenis>>
diff --git a/src/pregmod/widgets/pregmodBirthWidgets.tw b/src/pregmod/widgets/pregmodBirthWidgets.tw
index 81aa8530014a0a0d87ad7dc0ed91d0392b0ae998..39f81ba35c74e0939404e12ce5697110d3c199e0 100644
--- a/src/pregmod/widgets/pregmodBirthWidgets.tw
+++ b/src/pregmod/widgets/pregmodBirthWidgets.tw
@@ -1098,7 +1098,7 @@
 			<</if>>
 		<<else>>
 			<<if (random(1,20) > $suddenBirth)>>
-				While getting milked, $slaves[$i].slaveName's water breaks,<<if $dairyPregSetting > 0>> this is a regular occurrence to $him now so<<else>> but<</if>> $he continues enjoying $his milking while $he works to push out <<if $slaves[$i].birthsTotal == 0>>$his first<<else>>this week's<</if>> baby. $He catches <<if canSee($slaves[$i])>>a glimpse<<else>>the sound<</if>> of $his child being removed from the milking stall before returning $his focus to draining $his breasts.
+				While getting milked, $slaves[$i].slaveName's water breaks,<<if $dairyPregSetting > 0>> this is a regular occurrence to $him now so<<else>> but<</if>> $he continues enjoying $his milking while $he works to push out <<if $slaves[$i].birthsTotal == 0>>$his first<<else>>this week's<</if>> baby. $He catches <<if canSee($slaves[$i])>>a glimpse<<elseif canHear($slaves[$i])>>the sound<<else>>the feeling<</if>> of $his child being removed from the milking stall before returning $his focus to draining $his breasts.
 			<<else>>
 				While getting milked, $slaves[$i].slaveName's water breaks. Knowing $he can't leave yet, $he shifts into a more comfortable position for the impending birth.
 				<<ClothingBirth>>
diff --git a/src/pregmod/widgets/pregmodWidgets.tw b/src/pregmod/widgets/pregmodWidgets.tw
index b06b254d910516d259d147f5dd344f5bb7035771..53c5f7b03691ea51c59017f18173080750aac7c5 100644
--- a/src/pregmod/widgets/pregmodWidgets.tw
+++ b/src/pregmod/widgets/pregmodWidgets.tw
@@ -1,7 +1,7 @@
 :: pregmod widgets [nobr widget]
 
 <<widget "initPC">>
-	<<set $PC = {name: "Anonymous", surname: 0, title: 1, ID: -1, genes: "XY", pronoun: "he", possessive: "him", object: "his", dick: 1, vagina: 0, preg: 0, pregType: 0, pregWeek: 0, pregKnown: 0, belly: 0, bellyPreg: 0, mpreg: 0, pregSource: 0, pregMood: 0, labor: 0, births: 0, boobsBonus: 0, degeneracy: 0, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, lactation: 0, lactationDuration: 0, career: "capitalist", rumor: "wealth", birthWeek: random(0,51), age: 2, sexualEnergy: 4, refreshment: "cigar", refreshmentType: 0, trading: 0, warfare: 0, slaving: 0, engineering: 0, medicine: 0, hacking: 0, cumTap: 0, race: "white", origRace: "white", skin: "white", origSkin: "white", markings: "none", eyeColor: "blue", origEye: "blue", pupil: "circular", sclerae: "white", hColor: "blonde", origHColor: "blonde", nationality: "Stateless", father: 0, mother: 0, sisters: 0, daughters: 0, birthElite: 0, birthMaster: 0, birthDegenerate: 0, birthClient: 0, birthOther: 0, birthArcOwner: 0, birthCitizen: 0, birthSelf: 0, birthLab: 0, slavesFathered: 0, slavesKnockedUp: 0, intelligence: 100, face: 100, faceShape: "normal", actualAge: 35, physicalAge: 35, visualAge: 35, boobsImplant: 0, butt: 0, buttImplant: 0, balls: 0, ballsImplant: 0, ageImplant: 0, newVag: 0, reservedChildren: 0, reservedChildrenNursery: 0, fertDrugs: 0, forcedFertDrugs: 0, staminaPills: 0, ovaryAge: 35, eggType: "human", ballType: "human", storedCum: 0, behavioralFlaw: "none", behavioralQuirk: "none", sexualFlaw: "none", sexualQuirk: "none", fetish: "none", pubicHStyle: "hairless", underArmHStyle: "hairless", geneticQuirks: {macromastia: 0, gigantomastia: 0, fertility: 0, hyperFertility: 0, superfetation: 0, gigantism: 0, dwarfism: 0, pFace: 0, uFace: 0, albinism: 0, rearLipedema: 0, wellHung: 0, wGain: 0, wLoss: 0, androgyny: 0}}>>
+	<<set $PC = {name: "Anonymous", surname: 0, title: 1, ID: -1, genes: "XY", pronoun: "he", possessive: "him", object: "his", dick: 1, vagina: 0, preg: 0, pregType: 0, pregWeek: 0, pregKnown: 0, belly: 0, bellyPreg: 0, mpreg: 0, pregSource: 0, pregMood: 0, labor: 0, births: 0, boobsBonus: 0, degeneracy: 0, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, lactation: 0, lactationDuration: 0, career: "capitalist", rumor: "wealth", birthWeek: random(0,51), age: 2, sexualEnergy: 4, refreshment: "cigar", refreshmentType: 0, trading: 0, warfare: 0, slaving: 0, engineering: 0, medicine: 0, hacking: 0, cumTap: 0, race: "white", origRace: "white", skin: "white", origSkin: "white", markings: "none", eyeColor: "blue", origEye: "blue", pupil: "circular", sclerae: "white", hColor: "blonde", origHColor: "blonde", nationality: "Stateless", father: 0, mother: 0, sisters: 0, daughters: 0, birthElite: 0, birthMaster: 0, birthDegenerate: 0, birthClient: 0, birthOther: 0, birthArcOwner: 0, birthCitizen: 0, birthSelf: 0, birthLab: 0, slavesFathered: 0, slavesKnockedUp: 0, intelligence: 100, face: 100, faceShape: "normal", actualAge: 35, physicalAge: 35, visualAge: 35, boobsImplant: 0, butt: 0, buttImplant: 0, balls: 0, ballsImplant: 0, ageImplant: 0, newVag: 0, reservedChildren: 0, reservedChildrenNursery: 0, fertDrugs: 0, forcedFertDrugs: 0, staminaPills: 0, ovaryAge: 35, eggType: "human", ballType: "human", storedCum: 0, behavioralFlaw: "none", behavioralQuirk: "none", sexualFlaw: "none", sexualQuirk: "none", fetish: "none", pubicHStyle: "hairless", underArmHStyle: "hairless", geneticQuirks: {macromastia: 0, gigantomastia: 0, fertility: 0, hyperFertility: 0, superfetation: 0, gigantism: 0, dwarfism: 0, pFace: 0, uFace: 0, albinism: 0, heterochromia: 0, rearLipedema: 0, wellHung: 0, wGain: 0, wLoss: 0, androgyny: 0}}>>
 
 	<<set WombInit($PC)>>
 
@@ -9,8 +9,12 @@
 
 <<widget "PMODinit">>
 
-<<if ndef $args[0].geneticQuirks>> /* needed by WombInit() */
-	<<set $args[0].geneticQuirks = {macromastia: 0, gigantomastia: 0, fertility: 0, hyperFertility: 0, superfetation: 0, gigantism: 0, dwarfism: 0, pFace: 0, uFace: 0, albinism: 0, rearLipedema: 0, wellHung: 0, wGain: 0, wLoss: 0, androgyny: 0}>>
+<<if ndef $args[0].geneticQuirks || $args[0].geneticQuirks == 0>> /* needed by WombInit() */
+	<<set $args[0].geneticQuirks = {macromastia: 0, gigantomastia: 0, fertility: 0, hyperFertility: 0, superfetation: 0, gigantism: 0, dwarfism: 0, pFace: 0, uFace: 0, albinism: 0, heterochromia: 0, rearLipedema: 0, wellHung: 0, wGain: 0, wLoss: 0, androgyny: 0}>>
+<<else>>
+	<<if ndef $args[0].geneticQuirks.heterochromia>>
+		<<set $args[0].geneticQuirks.heterochromia = 0>>
+	<</if>>
 <</if>>
 
 <<set WombInit($args[0])>>
diff --git a/src/pregmod/widgets/seBirthWidgets.tw b/src/pregmod/widgets/seBirthWidgets.tw
index 3ea7be4ba4e55507bf80168cf1c10708d379e425..859e0c6236fc253292dcdf6195dfabe9f1a2d4fd 100644
--- a/src/pregmod/widgets/seBirthWidgets.tw
+++ b/src/pregmod/widgets/seBirthWidgets.tw
@@ -184,7 +184,7 @@
 	<<if $slaves[$i].vagina > 2>>
 		<<set $suddenBirth += 2>>
 	<</if>>
-	<<if $slaves[$i].vaginalAccessory != "none">>
+	<<if $slaves[$i].vaginalAccessory != "none" || $slaves[$i].chastityVagina == 1>>
 		<<set $suddenBirth -= 20>>
 	<</if>>
 <</if>>
@@ -251,7 +251,7 @@
 				<<if $slaves[$i].fetish == "mindbroken">>
 					While getting milked, $slaves[$i].slaveName's water breaks. $He shows little interest and continues kneading $his breasts. Instinctively $he begins to push out $his bab<<if $slaves[$i].pregType > 1>>ies<<else>>y<</if>>. $He pays no heed to $his child<<if $slaves[$i].pregType > 1>>ren<</if>> being removed from the milking stall, instead focusing entirely on draining $his breasts.
 				<<else>>
-					While getting milked, $slaves[$i].slaveName's water breaks,<<if $dairyPregSetting > 0>> this is a regular occurrence to $him now so<<else>> but<</if>> $he continues enjoying $his milking. $He begins to push out $his bab<<if $slaves[$i].pregType > 1>>ies<<else>>y<</if>>. $He catches <<if canSee($slaves[$i])>>a glimpse<<else>>the sound<</if>> of $his child<<if $slaves[$i].pregType > 1>>ren<</if>> being removed from the milking stall before returning $his focus to draining $his breasts.
+					While getting milked, $slaves[$i].slaveName's water breaks,<<if $dairyPregSetting > 0>> this is a regular occurrence to $him now so<<else>> but<</if>> $he continues enjoying $his milking. $He begins to push out $his bab<<if $slaves[$i].pregType > 1>>ies<<else>>y<</if>>. $He catches <<if canSee($slaves[$i])>>a glimpse<<elseif canHear($slaves[$i])>>the sound<<else>>the feeling<</if>> of $his child<<if $slaves[$i].pregType > 1>>ren<</if>> being removed from the milking stall before returning $his focus to draining $his breasts.
 				<</if>>
 			<</if>>
 		<</if>> /* close cow birth */
diff --git a/src/societies/aztec/slaveSacrifice.tw b/src/societies/aztec/slaveSacrifice.tw
index 025050c8728a203baa33c73f2b908582e67cb1c2..a38fb0d1640b37f9ca3dcdff71dc8d831bdaa595 100644
--- a/src/societies/aztec/slaveSacrifice.tw
+++ b/src/societies/aztec/slaveSacrifice.tw
@@ -231,7 +231,7 @@
 		<<if ($activeSlave.sexualFlaw == "hates oral")>>
 			$He immediately focuses on $his need of release, since $he thinks the worst part of $his penance is over as $his mouth is no longer going to be raped like it was last night. Soon $he discovers that this is far from the truth when it is time for $his first dose of the tea. As a means to keep $his penance according to the suffering the goddess demands, the tea it to be administered through a similar device as is used in dairies. A feeding phallus is installed on a side of the cage, and if $he wants to avoid dehydration, $he will have to suck it off. When $he realizes what lies in store for $him $he begins to cry and refuses to drink at all. As the week progresses $he begins to faint more and more often as $he vehemently refuses to work for $his drink. As a result, $he is restrained and the feeding phallus is shoved into $his mouth and down $his throat. $He gags and struggles, tears running down $his face as $he tries and fails to scream. After several minutes, $he stops panicking and finally starts to inhale and exhale regularly. Only after this the transparent reservoir of tea is injected. $He chokes on it but swallows desperately. As per your instructions $his feedings are synched with $his dose of aphrodisiacs which confuses $him to no end and adds to $his penance. The procedure goes on during the rest of the week several times a day. By the end of the week $he can hardly stand up as the lack of food and sleep keeps $him weak. $He remains on the bottom of the cage, only interrupted by $his feedings and the spasms $he suffers as a result of the constant arousal.
 		<<elseif ($activeSlave.sexualFlaw == "shamefast")>>
-			At first, $he tries to relieve $himself while $he tries to hide $his body. As a way to keep $his penance according to the suffering the goddess demands a big screen is set next to $his cage. After a few hours, the screen turns on and a live image of $him on the cage appears. The screen then shifts to a low shot of $his tight pussy dripping with the wet product of $his arousal, showing different stats related to it. After a few minutes, the screens changes to previously recorded footage of $his naked body glistening while laying comfortably on the temazcal. After a minute, it shifts again to a close up shot of $his ass being carefully painted with blue, the camera following the movement of the brush as it moves over $his ass cheek then shifts again to a very close shot of $him being fucked the night before. The video changes over and over again showing scenes of previously recorded footage preparation for $his penance, every one carefully picked to give a good view of $his body or revealing live shots of $his body picked to show where $his sexual arousal is more evident. The first time $he sees them $he burst into tears. As the week goes new clips are added showing the best scenes of $him that the camera was able to capture while the aphrodisiacs forced $him to masturbate without success. Due $his resistance to show $his body for the cameras and the citizens passing by, $he is immobilized into standing, $his body conveniently positioned to get the best shots. $He tries to ignore the whole situation by trying to focus on ignoring the screen. As a result, a small screen is set in front of $him, the image divided in two, one half showing the big screen's projection and the other reactions of all parties. By the end of the week $he remains sitting immobilized on a stool to produce a good shivering shot.
+			At first, $he tries to relieve $himself while $he tries to hide $his body. As a way to keep $his penance according to the suffering the goddess demands a big screen is set next to $his cage. After a few hours, the screen turns on and a live image of $him on the cage appears. The screen then shifts to a low shot of $his tight pussy dripping with the wet product of $his arousal, showing different stats related to it. After a few minutes, the screens changes to previously recorded footage of $his naked body glistening while laying comfortably on the temazcal. After a minute, it shifts again to a close-up shot of $his ass being carefully painted with blue, the camera following the movement of the brush as it moves over $his ass cheek then shifts again to a very close shot of $him being fucked the night before. The video changes over and over again showing scenes of previously recorded footage preparation for $his penance, every one carefully picked to give a good view of $his body or revealing live shots of $his body picked to show where $his sexual arousal is more evident. The first time $he sees them $he burst into tears. As the week goes new clips are added showing the best scenes of $him that the camera was able to capture while the aphrodisiacs forced $him to masturbate without success. Due $his resistance to show $his body for the cameras and the citizens passing by, $he is immobilized into standing, $his body conveniently positioned to get the best shots. $He tries to ignore the whole situation by trying to focus on ignoring the screen. As a result, a small screen is set in front of $him, the image divided in two, one half showing the big screen's projection and the other reactions of all parties. By the end of the week $he remains sitting immobilized on a stool to produce a good shivering shot.
 		<<elseif ($activeSlave.sexualFlaw == "repressed")>>
 			Although $he thinks $his clothes are degrading, $he seems content to fulfill $his duty to keeping $himself pure to the goddess and fights the urge to touch $himself. At first, $he manages to control the heavy dose of aphrodisiacs that run through $his body and tries to give no indication of the constant arousal $he suffers. An occasional shake or moan escapes $his lips for which $he seems to be deeply ashamed. As the week goes by and $his resistance reduces $his body does betray $him most of the time. $He shakes, moans and shivers at the littlest provocation, which horrifies $him to no end. Little does $he know that $his dosage of aphrodisiacs has being increased every time $he is injected and are more effective now that the lack of sleep takes a toll on $his body. $He hates $himself for being unable to control the shameful things $his body demands and bursts into tears when $his pelvis thrusts the minute the fringes are moved by the wind and caresses $his body or the necklace rubs on $his nipples. By the end of the week $he cannot handle it and tries to touch $himself when the arousal becomes too much, which is often. $He seems ashamed of $his actions and often $he breaks out in tears as $he tries to masturbate. $He remains $his time left on penance in the bottom of the cage sobbing as $his body keeps as much of the energy it can only interrupted by the moans $he can no longer control and the shivers to run through $his body when the aphrodisiacs overwhelmed $him.
 		<<elseif ($activeSlave.sexualFlaw == "attention whore")>>
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index 34b145f0e640c1661adcea2a554990243a8c938a..08b0f48d7c21314c1209a5b538eba4b3e30d889e 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -385,12 +385,16 @@
 	<<set $PC.ballType = "human">>
 <</if>>
 <<if ndef $PC.geneticQuirks>>
-	<<set $PC.geneticQuirks = {macromastia: 0, gigantomastia: 0, fertility: 0, hyperFertility: 0, superfetation: 0, gigantism: 0, dwarfism: 0, pFace: 0, uFace: 0, albinism: 0, rearLipedema: 0, wellHung: 1, wGain: 0, wLoss: 0, androgyny: 0}>>
+	<<set $PC.geneticQuirks = {macromastia: 0, gigantomastia: 0, fertility: 0, hyperFertility: 0, superfetation: 0, gigantism: 0, dwarfism: 0, pFace: 0, uFace: 0, albinism: 0, heterochromia: 0, rearLipedema: 0, wellHung: 1, wGain: 0, wLoss: 0, androgyny: 0}>>
 	<<if $PC.birthMaster > 0>>
 		<<set $PC.geneticQuirks.fertility = 2>>
 	<<elseif $PC.career == "servant">>
 		<<set $PC.geneticQuirks.fertility = 1>>
 	<</if>>
+<<else>>
+	<<if ndef $PC.geneticQuirks.heterochromia>>
+		<<set $PC.geneticQuirks.heterochromia = 0>>
+	<</if>>
 <</if>>
 <<if $releaseID < 1032>>
 	<<if $PC.pregSource == -1>>
@@ -1839,6 +1843,9 @@ Setting missing global variables:
 <<if ndef $clothesBoughtPol>>
 	<<set $clothesBoughtPol = 0>>
 <</if>>
+<<if ndef $clothesBoughtCostume>>
+	<<set $clothesBoughtCostume = 0>>
+<</if>>
 <<if ndef $clothesBoughtPantsu>>
 	<<set $clothesBoughtPantsu = 0>>
 <</if>>
@@ -3293,6 +3300,32 @@ Setting missing slave variables:
 	<<set _Slave.pregControl = "labor suppressors">>
 <</if>>
 
+<<if ndef _Slave.chastityAnus || ndef _Slave.chastityPenis || ndef _Slave.chastityVagina>>
+	<<if _Slave.dickAccessory == "combined chastity">>
+		<<set _Slave.chastityAnus = 1>>
+		<<set _Slave.chastityPenis = 1>>
+		<<set _Slave.dickAccessory = "none">>
+	<<elseif _Slave.vaginalAccessory == "combined chastity">>
+		<<set _Slave.chastityAnus = 1>>
+		<<set _Slave.chastityVagina = 1>>
+		<<set _Slave.vaginalAccessory = "none">>
+	<<elseif _Slave.dickAccessory == "anal chastity" || _Slave.vaginalAccessory == "anal chastity">>
+		<<set _Slave.chastityAnus = 1>>
+		<<set _Slave.dickAccessory = "none">>
+		<<set _Slave.vaginalAccessory = "none">>
+	<<elseif _Slave.dickAccessory == "chastity">>
+		<<set _Slave.chastityPenis = 1>>
+		<<set _Slave.dickAccessory = "none">>
+	<<elseif _Slave.vaginalAccessory == "chastity belt">>
+		<<set _Slave.chastityVagina = 1>>
+		<<set _Slave.vaginalAccessory = "none">>
+	<<else>>
+		<<set _Slave.chastityAnus = 0>>
+		<<set _Slave.chastityPenis = 0>>
+		<<set _Slave.chastityVagina = 0>>
+	<</if>>
+<</if>>
+
 <<run SlaveDatatypeCleanup(_Slave)>>
 
 <<set _leaderIdx = $leaders.findIndex(function(s) { return s.ID === _Slave.ID; })>>
diff --git a/src/uncategorized/PESS.tw b/src/uncategorized/PESS.tw
index 83c1917bd4417f00535eb89da01b1e6fb380777a..6954d54f8e382589d02c5a265fb004d9b0156197 100644
--- a/src/uncategorized/PESS.tw
+++ b/src/uncategorized/PESS.tw
@@ -124,7 +124,7 @@ Your milkmaid <<EventNameLink>> worked hard today. The cows have it much easier
 
 <<case "loving concubine">>
 
-It's been a long, harassing day as owner of the arcology. You're composing an angry communication to a couple of imbecile tenants who seem to think they're still in their old world shithole of a homeland, insist on acting like it, and are also wealthy enough to make it unwise to simply defenestrate them from the nearest window. Not that you aren't tempted. Suddenly, you feel a moist, <<if ($activeSlave.lips > 70)>>massive<<elseif ($activeSlave.lips > 40)>>pillowlike<<else>>girlish<</if>> pair of lips nibbling their way along your ear, and a <<if ($activeSlave.muscles > 95)>>powerful<<elseif ($activeSlave.muscles > 30)>>strong<<else>>feminine<</if>> hand over your shoulder. Its owner <<if !canTalk($activeSlave)>>passes you a handwritten note: "? ? It can wait, <<= WrittenMaster()>> ? ?"<<else>><<say whisper>>s: "It can wait, <<Master>>."<</if>>
+It's been a long, harassing day as owner of the arcology. You're composing an angry communication to a couple of imbecile tenants who seem to think they're still in their old world shithole of a homeland, insist on acting like it, and are also wealthy enough to make it unwise to simply defenestrate them from the nearest window. Not that you aren't tempted. Suddenly, you feel a moist, <<if ($activeSlave.lips > 70)>>massive<<elseif ($activeSlave.lips > 40)>>pillowlike<<else>>girlish<</if>> pair of lips nibbling their way along your ear, and a <<if ($activeSlave.muscles > 95)>>powerful<<elseif ($activeSlave.muscles > 30)>>strong<<else>>feminine<</if>> hand over your shoulder. Its owner <<if !canTalk($activeSlave)>>passes you a handwritten note: "? ? It can wait, <<= WrittenMaster()>> ? ?"<<else>>whispers "It can wait, <<Master>>."<</if>>
 
 You turn to see your concubine <<EventNameLink>>'s <<if ($activeSlave.butt > 5)>>massive, nude ass<<elseif ($activeSlave.butt > 2)>>big naked butt<<else>>nice, nude rear<</if>> vanishing back into your suite.<<if ($activeSlave.boobs > 2000)>> As $he sways away from you, you can clearly see the sides of $his massive tits, sticking out on either side of $his torso.<</if>>
 
@@ -159,7 +159,7 @@ When you've finished your task, you raise your eyes to examine $him. $He's stand
 	$He's nude, making it obvious that $his poor soft member has done its duty today. It even looks a little moist, as though it bred a fertile slave's pussy only a few minutes ago.
 <<elseif ["body oil", "chains", "clubslut netting", "restrictive latex", "shibari ropes", "uncomfortable straps"].indexOf($activeSlave.clothes) != -1>>
 	$His clothes don't cover $his dick, making it obvious that $his poor soft member has done its duty today. It even looks a little moist, as though it bred a fertile slave's pussy only a few minutes ago.
-<<elseif ["a burkini", "a comfortable bodysuit", "a cybersuit", "a fallen nuns habit", "a latex catsuit", "a leotard", "a monokini", "a scalemail bikini", "a string bikini", "attractive lingerie for a pregnant woman", "attractive lingerie", "harem gauze", "kitty lingerie", "restrictive latex", "shimapan panties", "slutty jewelry", "spats and a tank top", "stretch pants and a crop-top"].indexOf($activeSlave.clothes) != -1>>
+<<elseif ["a comfortable bodysuit", "a cybersuit", "a fallen nuns habit", "a latex catsuit", "a leotard", "a monokini", "a scalemail bikini", "a string bikini", "attractive lingerie for a pregnant woman", "attractive lingerie", "harem gauze", "kitty lingerie", "restrictive latex", "shimapan panties", "slutty jewelry", "spats and a tank top", "stretch pants and a crop-top"].indexOf($activeSlave.clothes) != -1>>
 	$His clothes cover $his groin, but they're pretty tight, making it clear that $his poor soft member has done its duty today.
 <<else>>
 	$His clothes are relatively modest, so you can't see it, but it's clear that $his poor soft member has done its duty today.
@@ -300,7 +300,7 @@ $He sees you examining at $him, and looks back at you submissively, too tired to
 <<link "Make $him the face of an ad campaign">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
-	You bring $him out to a pretty balcony and put $him through an extended photo shoot. $He has no idea what you're planning, but $he's skilled enough not to need to. $He dons different outfits, changes makeup, and even shifts personas for the camera, producing hundreds of elegant, sensual and eye-catching images. You dismiss $him back to the club when you're done, and $he clearly thinks little of it. The next day, however, you walk $him out onto the club in the morning. When the two of you, <<= WrittenMaster()>> and DJ, reach the main club, $he stops short when $he catches sight of the main billboard screen. There $he is, resplendent and opulent, <<if $showInches == 2>>thirty feet<<else>>ten meters<</if>> tall, giving the viewer a sultry look. $He only breaks down for a single moment, but it's quite a moment: $he cries rather inelegantly, <<if canTalk($activeSlave)>><<say>>ing a sobbing "I love you <<Master>>" into your ear<</if>> before giving you a @@.hotpink;wet kiss.@@ Then $he runs over to stand under the screen, looking back at you to give you a @@.green;picture-perfect@@ imitation of the billboard $he's standing under before laughing at $himself a little.
+	You bring $him out to a pretty balcony and put $him through an extended photo shoot. $He has no idea what you're planning, but $he's skilled enough not to need to. $He dons different outfits, changes makeup, and even shifts personas for the camera, producing hundreds of elegant, sensual and eye-catching images. You dismiss $him back to the club when you're done, and $he clearly thinks little of it. The next day, however, you walk $him out onto the club in the morning. When the two of you, <<= WrittenMaster()>> and DJ, reach the main club, <<if canSee($activeSlave)>>$he stops short when $he catches sight of<<else>>you make sure to describe to $him, in explicit detail, what's displayed on<</if>> the main billboard screen. There $he is, resplendent and opulent, <<if $showInches == 2>>thirty feet<<else>>ten meters<</if>> tall, giving the viewer a sultry look. $He only breaks down for a single moment, but it's quite a moment: $he cries rather inelegantly, <<if canTalk($activeSlave)>><<say>>ing a sobbing "I love you, <<Master>>" into your ear<</if>> before giving you a @@.hotpink;wet kiss.@@ Then $he runs over to stand under the screen, looking back at you to give you a @@.green;picture-perfect@@ imitation of the billboard $he's standing under before laughing at $himself a little.
 	<<run cashX(-1000, "event", $activeSlave)>>
 	<<run repX(2500, "event", $activeSlave)>>
 	<<set $activeSlave.devotion += 4>>
@@ -351,7 +351,7 @@ $He sees you examining at $him, and looks back at you submissively, too tired to
 <<link "Give $him a businesslike massage">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
-	When $he <<if canHear($activeSlave)>>hears you enter $dairyName,<<else>>realizes you've entered $dairyName,<</if>> $he turns to you for instructions, but you wordlessly dismiss $him back to $his stretching. $He gets back to it, but is surprised to find $his shoulders seized by your powerful hands. $He shivers helplessly as you knead $his knotted muscles, whimpering with near-orgasmic delight as $he feels the day's aches ground away under your grip. When you're done with $him, $he touches $his toes and then smoothly rises to stretch with $his hands over $his head, groaning with sheer pleasure at the feeling. <<if !canTalk($activeSlave)>>$He thanks you profusely with gestures, and then hesitantly asks if you'd like to use $his body.<<else>>"Thank you <<Master>>," $he <<say murmur>>s. "Would — would you like to u<<s>>e my body, now?"<</if>> You shake your head kindly and place a kiss on $his forehead before continuing with your evening. As $he watches you go, $he suppresses @@.hotpink;another shiver.@@
+	When $he <<if canHear($activeSlave)>>hears you enter $dairyName,<<else>>realizes you've entered $dairyName,<</if>> $he turns to you for instructions, but you wordlessly dismiss $him back to $his stretching. $He gets back to it, but is surprised to find $his shoulders seized by your powerful hands. $He shivers helplessly as you knead $his knotted muscles, whimpering with near-orgasmic delight as $he feels the day's aches ground away under your grip. When you're done with $him, $he touches $his toes and then smoothly rises to stretch with $his hands over $his head, groaning with sheer pleasure at the feeling. <<if !canTalk($activeSlave)>>$He thanks you profusely with gestures, and then hesitantly asks if you'd like to use $his body.<<else>>"Thank you <<Master>>," $he murmurs. "Would — would you like to u<<s>>e my body, now?"<</if>> You shake your head kindly and place a kiss on $his forehead before continuing with your evening. As $he watches you go, $he suppresses @@.hotpink;another shiver.@@
 	<<set $activeSlave.devotion += 4>>
 	<</replace>>
 <</link>>
@@ -377,7 +377,7 @@ $He sees you examining at $him, and looks back at you submissively, too tired to
 <br><<link "It can wait until after some lovemaking with the Concubine">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
-	When you enter your suite, the dim light reveals $activeSlave.slaveName waiting with $his beautiful body laid across the bed. When $he sees the kind of lovemaking you're in the mood for, $he spreads $his arms for you, smiling gently. $He kisses you lovingly, <<if !canTalk($activeSlave)>>taking your hand in $hers and drawing a heart on your palm with one finger.<<else>><<say murmur>>ing: "<<Master>>, I love you."<</if>> <<if ($PC.vagina == 1)>>$He lies on $his side and raises one leg for you so you can straddle the other, sliding up to press your pussy against $his submissive groin. You grind against $him; the stimulation is so strong that $he writhes into the sheets, panting and whining.<<if $PC.dick == 1>> Your stiff dick, unused for once, slides deliciously between your warm bodies.<</if>><<else>><<if ($activeSlave.vagina > 0)>>$His pussy is warm and very wet, making penetration easy; $he gasps and arches $his back, clasping you between $his legs as $his $activeSlave.eyeColor eyes look deep into yours.<<elseif ($activeSlave.anus > 0)>>$His butt is relaxed and welcoming, and $he holds $his legs back to take missionary anal loving as $his $activeSlave.eyeColor look deep into yours.<<else>>$He holds $his thighs together for frottage so $he can love you without losing $his virginity.<</if>><</if>> You both know each other quite well, and maintain the gentle communion for a long time. When $he senses your climax building, $he lets $himself climb to orgasm with you, holding <<if ($PC.dick == 0)>>your hips in $his hands<<else>>you in $his arms<</if>>. $He quickly cleans you with $his mouth and heads to the shower. When $he gets out you're back at work, but $he comes out to @@.hotpink;plant another kiss on you.@@
+	When you enter your suite, the dim light reveals $activeSlave.slaveName waiting with $his beautiful body laid across the bed. When $he <<if canSee($activeSlave)>>sees<<else>>figures out<</if>> the kind of lovemaking you're in the mood for, $he spreads $his arms for you, smiling gently. $He kisses you lovingly, <<if !canTalk($activeSlave)>>taking your hand in $hers and drawing a heart on your palm with one finger.<<else>><<say>>ing, "<<Master>>, I love you."<</if>> <<if ($PC.vagina == 1)>>$He lies on $his side and raises one leg for you so you can straddle the other, sliding up to press your pussy against $his submissive groin. You grind against $him; the stimulation is so strong that $he writhes into the sheets, panting and whining.<<if $PC.dick == 1>> Your stiff dick, unused for once, slides deliciously between your warm bodies.<</if>><<else>><<if ($activeSlave.vagina > 0)>>$His pussy is warm and very wet, making penetration easy; $he gasps and arches $his back, clasping you between $his legs as $his $activeSlave.eyeColor eyes look deep into yours.<<elseif ($activeSlave.anus > 0)>>$His butt is relaxed and welcoming, and $he holds $his legs back to take missionary anal loving as $his $activeSlave.eyeColor look deep into yours.<<else>>$He holds $his thighs together for frottage so $he can love you without losing $his virginity.<</if>><</if>> You both know each other quite well, and maintain the gentle communion for a long time. When $he senses your climax building, $he lets $himself climb to orgasm with you, holding <<if ($PC.dick == 0)>>your hips in $his hands<<else>>you in $his arms<</if>>. $He quickly cleans you with $his mouth and heads to the shower. When $he gets out you're back at work, but $he comes out to @@.hotpink;plant another kiss on you.@@
 	<<set $activeSlave.devotion += 10>>
 	<<set $activeSlave.oralCount += 1>>
 	<<set $oralTotal += 1>>
@@ -394,9 +394,9 @@ $He sees you examining at $him, and looks back at you submissively, too tired to
 <br><<link "It can wait until after some rough sex with the Concubine">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
-	When you enter your suite, the dim light reveals $activeSlave.slaveName waiting with $his beautiful body laid across the bed. When $he sees <<if ($PC.dick == 0)>>the big strap-on you're wearing<<else>>the kind of sex you're in the mood for<</if>>, $he turns over and pushes $his face down into the sheets. $He pulls $his knees under $himself and reaches back to pull $his <<if ($activeSlave.butt > 5)>>huge<<elseif ($activeSlave.butt > 2)>>sizable<<else>>pretty<</if>> buttocks apart, relaxing and then clenching $his <<if ($activeSlave.anus > 2)>>gaping<<elseif ($activeSlave.anus > 1)>>big<<else>>tight<</if>> asshole invitingly. $He starts <<if !canTalk($activeSlave)>>to point an inviting finger at $his backdoor,<<else>>to <<say beg>> "Plea<<s>>e a<<ss>>rape me, M-" into the sheets,<</if>> but you interrupt $him by shoving $him forward so that $he's all the way face-down on the bed. $He knows how you like it and starts to wriggle, struggle, and whine as you roughly sodomize $him, <<if ($PC.dick == 0)>>the strap-on<<else>>your cock<</if>> ramming straight up $his ass despite the uncomfortable angle, <<if ($activeSlave.butt > 5)>>which $his huge ass makes easier for $him by limiting how deeply you can fuck $him without $his buttocks spread wide.<<elseif ($activeSlave.butt > 2)>>which $his big behind makes easier for $him by limiting how deeply you can fuck $him.<<else>>which $his modest ass makes harder for $him by allowing you to get really deep inside $his anus.<</if>> $He continues to wrestle with you, sometimes even managing to dislodge <<if ($PC.dick == 0)>>the strap-on<<else>>your dick<</if>>, allowing you the <<if ($PC.dick == 0)>>cruel delight<<else>>delicious sensation<</if>> of pushing it back up $his butt each time. Despite the pretense $his enjoyment is obvious;
-	<<if ($activeSlave.dick > 0) && ($activeSlave.chastityPenis)>>
-		despite $his chastity caged cock, $he's grinding against you as eagerly as a $girl making love with $his pussy.
+	When you enter your suite, the dim light reveals $activeSlave.slaveName waiting with $his beautiful body laid across the bed. When $he sees <<if ($PC.dick == 0)>>the big strap-on you're wearing<<else>>the kind of sex you're in the mood for<</if>>, $he turns over and pushes $his face down into the sheets. $He pulls $his knees under $himself and reaches back to pull $his <<if ($activeSlave.butt > 5)>>huge<<elseif ($activeSlave.butt > 2)>>sizable<<else>>pretty<</if>> buttocks apart, relaxing and then clenching $his <<if ($activeSlave.anus > 2)>>gaping<<elseif ($activeSlave.anus > 1)>>big<<else>>tight<</if>> asshole invitingly. $He starts <<if !canTalk($activeSlave)>>to point an inviting finger at $his backdoor,<<else>>to beg "Plea<<s>>e a<<ss>>rape me, M-" into the sheets,<</if>> but you interrupt $him by shoving $him forward so that $he's all the way face-down on the bed. $He knows how you like it and starts to wriggle, struggle, and whine as you roughly sodomize $him, <<if ($PC.dick == 0)>>the strap-on<<else>>your cock<</if>> ramming straight up $his ass despite the uncomfortable angle, <<if ($activeSlave.butt > 5)>>which $his huge ass makes easier for $him by limiting how deeply you can fuck $him without $his buttocks spread wide.<<elseif ($activeSlave.butt > 2)>>which $his big behind makes easier for $him by limiting how deeply you can fuck $him.<<else>>which $his modest ass makes harder for $him by allowing you to get really deep inside $his anus.<</if>> $He continues to wrestle with you, sometimes even managing to dislodge <<if ($PC.dick == 0)>>the strap-on<<else>>your dick<</if>>, allowing you the <<if ($PC.dick == 0)>>cruel delight<<else>>delicious sensation<</if>> of pushing it back up $his butt each time. Despite the pretense $his enjoyment is obvious;
+	<<if ($activeSlave.chastityPenis == 1)>>
+		though $his cock has been placed in a chastity cage, $he's grinding against you as eagerly as if it wasn't there at all.
 	<<elseif ($activeSlave.dick > 0) && ($activeSlave.hormoneBalance >= 100)>>
 		though $his hormone-filled body can't get $his dick hard any more, $he's leaking precum all over the bed.
 	<<elseif $activeSlave.dick > 0 && $activeSlave.balls > 0 && $activeSlave.ballType == "sterile">>
@@ -458,7 +458,7 @@ $He sees you examining at $him, and looks back at you submissively, too tired to
 	<<elseif canDoAnal($activeSlave)>>
 		<<if $activeSlave.hormoneBalance >= 100>>
 			Since $he's doped up on hormones, you take $him out onto the balcony, arm an extra security system so $he can relax, and have gentle, loving anal sex with $him until $he's climaxed twice.
-		<<elseif ($activeSlave.dick > 0) && ($activeSlave.chastityPenis)>>
+		<<elseif ($activeSlave.chastityPenis == 1)>>
 			Since $he's a caged dickgirl, you take $him out onto the balcony, arm an extra security system so $he can relax, and use $his anus until $he's exhausted.
 		<<elseif ($activeSlave.dick > 0) && ($activeSlave.balls == 0)>>
 			Since $he's chemically castrated, you take $him out onto the balcony, arm an extra security system so $he can relax, and have gentle, loving anal sex with $him until $he's climaxed twice.
diff --git a/src/uncategorized/PETS.tw b/src/uncategorized/PETS.tw
index 406e90f40a4c93878600659e715361403d93cfe2..b42a718bdd0179954947d1a4908deef5d6493a85 100644
--- a/src/uncategorized/PETS.tw
+++ b/src/uncategorized/PETS.tw
@@ -91,18 +91,13 @@
 
 <<case "nurse molestation">>
 
-<<if ($activeSlave.dick > 0) && canAchieveErection($activeSlave) && (!($activeSlave.chastityPenis))>>
-	<<set _canUseDick = 1>>
-<<else>>
-	<<set _canUseDick = 0>>
-<</if>>
 <<set $activeSlave.penetrativeCount += 1>>
 <<set $penetrativeTotal += 1>>
 Late at night, you decide to walk through the clinic to look over its patients personally. As soon as you enter the space, left dimly lit at night to encourage sleep, you hear a quiet moaning and the distinct noise of flesh on flesh. Heading over towards that area, you note the noise is coming from where $subSlave.slaveName is listed as resting. Appearing quietly, you see <<EventNameLink>> between $his patient's legs, which are spread wide by the stirrups provided with each patient bed for examination of a slave's holes.
 <br><br>
-<<if _canUseDick == 1>>
+<<if canPenetrate($activeSlave)>>
 	$He's pounding eagerly away and mauling $his patient's bare boobs with both hands.
-<<elseif _canUseDick == 1>>
+<<else>>
 	$He's using one hand to fingerfuck $his patient, and the other to masturbate furiously.
 <</if>>
 Moaning in sexual abandon, $he's obviously unaware that $he's being watched. $subSlave.slaveName is oddly quiescent. You silently query the Clinic's systems, and learn that _he2's under curative sedation. The advanced curatives applied here often improve slaves' health more quickly if a slave is mildly sedated to let them work. $activeSlave.slaveName has obviously decided to use the almost unconscious $subSlave.slaveName for $his own gratification.
@@ -111,7 +106,7 @@ Moaning in sexual abandon, $he's obviously unaware that $he's being watched. $su
 
 Poor $subSlave.slaveName clearly isn't working as hard as _he2 should. <<EventNameLink>> has _him2 bent over with _his2 buttocks bare, and is administering a punishing spanking. $subSlave.slaveName's $subSlave.skin skin is starting to show the force of the beating, and _he2's begging desperately for mercy.
 <br><br>
-$activeSlave.slaveName, meanwhile, is obviously enjoying torturing the poor servant for _his2 failings. $He's <<if ($activeSlave.chastityPenis)>>using a couple of fingers to buttfuck $himself<<elseif ($activeSlave.dick > 0) && canAchieveErection($activeSlave)>>jacking off furiously<<elseif $activeSlave.dick > 0>>rubbing $his pathetically soft dick<<elseif $activeSlave.vagina == -1>>desperately rubbing $his soft perineum<<else>>rubbing $his sopping pussy<</if>> with $his other hand, getting close to orgasm as the servant begs and moans.
+$activeSlave.slaveName, meanwhile, is obviously enjoying torturing the poor servant for _his2 failings. $He's <<if ($activeSlave.chastityPenis == 1)>>using a couple of fingers to buttfuck $himself<<elseif canAchieveErection($activeSlave)>>jacking off furiously<<elseif $activeSlave.dick > 0>>rubbing $his pathetically soft dick<<elseif $activeSlave.vagina == -1>>desperately rubbing $his soft perineum<<else>>rubbing $his sopping pussy<</if>> with $his other hand, getting close to orgasm as the servant begs and moans.
 
 <<case "aggressive schoolteacher">>
 
@@ -125,7 +120,7 @@ As you pass the entrance to the hall of cells where <<EventNameLink>> breaks bit
 
 <<case "comforting attendant">>
 
-You decide to knit up care's raveled sleave with a break in the spa. You have your own bath, of course, but the female company is always nice even if you aren't actively using the spa's resting inhabitants. The steam in the warm pool room is turned up very high, and you can hardly see. As you lower yourself into the warm water, you see <<EventNameLink>> across from you, sitting in the water against the pool wall. $He's holding $subSlave.slaveName in $his arms, rubbing a comforting hand up and down _his2 back and murmuring into _his2 ear. $subSlave.slaveName has _his2 head <<if ($activeSlave.boobs > 2000)>>almost hidden between $activeSlave.slaveName's massive tits<<elseif ($activeSlave.boobs > 1000)>>between $activeSlave.slaveName's huge boobs<<elseif ($activeSlave.boobs > 300)>>between $activeSlave.slaveName's breasts<<else>>against $activeSlave.slaveName's flat chest<</if>>, but it's a nonsexual embrace. You can't hear what $activeSlave.slaveName is saying, but it's clearly comforting; $subSlave.slaveName has a happy little smile on _his2 face and has _his2 eyes closed in relaxation.
+You decide to knit up care's raveled sleave with a break in the spa. You have your own bath, of course, but the <<if $seeDicks != 100>>female <</if>>company is always nice even if you aren't actively using the spa's resting inhabitants. The steam in the warm pool room is turned up very high, and you can hardly see. As you lower yourself into the warm water, you see <<EventNameLink>> across from you, sitting in the water against the pool wall. $He's holding $subSlave.slaveName in $his arms, rubbing a comforting hand up and down _his2 back and murmuring into _his2 ear. $subSlave.slaveName has _his2 head <<if ($activeSlave.boobs > 2000)>>almost hidden between $activeSlave.slaveName's massive tits<<elseif ($activeSlave.boobs > 1000)>>between $activeSlave.slaveName's huge boobs<<elseif ($activeSlave.boobs > 300)>>between $activeSlave.slaveName's breasts<<else>>against $activeSlave.slaveName's flat chest<</if>>, but it's a nonsexual embrace. You can't hear what $activeSlave.slaveName is saying, but it's clearly comforting; $subSlave.slaveName has a happy little smile on _his2 face and has _his2 eyes closed in relaxation.
 
 <<default>>
 	<br>ERROR: bad PETS event $PETSevent
@@ -162,32 +157,32 @@ You decide to knit up care's raveled sleave with a break in the spa. You have yo
 <br><<link "Rape $him for molesting patients">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
-	You shove $activeSlave.slaveName hard, forcing a surprised shriek out of $him as $he crashes forward into $subSlave.slaveName's <<if $subSlave.boobs > 2000>>helpfully pillowlike bosom<<elseif $subSlave.boobs > 500>>healthy tits<<else>>chest<</if>>, and then ram your pelvis up against $him, pinning $him against $his patient. $subSlave.slaveName's eyelids flicker, but _he2 does not wake up, despite your assault <<if _canUseDick == 1>>shoving $activeSlave.slaveName's cock as far up _his2 asshole as it will go<<else>>trapping $activeSlave.slaveName's hands between them and pushing $his fingers even farther up $subSlave.slaveName's asshole<</if>>. $activeSlave.slaveName tries to shift a little, but receives a peremptory push back to where $he was. $He realizes $he's to lie still and take what's coming to $him, and $he does $his best to relax.
+	You shove $activeSlave.slaveName hard, forcing a surprised shriek out of $him as $he crashes forward into $subSlave.slaveName's <<if $subSlave.boobs > 2000>>helpfully pillowlike bosom<<elseif $subSlave.boobs > 500>>healthy tits<<else>>chest<</if>>, and then ram your pelvis up against $him, pinning $him against $his patient. $subSlave.slaveName's eyelids flicker, but _he2 does not wake up, despite your assault <<if canPenetrate($activeSlave)>>shoving $activeSlave.slaveName's cock as far up _his2 asshole as it will go<<else>>trapping $activeSlave.slaveName's hands between them and pushing $his fingers even farther up $subSlave.slaveName's asshole<</if>>. $activeSlave.slaveName tries to shift a little, but receives a peremptory push back to where $he was. $He realizes $he's to lie still and take what's coming to $him, and $he does $his best to relax.
 	<br><br>
 	<<if $PC.dick == 1>>
-		<<if ($activeSlave.vagina > 0) && !($activeSlave.chastityVagina)>>
-		<<if $activeSlave.vagina > 2>>
-			$His roomy cunt takes your brutal thrusting without trouble. To communicate your message, $he needs to be uncomfortable, so you deliberately force $him down farther and fuck $him at an awkward angle. Your harsh pounding begins to force groans out of $him.
-		<<elseif $activeSlave.vagina > 1>>
-			$He gasps as you force your cock inside $his cunt without any accommodation for $his comfort. This is supposed to send a message, so you send a message, fucking $him without mercy. $He begins to groan under the harsh pounding.
-		<<else>>
-			$He whines as you force your cock inside $his tight cunt. This is supposed to send a message, so you send a message, treating $him like a veteran whore who can take anything. $He begins to groan under the harsh pounding, $his poor little pussy unused to this kind of abuse.
-		<</if>>
-		<<set $activeSlave.vaginalCount += 1>>
-		<<set $vaginalTotal += 1>>
-		<<else>>
-		<<if $activeSlave.anus > 2>>
-			$His roomy anus takes your brutal thrusting without trouble. To communicate your message, $he needs to be uncomfortable, so you push a couple of fingers up there alongside your dick. $He wriggles helplessly, starting to groan as you rape $his asshole.
-		<<elseif $activeSlave.anus > 1>>
-			$He gasps as you force your cock up $his ass without waiting for $him to relax or get ready. This is supposed to send a message, so you send a message, buttfucking $him without mercy. $He begins to groan under the harsh anal pounding.
+		<<if canDoVaginal($activeSlave)>>
+			<<if $activeSlave.vagina > 2>>
+				$His roomy cunt takes your brutal thrusting without trouble. To communicate your message, $he needs to be uncomfortable, so you deliberately force $him down farther and fuck $him at an awkward angle. Your harsh pounding begins to force groans out of $him.
+			<<elseif $activeSlave.vagina > 1>>
+				$He gasps as you force your cock inside $his cunt without any accommodation for $his comfort. This is supposed to send a message, so you send a message, fucking $him without mercy. $He begins to groan under the harsh pounding.
+			<<else>>
+				$He whines as you force your cock inside $his tight cunt. This is supposed to send a message, so you send a message, treating $him like a veteran whore who can take anything. $He begins to groan under the harsh pounding, $his poor little pussy unused to this kind of abuse.
+			<</if>>
+			<<set $activeSlave.vaginalCount += 1>>
+			<<set $vaginalTotal += 1>>
 		<<else>>
-			$He whines as you force your cock up $his tight ass. This is supposed to send a message, so you send a message, treating $him like a veteran anal whore who can take anything. $He begins to scream under the harsh pounding, $his poor little butthole unused to this kind of abuse.
-		<</if>>
-		<<set $activeSlave.analCount += 1>>
-		<<set $analTotal += 1>>
+			<<if $activeSlave.anus > 2>>
+				$His roomy anus takes your brutal thrusting without trouble. To communicate your message, $he needs to be uncomfortable, so you push a couple of fingers up there alongside your dick. $He wriggles helplessly, starting to groan as you rape $his asshole.
+			<<elseif $activeSlave.anus > 1>>
+				$He gasps as you force your cock up $his ass without waiting for $him to relax or get ready. This is supposed to send a message, so you send a message, buttfucking $him without mercy. $He begins to groan under the harsh anal pounding.
+			<<else>>
+				$He whines as you force your cock up $his tight ass. This is supposed to send a message, so you send a message, treating $him like a veteran anal whore who can take anything. $He begins to scream under the harsh pounding, $his poor little butthole unused to this kind of abuse.
+			<</if>>
+			<<set $activeSlave.analCount += 1>>
+			<<set $analTotal += 1>>
 		<</if>>
 	<<else>>
-		<<if ($activeSlave.vagina > 0) && !($activeSlave.chastityVagina)>>
+		<<if canDoVaginal($activeSlave)>>
 		<<if $activeSlave.vagina > 2>>
 			To communicate your message, $he needs to be uncomfortable, so you carefully form your fingers into a beak shape and push your fist up inside $him. $He screams as your knuckles push past $his pussylips, and then starts to groan as you fistfuck $his lewd cunt.
 		<<elseif $activeSlave.vagina > 1>>
@@ -221,7 +216,7 @@ You decide to knit up care's raveled sleave with a break in the spa. You have yo
 	You announce your presence to $activeSlave.slaveName by groping $his <<if $subSlave.butt > 7>>absurd butt<<elseif $subSlave.butt > 3>>generous buttocks<<else>>cute behind<</if>>. $He jumps, startled, and emits a short scream of surprise that trails off into a moan of sexual anticipation as you continue to knead and massage $his $activeSlave.skin bottom. $He starts thrusting again, but carefully, so gently that $he doesn't need to stop for you to insert
 	<<if $PC.dick == 1>>
 		your hard cock into $his
-		<<if ($activeSlave.vagina > 0) && !($activeSlave.chastityVagina)>>
+		<<if canDoVaginal($activeSlave)>>
 			hot cunt.
 			<<set $activeSlave.vaginalCount += 1>>
 			<<set $vaginalTotal += 1>>
@@ -233,7 +228,7 @@ You decide to knit up care's raveled sleave with a break in the spa. You have yo
 		<<if $PC.vagina == 1>>Then you grab one of $his hands and pull it down under $him. $He gets the idea, and fingers your pussy while you fuck $him.<</if>>
 	<<else>>
 		a couple of fingers into $his
-		<<if ($activeSlave.vagina > 0) && !($activeSlave.chastityVagina)>>
+		<<if canDoVaginal($activeSlave)>>
 			hot cunt.
 			<<set $activeSlave.vaginalCount += 1>>
 			<<set $vaginalTotal += 1>>
@@ -251,7 +246,7 @@ You decide to knit up care's raveled sleave with a break in the spa. You have yo
 	When you finally finish with $activeSlave.slaveName and step away, allowing $him to step back in turn, $he looks at you with @@.mediumaquamarine;flirty confidence@@ and husks, "<<Master>>, that wa<<s>> really pervertedly good. Even by the <<s>>tandard<<s>> around here." You make no verbal reply, but give $him an open-handed swat across $his $activeSlave.skin buttocks as $he turns to clean up $his patient's asshole. $He squeaks with surprise a second time, so startled that
 	<<if $PC.dick == 1>>
 		$his well-fucked
-		<<if ($activeSlave.vagina > 0) && !($activeSlave.chastityVagina)>>
+		<<if canDoVaginal($activeSlave)>>
 			cunt
 		<<else>>
 			backdoor
diff --git a/src/uncategorized/RECI.tw b/src/uncategorized/RECI.tw
index f566cddb28318550a10ac385be00e771c11ee4ed..6459661f62cc6f524d7f6351d0e8b151af48356b 100644
--- a/src/uncategorized/RECI.tw
+++ b/src/uncategorized/RECI.tw
@@ -94,7 +94,7 @@ There's no other way to describe what $he's doing: the $desc has $his back to th
 <<else>>
 	got $his hips cocked to spread $his sleek butt and
 <</if>>
-reveal $his backdoor. Your girls are trained to check themselves daily, but $he seems fascinated. As you pause to watch, $he begins to clench and relax $his <<if $activeSlave.anus > 2>>loose<<else>>cute<</if>> hole, <<if ($activeSlave.analArea - $activeSlave.anus) > 1>> lewdly flexing<<else>>alternately puckering and relaxing<</if>> the $skinDesc skin around it. $He giggles self-consciously at the sight, and then relaxes all the way, causing $his asspussy to open into a <<if $activeSlave.anus > 2>><<if $PC.dick == 1>>cock<<else>>dildo<</if>>-hungry<<else>>slight<</if>> gape. $He notices you out of the corner of $his eye and
+reveal $his backdoor. Your slaves are trained to check themselves daily, but $he seems fascinated. As you pause to watch, $he begins to clench and relax $his <<if $activeSlave.anus > 2>>loose<<else>>cute<</if>> hole, <<if ($activeSlave.analArea - $activeSlave.anus) > 1>> lewdly flexing<<else>>alternately puckering and relaxing<</if>> the $skinDesc skin around it. $He giggles self-consciously at the sight, and then relaxes all the way, causing $his asspussy to open into a <<if $activeSlave.anus > 2>><<if $PC.dick == 1>>cock<<else>>dildo<</if>>-hungry<<else>>slight<</if>> gape. $He notices you out of the corner of $his eye and
 <<if $activeSlave.butt > 6>>
 	releases $his grip on $his heavy buttocks to turn and greet you, letting them clap gently together and conceal $his asshole again.
 <<elseif $activeSlave.butt > 3>>
@@ -145,7 +145,7 @@ $His $activeSlave.skin face displays nothing but honest gratitude and devotion.
 <</for>>
 
 <<EventNameLink>> is the second slave on the inspection schedule for today. $He comes into your office naked, to find that the first inspection is going a little long. The slave before $him is obediently riding <<if ($PC.dick == 0)>>one of your larger strap-ons<<else>>your cock<</if>>. $He waits patiently, but does not bother to hide $his arousal at the lewd sight. $He obviously wants to be next;
-<<if ($activeSlave.dick > 0) && ($activeSlave.dickAccessory == "chastity")>>
+<<if ($activeSlave.chastityPenis == 1)>>
 	$his chastity cage is dribbling precum, and $he's clearly uncomfortable with simultaneous arousal and unwillingness to suffer a hard-on inside it
 <<elseif ($activeSlave.dick > 0) && canAchieveErection($activeSlave)>>
 	$his cock is painfully erect
@@ -154,7 +154,7 @@ $His $activeSlave.skin face displays nothing but honest gratitude and devotion.
 <<elseif ($activeSlave.clit > 0)>>$his big clit is visibly erect<<else>>a sheen is visible on $his pussylips<</if>>, $his nipples are <<if $activeSlave.nipples != "fuckable">>stiff<<else>>swollen tight<</if>>, and $he's starting to breathe a little hard.
 
 When you finish and send the slave you were boning on their way with a light slap on the rump, you seat yourself to inspect $activeSlave.slaveName. As you do, <<if ($PC.dick == 0)>>your rather realistically modeled phallus dangles between your legs<<else>>your half-hard but still quite imposing cock hangs between your legs<</if>>, still slick from fucking the previous inspectee. $activeSlave.slaveName's <<if canSee($activeSlave)>>$activeSlave.eyeColor<<else>>blank<</if>> eyes focus on it with painful intensity,
-<<if ($activeSlave.dick > 0) && ($activeSlave.chastityPenis)>>
+<<if ($activeSlave.chastityPenis == 1)>>
 	and the $desc's chastity cage begins to bother $him even more.
 <<elseif ($activeSlave.dick > 0) && canAchieveErection($activeSlave)>>
 	and the $desc's hard dick releases a string of precum.
@@ -192,14 +192,14 @@ $He arches $his back and bats $his eyes at you. "A lot."
 <</for>>
 
 <<EventNameLink>> is standing before your desk for an inspection. The $desc is naked, of course, and is devoted enough to find the situation arousing: $he's being inspected by $his <<= WrittenMaster()>> in the nude, which is sexual enough, and past inspections have often led to a quick fuck. The horny bitch obviously wants it;
-<<if ($activeSlave.dick > 0) && ($activeSlave.dickAccessory == "chastity" || $activeSlave.dickAccessory == "combined chastity")>>
+<<if ($activeSlave.chastityPenis == 1)>>
 	$his chastity cage is dribbling precum, and $he's clearly uncomfortable with simultaneous arousal and unwillingness to suffer a hard-on inside it.
 <<elseif canAchieveErection($activeSlave)>>
 	$his cock is painfully erect.
 <<elseif ($activeSlave.dick > 0)>>
 	$his pathetically limp dick is practically dripping precum.
 <<elseif ($activeSlave.clit > 0)>>$his clit is big enough to be visibly erect when $he's willing and ready<<else>>a sheen is visible on $his pussylips, and $he's smiling hopefully at you<</if>>. Your inspections require the slave to offer each of $his body parts to your view, and when the routine reaches $his crotch, $he obediently backs up to sit down on the couch, spread $his legs, and display $his
-<<if ($activeSlave.dick > 0) && ($activeSlave.chastityPenis)>>
+<<if ($activeSlave.chastityPenis == 1)>>
 	chastity caged dick.
 <<elseif canAchieveErection($activeSlave)>>
 	erect cock, which $he doesn't have to touch to keep upright.
@@ -227,7 +227,7 @@ And, <<Master>>." $He arches $his back prettily and then scoots $himself down th
 <</for>>
 
 <<EventNameLink>> is standing before your desk for an inspection. The $desc is naked, of course, and is devoted enough to find the situation arousing: $he's being inspected by $his <<= WrittenMaster()>> in the nude, which is sexual enough, and past inspections have often led to a quick fuck. The horny bitch obviously wants it;
-<<if ($activeSlave.dick > 0) && ($activeSlave.dickAccessory == "chastity" || $activeSlave.dickAccessory == "combined chastity")>>
+<<if ($activeSlave.chastityPenis == 1)>>
 	$his chastity cage is dribbling precum, and $he's clearly uncomfortable with simultaneous arousal and unwillingness to suffer a hard-on inside it.
 <<elseif canAchieveErection($activeSlave)>>
 	$his cock is painfully erect.
@@ -250,8 +250,8 @@ You often pepper slaves with questions during this inspection; it helps you gaug
 	But the training and the rule<<s>> pu<<sh>>ed me through it.
 <</if>>
 I try to be a good <<s>>lave girl for you, <<Master>>. Can I — can I be a good <<s>>lave girl for you? Right now? Plea<<s>>e?" $He twists $his $activeSlave.skin body suggestively,
-<<if ($activeSlave.dick > 0) && ($activeSlave.chastityPenis)>>
-	offering you $his rear hole, the only hope the chastity caged girl has of release.
+<<if ($activeSlave.chastityPenis == 1)>>
+	offering you $his rear hole, the only hope the chastity caged $girl has of release.
 <<elseif canAchieveErection($activeSlave)>>
 	hard dick wagging with the motion, offering you $his rear.
 <<elseif ($activeSlave.dick > 0)>>
@@ -291,7 +291,6 @@ $He looks pensive, and goes through two false starts before $he clears $his thro
 
 <<if $HeadGirl != 0>>
 <<if ($activeSlave.ID != $HeadGirl.ID)>>
-<<if ($HeadGirl.dick == 0) || (($HeadGirl.dick > 1) && canAchieveErection($HeadGirl) && ($HeadGirl.dickAccessory != "chastity"))>>
 <<link "Double anal with the Head Girl">>
 	<<setLocalPronouns $HeadGirl 2>>
 	<<EventNameDelink $activeSlave>>
@@ -312,15 +311,15 @@ $He looks pensive, and goes through two false starts before $he clears $his thro
 	<<set $HeadGirl.clothes = _clothesTemp2>>
 
 	<<replace "#result">>
-	You tell $him $he's got a nice asspussy, and grope $him thoroughly, cupping $his buttocks with one hand and squeezing a breast with the other. $activeSlave.slaveName looks <<if ($activeSlave.fetish == "buttslut") && ($activeSlave.fetishKnown == 1)>>desperately eager<<else>>ready and willing<</if>>, and angles $himself just right, but you administer a light slap to $his $activeSlave.skin ass and continue, telling $him that it's so nice you feel like sharing it. $He's <<if ($activeSlave.fetish == "buttslut") && ($activeSlave.fetishKnown == 1)>>so ready to fuck $he can't quite think of what to say<<else>>not quite sure how to respond<</if>>, and before $he can figure it out, $HeadGirl.slaveName hurries in, responding to your summons. Of course, $activeSlave.slaveName is no stranger to $HeadGirl.slaveName, who takes in the situation at a glance and <<if $HeadGirl.dick > 0>>instantly achieves a painfully hard erection<<else>>immediately flushes with arousal<</if>>. $HeadGirl.slaveName<<if $HeadGirl.dick == 0>> dons a strap-on and<</if>> clambers up onto the (strongly built) bathroom counter. Since saliva is plenty of lube for $activeSlave.slaveName's experienced ass, _he2 points a meaningful finger at <<if $HeadGirl.dick == 0>>the phallus<<else>>_his2 cock<</if>>, and $activeSlave.slaveName begins to suck it enthusiastically, trying to get it as wet as possible for the sake of $his butt.
+	You tell $him $he's got a nice asspussy, and grope $him thoroughly, cupping $his buttocks with one hand and squeezing a breast with the other. $activeSlave.slaveName looks <<if ($activeSlave.fetish == "buttslut") && ($activeSlave.fetishKnown == 1)>>desperately eager<<else>>ready and willing<</if>>, and angles $himself just right, but you administer a light slap to $his $activeSlave.skin ass and continue, telling $him that it's so nice you feel like sharing it. $He's <<if ($activeSlave.fetish == "buttslut") && ($activeSlave.fetishKnown == 1)>>so ready to fuck $he can't quite think of what to say<<else>>not quite sure how to respond<</if>>, and before $he can figure it out, $HeadGirl.slaveName hurries in, responding to your summons. Of course, $activeSlave.slaveName is no stranger to $HeadGirl.slaveName, who takes in the situation at a glance and <<if canAchieveErection($HeadGirl)>>instantly achieves a painfully hard erection<<else>>immediately flushes with arousal<</if>>. $HeadGirl.slaveName<<if !canPenetrate($HeadGirl)>> dons a strap-on and<</if>> clambers up onto the (strongly built) bathroom counter. Since saliva is plenty of lube for $activeSlave.slaveName's experienced ass, _he2 points a meaningful finger at <<if !canPenetrate($HeadGirl)>>the phallus<<else>>_his2 cock<</if>>, and $activeSlave.slaveName begins to suck it enthusiastically, trying to get it as wet as possible for the sake of $his butt.
 	<br><br>
-	Since $activeSlave.slaveName is being so good, you decide to help get $him ready, and push $him sideways so $he straddles the counter's edge. $He whimpers into the <<if $HeadGirl.dick == 0>>dildo<<else>>dick<</if>> in $his mouth as $he feels $his <<if $activeSlave.dick > 0>><<if ($activeSlave.hormoneBalance >= 100) || ($activeSlave.dickAccessory == "chastity")>>chastity cage<<elseif ($activeSlave.hormoneBalance >= 100) || ($activeSlave.balls == 0) || ($activeSlave.ballType == "sterile")>>soft dickclit<<else>>hard cock<</if>><<else>>mons<</if>> graze the hard counter, and then stiffens as you penetrate $his bottom. When you judge that your Head Girl is wet enough, you nod to _him2, and _he2 takes $activeSlave.slaveName by the hand, pulling $him up onto _his2 lap.
+	Since $activeSlave.slaveName is being so good, you decide to help get $him ready, and push $him sideways so $he straddles the counter's edge. $He whimpers into the <<if !canPenetrate($HeadGirl)>>dildo<<else>>dick<</if>> in $his mouth as $he feels $his <<if $activeSlave.dick > 0>><<if ($activeSlave.hormoneBalance >= 100) || ($activeSlave.chastityPenis == 1)>>chastity cage<<elseif ($activeSlave.hormoneBalance >= 100) || ($activeSlave.balls == 0) || ($activeSlave.ballType == "sterile")>>soft dickclit<<else>>hard cock<</if>><<else>>mons<</if>> graze the hard counter, and then stiffens as you penetrate $his bottom. When you judge that your Head Girl is wet enough, you nod to _him2, and _he2 takes $activeSlave.slaveName by the hand, pulling $him up onto _his2 lap.
 	<<if ($HeadGirl.boobs > 4000) && ($activeSlave.boobs > 4000)>>
 		Their tits are so huge that they can't reach each other to kiss, chest-to-chest like that. $HeadGirl.slaveName settles for blowing the other slave an exaggerated kiss, which makes $him laugh.
 	<<else>>
 		The slaves start making out, showing no signs of breaking their lip lock as they arrange themselves for penetration.
 	<</if>>
-	$HeadGirl.slaveName guides _his2 <<if $HeadGirl.dick == 0>>strap-on<<else>>cock<</if>> inside the <<if ($activeSlave.fetish == "buttslut") && ($activeSlave.fetishKnown == 1)>>enthusiastic<<else>>compliant<</if>> $activeSlave.slaveName, who begins to ride it, enjoying both the <<if $activeSlave.dick > 0>>prostate<<else>>anal<</if>> stimulation and the feeling of $his <<if $activeSlave.dick > 0>><<if ($activeSlave.hormoneBalance >= 100) || ($activeSlave.dickAccessory == "chastity")>>midsection trapped between $him and <<elseif ($activeSlave.hormoneBalance >= 100) || ($activeSlave.balls == 0) || ($activeSlave.ballType == "sterile")>>soft dick trapped between $him and <<else>>erection trapped between $him and <</if>><<else>>pussy pressed against<</if>> $HeadGirl.slaveName. $HeadGirl.slaveName smacks the humping <<if $activeSlave.physicalAge > 30>>$woman<<else>>$girl<</if>>'s butt to get $him to stop, and slides an index finger up $his ass alongside the <<if $HeadGirl.dick == 0>>phallus<<else>>cock<</if>>. $activeSlave.slaveName shudders, and then begins to whine as $HeadGirl.slaveName pulls $his sphincter wider.
+	$HeadGirl.slaveName guides _his2 <<if !canPenetrate($HeadGirl)>>strap-on<<else>>cock<</if>> inside the <<if ($activeSlave.fetish == "buttslut") && ($activeSlave.fetishKnown == 1)>>enthusiastic<<else>>compliant<</if>> $activeSlave.slaveName, who begins to ride it, enjoying both the <<if $activeSlave.dick > 0>>prostate<<else>>anal<</if>> stimulation and the feeling of $his <<if $activeSlave.dick > 0>><<if ($activeSlave.hormoneBalance >= 100) || ($activeSlave.chastityPenis == 1)>>midsection trapped between $him and <<elseif ($activeSlave.hormoneBalance >= 100) || ($activeSlave.balls == 0) || ($activeSlave.ballType == "sterile")>>soft dick trapped between $him and <<else>>erection trapped between $him and <</if>><<else>>pussy pressed against<</if>> $HeadGirl.slaveName. $HeadGirl.slaveName smacks the humping <<if $activeSlave.physicalAge > 30>>$woman<<else>>$girl<</if>>'s butt to get $him to stop, and slides an index finger up $his ass alongside the <<if !canPenetrate($HeadGirl)>>phallus<<else>>cock<</if>>. $activeSlave.slaveName shudders, and then begins to whine as $HeadGirl.slaveName pulls $his sphincter wider.
 	<br><br>
 	"Plea<<s>>e," the slave begs incoherently as you press your <<if $PC.dick == 1>>dick<<else>>strap-on<</if>> against $HeadGirl.slaveName's finger. It's not clear whether $he's begging you to DP $his anus, or begging you not to, but whichever it is, $HeadGirl.slaveName withdraws _his2 finger and you shove yourself inside. $activeSlave.slaveName jerks with discomfort and gives a gasping "Oh f-fuck-k" that <<if $activeSlave.anus > 2>>$he repeats over and over<<else>>is followed by some minor struggling<</if>> as you begin to fuck $him. From _his2 angle, $HeadGirl.slaveName can't pound $activeSlave.slaveName quite as hard as you can, but _he2 does _his2 best. When you've both had your fun, extracted yourselves, and let the exhausted, gaped bitch collapse onto the floor, $HeadGirl.slaveName gives you a naughty wink.
 	<<run Enunciate($HeadGirl)>>
@@ -336,9 +335,8 @@ $He looks pensive, and goes through two false starts before $he clears $his thro
 <</link>>
 <</if>>
 <</if>>
-<</if>>
 <<if $Concubine != 0>>
-<<if ($Concubine.dick == 0) || (($Concubine.dick > 1) && canAchieveErection($Concubine) && !($Concubine.chastityPenis))>>
+<<if ($activeSlave.ID != $Concubine.ID)>>
 <br><<link "Double anal with your Concubine">>
 	<<setLocalPronouns $Concubine 2>>
 	<<EventNameDelink $activeSlave>>
@@ -359,15 +357,15 @@ $He looks pensive, and goes through two false starts before $he clears $his thro
 	<<set $Concubine.clothes = _clothesTemp2>>
 
 	<<replace "#result">>
-	You tell $him $he's got a nice asspussy, and grope $him thoroughly, cupping $his buttocks with one hand and squeezing a breast with the other. $He looks <<if ($activeSlave.fetish == "buttslut") && ($activeSlave.fetishKnown == 1)>>desperately eager<<else>>ready and willing<</if>>, and angles $himself just right, but you administer a light slap to $his $activeSlave.skin ass and continue, telling $him that it's so nice you feel like sharing it. $He's <<if ($activeSlave.fetish == "buttslut") && ($activeSlave.fetishKnown == 1)>>so ready to fuck $he can't quite think of what to say<<else>>not quite sure how to respond<</if>>, and before $he can figure it out, $Concubine.slaveName hurries in, responding to your summons. Of course, $activeSlave.slaveName is no stranger to $Concubine.slaveName, who takes in the situation at a glance and <<if $Concubine.dick > 0>>instantly achieves a painfully hard erection<<else>>immediately flushes with arousal<</if>>. $Concubine.slaveName<<if $Concubine.dick == 0>> dons a strap-on and<</if>> clambers up onto the (strongly built) bathroom counter. Since saliva is plenty of lube for $activeSlave.slaveName's experienced ass, _he2 points a meaningful finger at <<if $Concubine.dick == 0>>the phallus<<else>>_his2 cock<</if>>, and $activeSlave.slaveName begins to suck it enthusiastically, trying to get it as wet as possible for the sake of $his butt.
+	You tell $him $he's got a nice asspussy, and grope $him thoroughly, cupping $his buttocks with one hand and squeezing a breast with the other. $He looks <<if ($activeSlave.fetish == "buttslut") && ($activeSlave.fetishKnown == 1)>>desperately eager<<else>>ready and willing<</if>>, and angles $himself just right, but you administer a light slap to $his $activeSlave.skin ass and continue, telling $him that it's so nice you feel like sharing it. $He's <<if ($activeSlave.fetish == "buttslut") && ($activeSlave.fetishKnown == 1)>>so ready to fuck $he can't quite think of what to say<<else>>not quite sure how to respond<</if>>, and before $he can figure it out, $Concubine.slaveName hurries in, responding to your summons. Of course, $activeSlave.slaveName is no stranger to $Concubine.slaveName, who takes in the situation at a glance and <<if canAchieveErection($Concubine)>>instantly achieves a painfully hard erection<<else>>immediately flushes with arousal<</if>>. $Concubine.slaveName<<if !canPenetrate($Concubine)>> dons a strap-on and<</if>> clambers up onto the (strongly built) bathroom counter. Since saliva is plenty of lube for $activeSlave.slaveName's experienced ass, _he2 points a meaningful finger at <<if !canPenetrate($Concubine)>>the phallus<<else>>_his2 cock<</if>>, and $activeSlave.slaveName begins to suck it enthusiastically, trying to get it as wet as possible for the sake of $his butt.
 	<br><br>
-	Since $activeSlave.slaveName is being so good, you decide to help get $him ready, and push $him sideways so $he straddles the counter's edge. $He whimpers into the <<if $Concubine.dick == 0>>dildo<<else>>dick<</if>> in $his mouth as $he feels $his <<if $activeSlave.dick > 0>><<if ($activeSlave.hormoneBalance >= 100) || ($activeSlave.chastityPenis)>>chastity cage<<elseif ($activeSlave.hormoneBalance >= 100) || ($activeSlave.balls == 0) || ($activeSlave.ballType == "sterile")>>soft dickclit<<else>>hard cock<</if>><<else>>mons<</if>> graze the hard counter, and then stiffens as you penetrate $his bottom. When you judge that your Concubine is wet enough, you nod to _him2, and _he2 takes $activeSlave.slaveName by the hand, pulling $him up onto _his2 lap.
+	Since $activeSlave.slaveName is being so good, you decide to help get $him ready, and push $him sideways so $he straddles the counter's edge. $He whimpers into the <<if !canPenetrate($Concubine)>>dildo<<else>>dick<</if>> in $his mouth as $he feels $his <<if $activeSlave.dick > 0>><<if ($activeSlave.hormoneBalance >= 100) || ($activeSlave.chastityPenis == 1)>>chastity cage<<elseif ($activeSlave.hormoneBalance >= 100) || ($activeSlave.balls == 0) || ($activeSlave.ballType == "sterile")>>soft dickclit<<else>>hard cock<</if>><<else>>mons<</if>> graze the hard counter, and then stiffens as you penetrate $his bottom. When you judge that your Concubine is wet enough, you nod to _him2, and _he2 takes $activeSlave.slaveName by the hand, pulling $him up onto _his2 lap.
 	<<if ($Concubine.boobs > 4000) && ($activeSlave.boobs > 4000)>>
 		Their tits are so huge that they can't reach each other to kiss, chest-to-chest like that. $Concubine.slaveName settles for blowing the other slave an exaggerated kiss, which makes $him laugh.
 	<<else>>
 		The slaves start making out, showing no signs of breaking their lip lock as they arrange themselves for penetration.
 	<</if>>
-	$Concubine.slaveName guides _his2 <<if $Concubine.dick == 0>>strap-on<<else>>cock<</if>> inside the <<if ($activeSlave.fetish == "buttslut") && ($activeSlave.fetishKnown == 1)>>enthusiastic<<else>>compliant<</if>> $activeSlave.slaveName, who begins to ride it, enjoying both the <<if $activeSlave.prostate > 0>>prostate<<else>>anal<</if>> stimulation and the feeling of $his <<if $activeSlave.dick > 0>><<if ($activeSlave.hormoneBalance >= 100) || ($activeSlave.chastityPenis)>>midsection trapped between $him and <<elseif ($activeSlave.hormoneBalance >= 100) || ($activeSlave.balls == 0) || ($activeSlave.ballType == "sterile")>>soft dick trapped between $him and <<else>>erection trapped between $him and <</if>><<else>>pussy pressed against<</if>> $Concubine.slaveName. $Concubine.slaveName smacks the humping <<if $activeSlave.physicalAge > 30>>$woman<<else>>$girl<</if>>'s butt to get $him to stop, and slides an index finger up $his ass alongside the <<if $Concubine.dick == 0>>phallus<<else>>cock<</if>>. $activeSlave.slaveName shudders, and then begins to whine as $Concubine.slaveName pulls $his sphincter wider.
+	$Concubine.slaveName guides _his2 <<if !canPenetrate($Concubine)>>strap-on<<else>>cock<</if>> inside the <<if ($activeSlave.fetish == "buttslut") && ($activeSlave.fetishKnown == 1)>>enthusiastic<<else>>compliant<</if>> $activeSlave.slaveName, who begins to ride it, enjoying both the <<if $activeSlave.prostate > 0>>prostate<<else>>anal<</if>> stimulation and the feeling of $his <<if $activeSlave.dick > 0>><<if ($activeSlave.hormoneBalance >= 100) || ($activeSlave.chastityPenis == 1)>>midsection trapped between $him and <<elseif ($activeSlave.hormoneBalance >= 100) || ($activeSlave.balls == 0) || ($activeSlave.ballType == "sterile")>>soft dick trapped between $him and <<else>>erection trapped between $him and <</if>><<else>>pussy pressed against<</if>> $Concubine.slaveName. $Concubine.slaveName smacks the humping <<if $activeSlave.physicalAge > 30>>$woman<<else>>$girl<</if>>'s butt to get $him to stop, and slides an index finger up $his ass alongside the <<if !canPenetrate($Concubine)>>phallus<<else>>cock<</if>>. $activeSlave.slaveName shudders, and then begins to whine as $Concubine.slaveName pulls $his sphincter wider.
 	<br><br>
 	"Plea<<s>>e," the slave begs incoherently as you press your <<if $PC.dick == 1>>dick<<else>>strap-on<</if>> against $Concubine.slaveName's finger. It's not clear whether $he's begging you to DP $his anus, or begging you not to, but whichever it is, $Concubine.slaveName withdraws _his2 finger and you shove yourself inside. $activeSlave.slaveName jerks with discomfort and gives a gasping "Oh f-fuck-k" that <<if $activeSlave.anus > 2>>$he repeats over and over<<else>>is followed by some minor struggling<</if>> as you begin to fuck $him. From _his2 angle, $Concubine.slaveName can't pound $activeSlave.slaveName quite as hard as you can, but _he2 does _his2 best. When you've both had your fun, extracted yourselves, and let the exhausted, gaped bitch collapse onto the floor, $Concubine.slaveName gives you a naughty wink.
 	<<run Enunciate($Concubine)>>
@@ -483,7 +481,7 @@ $He looks pensive, and goes through two false starts before $he clears $his thro
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 	When $he <<if canSee($activeSlave)>>sees<<elseif canHear($activeSlave)>>hears<<else>>senses<</if>> you stand up from behind your desk<<if ($PC.dick == 0)>> and pull on a strap-on<</if>>, $he smiles invitingly at you and relaxes. But as you approach, $he <<if canSee($activeSlave)>>sees a dangerous glint in your eyes<<elseif canHear($activeSlave)>>hears a menacing cadence to your footstep<<else>>realizes the reason for your delay<</if>>. One corner of $his mouth flaws upward with anticipation, and $he plays along. $He immediately curls up into a ball on the couch, managing to end up with $his <<if ($activeSlave.weight > 30)>>fat ass squashed enticingly against the seat back<<elseif ($activeSlave.butt > 5)>>absurd ass squashed enticingly against the seat back<<elseif ($activeSlave.butt > 2)>>healthy ass pushed against the seat back<<else>>trim ass against the seat back<</if>>. $He looks up at you with feigned terror and begs, "Plea<<s>>e, <<Master>>, I'm ju<<s>>t an inno<<c>>ent little $girl. Plea<<s>>e don't rape my poor little butt!" You grab an ankle and haul $his <<if ($activeSlave.weight > 10)>>plush<<elseif ($activeSlave.muscles > 5)>>toned<<else>>slender<</if>> $activeSlave.skin body toward you, dragging $him across the couch, and then half-fall atop $him, pushing <<if ($PC.dick == 0)>>the strap-on<<else>>your hard cock<</if>> up the wriggling $girl's butt. $He keeps begging and whining, but $he's managed to bring a hand under $himself and is
-	<<if ($activeSlave.dick > 0) && ($activeSlave.dickAccessory == "chastity")>>
+	<<if ($activeSlave.chastityPenis == 1)>>
 		frantically rubbing $his taint.
 	<<elseif ($activeSlave.dick > 0) && canAchieveErection($activeSlave)>>
 		rubbing $his submissive little $girl cock.
@@ -535,7 +533,7 @@ $He looks pensive, and goes through two false starts before $he clears $his thro
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 	When $he <<if canSee($activeSlave)>>sees<<elseif canHear($activeSlave)>>hears<<else>>senses<</if>> you stand up from behind your desk<<if ($PC.dick == 0)>>and pull on a strap-on<</if>>, $he turns fully away from you, cocking $his hips at just the right angle to offer you $his anus, without any preamble or foreplay. But you come up behind $him and encircle $his <<if ($activeSlave.belly >= 1500)>><<if $activeSlave.preg > $activeSlave.pregData.normalBirth/8>>pregnant <<else>>rounded <</if>>belly<<elseif ($activeSlave.weight > 10)>>plush belly<<elseif ($activeSlave.muscles > 5)>>toned stomach<<else>>trim waist<</if>> with your capable hands, your lips nibbling along the line of $his <<if ($activeSlave.muscles > 30)>>strong<<elseif ($activeSlave.muscles > 5)>>toned<<else>>soft<</if>> shoulders and neck. $He shudders as the embrace brings your <<if ($PC.dick == 0)>>strap-on<<else>>dick<</if>> <<if ($activeSlave.height >= 185)>>up between $his buttocks, since $he's nearly as tall as you<<elseif ($activeSlave.height >= 170)>>pressing into $his asscrack, since $he's shorter than you<<else>>nestling down into $his asscrack, since $he's so much shorter than you<</if>>. You whisper that a good slave girl doesn't have to touch $himself to come when $his <<= WrittenMaster()>> fucks $his butt, and ask whether $he's a good slave girl. $He shivers and promises that $he is, rubbing $his asshole against your <<if ($PC.dick == 0)>>phallus<<else>>cockhead<</if>>. $He gives a feminine sigh as it slides into $him, and moves softly within your embrace, doing $his best to pleasure you with $his girly ass. $He was already very close, and your loving touch so aroused $him that $he gasps and stiffens after only a few thrusts,
-	<<if ($activeSlave.dick > 0) && ($activeSlave.chastityPenis)>>
+	<<if ($activeSlave.dick > 0) && ($activeSlave.chastityPenis == 1)>>
 		shuddering
 	<<elseif ($activeSlave.dick > 0) && canAchieveErection($activeSlave)>>
 		$his dick twitching
@@ -552,7 +550,7 @@ $He looks pensive, and goes through two false starts before $he clears $his thro
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 	You tell $him that $he doesn't have to prove anything to you right now; $he's shown that $he's a good slave girl already. $He looks shocked for a moment before @@.mediumaquamarine;blushing and turning $his gaze down at $his feet.@@ "T-thank<<s>>, <<Master>>," $he stammers. Since $he asked so nicely, though, you continue, you will fuck $his butt. $He giggles and hurries over to you in response to a crooked finger, curling up in your lap for a nice makeout session. When the next slave scheduled for an examination comes through the door, it's to the sight of $activeSlave.slaveName holding $his body sideways in the air over the couch: $he has one knee down on the cushions, and is doing the splits with the other leg running up <<if ($PC.boobs == 0)>>your muscular chest<<else>>between your breasts<</if>>. Your <<if ($PC.dick == 0)>>strap-on<<else>>dick<</if>> is up $his ass, and you're giving it to $him hard. <<if ($activeSlave.boobs > 1000)>>$His huge breasts are bouncing back and forth with the motion, almost hitting $himself in the face.<<elseif ($activeSlave.weight > 10)>>$His generous curves lend the motion weight, and each thrust reams $his ass hard.<<elseif ($activeSlave.hLength >= 60)>>$His long hair flies around $his face in a maelstrom of sexual energy.<<else>>The leather couch creaks with an obscurely sexual rhythm.<</if>> $He's being fucked so hard that $his
-	<<if ($activeSlave.dick > 0) && ($activeSlave.chastityPenis)>>
+	<<if ($activeSlave.dick > 0) && ($activeSlave.chastityPenis == 1)>>
 		cock is being forced to half-hardness inside its chastity cage, making $him writhe with mixed anal pleasure and dick pain.
 	<<elseif ($activeSlave.dick > 0) && canAchieveErection($activeSlave)>>
 		<<if ($activeSlave.dick > 3)>>massive erection is slapping wetly against $his stomach, spattering ejaculate from a previous orgasm everywhere,<<elseif ($activeSlave.dick > 1)>>hard-on is helicoptering around wildly, spattering ejaculate from a previous orgasm everywhere<<else>>tiny erection is scattering ejaculate from a previous orgasm everywhere.<</if>>
diff --git a/src/uncategorized/REFI.tw b/src/uncategorized/REFI.tw
index 820317c312fc6e25461632335698374edc826abd..35b9df56a1e5b9346e94e834543c4cf3ab2d6025 100644
--- a/src/uncategorized/REFI.tw
+++ b/src/uncategorized/REFI.tw
@@ -83,10 +83,10 @@
 	<<case "humiliation">>
 		<<set $activeSlave = getSlave($humiliationInterestTargetID)>>
 		<<set _refi = $slaveIndices[$humiliationID]>>
-		<<if ($slaves[_refi].vagina > -1) && !($slaves[_refi].chastityVagina)>>
+		<<if canDoVaginal($slaves[_refi])>>
 			<<set $slaves[_refi].vaginalCount += 1>>
 			<<set $vaginalTotal += 1>>
-		<<else>>
+		<<elseif canDoAnal($slaves[_refi])>>
 			<<set $slaves[_refi].analCount += 1>>
 			<<set $analTotal += 1>>
 		<</if>>
@@ -181,7 +181,7 @@
 After you finish and _he2 leaves, wincing in agony<<if $subSlave.belly >= 1500>> and short of breath<</if>> but with a faraway look of release, you notice $activeSlave.slaveName at the door to your office. You call $him in.
 <br><br>
 <<EventNameLink>> hesitates before explaining $himself, and the $desc is obviously aroused:
-<<if ($activeSlave.dick > 0) && ["chastity", "combined chastity"].includes($activeSlave.dickAccessory)>>
+<<if ($activeSlave.chastityPenis == 1)>>
 	$he's got a string of precum leaking out of $his chastity cage.
 <<elseif ($activeSlave.dick > 0) && ($activeSlave.hormoneBalance >= 100)>>
 	though $his hormone-filled body can't get $his dick hard any more, $he's got a string of precum coming off $his member.
@@ -229,7 +229,7 @@ It seems $he passed by while you were beating $subSlave.slaveName and found the
 
 $subSlave.slaveName gets inspected more regularly than your other slaves, since _he2's quite pregnant. _His2 pregnancy is progressing acceptably, but having _his2 belly inspected gets _him2
 <<if $subSlave.pregSource == -1>>
-	extremely eager to feel more of _his2 <<= WrittenMaster($subSlave)>>'s seed in _his2 fertile <<if $subSlave.mpreg == 1>>rear<<else>>cunt<</if>>. $subSlave.slaveName has been a good girl,
+	extremely eager to feel more of _his2 <<= WrittenMaster($subSlave)>>'s seed in _his2 fertile <<if $subSlave.mpreg == 1>>rear<<else>>cunt<</if>>. $subSlave.slaveName has been a good _girl2,
 	<<if ($subSlave.mpreg == 1 && canDoAnal($subSlave) && $subSlave.anus > 0) || ($subSlave.mpreg == 0 && canDoVaginal($subSlave) && $subSlave.vagina > 0)>>
 		<<if $PC.belly >= 5000>>
 			so you take _him2
@@ -334,7 +334,7 @@ $subSlave.slaveName gets inspected more regularly than your other slaves, since
 After you both finish and _he2 leaves, smiling contentedly at you, you notice $activeSlave.slaveName at the door to your office. You call $him in.
 
 <<EventNameLink>> hesitates before explaining $himself, and the $desc is obviously aroused:
-<<if ($activeSlave.dick > 0) && ["chastity", "combined chastity"].includes($activeSlave.dickAccessory)>>
+<<if ($activeSlave.chastityPenis == 1)>>
 	$he's got a string of precum leaking out of $his chastity cage.
 <<elseif ($activeSlave.dick > 0) && ($activeSlave.hormoneBalance >= 100)>>
 	though $his hormone-filled body can't get $his dick hard any more, $he's got a string of precum coming off $his member.
@@ -395,7 +395,7 @@ $subSlave.slaveName is on lunch duty today. That means that as you eat your work
 Though you never touch anything but _his2 nipples, _he2 climaxes twice. After you finish and _he2 leaves, you notice $activeSlave.slaveName at the door to your office. You call $him in.
 <br><br>
 <<EventNameLink>> hesitates before explaining $himself, and the $desc is obviously aroused:
-<<if ($activeSlave.dick > 0) && ["chastity", "combined chastity"].includes($activeSlave.dickAccessory)>>
+<<if ($activeSlave.chastityPenis == 1)>>
 	$he's got a string of precum leaking out of $his chastity cage.
 <<elseif ($activeSlave.dick > 0) && ($activeSlave.hormoneBalance >= 100)>>
 	though $his hormone-filled body can't get $his dick hard any more, $he's got a string of precum coming off $his member.
@@ -450,7 +450,7 @@ $subSlave.slaveName is lying on the edge of your desk with _his2<<if $subSlave.b
 a troubled look on $his face.
 <br><br>
 <<EventNameLink>> hesitates before explaining $himself, and the $desc is obviously aroused:
-<<if ($activeSlave.dick > 0) && ["chastity", "combined chastity"].includes($activeSlave.dickAccessory)>>
+<<if ($activeSlave.chastityPenis == 1)>>
 	$he's got a string of precum leaking out of $his chastity cage.
 <<elseif ($activeSlave.dick > 0) && ($activeSlave.hormoneBalance >= 100)>>
 	though $his hormone-filled body can't get $his dick hard any more, $he's got a string of precum coming off $his member.
@@ -497,7 +497,7 @@ It seems $he passed by while you were dominating $subSlave.slaveName. <<if $acti
 In the middle of the afternoon, you take a break from work to fuck $subSlave.slaveName in your office. $subSlave.slaveName is such a complete buttslut that _he2's enjoying _himself2 to an almost indecent degree: moaning, begging, or just smiling idiotically with _his2 mouth open and _his2 tongue lolling. After you finish and _he2 leaves, you notice $activeSlave.slaveName at the door to your office. You call $his in.
 <br><br>
 <<EventNameLink>> hesitates before explaining $himself, and the $desc is obviously aroused:
-<<if ($activeSlave.dick > 0) && ["chastity", "combined chastity"].includes($activeSlave.dickAccessory)>>
+<<if ($activeSlave.chastityPenis == 1)>>
 	$he's got a string of precum leaking out of $his chastity cage.
 <<elseif ($activeSlave.dick > 0) && ($activeSlave.hormoneBalance >= 100)>>
 	though $his hormone-filled body can't get $his dick hard any more, $he's got a string of precum coming off $his member.
@@ -546,7 +546,7 @@ It seems $he passed by while you were buttfucking $subSlave.slaveName and found
 You wake up to the sensation of $subSlave.slaveName eagerly sucking your dick. _He2's industriously pumping _his2 mouth up and down on your member. In truth, $subSlave.slaveName doesn't give the perfect blowjob: _he2 loves cum so much that _he2 mostly enjoys oral sex in an anticipatory way, and usually works to make the recipient cum as soon as possible so as to get _his2 favorite treat into _his2 mouth quicker. Still, _his2 enthusiasm is nice and _he2 does have permission to wake you at your usual time in this way. As you get up after finishing, you notice <<EventNameLink>> at the door to your bedroom. You call $him in.
 <br><br>
 <<EventNameLink>> hesitates before explaining $himself, and the $desc is obviously aroused:
-<<if ($activeSlave.dick > 0) && ["chastity", "combined chastity"].includes($activeSlave.dickAccessory)>>
+<<if ($activeSlave.chastityPenis == 1)>>
 	$he's got a string of precum leaking out of $his chastity cage.
 <<elseif ($activeSlave.dick > 0) && ($activeSlave.hormoneBalance >= 100)>>
 	though $his hormone-filled body can't get $his dick hard any more, $he's got a string of precum coming off $his member.
@@ -593,7 +593,7 @@ It seems $he passed by while $subSlave.slaveName was blowing you. $He swallows p
 You have $subSlave.slaveName pinned up against a railing on a balcony that overlooks a public atrium. Passersby below cannot see you, but they can certainly see $subSlave.slaveName's upper body as _he2 takes your dick. _He2's blushing furiously with the sex and with _his2 trademark mixed arousal and embarrassment at having an audience. _He2 makes a show of trying to disguise the fact that _he2's getting railed, but it's obvious. When you finish, you pull _him2 off the railing so _he2 can clean up. <<EventNameLink>> <<if canSee($activeSlave)>>saw<<elseif canHear($activeSlave)>>heard<<else>>felt the heat from<</if>> the denouement of this exhibitionist fun, and seems intrigued.
 <br><br>
 <<EventNameLink>> hesitates before explaining $himself, and the $desc is obviously aroused:
-<<if ($activeSlave.dick > 0) && ["chastity", "combined chastity"].includes($activeSlave.dickAccessory)>>
+<<if ($activeSlave.chastityPenis == 1)>>
 	$he's got a string of precum leaking out of $his chastity cage.
 <<elseif ($activeSlave.dick > 0) && ($activeSlave.hormoneBalance >= 100)>>
 	though $his hormone-filled body can't get $his dick hard any more, $he's got a string of precum coming off $his member.
@@ -690,7 +690,7 @@ There was a glint of envy <<if canSee($activeSlave)>>in $his eyes when $he saw<<
 		over the desk,
 	<</if>>
 	rub your hand over $his ass, which is quivering with anticipation and fear, and ask if $he wants you to hit $him. $He's almost beside $himself, shuddering at the titillation, but before $he can answer, you use your other hand to strike $his
-	<<if ($activeSlave.chastityPenis)>>
+	<<if ($activeSlave.chastityPenis == 1)>>
 		caged dick.
 	<<elseif $activeSlave.dick > 0>>
 		cockhead.
@@ -734,7 +734,7 @@ There was a glint of envy <<if canSee($activeSlave)>>in $his eyes when $he saw<<
 		<<set $activeSlave.oralCount++, $oralTotal++>>
 	<</if>>
 	which is then overlaid by rough spanking, nipple pinching, and
-	<<if ($activeSlave.chastityPenis)>>
+	<<if ($activeSlave.chastityPenis == 1)>>
 		cock torment.
 	<<elseif $activeSlave.dick > 0>>
 		dick abuse.
diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw
index 6d22ac053db5b37cd3866f33f04aad0b6cd7b725..d4882383c0544846033a7eeb1413671e1db04efa 100644
--- a/src/uncategorized/RESS.tw
+++ b/src/uncategorized/RESS.tw
@@ -237,7 +237,7 @@ $He shifts $his
 	trim
 <</if>>
 hips innocently and moves up to $his lower legs. But then, as $he slowly massages the lotion into $his <<if $activeSlave.muscles > 30>>muscled<<elseif $activeSlave.weight > 10>>plush<<else>>cute<</if>> calves, $he arches $his back and cocks $his hips a little. This causes
-<<if ($activeSlave.chastityPenis)>>
+<<if ($activeSlave.chastityPenis == 1)>>
 	the bottom of $his chastity cage to become visible, a reminder that
 	<<if canDoAnal($activeSlave) && canDoVaginal($activeSlave)>>
 		only $his holes are to be used.
@@ -310,7 +310,7 @@ With $his back arched and $his thighs together $his <<if $activeSlave.butt > 5>>
 	<<case "schoolgirl">>
 		_hisA schoolgirl avatar's bubbly voice
 	<<case "loli" "preggololi">>
-		_hisA loli avatar's childish voice
+		_hisA _loliA avatar's childish voice
 	<<case "angel">>
 		_hisA angel avatar's heavenly voice
 	<<case "cherub">>
@@ -546,7 +546,7 @@ humping the sheets
 	as best $he can with $his _belly belly in the way.
 <<elseif ($activeSlave.chastityVagina)>>
 	uselessly through $his chastity belt.
-<<elseif ($activeSlave.chastityPenis)>>
+<<elseif ($activeSlave.chastityPenis == 1)>>
 	uselessly with $his caged dick.
 <<elseif $activeSlave.dick > 15 && !canAchieveErection($activeSlave)>>
 	with $his soft python of a cock.
@@ -1077,7 +1077,7 @@ It makes sense; $he's probably never masturbated without a hard dick. $He's clea
 <<case "resting amp">>
 
 You're working at your desk late at night when the arcology's systems discreetly highlight significant movement in the slave quarters. <<EventNameLink>>'s limbless torso is in bed, asleep but struggling in discomfort. Without arms or legs, it seems the sheet has become wrapped around $him. $He's dreaming of something sexual;
-<<if ["chastity", "combined chastity"].includes($activeSlave.dickAccessory)>>
+<<if ($activeSlave.chastityPenis == 1)>>
 	$his cock is caged, but precum is <<if $activeSlave.prostate > 1>>flowing<<elseif $activeSlave.prostate > 0 >>leaking<<else>>barely dripping<</if>> out of the chastity.
 <<elseif ($activeSlave.dick > 0) && !canAchieveErection($activeSlave)>>
 	$he can't maintain an erection but $his limp dick <<if $activeSlave.prostate > 1>>is soaking $his sheets with precum<<elseif $activeSlave.prostate > 0 >>sports a drop of precum<<else>>sports a meager droplet of precum<</if>>.
@@ -1116,7 +1116,7 @@ As you watch, $his sleeping struggles against the sheet <<if $activeSlave.boobs
 	little sex toy
 <</if>>
 $he is. You've been busy and haven't used $him for a while, and since $he's accepted $his place as a helpless living fucktoy, $he's gotten quite aroused with nothing to do but lie there and watch $his <<= WrittenMaster()>> work. It's not like $he can touch $himself any more.
-<<if ($activeSlave.chastityPenis)>>
+<<if ($activeSlave.chastityPenis == 1)>>
 	$His caged cock reduces $him to a set of holes in a limbless torso.
 <<elseif ($activeSlave.dick > 0) && !canAchieveErection($activeSlave)>>
 	$His penis hangs limp and useless from $his limbless torso.
@@ -1539,7 +1539,7 @@ $He did not expect to find you here, and is so preoccupied that $he doesn't noti
 <<case "ignorant horny">>
 
 <<EventNameLink>> is first on the inspection schedule, and as you watch $him enter your office, you note several good signs about $his progress towards becoming a good sex slave. $He enters obediently, without pretending to be thrilled to be here, but also without hesitation. Best of all,
-<<if ["chastity", "combined chastity"].includes($activeSlave.dickAccessory) && canAchieveErection($activeSlave)>>
+<<if ($activeSlave.chastityPenis) && canAchieveErection($activeSlave)>>
 	$he's squirming with discomfort over the lack of room in $his chastity.
 <<elseif ($activeSlave.dick > 4) && canAchieveErection($activeSlave)>>
 	$he's sporting a massive half-erection which slaps lewdly against $his thighs as $he walks.
@@ -1647,7 +1647,7 @@ $He stops and <<if canSee($activeSlave)>>stares<<else>>faces you<</if>>, struggl
 	<</if>>
 <</if>>
 The reason for $his distress is obvious:
-<<if ($activeSlave.chastityPenis)>>
+<<if ($activeSlave.chastityPenis == 1)>>
 	$his chastity cage is mostly solid, but it has a small hole below where the tip of $his dick is held, and this is dripping precum. $He's sexually helpless, and sexually overcharged to the point where $he's dripping more precum than a usual dickgirl might ejaculate normally.
 <<elseif ($activeSlave.dick > 0) && ($activeSlave.hormoneBalance >= 100) && !canAchieveErection($activeSlave)>>
 	though the hormones are keeping it soft, $his member is dripping a stream of precum; droplets of the stuff spatter $his legs. One of $his spasms brings $his dickhead brushing against $his thigh, and the stimulation almost brings $him to orgasm.
@@ -1708,7 +1708,7 @@ $He will spend the day restrained in public, with your other slaves periodically
 <<EventNameLink>> is a real public servant. This morning, $he rose early, did $his chores, and looked after $himself. $He heads out past your desk toward the arcology's lower floors to offer $himself freely to everyone $he meets.
 <br><br>
 As $he goes, you notice that
-<<if ($activeSlave.chastityPenis)>>
+<<if ($activeSlave.chastityPenis == 1)>>
 	precum is starting to dribble out of $his chastity cage.
 <<elseif ($activeSlave.dick > 0) && canAchieveErection($activeSlave)>>
 	$his cock is so hard it's standing out, perfectly straight.
@@ -1926,7 +1926,7 @@ You're working at your desk when <<EventNameLink>> walks by your office. $He che
 
 <<EventNameLink>> is such a good
 $desc
-that $he enjoys being inspected, even if the inspection doesn't immediately transition into sex. At the moment, $he's luxuriating under your gaze, eagerly offering the sight of every inch of $his nude body with you. $He is confident in $his appearance, and more than happy to share it.
+that $he enjoys being inspected, even if the inspection doesn't immediately transition into sex. At the moment, $he's luxuriating under your gaze, eagerly offering the sight of every <<if $showInches == 2>>inch<<else>>centimeter<</if>> of $his nude body with you. $He is confident in $his appearance, and more than happy to share it.
 <br><br>
 <<if canSee($activeSlave)>>Seeing<<else>>Feeling<</if>> your intent gaze, $he
 <<if SlaveStatsChecker.checkForLisp($activeSlave)>>lisps<<else>>asks<</if>>, "<<Master>>, may I plea<<s>>e a<<s>>k you for <<s>>omething?"
@@ -2287,7 +2287,7 @@ Lately, you've noticed that $he reacts to these <<if canSee($activeSlave)>>sight
 
 <<case "devoted waist">>
 
-<<EventNameLink>> is a real work of surgical art. As $he showers, carefully soaping and then moisturizing every inch of $his $activeSlave.skin skin, you notice the undeniable eroticism created by the unnatural narrowness of $his middle<<if $activeSlave.belly >= 5000>>, especially given how much $his _belly <<if $activeSlave.bellyPreg >= 3000>>pregnancy<<else>>belly<</if>> extends past $his sides<</if>>. Though $his hands are by no means large, when $he washes $his sides, $his hands span almost the entire circumference of $his waist. <<if $activeSlave.dick > 0>>Though $he's not sexually aroused, $his cock is visible as $he bathes $himself; $his member and $his narrow waist work together to create a real mélange of gender traits.<<elseif ($activeSlave.boobs > 800) && ($activeSlave.butt > 4)>>$His massive bust and hips work together to create a spectacular hourglass effect; $he's a fantasy $woman made flesh.<<else>>The narrowness of $his waist accentuates $his feminine features.<</if>>
+<<EventNameLink>> is a real work of surgical art. As $he showers, carefully soaping and then moisturizing every <<if $showInches == 2>>inch<<else>>centimeter<</if>> of $his $activeSlave.skin skin, you notice the undeniable eroticism created by the unnatural narrowness of $his middle<<if $activeSlave.belly >= 5000>>, especially given how much $his _belly <<if $activeSlave.bellyPreg >= 3000>>pregnancy<<else>>belly<</if>> extends past $his sides<</if>>. Though $his hands are by no means large, when $he washes $his sides, $his hands span almost the entire circumference of $his waist. <<if $activeSlave.dick > 0>>Though $he's not sexually aroused, $his cock is visible as $he bathes $himself; $his member and $his narrow waist work together to create a real mélange of gender traits.<<elseif ($activeSlave.boobs > 800) && ($activeSlave.butt > 4)>>$His massive bust and hips work together to create a spectacular hourglass effect; $he's a fantasy $woman made flesh.<<else>>The narrowness of $his waist accentuates $his feminine features.<</if>>
 
 <<case "muscles">>
 
@@ -2398,9 +2398,9 @@ As you begin your day one morning, you hear the quiet
 <<case "goddess" "hypergoddess">>
 	and kindly voice of your goddess
 <<case "loli">>
-	and childish voice of your loli
+	and childish voice of your _loliA
 <<case "preggololi">>
-	and childish, out of breath voice of your pregnant loli
+	and childish, out of breath voice of your pregnant _loliA
 <<case "angel">>
 	but unmistakably caring voice of your angel
 <<case "cherub">>
@@ -2534,7 +2534,7 @@ You decide to stop by to see $his method at work. By the time you arrive, $he's
 A video feed appears.
 <<if ($activeSlave.chastityVagina)>>
 	In $his chastity belt, all $he can manage is furious nipple-<<if $activeSlave.nipples != "fuckable">>rubbing<<else>>fisting<</if>> and some furtive fingering of $his asshole.
-<<elseif ($activeSlave.chastityPenis)>>
+<<elseif ($activeSlave.chastityPenis == 1)>>
 	In $his chastity cage, all $he can manage is furious nipple-<<if $activeSlave.nipples != "fuckable">>rubbing<<else>>fisting<</if>> and some furtive fingering of $his asshole.
 <<elseif ($activeSlave.dick > 0) && ($activeSlave.hormoneBalance >= 100)>>
 	Since $he's impotent from hormone treatment, all $he can manage is rubbing $his soft dick and some furtive fingering of $his asshole.
@@ -2890,12 +2890,14 @@ Your eyes move down $his body, noting
 	the slight bloat to $his belly caused by the liters of $activeSlave.inflationType held inside $him.
 <<elseif $activeSlave.bellyImplant >= 1500>>
 	$his slightly rounded belly, not truly noticeable, but enough to advertise $him as a breeding $desc, even though it's fake.
-<<elseif $activeSlave.hips == 1>>
+<<elseif $activeSlave.hips == 3>>
 	$his extremely wide hips and the cartoonish sway to them as $he walks.
 <<elseif $activeSlave.muscles > 30>>
 	$his rippling abs, which work visibly as $he walks, flexing and straining powerfully underneath $his $activeSlave.skin skin.
 <<elseif $activeSlave.waist < -95>>
 	$his cartoonish wasp waist and the way it emphasizes $his status as a sex toy.
+<<elseif $activeSlave.hips > 0>>
+	$his wide hips and the sensual sway to them as $he walks.
 <<elseif $activeSlave.waist < -10>>
 	$his nice narrow waist and the way it emphasizes the feminine swell of $his hips.
 <<elseif $activeSlave.weight > 30>>
@@ -3333,10 +3335,10 @@ It's true, cum <<if $activeSlave.dietCum == 1>>supplemented <<elseif $activeSlav
 
 <<case "transition anxiety">>
 
-<<EventNameLink>> stumbles into your office naked for $his weekly inspection, so apprehensive that $he can hardly walk. $He's been like this ever since $he became one of your sex slaves, <<if $week-$activeSlave.weekAcquired == 0>>just this week<<elseif $week-$activeSlave.weekAcquired == 1>>just last week<<else>><<print $week-$activeSlave.weekAcquired>> weeks ago<</if>>. It's not surprising; slaves like $him usually require some time and training to accept that they're slave girls. $He lacks the natural attraction to men that might have made the idea more comfortable for $him, and the resulting sexual anxiety combined with understandable fear of sexual use makes $him extremely unhappy to be naked in front of someone $he knows can fuck $him at will.
+<<EventNameLink>> stumbles into your office naked for $his weekly inspection, so apprehensive that $he can hardly walk. $He's been like this ever since $he became one of your sex slaves, <<if $week-$activeSlave.weekAcquired == 0>>just this week<<elseif $week-$activeSlave.weekAcquired == 1>>just last week<<else>><<print $week-$activeSlave.weekAcquired>> weeks ago<</if>>. It's not surprising; slaves like $him usually require some time and training to accept that they're slavegirls. $He lacks the natural attraction to men that might have made the idea more comfortable for $him, and the resulting sexual anxiety combined with understandable fear of sexual use makes $him extremely unhappy to be naked in front of someone $he knows can fuck $him at will.
 <br><br>
 $He has $his hands balled into fists at $his sides, and clearly wants nothing more than to use them to cover $his
-<<if ($activeSlave.chastityPenis)>>
+<<if ($activeSlave.chastityPenis == 1)>>
 	pitiful caged dick.
 <<elseif $activeSlave.balls == 0>>
 	pathetic, ballsless bitchclit.
@@ -3374,7 +3376,7 @@ Just as you're about to give <<EventNameLink>> $his weekly inspection, a minor b
 The consequences of the special qualities of $his womanhood soon become apparent.
 <br><br>
 Your slaves are all in the very best of vaginal health, so the scent of $his female arousal is not strong. But $his cunt produces such copious natural lubricant that with nothing to do but <<if canWalk($activeSlave)>>stand<<else>>rest<</if>> there, $his <<if $activeSlave.births > 0>>motherly<<elseif $activeSlave.weight > 30>>thick<<elseif $activeSlave.muscles > 30>>strong<<else>>feminine<</if>> inner thighs are soon slick with a sheen of healthy pussyjuice. You notice a droplet of the stuff running down $his warm $activeSlave.skin skin.
-<<if canAchieveErection($activeSlave) && !($activeSlave.chastityPenis)>>
+<<if canAchieveErection($activeSlave) && $activeSlave.chastityPenis != 1>>
 	$His <<if $activeSlave.dick > 3>>stiff prick<<else>>hard little dick<</if>> is sticking up from atop $his pussy, leaving it nice and visible.
 <<elseif $activeSlave.dick > 0>>
 	$His pussy is <<if $activeSlave.dick > 3>>entirely<<else>>partially<</if>> concealed by $his limp dick, which is getting a good coating, since it's resting against the source.
@@ -3541,7 +3543,7 @@ There are sturdy leather seats placed strategically throughout your penthouse. T
 One of them slows as $he goes by, however. Looking up, you see that it's <<EventNameLink>>. <<if canTalk($activeSlave)>>"Hi <<Master>>," $he <<say>>s flirtatiously<<if $activeSlave.belly >= 1500>> rubbing a hand across $his _belly <<if $activeSlave.bellyPreg > 0>> pregnancy<<else>>belly<</if>><</if>>. "That look<<s>> like a really comfortable <<s>>eat. Can I <<s>>it down and re<<s>>t <<if $activeSlave.belly >= 10000>>my tired leg<<s>> <</if>>for a little while?"<<else>>$He greets you properly, but adds a flirtiness to $his gestures, and asks if $he can sit down and rest <<if $activeSlave.belly >= 10000>> $his <<if $activeSlave.bellyPreg > 0>>gravid<<else>>_belly<</if>> bulk <</if>>on the comfortable seat for a little while.<</if>> $He is not pointing at the soft leather cushion next to you: $he's pointing at your crotch.
 <br><br>
 You're nude, a consequence of <<if $Concubine != 0 && $Concubine.ID != $activeSlave.ID>>recent activities involving $Concubine.slaveName<<else>>recent unrelated activities<</if>>. <<if $PC.dick == 1>>Your formidable dick is three quarters hard,<<else>>Nude, that is, all except for the strap-on you were just using and haven't taken off yet,<</if>> and $activeSlave.slaveName is pointing right at it. $He knows exactly what $he's asking for and gives $his <<if $activeSlave.hips > 0>>broad<<elseif $activeSlave.hips > -1>>trim<<else>>narrow<</if>> hips a little wiggle to make it even more abundantly clear.
-<<if ($activeSlave.chastityPenis)>>
+<<if ($activeSlave.chastityPenis == 1)>>
 	$His poor dick is visibly straining against the restrictive chastity belt $he's wearing.
 <<elseif canAchieveErection($activeSlave)>>
 	$His <<if $activeSlave.dick > 4>>big dick<<elseif $activeSlave.dick > 2>>dick<<else>>tiny dick<</if>> is jutting out stiffly and there's a bead of precum <<if $activeSlave.foreskin == 0>>forming at its smooth tip<<else>>escaping from $his foreskin<</if>>.
@@ -3648,7 +3650,7 @@ $He can't manage to
 	get $his shorts up over $his buttocks, not without risking the seams. $He's got it
 <<case "a biyelgee costume">>
 	get $his skirt up over $his buttocks, not without risking the seams. $He's got it
-<<case "a red army outfit">>
+<<case "a red army uniform">>
 	get $his perfectly pressed uniform skirt up over $his buttocks, not without risking the seams. $He's got it
 <<case "a leotard">>
 	pull $his leotard up and over $his buttocks, not without stretching it out and ruining it. $He's got it
@@ -3713,7 +3715,7 @@ $He begins $his cleaning dutifully, fluttering about your office in a flurry of
 	<<elseif $activeSlave.energy > 95>>
 		Despite the mundanity of $his current duties, it's clear $he's holding back $his immense sex drive for the duration of $his cleaning.
 		<<if $activeSlave.dick > 0>>
-			<<if ($activeSlave.chastityPenis)>>
+			<<if ($activeSlave.chastityPenis == 1)>>
 				$His chastity cage is dribbling precum, visibly dripping onto the floor as $he goes.
 			<<elseif canAchieveErection($activeSlave)>>
 				$His cock is painfully erect, visible under $his flimsy skirt.
@@ -3743,7 +3745,7 @@ $He begins $his cleaning dutifully, fluttering about your office in a flurry of
 	<<elseif $activeSlave.energy > 95>>
 		Despite the mundanity of $his current duties, it's clear $he's holding back $his immense sex drive for the duration of $his cleaning.
 		<<if $activeSlave.dick > 0>>
-			<<if ($activeSlave.chastityPenis)>>
+			<<if ($activeSlave.chastityPenis == 1)>>
 				$His chastity cage is dribbling precum, visibly dripping onto $his apron.
 			<<elseif canAchieveErection($activeSlave)>>
 				$His cock is painfully erect, poking through $his apron.
@@ -5105,7 +5107,7 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He
 			<br><<link "Remove $his male genitalia">>
 				<<replace "#result2">>
 				You ask $him if $he enjoyed the last time $he used $his dick and if it was worth crossing you, because it will not happen again. Restrained as $he is, the most $he can do is cry and beg. Once $he comes to after the surgery, $he faces $his new body; @@.mediumorchid;$he's now a surgical null@@ and $he's @@.gold;the only one to blame@@ for $his @@.red;suffering.@@ Every other rebellious slave is @@.gold;horrified by the example.@@
-				<<set $activeSlave.trust -= 30, $activeSlave.devotion -= 25, $activeSlave.health -= 20, $activeSlave.dick = 0, $activeSlave.foreskin = 0, $activeSlave.balls = 0, $activeSlave.scrotum = 0, $activeSlave.dickAccessory = "none", $activeSlave.chastityPenis = 0, $activeSlave.chastityPenis = 0>>
+				<<set $activeSlave.trust -= 30, $activeSlave.devotion -= 25, $activeSlave.health -= 20, $activeSlave.dick = 0, $activeSlave.foreskin = 0, $activeSlave.balls = 0, $activeSlave.scrotum = 0, $activeSlave.dickAccessory = "none", $activeSlave.chastityPenis = 0>>
 				<<set $slaves.forEach(function(s) { if (s.devotion < -50) { s.trust -= 15; } })>>
 				<<run cashX(forceNeg($surgeryCost*2), "slaveSurgery", $activeSlave)>>
 				<</replace>>
@@ -5496,8 +5498,8 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He
 <<link "Apply lotion liberally">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
-	You reach down to take $his hands, and pull $him up to stand in front of you before crushing $him in a frankly sexual embrace. Taking charge of the lotion, you apply it to your hands and start with $his face. $He submits to your close attention, even closing $his eyes so you can get $his eyelids, only a slight quickening of breath betraying $his intensity of feeling at having you do this. You take your time, which turns into exquisite sexual torture when you finally reach $his <<if $activeSlave.boobs > 2000>>incredible breasts, which stand out so far in front of $him that you have to reach around their mass rather inelegantly<<elseif $activeSlave.boobs > 800>>heavy breasts<<else>>lovely chest<</if>>. When your warm, moist hands <<if $activeSlave.nipples != "fuckable">>rub<<else>>slip into<</if>> $his<<if $activeSlave.lactation > 0>> milky<</if>> nipples, $he cannot suppress a moan. You take pity, take $his hands, guide them to the lotion bottle, and coat them generously. Then, you place $his hands in yours and move them to between $his legs, manipulating them like a music teacher guiding a pupil's hands on an instrument, guiding $him in gentle masturbation. You go back to applying lotion to the rest of $his body, enjoying the slave's intense pleasure. When you've covered every inch of $him, you hug $him close, returning your hands to $his nipples <<if $PC.dick == 1>>and pushing your rock-hard prick in between $his well-lubricated thighs<<if $PC.vagina == 1>>, <</if>><</if>><<if $PC.vagina == 1>>after guiding one of $hers around behind $him to see to your pussy<</if>>. $He quickens $his pace<<if canSee($activeSlave)>> and raises $his gaze to the mirror, seeing $his magnificently nude, $activeSlave.skin skin flushed with arousal<<else>>, feeling $his magnificently nude, $activeSlave.skin skin flush with arousal<</if>> as $his
-	<<if ($activeSlave.chastityPenis)>>
+	You reach down to take $his hands, and pull $him up to stand in front of you before crushing $him in a frankly sexual embrace. Taking charge of the lotion, you apply it to your hands and start with $his face. $He submits to your close attention, even closing $his eyes so you can get $his eyelids, only a slight quickening of breath betraying $his intensity of feeling at having you do this. You take your time, which turns into exquisite sexual torture when you finally reach $his <<if $activeSlave.boobs > 2000>>incredible breasts, which stand out so far in front of $him that you have to reach around their mass rather inelegantly<<elseif $activeSlave.boobs > 800>>heavy breasts<<else>>lovely chest<</if>>. When your warm, moist hands <<if $activeSlave.nipples != "fuckable">>rub<<else>>slip into<</if>> $his<<if $activeSlave.lactation > 0>> milky<</if>> nipples, $he cannot suppress a moan. You take pity, take $his hands, guide them to the lotion bottle, and coat them generously. Then, you place $his hands in yours and move them to between $his legs, manipulating them like a music teacher guiding a pupil's hands on an instrument, guiding $him in gentle masturbation. You go back to applying lotion to the rest of $his body, enjoying the slave's intense pleasure. When you've covered every <<if $showInches == 2>>inch<<else>>centimeter<</if>> of $him, you hug $him close, returning your hands to $his nipples <<if $PC.dick == 1>>and pushing your rock-hard prick in between $his well-lubricated thighs<<if $PC.vagina == 1>>, <</if>><</if>><<if $PC.vagina == 1>>after guiding one of $hers around behind $him to see to your pussy<</if>>. $He quickens $his pace<<if canSee($activeSlave)>> and raises $his gaze to the mirror, seeing $his magnificently nude, $activeSlave.skin skin flushed with arousal<<else>>, feeling $his magnificently nude, $activeSlave.skin skin flush with arousal<</if>> as $his
+	<<if ($activeSlave.chastityPenis == 1)>>
 		<<if canDoAnal($activeSlave)>>
 			eager fingering of $his anus turn frantic.
 		<<else>>
@@ -5533,7 +5535,7 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He
 			whining and begging nonverbally.
 		<</if>>
 		You kick the lotion towards $his hand; $he gets the message and starts to frantically
-		<<if ($activeSlave.chastityPenis)>>
+		<<if ($activeSlave.chastityPenis == 1)>>
 			rub $his taint.
 		<<elseif $activeSlave.dick > 0 && !canAchieveErection($activeSlave)>>
 			rub $himself.
@@ -5557,7 +5559,7 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He
 			crying.
 		<</if>>
 		You kick the lotion towards $his hand; $he gets the message and starts to frantically
-		<<if ($activeSlave.chastityPenis)>>
+		<<if ($activeSlave.chastityPenis == 1)>>
 			rub $his taint.
 		<<elseif $activeSlave.dick > 0 && !canAchieveErection($activeSlave)>>
 			rub $himself.
@@ -5581,7 +5583,7 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He
 			begging you to be gentle.
 		<</if>>
 		You kick the lotion towards $his hand; $he gets the message and starts to frantically
-		<<if ($activeSlave.chastityPenis)>>
+		<<if ($activeSlave.chastityPenis == 1)>>
 			rub $his taint.
 		<<elseif $activeSlave.dick > 0 && !canAchieveErection($activeSlave)>>
 			rub $himself.
@@ -5606,7 +5608,7 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He
 	You slide up behind $him and run a possessive hand down<<if $activeSlave.belly >= 1500>> $his swollen midriff down<</if>> to finger $his pussylips. $He compliantly cocks $his hips backward for you, and is surprised to find a couple of warm, lubricated fingers rather than <<if $PC.dick == 1>>your cock<<else>>a strap-on<</if>> sliding into $his ready cunt.
 	<<if $activeSlave.vagina > 2>>
 		$He moans when you add a third, and grunts when you insert a fourth. When $he feels you form your hand into a point, thumb included, $he understands what's coming and relaxes completely. The wide part of your hand, at the knuckles, squeezes into $him without much trouble, and $he lets out a huge sigh. When you start to fuck $his huge cunt with your hand, though, $he collapses <<if $activeSlave.belly >= 300000>>onto $his _belly belly<<else>>to $his knees<</if>>, whining and begging nonverbally. You kick the lotion towards $his hand; $he gets the message and starts to frantically
-		<<if ($activeSlave.chastityPenis)>>
+		<<if ($activeSlave.chastityPenis == 1)>>
 			rub $his taint.
 		<<elseif $activeSlave.dick > 0 && !canAchieveErection($activeSlave)>>
 			rub $himself.
@@ -5621,7 +5623,7 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He
 		<<set $activeSlave.devotion += 5>>
 	<<elseif $activeSlave.vagina == 2>>
 		$He grunts when you add a third, and begins to beg when you insert a fourth. When $he feels you form your hand into a point, thumb included, $he understands what's coming and hurriedly gets down <<if $activeSlave.belly >= 300000>>onto $his _belly belly<<else>>on $his knees<</if>> to present a more comfortable angle. The wide part of your hand, at the knuckles, squeezes into $him after some effort on your part and squealing on $his part. You kick the lotion towards $his hand; $he gets the message and starts to frantically
-		<<if ($activeSlave.chastityPenis)>>
+		<<if ($activeSlave.chastityPenis == 1)>>
 			rub $his taint
 		<<elseif $activeSlave.dick > 0 && !canAchieveErection($activeSlave)>>
 			rub $himself
@@ -5636,7 +5638,7 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He
 		<<set $activeSlave.devotion += 5>>
 	<<else>>
 		$He squeals when you add a third, and begins to shamelessly beg for mercy when you insert a fourth. When $he feels you form your hand into a point, thumb included, $he understands what's coming and collapses <<if $activeSlave.belly >= 300000>>onto $his _belly belly<<else>>to $his knees<</if>>, begging you to be gentle. You kick the lotion towards $his hand; $he gets the message and starts to frantically
-		<<if ($activeSlave.chastityPenis)>>
+		<<if ($activeSlave.chastityPenis == 1)>>
 			rub $his taint,
 		<<elseif $activeSlave.dick > 0 && !canAchieveErection($activeSlave)>>
 			rub $himself,
@@ -5701,7 +5703,7 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He
 	$He hurries over and gets down on the floor with you, conforming to your manual guidance that $he should sit with $his back to you. You place your hands on either side of $his neck, run them capably down $his spine, and then back up to explore $his shoulders. $He gasps as $he realizes that you intend to give $him a massage, @@.mediumaquamarine;impressed@@ and a little perturbed that you would do this for $him. Indeed, it's unusual for a slaveowner to do something like this, but it's easily justifiable as hands-on maintenance of your property. You tell $him so as your fingers begin to probe $his muscles in more detail, eliciting a shiver<<if canTalk($activeSlave)>>.<<else>> and a tiny "Ye<<s>>, <<Master>>."<</if>> $He begins to breathe rather hard, and you notice
 	<<if $activeSlave.belly >= 120000>>
 		$him starting to shift $his hips uncomfortably. $His _belly belly blocks any view of $his crotch in the reflective wall opposite $him, but you can smell the precum beginning to flow under the crotch hiding orb.
-	<<elseif ($activeSlave.chastityPenis)>>
+	<<elseif ($activeSlave.chastityPenis == 1)>>
 		$him starting to shift $his hips uncomfortably, though of course you see in the reflective wall opposite $him that $his cock remains as caged as ever.
 	<<elseif ($activeSlave.dick > 0) && !canAchieveErection($activeSlave)>>
 		$him starting to shift $his hips uncomfortably, though of course you see in the reflective wall opposite $him that $his cock remains as limp as ever.
@@ -5729,7 +5731,7 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He
 			rubs $his perineum
 		<<elseif ($activeSlave.vagina > -1)>>
 			schlicks $himself
-		<<elseif ($activeSlave.chastityPenis)>>
+		<<elseif ($activeSlave.chastityPenis == 1)>>
 			rubs $his perineum and anus
 		<<elseif ($activeSlave.dick > 0) && !canAchieveErection($activeSlave)>>
 			rubs $his soft bitchclit
@@ -6381,7 +6383,7 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He
 		<<set _didAnal = 1>>
 	<<elseif ($activeSlave.fetish == "buttslut")>>
 		but $he eagerly complies as you pull $him up to kneel and take an assfuck. You shove $his arms up over $his head to stop $his masturbation, confident that the anal whore can climax from nothing but your <<if $PC.dick == 1>>cock<<else>>strap-on<</if>> pumping in and out of $his butt. You're right, and $his sphincter tightens with orgasm even sooner than you expected it to. You roll $him over and go again,
-		<<if ($activeSlave.chastityVagina) || ($activeSlave.chastityPenis)>>
+		<<if ($activeSlave.chastityVagina) || ($activeSlave.chastityPenis == 1)>>
 			the evidence of $his first orgasm leaking out from behind $his chastity belt.
 		<<elseif ($activeSlave.dick > 0) && !canAchieveErection($activeSlave)>>
 			$his soft cock still releasing little spurts of ejaculate onto $his <<if $activeSlave.belly >= 1500>> _belly<<if $activeSlave.bellyPreg >= 1500>> pregnant<</if>><</if>> belly.
@@ -6562,7 +6564,7 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He
 <br><<link "Punish $him for $his forgetfulness">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
-	You're not close to the penthouse kitchen area, so it takes you some time to make your way there. By the time you<<if $PC.dick == 0>> don a strap-on and<</if>> get there, the poor <<if $activeSlave.pregKnown == 1>>pregnant <</if>>girl is pounding weakly against the refrigerator door to try to get someone's attention. $He looks relieved when you open the door, but $his relief turns to ashes when you shut the door behind you. $He shivers with cold and fear as you sternly point out the release, high up on the door, and then demand $his hands. You bind them together and loop them over the release before hoisting $his legs off the ground so that $his back is against the cold metal door and all $his weight is hanging off the release by $his arms. $He doesn't struggle until you tell $him $he can leave — if $he can get the release open like this. $He tries, but $he can't get enough leverage; $his spastic efforts get weaker as you pull $his <<if ($activeSlave.butt > 5)>>massive ass<<elseif ($activeSlave.butt > 2)>>big butt<<else>>nice little butt<</if>> away from the door and line <<if $PC.dick == 0>>the strap-on<<else>>your cock<</if>> up with $his <<if ($activeSlave.anus > 2)>>loose asspussy<<elseif ($activeSlave.anus > 1)>>asshole<<else>>tight little asshole<</if>>. Teeth chattering, legs shaking with cold, $he takes a buttfuck in the cold cooler, hanging from what $he should have used to let $himself out. When you finish, you hit it yourself and drop $his legs, letting $him unhook $himself and flee to the warmth outside. $He @@.gold;begs your pardon@@ abjectly as $he rubs $his <<if $activeSlave.belly >= 5000>> _belly $activeSlave.skin belly <<else>>$activeSlave.skin shoulders <</if>>to warm $himself up<<if $PC.dick == 0>><<else>>, ignoring the cum <<if ($activeSlave.anus > 2)>>leaking out of $his fucked-out anus<<elseif ($activeSlave.anus > 1)>>leaking out of $his now-gaped backdoor<<else>>filling $his still-tight anus<</if>><</if>>.
+	You're not close to the penthouse kitchen area, so it takes you some time to make your way there. By the time you<<if $PC.dick == 0>> don a strap-on and<</if>> get there, the poor <<if $activeSlave.pregKnown == 1>>pregnant <</if>>$girl is pounding weakly against the refrigerator door to try to get someone's attention. $He looks relieved when you open the door, but $his relief turns to ashes when you shut the door behind you. $He shivers with cold and fear as you sternly point out the release, high up on the door, and then demand $his hands. You bind them together and loop them over the release before hoisting $his legs off the ground so that $his back is against the cold metal door and all $his weight is hanging off the release by $his arms. $He doesn't struggle until you tell $him $he can leave — if $he can get the release open like this. $He tries, but $he can't get enough leverage; $his spastic efforts get weaker as you pull $his <<if ($activeSlave.butt > 5)>>massive ass<<elseif ($activeSlave.butt > 2)>>big butt<<else>>nice little butt<</if>> away from the door and line <<if $PC.dick == 0>>the strap-on<<else>>your cock<</if>> up with $his <<if ($activeSlave.anus > 2)>>loose asspussy<<elseif ($activeSlave.anus > 1)>>asshole<<else>>tight little asshole<</if>>. Teeth chattering, legs shaking with cold, $he takes a buttfuck in the cold cooler, hanging from what $he should have used to let $himself out. When you finish, you hit it yourself and drop $his legs, letting $him unhook $himself and flee to the warmth outside. $He @@.gold;begs your pardon@@ abjectly as $he rubs $his <<if $activeSlave.belly >= 5000>> _belly $activeSlave.skin belly <<else>>$activeSlave.skin shoulders <</if>>to warm $himself up<<if $PC.dick == 0>><<else>>, ignoring the cum <<if ($activeSlave.anus > 2)>>leaking out of $his fucked-out anus<<elseif ($activeSlave.anus > 1)>>leaking out of $his now-gaped backdoor<<else>>filling $his still-tight anus<</if>><</if>>.
 	<<set $activeSlave.trust -= 5>>
 	<<= AnalVCheck()>>
 	<</replace>>
@@ -7445,13 +7447,13 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 		<<if canDoAnal($activeSlave)>>
 			<<set $activeSlave.analCount += 5, $analTotal += 5, $activeSlave.publicCount += 5>>
 			<<if $activeSlave.vagina == 0 && $activeSlave.anus == 0>>
-				After the patrons have their way with $him, @@.lime;both $his pussy and asshole have been broken in.@@ $He @@.mediumorchid;hates@@ losing $his virginities in such an indignified manner and @@.gold;fears@@ what will be taken from $him next.
+				After the patrons have their way with $him, @@.lime;both $his pussy and asshole have been broken in.@@ $He @@.mediumorchid;hates@@ losing $his virginities in such an undignified manner and @@.gold;fears@@ what will be taken from $him next.
 				<<set $activeSlave.trust -= 5, $activeSlave.devotion -= 5, $activeSlave.vagina++, $activeSlave.anus++>>
 			<<elseif $activeSlave.vagina == 0>>
-				After the patrons have their way with $him, @@.lime;$he's certainly no longer a virgin.@@ $He @@.mediumorchid;hates@@ losing $his virginity in such an indignified manner and @@.gold;fears@@ what will be taken from $him next.
+				After the patrons have their way with $him, @@.lime;$he's certainly no longer a virgin.@@ $He @@.mediumorchid;hates@@ losing $his virginity in such an undignified manner and @@.gold;fears@@ what will be taken from $him next.
 				<<set $activeSlave.trust -= 5, $activeSlave.devotion -= 5, $activeSlave.vagina++>>
 			<<elseif $activeSlave.anus == 0>>
-				After the patrons have their way with $him, @@.lime;$he's certainly no longer an anal virgin.@@ $He @@.mediumorchid;hates@@ losing $his anal virginity in such an indignified manner and @@.gold;fears@@ what will be taken from $him next.
+				After the patrons have their way with $him, @@.lime;$he's certainly no longer an anal virgin.@@ $He @@.mediumorchid;hates@@ losing $his anal virginity in such an undignified manner and @@.gold;fears@@ what will be taken from $him next.
 				<<set $activeSlave.trust -= 5, $activeSlave.devotion -= 5, $activeSlave.anus++>>
 			<</if>>
 			<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
@@ -7459,7 +7461,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 			<</if>>
 		<<else>>
 			<<if $activeSlave.vagina == 0>>
-				After the patrons have their way with $him, @@.lime;$he's certainly no longer a virgin.@@ $He @@.mediumorchid;hates@@ losing $his virginity in such an indignified manner and @@.gold;fears@@ what will be taken from $him next.
+				After the patrons have their way with $him, @@.lime;$he's certainly no longer a virgin.@@ $He @@.mediumorchid;hates@@ losing $his virginity in such an undignified manner and @@.gold;fears@@ what will be taken from $him next.
 				<<set $activeSlave.trust -= 5, $activeSlave.devotion -= 5, $activeSlave.vagina++>>
 			<</if>>
 			<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
@@ -7469,7 +7471,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<<elseif canDoAnal($activeSlave)>>
 		<<set $activeSlave.analCount += 10, $analTotal += 10, $activeSlave.publicCount += 10>>
 		<<if $activeSlave.anus == 0>>
-			After the patrons have their way with $him, @@.lime;$he's certainly no longer an anal virgin.@@ $He @@.mediumorchid;hates@@ losing $his anal virginity in such an indignified manner and @@.gold;fears@@ what will be taken from $him next.
+			After the patrons have their way with $him, @@.lime;$he's certainly no longer an anal virgin.@@ $He @@.mediumorchid;hates@@ losing $his anal virginity in such an undignified manner and @@.gold;fears@@ what will be taken from $him next.
 			<<set $activeSlave.trust -= 5, $activeSlave.devotion -= 5, $activeSlave.anus++>>
 			<<if canGetPregnant($activeSlave) && $activeSlave.eggType == "human">>
 				<<= knockMeUp($activeSlave, 50, 1, -2, 1)>>
@@ -8099,7 +8101,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 	When $HeadGirl.slaveName comes into your office in response to your summons, _he2 finds $activeSlave.slaveName sitting in your lap with your <<if $PC.dick == 0>>strap-on<<else>>dick<</if>> up $his gaping butt<<if $PC.vagina == 1>><<if $PC.dick == 1>>, your bare pussy very visible at the base of your working cock<</if>><</if>>. $HeadGirl.slaveName's expression softens when _he2 realizes _he2's here for pleasure, not business. $activeSlave.slaveName gasps a little when $he <<if canHear($activeSlave)>>hears you tell $HeadGirl.slaveName to join you up $his asshole,<<else>>feels you pull apart $his asscheeks to make some room for $HeadGirl.slaveName,<</if>> but $he doesn't protest.
-	<<if ($activeSlave.chastityPenis)>>
+	<<if ($activeSlave.chastityPenis == 1)>>
 		Since your poor Head Girl can't use _his2 caged cock, _he2 takes a dildo and shoves it up $activeSlave.slaveName's already-filled butt without further ado.
 	<<elseif canAchieveErection() && $HeadGirl.dick > 7>>
 		Even though your Head Girl is rock-hard and ready to fuck, _his2 cock is far too large to fit into even the most stretched slave's holes. Sighing, _he2 takes a dildo and shoves it up $activeSlave.slaveName's already-filled butt instead.
@@ -9262,7 +9264,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<</if>>
 	and have gentle vaginal sex in the missionary position <<if $PC.vagina == 1>><<if $PC.dick == 1>>, your own pussy moving back and forth gently at the base of your dick as you fuck $him<</if>><</if>>. $He gasps at the first penetration, but you take it slowly and lavish attention on $his lips, breasts, and nipples. Soon $he's shamelessly enjoying $himself. $His first vaginal sex is crowned with an abdominal-clenching orgasm. $He @@.hotpink;adores $his kind <<= WrittenMaster()>>.@@
 	<<set $activeSlave.devotion += 10, $activeSlave.vaginalCount++, $activeSlave.vagina = 1, $vaginalTotal++>>
-	<<if ($activeSlave.chastityVagina)>><<set $activeSlave.vaginalAccessory = "none">><</if>>
+	<<if ($activeSlave.chastityVagina == 1>><<set $activeSlave.chastityVagina = 0>><</if>>
 	<<if canImpreg($activeSlave, $PC)>>
 		<<= knockMeUp($activeSlave, 25, 0, -1)>>
 	<</if>>
@@ -9380,7 +9382,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 	You take $him by the shoulders, look into $his eyes, and tell $him you'll fix things so $he doesn't mind so much. $He looks hopeful, even when you tell $him to take $his pill. $He does, and you hand $him another. And another. $He's crying with dread by the fourth pill, knowing that this is $his punishment for complaining. $His pupils dilate, $he begins to breathe hard, and $his $activeSlave.skin skin flushes badly. $He tries to beg you to fuck $him but can't seem to find the words. $He begins to masturbate compulsively, so hard that $he collapses to the kitchen floor with $his first spastic orgasm.
-	<<if ($activeSlave.chastityPenis)>>
+	<<if ($activeSlave.chastityPenis == 1)>>
 		$His cock is painfully compressed by $his chastity cage, but it does nothing to stop $his frantic efforts to come.
 	<<elseif canAchieveErection($activeSlave)>>
 		<<if $activeSlave.dick > 9>>
@@ -9935,7 +9937,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 	You get into bed and crook a finger, silently ordering $him to join you. $He<<if $activeSlave.clothes != "no clothing">> hurries out of $his clothes and<</if>> bounces over,
-	<<if ($activeSlave.chastityPenis)>>
+	<<if ($activeSlave.chastityPenis == 1)>>
 		$his posture communicating the arousal that $his caged cock cannot.
 	<<elseif ($activeSlave.dick > 0) && ($activeSlave.hormoneBalance >= 100)>>
 		$his impotent dick already streaming watery precum.
@@ -10019,7 +10021,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 		trim
 	<</if>>
 	thighs, $he tips over the edge and
-	<<if ($activeSlave.chastityPenis)>>
+	<<if ($activeSlave.chastityPenis == 1)>>
 		shivers with orgasm, ejaculate dribbling out of $his chastity cage.
 	<<elseif ($activeSlave.dick > 0) && ($activeSlave.hormoneBalance >= 100)>>
 		cums weakly, $his soft dick twitching.
@@ -10244,7 +10246,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 		$He smiles @@.mediumaquamarine;trustingly@@ up at you in the afterglow,
 		<<if $activeSlave.balls > 0>>
 			$his ejaculate
-			<<if ($activeSlave.chastityPenis)>>
+			<<if ($activeSlave.chastityPenis == 1)>>
 				seeping from $his chastity cage,
 			<<else>>
 				glistening on $his<<if $activeSlave.belly > 1500>> _belly<<if $activeSlave.bellyPreg >= 1500>> gravid<</if>><</if>> belly,
@@ -10305,7 +10307,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 		$He shudders with climax, smiling @@.mediumaquamarine;trustingly@@ up at you in the afterglow,
 		<<if $activeSlave.balls > 0>>
 			$his ejaculate
-			<<if ($activeSlave.chastityPenis)>>
+			<<if ($activeSlave.chastityPenis == 1)>>
 				seeping from $his chastity cage,
 			<<else>>
 				glistening on $his<<if $activeSlave.belly > 1500>> _belly<<if $activeSlave.bellyPreg >= 1500>> gravid<</if>><</if>> belly,
@@ -10351,7 +10353,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 		<<else>>
 			<<if $activeSlave.vagina == -1>>
 				reaches around to finger $his butt, since that's $his only hole.
-			<<elseif $activeSlave.vaginalAccessory == "chastity">>
+			<<elseif $activeSlave.chastityVagina == 1>>
 				reaches around to finger $his butt, since $his pussy's in chastity.
 			<<else>>
 				dives for $his pussy with both hands.
@@ -10888,7 +10890,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 		<<set $activeSlave.oralCount += 3, $oralTotal += 3>>
 	<<case "humiliation">>
 		run an unimportant message to a citizen across $arcologies[0].name. Naked. $He blushes with mixed embarrassment and anticipation. $He's so pent up that before taking ten steps out of your penthouse entryway and towards $his objective, the open stares $his naked, horny body is getting push $him over the edge.
-		<<if ($activeSlave.chastityPenis)>>
+		<<if ($activeSlave.chastityPenis == 1)>>
 			As $he <<if $activeSlave.belly >= 10000>>waddles<<else>>walks<</if>> along, $his chastity cage continues to stream precum. It spatters $his legs, making $his desperation completely obvious to anyone who looks at $his<<if $activeSlave.belly >= 150000>> from behind<</if>>.
 		<<elseif canAchieveErection($activeSlave)>>
 			$His rock hard cock,
@@ -11267,7 +11269,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 		Perversely, this milk cow has no pussy, so you spit on $his ass and sodomize $his<<if $PC.dick == 0>> with a strap-on<</if>> instead as $he bucks and grinds against the chair.
 		<<= AnalVCheck()>>
 	<</if>>
-	When $he comes, the milkers detect $his orgasm to your fucking and shunt the milk into different reservoirs. Though you've never been able to taste much difference, there's a belief out there that 'milk-cum,' the squirts of milk a slave milk girl produces when climaxing with $his <<= WrittenMaster()>>, have special aphrodisiac powers. @@.yellowgreen;It can be sold at a special premium.@@ Naturally, @@.hotpink;$his devotion to you has also increased.@@
+	When $he comes, the milkers detect $his orgasm to your fucking and shunt the milk into different reservoirs. Though you've never been able to taste much difference, there's a belief out there that 'milk-cum', the squirts of milk a slave milk $girl produces when climaxing with $his <<= WrittenMaster()>>, have special aphrodisiac powers. @@.yellowgreen;It can be sold at a special premium.@@ Naturally, @@.hotpink;$his devotion to you has also increased.@@
 	<</replace>>
 	<<run cashX(100, "event", $activeSlave)>>
 	<<set $activeSlave.devotion += 4>>
@@ -11648,7 +11650,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 		massages $his butt a little.
 	<</if>>
 	$activeSlave.slaveName snakes a $activeSlave.skin hand down between $his legs to
-	<<if ($activeSlave.chastityPenis)>>
+	<<if ($activeSlave.chastityPenis == 1)>>
 		tease $his chastity bound dick
 	<<elseif canAchieveErection($activeSlave)>>
 		jack off
@@ -12513,7 +12515,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 				pussy,
 			<<elseif $activeSlave.scrotum > 0 && $activeSlave.balls > 1>>
 				testicles,
-			<<elseif ($activeSlave.chastityPenis)>>
+			<<elseif ($activeSlave.chastityPenis == 1)>>
 				caged dick,
 			<<elseif ($activeSlave.chastityVagina)>>
 				chastity belt,
@@ -12729,7 +12731,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 			fat member
 		<<elseif $activeSlave.dick > 0 && !canAchieveErection($activeSlave) && !($activeSlave.chastityPenis)>>
 			soft member
-		<<elseif ($activeSlave.chastityPenis)>>
+		<<elseif ($activeSlave.chastityPenis == 1)>>
 			nipples
 		<<elseif ($activeSlave.chastityVagina)>>
 			nipples
@@ -12791,7 +12793,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 			fat cock.
 		<<elseif $activeSlave.dick > 0 && !canAchieveErection($activeSlave) && !($activeSlave.chastityPenis)>>
 			limp member.
-		<<elseif ($activeSlave.chastityPenis)>>
+		<<elseif ($activeSlave.chastityPenis == 1)>>
 			caged dick.
 		<<elseif ($activeSlave.chastityVagina)>>
 			chastity belt.
@@ -12807,7 +12809,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 			dick struggling to engorge
 		<<elseif $activeSlave.dick > 0 && !canAchieveErection($activeSlave) && !($activeSlave.chastityPenis)>>
 			girldick starting to ooze precum
-		<<elseif ($activeSlave.chastityPenis)>>
+		<<elseif ($activeSlave.chastityPenis == 1)>>
 			chastity cage growing ever tighter
 		<<else>>
 			tiny front hole starting to ooze precum
@@ -12897,7 +12899,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 					$his own erect cock.
 				<<elseif $activeSlave.dick > 6 && !canAchieveErection($activeSlave) && !($activeSlave.chastityPenis)>>
 					$his own dangling cock.
-				<<elseif ($activeSlave.chastityPenis)>>
+				<<elseif ($activeSlave.chastityPenis == 1)>>
 					$his chastity.
 				<<else>>
 					$him. $He can't see where it enters $his bowels, but $he's very aware of it.
@@ -12969,7 +12971,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 				the huge cock behind you start to leak onto your back. Pleased, you lean back and start to play with $his dick, using your other hand to jerk yourself off.
 			<<elseif $activeSlave.dick > 0 && !canAchieveErection($activeSlave) && !($activeSlave.chastityPenis)>>
 				the pretty girldick behind you start to leak. Pleased, you lean back and start to play with $his soft bitchclit, using your other hand to jerk yourself off.
-			<<elseif ($activeSlave.chastityPenis)>>
+			<<elseif ($activeSlave.chastityPenis == 1)>>
 				an unwilling heat building low behind you. Pleased, you lean back and start to tease $his chastity cage, using your other hand to jerk off.
 			<<elseif ($activeSlave.chastityVagina)>>
 				an unwilling heat building low behind you. Pleased, you lean back and start to tease $his chastity, using your other hand to jerk off.
@@ -12989,7 +12991,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 				the huge cock behind you start to leak. Pleased, you snake a hand around behind yourself and start to play with $his dick, using your other hand to jerk yourself off.
 			<<elseif $activeSlave.dick > 0 && !canAchieveErection($activeSlave) && !($activeSlave.chastityPenis)>>
 				the pretty girldick behind you start to leak. Pleased, you snake a hand around behind yourself and start to play with $his soft bitchclit, using your other hand to jerk yourself off.
-			<<elseif ($activeSlave.chastityPenis)>>
+			<<elseif ($activeSlave.chastityPenis == 1)>>
 				an unwilling heat building low behind you. Pleased, you snake a hand around behind yourself and start to tease $his chastity cage, using your other hand to jerk off.
 			<<elseif ($activeSlave.chastityVagina)>>
 				an unwilling heat building low behind you. Pleased, you snake a hand around behind yourself and start to tease $his chastity, using your other hand to jerk off.
@@ -13230,12 +13232,12 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<</if>>
 	$activeSlave.slaveName is a confection on your arm, displayed in a silk gown of strips and cuts that accentuates $his artificial figure while leaving $his breasts,
 	<<if $activeSlave.dick > 0>>
-		<<if ($activeSlave.chastityPenis)>>
+		<<if ($activeSlave.chastityPenis == 1)>>
 			caged
 		<</if>>
 		cock,
 	<<elseif $activeSlave.vagina > -1>>
-		<<if ($activeSlave.chastityPenis)>>
+		<<if ($activeSlave.chastityPenis == 1)>>
 			chaste
 		<</if>>
 		pussy,
@@ -13375,11 +13377,11 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 	You let $activeSlave.slaveName don a nice dress and take $him out. $He's a little suspicious at first but when you reach the first balcony on your lazy route around the huge building the sun on $his face and the gentle breeze around $his ears convince $him there's no trick. $He watches you shyly as you lead $him around, soaking in the sights and relaxing. Though you still speak as $his <<= WrittenMaster($activeSlave)>>, you chat about goings on around the arcology, and you buy $him a fresh fruit from a vendor. The unexpected show of care and compassion has her quite agog. By the time you take $him out onto another parklike balcony and fuck $him on a bench,
-	<<if ($activeSlave.dick > 0) && ($activeSlave.chastityPenis) && ($activeSlave.chastityAnus)>>
+	<<if ($activeSlave.dick > 0) && ($activeSlave.chastityPenis == 1) && ($activeSlave.chastityAnus == 1)>>
 		$his combined chastity cage and anal chastity belt makes $him move awkwardly.
-	<<elseif ($activeSlave.dick > 0) && ($activeSlave.chastityPenis)>>
+	<<elseif ($activeSlave.dick > 0) && ($activeSlave.chastityPenis == 1)>>
 		$his chastity cage is dribbling precum, a sign $he wouldn't mind having to take it up the ass.
-	<<elseif ($activeSlave.dick > 0) && ($activeSlave.chastityAnus)>>
+	<<elseif ($activeSlave.dick > 0) && ($activeSlave.chastityAnus == 1)>>
 		$his dick is tenting the front of $his dress, through $his anal chastity belt.
 	<<elseif ($activeSlave.dick > 0) && canAchieveErection($activeSlave)>>
 		$his dick is tenting the front of $his dress and $he's happy to take it up the ass.
@@ -13649,7 +13651,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 		<<= AnalVCheck()>>
 	<</if>>
 	$He loses all composure, gasping and panting as the massive weight of $his chest bounces up and down, making an audible clap with each stroke as $his huge tits slap painfully together. Despite this, or perhaps partly because of it, $he begins to orgasm,
-	<<if ($activeSlave.chastityPenis)>>
+	<<if ($activeSlave.chastityPenis == 1)>>
 		the discomfort of being half-hard under $his chastity cage making $him squirm as cum rushes out of the hole at its tip.
 	<<elseif canAchieveErection($activeSlave)>>
 		<<if ($activeSlave.dick > 3)>>
@@ -14783,7 +14785,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 		stand
 	<</if>>
 	with $his arms over $his head and $his legs splayed, and tell $him that if $he moves or resists $his punishment will begin again from the start.
-	<<if ($activeSlave.chastityVagina) || ($activeSlave.chastityPenis)>>
+	<<if ($activeSlave.chastityVagina) || ($activeSlave.chastityPenis == 1)>>
 		$He was touching $his nipples and ass, so you flick and torture $his nipples and give $him a severe spanking.
 	<<elseif !canAchieveErection($activeSlave) && ($activeSlave.dick > 6)>>
 		$He was playing with $his oversized cock, so you kick and swat at the swollen monster, enjoying the way it spasms.
@@ -15003,7 +15005,8 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<<else>>
 		strap a strong vibrator to $his anal chastity,
 	<</if>>
-	secure a bullet vibrator $his quivering perineum, and another to the base of $his dick, and set them all to gradually increase the strength of their vibrations. In no time at all $he releases a <<if ($activeSlave.chastityPenis)>>
+	secure a bullet vibrator $his quivering perineum, and another to the base of $his dick, and set them all to gradually increase the strength of their vibrations. In no time at all $he releases a
+	<<if ($activeSlave.chastityPenis == 1)>>
 		squirt of ejaculate from $his cock cage,
 	<<elseif $activeSlave.prostate > 2>>
 		torrent of nearly clear, watery ejaculate,
@@ -15123,7 +15126,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 		<</if>>
 	<</if>>
 	$His face is complacent and unaffected even as $his body responds,
-	<<if ($activeSlave.chastityPenis)>>
+	<<if ($activeSlave.chastityPenis == 1)>>
 		since $his body is used to its caged cock being neglected in favor of $his <<if $activeSlave.vagina > -1>>pussy<<else>>asspussy<</if>>.
 	<<elseif ($activeSlave.dick > 0) && ($activeSlave.hormoneBalance >= 100)>>
 		$his useless dick sporting a drop of precum.
@@ -15172,7 +15175,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
 	You inform $activeSlave.slaveName of your plans and tell $him to get dressed appropriately. $He meets you at the door wearing glitzy heels, an extremely short skirt<<if $activeSlave.belly >= 5000>> barely noticeable under $his _belly <<if $activeSlave.bellyPreg >= 3000>>pregnant <</if>>belly<</if>>, and a string bikini top so brief that $his areolae are clearly visible. As you descend through $arcologies[0].name the beats get faster and the drops get heavier. By the time you reach the club where the Free Cities' hottest DJ has a show tonight, $activeSlave.slaveName is a whirlwind of sexual energy in motion, moving <<if canHear($activeSlave)>>with every beat<<else>>wildly<</if>> and catching every eye<<if $activeSlave.preg > $activeSlave.pregData.normalBirth/1.33>>, despite how far along $he is<<elseif $activeSlave.belly >= 5000 || $activeSlave.weight > 130>>, despite how big $he is<</if>>. $His skills could have half the club lining up to fuck $him for money, but tonight $he's all yours. The entire floor is envious of you as the night wears on and $his dancing turns into sexually servicing you<<if canHear($activeSlave)>> in time with the music<</if>>.
-	<<if ($activeSlave.chastityPenis)>>
+	<<if ($activeSlave.chastityPenis == 1)>>
 		The smell of $his pre-cum is noticeable even over the stink of sweat.
 	<<elseif ($activeSlave.dick > 0) && canAchieveErection($activeSlave)>>
 		$His tiny skirt does nothing to hide $his erection.
@@ -15235,7 +15238,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 		<<set $activeSlave.oralCount++, $oralTotal++>>
 	<</if>>
 	$His @@.hotpink;devotion to you@@ and @@.mediumaquamarine;trust in you@@ have increased.
-<</link>>
+<</link>><<if canDoVaginal($activeSlave) && ($activeSlave.vagina == 0)>>//This option will take virginity//<<elseif !canDoVaginal($activeSlave) && ($activeSlave.anus == 0)>> //This option will take anal virginity//<</if>>
 
 <<case "masterful whore">>
 
@@ -15465,7 +15468,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<<replace "#result">>
 	You stand there for a while, watching the exhausted slave sleep. It's an oddly restful sight, and the aesthetics of $his slumbering little movements hold your attention for a time.<<if $activeSlave.preg > $activeSlave.pregData.normalBirth/2>> You watch the subtle movements going on within $his womb as well.<</if>> After a while, you head to your own bed. Several of $his fellow slaves came and went as you watched $him, but if they're surprised by the sight, they have the presence of mind not to show it.
 	<br><br>
-	One of them quietly lets $him know about the incident the next day, though, and the overall impact on $his mental state is surprisingly positive. In a more normal human setting, the news that someone watched $him sleep last night without $his consent or even knowledge at the time would disturb $him greatly. However, it's not uncommon for slaves in the dormitory to wake up to the sounds of the occupant of the bedroll next to theirs getting fucked, and without $him consent, either. Perhaps you're odd, $he's obviously thinking, but @@.mediumaquamarine;perhaps you won't rape $him while $he sleeps.@@
+	One of them quietly lets $him know about the incident the next day, though, and the overall impact on $his mental state is surprisingly positive. In a more normal human setting, the news that someone watched $him sleep last night without $his consent or even knowledge at the time would disturb $him greatly. However, it's not uncommon for slaves in the dormitory to wake up to the sounds of the occupant of the bedroll next to theirs getting fucked, and without any consent, either. Perhaps you're odd, $he's obviously thinking, but @@.mediumaquamarine;perhaps you won't rape $him while $he sleeps.@@
 	<<set $activeSlave.trust += 4>>
 	<</replace>>
 <</link>>
@@ -15589,7 +15592,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 		end.
 	<</if>>
 	<</replace>>
-<</link>>
+<</link>><<if $activeSlave.vagina == 0>> //This option will take virginity//<</if>>
 <</if>>
 <<if canDoAnal($activeSlave) && ($activeSlave.anus > 0) && ($PC.dick == 1)>>
 <br><<link "Fuck $him without feeding $him">>
@@ -15623,7 +15626,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	"<<Master>>, they can eat a man'<<s>> e<<ss>>en<<c>>e by <<s>>wallowing hi<<s>> cum or getting him to ejaculate in<<s>>ide their pu<<ss>>ie<<s>>."
 	<br><br>
 	You ask $him whether $he would like to feed off you. "Oh ye<<s>> <<Master>>, plea<<s>>e. Plea<<s>>e feed me," $he begs. Too bad, you tell $him; $he gets to go hungry. After all, succubi can't feed using their butts.
-	<<if $activeSlave.vagina > 0>>
+	<<if $activeSlave.vagina > 0 && canDoVaginal($activeSlave)>>
 		You withdraw from $his cunt and stuff your cock up $his ass without pausing or softening your thrusting at all.
 	<<else>>
 		You pull $him to $his feet by the hair, spin $him around, shove $him up against the wall, and stuff your cock up $his ass.
@@ -15649,7 +15652,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<<else>>
 		$He @@.hotpink;plays the role well.@@
 	<</if>>
-	<<if $activeSlave.vagina > 0>>
+	<<if $activeSlave.vagina > 0 && canDoVaginal($activeSlave)>>
 		<<set $activeSlave.vaginalCount++, $vaginalTotal++>>
 	<<else>>
 		<<set $activeSlave.oralCount++, $oralTotal++>>
@@ -15691,23 +15694,23 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 		<br><br>
 		"Oh noo, I have to <<s>>ati<<s>>fy a naughty little <<s>>choolgirl,"
 	<<case "goddess">>
-		girl?" _heA says beatifically. "When I'm through with you, you'll be as pregnant as I!"
+		$girl?" _heA says beatifically. "When I'm through with you, you'll be as pregnant as I!"
 		<br><br>
 		"Oh noo, I'm about to be impregnated by a godde<<ss>>,"
 	<<case "hypergoddess">>
-		girl?" _heA says beatifically. "When I'm through with you, you'll be struggling to move!"
+		$girl?" _heA says beatifically. "When I'm through with you, you'll be struggling to move!"
 		<br><br>
 		"Oh noo, I'm about to be bur<<s>>t by a <<s>>lut godde<<ss>>,"
 	<<case "loli">>
-		girl?" _heA says cutely. "If you think I'm so cute, why don't you lick my pussy?"
+		$girl?" _heA says cutely. "If you think I'm so cute, why don't you lick my pussy?"
 		<br><br>
-		"Oh noo, I'm about to be dominated by a loli,"
+		"Oh noo, I'm about to be dominated by a _loliA,"
 	<<case "preggololi">>
-		girl?" _heA says cutely. "If you think I'm so cute, why don't you lick my pussy?"
+		$girl?" _heA says cutely. "If you think I'm so cute, why don't you lick my pussy?"
 		<br><br>
-		"Oh noo, I'm about to be dominated by a <<s>>lutty loli,"
+		"Oh noo, I'm about to be dominated by a <<s>>lutty _loliA,"
 	<<case "angel">>
-		girl?" _heA says beatifically. "I'm going to show you divine skill!"
+		$girl?" _heA says beatifically. "I'm going to show you divine skill!"
 		<br><br>
 		"Oh noo, I'm going to be taken to heaven,"
 	<<case "cherub">>
@@ -15737,7 +15740,8 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<</switch>>
 	the $desc gasps with mock horror. Your personal assistant gives $him rapid-fire orders, making $him set up sex toys in the corner of your office to conform to _hisA avatar.
 	<br><br>
-	The next slave on the inspection enters and approaches you, sitting imperturbably behind your desk, but stops and stares when she notices what's going on in the corner of your office. A wallscreen in the corner shows $assistantName's avatar
+	<<setNonlocalPronouns $seeDicks>>
+	The next slave on the inspection enters and approaches you, sitting imperturbably behind your desk, but stops and stares when _heU notices what's going on in the corner of your office. A wallscreen in the corner shows $assistantName's avatar
 	<<switch $assistantAppearance>>
 	<<case "monstergirl">>
 		with both _hisA cocks up the asshole of an avatar of $activeSlave.slaveName. Below this, the slave $himself is
@@ -15963,7 +15967,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 		<</if>>
 		At different intervals, an undulation moves down the dildo, forcing $him to stretch wide to allow it to pass into $his body. Each "egg" forced into $him coincides with another blast from the ejaculating model, and it's filled $him so completely that each gush of fake cum flows down $his legs to join the puddle on the floor.
 	<</switch>>
-	"@@.hotpink;Good $girl,@@" $assistantName says. The new slave turns resolutely away from the arresting sight and gets on with the inspection, doing $his best to ignore the lewd noises coming from that part of the room.
+	"@@.hotpink;Good $girl,@@" $assistantName says. The new slave turns resolutely away from the arresting sight and gets on with the inspection, doing _hisU best to ignore the lewd noises coming from that part of the room.
 	<<set $activeSlave.devotion += 4>>
 	<</replace>>
 <</link>>
@@ -15987,9 +15991,9 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<<case "goddess" "hypergoddess">>
 		"Oh, lovely," the goddess says beatifically,
 	<<case "loli">>
-		"K-kay," the loli says naïvely,
+		"K-kay," the _loliA says naïvely,
 	<<case "preggololi">>
-		"Okay," the loli says excitedly,
+		"Okay," the _loliA says excitedly,
 	<<case "angel">>
 		"What? But..." the angel says reluctantly,
 	<<case "cherub">>
@@ -16267,7 +16271,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	<<else>>
 		around $his middle
 	<</if>>
-	to cup $his pussy possessively. $He finds that @@.hotpink;$he doesn't mind.@@ $He's your girl.
+	to cup $his pussy possessively. $He finds that @@.hotpink;$he doesn't mind.@@ $He's your $girl.
 	<<set $activeSlave.devotion += 4, $activeSlave.vaginalCount++, $vaginalTotal++>>
 	<</replace>>
 <</link>>
@@ -16957,7 +16961,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	Helpless, $he has nothing to do but <<if canSee($activeSlave)>>watch $himself get fucked in a full length mirror. $He stares, fascinated, and the sight<<else>>let $his hands wander across $his body. Teasing $his nipples<<if $activeSlave.bellyPreg >= 5000>> and pregnant belly<</if>><</if>> gets $him off quickly,
 	<<if $activeSlave.dick == 0>>
 		$his muscles tensing prettily with female orgasm.
-	<<elseif ($activeSlave.chastityPenis)>>
+	<<elseif ($activeSlave.chastityPenis == 1)>>
 		a dribble of cum flowing from the tip of $his chastity cage.
 	<<elseif canAchieveErection($activeSlave)>>
 		$his stiffly waving cock jetting cum onto the floor.
@@ -16987,7 +16991,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 	$He advances on you slowly, sensually, relishing the beat and doing $his best to show off $his body.
 	<<if $activeSlave.dick > 0>>
 		$His
-		<<if ($activeSlave.chastityPenis)>>
+		<<if ($activeSlave.chastityPenis == 1)>>
 			chastity cage sways
 		<<elseif canAchieveErection($activeSlave)>>
 			erection waves back and forth
@@ -17375,7 +17379,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 			<<set $activeSlave.fetishKnown = 1>>
 		<<else>>
 			$He stiffens with arousal, since breast play is the main sexual event as far as $he's concerned.
-			<<if canAchieveErection($activeSlave) && ($activeSlave.chastityPenis)>>There's an audible little smack as $he achieves an erection, bringing $his dickhead against the bottom of the counter.<</if>>
+			<<if canAchieveErection($activeSlave) && ($activeSlave.chastityPenis == 1)>>There's an audible little smack as $he achieves an erection, bringing $his dickhead against the bottom of the counter.<</if>>
 		<</if>>
 	<<elseif $activeSlave.devotion > 50>>
 		$He softens into your <<if $PC.boobs == 1>>bosom<<else>>chest<</if>>, wriggling $his back into you to get comfortable.
@@ -18390,7 +18394,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 			traces $his chastity
 		<</if>>
 		and you press your groin towards $him. Getting the idea, $he begins to <<if $PC.dick == 1>>jack you off<<else>>finger your clit<</if>> energetically, taking the pace from your lusty demeanor and $his own feeling of energy and well-being. The two of you orgasm almost together. <<if $PC.dick == 1>>You angle your hips to shoot your seed onto the floor<<else>>You climax so violently that some of your femcum makes it onto the floor<</if>>.
-		<<if ($activeSlave.chastityPenis)>>
+		<<if ($activeSlave.chastityPenis == 1)>>
 			$His ejaculate steadily drips from $his chastity cage,
 		<<elseif canAchieveErection($activeSlave)>>
 			$He blows $his own load right after,
@@ -18775,6 +18779,32 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 				<</if>>
 				$He loves being on top, even if $he's the one who's getting fucked. $He rides you happily,
 				<<set _fucked = 1>>
+			<<case "sadist">>
+				turns around and hesitantly sits on <<if $PC.dick == 1>>your cock<<else>>the phallus<</if>>, letting
+				<<if canDoVaginal($activeSlave) && ($activeSlave.vagina > 0)>>
+					it slide into $his cunt.
+					<<= VaginalVCheck()>>
+				<<elseif canDoAnal($activeSlave) && ($activeSlave.anus > 0)>>
+					it slide up $his butt.
+					<<= AnalVCheck()>>
+				<<else>>
+					it slide between $his thighs.
+				<</if>>
+				$He prefers to be rough, but settles for just directing how $he gets used. $He rides you cautiously,
+				<<set _fucked = 1>>
+			<<case "masochist">>
+				turns around and carefully perches $himself on <<if $PC.dick == 1>>your cock<<else>>the phallus<</if>>,
+				<<if canDoVaginal($activeSlave) && ($activeSlave.vagina > 0)>>
+					letting $his weight slide it inside $his wet pussy at an uncomfortable angle.
+					<<= VaginalVCheck()>>
+				<<elseif canDoAnal($activeSlave) && ($activeSlave.anus > 0)>>
+					letting $his weight push it up $his asshole at an uncomfortable angle.
+					<<= AnalVCheck()>>
+				<<else>>
+					putting it between $his thighs at an uncomfortable angle.
+				<</if>>
+				$He does $his best to please you while making sex as unpleasant as $he can for $himself. $He pays close attention to your comfort versus $his own,
+				<<set _fucked = 1>>
 			<</switch>>
 		<</if>>
 		<<if _fucked == 1>>
@@ -20034,7 +20064,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address
 		<<= AnalVCheck()>>
 	<</if>>
 	$He loses all composure, gasping and panting as the massive weight of $his augmented chest weighs $him down, causing $him to all but collapse against you. Despite this, or perhaps partly because of it, $he begins to orgasm,
-	<<if ($activeSlave.chastityPenis)>>
+	<<if ($activeSlave.chastityPenis == 1)>>
 		the discomfort of being half-hard under $his chastity cage making $him squirm as cum rushes out of the hole at its tip.
 	<<elseif canAchieveErection($activeSlave)>>
 		<<if ($activeSlave.dick > 3)>>
diff --git a/src/uncategorized/RETS.tw b/src/uncategorized/RETS.tw
index 24e17dc73e05cb6f7b850be464274d5415ae4ba8..ef5b63c8b321a74b1224781699b5df38c129a143 100644
--- a/src/uncategorized/RETS.tw
+++ b/src/uncategorized/RETS.tw
@@ -346,7 +346,7 @@ $He's sitting on the end of the couch, though only $his legs, crotch and hands a
 	$activeSlave.slaveName is using the biggest dildo $subSlave.slaveName's <<if $subSlave.anus > 2>>loose<<elseif $subSlave.anus > 1>>welcoming<<else>>tight<</if>> anus can handle, and $he's bouncing $his anal bottom up and down fast.
 <</if>>
 Surprisingly, the slave on top doesn't seem too unhappy with this. _He2's no slavishly devoted buttslut, but
-<<if ($subSlave.chastityPenis) && canAchieveErection($subSlave)>>
+<<if ($subSlave.chastityPenis == 1) && canAchieveErection($subSlave)>>
 	_he2's taking it well, and even looking a little uncomfortable as the beginnings of a hard-on press against _his2 chastity cage.
 <<elseif $subSlave.belly >= 10000>>
 	_he2's taking it well,
@@ -493,7 +493,7 @@ You pass by the slave quarters during a busy time. Girls are hurrying back and f
 	<<else>>
 		pussy.
 	<</if>>
-<<elseif $activeSlave.dick > 0 && ($activeSlave.chastityPenis)>>
+<<elseif $activeSlave.dick > 0 && ($activeSlave.chastityPenis == 1)>>
 	starts to rub $his chastity cage against $subSlave.slaveName's
 	<<if ($subSlave.chastityVagina)>>
 		own belt, a rather pathetic display.
@@ -796,7 +796,7 @@ Early in the morning, you run across $subSlave.slaveName using one of the pentho
 But the cum is about to be intercepted. There's another slave lying on the floor under $subSlave.slaveName, intertwined with the machine<<if $subSlave.lactation == 0>>; its cum receptacle lying unused<<else>>. The nipple milkers are attached to each of the human cow's nipples, and they're pumping away industriously, keeping the clear lines running away from each udder white with cream. On the other hand, the cum receptacle is lying unused<</if>>.
 <br><br>
 You can't see much of the slave under $subSlave.slaveName, since $he's intimately intertwined with the machine and with $subSlave.slaveName, but based on $his
-<<if $activeSlave.dick > 0>><<if canAchieveErection($activeSlave) && !($activeSlave.chastityPenis)>>stiff prick<<elseif ($activeSlave.chastityPenis)>>uncomfortably filled chastity cage<<else>>pathetically soft but precum-tipped dick<</if>>,<</if>>
+<<if $activeSlave.dick > 0>><<if canAchieveErection($activeSlave) && !($activeSlave.chastityPenis)>>stiff prick<<elseif ($activeSlave.chastityPenis == 1)>>uncomfortably filled chastity cage<<else>>pathetically soft but precum-tipped dick<</if>>,<</if>>
 <<if $activeSlave.vagina > 0>><<if $activeSlave.labia > 0>>generous pussylips<<elseif $activeSlave.clit > 0>>visibly stiff clit<<else>>obviously aroused womanhood<</if>>,<</if>>
 <<if $activeSlave.dick == 0>><<if $activeSlave.vagina == -1>><<if $activeSlave.scrotum > 0>>lonely ballsack<<else>>smoothly featureless groin<</if>>,<</if>><</if>>
 <<if $activeSlave.weight > 100>>fat<<elseif $activeSlave.muscles > 30>>muscular<<elseif $activeSlave.weight > 30>>chubby<<elseif $activeSlave.muscles > 10>>toned<<elseif $activeSlave.weight > 10>>nice soft<<elseif $activeSlave.weight >= -10>>slender<<else>>skinny<</if>> legs, and $activeSlave.skin skin, it's <<EventNameLink>>. $He's allowed access to cockmilk and $he's getting it straight from the source. $subSlave.slaveName
@@ -981,7 +981,7 @@ $activeSlave.slaveName shifts a little, and giggles.
 	"And it'<<s>> even more fun <<s>>in<<c>>e we're doing it now. Ooh,
 <</if>>
 <<set _hands = "anus">>
-<<if $activeSlave.dick > 0 && $activeSlave.dickAccessory == "none">>
+<<if $activeSlave.dick > 0 && $activeSlave.chastityPenis == 0>>
 	harder, <<s>>weetie." $subSlave.slaveName's hands aren't visible, but $his lewd movements make it obvious that $he's <<if canAchieveErection($activeSlave)>>giving $his _mother a handjob<<else>>playing with $his _mother's limp dick<</if>>
 	<<set $activeSlave.oralCount++, $subSlave.oralCount++, $oralTotal+2>>
 	<<set _hands = "dick">>
@@ -1625,7 +1625,7 @@ $he adds impishly. <<if canHear($subSlave)>>Hearing this<<else>>Realizing your p
 	You tell $him that $his butt is for lovemaking, just like $subSlave.slaveName's. $He looks horrified. You clear $his schedule and sit $him down on the couch ($he carefully avoids the spot where you and $subSlave.slaveName embraced) before continuing with your day. $subSlave.slaveName was your first inspection of the day, so $activeSlave.slaveName has nothing to do for hours and hours other than sit there and <<if canSee($activeSlave)>>watch you<<else>>listen to your actions<</if>>. $He's a healthy $girl,<<if $activeSlave.preg > $activeSlave.pregData.normalBirth/2>> ripe with pregnancy,<</if>> and $his food is laced with mild aphrodisiacs. The boredom and $his building arousal begin to torture $him, until finally $he grinds out a hesitant "P-plea<<s>>e fuck me, <<Master>>." You glance at $him and $he quickly looks down, blushing. You go back to your work, and an hour later $he manages a more confident "Plea<<s>>e fuck me, <<Master>>."
 	<br><br>
 	Judging $him ready, you tell $him to kneel on the couch. $He does, trembling with fear and arousal;
-	<<if ($activeSlave.chastityPenis)>>
+	<<if ($activeSlave.chastityPenis == 1)>>
 		$his caged cock does not show it, but $he's flushed and willing.
 	<<elseif ($activeSlave.dick > 0) && !canAchieveErection($activeSlave)>>
 		as $he <<if $activeSlave.belly >= 100000>>struggles to pull $his gravid body<<elseif $activeSlave.belly >= 10000>>hefts $his gravid body<<elseif $activeSlave.belly >= 5000>>cradles $his belly and carefully climbs<<else>>clambers<</if>> up onto the couch, $he dribbles precum across the leather.
@@ -1639,7 +1639,7 @@ $he adds impishly. <<if canHear($subSlave)>>Hearing this<<else>>Realizing your p
 		$his pussylips are flushed and moist.
 	<</if>>
 	You tell $him to relax, and push a single lubed finger into $his anus. $He gasps, but does not resist, burrowing $his face down into the couch and doing $his best to calm $himself. After a few minutes, you withdraw your finger and press the slick tip of your <<if $PC.dick == 1>>dick<<else>>strap-on<</if>> against $his virgin rosebud. $He starts in spite of $himself, but breathes out obediently, relaxing $his butthole enough to let you in. $He squeals at the sudden invasion, but you hold $him and let $him get used to you gradually. After a few minutes you encourage $him to
-	<<if ($activeSlave.chastityPenis)>>
+	<<if ($activeSlave.chastityPenis == 1)>>
 		stimulate $his own nipples,
 	<<elseif ($activeSlave.dick > 0) && !canAchieveErection($activeSlave)>>
 		play with $his soft cock,
@@ -2241,7 +2241,7 @@ $he adds impishly. <<if canHear($subSlave)>>Hearing this<<else>>Realizing your p
 	<br><br>
 	<<run Enunciate($subSlave)>>
 	$subSlave.slaveName <<if $activeSlave.nipples != "fuckable">>lets the nipple pop free of<<else>>releases the nipple from<</if>> _his2 mouth and looks up at $activeSlave.slaveName. "That'<<s>> <<s>>illy, _mommy," _he2 scolds, using an exaggeratedly whiny tone. I'm
-	<<if $activeSlave.dick > 0 && $activeSlave.dickAccessory == "none">>jerking you off,
+	<<if $activeSlave.dick > 0 && $activeSlave.chastityPenis == 0>>jerking you off,
 	<<elseif canDoVaginal($activeSlave)>>fingerbanging you,
 	<<elseif canDoAnal($activeSlave)>>fingerfucking your butthole,
 	<<else>>giving you a handjob,
diff --git a/src/uncategorized/arcologyDescription.tw b/src/uncategorized/arcologyDescription.tw
index 3f4101438a97ea5acd3f262242079bc6be2ebba3..e0a8f0ecce1f37f4f023dbccd74fd0c77ac1581c 100644
--- a/src/uncategorized/arcologyDescription.tw
+++ b/src/uncategorized/arcologyDescription.tw
@@ -82,7 +82,7 @@ Its<<if $weatherCladding == 2>> glorious<<elseif $weatherCladding > 0>> dull<<el
 		The slaves' breasts are unrealistically huge, almost as large as the rest of their bodies.
 	<</if>>
 	<<if $arcologies[0].FSRepopulationFocusDecoration == 100>>
-		The slaves are heavily pregnant.
+		The slaves are heavily pregnant<<if ($PC.vagina == 1)>>, as is the central <<if ($PC.dick == 1)>>futanari<<else>>female<</if>> figure<</if>>.
 	<</if>>
 	<<if $arcologies[0].FSRestartDecoration == 100>>
 		The central
diff --git a/src/uncategorized/assistantEvents.tw b/src/uncategorized/assistantEvents.tw
index 5e404237862c7b61211a76bb08cf57888fca73aa..4858fe27c56bc48945812921809381ca3c6b2980 100644
--- a/src/uncategorized/assistantEvents.tw
+++ b/src/uncategorized/assistantEvents.tw
@@ -1184,9 +1184,9 @@ Your personal assistant has been adapting to _hisA greatly increased computing p
 	<<case "hypergoddess">>
 		a demigoddess modeled after _himselfA, though the new avatar is younger, not pregnant, noticeably thinner, and looks very intelligent somehow.
 	<<case "loli">>
-		a fellow loli, though this one is slightly chubbier and wearing glasses. They look similar enough that they could be sisters.
+		a fellow _loliM, though this one is slightly chubbier and wearing glasses. They look similar enough that they could be sisters.
 	<<case "preggololi">>
-		a fellow loli, though this one is slightly chubbier, not pregnant, and wearing glasses. They look similar enough that they could be sisters.
+		a fellow _loliM, though this one is slightly chubbier, not pregnant, and wearing glasses. They look similar enough that they could be sisters.
 	<<case "businesswoman">>
 		a fellow MILF of a businesswoman. The new avatar has slightly bigger tits and somewhat thicker glasses, but they could be sisters.
 	<<case "fairy" "pregnant fairy">>
diff --git a/src/uncategorized/barracks.tw b/src/uncategorized/barracks.tw
index 44e8f93ecb58c23e97f5941fd95ee0810444bcd3..eb806561de3deb03693fdde634956d39343b7e27 100644
--- a/src/uncategorized/barracks.tw
+++ b/src/uncategorized/barracks.tw
@@ -157,7 +157,7 @@ You head up a deck, to the staff area, and up one more, to look into the living
 
 <<if $mercenariesHelpCorp > 0>>
 	<br><br>
-	As you leave, a squad moves thunderously into the bay, fresh from a slave raid on behalf of your corporation. Most of their captures have been dropped off with the corporate receivers, but they've been given a pretty girl who isn't a good training prospect for the corporate brand, a common reward. The squad looks after their weapons and armor first, an inviolable rule, and as they do, they leave their naked slave standing in the middle of the bay, ignored. She isn't even bound, but she's standing nude and alone amongst modern mercenaries, so she knows that resistance is futile. So she does the only thing left available to her, try to cover herself with her hands and cry.
+	As you leave, a squad moves thunderously into the bay, fresh from a slave raid on behalf of your corporation. Most of their captures have been dropped off with the corporate receivers, but they've been given a pretty girl who isn't a good training prospect for the corporate brand, a common reward. The squad looks after their weapons and armor first, an inviolable rule, and as they do, they leave their naked slave standing in the middle of the bay, ignored. She isn't even bound, but she's standing nude and alone amongst modern mercenaries, so she knows that resistance is futile. So she does the only thing left available to her: try to cover herself with her hands and cry.
 <</if>>
 
 <br><br>
diff --git a/src/uncategorized/clubReport.tw b/src/uncategorized/clubReport.tw
index 1ac71de6f8341ab34a7191aaee4d2776c33f8233..2873728c8e58737f91a3ffcd6584f6f541e81f07 100644
--- a/src/uncategorized/clubReport.tw
+++ b/src/uncategorized/clubReport.tw
@@ -113,7 +113,7 @@
 			<</if>>
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;Since $he doesn't have enough sluts in $clubName to make it worthwhile for $him to be on stage 24/7, $he spends $his extra time slutting it up $himself. $He has sex with $beauty citizens, @@.green;pleasing them immensely,@@ since it's more appealing to fuck the DJ than some club slut.
 			<<if $showEWD != 0>>
-				<br>&nbsp;&nbsp;&nbsp;&nbsp;She <<include "SA serve the public">>
+				<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<include "SA serve the public">>
 			<<else>>
 				<<silently>><<include "SA serve the public">><</silently>>
 			<</if>>
@@ -246,7 +246,7 @@
 			<<else>>
 				is serving in $clubName.
 			<</if>>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;She <<include "SA serve the public">>
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<include "SA serve the public">>
 			<br>&nbsp;&nbsp;&nbsp;
 			<<= saChoosesOwnClothes($slaves[$i])>>
 			<<include "SA rules">>
diff --git a/src/uncategorized/costsBudget.tw b/src/uncategorized/costsBudget.tw
index d460558e50da376cf2f4945aafb1b6cc5902c9fb..4f26fda2bd2cf90ae2474f475ffb535486e6ac76 100644
--- a/src/uncategorized/costsBudget.tw
+++ b/src/uncategorized/costsBudget.tw
@@ -10,7 +10,7 @@
 
 
 <br>
-//Here you can view many of the financial details of your arcology, <<= properTitle()>>.  The detailed list of slaves and their costs (food, hormones) that you may remember can now be found in the "Slave maintenance" link.  Other links will allow you to directly control areas of your arcology to adjust spending to suit your tastes.
+//Here you can view many of the financial details of your arcology, <<= properTitle()>>. The detailed list of slaves and their costs (food, hormones) that you may remember can now be found in the "Slave maintenance" link. Other links will allow you to directly control areas of your arcology to adjust spending to suit your tastes.
 
 <br style="clear:both" /><<if $lineSeparations == 0>><br><<else>><hr style="margin:0"><</if>>
 <br>
@@ -283,7 +283,7 @@ for(var i = 0; i < State.variables.lastWeeksCashIncome.length; i++){
 		</td>
 		<td>
 			<<set $lastWeeksCashProfits.Total = ($lastWeeksCashIncome.Total + $lastWeeksCashExpenses.Total)>>
-			/* each "profit" item is calculated on this sheet, and there's two ways to generate a profit total: the difference of the income and expense totals, and adding all the profit items.  If they aren't the same, I probably forgot to properly add an item's profit calculation to this sheet.*/
+			/* each "profit" item is calculated on this sheet, and there's two ways to generate a profit total: the difference of the income and expense totals, and adding all the profit items. If they aren't the same, I probably forgot to properly add an item's profit calculation to this sheet.*/
 			<<if $lastWeeksCashProfits.Total != hashSum($lastWeeksCashProfits) - $lastWeeksCashProfits.Total>>/* Profits includes the total number of profits, so we have to subtract it back out */
 				<<print (cashFormat(Math.trunc(hashSum($lastWeeksCashProfits)-$lastWeeksCashProfits.Total)))>><br>
 				@@.red;Fix profit calc<br>@@
diff --git a/src/uncategorized/costsWidgets.tw b/src/uncategorized/costsWidgets.tw
index a8f2669f1da4e3e6f86cf001fff6d25dcfb4bda8..b952e9b8177fddd9132b3e0ed8fe885a045eb3f5 100644
--- a/src/uncategorized/costsWidgets.tw
+++ b/src/uncategorized/costsWidgets.tw
@@ -485,7 +485,7 @@
 				<<else>>
 					<<print commaNum(_repTotal)>>
 				<</if>>
-			<<else>> /*lowercasedonkey: TODO: I don't like how vague my placeholder is.  Probably need to set up some kind of sliding scale to describe how much rep (roughly) she has made or lost. Need to get a sense of common ranges.*/
+			<<else>> /* lowercasedonkey: TODO: I don't like how vague my placeholder is. Probably need to set up some kind of sliding scale to describe how much rep (roughly) she has made or lost. Need to get a sense of common ranges. */
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;
 				Overall, $he has
 				<<if _repTotal == 0>>
@@ -500,9 +500,8 @@
 	<</if>>
 <</widget>>
 
-
 <<widget "setupLastWeeksCash">>
-/*Feel free to add categories.  Just make sure to display them in costsBudget.tw as well!*/
+/* Feel free to add categories. Just make sure to display them in costsBudget.tw as well! */
 <<set $lastWeeksCashIncome = {
 /*Slave Jobs*/
 whore: 0,
@@ -584,7 +583,7 @@ PCskills: 0,
 stocksTraded: 0, /*trading*/
 stocks: 0, /*share growth*/
 fines: 0,
-event: 0, /*poker night etc.  Try to file things elsewhere if you can.*/
+event: 0, /* poker night etc. Try to file things elsewhere if you can. */
 war: 0,
 
 rents: 0,
@@ -601,7 +600,7 @@ total: 0
 
 
 <<widget "setupLastWeeksRep">>
-/*Feel free to add categories.  Just make sure to display them in costsBudget.tw as well!*/
+/* Feel free to add categories. Just make sure to display them in costsBudget.tw as well! */
 <<set $lastWeeksRepIncome = {
 /*Slave Jobs*/
 fucktoy: 0,
@@ -648,10 +647,10 @@ specialForces: 0,
 /*Personal Finance*/
 personalBusiness: 0,
 PCappearance: 0,
-PCactions: 0, /*actions involving your body: becoming pregnant, etc. */
+PCactions: 0, /* actions involving your body: becoming pregnant, etc. */
 PCRelationships: 0,
 SlaveRelationships: 0,
-event: 0, /*poker night etc.  Try to file things elsewhere if you can.*/
+event: 0, /*poker night etc. Try to file things elsewhere if you can.*/
 
 /*special*/
 multiplier: 0,
diff --git a/src/uncategorized/dairyReport.tw b/src/uncategorized/dairyReport.tw
index 5cf9facdbd94e83c460ff9b8aa33a67313abacba..2b1a916c6bd29be3544cca5ce2f23dc2b64b229a 100644
--- a/src/uncategorized/dairyReport.tw
+++ b/src/uncategorized/dairyReport.tw
@@ -368,7 +368,7 @@
 		<<set $slaves[$i].diet = "healthy">>
 	<</if>>
 	<<if $dairyRestraintsSetting > 1>>
-		<<set $slaves[$i].collar = "none", $slaves[$i].choosesOwnClothes = 0, $slaves[$i].clothes = "no clothing", $slaves[$i].buttplug = "none", $slaves[$i].vaginalAccessory = "none", $slaves[$i].dickAccessory = "none">>
+		<<set $slaves[$i].collar = "none", $slaves[$i].choosesOwnClothes = 0, $slaves[$i].clothes = "no clothing", $slaves[$i].buttplug = "none", $slaves[$i].vaginalAccessory = "none", $slaves[$i].dickAccessory = "none", $slaves[$i].chastityAnus = 0, $slaves[$i].chastityPenis = 0, $slaves[$i].chastityVagina = 0>>
 	<</if>>
 	<<switch $dairyDecoration>>
 	<<case "Roman Revivalist" "Aztec Revivalist" "Chinese Revivalist" "Chattel Religionist" "Edo Revivalist" "Arabian Revivalist" "Egyptian Revivalist" "Supremacist" "Subjugationist" "Degradationist">>
diff --git a/src/uncategorized/fsDevelopments.tw b/src/uncategorized/fsDevelopments.tw
index ff4775c851acc9d4c704e25f58be366bd8720d4f..60e018b48d914a42b862f4814831669101c99a3d 100644
--- a/src/uncategorized/fsDevelopments.tw
+++ b/src/uncategorized/fsDevelopments.tw
@@ -138,7 +138,8 @@
 				<<set _broadProgress += 1>>
 			<</if>>
 		<<else>>
-			''__@@.pink;<<= SlaveFullName($Recruiter)>>@@__'' is able to further boost your societal engineering campaign from her PR hub office.
+			<<setLocalPronouns $Recruiter>>
+			''__@@.pink;<<= SlaveFullName($Recruiter)>>@@__'' is able to further boost your societal engineering campaign from $his PR hub office.
 			<<if $propCampaignBoost == 1>>
 				<<set _broadProgress += $propCampaign + Math.floor(($Recruiter.intelligence+$Recruiter.intelligenceImplant)/32)>>
 			<<else>>
@@ -567,9 +568,9 @@
 	<</if>>
 <</if>>
 <<if _seed2 == 2>>
-	With her $assistantFSAppearance $assistantAppearance appearance, $assistantName's public visibility meshes very well with society.
+	With _hisA $assistantFSAppearance $assistantAppearance appearance, $assistantName's public visibility meshes very well with society.
 <<elseif _seed1 == 1>>
-	With her $assistantAppearance appearance, $assistantName's public visibility meshes well with society.
+	With _hisA $assistantAppearance appearance, $assistantName's public visibility meshes well with society.
 <</if>>
 <</if>>
 
diff --git a/src/uncategorized/futureSociety.tw b/src/uncategorized/futureSociety.tw
index aae816903486435e9965ee65410219690c17550d..d253264c5153ab60250308b5bcc9bab3d0f2921b 100644
--- a/src/uncategorized/futureSociety.tw
+++ b/src/uncategorized/futureSociety.tw
@@ -597,7 +597,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc
 	<<FSChangeDecoration "FSSupremacist">>
 	<<if $PAPublic == 1>>
 		<<if ($assistantAppearance == "amazon") || ($assistantAppearance == "monstergirl") || ($assistantAppearance == "succubus")>>
-			//With her $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
+			//With _hisA $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
 		<</if>>
 	<</if>>
 <<else>>
@@ -626,7 +626,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc
 	<<FSChangeDecoration "FSSubjugationist">>
 	<<if $PAPublic == 1>>
 		<<if ($assistantAppearance == "businesswoman") || ($assistantAppearance == "amazon") || ($assistantAppearance == "imp")>>
-			//With her $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
+			//With _hisA $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
 		<</if>>
 	<</if>>
 <<else>>
@@ -688,7 +688,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc
 				The Societal Elite exist as the highest class, allowing you access to all manner of benefits
 				<<if $PAPublic == 1>>
 					<<if ($assistantAppearance == "businesswoman") || ($assistantAppearance == "schoolgirl") || ($assistantAppearance == "goddess") || ($assistantAppearance == "loli") || ($assistantAppearance == "succubus") || ($assistantAppearance == "witch") || ($assistantAppearance == "incubus") || ($assistantAppearance == "angel")>>
-						//With her $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
+						//With _hisA $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
 					<</if>>
 				<</if>>
 			<</if>>
@@ -710,7 +710,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc
 			<<FSChangeDecoration "FSGenderRadicalist">>
 			<<if $PAPublic == 1>>
 				<<if ($assistantAppearance == "shemale") || ($assistantAppearance == "monstergirl") || ($assistantAppearance == "incubus") || ($assistantAppearance == "succubus") || ($assistantAppearance == "witch")>>
-					//With her $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
+					//With _hisA $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
 				<</if>>
 			<</if>>
 		<<else>>
@@ -787,7 +787,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc
 		<<FSChangeDecoration "FSBodyPurist">>
 		<<if $PAPublic == 1>>
 			<<if ($assistantAppearance == "amazon") || ($assistantAppearance == "goddess") || ($assistantAppearance == "loli") || ($assistantAppearance == "fairy") || ($assistantAppearance == "pregnant fairy") || ($assistantAppearance == "angel") || ($assistantAppearance == "succubus") || ($assistantAppearance == "incubus") || ($assistantAppearance == "witch")>>
-				//With her $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
+				//With _hisA $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
 			<</if>>
 		<</if>>
 	<<else>>
@@ -806,7 +806,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc
 		<<FSChangeDecoration "FSTransformationFetishist">>
 		<<if $PAPublic == 1>>
 			<<if ($assistantAppearance == "businesswoman") || ($assistantAppearance == "shemale") || ($assistantAppearance == "succubus") || ($assistantAppearance == "incubus") || ($assistantAppearance == "witch") || ($assistantAppearance == "ERROR_1606_APPEARANCE_FILE_CORRUPT")>>
-				//With her $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
+				//With _hisA $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
 			<</if>>
 		<</if>>
 	<<else>>
@@ -825,7 +825,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc
 		<<FSChangeDecoration "FSYouthPreferentialist">>
 		<<if $PAPublic == 1>>
 			<<if ($assistantAppearance == "schoolgirl") || ($assistantAppearance == "shemale") || ($assistantAppearance == "preggololi") || ($assistantAppearance == "loli") || ($assistantAppearance == "succubus") || ($assistantAppearance == "angel") || ($assistantAppearance == "cherub") || ($assistantAppearance == "imp") || ($assistantAppearance == "witch")>>
-				//With her $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
+				//With _hisA $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
 			<</if>>
 		<</if>>
 	<<else>>
@@ -844,7 +844,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc
 		<<FSChangeDecoration "FSMaturityPreferentialist">>
 		<<if $PAPublic == 1>>
 			<<if ($assistantAppearance == "businesswoman") || ($assistantAppearance == "goddess") || ($assistantAppearance == "succubus") || ($assistantAppearance == "incubus") || ($assistantAppearance == "witch") || ($assistantAppearance == "angel")>>
-				//With her $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
+				//With _hisA $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
 			<</if>>
 		<</if>>
 	<<else>>
@@ -863,7 +863,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc
 		<<FSChangeDecoration "FSSlimnessEnthusiast">>
 		<<if $PAPublic == 1>>
 			<<if ($assistantAppearance == "schoolgirl") || ($assistantAppearance == "shemale") || ($assistantAppearance == "loli") || ($assistantAppearance == "cherub") || ($assistantAppearance == "imp") || ($assistantAppearance == "succubus") || ($assistantAppearance == "witch")>>
-				//With her $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
+				//With _hisA $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
 			<</if>>
 		<</if>>
 	<<else>>
@@ -882,7 +882,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc
 		<<FSChangeDecoration "FSAssetExpansionist">>
 		<<if $PAPublic == 1>>
 			<<if ($assistantAppearance == "businesswoman") || ($assistantAppearance == "shemale") || ($assistantAppearance == "hypergoddess") || ($assistantAppearance == "succubus") || ($assistantAppearance == "incubus") || ($assistantAppearance == "witch")>>
-				//With her $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
+				//With _hisA $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
 			<</if>>
 		<</if>>
 	<<else>>
@@ -900,7 +900,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc
 	<<FSChangeDecoration "FSPastoralist" "clothesBoughtWestern">>
 	<<if $PAPublic == 1>>
 		<<if ($assistantAppearance == "goddess") || ($assistantAppearance == "shemale") || ($assistantAppearance == "hypergoddess") || ($assistantAppearance == "incubus") || ($assistantAppearance == "succubus") || ($assistantAppearance == "witch")>>
-			//With her $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
+			//With _hisA $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
 		<</if>>
 	<</if>>
 <<else>>
@@ -918,7 +918,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc
 		<<FSChangeDecoration "FSPhysicalIdealist" "clothesBoughtOil">>
 		<<if $PAPublic == 1>>
 			<<if ($assistantAppearance == "amazon") || ($assistantAppearance == "shemale") || ($assistantAppearance == "incubus") || ($assistantAppearance == "succubus") || ($assistantAppearance == "witch")>>
-				//With her $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
+				//With _hisA $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
 			<</if>>
 		<</if>>
 	<<else>>
@@ -937,7 +937,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc
 		<<FSChangeDecoration "FSHedonisticDecadence">>
 		<<if $PAPublic == 1>>
 			<<if ($assistantAppearance == "goddess") || ($assistantAppearance == "hypergoddess") || ($assistantAppearance == "preggololi") || ($assistantAppearance == "imp") || ($assistantAppearance == "incubus") || ($assistantAppearance == "succubus") || ($assistantAppearance == "witch")>>
-				//With her $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
+				//With _hisA $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
 			<</if>>
 		<</if>>
 	<<else>>
@@ -956,7 +956,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc
 		<<FSChangeDecoration "FSChattelReligionist" "clothesBoughtHabit">>
 		<<if $PAPublic == 1>>
 			<<if ($assistantAppearance == "goddess") || ($assistantAppearance == "monstergirl") || ($assistantAppearance == "incubus") || ($assistantAppearance == "succubus") || ($assistantAppearance == "witch") || ($assistantAppearance == "angel") || ($assistantAppearance == "cherub") || ($assistantAppearance == "imp")>>
-				//With her $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
+				//With _hisA $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
 			<</if>>
 		<</if>>
 	<<else>>
@@ -975,7 +975,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc
 		<<FSChangeDecoration "FSRomanRevivalist" "clothesBoughtToga">>
 		<<if $PAPublic == 1>>
 			<<if ($assistantAppearance == "businesswoman") || ($assistantAppearance == "amazon") || ($assistantAppearance == "incubus") || ($assistantAppearance == "succubus")>>
-				//With her $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
+				//With _hisA $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
 			<</if>>
 		<</if>>
 	<<else>>
@@ -994,7 +994,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc
 		<<FSChangeDecoration "FSAztecRevivalist" "clothesBoughtHuipil">>
 		<<if $PAPublic == 1>>
 			<<if ($assistantAppearance == "goddess") || ($assistantAppearance == "amazon") || ($assistantAppearance == "incubus") || ($assistantAppearance == "succubus")>>
-				//With her $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
+				//With _hisA $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
 			<</if>>
 		<</if>>
 	<<else>>
@@ -1032,7 +1032,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc
 		<<FSChangeDecoration "FSEdoRevivalist" "clothesBoughtKimono">>
 		<<if $PAPublic == 1>>
 			<<if ($assistantAppearance == "amazon") || ($assistantAppearance == "monstergirl") || ($assistantAppearance == "loli") || ($assistantAppearance == "kitsune") || ($assistantAppearance == "incubus") || ($assistantAppearance == "succubus")>>
-				//With her $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
+				//With _hisA $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
 			<</if>>
 		<</if>>
 	<<else>>
@@ -1051,7 +1051,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc
 		<<FSChangeDecoration "FSArabianRevivalist" "clothesBoughtHarem">>
 		<<if $PAPublic == 1>>
 			<<if ($assistantAppearance == "businesswoman") || ($assistantAppearance == "schoolgirl") || ($assistantAppearance == "incubus") || ($assistantAppearance == "succubus")>>
-				//With her $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
+				//With _hisA $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
 			<</if>>
 		<</if>>
 	<<else>>
@@ -1070,7 +1070,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc
 		<<FSChangeDecoration "FSChineseRevivalist" "clothesBoughtQipao">>
 		<<if $PAPublic == 1>>
 			<<if ($assistantAppearance == "schoolgirl") || ($assistantAppearance == "monstergirl") || ($assistantAppearance == "incubus") || ($assistantAppearance == "succubus")>>
-				//With her $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
+				//With _hisA $assistantAppearance appearance, $assistantName is a good public mascot for this goal.//
 			<</if>>
 		<</if>>
 	<<else>>
diff --git a/src/uncategorized/genericPlotEvents.tw b/src/uncategorized/genericPlotEvents.tw
index adfb2dc2faaae28d5c66011bf4eeaeaece957477..e5c2000132da07399491b9d70c30e5bc9b5a3bd5 100644
--- a/src/uncategorized/genericPlotEvents.tw
+++ b/src/uncategorized/genericPlotEvents.tw
@@ -67,8 +67,6 @@ As you step off the elevator, you hear several <<if $seeDicks != 100>>female <</
 	<<set $fixedRace = _races.random()>>
 <</if>>
 <<include "Generate New Slave">>
-<<setLocalPronouns $activeSlave>>
-<<run Enunciate($activeSlave)>>
 <<if $PStrip == 1>>
 	<<set $activeSlave.origin = "She offered herself to you as a slave to escape the hard life of a free whore.">>
 	<<set $activeSlave.career = "a prostitute">>
@@ -85,14 +83,6 @@ As you step off the elevator, you hear several <<if $seeDicks != 100>>female <</
 	<<set $activeSlave.whoreSkill = 15>>
 	<<set $activeSlave.addict = 2>>
 	<<slaveCost $activeSlave>>
-	One day, you walk by the commercial space where the strip club that closed was located. It's now advertised as a massage parlor, but the real merchandise on offer is obvious. You can see a bored-looking, half-dressed masseuse rubbing a client, but the sounds of someone having hard sex are filtering out from the back room, and the pricing sheet lists more orifices than massage options.
-	<br><br>
-	As you pass, a tired-looking streetwalker walking by wearing ripped jeans and a torn top offers $himself to you. $He's halfway through $his clumsy come-on before $he curses and rushes over to kneel at your feet. As $he does, $he shrieks, "You own thi<<s>> arcology! You — you offered to en<<s>>lave u<<s>> <<s>>tripper<<s>> when the old pla<<c>>e clo<<s>>ed down! Plea<<s>>e, plea<<s>>e, can I a<<cc>>ept? I'm <<s>>orry I didn't earlier. I'm <<s>>orry. I'll fucking do anything! Plea<<s>>e!"
-	<br><br>
-	//Enslaving $him will cost <<print cashFormat($contractCost)>>. Alternatively, you could sell $him. Less costs, this will bring in <<print cashFormat($slaveCost)>>.//
-	<br><br>
-	<<set $saleDescription = 0>>
-	<<include "Long Slave Description">>
 <<elseif $PStrip == 2>>
 	<<set $activeSlave.origin = "She offered herself to you, impressed by your handling of her employment situation.">>
 	<<set $activeSlave.career = "a prostitute">>
@@ -119,6 +109,19 @@ As you step off the elevator, you hear several <<if $seeDicks != 100>>female <</
 	<<set $activeSlave.clitPiercing = 1>>
 	<<set $activeSlave.hStyle = "strip">>
 	<<slaveCost $activeSlave>>
+<</if>>
+<<setLocalPronouns $activeSlave>>
+<<run Enunciate($activeSlave)>>
+<<if $PStrip == 1>>
+	One day, you walk by the commercial space where the strip club that closed was located. It's now advertised as a massage parlor, but the real merchandise on offer is obvious. You can see a bored-looking, half-dressed masseuse rubbing a client, but the sounds of someone having hard sex are filtering out from the back room, and the pricing sheet lists more orifices than massage options.
+	<br><br>
+	As you pass, a tired-looking streetwalker walking by wearing ripped jeans and a torn top offers $himself to you. $He's halfway through $his clumsy come-on before $he curses and rushes over to kneel at your feet. As $he does, $he shrieks, "You own thi<<s>> arcology! You — you offered to en<<s>>lave u<<s>> <<s>>tripper<<s>> when the old pla<<c>>e clo<<s>>ed down! Plea<<s>>e, plea<<s>>e, can I a<<cc>>ept? I'm <<s>>orry I didn't earlier. I'm <<s>>orry. I'll fucking do anything! Plea<<s>>e!"
+	<br><br>
+	//Enslaving $him will cost <<print cashFormat($contractCost)>>. Alternatively, you could sell $him. Less costs, this will bring in <<print cashFormat($slaveCost)>>.//
+	<br><br>
+	<<set $saleDescription = 0>>
+	<<include "Long Slave Description">>
+<<elseif $PStrip == 2>>
 	One day, you walk by the commercial space where the strip club that closed was located. It's now advertised as a massage parlor, and indeed, you can see a couple of competent-looking, modestly dressed masseuses seeing to clients. The only chink in the old world decorum is the pretty sign detailing pricing, which lists not only various massages but the masseuses' hands, breasts, mouths,<<if $seeDicks != 100>> pussies,<</if>> and anuses.
 	<br><br>
 	As you pass, a pretty streetwalker walking by wearing an attractive club $girl outfit sidles up to you. $He's halfway through $his first flirty come-on before $he recognizes you. $He gasps and <<say>>s, "You own thi<<s>> arcology! <<if $PC.title != 0>><<S>>ir<<else>>Ma'am<</if>>, I wa<<s>> a <<s>>tripper here! Thank you <<s>>o much for helping u<<s>>. That money <<s>>et mo<<s>>t of u<<s>> up pretty well." $He hefts $his chest. "It bought me new boob<<s>>, that'<<s>> for <<s>>ure. <<S>>o, um," $he bites $his lip in indecision, "I hear —" $he hesitates and then the words come out in a rush. "I hear your $girl<<s>> do really well. I've <<s>>een them, they look good. Can I come?" You arch an eyebrow and begin to ask whether $he knows what that means. "Yep," $he interrupts. "I'll be your <<s>>e<<x>> <<s>>lave."
@@ -348,8 +351,8 @@ When the aircraft lands at your penthouse pad, the would-be escapees are still u
 		<<set $activeSlave.whoreSkill = 0>>
 		<<set $activeSlave.entertainSkill = 0>>
 		<<set $activeSlave.fetish = "buttslut">>
-		<<set $activeSlave.behavioralFlaw = either("arrogant", "bitchy", "anorexic")>>
-		<<set $activeSlave.sexualFlaw = either("shamefast", "idealistic", "hates anal")>>
+		<<set $activeSlave.behavioralFlaw = either("anorexic", "arrogant", "bitchy")>>
+		<<set $activeSlave.sexualFlaw = either("hates anal", "idealistic", "shamefast")>>
 		<<set _newSlaves.push($activeSlave)>>
 	<</for>>
 <<elseif $PAidTarget == "maternity">>
@@ -377,7 +380,7 @@ When the aircraft lands at your penthouse pad, the would-be escapees are still u
 		<<set $activeSlave.boobs += 100*random(0,2)>>
 		<<set $activeSlave.lactation = 1>>
 		<<set $activeSlave.lactationDuration = 2>>
-		<<set $activeSlave.nipples = either("cute", "puffy", "partially inverted", "inverted")>>
+		<<set $activeSlave.nipples = either("cute", "inverted", "partially inverted", "puffy")>>
 		<<set _newSlaves.push($activeSlave)>>
 	<</for>>
 	In any case, you've enslaved a fine group. The expectant mothers vary widely; the only thing they have in common is their gravid bellies. None of them are in really serious condition, either, and they should bear the transition to slave life reasonably well despite their pregnancies.
@@ -1160,7 +1163,8 @@ A screen opposite your desk springs to life, <<if $assistant == 0>>showing your
 	<<set $activeSlave.fetish = "none">>
 	<<set $activeSlave.behavioralFlaw = "arrogant">>
 	<<set $activeSlave.sexualFlaw = "idealistic">>
-	You decide to stop the athletic slave $girl about to win $his freedom, and place your taser slug in $his muscular buttock. $He goes stiff and skids across the grass with a growl. Your taser slug is linked to $assistantName, who hits $him again whenever $he tries to continue running. Fury glints from her eyes, but $he apparently knows how to pick her battles. By the time you approach $him, $he's already bent over, presenting $himself, and from the oily sheen on $his privates, it looks like $he even managed to get some lube somewhere to make the experience a little easier. It is a strange thing, respecting a slave, but $he rises even higher in your estimation as you fuck her on the grass. $He does $his best to please you, having clearly decided to do her best given her situation. $He's sexually inexpert, but clearly smart enough to know when to submit.
+	<<setLocalPronouns $activeSlave>>
+	You decide to stop the athletic slave $girl about to win $his freedom, and place your taser slug in $his muscular buttock. $He goes stiff and skids across the grass with a growl. Your taser slug is linked to $assistantName, who hits $him again whenever $he tries to continue running. Fury glints from $his eyes, but $he apparently knows how to pick $his battles. By the time you approach $him, $he's already bent over, presenting $himself, and from the oily sheen on $his privates, it looks like $he even managed to get some lube somewhere to make the experience a little easier. It is a strange thing, respecting a slave, but $he rises even higher in your estimation as you fuck $him on the grass. $He does $his best to please you, having clearly decided to do $his best given $his situation. $He's sexually inexpert, but clearly smart enough to know when to submit.
 	<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 	<</replace>>
 <</link>>
@@ -1206,6 +1210,7 @@ A screen opposite your desk springs to life, <<if $assistant == 0>>showing your
 	<<set $activeSlave.fetishStrength = 60>>
 	<<set $activeSlave.behavioralFlaw = "anorexic">>
 	<<set $activeSlave.sexualFlaw = "idealistic">>
+	<<setLocalPronouns $activeSlave>>
 	You decide to stop the wide-hipped $loli struggling to run, and easily place your taser slug in $his broad rear. $He goes stiff and falls flat on $his face. Your taser slug is linked to $assistantName, but since the $girl can't manage to flip over, let alone stand, shocking $him more is unneeded. Fury glints from $his eyes, but $he fully realizes it's over for $him. By the time you approach $him, $he's hoisted $his overly wide rear upwards, presenting $himself, moisture beginning to ooze from $his virgin cunt. It looks like $he was being groomed to be a breeding slave, and $he seems to understand $his role quite well, judging by the way $he rocks $his hips back and forth for you. You thoroughly enjoy $his gratifyingly tight pussy, which is so nice that you confine yourself entirely to it despite the appealing sight of $his virgin butthole.
 	<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 	<</replace>>
@@ -1245,6 +1250,7 @@ A screen opposite your desk springs to life, <<if $assistant == 0>>showing your
 	<<set $activeSlave.fetish = "none">>
 	<<set $activeSlave.behavioralFlaw = "bitchy">>
 	<<set $activeSlave.sexualFlaw = "hates anal">>
+	<<setLocalPronouns $activeSlave>>
 	You decide to drop the luscious specimen in the rear, and place your taser slug in $his huge buttock. $He goes stiff and slumps to the grass in defeat. Your taser slug is linked to $assistantName, who hits $him again whenever $he tries to rise. Meanwhile, an athletic slave has successfully crossed the lawn, and is sobbing with joy as _hisU manumission forms are completed. Disbelief and anger fills your supine prize's eyes, and $he's spitting with rage by the time you reach $him. It's a comical sight, since $his gyrations only serve to display $his magnificent breasts and broad butt. $He must have been recently enslaved, and is new enough to slavery that you are obliged to tase $him twice more before $he presents $his holes. The impression of newness to slavery despite $his age is reinforced by $his gratifyingly tight pussy, which is so nice that you confine yourself entirely to it despite the appealing sight of what is almost certainly a virgin butthole.
 	<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 	<</replace>>
@@ -1290,6 +1296,7 @@ A screen opposite your desk springs to life, <<if $assistant == 0>>showing your
 	<<set $activeSlave.fetish = "none">>
 	<<set $activeSlave.sexualFlaw = "none">>
 	<<set $activeSlave.behavioralFlaw = "odd">>
+	<<setLocalPronouns $activeSlave>>
 	You decide to drop the really rare specimen, and place your taser slug in $his leg. $He goes stiff and slumps to the grass, squealing with pain since the taser robbed $his ability to break $his fall, leading $him to land on nearly <<if $showInches == 2>>a foot<<else>>thirty centimeters<</if>> of flaccid cock. Your taser slug is linked to $assistantName, who hits $him again whenever $he tries to rise. Meanwhile, an athletic slave has successfully crossed the lawn, and is sobbing with joy as _hisU manumission forms are completed. Apathy fills your supine prize's eyes, and $he simply lies face down and quiescent. $He obeys orders to roll over so you can see what you've gotten, however. $He's clearly a work of long and careful hormonal treatment. $He has no implants, but sports big breasts, feminine hips, a nice butt, plush lips, and a huge dick. When you fuck $his pussy and then $his anus, $he even gets a massive erection, showing that $he isn't even on hormone treatment to maintain this unusual set of attributes.
 	<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 	<</replace>>
diff --git a/src/uncategorized/lawCompliance.tw b/src/uncategorized/lawCompliance.tw
index d5801e91dddb7c29412633b1f2b040a9c4783ccf..fccb3288d38b27f9f15299c384c0422eb5bc9459 100644
--- a/src/uncategorized/lawCompliance.tw
+++ b/src/uncategorized/lawCompliance.tw
@@ -387,7 +387,7 @@
 			<<set $activeSlave.trust -= 10>>
 			<<set $activeSlave.height -= 10, $activeSlave.heightImplant = -1, $activeSlave.health -= -40>>
 		<<else>>
-			While $he was in the slave pens, $he was treated as nothing more than an unsalvageable slab of meat suitable only for the lowliest of jobs. $He's @@.hotpink;desperate@@ enough to follow any order in @@.gold;fear@@ that should $he fail, $he'll be discarded like all the other tall girls.
+			While $he was in the slave pens, $he was treated as nothing more than an unsalvageable slab of meat suitable only for the lowliest of jobs. $He's @@.hotpink;desperate@@ enough to follow any order in @@.gold;fear@@ that should $he fail, $he'll be discarded like all the other tall <<= $girl>>s.
 			<<set $activeSlave.devotion += 10, $activeSlave.trust -= 10>>
 		<</if>>
 	<<else>>
diff --git a/src/uncategorized/longSlaveDescription.tw b/src/uncategorized/longSlaveDescription.tw
index 9940183eaae87a34f182025d4a43652678808f7d..ac65d6a8e82b00f6a8ac9d2dde83a6d052b18945 100644
--- a/src/uncategorized/longSlaveDescription.tw
+++ b/src/uncategorized/longSlaveDescription.tw
@@ -327,17 +327,17 @@ is
 		<</if>>
 		<<if $activeSlave.birthName !== "" || $activeSlave.birthSurname !== "">>
 			<<if $activeSlave.devotion > 95>>
-				$He adores $his slave name and affects to have forgotten that $he was ever called
+				$he adores $his slave name and affects to have forgotten that $he was ever called
 			<<elseif $activeSlave.devotion > 50>>
-				$He uses $his slave name automatically and gives no sign that $he was ever called
+				$he uses $his slave name automatically and gives no sign that $he was ever called
 			<<elseif $activeSlave.devotion > 20>>
-				$He uses $his slave name despite once being known as
+				$he uses $his slave name despite once being known as
 			<<elseif $activeSlave.devotion >= -20>>
-				$He uses $his slave name hesitantly since $he was once called
+				$he uses $his slave name hesitantly since $he was once called
 			<<elseif $activeSlave.devotion >= -50>>
-				$He uses $his slave name with resentment since $he prefers $his original name,
+				$he uses $his slave name with resentment since $he prefers $his original name,
 			<<else>>
-				$He uses $his slave name only when constantly punished, since $he feels $his real name is
+				$he uses $his slave name only when constantly punished, since $he feels $his real name is
 			<</if>>
 			<<if $activeSlave.birthName === "">>
 				$activeSlave.birthSurname.
@@ -1170,13 +1170,13 @@ is
 			<<elseif _lover.mother == $activeSlave.ID || _lover.father == $activeSlave.ID>>
 				$He is in an @@.lightgreen;incestuous relationship with $his daughter, <<= SlaveFullName(_lover)>>.@@
 			<<elseif def $showDistantRelatives && $showDistantRelatives == 1>>
-    			<<if isAunt($activeSlave, _lover)>>
-    				$He is in an @@.lightgreen;incestuous relationship with $his aunt, <<= SlaveFullName(_lover)>>.@@
-    			<<elseif isAunt(_lover, $activeSlave)>>
-    				$He is in an @@.lightgreen;incestuous relationship with $his niece, <<= SlaveFullName(_lover)>>.@@
-    			<<elseif areCousins($activeSlave, _lover)>>
-    				$He is in an @@.lightgreen;incestuous relationship with $his cousin, <<= SlaveFullName(_lover)>>.@
-    			<</if>>
+				<<if isAunt($activeSlave, _lover)>>
+					$He is in an @@.lightgreen;incestuous relationship with $his aunt, <<= SlaveFullName(_lover)>>.@@
+				<<elseif isAunt(_lover, $activeSlave)>>
+					$He is in an @@.lightgreen;incestuous relationship with $his niece, <<= SlaveFullName(_lover)>>.@@
+				<<elseif areCousins($activeSlave, _lover)>>
+					$He is in an @@.lightgreen;incestuous relationship with $his cousin, <<= SlaveFullName(_lover)>>.@
+				<</if>>
 			<<else>>
 				<<switch areSisters($activeSlave, _lover)>>
 				<<case 1>>
@@ -1204,21 +1204,21 @@ is
 				$He is in an @@.lightgreen;incestuous relationship with $his daughter, you.@@
 			<</if>>
 		<<elseif def $showDistantRelatives && $showDistantRelatives == 1>>
-    		<<if isAunt($activeSlave, $PC)>>
-    			<<if $PC.title == 1>>
-    				$He is in an @@.lightgreen;incestuous relationship with $his uncle, you.@@
-    			<<elseif $PC.title == 0>>
-    				$He is in an @@.lightgreen;incestuous relationship with $his aunt, you.@@
-    			<</if>>
-    		<<elseif isAunt($PC, $activeSlave) && $PC.title == 0>>
-    			<<if $PC.title == 1>>
-    				$He is in an @@.lightgreen;incestuous relationship with $his nephew, you.@@
-    			<<elseif $PC.title == 0>>
-    				$He is in an @@.lightgreen;incestuous relationship with $his niece, you.@@
-    			<</if>>
-    		<<elseif areCousins($PC, $activeSlave)>>
-    			$He is in an @@.lightgreen;incestuous relationship with $his cousin, you.@@
-    		<</if>>
+			<<if isAunt($activeSlave, $PC)>>
+				<<if $PC.title == 1>>
+					$He is in an @@.lightgreen;incestuous relationship with $his uncle, you.@@
+				<<elseif $PC.title == 0>>
+					$He is in an @@.lightgreen;incestuous relationship with $his aunt, you.@@
+				<</if>>
+			<<elseif isAunt($PC, $activeSlave) && $PC.title == 0>>
+				<<if $PC.title == 1>>
+					$He is in an @@.lightgreen;incestuous relationship with $his nephew, you.@@
+				<<elseif $PC.title == 0>>
+					$He is in an @@.lightgreen;incestuous relationship with $his niece, you.@@
+				<</if>>
+			<<elseif areCousins($PC, $activeSlave)>>
+				$He is in an @@.lightgreen;incestuous relationship with $his cousin, you.@@
+			<</if>>
 		<<elseif areSisters($PC, $activeSlave) == 1>>
 			<<if $PC.title == 1>>
 				$He is in an @@.lightgreen;incestuous relationship with $his twin brother, you.@@
diff --git a/src/uncategorized/manageArcology.tw b/src/uncategorized/manageArcology.tw
index e9bd6b2010b8fde7a588ea243de8752b2c9ddc97..ae53475b18f103b5b5d2c5ad1dccf6ae0e38ed17 100644
--- a/src/uncategorized/manageArcology.tw
+++ b/src/uncategorized/manageArcology.tw
@@ -55,7 +55,7 @@ __Construction__
 	//Extreme weather is becoming common worldwide. The arcology's exterior can be hardened to reduce damage in case of heavy weather, but this will reduce its beauty somewhat and will cost <<print cashFormat(Math.trunc(50000*$upgradeMultiplierArcology))>>. Your citizens are <<if $weatherAwareness == 0>>likely to disapprove of this measure as alarmism.<<else>>@@.yellow;concerned that this measure has not been taken already.@@<</if>> // [[Apply weather cladding|Manage Arcology][cashX(forceNeg(Math.trunc(50000*$upgradeMultiplierArcology)), "capEx"), $weatherCladding = 1, $PC.engineering += 1]]
 <<elseif $weatherCladding == 1 && $arcologyUpgrade.spire == 1>>
 	The arcology's exterior is jacketed with unsightly but sturdy weather cladding. Your arcology is so prosperous that remodeling the cladding into something beautiful is within the realm of possibility. This massive project will cost <<print cashFormat(Math.trunc(3500000*$upgradeMultiplierArcology))>> and without a doubt render your arcology one of the wonders of the world.
-[[Remodel weather cladding|Manage Arcology][cashX(forceNeg(Math.trunc(3500000*$upgradeMultiplierArcology)), "capEx"), $weatherCladding = 2, $PC.engineering += 1]]
+	[[Remodel weather cladding|Manage Arcology][cashX(forceNeg(Math.trunc(3500000*$upgradeMultiplierArcology)), "capEx"), $weatherCladding = 2, $PC.engineering += 1]]
 <<elseif $weatherCladding == 1>>
 	//The arcology's exterior is jacketed with unsightly but sturdy weather cladding.//
 <<elseif $weatherCladding == 2>>
diff --git a/src/uncategorized/matchmaking.tw b/src/uncategorized/matchmaking.tw
index d2aa4c2e9337aa172dbe8cb65cebb9ea88d4b3e5..12a503ef0a9d0d0d50263822deebc7d5a0ff0433 100644
--- a/src/uncategorized/matchmaking.tw
+++ b/src/uncategorized/matchmaking.tw
@@ -102,9 +102,9 @@ Despite $his devotion and trust, $he is still a slave, and probably knows that $
 	<<elseif $assistantAppearance == "hypergoddess">>
 		goddess avatar completely unchanged, since _heA considers _hisA usual form perfectly appropriate for a marriage.
 	<<elseif $assistantAppearance == "loli">>
-		loli avatar looking surprisingly mature in a minister's collar. Though, _heA would rather be the flower girl in this wedding.
+		_loliA avatar looking surprisingly mature in a minister's collar. Though, _heA would rather be the flower _girlA in this wedding.
 	<<elseif $assistantAppearance == "preggololi">>
-		loli avatar looking surprisingly mature in a minister's collar. Though, _heA would rather be the flower girl in this wedding.
+		_loliA avatar looking surprisingly mature in a minister's collar. Though, _heA would rather be the flower _girlA in this wedding.
 	<<elseif $assistantAppearance == "schoolgirl">>
 		schoolgirl avatar looking willfully absurd in a minister's collar and _hisA usual short plaid skirt.
 	<<elseif $assistantAppearance == "angel">>
@@ -228,7 +228,7 @@ Despite $his devotion and trust, $he is still a slave, and probably knows that $
 	<<elseif ($eventSlave.bellyFluid >= 1500)>>
 		$His distended, <<print $eventSlave.inflationType>>-belly protrudes out the front of $his bridal wear.
 	<</if>>
-	<<if $eventSlave.chastityPenis>>
+	<<if $eventSlave.chastityPenis == 1>>
 		$His slave dick is hidden by its chastity cage.
 	<<elseif canAchieveErection($eventSlave)>>
 		<<if ($eventSlave.dick > 4) && ($eventSlave.belly >= 5000)>>
@@ -423,9 +423,9 @@ Being ordered into a relationship would be difficult for anyone, but they're so
 <<elseif ($subSlave.fetish == "cumslut") && ($eventSlave.balls > 0)>>
 	$eventSlave.slaveName has balls and $subSlave.slaveName has the appetite to drain them of every drop of cum.
 <<elseif ($eventSlave.fetish == "humiliation") && ($subSlave.fetish == "sadist")>>
-	$eventSlave.slaveName loves to be humiliated, and $subSlave.slaveName can definitely get off on another girl's shame.
+	$eventSlave.slaveName loves to be humiliated, and $subSlave.slaveName can definitely get off on another $girl's shame.
 <<elseif ($subSlave.fetish == "humiliation") && ($eventSlave.fetish == "sadist")>>
-	$subSlave.slaveName loves to be humiliated, and $eventSlave.slaveName can definitely get off on another girl's shame.
+	$subSlave.slaveName loves to be humiliated, and $eventSlave.slaveName can definitely get off on another _girl2's shame.
 <<elseif ($eventSlave.fetish == "buttslut") && ($subSlave.fetish == "dom")>>
 	$subSlave.slaveName likes fucking other girls, so once $eventSlave.slaveName asks _him2 to just do it to $his ass all the time, they're both happy.
 <<elseif ($subSlave.fetish == "buttslut") && ($eventSlave.fetish == "dom")>>
diff --git a/src/uncategorized/milkmaidSelect.tw b/src/uncategorized/milkmaidSelect.tw
index 8664f5a4abaa4296067f5d3d5aba8fe044a11d4f..aa43ca7b82515e77fa74500f392c6eea77ec9310 100644
--- a/src/uncategorized/milkmaidSelect.tw
+++ b/src/uncategorized/milkmaidSelect.tw
@@ -4,7 +4,8 @@
 <<showallAssignmentFilter>>
 <<if ($Milkmaid != 0)>>
 	<<set $Milkmaid = getSlave($Milkmaid.ID)>>
-	''__@@.pink;<<= SlaveFullName($Milkmaid)>>@@__'' is serving as your Milkmaid.<br><br>She will look after your livestock, helping them give milk<<if $seeDicks > 0>> and semen<</if>>.
+	<<setLocalPronouns $Milkmaid>>
+	''__@@.pink;<<= SlaveFullName($Milkmaid)>>@@__'' is serving as your Milkmaid.<br><br>$He will look after your livestock, helping them give milk<<if $seeDicks > 0>> and semen<</if>>.
 <<else>>
 	You have not selected a Milkmaid.
 <</if>>
diff --git a/src/uncategorized/neighborsDevelopment.tw b/src/uncategorized/neighborsDevelopment.tw
index f3de189c399f9618a910f9d291f090aa8d8f30a9..960d9ef25fbaad1190772324e927ac08b13e82f5 100644
--- a/src/uncategorized/neighborsDevelopment.tw
+++ b/src/uncategorized/neighborsDevelopment.tw
@@ -52,13 +52,14 @@
 <<if $arcologies[$i].government == "your agent">>
 <<for _k = 0; _k < $leaders.length; _k++>>
 <<if $leaders[_k].ID == $arcologies[$i].leaderID>>
+	<<setLocalPronouns $leaders[_k]>>
 	is being run by your agent @@.deeppink;<<= SlaveFullName($leaders[_k])>>@@.
 	<<set _agentIndex = $slaveIndices[$leaders[_k].ID]>>
 	<<if def _agentIndex && $slaves[_agentIndex].assignment != "be your agent">>
 		@@.red;BUG: $slaves[_agentIndex].slaveName also was <<print $slaves[_agentIndex].assignment>>!@@
 		<<= assignJob($slaves[_agentIndex], "be your agent")>>
 	<</if>>
-	<<if $agentBonus > 0>>@@.green;She does an excellent job this week.@@<</if>>
+	<<if $agentBonus > 0>>@@.green;$He does an excellent job this week.@@<</if>>
 	The arcology
 	<<break>>
 <</if>>
@@ -83,7 +84,8 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(Math.trunc((0.1*$arcol
 	<</if>>
 	@@.yellow;After a brief power struggle, it undergoes a change of government.@@
 	<<if def _agentIndex && _agentIndex != -1>>
-		@@.deeppink;$slaves[_agentIndex].slaveName@@ manages to escape with the help of a few loyal citizens and returns to you @@.gold;fearing your displeasure at her failure.@@
+		<<setLocalPronouns $slaves[_agentIndex]>>
+		@@.deeppink;$slaves[_agentIndex].slaveName@@ manages to escape with the help of a few loyal citizens and returns to you @@.gold;fearing your displeasure at $his failure.@@
 		<<set $slaves[_agentIndex].trust -= 40>>
 		<<= assignJob($slaves[_agentIndex], "rest")>> /* this takes care of necessary cleanup for agent and agent companion (if any) */
 	<</if>>
diff --git a/src/uncategorized/newSlaveIntro.tw b/src/uncategorized/newSlaveIntro.tw
index 66d3d3819d60a2c7ff8be8e4f9e2e11d463b52d6..805eb522fca2352096e70232d16a42e2ffd597d2 100644
--- a/src/uncategorized/newSlaveIntro.tw
+++ b/src/uncategorized/newSlaveIntro.tw
@@ -1154,8 +1154,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' <<
 				<<= FSChange("Eugenics", 3)>>
 			<</if>>
 		<</replace>>
-		<<set $activeSlave.dick = 0, $activeSlave.foreskin = 0, $activeSlave.vagina = -1, $activeSlave.preg = -2, $activeSlave.ovaries = 0, $activeSlave.pregSource = 0, $activeSlave.vaginalSkill = 0>>
-		<<set $activeSlave.pregWeek = 0, $activeSlave.pregType = 0, $activeSlave.pregKnown = 0>>
+		<<set $activeSlave.chastityVagina = 0,$activeSlave.dick = 0,$activeSlave.foreskin = 0,$activeSlave.ovaries = 0,$activeSlave.preg = -2,$activeSlave.pregKnown = 0,$activeSlave.pregSource = 0,$activeSlave.pregType = 0,$activeSlave.pregWeek = 0,$activeSlave.vagina = -1,$activeSlave.vaginalSkill = 0>>
 		<<run SetBellySize($activeSlave)>>
 		<<set $activeSlave.health -= 10, $activeSlave.trust = Math.clamp($activeSlave.trust-100, -100, 100)>>
 	<</link>>
@@ -1864,7 +1863,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' <<
 				As you release $him $he swings up with difficulty, but @@.hotpink;$he seems very pleased@@ to stay plugged for now.
 				<<set $activeSlave.devotion += 5>>
 			<<else>>
-				$His eyes swell with shock, but $he does not flinch or make a sound. When $he seems full enough, you shut off the valve, deciding to leave $him plugged for now. $He waddles off @@.hotpink;without apparent resentment@@ of this treatment.
+				<<if $activeSlave.eyes == -2>>$His face swells<<else>>$His eyes swell<</if>> with shock, but $he does not flinch or make a sound. When $he seems full enough, you shut off the valve, deciding to leave $him plugged for now. $He waddles off @@.hotpink;without apparent resentment@@ of this treatment.
 				<<set $activeSlave.devotion += 4>>
 			<</if>>
 		<<else>>
@@ -1975,7 +1974,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' <<
 					You stroke $his gurgling stomach slowly, before turning off the valve, unfastening $his binds and leaving your @@.hotpink;very pleased@@ cum balloon to savor $his meal. You'll make sure to set aside enough cum from your cumslaves for $him to drink $himself stupid with, and, glancing over your shoulder, find $him eagerly masturbating to $his cum filled gut. $He'll probably intend to keep $himself filled to the brim, which is fine by you.
 					<<set $activeSlave.devotion += 5>>
 				<<else>>
-					<<if $activeSlave.eyes == -2>>$His face swells with emotion and<<else>>$His eyes swell<</if>> with horror, but $he does not flinch or make a sound. $His belly also swells, from a few months of apparent pregnancy, to "spent too much time at the buffet", till it finally stops wobbling, grows taut and forces $his belly button into an outie. Satisfied, you shut off the valve, deciding to leave $him to consider $his cum filled middle. Time passes. $His<<if $activeSlave.eyes == -2>> blind face is distant<<else>> eyes are glazed over<</if>> but $he tolerates you slowly stroking $his stomach @@.hotpink;without apparent resentment.@@ You'll make sure to keep $him like this for the time being.
+					<<if $activeSlave.eyes == -2>>$His face swells<<else>>$His eyes swell<</if>> with horror, but $he does not flinch or make a sound. $His belly also swells, from a few months of apparent pregnancy, to "spent too much time at the buffet", till it finally stops wobbling, grows taut and forces $his belly button into an outie. Satisfied, you shut off the valve, deciding to leave $him to consider $his cum filled middle. Time passes. $His<<if $activeSlave.eyes == -2>> blind face is distant<<else>> eyes are glazed over<</if>> but $he tolerates you slowly stroking $his stomach @@.hotpink;without apparent resentment.@@ You'll make sure to keep $him like this for the time being.
 					<<set $activeSlave.devotion += 4>>
 				<</if>>
 			<<else>>
diff --git a/src/uncategorized/nextWeek.tw b/src/uncategorized/nextWeek.tw
index 320c201a101eb150dcf2f86d1b88b9a9f1d8626b..292057afd60e7cee4303d3bbea13b86c0ebc6247 100644
--- a/src/uncategorized/nextWeek.tw
+++ b/src/uncategorized/nextWeek.tw
@@ -147,11 +147,11 @@
 	<<elseif $slaves[_i].rivalry < 0>>
 		<<set $slaves[_i].rivalryTarget = 0, $slaves[_i].rivalry = 0>>
 	<</if>>
-	<<if $slaves[_i].vagina < 0 && $slaves[_i].vaginalAccessory != "none">>
-		<<set $slaves[_i].vaginalAccessory = "none">>
+	<<if $slaves[_i].vagina < 0 && ($slaves[_i].vaginalAccessory != "none" || $slaves[_i].chastityVagina != 0)>>
+		<<set $slaves[_i].vaginalAccessory = "none", $slaves[_i].chastityVagina = 0>>
 	<</if>>
-	<<if $slaves[_i].dick == 0 && $slaves[_i].dickAccessory != "none">>
-		<<set $slaves[_i].dickAccessory = "none">>
+	<<if $slaves[_i].dick == 0 && ($slaves[_i].dickAccessory != "none" || $slaves[_i].chastityPenis != 0)>>
+		<<set $slaves[_i].dickAccessory = "none", $slaves[_i].chastityPenis = 0>>
 	<</if>>
 	/% Fix some possible floating point rounding errors, and bring precision to one decimal place. %/
 	<<run SlaveStatClamp($slaves[_i])>>
diff --git a/src/uncategorized/pMercenaryRomeo.tw b/src/uncategorized/pMercenaryRomeo.tw
index 5e0f00c649018699fd2e9c6b2e31e8297ac7e71c..de304d37efcbc28d137a53b5a5a48516ca79fa3c 100644
--- a/src/uncategorized/pMercenaryRomeo.tw
+++ b/src/uncategorized/pMercenaryRomeo.tw
@@ -65,7 +65,7 @@ proffered by an attentive slave girl, he seems almost bashful.
 	<br><br>
 
 	<span id="result">
-	<<link "Decline, and tell her not to see him">>
+	<<link "Decline, and tell $him not to see him">>
 		<<EventNameDelink $activeSlave>>
 		<<replace "#result">>
 			$activeSlave.slaveName obeys your orders not to see the old mercenary. Though neither he or $activeSlave.slaveName says a word about it, his squadmates are not so closemouthed. Soon the tragic story of The Mercenary and the Slave Girl is being told in bars and brothels across the Free City, with you naturally playing @@.red;the role of the villain.@@
@@ -76,8 +76,8 @@ proffered by an attentive slave girl, he seems almost bashful.
 	<br><<link "Politely decline">>
 		<<EventNameDelink $activeSlave>>
 		<<replace "#result">>
-			"Ah well," he says, "didn't think you would, but I had to ask. If you'd be so kind as to keep her assigned so's I can see her, I would be grateful. That was a fine victory, <<= properTitle()>>; come down to the bar and join the boys and I. We'll buy you a drink. Devil knows, thanks to you we can afford to."
-			<<if $activeSlave.relationship == -3 && $activeSlave.fetish != "mindbroken" && $activeSlave.devotion+$activeSlave.trust > 190>>$activeSlave.slaveName politely thanks you for not letting him take her away.<</if>>
+			"Ah well," he says, "didn't think you would, but I had to ask. If you'd be so kind as to keep $him assigned so's I can see $him, I would be grateful. That was a fine victory, <<= properTitle()>>; come down to the bar and join the boys and I. We'll buy you a drink. Devil knows, thanks to you we can afford to."
+			<<if $activeSlave.relationship == -3 && $activeSlave.fetish != "mindbroken" && $activeSlave.devotion+$activeSlave.trust > 190>>$activeSlave.slaveName politely thanks you for not letting him take $him away.<</if>>
 			<<unset $romeoID>>
 		<</replace>>
 	<</link>>
@@ -86,48 +86,48 @@ proffered by an attentive slave girl, he seems almost bashful.
 		<<replace "#result">>
 			The mercenary leaves to collect his purchase. On the video feeds, you see that $activeSlave.slaveName can hardly believe what's
 			<<if $activeSlave.relationship == -3 && $activeSlave.fetish != "mindbroken" && $activeSlave.devotion+$activeSlave.trust > 190>>
-				happening. You can't hear what he says as he takes out a ring, but her reaction speaks clearly. She says "No."
+				happening. You can't hear what he says as he takes out a ring, but $his reaction speaks clearly. $He says "No."
 				<<if $activeSlave.amp != 1>>
-					She points back into your penthouse and returns to her home.
+					$He points back into your penthouse and returns to $his home.
 				<<else>>
-					She gestures towards the nearest camera and he helps her back into your penthouse.
+					$He gestures towards the nearest camera and he helps $him back into your penthouse.
 				<</if>>
 				The only thing she wants after being freed is to return to your side.
-				"I thought I was giving her a better life... But she already had everything she wanted. I'm sorry for putting you in such a position." You can hear the sadness in his voice. "Thank you for your time. I'm sorry to have bothered you."
-				Since she returned to slavery, it's only fair to return the credits he paid for her. He thanks you hollowly before heading on his way.
+				"I thought I was giving $him a better life... But $he already had everything $he wanted. I'm sorry for putting you in such a position." You can hear the sadness in his voice. "Thank you for your time. I'm sorry to have bothered you."
+				Since $he returned to slavery, it's only fair to return the credits he paid for $him. He thanks you hollowly before heading on his way.
 			<<else>>
 				happened.
 				<<if $activeSlave.amp != 1>>
-					She hugs him, sobbing into his shoulder. As they walk hand in hand down towards his quarters,
+					$He hugs him, sobbing into his shoulder. As they walk hand in hand down towards his quarters,
 				<<else>>
-					As he picks up her limbless form to give her a hug,
+					As he picks up $his limbless form to give $him a hug,
 				<</if>>
-				she gives the nearest camera a little nod and silently mouths the words "Thank you, <<= WrittenMaster($activeSlave)>>." Soon the romantic story of The Mercenary and the Slave Girl is being told in bars and brothels across the Free City, with you naturally playing @@.green;a supporting role.@@
+				$he gives the nearest camera a little nod and silently mouths the words "Thank you, <<= WrittenMaster($activeSlave)>>." Soon the romantic story of The Mercenary and the Slave $Girl is being told in bars and brothels across the Free City, with you naturally playing @@.green;a supporting role.@@
 				<<run cashX($slaveCost, "slaveTransfer")>>
 				<<include "Remove activeSlave">>
 			<</if>>
 			<<unset $romeoID>>
 		<</replace>>
 	<</link>>
-	<br><<link "Give her to him as a gift">>
+	<br><<link "Give $him to him as a gift">>
 		<<EventNameDelink $activeSlave>>
 		<<replace "#result">>
 			The mercenary cannot believe his ears. After you repeat yourself twice, he leaves to collect your gift, thanking you clumsily. On the video feeds, you see that $activeSlave.slaveName can hardly believe what's
 			<<if $activeSlave.relationship == -3 && $activeSlave.fetish != "mindbroken" && $activeSlave.devotion+$activeSlave.trust > 190>>
-				happening. You can't hear what he says as he takes out a ring, but her reaction speaks clearly. She says "No."
+				happening. You can't hear what he says as he takes out a ring, but $his reaction speaks clearly. She says "No."
 				<<if $activeSlave.amp != 1>>
-					She points back into your penthouse and returns to her home.
+					She points back into your penthouse and returns to $his home.
 				<<else>>
-					She gestures towards the nearest camera and he helps her back into your penthouse.
+					She gestures towards the nearest camera and he helps $him back into your penthouse.
 				<</if>>
 				The only thing she wants after being freed is to return to your side.
-				"I thought I was giving her a better life... But she already had everything she wanted. I'm sorry for putting you in such a position." You can hear the sadness in his voice. "Thank you for your time. I'm sorry to have bothered you."
+				"I thought I was giving $him a better life... But she already had everything she wanted. I'm sorry for putting you in such a position." You can hear the sadness in his voice. "Thank you for your time. I'm sorry to have bothered you."
 			<<else>>
 				happened.
 				<<if $activeSlave.amp != 1>>
 					She hugs him, sobbing into his shoulder. As they walk hand in hand down towards his quarters,
 				<<else>>
-					As he picks up her limbless form to give her a hug,
+					As he picks up $his limbless form to give $him a hug,
 				<</if>>
 				she gives the nearest camera a little nod and silently mouths the words "Thank you, <<= WrittenMaster($activeSlave)>>." You smile to yourself; when they get there they'll find flowers and a paid reservation at the arcology's best restaurant. Soon the story is being told in bars and brothels across the Free City, with you naturally playing @@.green;a starring role.@@ Some days later, you hear a dramatization is being filmed, with an aging action star playing the mercenary, a rising starlet playing $activeSlave.slaveName, and a noted character actor playing you.
 				<<run repX(15000, "event")>>
diff --git a/src/uncategorized/pPeacekeepersInfluence.tw b/src/uncategorized/pPeacekeepersInfluence.tw
index 116ae7c6942ee3aa3577fce93965e73811bc892b..ead885aa7f6b80234f38f9ab484cf094ec678901 100644
--- a/src/uncategorized/pPeacekeepersInfluence.tw
+++ b/src/uncategorized/pPeacekeepersInfluence.tw
@@ -36,9 +36,9 @@ As you review intelligence from the area at your desk,
 	<<case "hypergoddess">>
 		The beautiful, massively gravid goddess appears with _hisA usual wash of radiant golden light, and gently calms _hisA squirming occupants until _heA has your attention.
 	<<case "loli">>
-		The cute little loli pops up, literally, bouncing upward again and again until _heA is absolutely certain _heA has your attention.
+		The cute little _loliA pops up, literally, bouncing upward again and again until _heA is absolutely certain _heA has your attention.
 	<<case "preggololi">>
-		The slutty little loli appears bent over flashing _hisA pregnant pussy at you. _HeA giggles and straightens up once _heA is absolutely certain you've given _hisA moist cleft enough attention.
+		The slutty little _loliA appears bent over flashing _hisA pregnant pussy at you. _HeA giggles and straightens up once _heA is absolutely certain you've given _hisA moist cleft enough attention.
 	<<case "angel">>
 		The beautiful angel appears in _hisA usual wash of radiant white light and gently folds _hisA wings behind _himA as _heA patiently awaits your attention.
 	<<case "cherub">>
diff --git a/src/uncategorized/pRivalInitiation.tw b/src/uncategorized/pRivalInitiation.tw
index 3ea80795377f9047fe4b62b39b0822759900b5ce..45b85208a149225b907d5ea1987de9437e84063b 100644
--- a/src/uncategorized/pRivalInitiation.tw
+++ b/src/uncategorized/pRivalInitiation.tw
@@ -53,7 +53,7 @@ This is a special week, the week of your victory. <<EventNameLink>> awaits your
 	<br><<link "Publicly geld $him">>
 		<<EventNameDelink $activeSlave>>
 		<<replace "#result">>
-		You announce that since $activeSlave.slaveName has spent so much money and effort turning $himself into a girl with expensive hormones, you'll take a lower-tech step to bring $him further in that regard. An auto surgery is set up in public and the populace is treated to the edifying spectacle of a very large pair of testicles being efficiently removed by the modern surgical art. Unusually, $he was not given general anesthesia, but instead given local painkillers and made to watch on a monitor, to $his @@.gold;rage@@ and @@.mediumorchid;horror.@@ There is @@.green;applause@@ as the cauterizer seals the surgical site where $his massive scrotum used to hang. $His cock looks softer already.
+		You announce that since $activeSlave.slaveName has spent so much money and effort turning $himself into a girl with expensive hormones, you'll take a lower-tech step to bring $him further in that regard. An autosurgery is set up in public and the populace is treated to the edifying spectacle of a very large pair of testicles being efficiently removed by the modern surgical art. Unusually, $he was not given general anesthesia, but instead given local painkillers and made to watch on a monitor, to $his @@.gold;rage@@ and @@.mediumorchid;horror.@@ There is @@.green;applause@@ as the cauterizer seals the surgical site where $his massive scrotum used to hang. $His cock looks softer already.
 		<<set $activeSlave.devotion -= 50, $activeSlave.trust -= 50, $activeSlave.health -= 10, $activeSlave.balls = 0>>
 		<<run repX(2500, "event", $activeSlave)>>
 		<<set $rivalID = 0>>
diff --git a/src/uncategorized/pSchoolSuggestion.tw b/src/uncategorized/pSchoolSuggestion.tw
index 7c2427735f0b09c910cc27cf06b1192ce60af35f..c2f1e61c89e27e9e68e18e026e2e5cd5b3549838 100644
--- a/src/uncategorized/pSchoolSuggestion.tw
+++ b/src/uncategorized/pSchoolSuggestion.tw
@@ -27,7 +27,7 @@ An older woman standing across from him sniffs. "St. Claver's knows how to do bo
 The unusually competent young heiress standing next to him snickers. "If you're going to bring up refinement, um, hello, the Futanari Sisters. I have four futas in my apartment having sex with each other right now. How do I know? Because they're always having sex with each other. They never stop." Her eyes take on a faraway look and she pauses. "Um, haha, I know what I'm doing later."
 <</if>>
 <br><br>
-"If you like them soft and mellow, you got to go with The Cattle Ranch," a buff man blurts loudly while slamming down his empty mug. "I've got a pair of 'em for my bedroom; they are so loving after a good milking. Taste good too." His drinking buddy retorts, "Too much work is what they are. They might as well be animals with how they act.<<if $seePreg == 0>> In addition, hope you like pregnant pussies cause you need to keep them gravid or their milk dries up.<</if>>"
+"If you like them soft and mellow, you got to go with The Cattle Ranch," a buff man blurts loudly while slamming down his empty mug. "I've got a pair of 'em for my bedroom; they are so loving after a good milking. Taste good too." His drinking buddy retorts, "Too much work is what they are. They might as well be animals with how they act.<<if $seePreg == 0>> In addition, hope you like pregnant pussies, 'cause you need to keep them gravid or their milk dries up.<</if>>"
 <br><br>
 "I see good taste is scarce within this walls," suddenly stated a young man previously quiet in his corner. "I say quality and strength is where the game should be played and there's nothing better than the girls from the Hippolyta Academy.
 <br><br>
diff --git a/src/uncategorized/pUndergroundRailroad.tw b/src/uncategorized/pUndergroundRailroad.tw
index 8910cefa7d27520efc7512ebb8474f20de447349..58216bc0e6cd4dfd0a21f3e95638b0cbc3640732 100644
--- a/src/uncategorized/pUndergroundRailroad.tw
+++ b/src/uncategorized/pUndergroundRailroad.tw
@@ -191,7 +191,7 @@ that several nondescript citizens $he sees occasionally at work have passed a fe
 <br><<link "Chemically lobotomize $him to extirpate any record of the incident">>
 	<<set $nextButton = "Continue", $nextLink = "AS Dump", $returnTo = "Random Nonindividual Event">><<UpdateNextButton>> /* unlock Continue button */
 	<<replace "#result">>
-	You inform $activeSlave.slaveName that $he is to return to $his duties, which $he does, mystified. Later in the day $he finds $himself scheduled for surgery, and meekly goes. As $he feels the cool touch of the injector, loaded with powerful chemical lobotomizing agents, $he looks up at the camera above the auto-surgery with a hint of resigned apology in $his eyes. When $he is released from the surgery's care a few hours later, the hint is gone. @@.red;As is everything.@@
+	You inform $activeSlave.slaveName that $he is to return to $his duties, which $he does, mystified. Later in the day $he finds $himself scheduled for surgery, and meekly goes. As $he feels the cool touch of the injector, loaded with powerful chemical lobotomizing agents, $he looks up at the camera above the autosurgery with a hint of resigned apology in $his eyes. When $he is released from the surgery's care a few hours later, the hint is gone. @@.red;As is everything.@@
 	<<set $activeSlave.fetish = "mindbroken">>
 	<</replace>>
 <</link>>
diff --git a/src/uncategorized/peCombatTraining.tw b/src/uncategorized/peCombatTraining.tw
index 99adb7898ab352c2043d8ef18ecec42f8cf0ae2e..44822dcf88b4507f16eb6c8f491d50dc3e346d38 100644
--- a/src/uncategorized/peCombatTraining.tw
+++ b/src/uncategorized/peCombatTraining.tw
@@ -35,13 +35,14 @@ The feed from the small armory next door shows $him doing the latter. $He has fi
 	<<replace "#result">>
 	Over the feed, you tell $activeSlave.slaveName that $he can have $his choice of sexual release if $he scores well on the next set of targets. $He concentrates desperately, trying to ignore $his mounting arousal as $he imagines enjoying <<if $activeSlave.fetish == "none">>passionate sexual<<elseif $activeSlave.fetish == "boobs">>breast<<else>>$activeSlave.fetish<</if>> play. $He barely makes the stated score, and hurries smiling in for $his reward. $He feels @@.hotpink;closer to you,@@ but is distracted from any real learning and does not become a better fighter.
 	<<set $activeSlave.devotion += 4>>
-	<<if ($activeSlave.vagina > -1) && !($activeSlave.chastityVagina)>>
-		<<set $activeSlave.vaginalCount += 1>>
-		<<set $vaginalTotal += 1>>
+	<<if canDoVaginal($activeSlave)>>
+		<<= VaginalVCheck()>>
+	<<elseif canDoAnal($activeSlave)>>
+		<<= AnalVCheck()>>
 	<<else>>
-		<<set $activeSlave.analCount += 1>>
-		<<set $analTotal += 1>>
+		<<set $activeSlave.oralCount += 1>>
+		<<set $oralTotal += 1>>
 	<</if>>
 	<</replace>>
-<</link>>
+<</link>><<if canDoVaginal($activeSlave) && ($activeSlave.vagina == 0)>>//This option will take virginity//<<elseif !canDoVaginal($activeSlave) && ($activeSlave.anus == 0)>> //This option will take anal virginity//<</if>>
 </span>
diff --git a/src/uncategorized/peConcubineInterview.tw b/src/uncategorized/peConcubineInterview.tw
index cd1d75eb2c9d1ffffff4c13b501285b7332046c2..af9071e3678e3ce35c3f42b94781f7b75854c671 100644
--- a/src/uncategorized/peConcubineInterview.tw
+++ b/src/uncategorized/peConcubineInterview.tw
@@ -200,7 +200,7 @@ You receive an official communication from a popular talk show e-hosted in one o
 				maid outfit.
 			<<case "a slutty maid outfit">>
 				skimpy maid outfit.
-			<<case "a halter top dress" "a mini dress" "a maternity dress">>
+			<<case "a gothic lolita dress" "a halter top dress" "a long qipao" "a maternity dress" "a mini dress" "a Santa dress">>
 				dress.
 			<<case "a latex catsuit">>
 				latex catsuit.
@@ -218,11 +218,9 @@ You receive an official communication from a popular talk show e-hosted in one o
 				monokini.
 			<<case "a cybersuit">>
 				cybersuit.
-			<<case "a long qipao" "a gothic lolita dress">>
-				dress.
 			<<case "battlearmor">>
 				armor.
-			<<case "a dirndl">>
+			<<case "a skirt">>
 				dress.
 			<<case "a mounty outfit" "a police uniform">>
 				uniform.
diff --git a/src/uncategorized/persBusiness.tw b/src/uncategorized/persBusiness.tw
index 7ef1f3599641062fde7bab96e2c23d4f94910935..16bafe50273e4b0ec10c5461ca6b5e5dd52bf3df 100644
--- a/src/uncategorized/persBusiness.tw
+++ b/src/uncategorized/persBusiness.tw
@@ -279,7 +279,8 @@
 		During important meetings with higher society, it is wise to have a lot of slaves to put at the disposition of others. But some slaveowners grow really attached to their slaves, and so they'd much rather rent out unknown slaves from an anonymous owner's stock than use their own. This is a good opportunity to make some money, as shown by the @@.yellowgreen;<<print cashFormat(_income)>>@@ you managed to make.
 	<<case "chinese law">>
 		<<set _income += random(2000,3000)>>
-		This time, you have a good idea that will also make use of your Head Girl. You coax her into thinking she should accept bribes for the time being, making up a good reason on the spot, and she ends up bringing back @@.yellowgreen;<<print cashFormat(_income)>>@@ from all the bribes people gave for her to turn the other way.
+		<<setLocalPronouns $HeadGirl>>
+		This time, you have a good idea that will also make use of your Head Girl. You coax $him into thinking $he should accept bribes for the time being, making up a good reason on the spot, and $he ends up bringing back @@.yellowgreen;<<print cashFormat(_income)>>@@ from all the bribes people gave for $him to turn the other way.
 	<<case "chinese">>
 		<<set _income += random(1500,2500)>>
 		Being under what people call the Mandate of Heaven means you have a crucial importance in society, and some desperate people are willing to pay just for you to throw a word or small gesture in their direction, such as simply acknowledging a child or a slave, thinking that such things will make sure the Heavens smile upon them. For these services, you get @@.yellowgreen;<<print cashFormat(_income)>>.@@
@@ -802,7 +803,7 @@ Routine upkeep of your demesne costs @@.yellow;<<print cashFormat($costs)>>.@@
 		<</if>>
 	<</if>>
 <</if>>
-<<set $costs = Math.trunc(Math.abs(getCost($slaves)) * 100)/100>> /*overwrite the prediction and actually pay the bill.  GetCost should return a negative. Round to two decimal places.*/
+<<set $costs = Math.trunc(Math.abs(getCost($slaves)) * 100)/100>> /*overwrite the prediction and actually pay the bill. GetCost should return a negative. Round to two decimal places.*/
 <<if isNaN($costs)>>
 	<br>@@.red;Error, costs is NaN@@
 <</if>>
@@ -864,7 +865,7 @@ Routine upkeep of your demesne costs @@.yellow;<<print cashFormat($costs)>>.@@
 <</if>>
 
 /*Adding random changes to slave demand and supply*/
-/*Without events triggering and a relatively average supply/demand situation, the best case scenario is an increase/decrease in the price of slaves of 10 in one week. Chance of these conditions happening are 1/25. For demand or supply to go from average to their maximum will take 25 weeks if rolling highest growth each time a roll is made and all other luck is average. Because of the properties of the market and how it develops the likely prices one will encounter are distributed in a bellshaped fashion, centered around 1000. Minimum possible price is 750, maximum 1250. At +/- 35000 chances of supply or demand getting even more extreme are reduced.*/
+/*Without events triggering and a relatively average supply/demand situation, the best case scenario is an increase/decrease in the price of slaves of 10 in one week. Chance of these conditions happening are 1/25. For demand or supply to go from average to their maximum will take 25 weeks if rolling highest growth each time a roll is made and all other luck is average. Because of the properties of the market and how it develops the likely prices one will encounter are distributed in a bell-shaped fashion, centered around 1000. Minimum possible price is 750, maximum 1250. At +/- 35000 chances of supply or demand getting even more extreme are reduced.*/
 <<set _demandSlaveVar = random(-10,10)*10>>
 <<set _supplySlaveVar = random(-10,10)*10>>
 <<set $slaveCostRandom = random(-3,3)>>
diff --git a/src/uncategorized/personalAssistantAppearance.tw b/src/uncategorized/personalAssistantAppearance.tw
index 6e34f8a6048822774a31d8ecfad73f3a4dd10c00..fa509459bd64c96a6f4b8aea33f9e5b43999b1ac 100644
--- a/src/uncategorized/personalAssistantAppearance.tw
+++ b/src/uncategorized/personalAssistantAppearance.tw
@@ -133,7 +133,7 @@ _HeA's a cute little <<if $arcologies[0].FSSupremacist != "unset" && $assistantF
 	<<case "maturity preferentialist">>
 		_HeA's quite mature, with a lean face that accentuates _hisA cheekbones.
 	<<case "youth preferentialist">>
-		_HeA's surprisingly young, and looks as innocent as a computer generated image of a girl with a pornstar dick possibly can.
+		_HeA's surprisingly young, and looks as innocent as a computer generated image of a _girlA with a pornstar dick possibly can.
 	<<case "slimness enthusiast">>
 		_HeA's recently altered _hisA appearance to be slimmer and more athletic.
 	<<case "body purist">>
@@ -603,58 +603,58 @@ _HeA's a cute little <<if $arcologies[0].FSSupremacist != "unset" && $assistantF
 	<<if $assistantFSOptions>>
 	<<switch $assistantFSAppearance>>
 	<<case "paternalist">>
-		girl wearing a cute pink dress.
+		_girlA wearing a cute pink dress.
 	<<case "supremacist">>
-		girl wearing shorts and a pink t-shirt with the words '<<= properMaster()>>'s little $arcologies[0].FSSupremacistRace princess' on the front.
+		_girlA wearing shorts and a pink t-shirt with the words '<<= properMaster()>>'s little $arcologies[0].FSSupremacistRace princess' on the front.
 	<<case "subjugationist">>
 		slavegirl wearing nothing but a leather collar and trying _hisA best to do master proud.
 	<<case "roman revivalist">>
-		girl wearing a girl's stola.
+		_girlA wearing a girl's stola.
 	<<case "aztec revivalist">>
-		girl wearing only an overshirt; _hisA cute little legs are complimented by _hisA twin tails.
+		_girlA wearing only an overshirt; _hisA cute little legs are complimented by _hisA twin tails.
 	<<case "egyptian revivalist">>
-		girl wearing a simple white linen dress, kohl eye shadow and sandals.
+		_girlA wearing a simple white linen dress, kohl eye shadow and sandals.
 	<<case "edo revivalist">>
-		girl wearing a kimono far too large for _himselfA.
+		_girlA wearing a kimono far too large for _himselfA.
 	<<case "arabian revivalist">>
-		girl wearing a simple linen dress and a headscarf.
+		_girlA wearing a simple linen dress and a headscarf.
 	<<case "chinese revivalist">>
-		girl wearing a cute silk qipao.
+		_girlA wearing a cute silk qipao.
 	<<case "chattel religionist">>
-		girl wearing the garb of a priestess of the new faith.
+		_girlA wearing the garb of a priestess of the new faith.
 	<<case "repopulation focus">>
-		girl wearing a loose dress, its middle bulges considerably from _hisA pregnancy.
+		_girlA wearing a loose dress, its middle bulges considerably from _hisA pregnancy.
 	<<case "eugenics">>
 		slavegirl wearing nothing but an overly complex chastity belt and trying _hisA best to do master proud.
 	<<case "degradationist">>
-		girl wearing an oversized v-neck t-shirt. The neck hole hangs low enough to show off _hisA perky A-cup tits and the piercings through them.
+		_girlA wearing an oversized v-neck t-shirt. The neck hole hangs low enough to show off _hisA perky A-cup tits and the piercings through them.
 	<<case "physical idealist">>
-		girl wearing spats and a tight shirt. _HeA occasionally renders _himselfA sweaty, as if just finishing exercising.
+		_girlA wearing spats and a tight shirt. _HeA occasionally renders _himselfA sweaty, as if just finishing exercising.
 	<<case "hedonistic decadence">>
-		girl wearing spats barely pulled over _hisA big ass and a tight shirt that rides up _hisA chubby belly. It seems someone snuck out of gym class.
+		_girlA wearing spats barely pulled over _hisA big ass and a tight shirt that rides up _hisA chubby belly. It seems someone snuck out of gym class.
 	<<case "gender radicalist">>
-		girl wearing shorts and a t-shirt. _HeA's changed _hisA appearance recently to make _himselfA quite androgynous.
+		_girlA wearing shorts and a t-shirt. _HeA's changed _hisA appearance recently to make _himselfA quite androgynous.
 	<<case "gender fundamentalist">>
-		girl wearing a skirt and a white shirt. _HisA slightly swollen belly peeks out from under _hisA shirt causing _himA to blush whenever you glance at it.
+		_girlA wearing a skirt and a white shirt. _HisA slightly swollen belly peeks out from under _hisA shirt causing _himA to blush whenever you glance at it.
 	<<case "asset expansionist">>
-		girl wearing a school swimsuit. _HisA breasts are unrealistically huge for _hisA young age and bulge lewdly around the straps of _hisA suit.
+		_girlA wearing a school swimsuit. _HisA breasts are unrealistically huge for _hisA young age and bulge lewdly around the straps of _hisA suit.
 	<<case "transformation fetishist">>
-		girl wearing short shorts and a t-shirt. At first glance it looks like _heA stuck two overinflated balloons up _hisA shirt but with closer inspection they are revealed to be ridiculous implants.
+		_girlA wearing short shorts and a t-shirt. At first glance it looks like _heA stuck two overinflated balloons up _hisA shirt but with closer inspection they are revealed to be ridiculous implants.
 	<<case "pastoralist">>
-		girl wearing shorts and a white shirt. There's a little wet spot over each of _hisA nipples.
+		_girlA wearing shorts and a white shirt. There's a little wet spot over each of _hisA nipples.
 	<<case "maturity preferentialist">>
-		girl wearing a school uniform. _HeA keeps rubbing _hisA bottom, making it look like teacher just spanked _himA.
+		_girlA wearing a school uniform. _HeA keeps rubbing _hisA bottom, making it look like teacher just spanked _himA.
 	<<case "youth preferentialist">>
-		girl wearing a child's dress. _HeA looks barely more than three.
+		_girlA wearing a child's dress. _HeA looks barely more than three.
 	<<case "slimness enthusiast">>
-		girl wearing shorts and a white shirt. _HeA looks extremely thin.
+		_girlA wearing shorts and a white shirt. _HeA looks extremely thin.
 	<<case "body purist">>
-		girl. _HeA's recently improved _hisA appearance to look more natural, with freckles and a winning smile.
+		_girlA. _HeA's recently improved _hisA appearance to look more natural, with freckles and a winning smile.
 	<<default>>
-		girl wearing shorts and a white shirt.
+		_girlA wearing shorts and a white shirt.
 	<</switch>>
 	<<else>>
-		girl wearing shorts and a white shirt.
+		_girlA wearing shorts and a white shirt.
 	<</if>>
 <<if ($cockFeeder == 1) && (_paSeed == 1)>>
 	A recognizable little representation of one of your slaves has _hisU head between _hisA legs, and is eating _himA out. The slave must be down in the kitchen, getting a meal out of the food dispensers. As you watch, the little _girlA orgasms, blushing furiously when _heA notices you watching.
@@ -669,11 +669,11 @@ _HeA's a cute little <<if $arcologies[0].FSSupremacist != "unset" && $assistantF
 <<elseif (_paSeed == 6) && ($studio == 1)>>
 	_HeA's getting oral from a recognizable little representation of one of your slaves, and is using a handheld camera to film the action, gonzo style. The slave must be using one of the penthouse's many vibrators, and your personal assistant is clearly turning the feed of it into porn.
 <<elseif (_paSeed == 7) && ($marketAssistantAnnounced == 1)>>
-	_HeA's accompanied by your market assistant's chubby loli avatar.
+	_HeA's accompanied by your market assistant's chubby _loliM avatar.
 	<<if $marketAssistantRelationship == "cute">>
 		They're sitting face to face, playing a rapid game of pattycake. Their conversation exists on the level of code, not speech, detectable only as slight flickerings when their hands connect.
 	<<elseif $marketAssistantRelationship == "nonconsensual">>
-		$assistantName has _hisA chubby playmate pinned under _hisA butt, and is inspecting _hisA loli conquest's pussy. The market assistant's avatar groans as $assistantName's fingers explore _hisM tight passage, and then claps both hands over _hisM mouth, crying a little, unwilling to give $assistantName the satisfaction.
+		$assistantName has _hisA chubby playmate pinned under _hisA butt, and is inspecting _hisA _loliM conquest's pussy. The market assistant's avatar groans as $assistantName's fingers explore _hisM tight passage, and then claps both hands over _hisM mouth, crying a little, unwilling to give $assistantName the satisfaction.
 	<<elseif $marketAssistantRelationship == "incestuous">>
 		They're playing doctor with each other. $assistantName is currently inspecting _hisA sister's vagina, making sure everything is alright. Once _heA finishes, _heA states _hisA diagnosis and the needed cure. _HeA bends over _hisA sister and begins administering _hisA "cure".
 	<<else>>
@@ -684,7 +684,7 @@ _HeA's a cute little <<if $arcologies[0].FSSupremacist != "unset" && $assistantF
 <</if>>
 
 <<case "preggololi">>
-	_HeA's a cute little <<if $arcologies[0].FSSupremacist != "unset" && $assistantFSAppearance != "subjugationist">>$arcologies[0].FSSupremacistRace <<elseif $assistantFSAppearance == "subjugationist">>$arcologies[0].FSSubjugationistRace <</if>>girl with a large pregnant
+	_HeA's a cute little <<if $arcologies[0].FSSupremacist != "unset" && $assistantFSAppearance != "subjugationist">>$arcologies[0].FSSupremacistRace <<elseif $assistantFSAppearance == "subjugationist">>$arcologies[0].FSSubjugationistRace <</if>>_girlA with a large pregnant
 	<<if $assistantFSOptions>>
 	<<switch $assistantFSAppearance>>
 	<<case "paternalist">>
@@ -692,7 +692,7 @@ _HeA's a cute little <<if $arcologies[0].FSSupremacist != "unset" && $assistantF
 	<<case "supremacist">>
 		belly wearing a cute yellow dress. _HeA cradles _hisA swollen belly protectively, glowing with pride at carrying a $arcologies[0].FSSupremacistRace child.
 	<<case "subjugationist">>
-		belly, wearing nothing but a pregnancy biometrics collar. The collar's display reads 'Carrying 2 more $arcologies[0].FSSubjugationistRace subhumans!', something the girl occasionally reads aloud to _himselfA.
+		belly, wearing nothing but a pregnancy biometrics collar. The collar's display reads 'Carrying 2 more $arcologies[0].FSSubjugationistRace subhumans!', something the _girlA occasionally reads aloud to _himselfA.
 	<<case "roman revivalist">>
 		belly wearing a girl's stola.
 	<<case "aztec revivalist">>
@@ -754,11 +754,11 @@ _HeA's a cute little <<if $arcologies[0].FSSupremacist != "unset" && $assistantF
 <<elseif (_paSeed == 6) && ($studio == 1)>>
 	_HeA's getting oral from a recognizable little representation of one of your slaves, and is using a handheld camera to film the action, gonzo style. The slave must be using one of the penthouse's many vibrators, and your personal assistant is clearly turning the feed of it into porn.
 <<elseif (_paSeed == 7) && ($marketAssistantAnnounced == 1)>>
-	_HeA's accompanied by your market assistant's chubby loli avatar.
+	_HeA's accompanied by your market assistant's chubby _loliM avatar.
 	<<if $marketAssistantRelationship == "cute">>
 		$assistantName is laying on _hisA back with _hisA young friend's ear on _hisA pregnant belly. Their conversation exists on the level of code, not speech, detectable only as slight flutterings of $assistantName's baby kicking.
 	<<elseif $marketAssistantRelationship == "nonconsensual">>
-		$assistantName has _hisA chubby playmate pinned under _hisA butt, and is inspecting _hisA loli conquest's pussy. The market assistant's avatar groans as $assistantName's fingers explore _hisM tight passage, and then claps both hands over _hisM mouth, crying a little, unwilling to give $assistantName the satisfaction.
+		$assistantName has _hisA chubby playmate pinned under _hisA butt, and is inspecting _hisA _loliM conquest's pussy. The market assistant's avatar groans as $assistantName's fingers explore _hisM tight passage, and then claps both hands over _hisM mouth, crying a little, unwilling to give $assistantName the satisfaction.
 	<<elseif $marketAssistantRelationship == "incestuous">>
 		They're making out with each other, one hand down each other's panties, the other massaging their mutually swollen bellies, since $assistantName has introduced _hisA sister to _hisA boyfriends.
 	<<else>>
@@ -989,13 +989,13 @@ _HeA's a cute little <<if $arcologies[0].FSSupremacist != "unset" && $assistantF
 		slime with a pair of shorts and a shirt floating inside _himA.
 	<</if>>
 	<<if ($cockFeeder == 1) && (_paSeed == 1)>>
-		A recognizable little representation of one of your slaves has _hisU head in _hisA moist crotch, and is eating _himA out. The slave must be down in the kitchen, getting a meal out of the food dispensers. As you watch, the goo girl orgasms, nearly turning into a puddle when _heA notices you watching.
+		A recognizable little representation of one of your slaves has _hisU head in _hisA moist crotch, and is eating _himA out. The slave must be down in the kitchen, getting a meal out of the food dispensers. As you watch, the goo _girlA orgasms, nearly turning into a puddle when _heA notices you watching.
 	<<elseif ($suppository == 1) && (_paSeed == 2)>>
-		A recognizable little representation of one of your slaves is down on _hisU knees in front of _himA, letting the slime girl insert _himselfA gently in and out of _hisU butt. The slave must be receiving _hisU drugs from one of the dildo dispensers. As you watch, the goo girl notices you watching _himA, and attempts to retract entirely into the slave's ass.
+		A recognizable little representation of one of your slaves is down on _hisU knees in front of _himA, letting the slime _girlA insert _himselfA gently in and out of _hisU butt. The slave must be receiving _hisU drugs from one of the dildo dispensers. As you watch, the goo _girlA notices you watching _himA, and attempts to retract entirely into the slave's ass.
 	<<elseif ($masturbationAllowed == 1) && (_paSeed == 3)>>
 		_HeA's having sex with a recognizable little representation of one of your slaves, kissing _himU and giggling occasionally. The slave must be using one of the penthouse's many vibrators. _HeA sees you watching and blushes, but then reshapes _himselfA so you can see better.
 	<<elseif (_paSeed == 4)>>
-		A recognizable little representation of one of your slaves is lying with _hisU head in _hisA lap. The goo girl is covering _hisU chest and is listening to the slave breathe; the slave must be getting a checkup. The goo girl is patting the _girlU's head reassuringly.
+		A recognizable little representation of one of your slaves is lying with _hisU head in _hisA lap. The goo _girlA is covering _hisU chest and is listening to the slave breathe; the slave must be getting a checkup. The goo _girlA is patting the _girlU's head reassuringly.
 	<<elseif (_paSeed == 5) && ($invasionVictory == 1)>>
 		_HeA's planting a very wet kiss on a representation of one of your security drones; _heA hugs it as best until it pops into _himA. When _heA sees you looking at _himA, _heA giggles and says, "What? I like him! He did really well during the invasion. I promise he won't rust in here!"
 	<<elseif (_paSeed == 6) && ($studio == 1)>>
@@ -1313,7 +1313,7 @@ _HeA's a cute little <<if $arcologies[0].FSSupremacist != "unset" && $assistantF
 		<<if $minimumSlaveAge == 3>>
 			_HeA's adjusted _hisA tiny body slightly to be less feeble. Now _heA is a fully capable and adorable toddler witch in an oversized robe, though _heA has to fight to keep _hisA hat from covering _hisA entire head.
 		<<elseif $minimumSlaveAge <= 7>>
-			_HeA's decided to embrace _hisA spell and now appears as an adorable loli witch. _HeA has to watch _hisA step to not trip over _hisA trailing robe and has to constantly readjust _hisA head devouring hat.
+			_HeA's decided to embrace _hisA spell and now appears as an adorable _loliA witch. _HeA has to watch _hisA step to not trip over _hisA trailing robe and has to constantly readjust _hisA head devouring hat.
 		<<elseif $minimumSlaveAge <= 13>>
 			_HeA's decided to embrace _hisA spell and now appears as a cute teenage witch. _HisA robe is a little long, but _heA manages just fine.
 		<<else>>
@@ -1411,7 +1411,7 @@ _HeA's a cute little <<if $arcologies[0].FSSupremacist != "unset" && $assistantF
 		<<if $minimumSlaveAge == 3>>
 			_HeA's an adorable toddler just ripe for the taking; though a feeling of danger radiates from _hisA tiny body.
 		<<elseif $minimumSlaveAge <= 7>>
-			_HeA's a cute loli and ripe for the taking; though a feeling of danger radiates from _hisA small body.
+			_HeA's a cute _loliA and ripe for the taking; though a feeling of danger radiates from _hisA small body.
 		<<elseif $minimumSlaveAge <= 13>>
 			_HeA's a pretty teenager and ripe for the taking; though a feeling of danger radiates from _himA.
 		<<else>>
@@ -1676,7 +1676,7 @@ _HeA's a cute little <<if $arcologies[0].FSSupremacist != "unset" && $assistantF
 		<<if $minimumSlaveAge == 3>>
 			_HeA's an adorable toddler wearing a cute pink dress.
 		<<elseif $minimumSlaveAge <= 7>>
-			_HeA's a cute loli wearing tight, crotch hugging spats and a tight tub top across _hisA flat chest.
+			_HeA's a cute _loliA wearing tight, crotch hugging spats and a tight tub top across _hisA flat chest.
 		<<elseif $minimumSlaveAge <= 13>>
 			_HeA's an attractive teenager wearing short shorts and a sheer top that shows off _hisA newly grown breasts.
 		<<else>>
diff --git a/src/uncategorized/prestigiousSlave.tw b/src/uncategorized/prestigiousSlave.tw
index 53450b58a32afb905469e274835054a6d6fd921e..1bbb8f187d85cbd6da33e6288e0b6603adc21a6d 100644
--- a/src/uncategorized/prestigiousSlave.tw
+++ b/src/uncategorized/prestigiousSlave.tw
@@ -194,6 +194,8 @@ You check to see if any especially prestigious slaves are on auction. <<if $pres
 	<<set $activeSlave.origin = "You bought her at auction.">>
 	<<set $activeSlave.prestige = 1>>
 	<<set $activeSlave.prestigeDesc = "She is a natural albino, and was quickly enslaved due to the great demand for physically unusual specimens.">>
+	<<set $activeSlave.geneticQuirks.albinism = 2>>
+	<<set $activeSlave.albinismOverride = {skin: $activeSlave.skin, eyeColor: $activeSlave.eyeColor, hColor: $activeSlave.hColor}>>
 	<<set $activeSlave.career = "a slave">>
 	<<set $activeSlave.devotion = random(-90,-80)>>
 	<<set $activeSlave.trust = random(-45,-25)>>
@@ -666,6 +668,8 @@ You check to see if any especially prestigious slaves are on auction. <<if $pres
 	<<set $activeSlave.origin = "You bought her at auction.">>
 	<<set $activeSlave.prestige = 1>>
 	<<set $activeSlave.prestigeDesc = "She is a natural albino, and was quickly enslaved due to the great demand for physically unusual specimens.">>
+	<<set $activeSlave.geneticQuirks.albinism = 2>>
+	<<set $activeSlave.albinismOverride = {skin: $activeSlave.skin, eyeColor: $activeSlave.eyeColor, hColor: $activeSlave.hColor}>>
 	<<set $activeSlave.devotion = random(-90,-80)>>
 	<<set $activeSlave.trust = random(-45,-25)>>
 	<<set $activeSlave.health = random(40,60)>>
@@ -704,7 +708,7 @@ You check to see if any especially prestigious slaves are on auction. <<if $pres
 	<<set $activeSlave.anus = 3>>
 	<<set $activeSlave.dick = 1>>
 	<<if $activeSlave.foreskin > 0>><<set $activeSlave.foreskin = $activeSlave.dick>><</if>>
-<<if $activeSlave.balls > 0>><<set $activeSlave.scrotum = $activeSlave.balls>><</if>>
+	<<if $activeSlave.balls > 0>><<set $activeSlave.scrotum = $activeSlave.balls>><</if>>
 	<<set $activeSlave.balls = 0>>
 	<<set $activeSlave.weight = 0>>
 	<<set $activeSlave.clitPiercing = 2>>
diff --git a/src/uncategorized/ptWorkaround.tw b/src/uncategorized/ptWorkaround.tw
index 21a36dbd0bc5c77106c92d5950fb580caa0faa97..ab87d8a12b547e7a5ae5ad1e1ef87141e4220ff4 100644
--- a/src/uncategorized/ptWorkaround.tw
+++ b/src/uncategorized/ptWorkaround.tw
@@ -815,7 +815,7 @@
 	<<elseif $activeSlave.energy > 95>>
 		$He enjoys watching the poor pregnant slave wriggle, but $he's watching _hisU butt rather than the beating.
 	<<else>>
-		$He's a bit disturbed by the sight of you punishing the pregnant _girlU.
+		$He's a bit disturbed by the <<if canSee($activeSlave)>>sight<<elseif canHear($activeSlave)>>sound<<else>>idea<</if>> of you punishing the pregnant _girlU.
 	<</if>>
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;Before letting the poor pregnant slave go, you require $activeSlave.slaveName to add a blindfold to the restraints.
 	<<if $activeSlave.fetish == "dom">>
diff --git a/src/uncategorized/reAnalPunishment.tw b/src/uncategorized/reAnalPunishment.tw
index 34b09b76bf3e80d910f42df1118225e26a557210..3f4012bfc485391e60ab6a8ce3da84dad3a26308 100644
--- a/src/uncategorized/reAnalPunishment.tw
+++ b/src/uncategorized/reAnalPunishment.tw
@@ -29,7 +29,7 @@ As you're making the rounds through your penthouse, you hear $HeadGirl.slaveName
 <br><br>
 You shoot an amused glance at $HeadGirl.slaveName, who smiles back as _he2 explains the slave's minor sin and _his2 intention to sodomize the malefactor. _He2 does not bother to keep an edge of anticipation out of _his2 voice, and $activeSlave.slaveName cries harder and clings to you with renewed force as your Head Girl pronounces _his2 intention with cruel clarity.<<if $activeSlave.boobs > 4000>> The supplicant's breasts are so huge that $his embrace of your leg has completely surrounded it in deliciously heaving breastflesh.<<elseif $activeSlave.boobs > 1000>> The weight of the supplicant's breasts is quite noticeable as $his embrace of your leg presses them against it.<</if>> You look down at $activeSlave.slaveName. $He stares back with huge wet $activeSlave.eyeColor eyes, doing $his best to implore you with $his gaze, and scooting $his rear in towards your foot in an unconscious effort to protect it from the promised assrape. $He's quite authentically terrified; $his whole body is shaking.
 <br><br>
-$HeadGirl.slaveName is very much acting within _his2 duties, and $activeSlave.slaveName has now misbehaved twice by trying to go over your Head Girl's head by appealing to you. $HeadGirl.slaveName is ready to carry out the sentence: <<if ($HeadGirl.dick > 2) && canAchieveErection($HeadGirl) && !($HeadGirl.chastityPenis)>>_his2 cock is fully erect, and _he2's keeping it hard with one hand. _He2 slaps its head against _his2 other palm<<elseif $HeadGirl.dick > 0>>since _his2 dick isn't an appropriate instrument for inflicting anal pain, _he2's got an elephantine dildo ready. _He2 slaps it against _his2 palm<<else>>_He2's got an elephantine dildo ready, and _he2 slaps it against _his2 palm<</if>>, forcing a frightened moan from $activeSlave.slaveName.
+$HeadGirl.slaveName is very much acting within _his2 duties, and $activeSlave.slaveName has now misbehaved twice by trying to go over your Head Girl's head by appealing to you. $HeadGirl.slaveName is ready to carry out the sentence: <<if canPenetrate($HeadGirl) && ($HeadGirl.dick > 2)>>_his2 cock is fully erect, and _he2's keeping it hard with one hand. _He2 slaps its head against _his2 other palm<<elseif $HeadGirl.dick > 0>>since _his2 dick isn't an appropriate instrument for inflicting anal pain, _he2's got an elephantine dildo ready. _He2 slaps it against _his2 palm<<else>>_He2's got an elephantine dildo ready, and _he2 slaps it against _his2 palm<</if>>, forcing a frightened moan from $activeSlave.slaveName.
 
 <br><br>
 
@@ -48,9 +48,9 @@ $HeadGirl.slaveName is very much acting within _his2 duties, and $activeSlave.sl
 <br><<link "Take part">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
-	You explain $activeSlave.slaveName's double crime to $him, and tell $HeadGirl.slaveName to get started. Your Head Girl orders the weeping slave to present $his anus. The <<if $activeSlave.physicalAge > 30>>$woman<<else>>$girl<</if>> does not resist, but nor does $he comply. $HeadGirl.slaveName jabs a thumb into $activeSlave.slaveName's side, right above $his kidney, driving the wind out of the slave with a pained grunt. $He arches $his back involuntarily and $his grip on you loosens, so $HeadGirl.slaveName drags $him off you, telling $activeSlave.slaveName that it'll hurt less if $he cooperates and assumes the proper position. $He doesn't, so $HeadGirl.slaveName assfucks $him lying flat on the floor, with the poor $girl sobbing loudly as $HeadGirl.slaveName <<if ($HeadGirl.dick > 2) && canAchieveErection($HeadGirl) && !($HeadGirl.chastityPenis)>>pistons _his2 cock in and out of $his rectum<<else>>rams the massive dildo up $his butt<</if>>.
+	You explain $activeSlave.slaveName's double crime to $him, and tell $HeadGirl.slaveName to get started. Your Head Girl orders the weeping slave to present $his anus. The <<if $activeSlave.physicalAge > 30>>$woman<<else>>$girl<</if>> does not resist, but nor does $he comply. $HeadGirl.slaveName jabs a thumb into $activeSlave.slaveName's side, right above $his kidney, driving the wind out of the slave with a pained grunt. $He arches $his back involuntarily and $his grip on you loosens, so $HeadGirl.slaveName drags $him off you, telling $activeSlave.slaveName that it'll hurt less if $he cooperates and assumes the proper position. $He doesn't, so $HeadGirl.slaveName assfucks $him lying flat on the floor, with the poor $girl sobbing loudly as $HeadGirl.slaveName <<if canPenetrate($HeadGirl) && ($HeadGirl.dick > 2)>>pistons _his2 cock in and out of $his rectum<<else>>rams the massive dildo up $his butt<</if>>.
 	<br><br>
-	After enjoying the spectacle for a while, you judge that the slave's sphincter is loose enough and tell $HeadGirl.slaveName to flip the bitch over. @@.hotpink;_He2 obeys, chuckling,@@ sitting _himself2 down and hauling the reluctant slave onto _his2 lap by seizing a nipple and pulling it into position so the agonized slave is forced to follow. <<if ($HeadGirl.dick > 2) && canAchieveErection($HeadGirl) && !($HeadGirl.chastityPenis)>>$HeadGirl.slaveName reinserts _his2 dick, <<else>>$HeadGirl.slaveName maneuvers the dildo down over _his2 own crotch, approximating the position of a natural cock and using its base to stimulate _himself2. _He2 reinserts it,<</if>> intentionally missing twice to keep the experience unpleasant despite _his2 victim's well-fucked backdoor.
+	After enjoying the spectacle for a while, you judge that the slave's sphincter is loose enough and tell $HeadGirl.slaveName to flip the bitch over. @@.hotpink;_He2 obeys, chuckling,@@ sitting _himself2 down and hauling the reluctant slave onto _his2 lap by seizing a nipple and pulling it into position so the agonized slave is forced to follow. <<if canPenetrate($HeadGirl) && ($HeadGirl.dick > 2)>>$HeadGirl.slaveName reinserts _his2 dick, <<else>>$HeadGirl.slaveName maneuvers the dildo down over _his2 own crotch, approximating the position of a natural cock and using its base to stimulate _himself2. _He2 reinserts it,<</if>> intentionally missing twice to keep the experience unpleasant despite _his2 victim's well-fucked backdoor.
 	<br><br>
 	$activeSlave.slaveName, now facing upward rather than having $his face ground into the floor, notices for the first time that <<if $PC.dick == 1>>you've got your dick out and hard<<else>>you've donned one of your punishment-sized strap-ons<</if>>. $His $activeSlave.eyeColor eyes @@.gold;fly open with horror@@ as you kneel down and smack its head against $his <<if $activeSlave.vagina > -1>>poor pussy<<else>>stretched taint<</if>>, but $he doesn't realize how comprehensively fucked $he is until you press it against the top of $his already-stretched anal sphincter. "Plea<<s>>e no, <<Master>>! It won't fit! Plea<<s>>e <<if $activeSlave.vagina > 0>>put it in my pu<<ss>>y<<else>>let me <<s>>uck it<</if>> in<<s>>tead," $he begs desperately. "I p-promi<<s>>e I'll be a g-good giiAAIIEEHH," $he howls. $He gasps for air, tears streaming down $his $activeSlave.skin cheeks, and then continues: "AAAH! FUCK! TAKE IT OUUUT! N-NOOO, PLEA<<S>>E DON'T THRU<<S>>T — AAAH! AAAH! AAAH!"
 	<<set $activeSlave.trust -= 5, $activeSlave.analCount += 1>>
diff --git a/src/uncategorized/reBoomerang.tw b/src/uncategorized/reBoomerang.tw
index faeb4070dedfebc00bfc5a3724e7dd6f82a4ad04..9575cf067ec771050fedf778d12d8a1f06a10f39 100644
--- a/src/uncategorized/reBoomerang.tw
+++ b/src/uncategorized/reBoomerang.tw
@@ -15,10 +15,10 @@ Your work is interrupted by $assistantName with an alert from the entrance to th
 <<else>>
 	_HeA's got the incident flagged as not fitting into any of the usual categories of disturbance, and requests your attention. _HeA
 <</if>>
-brings up the relevant feeds. There's a naked body crumpled pathetically against one wall of the entryway, beneath the communications panel. It's <<= SlaveFullName($activeSlave)>>, who you sold _weeks weeks ago. $He's looking up into one of the cameras plaintively.
+brings up the relevant feeds. There's a naked body crumpled pathetically against one wall of the entryway, beneath the communications panel. It's <<= SlaveFullName($activeSlave)>>, whom you sold _weeks weeks ago. $He's looking up into one of the cameras plaintively.
 "Plea<<s>>e take me back," $he whispers, not wanting to draw the attention of passersby, and knowing that $his faint words will be picked up and amplified for you.
 
-<<set $activeSlave.collar = "none", $activeSlave.choosesOwnClothes = 0, $activeSlave.clothes = "no clothing", $activeSlave.buttplug = "none", $activeSlave.vaginalAccessory = "none", $activeSlave.dickAccessory = "none">>
+<<set $activeSlave.collar = "none", $activeSlave.choosesOwnClothes = 0, $activeSlave.clothes = "no clothing", $activeSlave.buttplug = "none", $activeSlave.vaginalAccessory = "none", $activeSlave.dickAccessory = "none", $activeSlave.chastityAnus = 0, $activeSlave.chastityPenis = 0, $activeSlave.chastityVagina = 0>>
 <<set $activeSlave.health = random(-40,-25)>>
 
 /* ------------------ pregnancy setup start here----------------- */
@@ -180,7 +180,7 @@ brings up the relevant feeds. There's a naked body crumpled pathetically against
 	<<if $activeSlave.ovaries>>
 		<<set $activeSlave.ovaries = 0, $activeSlave.preg = 0, WombFlush($activeSlave), $activeSlave.pregType = 0, $activeSlave.vagina = 4, $activeSlave.pregWeek = 0, $activeSlave.pregKnown = 0>>
 		<<run SetBellySize($activeSlave)>>
-		"They f-fixed me, t-to '<<s>>ave on maintenan<<c>>e of my cunt,'
+		"They f-fi<<x>>ed me, t-to '<<s>>ave on maintenan<<c>>e of my cunt,'
 	<<elseif $activeSlave.balls>>
 		<<set $activeSlave.balls = 0, $activeSlave.anus = 4>>
 		"They c-cut my b-ball<<s>> off, to 'keep me do<<c>>ile,'
@@ -191,7 +191,7 @@ brings up the relevant feeds. There's a naked body crumpled pathetically against
 	and then u<<s>>ed me to <<s>>ati<<s>>fy labor menial<<s>>. Ten an hour."
 	<<set $activeSlave.behavioralFlaw = "odd", $activeSlave.sexualFlaw = "hates men">>
 <<case "slimness enthusiast arcology">>
-	"It wa<<s>> horrible." You sold $him to a pleasant Slimness Enthusiast arcology, but somehow $he's acquired grotesque implants. "The arcology got a new owner." $He shudders. "I gue<<ss>> the ni<<c>>e one wa<<s>> weak, and, and the new one i<<s>> changing thing<<s>>. Sh-she l-like<<s>> t-to ruin the <<s>>lim one<<s>>." It's nothing short of incredible that $he managed to get back here. $He must have sold and traded $himself without hesitation.
+	"It wa<<s>> horrible." You sold $him to a pleasant Slimness Enthusiast arcology, but somehow $he's acquired grotesque implants. "The arcology got a new owner." $He shudders. "I gue<<ss>> the ni<<c>>e one wa<<s>> weak, and, and the new one i<<s>> changing thing<<s>>. <<Sh>>-<<sh>>e l-like<<s>> t-to ruin the <<s>>lim one<<s>>." It's nothing short of incredible that $he managed to get back here. $He must have sold and traded $himself without hesitation.
 	<<set $activeSlave.boobsImplant = 200*random(2,4), $activeSlave.boobs += $activeSlave.boobsImplant>>
 	<<set $activeSlave.buttImplant = random(2,4), $activeSlave.butt = Math.clamp($activeSlave.butt+$activeSlave.buttImplant,0,10)>>
 	<<set $activeSlave.lipsImplant = 10*random(1,3), $activeSlave.lips = Math.clamp($activeSlave.lips+$activeSlave.lipsImplant,0,100)>>
diff --git a/src/uncategorized/reDevotedMotherDaughter.tw b/src/uncategorized/reDevotedMotherDaughter.tw
index ec7b818dfe2c3cf48994e864e03ae2ab065c10aa..fc9f65f5dc316071b4aa99c76f1bdc1a28f8b22c 100644
--- a/src/uncategorized/reDevotedMotherDaughter.tw
+++ b/src/uncategorized/reDevotedMotherDaughter.tw
@@ -21,15 +21,17 @@
 </span>
 <<set $slaves[$i].clothes = _clothesTemp>>
 <<set $slaves[$j].clothes = _clothesTemp2>>
+<<setLocalPronouns $slaves[$i]>>
+<<setLocalPronouns $slaves[$j] 2>>
 
-$slaves[$i].slaveName and her daughter $slaves[$j].slaveName are both good slaves, devoted and obedient. They'd probably do anything you order them to do. By happenstance they come before you for inspection one after the other. They certainly see each other stark naked frequently enough. As you finish $slaves[$i].slaveName's inspection, her daughter waits patiently for her turn. It occurs to you that they probably would do //anything// you order them to do, and that they're so acclimated to sexual slavery that they might well enjoy it.
+$slaves[$i].slaveName and $his daughter $slaves[$j].slaveName are both good slaves, devoted and obedient. They'd probably do anything you order them to do. By happenstance they come before you for inspection one after the other. They certainly see each other stark naked frequently enough. As you finish $slaves[$i].slaveName's inspection, $his daughter waits patiently for _his2 turn. It occurs to you that they probably would do //anything// you order them to do, and that they're so acclimated to sexual slavery that they might well enjoy it.
 
 <br><br>
 
 <span id="result">
 <br><<link "Spend the night sharing your bed with them, and each of them with the other">>
 	<<replace "#result">>
-	Neither of them bats an eye when you announce you're turning in early and that they'll be joining you. Since they're already naked, they get into your big soft bed before you and lie facing each other, with enough room in between them for you to take a central position. They clearly assume you'll start with one of them on each side of you, so they're quite surprised when you slide in behind $slaves[$i].slaveName instead. $slaves[$j].slaveName snuggles up to her mother happily enough, however. You extend the foreplay to hours, eventually bringing both of them to such a state of naked arousal that they begin grinding against each other as much as they do you. They get the idea, and things turn into a sort of unspoken mutual one-upmanship between them. What starts with $slaves[$j].slaveName clearly feeling very daring as she sucks her mother's nipple ends with $slaves[$i].slaveName lying on her back getting fucked by you while she orally pleasures $slaves[$j].slaveName. You're face to face with $slaves[$j].slaveName and she groans happily into your mouth as $slaves[$i].slaveName moans into her fuckhole.
+	Neither of them bats an eye when you announce you're turning in early and that they'll be joining you. Since they're already naked, they get into your big soft bed before you and lie facing each other, with enough room in between them for you to take a central position. They clearly assume you'll start with one of them on each side of you, so they're quite surprised when you slide in behind $slaves[$i].slaveName instead. $slaves[$j].slaveName snuggles up to _his2 mother happily enough, however. You extend the foreplay to hours, eventually bringing both of them to such a state of naked arousal that they begin grinding against each other as much as they do you. They get the idea, and things turn into a sort of unspoken mutual one-upmanship between them. What starts with $slaves[$j].slaveName clearly feeling very daring as _he2 sucks _his2 mother's nipple ends with $slaves[$i].slaveName lying on $his back getting fucked by you while $he orally pleasures $slaves[$j].slaveName. You're face to face with $slaves[$j].slaveName and _he2 groans happily into your mouth as $slaves[$i].slaveName moans into _his2 fuckhole.
 	@@.mediumaquamarine;They have both become more trusting of you.@@
 
 	<<set $slaves[$i].trust += 4, $slaves[$j].trust += 4, $slaves[$i].oralCount += 1, $slaves[$j].oralCount += 1, $oralTotal += 2>>
@@ -54,7 +56,7 @@ $slaves[$i].slaveName and her daughter $slaves[$j].slaveName are both good slave
 <</link>>
 <br><<link "Get them started and then keep them at it in your office">>
 	<<replace "#result">>
-	You give them orders of devastating simplicity: they are to repair to the couch in your office and are to take turns getting each other off until such time as you tell them otherwise. They're momentarily stunned, but $slaves[$i].slaveName takes the lead and draws her daughter over to the couch by the hand. They're both accomplished sex slaves and obey orders well, so they are quite successful in the little game, if a bit mechanical. For the rest of the day, interviewees come and go and are treated to the sight of the two of them having subdued sex on the couch. Showing off one's slaves for business interlocutors is a common Free Cities practice, but more than one perceptive person figures out what the resemblance between the two slaves and the age gap between them really means. Of course, all those who figure it out are impressed by your sheer decadence.
+	You give them orders of devastating simplicity: they are to repair to the couch in your office and are to take turns getting each other off until such time as you tell them otherwise. They're momentarily stunned, but $slaves[$i].slaveName takes the lead and draws $his daughter over to the couch by the hand. They're both accomplished sex slaves and obey orders well, so they are quite successful in the little game, if a bit mechanical. For the rest of the day, interviewees come and go and are treated to the sight of the two of them having subdued sex on the couch. Showing off one's slaves for business interlocutors is a common Free Cities practice, but more than one perceptive person figures out what the resemblance between the two slaves and the age gap between them really means. Of course, all those who figure it out are impressed by your sheer decadence.
 	@@.green;Your reputation has increased considerably.@@
 	<<run repX(2500, "event", $slaves[$i])>>
 	<<run repX(2500, "event", $slaves[$j])>>
diff --git a/src/uncategorized/reDevotedTwins.tw b/src/uncategorized/reDevotedTwins.tw
index 37264f21d295769ad17c4faf20c22d0fa0c240d0..cfea87fabb593d5bda0f01f1b25732dfd6c44ea0 100644
--- a/src/uncategorized/reDevotedTwins.tw
+++ b/src/uncategorized/reDevotedTwins.tw
@@ -32,7 +32,7 @@ $slaves[$i].slaveName and $slaves[$j].slaveName are such good and devoted slaves
 <</link>>
 <br><<link "Use them side by side">>
 	<<replace "#result">>
-	<br>Slave twins inevitably get used to threesomes with their sibling, and $slaves[$i].slaveName and $slaves[$j].slaveName are no exception. They greet you with every appearance of arousal and begin a carefully balanced routine — foreplay with you, of course, but whatever parts of them aren't working on you work on the other slave. They stroke you while making out, stroke each other while sucking you to rock hardness, and finger each others' holes while <<if $PC.vagina == 1>>crowding their faces against your pussy. You reach down and seize a nipple in each hand, pulling them upward so they can suck your nipples instead; they use manual stimulation to keep you going while they do. With one straddling each of your thighs, grinding shamelessly, you can reach around and molest their butts with your own hands.<<else>>rubbing four breasts up and down your dick. Since you only have one cock, the symmetry ends when you start fucking them. As you switch from hole to hole, whichever twin isn't getting fucked at the moment uses her mouth and hands to stimulate your balls and her twin's fuckhole as you pound it. When you finally cum in $slaves[$j].slaveName, $slaves[$i].slaveName sucks it out and they kiss deeply to share your ejaculate.<</if>> @@.hotpink;They have both become more devoted to you.@@
+	<br>Slave twins inevitably get used to threesomes with their sibling, and $slaves[$i].slaveName and $slaves[$j].slaveName are no exception. They greet you with every appearance of arousal and begin a carefully balanced routine — foreplay with you, of course, but whatever parts of them aren't working on you work on the other slave. They stroke you while making out, stroke each other while sucking you to rock hardness, and finger each others' holes while <<if $PC.vagina == 1>>crowding their faces against your pussy. You reach down and seize a nipple in each hand, pulling them upward so they can suck your nipples instead; they use manual stimulation to keep you going while they do. With one straddling each of your thighs, grinding shamelessly, you can reach around and molest their butts with your own hands.<<else>>rubbing four breasts up and down your dick. Since you only have one cock, the symmetry ends when you start fucking them. As you switch from hole to hole, whichever twin isn't getting fucked at the moment uses their mouth and hands to stimulate your balls and their twin's fuckhole as you pound it. When you finally cum in $slaves[$j].slaveName, $slaves[$i].slaveName sucks it out and they kiss deeply to share your ejaculate.<</if>> @@.hotpink;They have both become more devoted to you.@@
 
 	<<set $slaves[$i].devotion += 4, $slaves[$j].devotion += 4>>
 
diff --git a/src/uncategorized/reDevotees.tw b/src/uncategorized/reDevotees.tw
index e0b6c27ada50444d2a6a03f236822c68aa84761f..b4d20ccc3ba1dbd4c1865e4eec0d9ac9938cb591 100644
--- a/src/uncategorized/reDevotees.tw
+++ b/src/uncategorized/reDevotees.tw
@@ -39,7 +39,7 @@ You have a mature, well-trained household of slaves. $slaves[_red1].slaveName, $
 <</link>>
 <br><<link "Visit a casino in good company">>
 	<<replace "#result">>
-	The croupiers, bouncers and regulars down at the nearest casino hardly know what to think when you appear with a chit full of cash and twice as many girls as you have arms. You live the night big, starting at the poker table with so many tits and asses on display behind you that, @@.yellowgreen;baby, you make a killing.@@ $slaves[_red1].slaveName, $slaves[_red2].slaveName, $slaves[_red3].slaveName, and $slaves[_red4].slaveName quickly catch the rhythm of the place: slaves can get away with a little more in the smoky, whiskey soaked, money tinted atmosphere, and they @@.hotpink;enjoy themselves immensely.@@ They flirt, flash, giggle, kiss each other, and generally destroy the concentration of everyone within twenty <<if $showInches == 2>>yards<<else>>meters<</if>> — except you. Ring-a-ding-ding.
+	The croupiers, bouncers and regulars down at the nearest casino hardly know what to think when you appear with a chit full of cash and twice as many partners as you have arms. You live the night big, starting at the poker table with so many tits and asses on display behind you that, @@.yellowgreen;baby, you make a killing.@@ $slaves[_red1].slaveName, $slaves[_red2].slaveName, $slaves[_red3].slaveName, and $slaves[_red4].slaveName quickly catch the rhythm of the place: slaves can get away with a little more in the smoky, whiskey soaked, money tinted atmosphere, and they @@.hotpink;enjoy themselves immensely.@@ They flirt, flash, giggle, kiss each other, and generally destroy the concentration of everyone within twenty <<if $showInches == 2>>yards<<else>>meters<</if>> — except you. Ring-a-ding-ding.
 	<<set _cashX = random(30,100)*3>>
 	<<set $slaves[_red1].devotion += 4>>
 	<<run cashX(_cashX, "event", $slaves[_red1])>>
diff --git a/src/uncategorized/reFSAcquisition.tw b/src/uncategorized/reFSAcquisition.tw
index da3a06d4161bd7126f62991834dc598939543998..d34ab42cac1d7764cffa4edfb67a77e8225fdfff 100644
--- a/src/uncategorized/reFSAcquisition.tw
+++ b/src/uncategorized/reFSAcquisition.tw
@@ -1137,25 +1137,25 @@ The person placing the call is physically quite unusual, to the point of looking
 
 You receive so many messages, as a noted titan of the new Free Cities world, that $assistantName has to be quite draconian in culling them. _HeA lets only the most important through to you. One category of message that always gets through regardless of content, though, is requests for voluntary enslavement. As the new world takes shape, they've become less rare than they once were.
 <br><br>
-This one, unusually, is voice-only. The caller explains why in a painfully quiet voice: $he's turning $activeSlave.actualAge in the next few days, and $he's fairly certain $his family is about to sell $him into slavery. The mixed notes of despair, apathy, and fear in $his voice are heartrending, even to you. $He begs you to make the necessary arrangements to enslave $him. $He's heard about you and how you like young girls, and $he's also heard about brothels and arcades. There is very little hope discernible in $his tone or the pictures $he sends you.
+This one, unusually, is voice-only. The caller explains why in a painfully quiet voice: $he's turning $activeSlave.actualAge in the next few days, and $he's fairly certain $his family is about to sell $him into slavery. The mixed notes of despair, apathy, and fear in $his voice are heartrending, even to you. $He begs you to make the necessary arrangements to enslave $him. $He's heard about you and how you like young <<= $girl>>s, and $he's also heard about brothels and arcades. There is very little hope discernible in $his tone or the pictures $he sends you.
 
 <<case "Youth Preferentialist Two">>
 
 You receive so many messages, as a noted titan of the new Free Cities world, that $assistantName has to be quite draconian in culling them. _HeA lets only the most important through to you. One category of message that always gets through regardless of content, though, is requests for voluntary enslavement. As the new world takes shape, they've become less rare than they once were.
 <br><br>
-This one, unusually, is voice-only. The caller explains why in an unusually upbeat voice: $he turned 18 a few days ago, and $he's fairly certain $his family is expecting $him to make something of $his life to help support them. The apathy to $his family's wishes is readily evident in $his tone of voice. $He begs you to make the necessary arrangements to enslave $him. $He's heard about you and how you like younger girls, and that you take care of all the decision-making for your slaves. There's a lot of hope in $his tone, $he clearly wants an escape from responsibility — even if that means becoming a slave.
+This one, unusually, is voice-only. The caller explains why in an unusually upbeat voice: $he turned 18 a few days ago, and $he's fairly certain $his family is expecting $him to make something of $his life to help support them. The apathy to $his family's wishes is readily evident in $his tone of voice. $He begs you to make the necessary arrangements to enslave $him. $He's heard about you and how you like younger <<= $girl>>s, and that you take care of all the decision-making for your slaves. There's a lot of hope in $his tone, $he clearly wants an escape from responsibility — even if that means becoming a slave.
 
 <<case "Maturity Preferentialist">>
 
 You receive so many messages, as a noted titan of the new Free Cities world, that $assistantName has to be quite draconian in culling them. _HeA lets only the most important through to you. One category of message that always gets through regardless of content, though, is requests for voluntary enslavement. As the new world takes shape, they've become less rare than they once were.
 <br><br>
-And this one is a rare one indeed. It's a personal file, and you suppress the urge to see whether $assistantName is bugged and has misfiled an application for employment. The beautiful older $woman depicted has included a resume listing $his skills, and a clever selection of photographs: tasteful shots of $him in nice makeup and a fashionable business skirt, and fully nude mirror shots, flaws and all. Curious, you place a video call and get an immediate answer. It seems that 'personal circumstances' that $he saw coming are forcing $him to accept enslavement. $He had some weeks of warning, however, and seems to have made use of the time to find an arcology owner that treats women of $his age well, and then to make $himself as appealing as possible in the hope you'll keep $him.
+And this one is a rare one indeed. It's a personal file, and you suppress the urge to see whether $assistantName is bugged and has misfiled an application for employment. The beautiful older $woman depicted has included a resume listing $his skills, and a clever selection of photographs: tasteful shots of $him in nice makeup and a fashionable business skirt, and fully nude mirror shots, flaws and all. Curious, you place a video call and get an immediate answer. It seems that 'personal circumstances' that $he saw coming are forcing $him to accept enslavement. $He had some weeks of warning, however, and seems to have made use of the time to find an arcology owner that treats $women of $his age well, and then to make $himself as appealing as possible in the hope you'll keep $him.
 
 <<case "Maturity Preferentialist Two">>
 
 You receive so many messages, as a noted titan of the new Free Cities world, that $assistantName has to be quite draconian in culling them. _HeA lets only the most important through to you. One category of message that always gets through regardless of content, though, is requests for voluntary enslavement. As the new world takes shape, they've become less rare than they once were.
 <br><br>
-The call comes in from a middle-class area. It appears that the youthful man placing the call has a failing business, and is leveraging his last remaining asset by selling his stately-looking mother into slavery. Enslaving $him will be costlier than usual, but it seems likely to be worth it. From the dossier $his son forwarded to you, $he's both educated and intelligent, both relics of $his impressive pedigree. Even better, $he's aged like a fine wine, a short, stacked and attractive beauty with a face and rack that must be the envy of girls half $his age. $He's aware of the situation at hand, and peeks in from the corner of the screen to say, "I hear you appre<<c>>iate a mature $woman; if I'm going down into <<s>>lavery, <<if $PC.title != 0>><<s>>ir<<else>>ma'am<</if>>, I hope for your <<s>>ake that you know how to treat a $woman of my caliber."
+The call comes in from a middle-class area. It appears that the youthful man placing the call has a failing business, and is leveraging his last remaining asset by selling his stately-looking mother into slavery. Enslaving $him will be costlier than usual, but it seems likely to be worth it. From the dossier $his son forwarded to you, $he's both educated and intelligent, both relics of $his impressive pedigree. Even better, $he's aged like a fine wine, a short, stacked and attractive beauty with a face and rack that must be the envy of <<= $girl>>s half $his age. $He's aware of the situation at hand, and peeks in from the corner of the screen to say, "I hear you appre<<c>>iate a mature $woman; if I'm going down into <<s>>lavery, <<if $PC.title != 0>><<s>>ir<<else>>ma'am<</if>>, I hope for your <<s>>ake that you know how to treat a $woman of my caliber."
 
 <<case "Physical Idealist">>
 
@@ -1375,7 +1375,7 @@ The call comes in from an office, and you suppress the urge to check whether $as
 	<<case "Eugenics Two">>
 		When $he arrives, $he comes directly to your to your penthouse for enslavement. $His face may painful to look at, but $his body is not all bad; with a little work, $he can be quite the catch. A purchaser's agent appears to take $him away, and $he quietly asks who's bought $him. A plastic surgeon, you tell $him, who sees a diamond in the rough. $He's speechless.
 	<<case "Hedonistic Decadence">>
-		You inform $him that $he will be staying in your arcology, but not under you. $He has been purchased by a feeding trainer interested in slim girls with massive stomach capacities for entry into the eating competitions that have become so popular lately. $He seems elated at the news, "<<S>>tuffing i<<s>> one of my favorite perver<<s>>ion<<s>>..." You cut $him off and inform $him that $his current belly pales in comparison to $his new owner's previous champion. $He should expect to be tied up and force-fed until $his entire body is filled to capacity with slave food. $He gulps nervously as $he escorted out by the portly purchasing agent to $his new home.
+		You inform $him that $he will be staying in your arcology, but not under you. $He has been purchased by a feeding trainer interested in slim <<= $girl>>s with massive stomach capacities for entry into the eating competitions that have become so popular lately. $He seems elated at the news, "<<S>>tuffing i<<s>> one of my favorite perver<<s>>ion<<s>>..." You cut $him off and inform $him that $his current belly pales in comparison to $his new owner's previous champion. $He should expect to be tied up and force-fed until $his entire body is filled to capacity with slave food. $He gulps nervously as $he escorted out by the portly purchasing agent to $his new home.
 	<<case "Hedonistic Decadence Two">>
 		When $he arrives, $he comes directly to your penthouse for enslavement. $He wears an expression of doubt, fear, and wonder as $he takes in the sights and sounds of the magnificent beast that is the new society taking shape in $arcologies[0].name. A purchaser's agent arrives to take charge of $him, and $he asks politely who bought $him. A man with an oviposition fetish, you tell $him. $He fails to grasp the meaning. You explain to $him that eggs will be stuck into all $his holes until $he can't stomach any more. $He turns beat red at the description, so you carry on. $His new owner will likely remodel $his cervix to allow eggs to be pumped straight into $his womb; $he'll be lucky if $he can stand once he's done with $him. Then $he'll have to look forward to laying them all for his amusement. $His hands have since moved to $his crotch, it seems $he's getting into the fantasy.
 	<<case "Gender Radicalist">>
diff --git a/src/uncategorized/reLegendaryWhore.tw b/src/uncategorized/reLegendaryWhore.tw
index 9365c5c135d0c05e9a1b2f493f6a60a9c57515ff..4e82f49c7a1b1aa1f7d5001630c0ada16ecc00b3 100644
--- a/src/uncategorized/reLegendaryWhore.tw
+++ b/src/uncategorized/reLegendaryWhore.tw
@@ -53,7 +53,7 @@ This is a rare opportunity. Such popularity and fame is here today, and gone tom
 		<</replace>>
 	<<else>>
 		<<replace "#result">>
-		You buy media coverage of $him, invest in an ad campaign, and even arrange for persons of influence and taste to sample and review $his many delights. Unfortunately, popularity remains an art, not a science; though you do your best, the public mind's fancy eludes your grasp. As $his owner, your reputation has @@.green;increased,@@ but in a week she'll be forgotten.
+		You buy media coverage of $him, invest in an ad campaign, and even arrange for persons of influence and taste to sample and review $his many delights. Unfortunately, popularity remains an art, not a science; though you do your best, the public mind's fancy eludes your grasp. As $his owner, your reputation has @@.green;increased,@@ but in a week $he'll be forgotten.
 		<<run cashX(-5000, "event", $activeSlave)>>
 		<<run repX(500, "event", $activeSlave)>>
 		<</replace>>
@@ -73,7 +73,7 @@ This is a rare opportunity. Such popularity and fame is here today, and gone tom
 		<</replace>>
 	<<else>>
 		<<replace "#result">>
-		You buy prime media coverage of $him, invest in a lavish ad campaign, and even arrange for persons of great influence and fine taste to sample and review $his many delights. Unfortunately, popularity remains an art, not a science; though you do your best, the public mind's fancy eludes your grasp. As $his owner, your reputation has @@.green;increased,@@ but in a week she'll be forgotten.
+		You buy prime media coverage of $him, invest in a lavish ad campaign, and even arrange for persons of great influence and fine taste to sample and review $his many delights. Unfortunately, popularity remains an art, not a science; though you do your best, the public mind's fancy eludes your grasp. As $his owner, your reputation has @@.green;increased,@@ but in a week $he'll be forgotten.
 		<<run cashX(-10000, "event", $activeSlave)>>
 		<<run repX(1000, "event", $activeSlave)>>
 		<</replace>>
diff --git a/src/uncategorized/reMalefactor.tw b/src/uncategorized/reMalefactor.tw
index cc315d605c064049567223357e025835483408e4..6e6139c1396b04fdb822b0b7b1952771bad78a08 100644
--- a/src/uncategorized/reMalefactor.tw
+++ b/src/uncategorized/reMalefactor.tw
@@ -549,15 +549,21 @@ $He is easily taken into custody and $his contraband confiscated once the jeerin
 	//You lack the necessary funds to enslave $him.//
 <</if>>
 <<if $malefactor == "anchorBaby">>
-	<<if $arcologies[0].FSRepopulationFocus != "unset">>
 	<br><<link "Grant $him citizenship">>
 		<<replace "#result">>
-			You help the exhausted mother to $his feet and hand $him $his second newborn. $He watches you, uncertain of your motives, until you have $him escorted to the proper welcoming facility and put in a good word for having $him added to your arcology's free population. You announce to the public that such a fertile <<if $activeSlave.physicalAge > 30>>MILF<<elseif $activeSlave.physicalAge > 19>>$woman<<elseif $activeSlave.physicalAge > 12>>teen<<else>>youth<</if>> will be a boon to Repopulationism, and that the contract $he is signing mandates $he be on powerful fertility agents whenever $he isn't pregnant. During $his residency, free or not, $he will provide society with dozens of future children. The public @@.green;approves of breeders, free or not,@@ and word spreads that any and all mothers are welcome into your arcology @@.green;adding to its prosperity.@@
-		<<run repX(50, "event", $activeSlave)>>
-		<<set $arcologies[0].prosperity += 1>>
+			You help the exhausted mother to $his feet and hand $him $his second newborn. $He watches you, uncertain of your motives, until you have $him escorted to the proper welcoming facility and put in a good word for having $him added to your arcology's free population. You announce to the public that such a fertile <<if $activeSlave.physicalAge > 30>>MILF<<elseif $activeSlave.physicalAge > 19>>$woman<<elseif $activeSlave.physicalAge > 12>>teen<<else>>youth<</if>> will be a boon to <<if $arcologies[0].FSRepopulationFocus != "unset">>Repopulationism<<else>>society<</if>>, and that the contract $he is signing mandates $he be on powerful fertility agents whenever $he isn't pregnant. During $his residency, free or not, $he will provide society with dozens of future children. The public
+			<<if $arcologies[0].FSRepopulationFocus != "unset">>
+				@@.green;approves of breeders, free or not,@@ and word spreads that any and all mothers are welcome into your arcology @@.green;adding to its prosperity.@@
+				<<run repX(500, "event", $activeSlave)>>
+			<<elseif $arcologies[0].FSPaternalist != "unset">>
+				@@.green;sympathizes with your charity.@@
+				<<run repX(100, "event", $activeSlave)>>
+			<<else>>
+				@@.red;feels you let this criminal off too easy.@@
+				<<run repX(-100, "event", $activeSlave)>>
+			<</if>>
 		<</replace>>
 	<</link>>
-	<</if>>
 <</if>>
 <br><<link "Publicly flog the criminal">>
 	<<replace "#result">>
diff --git a/src/uncategorized/reMilfTourist.tw b/src/uncategorized/reMilfTourist.tw
index 367d273d3e5e2ac757690594842be40d919622f7..57d262d4b1e0fe429a0e57d8504cf08e9956a6bc 100644
--- a/src/uncategorized/reMilfTourist.tw
+++ b/src/uncategorized/reMilfTourist.tw
@@ -33,6 +33,7 @@
 
 <<setLocalPronouns _milfSlave>>
 <<setLocalPronouns $activeSlave 2>>
+<<setAssistantPronouns>>
 
 <<if $assistant == 1>>
 	<<if $assistantName == "your personal assistant">>Your personal assistant<<else>>$assistantName<</if>>'s
@@ -41,43 +42,43 @@
 		<<else>>
 			$assistantAppearance avatar
 		<</if>>
-		appears on your desk in the middle of the day. "Something unusual for you, <<= properTitle()>>," she says. "_milfSlave.slaveName is out doing public service. A tourist from the old world accosted $him. _milfSlave.slaveName thought _he2 was a rich citizen who wanted to fuck $him, but it turns out _he2 just wanted a tour guide. It was a reasonable mistake; _he2 seems wealthy. $He has been showing _him2 around for the last half hour. Now _he2's asked $him if _he2 can meet you." She displays a video feed showing _milfSlave.slaveName standing with the tourist in question out on the main plaza. _He2's just into middle age, and extremely plush, wearing Capri pants over _his2 motherly hips and a cashmere sweater that understates _his2 generous bust. _He2's blushing as _he2 asks your slave a discreet question about public sex in the arcology, brought on by the sight of a couple of citizens spitroasting a slave. Your personal assistant's avatar
+		appears on your desk in the middle of the day. "Something unusual for you, <<= properTitle()>>," _heA says. "_milfSlave.slaveName is out doing public service. A tourist from the old world accosted $him. _milfSlave.slaveName thought _he2 was a rich citizen who wanted to fuck $him, but it turns out _he2 just wanted a tour guide. It was a reasonable mistake; _he2 seems wealthy. $He has been showing _him2 around for the last half hour. Now _he2's asked $him if _he2 can meet you." _HeA displays a video feed showing _milfSlave.slaveName standing with the tourist in question out on the main plaza. _He2's just into middle age, and extremely plush, wearing Capri pants over _his2 motherly hips and a cashmere sweater that understates _his2 generous bust. _He2's blushing as _he2 asks your slave a discreet question about public sex in the arcology, brought on by the sight of a couple of citizens spitroasting a slave. Your personal assistant's avatar
 		<<switch $assistantAppearance>>
 		<<case "monstergirl">>
-			bares her fangs and makes pinching gestures at nipple height.
+			bares _hisA fangs and makes pinching gestures at nipple height.
 		<<case "shemale">>
-			gives a wolf whistle and makes exaggerated gestures over her own boobs.
+			gives a wolf whistle and makes exaggerated gestures over _hisA own boobs.
 		<<case "amazon">>
 			brandishes a club suggestively.
 		<<case "businesswoman">>
-			looks the tourist up and down over the tops of her glasses.
+			looks the tourist up and down over the tops of _hisA glasses.
 		<<case "schoolgirl">>
 			stares openly at the tourist's ass.
 		<<case "fairy" "pregnant fairy">>
-			zips around the tourist, giving her a good look-over.
+			zips around the tourist, giving _him2 a good look-over.
 		<<case "hypergoddess" "goddess">>
-			eyes her fertile hips.
+			eyes _his2 fertile hips.
 		<<case "loli" "preggololi">>
-			stares longingly at her huge tits.
+			stares longingly at _his2 huge tits.
 		<<case "angel">>
-			blushes at the sight of her obvious curves.
+			blushes at the sight of _his2 obvious curves.
 		<<case "cherub">>
-			makes exaggerated movements over her own tits.
+			makes exaggerated movements over _hisA own tits.
 		<<case "incubus">>
-			is sporting an absolutely enormous erection. She seems to be enjoying the show.
+			is sporting an absolutely enormous erection. _HeA seems to be enjoying the show.
 		<<case "succubus">>
-			turns to face you; her breasts huge armfuls, butt jiggling non-stop and a pair of hips to rival any cow. "My curves are better."
+			turns to face you; _hisA breasts huge armfuls, butt jiggling non-stop and a pair of hips to rival any cow. "My curves are better."
 		<<case "imp">>
-			makes pinching gestures at nipple height then turns and slaps her own ass.
+			makes pinching gestures at nipple height then turns and slaps _hisA own ass.
 		<<case "witch">>
 			blushes at the sight of those lovely curves.
 		<<case "ERROR_1606_APPEARANCE_FILE_CORRUPT">>
-			swells itself to resemble her figure before twisting its arm into a cock and ramming it straight up its cunt.
+			swells _himselfA to resemble _his2 figure before twisting _hisA arm into a cock and ramming it straight up _hisA cunt.
 		<<default>>
-			reforms into an exaggerated female form before going back to its normal symbol shape.
+			reforms into an exaggerated female form before going back to _hisA normal symbol shape.
 		<</switch>>
 <<else>>
-	<<if $assistantName == "your personal assistant">>Your personal assistant<<else>>$assistantName<</if>> gets your attention the middle of the day. "A minor matter for you, <<= properTitle()>>," she says. "_milfSlave.slaveName is currently performing public service. A tourist from the old world accosted $him. _milfSlave.slaveName thought _he2 was a rich citizen who wanted to have sex with $him, but it seems _he2 just wanted a tour guide. It was a reasonable mistake; the tourist appears wealthy. $He has been acting as _his2 guide for the last half hour. The tourist has asked $him if _he2 can meet you." She displays a video feed showing _milfSlave.slaveName standing with the tourist in question out on the main plaza. _He2's just into middle age, and extremely plush, wearing Capri pants over _his2 motherly hips and a cashmere sweater that understates _his2 generous bust. _He2's blushing as _he2 asks your slave a discreet question about public sex in the arcology, brought on by the sight of a couple of citizens spitroasting a slave.
+	<<if $assistantName == "your personal assistant">>Your personal assistant<<else>>$assistantName<</if>> gets your attention the middle of the day. "A minor matter for you, <<= properTitle()>>," _heA says. "_milfSlave.slaveName is currently performing public service. A tourist from the old world accosted $him. _milfSlave.slaveName thought _he2 was a rich citizen who wanted to have sex with $him, but it seems _he2 just wanted a tour guide. It was a reasonable mistake; the tourist appears wealthy. $He has been acting as _his2 guide for the last half hour. The tourist has asked $him if _he2 can meet you." _HeA displays a video feed showing _milfSlave.slaveName standing with the tourist in question out on the main plaza. _He2's just into middle age, and extremely plush, wearing Capri pants over _his2 motherly hips and a cashmere sweater that understates _his2 generous bust. _He2's blushing as _he2 asks your slave a discreet question about public sex in the arcology, brought on by the sight of a couple of citizens spitroasting a slave.
 <</if>>
 
 <br><br>
diff --git a/src/uncategorized/reNickname.tw b/src/uncategorized/reNickname.tw
index df0298c414e4c03f5e9ba3df5a6fd874323c9cd7..3ac75be8482850706c01c7a89498b6b63de60432 100644
--- a/src/uncategorized/reNickname.tw
+++ b/src/uncategorized/reNickname.tw
@@ -1201,7 +1201,7 @@
 
 <<case "tall">>
 	<<set $nickname = either("'Alpine'", "'B-Baller'", "'Basketballer'", "'Beanpole'", "'Beanstalk'", "'Everest'", "'Giant'", "'Giantess'", "'Giraffe'", "'Jumbo'", "'Lofty'", "'Mountain'", "'Redwood'", "'Skyscraper'", "'Slim'", "'Stretch'", "'Tall'", "'Top'", "'Tower'")>>
-	<<set $situationDesc = "is impressively tall for a girl. This makes $him sexually convenient, since $his holes are at convenient cock height. $He spends many of $his sexual encounters bent slightly at the waist to allow $himself to be taken from behind.">>
+	<<set $situationDesc = "is impressively tall for a $girl. This makes $him sexually convenient, since $his holes are at convenient cock height. $He spends many of $his sexual encounters bent slightly at the waist to allow $himself to be taken from behind.">>
 	<<set $applyDesc = "is quite proud of $his impressive height, even more so than before. $He resolves to tower over other slaves sexually as well as literally.">>
 	<<set $notApplyDesc = "realizes that being tall doesn't make $him special, and understands that it's $his holes that make $him, not how high they are.">>
 
diff --git a/src/uncategorized/reRebels.tw b/src/uncategorized/reRebels.tw
index cfdc2992f7dc6eb77494def0892ce6f6a6d22584..e9bf72ae79bcae953ab2de73fefcb41fcd0b593e 100644
--- a/src/uncategorized/reRebels.tw
+++ b/src/uncategorized/reRebels.tw
@@ -55,7 +55,7 @@ You have a rebel problem. $slaves[_i].slaveName and $slaves[_j].slaveName are bo
 <<if $seeExtreme == 1 && $slaves[_j].vagina > 0 && $slaves[_i].vagina > 0>>
 <br><<link "Let them compete against each other to decide who lives">>
 	<<replace "#result">>
-		You haul your bound little rebel bitches into one of the deepest, most out of the way rooms of your penthouse with bags over their heads. When you pull them off, they are met with the sight of a gallows, complete with a pair of nooses. You haul them, one at a time up onto a stool and loop the rope around their necks. They scream and beg the whole time for you to reconsider, before turning on each other to try and avoid their fate. It won't be that easy for them. You hold up a pair of spoons and explain the rules of the game. They'll hold them in their pussies, and whoever loses their grip and drops it first, dies.
+		You haul your bound little rebel bitches into one of the deepest, most out of the way rooms of your penthouse with bags over their heads. When you pull them off, they are met with <<if canSee($slaves[_j]) && canSee($slaves[_i])>>the sight of <</if>>a gallows, complete with a pair of nooses. You haul them, one at a time up onto a stool and loop the rope around their necks. They scream and beg the whole time for you to reconsider, before turning on each other to try and avoid their fate. It won't be that easy for them. You hold up a pair of spoons and explain the rules of the game. They'll hold them in their pussies, and whoever loses their grip and drops it first, dies.
 		<br><br>
 		<<if $slaves[_i].vagina > 3>>
 			You start with $slaves[_i].slaveName and no sooner than you turn to $slaves[_j].slaveName do you hear the telltale clatter of the spoon hitting the floor. With a simple kick, the unfortunately loose $slaves[_i].slaveName is left struggling in the air. $slaves[_j].slaveName <<if canSee($slaves[_j])>>watches<<elseif canHear($slaves[_j])>>listens<<else>>stares blankly<</if>> in horror as the life drains from _his2 former accomplice. @@.gold;_He2 promises to never cross you again.@@
@@ -98,7 +98,7 @@ You have a rebel problem. $slaves[_i].slaveName and $slaves[_j].slaveName are bo
 			<</if>>
 			<<include "Remove activeSlave">>
 		<<else>>
-			You start with $slaves[_i].slaveName before moving to $slaves[_j].slaveName as $he holds $his life between $his netherlips. Once both spoons are inserted, you sit back and watch them squirm at the cold metal in their most sensitive recesses. In a show of underhandedness, $slaves[_j].slaveName kicks $slaves[_i].slaveName, knocking $him off balance and sending $him hanging. $slaves[_j].slaveName <<if canSee($slaves[_j])>>watches<<elseif canHear($slaves[_j])>>listens<<else>>stares blankly<</if>> as the life drains from _his2 accomplice, @@.gold;horrified at what she just did.@@ The ordeal @@.red;leaves _him2 behaving strangely.@@
+			You start with $slaves[_i].slaveName before moving to $slaves[_j].slaveName as $he holds $his life between $his netherlips. Once both spoons are inserted, you sit back and watch them squirm at the cold metal in their most sensitive recesses. In a show of underhandedness, $slaves[_j].slaveName kicks $slaves[_i].slaveName, knocking $him off balance and sending $him hanging. $slaves[_j].slaveName <<if canSee($slaves[_j])>>watches<<elseif canHear($slaves[_j])>>listens<<else>>stares blankly<</if>> as the life drains from _his2 accomplice, @@.gold;horrified at what _he2 just did.@@ The ordeal @@.red;leaves _him2 behaving strangely.@@
 			<<set $slaves[_j].trust = -100, $slaves[_j].behavioralFlaw = "odd">>
 			<<set $activeSlave = $slaves[_i]>>
 			<<include "Remove activeSlave">>
diff --git a/src/uncategorized/reRecruit.tw b/src/uncategorized/reRecruit.tw
index 9c610c6dc067590bb87a9b54502f9a8ffb45314c..c6f9a6f5037220a04f3e895341aab8ab128cbd8a 100644
--- a/src/uncategorized/reRecruit.tw
+++ b/src/uncategorized/reRecruit.tw
@@ -1003,7 +1003,7 @@
 <<include "Generate XY Slave">>
 <<set $activeSlave.origin = "She was a dickgirl chaser in the slave races before being sold to you.">>
 <<set $activeSlave.prestige = 1>>
-<<set $activeSlave.prestigeDesc = "Many people remember her from the slave-girl races where she slammed her cock into countless runners' pussies after catching them.">>
+<<set $activeSlave.prestigeDesc = "Many people remember her from the slavegirl races where she slammed her cock into countless runners' pussies after catching them.">>
 <<set $activeSlave.devotion = random(-15,10)>>
 <<set $activeSlave.trust = random(-20,10)>>
 <<set $activeSlave.health = random(30,50)>>
@@ -2117,7 +2117,7 @@ After a short while, your assistant whispers in your earpiece, <<if $assistant =
 
 <<case "shemale PC">>
 
-<<if $assistantName == "your personal assistant">>Your personal assistant<<else>>$assistantName<</if>> alerts you that a supplicant has arrived at the door to the penthouse. A constant stream of hopefuls appear at your door, and $assistantName makes herself invaluable by filtering them. One of the few categories of applicant that is always admitted is people willing to be enslaved for some reason; this is just such a girl.
+<<if $assistantName == "your personal assistant">>Your personal assistant<<else>>$assistantName<</if>> alerts you that a supplicant has arrived at the door to the penthouse. A constant stream of hopefuls appear at your door, and $assistantName makes herself invaluable by filtering them. One of the few categories of applicant that is always admitted is people willing to be enslaved for some reason; this is just such a $girl.
 <br><br>
 "Hi", $he says hesitantly. $He's a pretty convincing girl; $his voice is the only giveaway. You tell $him that if $he wishes to be considered for enslavement, you need to inspect $him naked. To $his credit, $he obeys, undressing quickly to reveal a body that's clearly seen a good deal of hormone therapy. $He's not unhealthy and isn't too shabby, so you ask $him why $he's here.
 <br><br>
@@ -2160,7 +2160,7 @@ Given the damage to an expensive classic car and the meager balance of $his bank
 
 <<case "female SE">>
 
-A (quite unrealistic) blockbuster movie took your arcology by storm recently, causing some curious side effects among the more idealistic type of young people here. The movie plot is about a young woman who sells herself into slavery to be close to a love interest... then wins his adoration and her freedom in the process. Of course, just because it works like that in a movie doesn't mean real life will be the same — which didn't seem to occur to several young women who actually try to put such a plan in action. Mostly, the sudden spike of self-enslavement does lead to a number of handsome college students getting their dicks wet as they enjoy their new status as slaveowners — and not a one freed his love-sick slave-girl either.
+A (quite unrealistic) blockbuster movie took your arcology by storm recently, causing some curious side effects among the more idealistic type of young people here. The movie plot is about a young woman who sells herself into slavery to be close to a love interest... then wins his adoration and her freedom in the process. Of course, just because it works like that in a movie doesn't mean real life will be the same — which didn't seem to occur to several young women who actually try to put such a plan in action. Mostly, the sudden spike of self-enslavement does lead to a number of handsome college students getting their dicks wet as they enjoy their new status as slaveowners — and not a one freed his love-sick slavegirl either.
 <br><br>
 The situation does yield a few business opportunities too, as not all of the guys think just with their dicks. One of them is currently offering his free $girl for sale, which your assistant instantly flags for your attention. A video attached to the offer does look quite nice, as the slave<<= $girl>> happily poses in the nude for $his 'beloved', not knowing that he's planning to sell $him.
 <br><br>
@@ -2168,15 +2168,15 @@ The situation does yield a few business opportunities too, as not all of the guy
 
 <<case "MTF SE">>
 
-A (quite unrealistic) blockbuster movie took your arcology by storm recently, causing some curious side effects among the more idealistic type of young people here. The movie plot is about a young woman who sells herself into slavery to be close to a love interest... then wins his adoration and her freedom in the process. Of course, just because it works like that in a movie doesn't mean real life will be the same — which didn't seem to occur to several young women who actually try to put such a plan in action. Mostly, the sudden spike of self-enslavement does lead to a number of handsome college students getting their dicks wet as they enjoy their new status as slaveowners — and not a one freed his love-sick slave-girl either.
+A (quite unrealistic) blockbuster movie took your arcology by storm recently, causing some curious side effects among the more idealistic type of young people here. The movie plot is about a young woman who sells herself into slavery to be close to a love interest... then wins his adoration and her freedom in the process. Of course, just because it works like that in a movie doesn't mean real life will be the same — which didn't seem to occur to several young women who actually try to put such a plan in action. Mostly, the sudden spike of self-enslavement does lead to a number of handsome college students getting their dicks wet as they enjoy their new status as slaveowners — and not a one freed his love-sick slavegirl either.
 <br><br>
 It isn't just all natural females either, as a few men also jumped on the bandwagon, throwing in a little bit of transformative surgery in the mix. Either going all the way to making themselves into female slaves or hoping to be accepted as dick-girls after making the target of their affection fall for a pretty face and breasts. One of former cases gets flagged by your assistant as a business opportunity, as the new slaveowner wasn't impressed by a former male — despite $his good looks and virgin pussy, he can't forget $he originally was a man. A video attached to the 'sale offer' online post does show a relatively pretty young $woman, sniffling quietly as $he gets ordered to show off $his body to prospective buyers.
 <br><br>
-//The girl should go pretty cheap, just <<print cashFormat(2000)>>. Sounds like the owner mostly wants to not be bothered by $him anymore.//
+//The $girl should go pretty cheap, just <<print cashFormat(2000)>>. Sounds like the owner mostly wants to not be bothered by $him anymore.//
 
 <<case "DG SE">>
 
-A (quite unrealistic) blockbuster movie took your arcology by storm recently, causing some curious side effects among the more idealistic type of young people here. The movie plot is about a young woman who sells herself into slavery to be close to a love interest... then wins his adoration and her freedom in the process. Of course, just because it works like that in a movie doesn't mean real life will be the same — which didn't seem to occur to several young women who actually try to put such a plan in action. Mostly, the sudden spike of self-enslavement does lead to a number of handsome college students getting their dicks wet as they enjoy their new status as slaveowners — and not a one freed his love-sick slave-girl either.
+A (quite unrealistic) blockbuster movie took your arcology by storm recently, causing some curious side effects among the more idealistic type of young people here. The movie plot is about a young woman who sells herself into slavery to be close to a love interest... then wins his adoration and her freedom in the process. Of course, just because it works like that in a movie doesn't mean real life will be the same — which didn't seem to occur to several young women who actually try to put such a plan in action. Mostly, the sudden spike of self-enslavement does lead to a number of handsome college students getting their dicks wet as they enjoy their new status as slaveowners — and not a one freed his love-sick slavegirl either.
 <br><br>
 It isn't just all natural females either, as a few men also jumped on the bandwagon, throwing in a little bit of transformative surgery in the mix. Either going all the way to making themselves into female slaves or hoping to be accepted as dick-girls after making the target of their affection fall for a pretty face and breasts. One of latter cases gets flagged by your assistant as a business opportunity, as the new slaveowner wasn't impressed by a former male and wants to get rid of the dickgirl as quickly as possible. A video attached to the 'sale offer' online post does show a relatively pretty young dickgirl, sniffling quietly as $he gets ordered to show off $his body to prospective buyers.
 <br><br>
@@ -2262,7 +2262,7 @@ Coming to your desk in the morning, you see that your assistant has flagged an i
 <br><br>
 Whatever your predecessor's faults, he surely did something very right in endorsing the slave racing league when it started to establish itself way back when. These days, many of your residents regularly watch the races going on — and that number rises to include a clear majority in the arcology for the special events that are also in the organizer's program. An absolute favorite of the population is the 'vestalian hunt', in which a dozen virgins are chased along the track by very well-hung dickgirls. Anyone falling behind soon has their cherry taken in the most public way possible, right on the track. Only the quickest manage to make it to the finish line at all without being wrestled down and pounded hard. Quite a risk, with the slave's precious virginity being sacrificed this way, but of course those who make it win their owners large sums of prize money. You've just switched over to see a re-play of the action, seeing the camera move past the very attractive lineup of the race, when your communicator rings with an incoming call.
 <br><br>
-As fate has it, the person calling is the owner of the local race-track, wanting to offer you a deal. It turns out that he wants to sell one of his very prestigious virgin runners to you. $He's been the champion of the race track for three years in a row now, the virgin queen of the slave-girl sprinters... so the man decided he'd maximize his profit by selling $him at the height of $his popularity instead of chancing a loss in the next big race. It's a young woman's sport, and with new talent being trained, he feels it's time to give the <<if $activeSlave.actualAge >= 20>>young adult<<elseif $activeSlave.actualAge >= 13>>teenaged<<else>>pre-teen<</if>> slave<<= $girl>> a new purpose. There are numerous interested parties in buying $him of course, but out of respect he is coming to you first.
+As fate has it, the person calling is the owner of the local race-track, wanting to offer you a deal. It turns out that he wants to sell one of his very prestigious virgin runners to you. $He's been the champion of the race track for three years in a row now, the virgin queen of the slave<<= $girl>> sprinters... so the man decided he'd maximize his profit by selling $him at the height of $his popularity instead of chancing a loss in the next big race. It's a young $woman's sport, and with new talent being trained, he feels it's time to give the <<if $activeSlave.actualAge >= 20>>young adult<<elseif $activeSlave.actualAge >= 13>>teenaged<<else>>pre-teen<</if>> slave<<= $girl>> a new purpose. There are numerous interested parties in buying $him of course, but out of respect he is coming to you first.
 <br><br>
 //The young $woman is really pretty and tall, if a bit plain in the breast department. With the fame $he has earned during $his racing career, $he'd draw quite a bit of interest if used as a whore. The price for $him reflects that of course — you doubt you can get a price under <<print cashFormat(10000)>>.//
 
@@ -2585,15 +2585,15 @@ He explains that one of his servant <<= $girl>>s was impregnated by his fool of
 		<<case "male SD">>
 			Contacting the wealthy resident, you apologize for his inconvenience and offer to 'deal with' the matter personally. He is content with not having the hassle and agrees with little thought, leaving you owning the debt of the unfortunate student. Making your way to the guard station where he is being kept, you tell the young man he's getting out of jail right away. He cooperates to having his biometric readings taken and logged, only later realizing this isn't for a release but to register him as a slave. In shock and with tears in his eyes, he gets angry and tries to fight, only to be overwhelmed by your guards and be dragged off to the remote surgery. It doesn't take long at all to add a pretty dickgirl to your slave quarters after that.
 		<<case "female SE">>
-			Bidding for the girl and winning $him in the auction, you await $him and the student selling $him in your penthouse. As the young man guides $him in, $he gives you a properly deferential greeting, then looks wide-eyed at the décor and wealth presented all around. Yet as $his 'lover' informs the $woman that $he'll belong to you now, tears start flowing down $his cheeks as $his heart almost audibly breaks. Smiling at the man over the sobbing shape of your newly acquired virgin slave<<= $girl>>, you casually push a button to approve the money transfer and he strides out of the room after checking his smart-phone for the transfer. On your orders, $he strips and submits to biometric scanning, registering $him as your property.
+			Bidding for the $girl and winning $him in the auction, you await $him and the student selling $him in your penthouse. As the young man guides $him in, $he gives you a properly deferential greeting, then looks wide-eyed at the décor and wealth presented all around. Yet as $his 'lover' informs the $woman that $he'll belong to you now, tears start flowing down $his cheeks as $his heart almost audibly breaks. Smiling at the man over the sobbing shape of your newly acquired virgin slave<<= $girl>>, you casually push a button to approve the money transfer and he strides out of the room after checking his smart-phone for the transfer. On your orders, $he strips and submits to biometric scanning, registering $him as your property.
 		<<case "MTF SE">>
-			Sending an offer to buy the slave girl, you get a confirmation from the student very shortly afterward. It doesn't take much longer before he appears at the security office leading into your penthouse to drop off his slave, leaving $him behind without even saying goodbye. The sniffling and dejected girl is brought into your office so you can check $him out in person afterward. On your orders, $he strips and submits to biometric scanning, registering $him as your property.
+			Sending an offer to buy the slave $girl, you get a confirmation from the student very shortly afterward. It doesn't take much longer before he appears at the security office leading into your penthouse to drop off his slave, leaving $him behind without even saying goodbye. The sniffling and dejected $girl is brought into your office so you can check $him out in person afterward. On your orders, $he strips and submits to biometric scanning, registering $him as your property.
 		<<case "DG SE">>
-			Sending an offer to buy the dickgirl, you get a confirmation from the student very shortly afterward. It doesn't take much longer before he appears at the security office leading into your penthouse to drop off his slave, leaving $him behind without even saying goodbye. The sniffling and dejected girl is brought into your office so you can check $him out in person afterward. On your orders, $he strips and submits to biometric scanning, registering $him as your property.
+			Sending an offer to buy the dickgirl, you get a confirmation from the student very shortly afterward. It doesn't take much longer before he appears at the security office leading into your penthouse to drop off his slave, leaving $him behind without even saying goodbye. The sniffling and dejected $girl is brought into your office so you can check $him out in person afterward. On your orders, $he strips and submits to biometric scanning, registering $him as your property.
 		<<case "gang leader">>
 			Opening a voice-link, you call in two security guards to await the elevator and have your new property brought to the remote surgery. After some fun playing with various sliders and buttons in its settings, you have the machine start on modding the man into a new dickgirl with a pleasing set of features. By the time $he comes to after the operation and quick-heal treatment, the legalities of enslavement are completed too, leaving you with another slave registered as your property. Of course, $he is naturally horrified and furious with you; where there was once a tough young man's square jaw, there is now a definitively feminine face which looks rather cute when angry. The rest of $him is still broad-shouldered and muscular, with all the tattoos and a well-sized dick — but you can always mod that later if you want to.
 		<<case "DG runaway" "herm runaway" "female runaway">>
-			With a few keystrokes, you wire the payment to the slave-girl's owner, then have your guardsmen bring $him from the station infirmary to your penthouse. $He is led to stand before you, shivering in terror and looking at $his feet. Only after an insistent command does $he look up long enough to be biometrically scanned and registered as your property.
+			With a few keystrokes, you wire the payment to the slave<<= $girl>>'s owner, then have your guardsmen bring $him from the station infirmary to your penthouse. $He is led to stand before you, shivering in terror and looking at $his feet. Only after an insistent command does $he look up long enough to be biometrically scanned and registered as your property.
 		<<case "CCS angel" "CCS DA">>
 			Winning out in the auction, you have the young $woman brought to you straight away. $He is led into your penthouse in semitransparent shimmering gown — some sort of cult garb that was thrown into the sale as a bonus. It certainly looks amazing on $him, but you want to see all of your new acquisition so you order $him to strip. Obediently, $he slides the fabric off and lets it fall to the floor, then submits to biometric scanning, registering $him as your property.
 		<<case "blessed virgin">>
@@ -2603,9 +2603,9 @@ He explains that one of his servant <<= $girl>>s was impregnated by his fool of
 		<<case "racer DG chaser">>
 			After some negotiations with the race track owner, you finally agree on a good price. After he tells his subordinates to bring the $girl to you, the two of you chat a bit about business matters and you're invited to the owner's booth for the next big race. A short while later, guards bring in the dickgirl athlete, dressed in nothing but a long bathrobe and with a slightly sullen look on $his face. Seems like $he was brought here from $his former owner's premises without so much as a warning or chance to put on any clothes. He really must have wanted $him out of his racing stable quickly. On your orders, $he pushes the robe over $his shoulders and lets it fall to the floor, then submits to biometric scanning, registering $him as your property.
 		<<case "racer loser">>
-			After some negotiations with the race track owner, you finally agree on a good price. After he tells his subordinates to bring the girl to you, the two of you chat a bit about business matters and you're invited to the owner's booth for the next big race. A short while later, guards bring in the young athlete, dressed in a cute yet revealing white dress, the 'showing off' outfit used for virgin runners — or ex-virgins, in $his case. On your orders, $he obediently takes it off, letting the thin fabric fall to the floor, then submits to biometric scanning, registering $him as your property.
+			After some negotiations with the race track owner, you finally agree on a good price. After he tells his subordinates to bring the $girl to you, the two of you chat a bit about business matters and you're invited to the owner's booth for the next big race. A short while later, guards bring in the young athlete, dressed in a cute yet revealing white dress, the 'showing off' outfit used for virgin runners — or ex-virgins, in $his case. On your orders, $he obediently takes it off, letting the thin fabric fall to the floor, then submits to biometric scanning, registering $him as your property.
 		<<case "racer winner">>
-			After some negotiations with the race track owner, you finally agree on a good price. After he tells his subordinates to bring the girl to you, the two of you chat a bit about business matters and you're invited to the owner's booth for the next big race. A short while later, guards bring in the virgin athlete, dressed in a cute yet revealing white dress, highlighting $his pureness and virginity. On your orders, $he readily takes it off, letting the thin fabric fall to the floor, then submits to biometric scanning, registering $him as your property.
+			After some negotiations with the race track owner, you finally agree on a good price. After he tells his subordinates to bring the $girl to you, the two of you chat a bit about business matters and you're invited to the owner's booth for the next big race. A short while later, guards bring in the virgin athlete, dressed in a cute yet revealing white dress, highlighting $his pureness and virginity. On your orders, $he readily takes it off, letting the thin fabric fall to the floor, then submits to biometric scanning, registering $him as your property.
 		<<case "repo housekeeper">>
 			With a few keystrokes, you wire the payment to the repo company, then wait for $his delivery. After being brought into your penthouse by security, the legalities and biometric scanning with $him are taken care off fairly quickly and without fuss. Stepping towards you after the chime announcing a successful registration as your property, $activeSlave.slaveName lowers $his head obediently and asks, "<<Master>>, what will my new ta<<s>>k<<s>> in your hou<<s>>ehold be? <<Sh>>all I ju<<s>>t clean or will there be... other thing<<s>> for me to do?" The eager tremble in $his voice tells you that $he's more than a little aroused by the thought of being used, so you tell $him it'll all depend on if $he's a good $girl...
 		<<case "repo nanny">>
@@ -2621,7 +2621,7 @@ He explains that one of his servant <<= $girl>>s was impregnated by his fool of
 		<<case "orphan femboy">>
 			Transferring the money with a few clicks on your smart-phone, you have your new acquisition brought to your penthouse. $activeSlave.slaveName does look rather afraid at the whole business of actually being sold, but $he follows your instruction obediently to get naked and let $himself be biometrically scanned and registered as your property.
 		<<case "captured teen">>
-			You agree to the purchase. The men give a hushed thank you, and the call ends, cutting you off from the light. They arrive outside the city just a few hours later, and you send your VTOL to pick up the girl. When $he arrives, you see that $he was kept in the same bindings. $He's awake, and $his eyes make $his hatred of you unmistakable.
+			You agree to the purchase. The men give a hushed thank you, and the call ends, cutting you off from the light. They arrive outside the city just a few hours later, and you send your VTOL to pick up the $girl. When $he arrives, you see that $he was kept in the same bindings. $He's awake, and $his eyes make $his hatred of you unmistakable.
 		<<case "starving artist">>
 			$He twirls and poses artistically as the biometric scanners scrupulously record $his every particular as belonging not to a person but to a piece of human property. $He seems a little disappointed that $he won't have the opportunity to practice $his penmanship but nonetheless places $his biometric signature in testament to the truth of $his voluntary enslavement.
 		<<case "repo milf housekeeper">>
@@ -2687,7 +2687,7 @@ He explains that one of his servant <<= $girl>>s was impregnated by his fool of
 		<<case "rogue cyborg">>
 			With your order received the target quickly seeks you out. After a huge sum of credits changes hands to render it safe, the legalities and biometric scanning are complete and it is sold off to a very eager robophile.
 		<<case "female recruit">>
-			You complete the legalities and biometric scanning quickly and without fuss. $activeSlave.slaveName bounces nervously on $his heels. Finally $he works up $his courage and asks, <<if $HeadGirl.clothes != "no clothing">>"Can I have <<if $HeadGirl.clothes == "choosing her own clothes">>a cute outfit<<else>>$HeadGirl.clothes<</if>> like $HeadGirl.slaveName?"<<else>>"Can I work with $HeadGirl.slaveName?"<</if>> Your answer appears in the form of a purchasing agent, here to take $him away. As he restrains the disbelieving girl, you tell $him $he's been purchased by a brothel, so $he's going to be fucked about 70,000 times before $he gets to be too old and is retired, so $he can be sure $he won't be bored. $He releases a wail of utter despair, quickly cut off by a sturdy bag being fastened over $his head.
+			You complete the legalities and biometric scanning quickly and without fuss. $activeSlave.slaveName bounces nervously on $his heels. Finally $he works up $his courage and asks, <<if $HeadGirl.clothes != "no clothing">>"Can I have <<if $HeadGirl.clothes == "choosing her own clothes">>a cute outfit<<else>>$HeadGirl.clothes<</if>> like $HeadGirl.slaveName?"<<else>>"Can I work with $HeadGirl.slaveName?"<</if>> Your answer appears in the form of a purchasing agent, here to take $him away. As he restrains the disbelieving $girl, you tell $him $he's been purchased by a brothel, so $he's going to be fucked about 70,000 times before $he gets to be too old and is retired, so $he can be sure $he won't be bored. $He releases a wail of utter despair, quickly cut off by a sturdy bag being fastened over $his head.
 		<<case "male recruit">>
 			You complete the legalities and biometric scanning quickly and without fuss. $activeSlave.slaveName bounces nervously on $his heels. Finally $he works up $his courage and asks, <<if $HeadGirl.clothes != "no clothing">>"Can I have <<if $HeadGirl.clothes == "choosing her own clothes">>a cute outfit<<else>>$HeadGirl.clothes<</if>> like $HeadGirl.slaveName?"<<else>>"Can I work with $HeadGirl.slaveName?"<</if>> Your answer appears in the form of a purchasing agent, here to take $him away. As he restrains the disbelieving bitch, you tell $him $he's been purchased by a brothel, so $he's going to be fucked about 70,000 times before $he gets to be too old and is retired, so $he can be sure $he won't be bored. $He releases a wail of utter despair, quickly cut off by a sturdy bag being fastened over $his head.
 		<<case "whore recruit">>
diff --git a/src/uncategorized/reShelterInspection.tw b/src/uncategorized/reShelterInspection.tw
index acc3771e69ad64e2fd22facfffe91868273d7772..ee3fddd62817bfa4a27b1c68c583c2612b33ec83 100644
--- a/src/uncategorized/reShelterInspection.tw
+++ b/src/uncategorized/reShelterInspection.tw
@@ -179,7 +179,7 @@ Not waiting to be greeted, the inspector looks up at the nearest camera and dema
 		<<run cashX(forceNeg($contractCost/2), "slaveTransfer", $activeSlave)>>
 		<<replace "#result">>
 		You have _him2 ushered up to your office, and order _Inspectee.slaveName brought in. The inspector has a single moment to stiffen in shock at the sight before _he2 stiffens involuntarily due to the security drone tasing _him2 unconscious. It takes a few credits here and there to circumvent the Shelter's various legal and contractual defenses to prevent slaveowners from doing exactly what you're doing, but you finish the day richer by one more Fuckdoll. Odds are _he2 wants to be defiant, but the suit works perfectly and leaves _him2 no outlet to make _his2 thoughts known.
-		<<set $activeSlave.toyHole="all her holes", $activeSlave.pubicHStyle="waxed", $activeSlave.livingRules="spare", $activeSlave.speechRules="restrictive", $activeSlave.releaseRules="restrictive", $activeSlave.relationshipRules="restrictive", $activeSlave.fuckdoll=1, $activeSlave.choosesOwnClothes=0, $activeSlave.clothes="a Fuckdoll suit", $activeSlave.collar="none", $activeSlave.shoes="heels",$activeSlave.legAccessory="none", $activeSlave.vaginalAccessory="none", $activeSlave.dickAccessory="none", $activeSlave.buttplug="none", $activeSlave.attrKnown=1, $activeSlave.fetishKnown=1>>
+		<<set $activeSlave.toyHole="all her holes", $activeSlave.pubicHStyle="waxed", $activeSlave.livingRules="spare", $activeSlave.speechRules="restrictive", $activeSlave.releaseRules="restrictive", $activeSlave.relationshipRules="restrictive", $activeSlave.fuckdoll=1, $activeSlave.choosesOwnClothes=0, $activeSlave.clothes="a Fuckdoll suit", $activeSlave.collar="none", $activeSlave.shoes="heels",$activeSlave.legAccessory="none", $activeSlave.vaginalAccessory="none", $activeSlave.dickAccessory="none", $activeSlave.buttplug="none", $activeSlave.chastityAnus = 0, $activeSlave.chastityPenis = 0, $activeSlave.chastityVagina = 0, $activeSlave.attrKnown=1, $activeSlave.fetishKnown=1>>
 		<<set $shelterAbuse += 10>>
 		<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
 		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
@@ -429,7 +429,7 @@ Not waiting to be greeted, the inspector looks up at the nearest camera and dema
 		<<switch _Inspectee.assignment>>
 		<<case "whore" "work in the brothel">>
 			<<if (_Inspectee.fetishStrength > 95) || (_Inspectee.energy > 95)>>
-				_Inspectee.slaveName says happily, "I'm a whore!" The inspector makes a go-on gesture, and the slave continues, "It'<<s>> awe<<s>>ome. Nothing but cock, every day." The inspector looks deflated, and reluctantly makes a positive note on _his2 tablet.
+				_Inspectee.slaveName says happily, "I'm a whore!" The inspector makes a "go on" gesture, and the slave continues, "It'<<s>> awe<<s>>ome. Nothing but cock, every day." The inspector looks deflated, and reluctantly makes a positive note on _his2 tablet.
 				<<set $shelterAbuse -= 1>>
 			<<else>>
 				_Inspectee.slaveName says confidently, "I'm a whore!" The inspector makes a go-on gesture, and the slave continues, "It'<<s>> hard work <<s>>ometime<<s>>, but I'm okay. I'm much happier with my current owner, thank you." The inspector looks pleased, and says _he2'll put out a @@.green;good word@@ about you.
diff --git a/src/uncategorized/reSlaveMarriage.tw b/src/uncategorized/reSlaveMarriage.tw
index 9892adba37cfbe96bfa4c65d63919fe0f063ed0f..555312cfdfa565e53dd3dcea5908fbcc0e4b7589 100644
--- a/src/uncategorized/reSlaveMarriage.tw
+++ b/src/uncategorized/reSlaveMarriage.tw
@@ -51,7 +51,7 @@
 	<<if ($groomSlave.chastityPenis)>>
 		$He has a little bow on $his chastity cage.
 	<<elseif canAchieveErection($groomSlave)>>
-		The sight of $brideSlave.slaveName has $him stiffly erect, and $he's wearing a little bow around $his cockhead.
+		The <<if canSee($groomSlave)>>sight of $brideSlave.slaveName<<else>>anticipation<</if>> has $him stiffly erect, and $he's wearing a little bow around $his cockhead.
 	<<elseif ($groomSlave.dick > 0)>>
 		$He's impotent, but $he's wearing a little bow around $his useless cockhead.
 	<<elseif ($groomSlave.clit > 0)>>
@@ -95,7 +95,7 @@
 	<<if ($brideSlave.chastityPenis)>>
 		_He2 has a little bow on _his2 chastity cage.
 	<<elseif canAchieveErection($brideSlave)>>
-		The sight of $groomSlave.slaveName has _him2 stiffly erect, and _he2's wearing a little bow around _his2 cockhead.
+		The <<if canSee($brideSlave)>>sight of $groomSlave.slaveName<<else>>anticipation<</if>> has _him2 stiffly erect, and _he2's wearing a little bow around _his2 cockhead.
 	<<elseif ($brideSlave.dick > 0)>>
 		$He's impotent, but _he2's wearing a little bow around _his2 useless cockhead.
 	<<elseif ($brideSlave.clit > 0)>>
diff --git a/src/uncategorized/recETS.tw b/src/uncategorized/recETS.tw
index 67a6339deb168f7b213c7da88766c37cef1e87cc..501d5192e2a5fdb8dda390e974780e82454bf03f 100644
--- a/src/uncategorized/recETS.tw
+++ b/src/uncategorized/recETS.tw
@@ -1582,7 +1582,7 @@ The other blurts out. "But we kinda got too into each other, in more ways than o
 
 <<case "desperate broodmother">>
 
-You receive so many messages, as a noted titan of the new Free Cities world, that $assistantName has to be quite draconian in culling them. She lets only the most important through to you. One category of message that always gets through regardless of content, though, is requests for voluntary enslavement. As the new world takes shape, they've become less rare than they once were.
+You receive so many messages, as a noted titan of the new Free Cities world, that $assistantName has to be quite draconian in culling them. _HeA lets only the most important through to you. One category of message that always gets through regardless of content, though, is requests for voluntary enslavement. As the new world takes shape, they've become less rare than they once were.
 
 <br><br>
 
@@ -1664,7 +1664,7 @@ This call is coming from a public kiosk, which is usually an indication that the
 
 <<default>>
 	<br>ERROR: bad recETS event $RecETSevent
-	
+
 <</switch>>
 
 <<switch $RecETSevent>>
diff --git a/src/uncategorized/recruiterSelect.tw b/src/uncategorized/recruiterSelect.tw
index c700e594dc9b9e8833d344a1cea7144ab82fc899..73dedba544a935b173410bcfe75e769735fface9 100644
--- a/src/uncategorized/recruiterSelect.tw
+++ b/src/uncategorized/recruiterSelect.tw
@@ -11,7 +11,7 @@
 	<<else>>
 		acting as a sexual
 		<<if $arcologies[0].influenceTarget == -1>>
-			Ambassador. @@.red;Since you have not selected another arcology to influence, she has no target for Ambassadorial duties. Select an influence target to apply her talents.@@
+			Ambassador. @@.red;Since you have not selected another arcology to influence, $he has no target for Ambassadorial duties. Select an influence target to apply $his talents.@@
 		<<else>>
 			Ambassador to <<for $i = 0; $i < $arcologies.length; $i++>><<if $arcologies[$i].direction == $arcologies[0].influenceTarget>>$arcologies[$i].name<<break>><</if>><</for>>.
 		<</if>>
diff --git a/src/uncategorized/remFluctuations.tw b/src/uncategorized/remFluctuations.tw
index d10efd5d50f45b5369df8fda6525cfe0ac8624d1..966e53f426825d8b1de41ab0936b96f5993514f5 100644
--- a/src/uncategorized/remFluctuations.tw
+++ b/src/uncategorized/remFluctuations.tw
@@ -21,8 +21,8 @@
 	<<case "goddess">>The demigoddess portrait arrives in a glittery cloud of dust, wearing winged shoes.
 	<<case "schoolgirl">>Both schoolgirls are sitting knee to knee; the nerdy one hands the other a folded note. "Pass it on," _heM stage whispers. <<if $assistantName == "your personal assistant">>Your regular assistant<<else>>$assistantName<</if>> rolls _hisA eyes.
 	<<case "hypergoddess">>The demigoddess portrait arrives in a glittery cloud of dust, wearing winged shoes and a noticeable roundness in _hisM middle.
-	<<case "loli">>The chubby, glasses-wearing loli arrives holding a neatly folded note addressed to you.
-	<<case "preggololi">>The chubby, glasses-wearing loli arrives holding a hastily written note addressed to you. _HeM seems kind of winded, with a suspicious stain in _hisM panties under _hisM pussy.
+	<<case "loli">>The chubby, glasses-wearing _loliM arrives holding a neatly folded note addressed to you.
+	<<case "preggololi">>The chubby, glasses-wearing _loliM arrives holding a hastily written note addressed to you. _HeM seems kind of winded, with a suspicious stain in _hisM panties under _hisM pussy.
 	<<case "fairy" "pregnant fairy">>The older fairy flutters into view before, curtseys, and holds out a rolled piece of parchment addressed to you.
 	<<case "normal">>_HisM symbol lights up in regular green pulses while _heM waits for your attention.
 	<<case "angel">>The short haired angel lands before you, a rolled piece of parchment under _hisM arm.
diff --git a/src/uncategorized/remMerger.tw b/src/uncategorized/remMerger.tw
index ab0ea71996704d0027aa51ad86ff77a3361f3c49..305d0ea30d8138509ab2afcbc6a7c23594c2f499 100644
--- a/src/uncategorized/remMerger.tw
+++ b/src/uncategorized/remMerger.tw
@@ -54,7 +54,7 @@
 <<elseif _company1 == "arcade">>
 	a quaint maid café. The prime location together with a popular concept should make for a bustling business and yet the owner is looking to get out of the business hoping to salvage some of his savings. Sadly there was a lack of capital to employ attractive servant slave maids. While someone might very well be more than willing to come in and invest in some better slaves, the place is so cheap you could easily replace the furniture and use the current assets to create a new arcade location for your corporation instead.
 <<elseif _company1 == "dairy">>
-	a dairy farm. Why a conventional dairy farm popped up as target confused you for a moment, but it quickly became clear the entire family was so deep in debt it would be a no brainer to buy the farm and start milking the large uddered farmer's daughters as a great addition to your corporate dairy.
+	a dairy farm. Why a conventional dairy farm popped up as target confused you for a moment, but it quickly became clear the entire family was so deep in debt it would be a no brainer to buy the farm and start milking the large-uddered farmer's daughters as a great addition to your corporate dairy.
 <<elseif _company1 == "whore">>
 	a little brothel. With slave whores becoming the dominant force in sexual services the current madam lost her passion for the business. She's getting up there in age and has run a tight ship for many years so she deemed it the right time to bow out. All you need to do to add a new brothel location for your corporation is sign at the dotted line before anyone else has a chance to bite.
 <<else>>
@@ -77,7 +77,7 @@ The second is
 <<elseif _company2 == "arcade">>
 	a quaint maid café. The prime location together with a popular concept should make for a bustling business and yet the owner is looking to get out of the business hoping to salvage some of his savings. Sadly there was a lack of capital to employ attractive servant slave maids. While someone might very well be more than willing to come in and invest in some better slaves, the place is so cheap you could easily replace the furniture and use the current assets to create a new arcade location for your corporation instead.
 <<elseif _company2 == "dairy">>
-	a dairy farm. Why a conventional dairy farm popped up as target confused you for a moment, but it quickly became clear the entire family was so deep in debt it would be a no brainer to buy the farm and start milking the large uddered farmer's daughters as a great addition to your corporate dairy.
+	a dairy farm. Why a conventional dairy farm popped up as target confused you for a moment, but it quickly became clear the entire family was so deep in debt it would be a no brainer to buy the farm and start milking the large-uddered farmer's daughters as a great addition to your corporate dairy.
 <<elseif _company2 == "whore">>
 	a little brothel. With slave whores becoming the dominant force in sexual services the current madam lost her passion for the business. She's getting up there in age and has run a tight ship for many years so she deemed it the right time to bow out. All you need to do to add a new brothel location for your corporation is sign at the dotted line before anyone else has a chance to bite.
 <<else>>
@@ -104,7 +104,7 @@ The second is
 		The owners of the slave training firm are happy to hear that they'll be able to continue operations under the aegis of a better-run, richer corporation.
 		<<set $corpDivTrainDev += 3,
 		$corpDivTrainSlaves += 3>>
-	<<elseif _company1 == "breaking">>
+	<<elseif _company1 == "break">>
 		You quickly staff the slave breaking facility with qualified personnel to make use of the new assets.
 		<<set $corpDivBreakDev += 5,
 		$corpDivBreakSlaves += 5>>
@@ -145,7 +145,7 @@ The second is
 		The owners of the slave training firm are happy to hear that they'll be able to continue operations under the aegis of a better-run, richer corporation.
 		<<set $corpDivTrainDev += 3,
 		$corpDivTrainSlaves += 3>>
-	<<elseif _company2 == "breaking">>
+	<<elseif _company2 == "break">>
 		You quickly staff the slave breaking facility with qualified personnel to make use of the new assets.
 		<<set $corpDivBreakDev += 5,
 		$corpDivBreakSlaves += 5>>
@@ -186,7 +186,7 @@ The second is
 		The owners of the slave training firm are happy to hear that they'll be able to continue operations under the aegis of a better-run, richer corporation.
 		<<set $corpDivTrainDev += 3,
 		$corpDivTrainSlaves += 3>>
-	<<elseif _company1 == "breaking">>
+	<<elseif _company1 == "break">>
 		You quickly staff the slave breaking facility with qualified personnel to make use of the new assets.
 		<<set $corpDivBreakDev += 5,
 		$corpDivBreakSlaves += 5>>
diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw
index b3e91e8e5e5f906ab76365ac46b847f05ff78c93..93d819c06c34aeb3ab6c256c92041fd914847a08 100644
--- a/src/uncategorized/remoteSurgery.tw
+++ b/src/uncategorized/remoteSurgery.tw
@@ -1123,23 +1123,23 @@ Work on $his sex:
 
 <<if ($activeSlave.vagina > -1) && ($activeSlave.dick > 0)>>
 	<<if $activeSlave.indentureRestrictions < 1 && ($activeSlave.breedingMark != 1 || $propOutcome == 0)>>
-		| [[Remove pussy|Surgery Degradation][$activeSlave.vagina = -1,$activeSlave.ovaries = 0,$activeSlave.preg = -2,$activeSlave.pregSource = 0,$activeSlave.vaginalSkill = 0,$activeSlave.vaginalAccessory = "none",cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$activeSlave.health -= 20,$surgeryType = "vaginaRemoval"]] <<if $activeSlave.ovaries == 1>>//This will remove $his ovaries as well//<</if>>
+		| [[Remove pussy|Surgery Degradation][$activeSlave.vagina = -1,$activeSlave.ovaries = 0,$activeSlave.preg = -2,$activeSlave.pregSource = 0,$activeSlave.vaginalSkill = 0,$activeSlave.vaginalAccessory = "none",$activeSlave.chastityVagina = 0,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$activeSlave.health -= 20,$surgeryType = "vaginaRemoval"]] <<if $activeSlave.ovaries == 1>>//This will remove $his ovaries as well//<</if>>
 	<</if>>
 <<elseif $activeSlave.vagina > -1>>
 	<<if $activeSlave.indentureRestrictions < 1 && ($activeSlave.breedingMark != 1 || $propOutcome == 0)>>
-		| [[Remove pussy|Surgery Degradation][$activeSlave.vagina = -1,$activeSlave.ovaries = 0,$activeSlave.preg = -2,$activeSlave.pregSource = 0,$activeSlave.vaginalSkill = 0,$activeSlave.vaginalAccessory = "none",cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$activeSlave.health -= 20,$surgeryType = "vaginaRemoval"]] <<if $activeSlave.ovaries == 1>>//This will remove $his ovaries as well//<</if>>
+		| [[Remove pussy|Surgery Degradation][$activeSlave.vagina = -1,$activeSlave.ovaries = 0,$activeSlave.preg = -2,$activeSlave.pregSource = 0,$activeSlave.vaginalSkill = 0,$activeSlave.vaginalAccessory = "none",$activeSlave.chastityVagina = 0,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$activeSlave.health -= 20,$surgeryType = "vaginaRemoval"]] <<if $activeSlave.ovaries == 1>>//This will remove $his ovaries as well//<</if>>
 	<</if>>
 <</if>>
 
 <<if $activeSlave.indentureRestrictions < 1 && ($activeSlave.breedingMark != 1 || $propOutcome == 0)>>
 	<<if ($activeSlave.vagina == -1) && ($activeSlave.dick != 0)>>
-		| [[Convert genitalia to female|Surgery Degradation][$activeSlave.dick = 0,$activeSlave.dickAccessory = "none",$activeSlave.dickTat = 0,$activeSlave.foreskin = 0,$activeSlave.scrotum = 0,$activeSlave.balls = 0,$activeSlave.ballType = "human",$activeSlave.vasectomy = 0,$activeSlave.vagina = 0,$activeSlave.preg = -2,$activeSlave.vaginalSkill = 0,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 40, $surgeryType = "mtf"]]
+		| [[Convert genitalia to female|Surgery Degradation][$activeSlave.dick = 0,$activeSlave.dickAccessory = "none",$activeSlave.chastityPenis = 0,$activeSlave.dickTat = 0,$activeSlave.foreskin = 0,$activeSlave.scrotum = 0,$activeSlave.balls = 0,$activeSlave.ballType = "human",$activeSlave.vasectomy = 0,$activeSlave.vagina = 0,$activeSlave.preg = -2,$activeSlave.vaginalSkill = 0,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 40, $surgeryType = "mtf"]]
 	<</if>>
 	<<if ($activeSlave.vagina == -1) && ($activeSlave.dick == 0) && ($surgeryUpgrade == 1)>>
 		| [[Create a vagina|Surgery Degradation][$activeSlave.vagina = 0,$activeSlave.vaginalSkill = 0,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 40, $surgeryType = "ntf"]]
 	<</if>>
 	<<if ($activeSlave.dick > 0) && ($seeExtreme == 1)>>
-		| [[Remove penis|Surgery Degradation][$activeSlave.dick = 0,$activeSlave.dickAccessory = "none",$activeSlave.dickTat = 0,$activeSlave.foreskin = 0,$activeSlave.vaginalSkill = 0,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20, $surgeryType = "chop"]]
+		| [[Remove penis|Surgery Degradation][$activeSlave.dick = 0,$activeSlave.dickAccessory = "none",$activeSlave.chastityPenis = 0,$activeSlave.dickTat = 0,$activeSlave.foreskin = 0,$activeSlave.vaginalSkill = 0,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20, $surgeryType = "chop"]]
 	<</if>>
 	<<if ($activeSlave.foreskin > 0) && $activeSlave.dick > 0>>
 		<<if $activeSlave.indentureRestrictions < 2>>
@@ -1325,6 +1325,10 @@ $He has
 				//$He already has received the plasticity increasing elasticity treatment//
 			<</if>>
 		<</if>>
+		<<if $activeSlave.geneticQuirks.albinism == 2>>
+			<br>&nbsp;&nbsp;&nbsp;&nbsp;
+			[[Albinism prevention treamtment|Surgery Degradation][$activeSlave.geneticQuirks.albinism = 0,cashX(forceNeg($surgeryCost*4), "slaveSurgery", $activeSlave), $activeSlave.health -= 40, $activeSlave.chem += 100,$surgeryType = "gene treatment"]]
+		<</if>>
 		<<if $activeSlave.geneticQuirks.pFace == 2>>
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;
 			[[Prevent passing of perfect faces|Surgery Degradation][$activeSlave.geneticQuirks.pFace = 0,cashX(forceNeg($surgeryCost*4), "slaveSurgery", $activeSlave), $activeSlave.health -= 40, $activeSlave.chem += 100,$surgeryType = "gene treatment"]]
diff --git a/src/uncategorized/resFailure.tw b/src/uncategorized/resFailure.tw
index 6ebaab99861d435c6b3610c98809fee9a383ef0c..9c5bed97fc58ac40f8f005b471f8f9387384beac 100644
--- a/src/uncategorized/resFailure.tw
+++ b/src/uncategorized/resFailure.tw
@@ -792,7 +792,7 @@ The failure of a prominent organization within your arcology has @@.red;affected
 		<<set $vaginalTotal += 1>>
 	<</if>>
 	<</for>>
-	You <<if $PC.dick == 1>>whip out your dick<<else>>pull on a strap-on, the one you use for disobedient slaves,<</if>> and kneel down behind the sobbing futa matron. When $he feels it touching $his pussylips, $he whispers "Thank you, <<Master>>," through $his tears. $He's very, very sexually experienced, so it's harder to make $him feel it than it would be for a girl with tighter holes. But you're an expert. You calibrate your pounding to pull just barely too far out, so that $he feels you ramming mercilessly into $him with each stroke, and so that the slightest mistake from $him sends <<if $PC.dick == 1>>your cock<<else>>the phallus<</if>> right up the other hole. Despite $his anguish and the brutal fuck, or perhaps because of them, $he slowly manages to get hard, and orgasms painfully when you do. $He @@.hotpink;can't seem to stop thanking you,@@ but is quiet when you tell $him to be.
+	You <<if $PC.dick == 1>>whip out your dick<<else>>pull on a strap-on, the one you use for disobedient slaves,<</if>> and kneel down behind the sobbing futa matron. When $he feels it touching $his pussylips, $he whispers "Thank you, <<Master>>," through $his tears. $He's very, very sexually experienced, so it's harder to make $him feel it than it would be for a $girl with tighter holes. But you're an expert. You calibrate your pounding to pull just barely too far out, so that $he feels you ramming mercilessly into $him with each stroke, and so that the slightest mistake from $him sends <<if $PC.dick == 1>>your cock<<else>>the phallus<</if>> right up the other hole. Despite $his anguish and the brutal fuck, or perhaps because of them, $he slowly manages to get hard, and orgasms painfully when you do. $He @@.hotpink;can't seem to stop thanking you,@@ but is quiet when you tell $him to be.
 	<</replace>>
 <</link>>
 <br>
diff --git a/src/uncategorized/resMove.tw b/src/uncategorized/resMove.tw
index b55a18fd1025fb69d6cd803695d20950d91436d1..9ea076a31a080f9e8f95982fb4c470a421ca449c 100644
--- a/src/uncategorized/resMove.tw
+++ b/src/uncategorized/resMove.tw
@@ -51,9 +51,9 @@
 	<<case "hypergoddess">>
 		_hisA goddess avatar keeping count based off the number of contractions running through _hisA huge belly:
 	<<case "loli">>
-		_hisA loli avatar carefully counts the numbers off on _hisA fingers:
+		_hisA _loliA avatar carefully counts the numbers off on _hisA fingers:
 	<<case "preggololi">>
-		_hisA pregnant loli avatar carefully counts the numbers off on _hisA fingers before losing count to _hisA baby kicking and starting over:
+		_hisA pregnant _loliA avatar carefully counts the numbers off on _hisA fingers before losing count to _hisA baby kicking and starting over:
 	<<case "angel">>
 		_hisA angel avatar carefully using the feathers on _hisA wing to keep count:
 	<<case "cherub">>
diff --git a/src/uncategorized/saLiveWithHG.tw b/src/uncategorized/saLiveWithHG.tw
index c0826661385ff68733abbc4275b3dcac2dc4fdcb..9c6febc1c3a018454fb414c177d4326b3f6e10bc 100644
--- a/src/uncategorized/saLiveWithHG.tw
+++ b/src/uncategorized/saLiveWithHG.tw
@@ -968,7 +968,7 @@
 		Your Head Girl @@.hotpink;really enjoys@@ being given total freedom to customize _his2 very own bitch.
 		<<set $HeadGirl.devotion += 2>>
 	<<elseif _hgEnjoyment == 2>>
-		Your Head Girl @@.hotpink;enjoys@@ being given freedom to customize _his2 very own girl.
+		Your Head Girl @@.hotpink;enjoys@@ being given freedom to customize _his2 very own $girl.
 		<<set $HeadGirl.devotion += 1>>
 	<<elseif _hgEnjoyment == 1>>
 		Your Head Girl @@.hotpink;appreciates@@ being given some freedom to customize _his2 own servant.
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index d6994bb6e24b0314e5c951d6c1e62a8a51e0de94..413364fdd1c2fc266fc07e53f066aa30e73cc74e 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -314,7 +314,7 @@
 				<<if ($slaves[$i].energy >= 40)>>
 					<<if ($slaves[$i].fetishKnown == 1)>>
 						<<if ($slaves[$i].fetish == "dom")>>
-							$He's found $himself enjoying the sight of female slaves being forced to fuck recently. $He's now @@.green;more attracted to women.@@
+							$He's found $himself enjoying the <<if canSee($slaves[$i])>>sight<<else>>idea<</if>> of female slaves being forced to fuck recently. $He's now @@.green;more attracted to women.@@
 							<<set $slaves[$i].attrXX += 3>>
 						<<elseif ($slaves[$i].fetish == "sadist")>>
 							$He's started fantasizing about how a girl might feel, struggling to get away from $him. $He's now @@.green;more attracted to women.@@
@@ -4434,7 +4434,7 @@
 			<<if ($slaves[$i].bellyPreg >= 1500)>>
 				Society <<if $arcologies[0].FSGenderFundamentalist >= $FSLockinLevel*0.5>>@@.green;strongly approves@@<<else>>@@.green;approves@@<</if>> of your keeping a pregnant slave; this also supports the idea that slave women should bear babies.
 				<<= FSChangePorn("GenderFundamentalist", 1)>>
-			<<elseif ($slaves[$i].preg == 0)>>
+			<<elseif ($slaves[$i].preg == 0) && isFertile($slaves[$i])>>
 				Society <<if $arcologies[0].FSGenderFundamentalist >= $FSLockinLevel*0.5>>@@.green;strongly approves@@<<else>>@@.green;approves@@<</if>> of your keeping a slave fertile; this also supports the idea that slave women should bear babies.
 				<<= FSChangePorn("GenderFundamentalist", 1)>>
 			<</if>>
@@ -4741,7 +4741,7 @@
 			Society finds $his inhuman ears @@.red;appalling.@@
 			<<= FSChangePorn("BodyPurist", -1)>>
 		<</if>>
-		<<if $slaves[$i].horns != "none" || $slaves[$i].tail != "none">>
+		<<if $slaves[$i].horn != "none" || $slaves[$i].tail != "none">>
 			Society @@.red;is disgusted@@ by $his inhuman attributes.
 			<<= FSChangePorn("BodyPurist", -1)>>
 		<</if>>
@@ -4764,7 +4764,7 @@
 				<<= FSChangePorn("BodyPurist", 1)>>
 			<</if>>
 		<</if>>
-		
+
 	<<elseif $arcologies[0].FSTransformationFetishist != "unset">>
 		<<set _transformed = 0>>
 		<<if ($slaves[$i].boobsImplant > 0) && ($slaves[$i].buttImplant > 0) && ($slaves[$i].lipsImplant > 0)>>
@@ -4796,7 +4796,7 @@
 			<<= FSChangePorn("TransformationFetishist", 1)>>
 			<<set _transformed = 1>>
 		<</if>>
-		<<if ($slaves[$i].amp < 0) || $slaves[$i].earT != "none" || $slaves[$i].horns != "none" || $slaves[$i].tail != "none">>
+		<<if ($slaves[$i].amp < 0) || $slaves[$i].earT != "none" || $slaves[$i].horn != "none" || $slaves[$i].tail != "none">>
 			Society @@.green;strongly approves@@ of $his transhuman body.
 			<<= FSChangePorn("TransformationFetishist", 1)>>
 			<<set _transformed = 1>>
diff --git a/src/uncategorized/saRecruitGirls.tw b/src/uncategorized/saRecruitGirls.tw
index 3da596698d5496c36a0c4222f471b6846fa346d9..fbe35eb9c86e7b3cbf3f4e583279a713efaf6902 100644
--- a/src/uncategorized/saRecruitGirls.tw
+++ b/src/uncategorized/saRecruitGirls.tw
@@ -712,7 +712,7 @@
 		<<if $arcologies[0].FSSupremacist != "unset">>
 			<<if $slaves[$i].intelligence+$slaves[$i].intelligenceImplant > 50>>
 				<<if $slaves[$i].race != $arcologies[0].FSSupremacistRace>>
-					$He patiently explains how $slaves[$i].race girls like $himself benefit from the firm guidance of their proper $arcologies[0].FSSupremacistRace masters.
+					$He patiently explains how $slaves[$i].race <<= $girl>>s like $himself benefit from the firm guidance of their proper $arcologies[0].FSSupremacistRace masters.
 				<<else>>
 					$He makes the clear case for $arcologies[0].FSSupremacistRace superiority, although as an enslaved $slaves[$i].race woman $his words are a bit hollow.
 				<</if>>
@@ -743,14 +743,14 @@
 			<<elseif $slaves[$i].births > 0>>
 				Any time $he stars in an erotic photo shoot, $he always makes sure to follow up with a, hopefully positive, pregnancy test. Though $he makes sure to hype up $his viewers to sign up to be the one to knock $him up should it come up negative.
 			<<else>>
-				$His efforts would have more impact if $his womb wasn't so empty. Disappointing any who would want to see $him pregnant.
+				$His efforts would have more impact if $his womb wasn't so empty. Disappointing to any who would want to see $him pregnant.
 			<</if>>
 			<<if $slaves[$i].intelligence+$slaves[$i].intelligenceImplant > 50>>
 				$He is smart enough to not only repeat your repopulationist goals, but to expand upon them.
 			<<elseif $slaves[$i].births > 3>>
 				$He uses $his experience as a mother as leverage to convince virgin ladies that motherhood is wonderful.
 			<<else>>
-				Being both unintelligent and inexperienced, $his attempts to emphasize the joys of pregnancy only come off as someone who likes big bellies, no matter their source.
+				Being both unintelligent and inexperienced, $his attempts to emphasize the joys of pregnancy only come off as someone who likes big bellies, no matter their cause.
 			<</if>>
 		<<elseif $arcologies[0].FSRestart != "unset">>
 			<<if $slaves[$i].bellyPreg >= 1500 && $slaves[$i].breedingMark == 1 && $propOutcome == 1>>
@@ -760,7 +760,7 @@
 			<<elseif $slaves[$i].bellyPreg < 100>>
 				<<if ($slaves[$i].dick > 0 && $slaves[$i].balls == 0)>>
 					$He makes sure to wear tight fitting clothes to show off the bulge of $his dick and, most notably, the lack of testicles under it in all $his photo shoots.
-				<<elseif ($slaves[$i].chastityVagina || $slaves[$i].chastityPenis || $slaves[$i].chastityAnus)>>
+				<<elseif ($slaves[$i].chastityVagina || $slaves[$i].chastityPenis>>
 					In all $his public appearances, $his choice of clothing is always crotchless, leaving $his chastity gear as the only thing protecting $his modesty.
 				<<elseif (($slaves[$i].ovaries == 0 && $slaves[$i].mpreg == 0) || $slaves[$i].preg < -1)>>
 					$He frequently livestreams massive orgies involving $himself at the center, making sure to always follow up with $his negative pregnancy tests.
diff --git a/src/uncategorized/saRivalries.tw b/src/uncategorized/saRivalries.tw
index 11de6f57a55759502bfb9f2466a264f14db998b0..9f712cbb70c4569d4160f07b57571e816400d170 100644
--- a/src/uncategorized/saRivalries.tw
+++ b/src/uncategorized/saRivalries.tw
@@ -80,12 +80,22 @@
 															<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
 															<<break>>
 														<</if>>
+														<<if $slaves[_j].weight < -30>>
+															$slaves[$i].slaveName, who loves food, can't stand <<= SlaveFullName($slaves[_j])>>'s severe emaciation. @@.lightsalmon;They start to dislike each other.@@
+															<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
+															<<break>>
+														<</if>>
 													<<case "anorexic">>
 														<<if $slaves[_j].behavioralFlaw == "gluttonous">>
 															$slaves[$i].slaveName, an anorexic, can't stand <<= SlaveFullName($slaves[_j])>>'s disgusting gluttony. @@.lightsalmon;They start to dislike each other.@@
 															<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
 															<<break>>
 														<</if>>
+														<<if $slaves[_j].weight > 130>>
+															$slaves[$i].slaveName, an anorexic, can't stand <<= SlaveFullName($slaves[_j])>>'s immense girth. @@.lightsalmon;They start to dislike each other.@@
+															<<set $slaves[_j].rivalry = 1, $slaves[$i].rivalry = 1, $slaves[_j].rivalryTarget = $slaves[$i].ID, $slaves[$i].rivalryTarget = $slaves[_j].ID>>
+															<<break>>
+														<</if>>
 													<<case "devout">>
 														<<if $slaves[_j].behavioralFlaw == "liberated">>
 															$slaves[$i].slaveName, who is devout and might be considered rather conservative if $he were free, can't stand <<= SlaveFullName($slaves[_j])>>'s revolting gender liberation. @@.lightsalmon;They start to dislike each other.@@
diff --git a/src/uncategorized/saRules.tw b/src/uncategorized/saRules.tw
index c0613cb7ee298a15cbec65b57d977c2d4925df46..1f0cf11768e22c39dededd481bfe9c0080cfad0d 100644
--- a/src/uncategorized/saRules.tw
+++ b/src/uncategorized/saRules.tw
@@ -1474,7 +1474,7 @@
 					<<if $spa != 0>>
 						usually spends in $spaName<<if $Attendant != 0>> enjoying $Attendant.slaveName's care<</if>>.
 					<<else>>
-						usually spends relaxing in $his room<<if $CellBiIDs.length > 1>> teaching a disobedient how to properly use her mouth<</if>>.
+						usually spends relaxing in $his room<<if $CellBiIDs.length > 1>> teaching a disobedient slave how to properly use their mouth<</if>>.
 					<</if>>
 					<<if $slaves[$i].relationship > 0>>
 						$He often asks to save these breaks so $he can spend them with $his <<if $slaves[$i].relationship == 1>>friend<<elseif $slaves[$i].relationship == 2>>best friend<<elseif $slaves[$i].relationship == 3>>friend with benefits<<elseif $slaves[$i].relationship == 4>>sweetheart<<else>>wife<</if>>.
diff --git a/src/uncategorized/saWhore.tw b/src/uncategorized/saWhore.tw
index 67f4349490cc4c50d6bfb3c13a8c35be0a2113ce..98200fe6577d15885bfdbaa679c522c5866bbc6b 100644
--- a/src/uncategorized/saWhore.tw
+++ b/src/uncategorized/saWhore.tw
@@ -1149,7 +1149,7 @@ In total, you were paid @@.yellowgreen;<<print cashFormat(Math.trunc($beauty*$FR
 		<<if ($slaves[$i].drugs == "hyper testicle enhancement")>>
 			<<set _penetrativeUse += Math.min($slaves[$i].balls,5)>>
 		<</if>>
-	<<elseif !($slaves[$i].chastityPenis)>>
+	<<elseif ($slaves[$i].chastityPenis != 1)>>
 		<<set _penetrativeUse += $penetrativeUseWeight+$slaves[$i].dick+Math.min($slaves[$i].balls,10)/8>>
 		<<if ($slaves[$i].drugs == "hyper testicle enhancement")>>
 			<<set _penetrativeUse += Math.min($slaves[$i].balls,5)>>
diff --git a/src/uncategorized/schoolroomReport.tw b/src/uncategorized/schoolroomReport.tw
index fa856d5c742b84663a7162905d269f5c9d35029e..4c970bb6958defcc293cd5bfa06bd162d148d7ee 100644
--- a/src/uncategorized/schoolroomReport.tw
+++ b/src/uncategorized/schoolroomReport.tw
@@ -173,7 +173,7 @@
 		<<if ($slaves[$i].entertainSkill > 30) || (($schoolroomUpgradeSkills == 0) && ($slaves[$i].entertainSkill > 10))>>
 		<<if ($slaves[$i].analSkill > 30) || (($schoolroomUpgradeSkills == 0) && ($slaves[$i].analSkill > 10))>>
 		<<if ($slaves[$i].vaginalSkill > 30) || (($schoolroomUpgradeSkills == 0) && ($slaves[$i].vaginalSkill > 10)) || ($slaves[$i].vagina < 0)>>
-			<br><br>''__@@.pink;$slaves[$i].slaveName@@__'' can learn little from further classes, so @@.yellow;her assignment has defaulted to rest.@@
+			<br><br>''__@@.pink;$slaves[$i].slaveName@@__'' can learn little from further classes, so @@.yellow;_his2 assignment has defaulted to rest.@@
 			<<= removeJob($slaves[$i], "learn in the schoolroom")>>
 			<<set _restedSlaves++, _dI--, _DL-->>
 			<<continue>>
diff --git a/src/uncategorized/seCoursing.tw b/src/uncategorized/seCoursing.tw
index 79265cbfbe63eeb865e139e20161a41aaca05830..4c8b2beeba32417837a5633da45988f65e5a175a 100644
--- a/src/uncategorized/seCoursing.tw
+++ b/src/uncategorized/seCoursing.tw
@@ -371,7 +371,7 @@ You lead your lurcher $Lurcher.slaveName out on a leash, naked just like the har
 	<<set $hareSpeed -= 1>>
 <</if>>
 <<if $activeSlave.belly >= 60000>>
-	_He2's so massively pregnant it'll be lucky if she even makes it anywhere.
+	_He2's so massively pregnant it'll be lucky if _he2 even makes it anywhere.
 	<<set $hareSpeed -= 10>>
 <<elseif $activeSlave.belly >= 10000>>
 	_He2 pregnant belly will probably stop _him2 from running at all.
diff --git a/src/uncategorized/seNonlethalPit.tw b/src/uncategorized/seNonlethalPit.tw
index a89f25af085ef66ab0bf0b11294e2ef4daac7ca7..36b0715f8cbfed4cf189ec45a887641598180967 100644
--- a/src/uncategorized/seNonlethalPit.tw
+++ b/src/uncategorized/seNonlethalPit.tw
@@ -495,7 +495,7 @@
 			<<run repX(50, "pit", _winner)>>
 		<</if>>
 	<<elseif (_loser.eyebrowPiercing > 0)>>
-		The fight starts slowly, with the girls trading jabs. Just as the spectators are getting bored, _loser.slaveName takes a glancing blow to the eyebrow. _His2 piercing catches on _winner.slaveName's glove and tears out. _loser.slaveName goes after _his2 tormentor in fury, streaming blood, the piercing forgotten on the mat. Any tendency _winner.slaveName might have had to feel badly about this is extinguished by the assault, and soon _winner.slaveName is even willing to follow up on the success by targeting pierced body parts. The fight ends with poor _loser.slaveName writhing in pain on the mat, @@.red;leaking blood@@ from several terribly shredded areas.
+		The fight starts slowly, with the two trading jabs. Just as the spectators are getting bored, _loser.slaveName takes a glancing blow to the eyebrow. _His2 piercing catches on _winner.slaveName's glove and tears out. _loser.slaveName goes after _his2 tormentor in fury, streaming blood, the piercing forgotten on the mat. Any tendency _winner.slaveName might have had to feel badly about this is extinguished by the assault, and soon _winner.slaveName is even willing to follow up on the success by targeting pierced body parts. The fight ends with poor _loser.slaveName writhing in pain on the mat, @@.red;leaking blood@@ from several terribly shredded areas.
 		<<set _loser.health -= 10, _loser.eyebrowPiercing = 0>>
 		<<if $pitAudience == "paid">>
 			The audience is reasonably impressed by the gory spectacle, and your @@.yellowgreen;cut of the betting@@ is reasonable.
@@ -542,7 +542,7 @@
 			<<run repX(25, "pit", _winner)>>
 		<</if>>
 	<<elseif canDoVaginal(_loser)>>
-		_winner.slaveName wants to win badly enough that $he takes an extremely unpleasant shortcut to victory. The instant the fight starts, $he furiously goes for _loser.slaveName's eyes, hands forming claws. _loser.slaveName defends _himself2 with _his2 arms, at which point _winner.slaveName delivers a mighty cunt punt. _loser.slaveName goes straight down, _his2 mouth soundlessly opening and closing and tears leaking from _his2 closed eyes while _his2 hands desperately shield _his2 outraged pussy. _winner.slaveName follows _him2 down and puts the unresisting girl's head in a simple lock.
+		_winner.slaveName wants to win badly enough that $he takes an extremely unpleasant shortcut to victory. The instant the fight starts, $he furiously goes for _loser.slaveName's eyes, hands forming claws. _loser.slaveName defends _himself2 with _his2 arms, at which point _winner.slaveName delivers a mighty cunt punt. _loser.slaveName goes straight down, _his2 mouth soundlessly opening and closing and tears leaking from _his2 closed eyes while _his2 hands desperately shield _his2 outraged pussy. _winner.slaveName follows _him2 down and puts the unresisting _girl2's head in a simple lock.
 		<<if $pitAudience == "paid">>
 			The audience is not very impressed by this easy win, and your @@.yellowgreen;cut of the betting@@ is unimpressive.
 			<<run cashX(500, "pit", _winner)>>
@@ -790,14 +790,14 @@
 	<</if>>
 
 <<if (_winner.sexualFlaw == "malicious")>>
-	_winner.slaveName lives to torment and violate slave girls. $He uses _loser.slaveName for $his @@.hotpink;pleasure,@@ slapping _him2 viciously, pinching _him2 until $he draws blood, and showing off for the spectators.
+	_winner.slaveName lives to torment and violate slaves. $He uses _loser.slaveName for $his @@.hotpink;pleasure,@@ slapping _him2 viciously, pinching _him2 until $he draws blood, and showing off for the spectators.
 	<<if $pitAudience != "none">>
 		The audience @@.green;greatly enjoys@@ the depraved spectacle.
 		<<run repX(50, "pit", _winner)>>
 	<</if>>
 	<<set _winner.devotion += 2>>
 <<elseif (_winner.sexualFlaw == "abusive")>>
-	_winner.slaveName lives to abuse and violate slave girls. $He uses _loser.slaveName for $his @@.hotpink;pleasure,@@ raping _him2 mercilessly, striking _him2 until _he2 turns a deep reddish-purple, and showing off for the spectators.
+	_winner.slaveName lives to abuse and violate slaves. $He uses _loser.slaveName for $his @@.hotpink;pleasure,@@ raping _him2 mercilessly, striking _him2 until _he2 turns a deep reddish-purple, and showing off for the spectators.
 	<<if $pitAudience != "none">>
 		The audience @@.green;greatly enjoys@@ the depraved spectacle.
 		<<run repX(50, "pit", _winner)>>
diff --git a/src/uncategorized/seRaiding.tw b/src/uncategorized/seRaiding.tw
index afce699439d0e3dd56d182a4e5c8b6d11fedd678..22e5c3a5218f983593b7160a5ed3daca9d3a2cfe 100644
--- a/src/uncategorized/seRaiding.tw
+++ b/src/uncategorized/seRaiding.tw
@@ -105,7 +105,6 @@ target
 	<<set $activeSlave.teeth = "normal">>
 	<<set $activeSlave.weight = random(-50,130)>>
 	<<set $activeSlave.career = either("a housewife", "a trophy wife")>>
-	is an idyllic mansion in the countryside of an Old World nation. It's owner is a businessman of some notoriety, but is often away from his expansive estate. A number of servants and maids are in residence, but the primary resident of the mansion is his wife. From the sound of things, she is not a young woman but attractive enough in a fake sort of way.
 <<case "university professor">>
 	<<set $activeSlaveOneTimeMinAge = 35>>
 	<<set $activeSlaveOneTimeMaxAge = 55>>
@@ -135,7 +134,6 @@ target
 	<<else>>
 		<<set $activeSlave.preg = -1>>
 	<</if>>
-	is the department offices of a still operational Old World university. The University prides itself on a diverse and capable faculty, often touting its wealth of female professors as a symbol of its progressive agenda. Though they are unlikely to be young, these professors will be educated and quite intelligent. The head of the department is no exception, a woman of considerable academic credentials.
 <<case "university student">>
 	<<set $activeSlaveOneTimeMinAge = 14>>
 	<<set $activeSlaveOneTimeMaxAge = 22>>
@@ -167,7 +165,6 @@ target
 	<<else>>
 		<<set $activeSlave.preg = -1>>
 	<</if>>
-	is the residence dormitories of a still operational Old World university. The University prides itself on a diverse and inspired student body, often touting its wealth of female students as a symbol of its progressive agenda. Though they are young, these students will likely have benefited from their education and fairly intelligent. By all accounts the prettiest of them is no exception, a student with a shining academic record.
 <<case "female military officer">>
 	<<set $activeSlaveOneTimeMinAge = 26>>
 	<<set $activeSlaveOneTimeMaxAge = 45>>
@@ -187,7 +184,6 @@ target
 	<<set $activeSlave.teeth = "normal">>
 	<<set $activeSlave.weight = 0>>
 	<<set $activeSlave.muscles = 25>>
-	is a military officer currently traveling to the front of a fresh conflict between rival powers in the Old World. In an attempt to disguise her high rank, she is traveling with only a small escort of soldiers and is a prime target for enslavement. The officer is a graduate of a renowned Old World military college and no stranger to the battlefield, yet has retained her femininity despite her considerable achievements.
 <<case "male military officer">>
 	<<set $activeSlaveOneTimeMinAge = 26>>
 	<<set $activeSlaveOneTimeMaxAge = 45>>
@@ -213,7 +209,6 @@ target
 	<<set $activeSlave.anus = 0>>
 	<<set $activeSlave.weight = 0>>
 	<<set $activeSlave.muscles = 50>>
-	is a military officer currently traveling to the front of a fresh conflict between rival powers in the Old World. In an attempt to disguise his high rank, he is traveling with only a small escort of soldiers and is a prime target for enslavement. The officer is a graduate of a renowned Old World military college and no stranger to the battlefield.
 <<case "military soldier">>
 	<<if $pedo_mode == 1>>
 		<<set $activeSlaveOneTimeMinAge = 18>>
@@ -248,7 +243,6 @@ target
 	<<else>>
 		<<set $activeSlave.preg = -1>>
 	<</if>>
-	is the barracks of a local garrison in an Old World town. The majority of the town's young men have already been sent to the front of a new conflict, so the town has conscripted a number of young women to fill the ranks of their garrison. Though the soldiers are likely to be untested, they have still received some measure of combat training. Their sergeant is the nominal leader of the group, though she holds the position due to familial connections rather than any real military seniority.
 <<case "doctor">>
 	<<set $activeSlaveOneTimeMinAge = 28>>
 	<<set $activeSlaveOneTimeMaxAge = 55>>
@@ -278,7 +272,6 @@ target
 	<<else>>
 		<<set $activeSlave.preg = -1>>
 	<</if>>
-	is a hospital located in an impoverished Old World City. Despite its crime ridden surroundings, the hospital possesses a sterling reputation as a result of its distinguished staff of veteran doctors and nurses. Chief among these medical professionals is a female doctor, an accomplished pioneer in her field.
 <<case "nun">>
 	<<set $activeSlaveOneTimeMaxAge = 70>>
 	<<set $oneTimeDisableDisability = 1>>
@@ -297,7 +290,6 @@ target
 	<<set $activeSlave.entertainSkill = 0>>
 	<<set $activeSlave.behavioralFlaw = "devout">>
 	<<set $activeSlave.sexualFlaw = "repressed">>
-	is a reclusive religious community in a mountain range between two current conflict zones. The members of the community have withdrawn from the collapsing social order of the world and established a commune in their mountain retreat, filling their days with peaceful reflection and prayer. Though the nuns have no true leader, one among them has emerged as the most pious of the sisters.
 <<case "journalist">>
 	<<set $activeSlaveOneTimeMinAge = 18>>
 	<<set $activeSlaveOneTimeMaxAge = 26>>
@@ -328,7 +320,6 @@ target
 	<<else>>
 		<<set $activeSlave.preg = -1>>
 	<</if>>
-	is the offices of an esteemed Old World newspaper firm. The paper is known for its investigative journalism, particularly as one of the few firms willing to delve into the brave new world of the Free Cities. The rising star of the paper is undoubtedly a young journalist who has been an outspoken critic of slaveholding and other Free Cities traditions.
 <<case "local news anchor">>
 	<<set $activeSlaveOneTimeMinAge = 35>>
 	<<set $activeSlaveOneTimeMaxAge = 39>>
@@ -352,7 +343,6 @@ target
 	<<set $activeSlave.entertainSkill = 35>>
 	<<set $activeSlave.career = "a local news anchor">>
 	<<set $activeSlave.weight = random(-40,40)>>
-	is the recording studio of a sleepy Old World town's local news channel. The news channel itself is unremarkable, a quaint reminder of the tedious life of a small town, save for its news anchor. The anchor stands in stark contrast to her fellow residents by the abundance of her plastic surgery, likely an attempt to cling to youth lest her coveted anchor position be snatched away by a younger woman.
 <<case "classical dancer">>
 	<<set $activeSlaveOneTimeMaxAge = 20>>
 	<<set $oneTimeDisableDisability = 1>>
@@ -372,7 +362,6 @@ target
 		<<set $activeSlave.teeth = "normal">>
 	<</if>>
 	<<set $activeSlave.weight = random(-100,-10)>>
-	is the performing arts theater at the heart of an aristocratic Old World city. The theater itself would usually not be considered a choice target, except that tonight its stage is graced by a renowned dance troupe. The jewel of the troupe's cast is a young girl<<if $pedo_mode == 0>>, barely past her majority,<</if>> whose performance has been said to bring tears to the eyes of audiences the world over.
 <<case "law enforcement officer">>
 	<<if $pedo_mode == 1>>
 		<<set $activeSlaveOneTimeMinAge = 18>>
@@ -406,7 +395,6 @@ target
 	<<else>>
 		<<set $activeSlave.preg = -1>>
 	<</if>>
-	is the precinct of a small Old World town's police department. The department is notoriously underfunded and unlikely to be particularly well staffed. Nonetheless, one of the officers is well known in the area for her adherence to the letter of the law despite her small town cop status.
 <<case "classical musician">>
 	<<set $activeSlaveOneTimeMaxAge = 43>>
 	<<set $one_time_age_overrides_pedo_mode = 1>>
@@ -441,7 +429,6 @@ target
 		<</if>>
 		<<set $activeSlave.vagina = 1>>
 	<</if>>
-	is the concert hall at the heart of an aristocratic Old World city. The concert hall itself would usually not be considered a choice target, except that tonight its stage is graced by a renowned orchestra. The pride of the orchestra's cast is a <<if $activeSlave.visualAge < 13>>little girl<<elseif $activeSlave.visualAge <= 18>>teenager<<elseif $activeSlave.visualAge <= 24>>young woman<<elseif $activeSlave.visualAge <= 32>>woman<<else>>mature woman<</if>>, whose skill with her instrument has been known to move listeners to tears.
 <<case "politician">>
 	<<set $activeSlaveOneTimeMinAge = 35>>
 	<<set $activeSlaveOneTimeMaxAge = 65>>
@@ -473,7 +460,6 @@ target
 	<<else>>
 		<<set $activeSlave.preg = -1>>
 	<</if>>
-	is a campaign rally for the reelection of an Old World politician. Though the rally will be an extremely public affair, the benefits of capturing a prestigious politician could outweigh the risks.
 <<case "shut-in">>
 	<<set $activeSlaveOneTimeMaxAge = 43>>
 	<<set $oneTimeDisableDisability = 1>>
@@ -487,7 +473,6 @@ target
 	<<set $activeSlave.whoreSkill = 0>>
 	<<set $activeSlave.entertainSkill = 10>>
 	<<set $activeSlave.weight = random(-100,60)>>
-	is the shack of a notorious shut-in located just outside your arcology. Not a particularly distinguished target, but it would save your $mercenariesTitle considerable time and effort. The shut-in herself has been a fixture of the landscape for <<if $activeSlave.visualAge < 13>>only a little while<<elseif $activeSlave.visualAge <= 18>>some time<<elseif $activeSlave.visualAge <= 32>>years<<else>>decades<</if>>, with many speculating that she remains a virgin<<if $activeSlave.visualAge > 32>> despite her mature age<</if>>.
 <<case "procuress">>
 	<<set $activeSlaveOneTimeMinAge = 20>>
 	<<set $activeSlaveOneTimeMaxAge = 65>>
@@ -503,7 +488,6 @@ target
 	<<set $activeSlave.entertainSkill = 25>>
 	<<set $activeSlave.intelligence = random(51,80)>>
 	<<set $activeSlave.weight = random(-10,120)>>
-	is a halfway house for vulnerable woman operating in a nearby conflict zone. Far from being a wholesome institution, the proprietor of this halfway house is a notorious procuress who sells her guests into slavery. Raiding the halfway house avoids the procuress' fees on a new shipment of slaves, with the procuress herself as a tempting bonus.
 <<case "investor">>
 	<<set $activeSlaveOneTimeMinAge = 35>>
 	<<set $activeSlaveOneTimeMaxAge = 55>>
@@ -534,7 +518,6 @@ target
 	<<else>>
 		<<set $activeSlave.preg = -1>>
 	<</if>>
-	is one of the last remaining business expositions still operating in the Old World. In years past, such expositions were often a showcase for innovation and corporate development but in recent years have become a sad spectacle of industry stagnation. This particular exposition's keynote speaker is a reputable investor with decades of experience, hoping to breathe new life into some valuable yet dying firms.
 <<case "scientist">>
 	<<set $activeSlaveOneTimeMinAge = 28>>
 	<<set $activeSlaveOneTimeMaxAge = 55>>
@@ -552,7 +535,6 @@ target
 	<<set $activeSlave.intelligenceImplant = 30>>
 	<<set $activeSlave.teeth = "normal">>
 	<<set $activeSlave.weight = random(-50,50)>>
-	is a research lab operating on the lawless fringe between the Old World and the Free Cities. Here, scientists push the boundaries of the known world without the burden of governmental oversight or moral restrictions. Their de facto leader is a fellow scientist, one of the first to leave the Old World behind in pursuit of knowledge.
 <<case "lawyer">>
 	<<set $activeSlaveOneTimeMinAge = 30>>
 	<<set $activeSlaveOneTimeMaxAge = 55>>
@@ -581,7 +563,47 @@ target
 	<<else>>
 		<<set $activeSlave.preg = -1>>
 	<</if>>
-	is the offices of a law firm operating on the boundary between the Old World and the Free Cities. The lawyers within profit from the shaky legal channels between Old World nations and new Free Cities, largely drawing up contracts or facilitating the transfer of goods, services, and slaves. The sole senior partner of the firm is one of the pioneers of this new field of legal work, having been a staunch corporate advocate for much of her life.
+<</switch>>
+<<setLocalPronouns $activeSlave>>
+<<switch $origin>>
+<<case "housewife">>
+	is an idyllic mansion in the countryside of an Old World nation. It's owner is a businessman of some notoriety, but is often away from his expansive estate. A number of servants and maids are in residence, but the primary resident of the mansion is his wife. From the sound of things, $he is not a young $woman but attractive enough in a fake sort of way.
+<<case "university student">>
+	is the department offices of a still operational Old World university. The University prides itself on a diverse and capable faculty, often touting its wealth of female professors as a symbol of its progressive agenda. Though they are unlikely to be young, these professors will be educated and quite intelligent. The head of the department is no exception, a $woman of considerable academic credentials.
+<<case "university student">>
+	is the residence dormitories of a still operational Old World university. The University prides itself on a diverse and inspired student body, often touting its wealth of female students as a symbol of its progressive agenda. Though they are young, these students will likely have benefited from their education and fairly intelligent. By all accounts the prettiest of them is no exception, a student with a shining academic record.
+<<case "female military officer">>
+	is a military officer currently traveling to the front of a fresh conflict between rival powers in the Old World. In an attempt to disguise $his high rank, $he is traveling with only a small escort of soldiers and is a prime target for enslavement. The officer is a graduate of a renowned Old World military college and no stranger to the battlefield, yet has retained $his femininity despite $his considerable achievements.
+<<case "male military officer">>
+	is a military officer currently traveling to the front of a fresh conflict between rival powers in the Old World. In an attempt to disguise his high rank, he is traveling with only a small escort of soldiers and is a prime target for enslavement. The officer is a graduate of a renowned Old World military college and no stranger to the battlefield.
+<<case "military soldier">>
+	is the barracks of a local garrison in an Old World town. The majority of the town's young men have already been sent to the front of a new conflict, so the town has conscripted a number of young $women to fill the ranks of their garrison. Though the soldiers are likely to be untested, they have still received some measure of combat training. Their sergeant is the nominal leader of the group, though $he holds the position due to familial connections rather than any real military seniority.
+<<case "doctor">>
+	is a hospital located in an impoverished Old World City. Despite its crime ridden surroundings, the hospital possesses a sterling reputation as a result of its distinguished staff of veteran doctors and nurses. Chief among these medical professionals is a female doctor, an accomplished pioneer in $his field.
+<<case "nun">>
+	is a reclusive religious community in a mountain range between two current conflict zones. The members of the community have withdrawn from the collapsing social order of the world and established a commune in their mountain retreat, filling their days with peaceful reflection and prayer. Though the nuns have no true leader, one among them has emerged as the most pious of the sisters.
+<<case "journalist">>
+	is the offices of an esteemed Old World newspaper firm. The paper is known for its investigative journalism, particularly as one of the few firms willing to delve into the brave new world of the Free Cities. The rising star of the paper is undoubtedly a young journalist who has been an outspoken critic of slaveholding and other Free Cities traditions.
+<<case "local news anchor">>
+	is the recording studio of a sleepy Old World town's local news channel. The news channel itself is unremarkable, a quaint reminder of the tedious life of a small town, save for its news anchor. The anchor stands in stark contrast to $his fellow residents by the abundance of $his plastic surgery, likely an attempt to cling to youth lest $his coveted anchor position be snatched away by a younger $woman.
+<<case "classical dancer">>
+	is the performing arts theater at the heart of an aristocratic Old World city. The theater itself would usually not be considered a choice target, except that tonight its stage is graced by a renowned dance troupe. The jewel of the troupe's cast is a young $girl<<if $pedo_mode == 0>>, barely past $his majority,<</if>> whose performance has been said to bring tears to the eyes of audiences the world over.
+<<case "law enforcement officer">>
+	is the precinct of a small Old World town's police department. The department is notoriously underfunded and unlikely to be particularly well staffed. Nonetheless, one of the officers is well known in the area for $his adherence to the letter of the law despite $his small town cop status.
+<<case "classical musician">>
+	is the concert hall at the heart of an aristocratic Old World city. The concert hall itself would usually not be considered a choice target, except that tonight its stage is graced by a renowned orchestra. The pride of the orchestra's cast is a <<if $activeSlave.visualAge < 13>>little $girl<<elseif $activeSlave.visualAge <= 18>>teenager<<elseif $activeSlave.visualAge <= 24>>young $woman<<elseif $activeSlave.visualAge <= 32>>$woman<<else>>mature $woman<</if>>, whose skill with $his instrument has been known to move listeners to tears.
+<<case "politician">>
+	is a campaign rally for the reelection of an Old World politician. Though the rally will be an extremely public affair, the benefits of capturing a prestigious politician could outweigh the risks.
+<<case "shut-in">>
+	is the shack of a notorious shut-in located just outside your arcology. Not a particularly distinguished target, but it would save your $mercenariesTitle considerable time and effort. The shut-in $himself has been a fixture of the landscape for <<if $activeSlave.visualAge < 13>>only a little while<<elseif $activeSlave.visualAge <= 18>>some time<<elseif $activeSlave.visualAge <= 32>>years<<else>>decades<</if>>, with many speculating that $he remains a virgin<<if $activeSlave.visualAge > 32>> despite $his mature age<</if>>.
+<<case "procuress">>
+	is a halfway house for vulnerable $women operating in a nearby conflict zone. Far from being a wholesome institution, the proprietor of this halfway house is a notorious procuress who sells $his guests into slavery. Raiding the halfway house avoids the procuress' fees on a new shipment of slaves, with the procuress $himself as a tempting bonus.
+<<case "investor">>
+	is one of the last remaining business expositions still operating in the Old World. In years past, such expositions were often a showcase for innovation and corporate development but in recent years have become a sad spectacle of industry stagnation. This particular exposition's keynote speaker is a reputable investor with decades of experience, hoping to breathe new life into some valuable yet dying firms.
+<<case "scientist">>
+	is a research lab operating on the lawless fringe between the Old World and the Free Cities. Here, scientists push the boundaries of the known world without the burden of governmental oversight or moral restrictions. Their de facto leader is a fellow scientist, one of the first to leave the Old World behind in pursuit of knowledge.
+<<case "lawyer">>
+	is the offices of a law firm operating on the boundary between the Old World and the Free Cities. The lawyers within profit from the shaky legal channels between Old World nations and new Free Cities, largely drawing up contracts or facilitating the transfer of goods, services, and slaves. The sole senior partner of the firm is one of the pioneers of this new field of legal work, having been a staunch corporate advocate for much of $his life.
 <</switch>>
 
 <<set $activeSlave.origin = "Your " + $mercenariesTitle + " caught her while raiding; she was a " + $origin + ".">>
@@ -590,88 +612,88 @@ target
 <<set $activeSlave.trust = random(-60,-75)>>
 <<set $activeSlave.oldDevotion = $activeSlave.devotion>>
 
-The $origin is the primary target of the raid. They're $activeSlave.race.
+The $origin is the primary target of the raid. $He's $activeSlave.race.
 <<if $activeSlave.weight > 190>>
-	Their figure is a catastrophically fat individual, so much so that the raid might be better off laying down speedbumps to thwart her rascal-powered flight.
+	$His figure is catastrophically fat, so much so that the raid might be better off laying down speedbumps to thwart $his rascal-powered flight.
 	<<set $targetEscape -= 5>>
 <<elseif $activeSlave.weight > 160>>
-	Their figure is extremely fat and unlikely to make it far, especially if stairs are involved.
+	$His figure is extremely fat and unlikely to make it far, especially if stairs are involved.
 	<<set $targetEscape -= 3>>
 <<elseif $activeSlave.weight > 95>>
-	Their figure is quite fat.
+	$His figure is quite fat.
 	<<set $targetEscape -= 2>>
 <<elseif $activeSlave.weight > 30>>
-	Their figure is fairly chubby.
+	$His figure is fairly chubby.
 	<<set $targetEscape -= 1>>
 <<elseif $activeSlave.weight < -95>>
-	They're so skinny that they appear almost emaciated.
+	$He's so skinny that $he appears almost emaciated.
 	<<set $targetEscape -= 1>>
 <<else>>
-	They have a fairly average weight.
+	$He has a fairly average weight.
 <</if>>
 <<if $activeSlave.muscles > 30>>
-	Their heavy musculature weighs them down.
+	$His heavy musculature weighs $him down.
 	<<set $targetEscape -= 1>>
 <<elseif $activeSlave.muscles <= 5>>
-	Their body is soft and toneless.
+	$His body is soft and toneless.
 	<<set $targetEscape -= 1>>
 <<else>>
-	Their body is fairly muscular.
+	$His body is fairly muscular.
 <</if>>
 <<if $activeSlave.height >= 185>>
-	They're tall enough that their height makes them easy to spot.
+	$He's tall enough that $his height makes $him easy to spot.
 	<<set $targetEscape -= 2>>
 <<elseif $activeSlave.height < 150>>
-	They're short enough that their height makes them difficult to spot.
+	$He's short enough that $his height makes $him difficult to spot.
 	<<set $targetEscape += 1>>
 <<else>>
-	They're of an average height.
+	$He's of an average height.
 <</if>>
 <<if $activeSlave.boobs >= 2000>>
-	They have absurdly large breasts.
+	$He has absurdly large breasts.
 	<<set $targetEscape -= 3>>
 <<elseif $activeSlave.boobs >= 800>>
-	They have fairly large breasts.
+	$He has fairly large breasts.
 	<<set $targetEscape -= 1>>
 <<elseif $activeSlave.boobs >= 400>>
-	They have medium sized breasts.
+	$He has medium sized breasts.
 <<else>>
-	They're fairly flat chested.
+	$He's fairly flat chested.
 	<<set $targetEscape += 1>>
 <</if>>
 <<if $activeSlave.butt >= 6>>
-	They have an immense posterior.
+	$He has an immense posterior.
 	<<set $targetEscape -= 1>>
 <<elseif $activeSlave.butt >= 4>>
-	They have a large ass.
+	$He has a large ass.
 <<elseif $activeSlave.butt >= 2>>
-	They've got a big butt.
+	$He's got a big butt.
 <<else>>
-	They've got a flat ass.
+	$He's got a flat ass.
 	<<set $targetEscape += 1>>
 <</if>>
 <<if $activeSlave.dick >= 5>>
-	Their cock is large enough to slow them down.
+	$His cock is large enough to slow $him down.
 	<<set $targetEscape -= 1>>
 <</if>>
 <<if ($activeSlave.balls >= 5) && ($activeSlave.scrotum > 0)>>
-	Their balls are likely to hurt while running, enough to slow them down.
+	$His balls are likely to hurt while running, enough to slow $him down.
 	<<set $targetEscape -= 1>>
 <</if>>
 <<if $activeSlave.preg >= $activeSlave.pregData.normalBirth-1>>
-	Their ripe pregnant belly is very likely to preclude them from escaping without help at all. All it takes is their water breaking to practically doom their flight.
+	$His ripe pregnant belly is very likely to preclude $him from escaping without help at all. All it takes is $his water breaking to practically doom $his flight.
 	<<set $targetEscape -= 10>>
 <<elseif $activeSlave.belly >= 60000>>
-	They are so massively pregnant it'll be next to impossible for them to escape on foot.
+	$He is so massively pregnant it'll be next to impossible for $him to escape on foot.
 	<<set $targetEscape -= 10>>
 <<elseif $activeSlave.belly >= 10000>>
-	Their pregnant belly is likely to preclude them from escaping on foot at all.
+	$His pregnant belly is likely to preclude $him from escaping on foot at all.
 	<<set $targetEscape -= 5>>
 <<elseif $activeSlave.belly >= 5000>>
-	They're visibly pregnant and likely to be cautious and slow during their escape.
+	$He's visibly pregnant and likely to be cautious and slow during $his escape.
 	<<set $targetEscape -= 3>>
 <<elseif $activeSlave.belly >= 1500>>
-	There is a slight roundness to their middle, likely an early pregnancy that will distract them from fleeing.
+	There is a slight roundness to $his middle, likely an early pregnancy that will distract $him from fleeing.
 	<<set $targetEscape -= 1>>
 <</if>>
 
diff --git a/src/uncategorized/seRaidingAssault.tw b/src/uncategorized/seRaidingAssault.tw
index 2af9b4443ec458194909f10b4a15bea58dbc892e..2ddc19c5b721b47a1d4b7ea8fd87af5dd9c6953e 100644
--- a/src/uncategorized/seRaidingAssault.tw
+++ b/src/uncategorized/seRaidingAssault.tw
@@ -17,16 +17,17 @@ You make your selection and direct your $mercenariesTitle to attack the target.
 <</if>>
 <<set _MercCapture = random(_MercCaptureL,_MercCaptureU)>>
 <<set _raidescape = random(_raidescapeL,_raidescapeU)>>
+<<setLocalPronouns $activeSlave>>
 
 <<switch $origin>>
 <<case "housewife">>
 	<<if $targetEscape >= _MercCapture>>
 		Somehow the housewife manages to evade your mercenaries.
 	<<elseif _raidescape == 1>>
-		Your $mercenariesTitle pry open the door to the mansion's panic room to find that the woman has hung herself to escape capture. A waste.
+		Your $mercenariesTitle pry open the door to the mansion's panic room to find that the $woman has hung $himself to escape capture. A waste.
 	<<else>>
 		Your $mercenariesTitle pry open the door to the mansion's panic room and pull the protesting housewife from its depths.
-		The housewife watches in terror as your $mercenariesTitle slake their lust on her servants and maids, knowing that her respite from a brutal rape must only be a temporary blessing.
+		The housewife watches in terror as your $mercenariesTitle slake their lust on $his servants and maids, knowing that $his respite from a brutal rape must only be a temporary blessing.
 		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 	<</if>>
 <<case "university professor">>
@@ -36,7 +37,7 @@ You make your selection and direct your $mercenariesTitle to attack the target.
 		Your $mercenariesTitle are met with surprising resistance by the university's professors and are forced to bid a hasty retreat before security can arrive in greater numbers.
 	<<else>>
 		Your $mercenariesTitle corner the professors and their department head in one of the university's many conference rooms, hauling them off to the VTOLs when the academics promptly surrender.
-		The department head spends the VTOL ride back to your arcology watching in terror as her colleagues and peers are raped wholesale by your mercenaries. With her educated mind, she knows that being singled out from a similar fate must mean she is being saved for someone and worries about who that might be.
+		The department head spends the VTOL ride back to your arcology watching in terror as $his colleagues and peers are raped wholesale by your mercenaries. With $his educated mind, $he knows that being singled out from a similar fate must mean $he is being saved for someone and worries about who that might be.
 		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 	<</if>>
 <<case "university student">>
@@ -46,17 +47,17 @@ You make your selection and direct your $mercenariesTitle to attack the target.
 		Your $mercenariesTitle are met with surprising resistance by the university's students and are forced to bid a hasty retreat before security can arrive in greater numbers.
 	<<else>>
 		Your $mercenariesTitle corner the students in their rooms, hauling them off one by one to the VTOLs as they protest feebly.
-		The peerless student spends the VTOL ride back to your arcology watching in terror as her friends and peers are raped wholesale by your mercenaries. With her educated mind, she knows that being singled out from a similar fate must mean she is being saved for someone and worries about who that might be.
+		The peerless student spends the VTOL ride back to your arcology watching in terror as $his friends and peers are raped wholesale by your mercenaries. With $his educated mind, $he knows that being singled out from a similar fate must mean $he is being saved for someone and worries about who that might be.
 		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 	<</if>>
 <<case "female military officer">>
 	<<if $targetEscape >= _MercCapture>>
 		The officer's escort engages the $mercenariesTitle in a gunfight and in the confusion the officer manages to escape capture on foot.
 	<<elseif _raidescape == 1>>
-		As your mercenaries gain the upper hand on the officer's escort, she promptly puts her service weapon to her temple and pulls the trigger. A waste.
+		As your mercenaries gain the upper hand on the officer's escort, $he promptly puts $his service weapon to $his temple and pulls the trigger. A waste.
 	<<else>>
-		As your mercenaries gain the upper hand on the officer's escort, she promptly puts her service weapon to her temple but hesitates. Luckily one of your $mercenariesTitle is close by and able to pluck the pistol from her stiff fingers. The despondent officer is cuffed and taken back to the VTOL for transport.
-		The officer spends the VTOL ride back to your arcology watching as your $mercenariesTitle rape her defeated subordinates. Given their brutal treatment, she doubts her respite from such a fate is due to any battlefield rules of conduct.
+		As your mercenaries gain the upper hand on the officer's escort, $he promptly puts $his service weapon to $his temple but hesitates. Luckily one of your $mercenariesTitle is close by and able to pluck the pistol from $his stiff fingers. The despondent officer is cuffed and taken back to the VTOL for transport.
+		The officer spends the VTOL ride back to your arcology watching as your $mercenariesTitle rape $his defeated subordinates. Given their brutal treatment, $he doubts $his respite from such a fate is due to any battlefield rules of conduct.
 		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 	<</if>>
 <<case "male military officer">>
@@ -76,7 +77,7 @@ You make your selection and direct your $mercenariesTitle to attack the target.
 		The young soldiers are unfaltering in their conviction and fight to their last last. When the smoke clears, the barracks is chocked with corpses for none of the soldiers are left alive to capture.
 	<<else>>
 		The young soldiers fight valiantly, but when the battle turns against them they decide to surrender. Their sergeant is cuffed with the remaining survivors and taken back to the VTOL for transport.
-		The sergeant spends the VTOL ride back to the arcology watching as her childhood friends turned comrades in arms are raped by your mercenaries. She wonders why she has been spared this seemingly shared fate, but suspects it has little to do with her nominally higher rank.
+		The sergeant spends the VTOL ride back to the arcology watching as $his childhood friends turned comrades in arms are raped by your mercenaries. $He wonders why $he has been spared this seemingly shared fate, but suspects it has little to do with $his nominally higher rank.
 		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 	<</if>>
 <<case "doctor">>
@@ -86,7 +87,7 @@ You make your selection and direct your $mercenariesTitle to attack the target.
 		The hospital's security staff alone would prove little match for your mercenaries, but they are joined by an uneasy coalition of rival gangster and criminals who had been committed as patients. Though your $mercenariesTitle prevail, they discover to their chagrin that the doctors and their staff were slain during the wanton exchange of fire.
 	<<else>>
 		The security staff of the hospital is easily overpowered and surrender rapidly, allowing your $mercenariesTitle to take the doctors and their staff into custody with little fuss.
-		The distinguished doctor spends the VTOL ride looking on at her colleagues and peers being raped by your mercenaries. She naïvely hopes that she has been spared from that fate out of a desire for her medical knowledge rather than her body.
+		The distinguished doctor spends the VTOL ride looking on at $his colleagues and peers being raped by your mercenaries. $He naïvely hopes that $he has been spared from that fate out of a desire for $his medical knowledge rather than $his body.
 		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 	<</if>>
 <<case "nun">>
@@ -95,8 +96,8 @@ You make your selection and direct your $mercenariesTitle to attack the target.
 	<<elseif _raidescape == 1>>
 		The nuns flee into their inner sanctum as your $mercenariesTitle approach and bar the doors behind them as they go. When the last barrier is pried open, your $mercenariesTitle discover the nuns have committed suicide as a group rather than be taken prisoner.
 	<<else>>
-		Unarmed and defenseless, the nuns are easily cowed by your $mercenariesTitle and taken away one by one to the VTOLs. The most pious sister prays vehemently until she is dragged out of the inner sanctum in cuffs.
-		The pious nun spends the VTOL ride engaged in fervent prayer as her sisters are raped by your mercenaries. She naïvely believes that her devotion and piety will see her spared from the same fate as her sisters.
+		Unarmed and defenseless, the nuns are easily cowed by your $mercenariesTitle and taken away one by one to the VTOLs. The most pious sister prays vehemently until $he is dragged out of the inner sanctum in cuffs.
+		The pious nun spends the VTOL ride engaged in fervent prayer as $his sisters are raped by your mercenaries. $He naïvely believes that $his devotion and piety will see $him spared from the same fate as $his sisters.
 		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 	<</if>>
 <<case "journalist">>
@@ -106,27 +107,27 @@ You make your selection and direct your $mercenariesTitle to attack the target.
 		Your $mercenariesTitle are met with fierce resistance by the staff of the newspaper firm, who take the raid as an opportunity to turn their abolitionist words into violent action. Eventually, your $mercenariesTitle retreat from the building before law enforcement can arrive.
 	<<else>>
 		Once the lone security guard is subdued, the journalists and editors of the firm quietly accept their restraints and file out of the building and into the waiting VTOL.
-		The journalist spends the VTOL ride watching as her colleagues are raped by your mercenaries. She studies every brutal detail, records ever anguished scream in her mind, hoping that one day she might escape to produce an editorial to surpass all others.
+		The journalist spends the VTOL ride watching as $his colleagues are raped by your mercenaries. $He studies every brutal detail, records ever anguished scream in $his mind, hoping that one day $he might escape to produce an editorial to surpass all others.
 		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 	<</if>>
 <<case "local news anchor">>
 	<<if $targetEscape >= _MercCapture>>
 		Unfortunately for the $mercenariesTitle, the news channel appears to have been interviewing members of the local militia garrison at the time of the raid. Upon encountering more firepower than they had anticipated, your $mercenariesTitle wisely retreat from the engagement.
 	<<elseif _raidescape == 1>>
-		Your $mercenariesTitle are able to subdue the news anchor and bid a hasty exit from the recording studio. Before they can board the waiting VTOL however, the anchor is struck in the head by a bullet fired by a man who was her longtime fan turned stalker. It seems if he cannot have her, neither can you.
+		Your $mercenariesTitle are able to subdue the news anchor and bid a hasty exit from the recording studio. Before they can board the waiting VTOL however, the anchor is struck in the head by a bullet fired by a man who was $his longtime fan turned stalker. It seems if he cannot have $him, neither can you.
 	<<else>>
 		The news anchor is subdued without issue and quietly escorted out of the recording studio and into the waiting VTOL.
-		The anchor is initially resistant during the VTOL ride, but soon grows complacent when she is told of the luxury of your penthouse.
+		The anchor is initially resistant during the VTOL ride, but soon grows complacent when $he is told of the luxury of your penthouse.
 		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 	<</if>>
 <<case "classical dancer">>
 	<<if $targetEscape >= _MercCapture>>
 		Though they are excellent soldiers, the $mercenariesTitle are crude and uncultured. They are unable to blend into the audience and are soon discovered, giving the dance troupe the warning needed to make an escape from the theater.
 	<<elseif _raidescape == 1>>
-		As your $mercenariesTitle close in on the stage and reveal their concealed weapons, the darling star of the dance troupe loses her footing in shock and tumbles off the stage. The sharp crack as she hits the ground drives the crowd and remaining members of the troupe hysterical, while your $mercenariesTitle exit the theater as chaos surges around them.
+		As your $mercenariesTitle close in on the stage and reveal their concealed weapons, the darling star of the dance troupe loses $his footing in shock and tumbles off the stage. The sharp crack as $he hits the ground drives the crowd and remaining members of the troupe hysterical, while your $mercenariesTitle exit the theater as chaos surges around them.
 	<<else>>
 		Once your $mercenariesTitle close in on the stage and reveal their concealed weapons, the dance troupe promptly surrenders. With the shocked audience looking on, each member is cuffed and escorted out the door to the waiting VTOL.
-		The dancer spends the VTOL ride in abject terror as her friends and peers are raped by your $mercenariesTitle all around her. She clings to the hope that she is being spared from the same fate out of a desire for her dancing talent rather than her body.
+		The dancer spends the VTOL ride in abject terror as $his friends and peers are raped by your $mercenariesTitle all around $him. $He clings to the hope that $he is being spared from the same fate out of a desire for $his dancing talent rather than $his body.
 		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 	<</if>>
 <<case "law enforcement officer">>
@@ -136,56 +137,56 @@ You make your selection and direct your $mercenariesTitle to attack the target.
 		Despite being outnumbered and outgunned, the officers stand their ground to the last. The sterling officer of the law your $mercenariesTitle sought to capture is the last to fall, stifled by a hail of bullets.
 	<<else>>
 		Your $mercenariesTitle break through the door of the precinct with their guns drawn. The precinct is so understaffed that each officer has a number of weapons drawn on them from every angle, so its no surprise when the precinct's sterling policewoman formally surrenders the precinct and its officers to your mercenaries.
-		The officer spends the VTOL ride watching impassively as her fellow officers are raped by your $mercenariesTitle all around her. Before she exits the VTOL upon her arrival, she informs your $mercenariesTitle that she intends to bring each of them to justice for their supposed crimes.
+		The officer spends the VTOL ride watching impassively as $his fellow officers are raped by your $mercenariesTitle all around $him. Before $he exits the VTOL upon $his arrival, $he informs your $mercenariesTitle that $he intends to bring each of them to justice for their supposed crimes.
 		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 	<</if>>
 <<case "classical musician">>
 	<<if $targetEscape >= _MercCapture>>
 		Though they are excellent soldiers, the $mercenariesTitle are crude and uncultured. They are unable to blend into the audience and are soon discovered, giving the orchestra the warning needed to make an escape from the concert hall.
 	<<elseif _raidescape == 1>>
-		As your $mercenariesTitle close in on the stage and reveal their concealed weapons, the crown jewel of the orchestra loses her footing in shock and tumbles off the stage. The sharp crack as she hits the ground drives the crowd and remaining members of the orchestra hysterical, while your $mercenariesTitle exit the concert hall as chaos surges around them.
+		As your $mercenariesTitle close in on the stage and reveal their concealed weapons, the crown jewel of the orchestra loses $his footing in shock and tumbles off the stage. The sharp crack as $he hits the ground drives the crowd and remaining members of the orchestra hysterical, while your $mercenariesTitle exit the concert hall as chaos surges around them.
 	<<else>>
 		Once your $mercenariesTitle close in on the stage and reveal their concealed weapons, the orchestra promptly surrenders. With the shocked audience looking on, each member is cuffed and escorted out the door to the waiting VTOL.
-		The musician spends the VTOL ride in abject terror as her friends and peers are raped by your $mercenariesTitle all around her. She clings to the hope that she is being spared from the same fate out of a desire for her musical talent rather than her body.
+		The musician spends the VTOL ride in abject terror as $his friends and peers are raped by your $mercenariesTitle all around $him. $He clings to the hope that $he is being spared from the same fate out of a desire for $his musical talent rather than $his body.
 		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 	<</if>>
 <<case "politician">>
 	<<if $targetEscape >= _MercCapture>>
 		The $mercenariesTitle clash with the politician's security detail amidst a maelstrom of terrified civilians and the confrontation drags out for some time. By the time your $mercenariesTitle can advance, they discover that the politician has already been evacuated.
 	<<elseif _raidescape == 1>>
-		With their security detail defeated and their crowd of supporters offering no protection, the politician tries to take up one of her fallen protector's pistols to defend herself. Unfortunately for her and for your mercenaries, the politician has a staggeringly poor understanding of firearms and manages to shoot themselves in the face when they discharge the weapon. With the politician dead, there is little your $mercenariesTitle can do but exit the venue.
+		With their security detail defeated and their crowd of supporters offering no protection, the politician tries to take up one of $his fallen protector's pistols to defend $himself. Unfortunately for $him and for your mercenaries, the politician has a staggeringly poor understanding of firearms and manages to shoot themselves in the face when they discharge the weapon. With the politician dead, there is little your $mercenariesTitle can do but exit the venue.
 	<<else>>
 		With their security detail defeated and their crowd of supporters offering no protection, the politician promptly surrenders in the hopes that they won't be harmed and is escorted to the waiting VTOL.
-		The politician spends the VTOL ride quietly, only breaking her silence to ask your $mercenariesTitle about where she is being brought and why. When they do not answer she simply fusses with her outfit, as if headed to an important interview.
+		The politician spends the VTOL ride quietly, only breaking $his silence to ask your $mercenariesTitle about where $he is being brought and why. When they do not answer $he simply fusses with $his outfit, as if headed to an important interview.
 		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 	<</if>>
 <<case "shut-in">>
 	<<if $targetEscape >= _MercCapture>>
-		The $mercenariesTitle pry open the shut-in's door to discover an empty shack. From the cooked meal still steaming on the dining room table and the remarkable absence of dust, it seems she left only recently. Somehow the crafty <<if $activeSlave.visualAge < 13>>little <<elseif $activeSlave.visualAge <= 18>>teen <<elseif $activeSlave.visualAge <= 24>>young <<elseif $activeSlave.visualAge <= 32>><<else>>old <</if>> minx must have seen your $mercenariesTitle coming.
+		The $mercenariesTitle pry open the shut-in's door to discover an empty shack. From the cooked meal still steaming on the dining room table and the remarkable absence of dust, it seems $he left only recently. Somehow the crafty <<if $activeSlave.visualAge < 13>>little <<elseif $activeSlave.visualAge <= 18>>teen <<elseif $activeSlave.visualAge <= 24>>young <<elseif $activeSlave.visualAge <= 32>><<else>>old <</if>> minx must have seen your $mercenariesTitle coming.
 	<<elseif _raidescape == 1>>
-		When the $mercenariesTitle break down the door to the shut-in's shack, they are met with a terrible stench of dust and decay. Judging by the body hanging limply from the banisters, the shut-in took their own life some time ago.
+		When the $mercenariesTitle break down the door to the shut-in's shack, they are met with a terrible stench of dust and decay. Judging by the body hanging limply from the banisters, the shut-in took $his own life some time ago.
 	<<else>>
-		When your $mercenariesTitle break down the door to the shut-in's shack, they are met with a surprised and somewhat unkempt woman staring at them. Despite their lack of social interaction, they know better than to argue with a small army of armed $mercenariesTitle and quietly accepts being escorted back to the waiting VTOL.
-		The shut-in spends the VTOL ride sitting quietly in their seat. Confused by her silence, your $mercenariesTitle attempt to engage her in conversation but are granted no response.
+		When your $mercenariesTitle break down the door to the shut-in's shack, they are met with a surprised and somewhat unkempt $woman staring at them. Despite $his lack of social interaction, they know better than to argue with a small army of armed $mercenariesTitle and quietly accepts being escorted back to the waiting VTOL.
+		The shut-in spends the VTOL ride sitting quietly in $his seat. Confused by $his silence, your $mercenariesTitle attempt to engage $him in conversation but are granted no response.
 		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 	<</if>>
 <<case "procuress">>
 	<<if $targetEscape >= _MercCapture>>
-		The $mercenariesTitle break down the door to the halfway home to discover a throng of sniffling young women, who cling to their boots and beg for rescue. Once they have been accounted for, your $mercenariesTitle discover the procuress is nowhere to be found. It seems the wily old minx has somehow made her escape before your $mercenariesTitle even arrived.
+		The $mercenariesTitle break down the door to the halfway home to discover a throng of sniffling young women, who cling to their boots and beg for rescue. Once they have been accounted for, your $mercenariesTitle discover the procuress is nowhere to be found. It seems the wily old minx has somehow made $his escape before your $mercenariesTitle even arrived.
 	<<elseif _raidescape == 1>>
-		When your $mercenariesTitle enter the halfway house, the impoverished women within mistake them for an international rescue mission. Before your $mercenariesTitle can say otherwise, the women go berserk with the prospect of freedom and break into the procuress' office to tear her apart with their bare hands.
+		When your $mercenariesTitle enter the halfway house, the impoverished women within mistake them for an international rescue mission. Before your $mercenariesTitle can say otherwise, the women go berserk with the prospect of freedom and break into the procuress' office to tear $him apart with their bare hands.
 	<<else>>
-		When your $mercenariesTitle enter the halfway house, the impoverished women within mistake them for an international rescue mission. Before your $mercenariesTitle can say otherwise, the women band together and drag the procuress out of her office and restrain her themselves. The $mercenariesTitle have to do little more than escort the grinning women to the waiting VTOLs, while they drag the protesting procuress with them.
-		The procuress spends the VTOL ride watching uneasily as the girls she intended to sell into slavery are raped by your mercenaries. Far from having a conscience, she realizes that her own capture indicates that she will not be long spared from such treatment. The revelation brings her to weep tears down her mature face, doomed to the same fate she herself sent many girls to.
+		When your $mercenariesTitle enter the halfway house, the impoverished women within mistake them for an international rescue mission. Before your $mercenariesTitle can say otherwise, the women band together and drag the procuress out of $his office and restrain $him themselves. The $mercenariesTitle have to do little more than escort the grinning women to the waiting VTOLs, while they drag the protesting procuress with them.
+		The procuress spends the VTOL ride watching uneasily as the girls $he intended to sell into slavery are raped by your mercenaries. Far from having a conscience, $he realizes that $his own capture indicates that $he will not be long spared from such treatment. The revelation brings $him to weep tears down $his mature face, doomed to the same fate $he $himself sent many girls to.
 		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 	<</if>>
 <<case "investor">>
 	<<if $targetEscape >= _MercCapture>>
-		The $mercenariesTitle raid the business exposition and thoroughly search the premises, only to discover that the investor never arrived. A terrified businessman informs your $mercenariesTitle that she cited heightened security risks as the reason for her absence.
+		The $mercenariesTitle raid the business exposition and thoroughly search the premises, only to discover that the investor never arrived. A terrified businessman informs your $mercenariesTitle that $he cited heightened security risks as the reason for $his absence.
 	<<elseif _raidescape == 1>>
-		When your $mercenariesTitle corner the investor in the exposition, she seemingly mistakes them for international police intent on taking her in for prior economic crimes. Before she can be subdued, the investor swallows a concealed pill and crumples to the ground dead.
+		When your $mercenariesTitle corner the investor in the exposition, $he seemingly mistakes them for international police intent on taking $him in for prior economic crimes. Before $he can be subdued, the investor swallows a concealed pill and crumples to the ground dead.
 	<<else>>
-		When your $mercenariesTitle corner the investor in the exposition, she seemingly mistakes them for international police intent on taking her in for prior economic crimes. She begrudgingly surrenders and is subsequently escorted back to a waiting VTOL.
+		When your $mercenariesTitle corner the investor in the exposition, $he seemingly mistakes them for international police intent on taking $him in for prior economic crimes. $He begrudgingly surrenders and is subsequently escorted back to a waiting VTOL.
 		The investor spends the VTOL ride practicing their sales pitches, techniques and speeches. It seems they haven't grasped what their destination is, nor the fate that awaits them upon arrival.
 		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 	<</if>>
@@ -193,20 +194,20 @@ You make your selection and direct your $mercenariesTitle to attack the target.
 	<<if $targetEscape >= _MercCapture>>
 		When the $mercenariesTitle make an explosive entrance into the lab with their guns drawn, the chief scientist throws a vial of some mysterious liquid in front of them. The resultant smoke is so thick and choking that your $mercenariesTitle are forced to retreat from the building, during which time the scientists make their own escape. When your $mercenariesTitle reenter the building, they find it abandoned.
 	<<elseif _raidescape == 1>>
-		The bulk of the scientists surrender shortly after your $mercenariesTitle make an explosive entrance into their lab. Before she can be cuffed, the chief scientist takes a swig from some mysterious beaker of liquid. From the triumphant look on her face as she keels over dead, your $mercenariesTitle suspect the liquid was intended to have a transformative effect rather than a suicidal one.
+		The bulk of the scientists surrender shortly after your $mercenariesTitle make an explosive entrance into their lab. Before $he can be cuffed, the chief scientist takes a swig from some mysterious beaker of liquid. From the triumphant look on $his face as $he keels over dead, your $mercenariesTitle suspect the liquid was intended to have a transformative effect rather than a suicidal one.
 	<<else>>
-		The bulk of the scientists surrender shortly after your $mercenariesTitle make an explosive entrance into their lab. Before she can be cuffed, the chief scientist takes a swig from some mysterious beaker of liquid. As the triumphant look on her face fades, it becomes clear that the liquid did not have the transformative effect that she desired.
-		The scientist spends the VTOL ride watching as her colleagues and peers are raped around her. That some of the earth's greatest minds have been reduced to sexual objects is disquieting enough, but the realization that she is not likely to be spared from such a fate brings the woman to tears.
+		The bulk of the scientists surrender shortly after your $mercenariesTitle make an explosive entrance into their lab. Before $he can be cuffed, the chief scientist takes a swig from some mysterious beaker of liquid. As the triumphant look on $his face fades, it becomes clear that the liquid did not have the transformative effect that $he desired.
+		The scientist spends the VTOL ride watching as $his colleagues and peers are raped around $him. That some of the earth's greatest minds have been reduced to sexual objects is disquieting enough, but the realization that $he is not likely to be spared from such a fate brings the $woman to tears.
 		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 	<</if>>
 <<case "lawyer">>
 	<<if $targetEscape >= _MercCapture>>
 		It seems the lawyer had anticipated the possibility of conflict on the frontier on the outer rim of the Old World, so the $mercenariesTitle are able to do little more than enter the building before the law firm's offices seal themselves off. Faced with the prospect of lingering in a conflict zone, your $mercenariesTitle cut their losses and retreat back to their VTOLs.
 	<<elseif _raidescape == 1>>
-		Your $mercenariesTitle capture the law firm's staff without much difficulty, but when they open the door to the lawyer's office they find her frothing from the mouth and unresponsive. From the quantity of pill bottles evident on her desk, it seems she found the sole loophole to escape capture.
+		Your $mercenariesTitle capture the law firm's staff without much difficulty, but when they open the door to the lawyer's office they find $him frothing from the mouth and unresponsive. From the quantity of pill bottles evident on $his desk, it seems $he found the sole loophole to escape capture.
 	<<else>>
-		Your $mercenariesTitle capture the law firm's staff without much difficulty, but when they open the door to the lawyer's office they find her frothing from the mouth and unresponsive. Despite her attempts to drug herself into suicide, the effects are temporary and the lawyer soon finds herself being hauled off to a waiting VTOL with her staff.
-		The lawyer spends the VTOL ride scarcely sparing any attention to the rape of her staff all about her. Instead she seems almost lost in thought, as if concentrating on finding some loophole or legal means to escape the fate that has befallen her staff.
+		Your $mercenariesTitle capture the law firm's staff without much difficulty, but when they open the door to the lawyer's office they find $him frothing from the mouth and unresponsive. Despite $his attempts to drug $himself into suicide, the effects are temporary and the lawyer soon finds $himself being hauled off to a waiting VTOL with $his staff.
+		The lawyer spends the VTOL ride scarcely sparing any attention to the rape of $his staff all about $him. Instead $he seems almost lost in thought, as if concentrating on finding some loophole or legal means to escape the fate that has befallen $his staff.
 		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 	<</if>>
 <</switch>>
diff --git a/src/uncategorized/seWeddingDouble.tw b/src/uncategorized/seWeddingDouble.tw
index 1fb301b97de547e2096c6a6c5fe32bbcdd41000b..4666ee941f7e9fcbc505d465abad391e2b82f045 100644
--- a/src/uncategorized/seWeddingDouble.tw
+++ b/src/uncategorized/seWeddingDouble.tw
@@ -1050,7 +1050,7 @@
 				they were @@.mediumorchid;saving that for someone special.@@
 				<<set _slave1.devotion -= 5, _slave2.devotion -= 5>>
 			<<elseif _slave1.devotion < -20>>
-				they wept at the sight of cum pooling from their @@.mediumorchid;defiled <<if _slave1.mpreg == 1>>assholes<<else>>pussies<</if>>.@@
+				they wept at the <<if canSee(_slave1) && canSee(_slave2)>>sight<<else>>feeling<</if>> of cum pooling from their @@.mediumorchid;defiled <<if _slave1.mpreg == 1>>assholes<<else>>pussies<</if>>.@@
 				<<set _slave1.devotion -= 10, _slave2.devotion -= 10>>
 			<<else>>
 				they were glad you made it @@.hotpink;enjoyable@@ at least.
@@ -1066,7 +1066,7 @@
 				_slave1.slaveName was @@.mediumorchid;saving that for someone special,@@
 				<<set _slave1.devotion -= 5, _slave2.devotion -= 5>>
 			<<elseif _slave1.devotion < -20>>
-				_slave1.slaveName wept at the sight of cum pooling from $his @@.mediumorchid;defiled <<if _slave1.mpreg == 1>>asshole<<else>>pussy<</if>>,@@
+				_slave1.slaveName wept at the <<if canSee(_slave1)>>sight<<else>>feeling<</if>> of cum pooling from $his @@.mediumorchid;defiled <<if _slave1.mpreg == 1>>asshole<<else>>pussy<</if>>,@@
 				<<set _slave1.devotion -= 10, _slave2.devotion -= 10>>
 			<<else>>
 				_slave1.slaveName was glad you made it @@.hotpink;enjoyable@@ at least,
@@ -1082,7 +1082,7 @@
 				_slave1.slaveName was @@.mediumorchid;saving that for someone special.@@
 				<<set _slave1.devotion -= 5, _slave2.devotion -= 5>>
 			<<elseif _slave1.devotion < -20>>
-				_slave1.slaveName wept at the sight of cum pooling from _his2 @@.mediumorchid;defiled <<if _slave1.mpreg == 1>>asshole<<else>>pussy<</if>>.@@
+				_slave1.slaveName wept at the <<if canSee(_slave1)>>sight<<else>>feeling<</if>> of cum pooling from _his2 @@.mediumorchid;defiled <<if _slave1.mpreg == 1>>asshole<<else>>pussy<</if>>.@@
 				<<set _slave1.devotion -= 10, _slave2.devotion -= 10>>
 			<<else>>
 				_slave2.slaveName was glad you made it @@.hotpink;enjoyable@@ at least.
@@ -1120,7 +1120,7 @@
 			_he2 was @@.mediumorchid;saving that for someone special.@@
 			<<set _slave2.devotion -= 5>>
 		<<elseif _slave2.devotion < -20>>
-			_he2 wept at the sight of cum pooling from $his @@.mediumorchid;defiled <<if _slave2.mpreg == 1>>asshole<<else>>pussy<</if>>.@@
+			_he2 wept at the <<if canSee(_slave2)>>sight<<else>>feeling<</if>> of cum pooling from $his @@.mediumorchid;defiled <<if _slave2.mpreg == 1>>asshole<<else>>pussy<</if>>.@@
 			<<set _slave2.devotion -= 10>>
 		<<else>>
 			you made it @@.hotpink;enjoyable@@ at least.
diff --git a/src/uncategorized/seWeddingSingle.tw b/src/uncategorized/seWeddingSingle.tw
index c7fa9d48e06ea7e688945b0fb64286ffad633d68..955063692aa1443dd261fb67d348cd63d8dd34f0 100644
--- a/src/uncategorized/seWeddingSingle.tw
+++ b/src/uncategorized/seWeddingSingle.tw
@@ -327,7 +327,7 @@
 	<<elseif ($slaves[_wedS].bellyFluid >= 1500)>>
 		$His distended, <<print $slaves[_wedS].inflationType>>-belly protrudes out the front of $his bridal wear.
 	<</if>>
-	<<if $slaves[_wedS].dickAccessory == ("chastity") || $slaves[_wedS].dickAccessory == ("combined chastity")>>
+	<<if $slaves[_wedS].chastityPenis == 1>>
 		$His slave dick is hidden by its chastity cage.
 	<<elseif canAchieveErection($slaves[_wedS])>>
 		<<if ($slaves[_wedS].dick > 4) && ($slaves[_wedS].belly >= 5000)>>
@@ -438,7 +438,7 @@
 			$he was @@.mediumorchid;saving that for someone special.@@
 			<<set $slaves[_wedS].devotion -= 5>>
 		<<elseif $slaves[_wedS].devotion < -20>>
-			$he wept at the sight of cum pooling from $his @@.mediumorchid;defiled <<if $slaves[_wedS].mpreg == 1>>asshole<<else>>pussy<</if>>.@@
+			$he wept at the <<if canSee($slaves[_wedS])>>sight<<else>>feeling<</if>> of cum pooling from $his @@.mediumorchid;defiled <<if $slaves[_wedS].mpreg == 1>>asshole<<else>>pussy<</if>>.@@
 			<<set $slaves[_wedS].devotion -= 10>>
 		<<else>>
 			you made it @@.hotpink;enjoyable@@ at least.
@@ -719,7 +719,7 @@
 	<<elseif ($slaves[_wedS].bellyFluid >= 1500)>>
 		$His distended, <<print $slaves[_wedS].inflationType>>-belly protrudes out the front of $his bridal wear.
 	<</if>>
-	<<if $slaves[_wedS].dickAccessory == ("chastity") || $slaves[_wedS].dickAccessory == ("combined chastity")>>
+	<<if $slaves[_wedS].chastityPenis == 1>>
 		$His slave dick is hidden by its chastity cage.
 	<<elseif canAchieveErection($slaves[_wedS])>>
 		<<if ($slaves[_wedS].dick > 4) && ($slaves[_wedS].belly >= 5000)>>
diff --git a/src/uncategorized/sellSlave.tw b/src/uncategorized/sellSlave.tw
index f01a5113996d1571067c6949891468bfe50d819c..7e8c0d1f2c934b1f2e78376b43e13bd0a2d0446b 100644
--- a/src/uncategorized/sellSlave.tw
+++ b/src/uncategorized/sellSlave.tw
@@ -75,7 +75,7 @@ A reputable slave appraiser arrives promptly to inspect $him and certify $his qu
 	<</if>>
 	I have appraised your slave. As directed by law, my appraisal is based on $his potential income in a brothel, with modification for any significant qualities. I have found the following.
 <<case "aztec">>
-	one of the arcology's slave examiners, comes elegantly in wearing a very richly ornamented cape and a simple headdress to accentuate her face.<<if $arcologies[0].FSRepopulationFocusLaw == 1>> Her bronzed middle is noticeably swollen with pregnancy.<</if>> She acquaints herself with the slave and carries on a short inspection and a shorter conversation. She returns to you, goes on one knee, and follows by saying.
+	one of the arcology's slave examiners, walks elegantly in, wearing a very richly ornamented cape and a simple headdress to accentuate her face.<<if $arcologies[0].FSRepopulationFocusLaw == 1>> Her bronzed middle is noticeably swollen with pregnancy.<</if>> She acquaints herself with the slave and carries on a short inspection and a shorter conversation. She returns to you, goes on one knee, and follows by saying.
 	<<if def $PC.customTitle>>
 		"Your $PC.customTitle,
 	<<else>>
@@ -195,7 +195,7 @@ A reputable slave appraiser arrives promptly to inspect $him and certify $his qu
 <<case "businesswoman">>
 	an older<<if $arcologies[0].FSRepopulationFocusLaw == 1>>, slightly pregnant<</if>> businesswoman with a reputation for correctness gives you a prim nod before turning to the nude slave without wasting further time. She deftly makes notes on a haptic wrist interface, flipping through videos of the slave in action as she works. "As I'm sure you know, <<= properTitle()>>," she says as she uses curt instructions to direct $activeSlave.slaveName, "appraisals are based on a slave's potential income as a prostitute, with modifiers for special characteristics." Her fingers fly across the interface. "I'll just mention the significant ones.
 <<case "slaver">>
-	a scarred old slaver with calloused hands and a knowing face, greets you in his companionable way before clapping his hands together and turning to the slave. He switches back and forth between the <<print $girl>>s and a battered old tablet with video proving $his skills. "Well, as you know <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title == 1>>suh<<else>>madame<</if>>," he says as he firmly repositions $activeSlave.slaveName, "appraisals are based on a slave's potential income as a whore, with modifiers for special things." He pauses, prodding the tablet. "I'll just mention the main items.
+	a scarred old slaver with calloused hands and a knowing face, greets you in his companionable way before clapping his hands together and turning to the slave. He switches back and forth between the $girl and a battered old tablet with video proving $his skills. "Well, as you know <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title == 1>>suh<<else>>madame<</if>>," he says as he firmly repositions $activeSlave.slaveName, "appraisals are based on a slave's potential income as a whore, with modifiers for special things." He pauses, prodding the tablet. "I'll just mention the main items.
 <<default>>
 	a fashionably but formally dressed young man with slicked-back hair, greets you correctly before activating an examination visor and reviewing video evidence of the slave's skills. That done, he deactivates the visor and performs a quick physical examination. "As I'm sure you know, <<= properTitle()>>," he says as he gently repositions $activeSlave.slaveName to get a good look at $him, "appraisals are based on a slave's potential income as a whore, with modifiers for special characteristics." He pauses, using subvocalizations to make data entries. "I'll just mention the significant ones.
 <</switch>>
@@ -204,6 +204,10 @@ A reputable slave appraiser arrives promptly to inspect $him and certify $his qu
 	$His blindness is an obvious issue.
 <</if>>
 
+<<if $activeSlave.geneticQuirks.albinism == 2>>
+	$His albinism makes $him rather desirable.
+<</if>>
+
 <<if $activeSlave.career != 0>>
 	<<if setup.bodyguardCareers.includes($activeSlave.career)>>
 		$His background would help make $him a good Bodyguard; that's valuable.
@@ -760,7 +764,7 @@ __Bids Received__
 	<br>''<<print cashFormat(_Price)>>'' from a citizen who pays creepily close attention to the state of $his health, and ignores everything else.
 	<<set _NewOwner = 1>>
 <<elseif ($activeSlave.nationality != 0) && (random(1,100) > 80)>>
-	<br>''<<print cashFormat(_Price)>>'' from a citizen with a special appetite for <<if $activeSlave.nationality == "a Cook Islander">>Cook Islander<<elseif $activeSlave.nationality == "a Liechtensteiner">>Liechtensteiner<<elseif $activeSlave.nationality == "Mosotho">>Basotho<<elseif $activeSlave.nationality == "Motswana">>Batswana<<elseif $activeSlave.nationality == "a New Zealander">>New Zealander<<elseif $activeSlave.nationality == "a Solomon Islander">>Solomon Islander<<else>>$activeSlave.nationality<</if>> <<print $girl>>s.
+	<br>''<<print cashFormat(_Price)>>'' from a citizen with a special appetite for <<if $activeSlave.nationality == "a Cook Islander">>Cook Islander<<elseif $activeSlave.nationality == "a Liechtensteiner">>Liechtensteiner<<elseif $activeSlave.nationality == "Mosotho">>Basotho<<elseif $activeSlave.nationality == "Motswana">>Batswana<<elseif $activeSlave.nationality == "a New Zealander">>New Zealander<<elseif $activeSlave.nationality == "a Solomon Islander">>Solomon Islander<<else>>$activeSlave.nationality<</if>> <<= $girl>>s.
 	<<set _NewOwner = 1>>
 <</if>>
 <<if _NewOwner == 1>>
@@ -1050,7 +1054,7 @@ __Bids Received__
 <<if $activeSlave.teeth == "pointy">>
 <<if $activeSlave.combatSkill > 0>>
 	<<if random(1,100) > 60>>
-	<br>''<<print cashFormat(500*Math.trunc(($slaveCost*1.35)/500))>>'' from a prominent citizen who's pursuing some sort of mercenary project that requires worryingly large numbers of thin <<print $girl>>s with sharp teeth.
+	<br>''<<print cashFormat(500*Math.trunc(($slaveCost*1.35)/500))>>'' from a prominent citizen who's pursuing some sort of mercenary project that requires worryingly large numbers of thin <<= $girl>>s with sharp teeth.
 	<<link "Accept bid" "Slave Sold">>
 		<<set _Price = 500*Math.trunc(($slaveCost*1.35)/500)>>
 		<<run cashX(_Price, "slaveTransfer", $activeSlave)>>
@@ -1067,7 +1071,7 @@ __Bids Received__
 <<if $activeSlave.analSkill >= 100>>
 <<if $activeSlave.physicalAge < 25>>
 	<<if random(1,100) > 60>>
-	<br>''<<print cashFormat(500*Math.trunc(($slaveCost*1.35)/500))>>'' from a prominent citizen who appreciates <<print $girl>>s who are both vaginal virgins and anal veterans.
+	<br>''<<print cashFormat(500*Math.trunc(($slaveCost*1.35)/500))>>'' from a prominent citizen who appreciates <<= $girl>>s who are both vaginal virgins and anal veterans.
 	<<link "Accept bid" "Slave Sold">>
 		<<set _Price = 500*Math.trunc(($slaveCost*1.35)/500)>>
 		<<run cashX(_Price, "slaveTransfer", $activeSlave)>>
@@ -1120,7 +1124,7 @@ __Bids Received__
 <<if $activeSlave.boobs < 400>>
 <<if $activeSlave.weight <= 10>>
 	<<if random(1,100) > 60>>
-	<br>''<<print cashFormat(500*Math.trunc(($slaveCost*1.35)/500))>>'' from a prominent citizen who prefers slaves that look like demure <<print $girl>>s with their clothes on, and are willing to take cock up their pretty asspussies.
+	<br>''<<print cashFormat(500*Math.trunc(($slaveCost*1.35)/500))>>'' from a prominent citizen who prefers slaves that look like demure <<= $girl>>s with their clothes on, and are willing to take cock up their pretty asspussies.
 	<<link "Accept bid" "Slave Sold">>
 		<<set _Price = 500*Math.trunc(($slaveCost*1.35)/500)>>
 		<<run cashX(_Price, "slaveTransfer", $activeSlave)>>
@@ -1199,7 +1203,7 @@ __Bids Received__
 <<if $activeSlave.devotion > 20>>
 <<if $activeSlave.height > 180>>
 	<<if random(1,100) > 60>>
-	<br>''<<print cashFormat(500*Math.trunc(($slaveCost*1.35)/500))>>'' from a prominent citizen who keeps a large harem of lithe, muscular <<print $girl>>s to bear him children.
+	<br>''<<print cashFormat(500*Math.trunc(($slaveCost*1.35)/500))>>'' from a prominent citizen who keeps a large harem of lithe, muscular <<= $girl>>s to bear him children.
 	<<link "Accept bid" "Slave Sold">>
 		<<set _Price = 500*Math.trunc(($slaveCost*1.35)/500)>>
 		<<run cashX(_Price, "slaveTransfer", $activeSlave)>>
@@ -1331,7 +1335,7 @@ __Bids Received__
 <<if $activeSlave.butt > 3>>
 <<if $activeSlave.weight > 10>>
 	<<if random(1,100) > 60>>
-	<br>''<<print cashFormat(500*Math.trunc(($slaveCost*1.1)/500))>>'' from a slave trainer that specializes in slimming down fat slaves to appeal to buyers who prefer slim <<print $girl>>s.
+	<br>''<<print cashFormat(500*Math.trunc(($slaveCost*1.1)/500))>>'' from a slave trainer that specializes in slimming down fat slaves to appeal to buyers who prefer slim <<= $girl>>s.
 	<<link "Accept bid" "Slave Sold">>
 		<<set _Price = 500*Math.trunc(($slaveCost*1.1)/500)>>
 		<<run cashX(_Price, "slaveTransfer", $activeSlave)>>
@@ -1598,7 +1602,7 @@ __Bids Received__
 <<if $activeSlave.devotion > 20>>
 <<if $activeSlave.fetish != "mindbroken">>
 	<<if random(1,100) > 70>>
-	<br>''<<print cashFormat(500*Math.trunc(($slaveCost*1.25)/500))>>'' from a fellow arcology owner with an almost messianic calling to educate and improve slaves, though somewhat hypocritically, he prefers to start with reasonably obedient <<print $girl>>s, which usually means slaves broken by someone else.
+	<br>''<<print cashFormat(500*Math.trunc(($slaveCost*1.25)/500))>>'' from a fellow arcology owner with an almost messianic calling to educate and improve slaves, though somewhat hypocritically, he prefers to start with reasonably obedient <<= $girl>>s, which usually means slaves broken by someone else.
 	<<link "Accept bid" "Slave Sold">>
 		<<set _Price = 500*Math.trunc(($slaveCost*1.25)/500)>>
 		<<run cashX(_Price, "slaveTransfer", $activeSlave)>>
@@ -1647,7 +1651,7 @@ __Bids Received__
 <<if $activeSlave.devotion <= 20>>
 <<if $activeSlave.trust < 20>>
 	<<if random(1,100) > 70>>
-	<br>''<<print cashFormat(500*Math.trunc(($slaveCost*1.25)/500))>>'' from a fellow arcology owner with a strongly held belief that $activeSlave.race people should not be slaves. He devotes as much of his resources as he can to manumission of such <<print $girl>>s, concentrating on the downtrodden.
+	<br>''<<print cashFormat(500*Math.trunc(($slaveCost*1.25)/500))>>'' from a fellow arcology owner with a strongly held belief that $activeSlave.race people should not be slaves. He devotes as much of his resources as he can to manumission of such <<= $girl>>s, concentrating on the downtrodden.
 	<<link "Accept bid" "Slave Sold">>
 		<<set _Price = 500*Math.trunc(($slaveCost*1.25)/500)>>
 		<<run cashX(_Price, "slaveTransfer", $activeSlave)>>
@@ -1814,7 +1818,7 @@ __Bids Received__
 
 <<if $activeSlave.fetish == "mindbroken">>
 	<<if random(1,100) > 20>>
-	<br>''<<print cashFormat(500*Math.trunc(($slaveCost*0.9)/500))>>'' from a slave trader who buys vast numbers of mindbroken <<print $girl>>s. His purpose is unknown, and none of them are ever seen again.
+	<br>''<<print cashFormat(500*Math.trunc(($slaveCost*0.9)/500))>>'' from a slave trader who buys vast numbers of mindbroken <<= $girl>>s. His purpose is unknown, and none of them are ever seen again.
 	<<link "Accept bid" "Slave Sold">>
 		<<set _Price = 500*Math.trunc(($slaveCost*0.9)/500)>>
 		<<run cashX(_Price, "slaveTransfer", $activeSlave)>>
diff --git a/src/uncategorized/servantsQuartersReport.tw b/src/uncategorized/servantsQuartersReport.tw
index 465c12920ec69397248a6bc6d977d3cdbe53daef..3c0a67a2edcef181158e3a154825af4e5e57105e 100644
--- a/src/uncategorized/servantsQuartersReport.tw
+++ b/src/uncategorized/servantsQuartersReport.tw
@@ -75,7 +75,7 @@
 	<<if _FLsFetish == 1>>
 		$He's allowed and even expected to use $his charges for $his own gratification, and sometimes they'll even instigate submissive sex with $him just to ingratiate themselves. $He becomes comfortable with the role of a @@.lightcoral;sexual dominant.@@
 	<<elseif _FLsFetish == 2>>
-		Having a legion of girls jumping to obey $his daily commands @@.lightsalmon;makes $him more dominant.@@
+		Having a legion of servants jumping to obey $his daily commands @@.lightsalmon;makes $him more dominant.@@
 	<</if>>
 	<<if ($Stewardess.health < 10)>>
 		Though $he tries to watch the servants, $his lack of good health inhibits $him.
@@ -161,7 +161,7 @@
 	<</for>>
 	<<if (_DL > 0)>>
 		<<if ($Stewardess.fetishKnown == 1) && ($Stewardess.fetish == "dom")>>
-			$He walks among the cowering servants as a queen among peasants, playing the role of dominant to perfection and increasing her charges' @@.hotpink;obedience.@@
+			$He walks among the cowering servants as a queen among peasants, playing the role of a dominant to perfection and increasing $his charges' @@.hotpink;obedience.@@
 		<<elseif ($Stewardess.energy > 95)>>
 			$He walks among the cowering servants looking for an excuse to extract sex from shirkers as @@.hotpink;punishment.@@
 		<</if>>
diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw
index 0acfcac4b9e68ce458d32dfe0ee3affb43af23dc..15112c97b105d24b0f3eb3f52b3bdb42ef6c4bcd 100644
--- a/src/uncategorized/slaveInteract.tw
+++ b/src/uncategorized/slaveInteract.tw
@@ -809,6 +809,9 @@
 	<<if isItemAccessible("a red army uniform")>>
 		|	<<link "Red Army uniform">><<set $activeSlave.clothes = "a red army uniform",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
 	<</if>>
+	<<if isItemAccessible("a Santa dress")>>
+		|	<<link "Santa dress">><<set $activeSlave.clothes = "a Santa dress",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
+	<</if>>
 	|	<<link "Scalemail bikini">><<set $activeSlave.clothes = "a scalemail bikini",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
 	|	<<link "Schoolgirl">><<set $activeSlave.clothes = "a schoolgirl outfit",$activeSlave.choosesOwnClothes = 0>><<replace "#clothes">>$activeSlave.clothes<</replace>><</link>>
 	<<if isItemAccessible("a schutzstaffel uniform")>>
@@ -1065,17 +1068,27 @@
 				| <<link "Huge and long dildo">><<set $activeSlave.vaginalAccessory = "long, huge dildo">><<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>><</link>>
 			<</if>>
 		<</if>>
-		| <<link "Chastity belt">><<set $activeSlave.chastityVagina = 1,$activeSlave.choosesOwnChastity = 0>><<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>><<SlaveInteractImpreg>><<SlaveInteractFertility>><<SlaveInteractSexOption>><<SlaveInteractAnalSexOption>><<SlaveInteractGropeOption>><<SlaveInteractDickGropeOption>><<SlaveInteractAnalGropeOption>><</link>>
-		| <<link "Anal chastity belt">><<set $activeSlave.chastityAnus = 1,$activeSlave.choosesOwnChastity = 0>><<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>><<SlaveInteractSexOption>><<SlaveInteractAnalSexOption>><<SlaveInteractGropeOption>><<SlaveInteractDickGropeOption>><<SlaveInteractAnalGropeOption>><</link>>
-		| <<link "Combined chastity belt">><<set $activeSlave.vaginalAccessory = "combined chastity",$activeSlave.choosesOwnChastity = 0>><<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>><<SlaveInteractImpreg>><<SlaveInteractFertility>><<SlaveInteractSexOption>><<SlaveInteractAnalSexOption>><<SlaveInteractGropeOption>><<SlaveInteractDickGropeOption>><<SlaveInteractAnalGropeOption>><</link>>
 	<</if>>
 
 	<<if $activeSlave.dick > 0>>
 		<br>Dick accessory: ''<span id="dickAccessory">$activeSlave.dickAccessory</span>.''
 		<<link "None">><<set $activeSlave.dickAccessory = "none">><<replace "#dickAccessory">>$activeSlave.dickAccessory<</replace>><<SlaveInteractSexOption>><<SlaveInteractAnalSexOption>><<SlaveInteractGropeOption>><<SlaveInteractDickGropeOption>><<SlaveInteractAnalGropeOption>><</link>>
-		| <<link "Chastity cage">><<set $activeSlave.chastityPenis = 1,$activeSlave.choosesOwnChastity = 0>><<replace "#dickAccessory">>$activeSlave.dickAccessory<</replace>><<SlaveInteractSexOption>><<SlaveInteractAnalSexOption>><<SlaveInteractGropeOption>><<SlaveInteractDickGropeOption>><<SlaveInteractAnalGropeOption>><</link>>
-		| <<link "Anal chastity belt">><<set $activeSlave.dickAccessory = "anal chastity",$activeSlave.choosesOwnChastity = 0>><<replace "#dickAccessory">>$activeSlave.dickAccessory<<SlaveInteractSexOption>><<SlaveInteractAnalSexOption>><<SlaveInteractGropeOption>><<SlaveInteractDickGropeOption>><<SlaveInteractAnalGropeOption>><</replace>><</link>>
-		| <<link "Combined chastity belt">><<set $activeSlave.dickAccessory = "combined chastity",$activeSlave.choosesOwnChastity = 0>><<replace "#dickAccessory">>$activeSlave.dickAccessory<</replace>><<SlaveInteractSexOption>><<SlaveInteractAnalSexOption>><<SlaveInteractGropeOption>><<SlaveInteractDickGropeOption>><<SlaveInteractAnalGropeOption>><</link>>
+	<</if>>
+
+	<br>Chastity device: ''<span id="chastity"><<if $activeSlave.chastityAnus == 1 && $activeSlave.chastityPenis == 1 && $activeSlave.chastityVagina == 1>>Full Chastity<<elseif $activeSlave.chastityPenis == 1 && $activeSlave.chastityVagina == 1>>Genital Chastity<<elseif $activeSlave.chastityAnus == 1 && $activeSlave.chastityPenis == 1>>Combined Chastity Cage<<elseif $activeSlave.chastityAnus == 1 && $activeSlave.chastityVagina == 1>>Combined Chastity Belt<<elseif $activeSlave.chastityVagina == 1>>Chastity Belt<<elseif $activeSlave.chastityPenis == 1>>Chastity Cage<<elseif $activeSlave.chastityAnus == 1>>Anal Chastity<<elseif $activeSlave.chastityAnus == 0 && $activeSlave.chastityPenis == 0 && $activeSlave.chastityVagina == 0>>None<<else>>THERE HAS BEEN AN ERROR<</if>></span>.''
+	<<link "None">><<set $activeSlave.chastityAnus = 0>><<set $activeSlave.chastityPenis = 0>><<set $activeSlave.chastityVagina = 0>><<replace "#chastity">>None<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>>
+	| <<link "Anal Chastity">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 1>><<set $activeSlave.chastityPenis = 0>><<set $activeSlave.chastityVagina = 0>><<replace "#chastity">>Anal Chastity<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>>
+	<<if $activeSlave.vagina > -1>>
+		| <<link "Chastity Belt">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 0>><<set $activeSlave.chastityPenis = 0>><<set $activeSlave.chastityVagina = 1>><<replace "#chastity">>Vaginal Chastity<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>>
+		| <<link "Combined Chastity Belt">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 1>><<set $activeSlave.chastityPenis = 0>><<set $activeSlave.chastityVagina = 1>><<replace "#chastity">>Combined Chastity Belt<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>>
+	<</if>>
+	<<if $activeSlave.dick > 0>>
+		| <<link "Chastity Cage">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 0>><<set $activeSlave.chastityPenis = 1>><<set $activeSlave.chastityVagina = 0>><<replace "#chastity">>Chastity Cage<</replace>>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>>
+		| <<link "Combined Chastity Cage">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 1>><<set $activeSlave.chastityPenis = 1>><<set $activeSlave.chastityVagina = 0>><<replace "#chastity">>Combined Chastity Cage<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>>
+		<<if $activeSlave.vagina > -1>>
+			| <<link "Genital Chastity">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 0>><<set $activeSlave.chastityPenis = 1>><<set $activeSlave.chastityVagina = 1>><<replace "#chastity">>Genital Chastity<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>>
+			| <<link "Full Chastity">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 1>><<set $activeSlave.chastityPenis = 1>><<set $activeSlave.chastityVagina = 1>><<replace "#chastity">>Full Chastity<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>>
+		<</if>>
 	<</if>>
 
 	<<if $arcologies[0].FSRestart != "unset" && $activeSlave.devotion > 20 && $activeSlave.trust > 0 && $activeSlave.choosesOwnClothes == 1>>
diff --git a/src/uncategorized/slaveSold.tw b/src/uncategorized/slaveSold.tw
index 41d38b8512d5e089cc5fa27a561d9aef03618d54..47ae4ca2ee49267b92ecfc19a53032e00b1b40df 100644
--- a/src/uncategorized/slaveSold.tw
+++ b/src/uncategorized/slaveSold.tw
@@ -829,7 +829,7 @@
 	<</if>>
 
 <<case "D startled the witch">>
-	$activeSlave.slaveName heads off to form part of whatever great design $his new master is pursuing; all you know is that it apparently requires lots of lithe, sharp toothed slave girls.
+	$activeSlave.slaveName heads off to form part of whatever great design $his new master is pursuing; all you know is that it apparently requires lots of lithe, sharp toothed slave <<= $girl>>s.
 	<<for _ss = 0; _ss < $slaves.length; _ss++>>
 		<<if ($slaves[_ss].devotion <= 20)>>
 			<<run clearSummaryCache($slaves[_ss])>>
@@ -1114,7 +1114,7 @@
 			<<set $peacekeepers.tastes = "baby obsessed breeders">>
 		<<elseif _influential && $activeSlave.belly >= 300000>>
 			<<set _belly = bellyAdjective($activeSlave)>>
-			smiling as $his _belly belly is used as the center of a large bukkake party. You can just barely make out the figure of someone taking $him from behind beyond $his immensity. There's a note attached, stating superfluously that $his exotic feature makes $him very popular. General $peacekeepers.generalName's buyer is going to be looking for more massive bellied girls in the future.
+			smiling as $his _belly belly is used as the center of a large bukkake party. You can just barely make out the figure of someone taking $him from behind beyond $his immensity. There's a note attached, stating superfluously that $his exotic feature makes $him very popular. General $peacekeepers.generalName's buyer is going to be looking for more massive bellied <<= $girl>>s in the future.
 			<<set $peacekeepers.tastes = "bellies with girls attached">>
 		<<elseif _influential && $activeSlave.boobs > 20000 && $activeSlave.butt > 10>>
 			standing obediently in a comfort station in one of their rear area facilities, while a huge group of muscular men titfuck $his near endless cleavage and another, smaller group use $his gigantic asscheeks. There's a note attached, stating superfluously that $his mind-blowing assets make $him very popular. General $peacekeepers.generalName's buyer is going to be looking for more slaves with bountiful T&A in the future.
@@ -1137,7 +1137,7 @@
 			being hand-milked at a comfort station at one of their rear area facilities, where $he's become the most valued piece of human livestock due to the peacekeepers' growing taste for human milk.
 			<<if $peacekeepers.attitude < 100>><<set $peacekeepers.attitude++>><</if>>
 		<<case "beautiful young sex slaves">>
-			getting gangbanged at a comfort station at one of their rear area facilities, where $he's become the star attraction due to the erstwhile peacekeepers' preference for beautiful young girls with those special Free Cities skills.
+			getting gangbanged at a comfort station at one of their rear area facilities, where $he's become the star attraction due to the erstwhile peacekeepers' preference for beautiful young <<= $girl>>s with those special Free Cities skills.
 			<<if $peacekeepers.attitude < 100>><<set $peacekeepers.attitude++>><</if>>
 		<<case "fertile virgins">>
 			getting gangbanged at a comfort station at one of their rear area facilities, where $he's become the main attraction due to $his eagerness to get pregnant. Since that won't take long, they'll likely be back looking for more shortly.
diff --git a/src/uncategorized/specialSlave.tw b/src/uncategorized/specialSlave.tw
index c2fc8202545f3707e7e4e1483f1e860fa50e7efc..3bd3bf7762125cd4b79864401011205e30186699 100644
--- a/src/uncategorized/specialSlave.tw
+++ b/src/uncategorized/specialSlave.tw
@@ -6,10 +6,6 @@
 	Unfortunately, the catalog is empty.
 <<else>>
 
-	You review a piece of merchandise via video call, making a few lewd demands to gauge her obedience. The background of the video feed is luxurious and plush; somewhere offscreen someone is moaning rapturously.
-
-	<br><br>
-
 	<<run slaveSortMinor($heroSlaves)>>
 	<<set $activeSlave = getHeroSlave($heroSlaves.random(), $baseHeroSlave)>>
 	<<set $activeSlave.weekAcquired = $week>>
@@ -91,6 +87,10 @@
 	<</if>>
 	<<setLocalPronouns $activeSlave>>
 
+	You review a piece of merchandise via video call, making a few lewd demands to gauge $his obedience. The background of the video feed is luxurious and plush; somewhere offscreen someone is moaning rapturously.
+
+	<br><br>
+
 	The offered price is <<print cashFormat($slaveCost)>>.
 
 	[["Buy " + $his + " slave contract"|New Slave Intro][cashX(forceNeg($slaveCost), "slaveTransfer", $activeSlave),$nextButton = "Continue",$nextLink = "AS Dump",$returnTo = "Main",$specialSlave = 1]]
diff --git a/src/uncategorized/surgeryDegradation.tw b/src/uncategorized/surgeryDegradation.tw
index d97455d98ebcbd414af7ef4afa19cf97777749a9..0d5188fc7e2466cbc718a84a5203fd63df0aa901 100644
--- a/src/uncategorized/surgeryDegradation.tw
+++ b/src/uncategorized/surgeryDegradation.tw
@@ -440,7 +440,7 @@ As the remote surgery's long recovery cycle completes,
 		<<if canSee($activeSlave)>>$He eyes $his new ears disapprovingly and they twitch slightly in response.<<else>>$He can't see but it's clear from the dull ache that $his ears have been extensively modified.<</if>><<if $activeSlave.amp != 1>>$He's still a bit sore, but $he reaches up to feel them gently.<</if>>$His new ears seem to respond to $his emotional state, with time and mild electro-stimulation $he will learn to control $his new ear muscles so $he can move them at will. $He's come to terms with the fact that $he's a slave, but $he is still somewhat angry that you would go this far. Since the surgery was fairly invasive, @@.red;$his health has been greatly affected.@@ $He is @@.gold;sensibly fearful@@ of your total power over $his body.
 		<<set $activeSlave.trust -= 5, $activeSlave.devotion -= 5>>
 	<<else>>
-		<<if canSee($activeSlave)>>$He eyes $his new ears with disgust and they twitch slightly in response.<<else>>$He can't see but it's clear from the dull ache that $his ears have been extensively modified.<</if>><<if $activeSlave.amp != 1>>$He's still a bit sore, but $he reaches up to feel them gently.<</if>> $His new ears seem to respond to $his emotional state, with time and mild electro-stimulation $he will learn to control $his new ear muscles so $he can move them at will.  For now, @@.mediumorchid;$he seems to view $his altered ears as a cruel imposition.@@ Since the surgery was fairly invasive, @@.red;$his health has been greatly affected.@@ $He is now @@.gold;terribly afraid@@ of your total power over $his body.
+		<<if canSee($activeSlave)>>$He eyes $his new ears with disgust and they twitch slightly in response.<<else>>$He can't see but it's clear from the dull ache that $his ears have been extensively modified.<</if>><<if $activeSlave.amp != 1>>$He's still a bit sore, but $he reaches up to feel them gently.<</if>> $His new ears seem to respond to $his emotional state, with time and mild electro-stimulation $he will learn to control $his new ear muscles so $he can move them at will. For now, @@.mediumorchid;$he seems to view $his altered ears as a cruel imposition.@@ Since the surgery was fairly invasive, @@.red;$his health has been greatly affected.@@ $He is now @@.gold;terribly afraid@@ of your total power over $his body.
 		<<set $activeSlave.trust -= 10, $activeSlave.devotion -= 10>>
 	<</if>>
 
@@ -1438,6 +1438,7 @@ As the remote surgery's long recovery cycle completes,
 		<</if>>
 	<</if>>
 	Naturally, @@.red;$his health has been greatly affected@@ by such serious surgery.
+	<<set $activeSlave.chastityPenis = 0>>
 	<<set $activeSlave.dickAccessory = "none">>
 
 <<case "relocate">>
@@ -1463,7 +1464,7 @@ As the remote surgery's long recovery cycle completes,
 	<<elseif ($activeSlave.devotion > 20)>>
 		$He exits the surgery gingerly, since $he can feel that something was done to $his testicles. $He examines them carefully <<if canSee($activeSlave)>>in the mirror<<else>>by feeling alone<</if>>. Realizing that $his balls fit $his scrotum perfectly, $he's flooded with relief. $He's so elated that $he hasn't been severely damaged that $he doesn't mind your taking surgical control of $his genitals. @@.red;$His health has been slightly affected.@@
 	<<else>>
-		$He exits the surgery gingerly, since $he can feel that something was done to $his testicles. $He examines them carefully <<if canSee($activeSlave)>>in the mirror<<else>>by feeling alone<</if>>. Realizing that $his balls fit $his scrotum perfectly, $he's flooded with relief, since $he was afraid that you'd done something far more terrible. Once $he has time to think about it, though, $he's somewhat @@.mediumorchid;resentful,@@ since $he naturally feels a certain proprietary interest in $his own genetals. @@.red;$His health has been slightly affected.@@
+		$He exits the surgery gingerly, since $he can feel that something was done to $his testicles. $He examines them carefully <<if canSee($activeSlave)>>in the mirror<<else>>by feeling alone<</if>>. Realizing that $his balls fit $his scrotum perfectly, $he's flooded with relief, since $he was afraid that you'd done something far more terrible. Once $he has time to think about it, though, $he's somewhat @@.mediumorchid;resentful,@@ since $he naturally feels a certain proprietary interest in $his own genitals. @@.red;$His health has been slightly affected.@@
 		<<set $activeSlave.devotion -= 5>>
 	<</if>>
 
@@ -1510,6 +1511,7 @@ As the remote surgery's long recovery cycle completes,
 		<</if>>
 	<</if>>
 	Naturally, @@.red;$his health has been greatly affected@@ by such serious surgery.
+	<<set $activeSlave.chastityVagina = 0>>
 	<<set $activeSlave.vaginalAccessory = "none">>
 	<<if $activeSlave.cervixImplant == 1>>
 		<<set $activeSlave.cervixImplant = 0>>
diff --git a/src/uncategorized/toychest.tw b/src/uncategorized/toychest.tw
index f840401c413b8e1aceb7c1f2752ee2f06628d246..6c534fdeb38deca6acd5c141f39c1c3440d0567f 100644
--- a/src/uncategorized/toychest.tw
+++ b/src/uncategorized/toychest.tw
@@ -214,6 +214,8 @@
 		$His athletic clothing gives the office a more youthful vibe.
 	<<case "a skimpy loincloth">>
 		$His skimpy loincloth gives the office a more barbaric and raw atmosphere.
+	<<case "a Santa dress">>
+		$His skimpy dress somehow makes you seem more charitable and jovial than you really are.
 	<<default>>
 		<<if ($slaves[$i].chastityVagina) && ($slaves[$i].chastityAnus)>>
 			$His chastity belt covers and protects both $his vagina and anus, but leaves $his breasts naked and $his mouth available.
diff --git a/src/uncategorized/useGuard.tw b/src/uncategorized/useGuard.tw
index 0aa2e8072b9e08a34500ab61e08fc001d516d87a..b3a9a7e9e90352f095b2793c55371bce3edc291c 100644
--- a/src/uncategorized/useGuard.tw
+++ b/src/uncategorized/useGuard.tw
@@ -115,6 +115,8 @@ $slaves[$i].slaveName is standing behind your left shoulder, guarding your perso
 	$His bodysuit and weapons make $him look like an action movie heroine.
 <<case "a burkini">>
 	$His form-fitting swimsuit and weapons make $him look like an action movie heroine.
+<<case "a Santa dress">>
+	$His skimpy holiday dress seems to be for those on the nice list, but $his weaponry is for those on the naughty list.
 <<case "a leotard">>
 	$His leotard and weapons make $him look like the heroine of an old exploitation film.
 <<case "a bunny outfit">>
@@ -148,7 +150,7 @@ $slaves[$i].slaveName is standing behind your left shoulder, guarding your perso
 <<default>>
 	<<if ($activeSlave.chastityVagina) || ($activeSlave.chastityAnus)>>
 		$His chastity belt covers and protects $him, just as $his weapons cover and protect you.
-	<<elseif ($activeSlave.chastityPenis)>>
+	<<elseif ($activeSlave.chastityPenis == 1)>>
 		$His chastity cage covers and protects $him, just as $his weapons cover and protect you.
 	<<else>>
 		$He is nude except for $his armament.
diff --git a/src/uncategorized/walkPast.tw b/src/uncategorized/walkPast.tw
index 6c79f43b22fbde337cf99eddbc7e4464e4fd2b36..51b5fc3975c15c506f85cf7471b44336d820ea93 100644
--- a/src/uncategorized/walkPast.tw
+++ b/src/uncategorized/walkPast.tw
@@ -155,7 +155,7 @@
 	<<case "be the Madam">>
 		is managing the brothel: _he2 is making sure all the customers are satisfied and all the whores are working hard.
 	<<case "be the Attendant">>
-		is seeing to girls in the spa: _he2 is gently soaping an exhausted slave.
+		is seeing to slaves in the spa: _he2 is gently soaping an exhausted slave.
 	<<case "be the Stewardess">>
 		is managing the house servants: _he2 overseeing the laboring house slaves and punishing any that step out of line.
 	<<case "be the DJ">>
@@ -467,7 +467,7 @@
 			The light chain under $his breasts accentuates their natural movement.
 		<</if>>
 	<<default>>
-		<<if ($activeSlave.chastityVagina || $activeSlave.chastityPenis)>>
+		<<if ($activeSlave.chastityAnus == 1 || $activeSlave.chastityVagina == 1 || $activeSlave.chastityPenis == 1)>>
 			Since $he's wearing nothing but a chastity belt, $his <<if $activeSlave.boobs < 300>>non-existent <</if>>breasts are delightfully naked.
 		<<else>>
 			$His naked <<if $activeSlave.boobs < 300>> flat chest and nipples<<else>>breasts<</if>> catch your eye.
@@ -692,7 +692,7 @@
 		<<case "shibari ropes">>
 			$His enormous belly bulges out from between $his ropes.
 		<<case "restrictive latex" "a latex catsuit">>
-			$His enormous belly makes $him look like a giant balloon under the tight latex, $his popped navel breaks the smoothness.
+			$His enormous belly makes $him look like a giant balloon under the tight latex; $his popped navel breaks the smoothness.
 		<<case "a nice nurse outfit">>
 			$He's decided to become the maternity ward, judging by the enormous squirming pregnant belly $he sports.
 		<<case "a maternity dress">>
@@ -700,7 +700,7 @@
 		<<case "a nice maid outfit">>
 			$His enormous belly is covered only by an apron.
 		<<case "a penitent nuns habit">>
-			$His enormous belly strains $his habit, it looks absolutely sinful.
+			$His enormous belly strains $his habit; it looks absolutely sinful.
 		<<case "a ball gown">>
 			Your gaze is drawn to $his enormous squirming pregnant belly by $his striking silken ball gown.
 		<<case "harem gauze">>
@@ -715,9 +715,9 @@
 			$His enormous belly pushes out $his robe.
 		<<case "a burqa">>
 			$His enormous belly pushes out $his burqa.
-		<<case "a tube top and thong" "a bra" "a thong" "a tube top" "a striped bra" "striped underwear" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "boyshorts" "cutoffs" "leather pants and pasties" "leather pants" "panties" "panties and pasties" "sport shorts and a sports bra" "jeans" "sport shorts" "leather pants and a tube top">>
+		<<case "a bra" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "a striped bra" "a thong" "a tube top" "a tube top and thong" "boyshorts" "cutoffs" "jeans" "leather pants" "leather pants and a tube top" "leather pants and pasties" "panties" "panties and pasties" "sport shorts" "sport shorts and a sports bra" "striped underwear">>
 			$His enormous belly is totally bare.
-		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "a t-shirt and jeans" "a t-shirt and thong" "sport shorts and a t-shirt" "a t-shirt and panties">>
+		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "a t-shirt and jeans" "a t-shirt and panties" "a t-shirt and thong" "an oversized t-shirt" "an oversized t-shirt and boyshorts" "sport shorts and a t-shirt">>
 			$His enormous belly pushes out $his shirt.
 		<<case "a tank-top" "a tank-top and panties">>
 			$His enormous belly pushes out $his tank-top.
@@ -756,7 +756,7 @@
 		<<case "shibari ropes">>
 			$His giant belly bulges out from between $his ropes.
 		<<case "restrictive latex" "a latex catsuit">>
-			$His giant belly makes $him look like a balloon under the tight latex, $his popped navel breaks the smoothness.
+			$His giant belly makes $him look like a balloon under the tight latex; $his popped navel breaks the smoothness.
 		<<case "a nice nurse outfit">>
 			$His giant belly makes $him resemble a maternity ward patient rather than a nurse.
 		<<case "attractive lingerie for a pregnant woman">>
@@ -764,9 +764,9 @@
 		<<case "a maternity dress">>
 			$His loose dress is completely filled by $his giant belly.
 		<<case "a nice maid outfit">>
-			$His maid outfit struggles to contain $his giant belly, $his popped navel is visible under $his apron.
+			$His maid outfit struggles to contain $his giant belly; $his popped navel is visible under $his apron.
 		<<case "a penitent nuns habit">>
-			$His giant belly fills $his habit, it looks absolutely sinful.
+			$His giant belly fills $his habit; it looks absolutely sinful.
 		<<case "a halter top dress">>
 			$His giant belly fills $his halter top dress, it struggles to contain $his belly.
 		<<case "a ball gown">>
@@ -783,9 +783,9 @@
 			$His giant belly fills $his robe.
 		<<case "a burqa">>
 			$His giant belly pushes out $his burqa.
-		<<case "a tube top and thong" "a bra" "a thong" "a tube top" "a striped bra" "striped underwear" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "boyshorts" "cutoffs" "leather pants and pasties" "leather pants" "panties" "panties and pasties" "sport shorts and a sports bra" "jeans" "sport shorts" "leather pants and a tube top">>
+		<<case "a bra" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "a striped bra" "a thong" "a tube top" "a tube top and thong" "boyshorts" "cutoffs" "jeans" "leather pants" "leather pants and a tube top" "leather pants and pasties" "panties" "panties and pasties" "sport shorts" "sport shorts and a sports bra" "striped underwear">>
 			$His giant belly is totally bare.
-		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "a t-shirt and jeans" "a t-shirt and thong" "sport shorts and a t-shirt" "a t-shirt and panties">>
+		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "a t-shirt and jeans" "a t-shirt and panties" "a t-shirt and thong" "an oversized t-shirt" "an oversized t-shirt and boyshorts" "sport shorts and a t-shirt">>
 			$His giant belly pushes out $his shirt.
 		<<case "a tank-top" "a tank-top and panties">>
 			$His giant belly pushes out $his tank-top.
@@ -859,9 +859,9 @@
 			$His massive gut has no room left to move within $his overstuffed robe.
 		<<case "a burqa">>
 			$His massive gut has no room left to move within $his overstuffed burqa.
-		<<case "a tube top and thong" "a bra" "a thong" "a tube top" "a striped bra" "striped underwear" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "boyshorts" "cutoffs" "leather pants and pasties" "leather pants" "panties" "panties and pasties" "sport shorts and a sports bra" "jeans" "sport shorts" "leather pants and a tube top">>
+		<<case "a bra" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "a striped bra" "a thong" "a tube top" "a tube top and thong" "boyshorts" "cutoffs" "jeans" "leather pants" "leather pants and a tube top" "leather pants and pasties" "panties" "panties and pasties" "sport shorts" "sport shorts and a sports bra" "striped underwear">>
 			$His massive belly is totally bare.
-		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "a t-shirt and jeans" "a t-shirt and thong" "sport shorts and a t-shirt" "a t-shirt and panties">>
+		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "a t-shirt and jeans" "a t-shirt and panties" "a t-shirt and thong" "an oversized t-shirt" "an oversized t-shirt and boyshorts" "sport shorts and a t-shirt">>
 			$His massive belly pushes out $his shirt.
 		<<case "a tank-top" "a tank-top and panties">>
 			$His massive belly pushes out $his tank-top.
@@ -912,7 +912,7 @@
 		<<case "shibari ropes">>
 			$His huge belly bulges out from between $his ropes.
 		<<case "restrictive latex" "a latex catsuit">>
-			$His huge belly looks like a large beach ball under $his tight latex, $his popped navel breaks the smoothness.
+			$His huge belly looks like a large beach ball under $his tight latex; $his popped navel breaks the smoothness.
 		<<case "a military uniform">>
 			$His huge belly threatens to pop the buttons off $his tunic.
 		<<case "a schutzstaffel uniform">>
@@ -940,9 +940,9 @@
 		<<case "a slutty maid outfit">>
 			$His huge belly is partially covered by a thin white blouse.
 		<<case "a nice maid outfit">>
-			$His huge belly threatens to tear $his maid outfit open, $his popped navel is visible under $his apron.
+			$His huge belly threatens to tear $his maid outfit open; $his popped navel is visible under $his apron.
 		<<case "a penitent nuns habit">>
-			$His huge belly bulges $his habit, it looks absolutely sinful.
+			$His huge belly bulges $his habit; it looks absolutely sinful.
 		<<case "clubslut netting">>
 			$His huge belly threatens to tear apart $his clubslut netting.
 		<<case "a cheerleader outfit">>
@@ -973,9 +973,9 @@
 			$His huge belly tents $his robe.
 		<<case "a burqa">>
 			$His huge belly tents $his burqa.
-		<<case "a tube top and thong" "a bra" "a thong" "a tube top" "a striped bra" "striped underwear" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "boyshorts" "cutoffs" "leather pants and pasties" "leather pants" "panties" "panties and pasties" "sport shorts and a sports bra" "jeans" "sport shorts" "leather pants and a tube top">>
+		<<case "a bra" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "a striped bra" "a thong" "a tube top" "a tube top and thong" "boyshorts" "cutoffs" "jeans" "leather pants" "leather pants and a tube top" "leather pants and pasties" "panties" "panties and pasties" "sport shorts" "sport shorts and a sports bra" "striped underwear">>
 			$His huge belly is totally bare.
-		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "a t-shirt and jeans" "a t-shirt and thong" "sport shorts and a t-shirt" "a t-shirt and panties">>
+		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "a t-shirt and jeans" "a t-shirt and panties" "a t-shirt and thong" "an oversized t-shirt" "an oversized t-shirt and boyshorts" "sport shorts and a t-shirt">>
 			$His huge belly pushes out $his shirt.
 		<<case "a tank-top" "a tank-top and panties">>
 			$His huge belly pushes out $his tank-top.
@@ -1069,9 +1069,9 @@
 			Tons of jiggling can be seen through $his robe whenever $he moves.
 		<<case "a burqa">>
 			Some jiggling can be seen through $his burqa whenever $he moves.
-		<<case "a tube top and thong" "a bra" "a thong" "a tube top" "a striped bra" "striped underwear" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "boyshorts" "cutoffs" "leather pants and pasties" "leather pants" "panties" "panties and pasties" "sport shorts and a sports bra" "jeans" "sport shorts" "leather pants and a tube top">>
+		<<case "a bra" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "a striped bra" "a thong" "a tube top" "a tube top and thong" "boyshorts" "cutoffs" "jeans" "leather pants" "leather pants and a tube top" "leather pants and pasties" "panties" "panties and pasties" "sport shorts" "sport shorts and a sports bra" "striped underwear">>
 			$His jiggling belly is totally bare.
-		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "a t-shirt and jeans" "a t-shirt and thong" "sport shorts and a t-shirt" "a t-shirt and panties">>
+		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "a t-shirt and jeans" "a t-shirt and panties" "a t-shirt and thong" "an oversized t-shirt" "an oversized t-shirt and boyshorts" "sport shorts and a t-shirt">>
 			Jiggling flesh can be seen through $his shirt whenever $he moves.
 		<<case "a tank-top" "a tank-top and panties">>
 			Jiggling flesh can be seen through $his tank-top whenever $he moves.
@@ -1177,9 +1177,9 @@
 			Noticeable jiggling can be seen through $his robe whenever $he moves.
 		<<case "a burqa">>
 			A small amount of jiggling can be seen through $his burqa whenever $he moves.
-		<<case "a tube top and thong" "a bra" "a thong" "a tube top" "a striped bra" "striped underwear" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "boyshorts" "cutoffs" "leather pants and pasties" "leather pants" "panties" "panties and pasties" "sport shorts and a sports bra" "jeans" "sport shorts" "leather pants and a tube top">>
+		<<case "a bra" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "a striped bra" "a thong" "a tube top" "a tube top and thong" "boyshorts" "cutoffs" "jeans" "leather pants" "leather pants and a tube top" "leather pants and pasties" "panties" "panties and pasties" "sport shorts" "sport shorts and a sports bra" "striped underwear">>
 			$His jiggling belly is totally bare.
-		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "a t-shirt and jeans" "a t-shirt and thong" "sport shorts and a t-shirt" "a t-shirt and panties">>
+		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "a t-shirt and jeans" "a t-shirt and panties" "a t-shirt and thong" "an oversized t-shirt" "an oversized t-shirt and boyshorts" "sport shorts and a t-shirt">>
 			A small amount of jiggling can be seen through $his shirt whenever $he moves.
 		<<case "a tank-top" "a tank-top and panties">>
 			A small amount of jiggling can be seen through $his tank-top whenever $he moves.
@@ -1232,7 +1232,7 @@
 		<<case "shibari ropes">>
 			$His big belly bulges out from between $his ropes.
 		<<case "restrictive latex" "a latex catsuit">>
-			$His big belly looks like a beach ball under $his tight latex, $his popped navel breaks the smoothness.
+			$His big belly looks like a beach ball under $his tight latex; $his popped navel breaks the smoothness.
 		<<case "a military uniform">>
 			$His big belly strains the buttons on $his jacket.
 		<<case "a schutzstaffel uniform">>
@@ -1260,9 +1260,9 @@
 		<<case "a slutty maid outfit">>
 			$His big belly is partially covered by a thin white blouse.
 		<<case "a nice maid outfit">>
-			$His big belly strains $his maid outfit, $his popped navel is visible under $his apron.
+			$His big belly strains $his maid outfit; $his popped navel is visible under $his apron.
 		<<case "a penitent nuns habit">>
-			$His big belly bulges $his habit, it looks absolutely sinful.
+			$His big belly bulges $his habit; it looks absolutely sinful.
 		<<case "clubslut netting">>
 			$His big belly strains $his clubslut netting.
 		<<case "a cheerleader outfit">>
@@ -1293,9 +1293,9 @@
 			$His big belly tents $his robe.
 		<<case "a burqa">>
 			$His big belly gently pushes against $his burqa.
-		<<case "a tube top and thong" "a bra" "a thong" "a tube top" "a striped bra" "striped underwear" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "boyshorts" "cutoffs" "leather pants and pasties" "leather pants" "panties" "panties and pasties" "sport shorts and a sports bra" "jeans" "sport shorts" "leather pants and a tube top">>
+		<<case "a bra" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "a striped bra" "a thong" "a tube top" "a tube top and thong" "boyshorts" "cutoffs" "jeans" "leather pants" "leather pants and a tube top" "leather pants and pasties" "panties" "panties and pasties" "sport shorts" "sport shorts and a sports bra" "striped underwear">>
 			$His big belly is totally bare.
-		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "a t-shirt and jeans" "a t-shirt and thong" "sport shorts and a t-shirt" "a t-shirt and panties">>
+		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "a t-shirt and jeans" "a t-shirt and panties" "a t-shirt and thong" "an oversized t-shirt" "an oversized t-shirt and boyshorts" "sport shorts and a t-shirt">>
 			$His big belly pushes out $his shirt.
 		<<case "a tank-top" "a tank-top and panties">>
 			$His big belly pushes out $his tank-top.
@@ -1368,7 +1368,7 @@
 		<<case "a mini dress">>
 			$His stretched minidress shows every jiggle in $his fat gut as $he moves.
 		<<case "a slutty maid outfit">>
-			$His fat gut is partially covered by a thin white blouse, that happily jiggles along with every motion.
+			$His fat gut is partially covered by a thin white blouse, which happily jiggles along with every motion.
 		<<case "a nice maid outfit">>
 			As $he moves, a slight jiggle can be seen within $his maid's dress.
 		<<case "a penitent nuns habit">>
@@ -1403,9 +1403,9 @@
 			$His robe hides the jiggling motion of $his fat gut.
 		<<case "a burqa">>
 			$His burqa hides the jiggling motion of $his fat gut.
-		<<case "a tube top and thong" "a bra" "a thong" "a tube top" "a striped bra" "striped underwear" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "boyshorts" "cutoffs" "leather pants and pasties" "leather pants" "panties" "panties and pasties" "sport shorts and a sports bra" "jeans" "sport shorts" "leather pants and a tube top">>
+		<<case "a bra" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "a striped bra" "a thong" "a tube top" "a tube top and thong" "boyshorts" "cutoffs" "jeans" "leather pants" "leather pants and a tube top" "leather pants and pasties" "panties" "panties and pasties" "sport shorts" "sport shorts and a sports bra" "striped underwear">>
 			$His fat gut jiggles freely.
-		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "a t-shirt and jeans" "a t-shirt and thong" "sport shorts and a t-shirt" "a t-shirt and panties">>
+		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "a t-shirt and jeans" "a t-shirt and panties" "a t-shirt and thong" "an oversized t-shirt" "an oversized t-shirt and boyshorts" "sport shorts and a t-shirt">>
 			$His shirt somewhat hides the jiggling motion of $his fat gut.
 		<<case "a tank-top" "a tank-top and panties">>
 			$His tank-top barely hides the jiggling motion of $his fat gut.
@@ -1513,9 +1513,9 @@
 			$His growing belly gently tents $his abaya.
 		<<case "a burqa">>
 			$His burqa hides $his growing belly.
-		<<case "a tube top and thong" "a bra" "a thong" "a tube top" "a striped bra" "striped underwear" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "boyshorts" "cutoffs" "leather pants and pasties" "leather pants" "panties" "panties and pasties" "sport shorts and a sports bra" "jeans" "sport shorts" "leather pants and a tube top">>
+		<<case "a bra" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "a striped bra" "a thong" "a tube top" "a tube top and thong" "boyshorts" "cutoffs" "jeans" "leather pants" "leather pants and a tube top" "leather pants and pasties" "panties" "panties and pasties" "sport shorts" "sport shorts and a sports bra" "striped underwear">>
 			$His growing belly is totally bare.
-		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "a t-shirt and jeans" "a t-shirt and thong" "sport shorts and a t-shirt" "a t-shirt and panties">>
+		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "a t-shirt and jeans" "a t-shirt and panties" "a t-shirt and thong" "an oversized t-shirt" "an oversized t-shirt and boyshorts" "sport shorts and a t-shirt">>
 			$His shirt hides $his growing belly.
 		<<case "a tank-top" "a tank-top and panties">>
 			$His tank-top hides $his growing belly.
@@ -1687,7 +1687,7 @@
 			<<if $activeSlave.dick > 4>>
 				$His dick sometimes creates a bulge in $his apron as $he moves.
 			<<elseif ($activeSlave.dick > 0) && ($activeSlave.vagina > -1)>>
-				$His apron exposes $his hemaphroditic genitalia if $he moves too quickly.
+				$His apron exposes $his hermaphroditic genitalia if $he moves too quickly.
 			<<elseif $activeSlave.dick > 0>>
 				$His apron exposes $his cock if $he moves too quickly.
 			<<elseif $activeSlave.vagina > -1>>
@@ -1948,7 +1948,7 @@
 		<<case "shibari ropes">>
 			$His enormous belly bulges out from between $his ropes.
 		<<case "restrictive latex" "a latex catsuit">>
-			$His enormous belly makes $him look like a giant balloon under the tight latex, $his popped navel breaks the smoothness.
+			$His enormous belly makes $him look like a giant balloon under the tight latex; $his popped navel breaks the smoothness.
 		<<case "a nice nurse outfit">>
 			$He's decided to become the maternity ward, judging by the enormous belly $he sports.
 		<<case "a maternity dress">>
@@ -1956,7 +1956,7 @@
 		<<case "a nice maid outfit">>
 			$His enormous belly is covered only by an apron.
 		<<case "a penitent nuns habit">>
-			$His enormous belly strains $his habit, it looks absolutely sinful.
+			$His enormous belly strains $his habit; it looks absolutely sinful.
 		<<case "a ball gown">>
 			Your gaze is drawn to $his enormous belly by $his striking silken ball gown.
 		<<case "harem gauze">>
@@ -1977,9 +1977,9 @@
 			$His enormous belly pushes out $his robe.
 		<<case "a burqa">>
 			$His enormous belly pushes out $his burqa.
-		<<case "a tube top and thong" "a bra" "a thong" "a tube top" "a striped bra" "striped underwear" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "boyshorts" "cutoffs" "leather pants and pasties" "leather pants" "panties" "panties and pasties" "sport shorts and a sports bra" "jeans" "sport shorts" "leather pants and a tube top">>
+		<<case "a bra" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "a striped bra" "a thong" "a tube top" "a tube top and thong" "boyshorts" "cutoffs" "jeans" "leather pants" "leather pants and a tube top" "leather pants and pasties" "panties" "panties and pasties" "sport shorts" "sport shorts and a sports bra" "striped underwear">>
 			$His enormous belly is totally bare.
-		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "a t-shirt and jeans" "a t-shirt and thong" "sport shorts and a t-shirt" "a t-shirt and panties">>
+		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "a t-shirt and jeans" "a t-shirt and panties" "a t-shirt and thong" "an oversized t-shirt" "an oversized t-shirt and boyshorts" "sport shorts and a t-shirt">>
 			$His enormous belly pushes out $his shirt.
 		<<case "a tank-top" "a tank-top and panties">>
 			$His enormous belly pushes out $his tank-top.
@@ -2018,7 +2018,7 @@
 		<<case "shibari ropes">>
 			$His giant belly bulges out from between $his ropes.
 		<<case "restrictive latex" "a latex catsuit">>
-			$His giant belly makes $him look like a balloon under the tight latex, $his popped navel breaks the smoothness.
+			$His giant belly makes $him look like a balloon under the tight latex; $his popped navel breaks the smoothness.
 		<<case "a nice nurse outfit">>
 			$His giant belly makes $him resemble a maternity ward patient rather than a nurse.
 		<<case "attractive lingerie for a pregnant woman">>
@@ -2026,9 +2026,9 @@
 		<<case "a maternity dress">>
 			$His loose dress is completely filled by $his giant belly.
 		<<case "a nice maid outfit">>
-			$His maid outfit struggles to contain $his giant belly, $his popped navel is visible under $his apron.
+			$His maid outfit struggles to contain $his giant belly; $his popped navel is visible under $his apron.
 		<<case "a penitent nuns habit">>
-			$His giant belly fills $his habit, it looks absolutely sinful.
+			$His giant belly fills $his habit; it looks absolutely sinful.
 		<<case "a halter top dress">>
 			$His giant belly fills $his halter top dress, it struggles to contain $his belly.
 		<<case "a ball gown">>
@@ -2049,9 +2049,9 @@
 			$His giant belly fills $his abaya.
 		<<case "a burqa">>
 			$His giant belly pushes out $his burqa.
-		<<case "a tube top and thong" "a bra" "a thong" "a tube top" "a striped bra" "striped underwear" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "boyshorts" "cutoffs" "leather pants and pasties" "leather pants" "panties" "panties and pasties" "sport shorts and a sports bra" "jeans" "sport shorts" "leather pants and a tube top">>
+		<<case "a bra" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "a striped bra" "a thong" "a tube top" "a tube top and thong" "boyshorts" "cutoffs" "jeans" "leather pants" "leather pants and a tube top" "leather pants and pasties" "panties" "panties and pasties" "sport shorts" "sport shorts and a sports bra" "striped underwear">>
 			$His giant belly is totally bare.
-		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "a t-shirt and jeans" "a t-shirt and thong" "sport shorts and a t-shirt" "a t-shirt and panties">>
+		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "a t-shirt and jeans" "a t-shirt and panties" "a t-shirt and thong" "an oversized t-shirt" "an oversized t-shirt and boyshorts" "sport shorts and a t-shirt">>
 			$His giant belly pushes out $his shirt.
 		<<case "a tank-top" "a tank-top and panties">>
 			$His giant belly pushes out $his tank-top.
@@ -2129,9 +2129,9 @@
 			$His massive gut has no room left to move within $his overstuffed robe.
 		<<case "a burqa">>
 			$His massive gut has no room left to move within $his overstuffed burqa.
-		<<case "a tube top and thong" "a bra" "a thong" "a tube top" "a striped bra" "striped underwear" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "boyshorts" "cutoffs" "leather pants and pasties" "leather pants" "panties" "panties and pasties" "sport shorts and a sports bra" "jeans" "sport shorts" "leather pants and a tube top">>
+		<<case "a bra" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "a striped bra" "a thong" "a tube top" "a tube top and thong" "boyshorts" "cutoffs" "jeans" "leather pants" "leather pants and a tube top" "leather pants and pasties" "panties" "panties and pasties" "sport shorts" "sport shorts and a sports bra" "striped underwear">>
 			$His massive belly is totally bare.
-		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "a t-shirt and jeans" "a t-shirt and thong" "sport shorts and a t-shirt" "a t-shirt and panties">>
+		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "a t-shirt and jeans" "a t-shirt and panties" "a t-shirt and thong" "an oversized t-shirt" "an oversized t-shirt and boyshorts" "sport shorts and a t-shirt">>
 			$His massive belly jiggles under $his shirt.
 		<<case "a tank-top" "a tank-top and panties">>
 			$His massive belly jiggles under $his tank-top.
@@ -2182,7 +2182,7 @@
 		<<case "shibari ropes">>
 			$His huge belly bulges out from between $his ropes.
 		<<case "restrictive latex" "a latex catsuit">>
-			$His huge belly looks like a large beach ball under $his tight latex, $his popped navel breaks the smoothness.
+			$His huge belly looks like a large beach ball under $his tight latex; $his popped navel breaks the smoothness.
 		<<case "a military uniform">>
 			$His huge belly threatens to pop the buttons off $his tunic.
 		<<case "a schutzstaffel uniform">>
@@ -2210,9 +2210,9 @@
 		<<case "a slutty maid outfit">>
 			$His huge belly is partially covered by a thin white blouse.
 		<<case "a nice maid outfit">>
-			$His huge belly threatens to tear $his maid outfit open, $his popped navel is visible under $his apron.
+			$His huge belly threatens to tear $his maid outfit open; $his popped navel is visible under $his apron.
 		<<case "a penitent nuns habit">>
-			$His huge belly bulges $his habit, it looks absolutely sinful.
+			$His huge belly bulges $his habit; it looks absolutely sinful.
 		<<case "clubslut netting">>
 			$His huge belly threatens to tear apart $his clubslut netting.
 		<<case "a cheerleader outfit">>
@@ -2243,9 +2243,9 @@
 			$His huge belly tents $his robe.
 		<<case "a burqa">>
 			$His huge belly tents $his burqa.
-		<<case "a tube top and thong" "a bra" "a thong" "a tube top" "a striped bra" "striped underwear" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "boyshorts" "cutoffs" "leather pants and pasties" "leather pants" "panties" "panties and pasties" "sport shorts and a sports bra" "jeans" "sport shorts" "leather pants and a tube top">>
+		<<case "a bra" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "a striped bra" "a thong" "a tube top" "a tube top and thong" "boyshorts" "cutoffs" "jeans" "leather pants" "leather pants and a tube top" "leather pants and pasties" "panties" "panties and pasties" "sport shorts" "sport shorts and a sports bra" "striped underwear">>
 			$His huge belly is totally bare.
-		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "a t-shirt and jeans" "a t-shirt and thong" "sport shorts and a t-shirt" "a t-shirt and panties">>
+		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "a t-shirt and jeans" "a t-shirt and panties" "a t-shirt and thong" "an oversized t-shirt" "an oversized t-shirt and boyshorts" "sport shorts and a t-shirt">>
 			$His huge belly lewdly stretches $his shirt.
 		<<case "a tank-top" "a tank-top and panties">>
 			$His huge belly lewdly stretches $his tank-top.
@@ -2351,9 +2351,9 @@
 			Some jiggling can be seen through $his robe whenever $he moves.
 		<<case "a burqa">>
 			Some jiggling can be seen through $his burqa whenever $he moves.
-		<<case "a tube top and thong" "a bra" "a thong" "a tube top" "a striped bra" "striped underwear" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "boyshorts" "cutoffs" "leather pants and pasties" "leather pants" "panties" "panties and pasties" "sport shorts and a sports bra" "jeans" "sport shorts" "leather pants and a tube top">>
+		<<case "a bra" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "a striped bra" "a thong" "a tube top" "a tube top and thong" "boyshorts" "cutoffs" "jeans" "leather pants" "leather pants and a tube top" "leather pants and pasties" "panties" "panties and pasties" "sport shorts" "sport shorts and a sports bra" "striped underwear">>
 			$His jiggling belly is totally bare.
-		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "a t-shirt and jeans" "a t-shirt and thong" "sport shorts and a t-shirt" "a t-shirt and panties">>
+		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "a t-shirt and jeans" "a t-shirt and panties" "a t-shirt and thong" "an oversized t-shirt" "an oversized t-shirt and boyshorts" "sport shorts and a t-shirt">>
 			Some jiggling can be seen through $his shirt whenever $he moves.
 		<<case "a tank-top" "a tank-top and panties">>
 			Some jiggling can be seen through $his tank-top whenever $he moves.
@@ -2465,9 +2465,9 @@
 			A small amount of jiggling can be seen through $his robe whenever $he moves.
 		<<case "a burqa">>
 			A small amount of jiggling can be seen through $his burqa whenever $he moves.
-		<<case "a tube top and thong" "a bra" "a thong" "a tube top" "a striped bra" "striped underwear" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "boyshorts" "cutoffs" "leather pants and pasties" "leather pants" "panties" "panties and pasties" "sport shorts and a sports bra" "jeans" "sport shorts" "leather pants and a tube top">>
+		<<case "a bra" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "a striped bra" "a thong" "a tube top" "a tube top and thong" "boyshorts" "cutoffs" "jeans" "leather pants" "leather pants and a tube top" "leather pants and pasties" "panties" "panties and pasties" "sport shorts" "sport shorts and a sports bra" "striped underwear">>
 			$His jiggling belly is totally bare.
-		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "a t-shirt and jeans" "a t-shirt and thong" "sport shorts and a t-shirt" "a t-shirt and panties">>
+		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "a t-shirt and jeans" "a t-shirt and panties" "a t-shirt and thong" "an oversized t-shirt" "an oversized t-shirt and boyshorts" "sport shorts and a t-shirt">>
 			A small amount of jiggling can be seen through $his shirt whenever $he moves.
 		<<case "a tank-top" "a tank-top and panties">>
 			A small amount of jiggling can be seen through $his tank-top whenever $he moves.
@@ -2514,7 +2514,7 @@
 		<<case "shibari ropes">>
 			$His big belly bulges out from between $his ropes.
 		<<case "restrictive latex" "a latex catsuit">>
-			$His big belly looks like a beach ball under $his tight latex, $his popped navel breaks the smoothness.
+			$His big belly looks like a beach ball under $his tight latex; $his popped navel breaks the smoothness.
 		<<case "a military uniform">>
 			$His big belly strains the buttons on $his jacket.
 		<<case "a schutzstaffel uniform">>
@@ -2548,9 +2548,9 @@
 		<<case "a slutty maid outfit">>
 			$His big belly is partially covered by a thin white blouse.
 		<<case "a nice maid outfit">>
-			$His big belly strains $his maid outfit, $his popped navel is visible under $his apron.
+			$His big belly strains $his maid outfit; $his popped navel is visible under $his apron.
 		<<case "a penitent nuns habit">>
-			$His big belly bulges $his habit, it looks absolutely sinful.
+			$His big belly bulges $his habit; it looks absolutely sinful.
 		<<case "clubslut netting">>
 			$His big belly strains $his clubslut netting.
 		<<case "a cheerleader outfit">>
@@ -2577,9 +2577,9 @@
 			$His big belly gently pushes against $his robe.
 		<<case "a burqa">>
 			$His big belly gently pushes against $his burqa.
-		<<case "a tube top and thong" "a bra" "a thong" "a tube top" "a striped bra" "striped underwear" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "boyshorts" "cutoffs" "leather pants and pasties" "leather pants" "panties" "panties and pasties" "sport shorts and a sports bra" "jeans" "sport shorts" "leather pants and a tube top">>
+		<<case "a bra" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "a striped bra" "a thong" "a tube top" "a tube top and thong" "boyshorts" "cutoffs" "jeans" "leather pants" "leather pants and a tube top" "leather pants and pasties" "panties" "panties and pasties" "sport shorts" "sport shorts and a sports bra" "striped underwear">>
 			$His big belly is totally bare.
-		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "a t-shirt and jeans" "a t-shirt and thong" "sport shorts and a t-shirt" "a t-shirt and panties">>
+		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "a t-shirt and jeans" "a t-shirt and panties" "a t-shirt and thong" "an oversized t-shirt" "an oversized t-shirt and boyshorts" "sport shorts and a t-shirt">>
 			$His big belly gentlly pushes out $his shirt.
 		<<case "a tank-top" "a tank-top and panties">>
 			$His big belly gentlly pushes out $his tank-top.
@@ -2689,9 +2689,9 @@
 			$His robe hides the jiggling motion of $his fat gut.
 		<<case "a burqa">>
 			$His burqa hides the jiggling motion of $his fat gut.
-		<<case "a tube top and thong" "a bra" "a thong" "a tube top" "a striped bra" "striped underwear" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "boyshorts" "cutoffs" "leather pants and pasties" "leather pants" "panties" "panties and pasties" "sport shorts and a sports bra" "jeans" "sport shorts" "leather pants and a tube top">>
+		<<case "a bra" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "a striped bra" "a thong" "a tube top" "a tube top and thong" "boyshorts" "cutoffs" "jeans" "leather pants" "leather pants and a tube top" "leather pants and pasties" "panties" "panties and pasties" "sport shorts" "sport shorts and a sports bra" "striped underwear">>
 			$His jiggling belly is totally bare.
-		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "a t-shirt and jeans" "a t-shirt and thong" "sport shorts and a t-shirt" "a t-shirt and panties">>
+		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "a t-shirt and jeans" "a t-shirt and panties" "a t-shirt and thong" "an oversized t-shirt" "an oversized t-shirt and boyshorts" "sport shorts and a t-shirt">>
 			Jiggling flesh can barely be seen through $his shirt whenever $he moves.
 		<<case "a tank-top" "a tank-top and panties">>
 			Jiggling flesh can barely be seen through $his tank-top whenever $he moves.
@@ -2805,9 +2805,9 @@
 			$His robe totally conceals $his distended belly.
 		<<case "a burqa">>
 			$His burqa totally conceals $his distended belly.
-		<<case "a tube top and thong" "a bra" "a thong" "a tube top" "a striped bra" "striped underwear" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "boyshorts" "cutoffs" "leather pants and pasties" "leather pants" "panties" "panties and pasties" "sport shorts and a sports bra" "jeans" "sport shorts" "leather pants and a tube top">>
+		<<case "a bra" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "a striped bra" "a thong" "a tube top" "a tube top and thong" "boyshorts" "cutoffs" "jeans" "leather pants" "leather pants and a tube top" "leather pants and pasties" "panties" "panties and pasties" "sport shorts" "sport shorts and a sports bra" "striped underwear">>
 			$His distended belly is totally bare.
-		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "a t-shirt and jeans" "a t-shirt and thong" "sport shorts and a t-shirt" "a t-shirt and panties">>
+		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "a t-shirt and jeans" "a t-shirt and panties" "a t-shirt and thong" "an oversized t-shirt" "an oversized t-shirt and boyshorts" "sport shorts and a t-shirt">>
 			$His shirt totally conceals $his distended belly.
 		<<case "a tank-top" "a tank-top and panties">>
 			$His tank-top totally conceals $his distended belly.
@@ -2892,9 +2892,9 @@
 			$His massive gut has no room left to move within $his overstuffed robe.
 		<<case "a burqa">>
 			$His massive gut has no room left to move within $his overstuffed burqa.
-		<<case "a tube top and thong" "a bra" "a thong" "a tube top" "a striped bra" "striped underwear" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "boyshorts" "cutoffs" "leather pants and pasties" "leather pants" "panties" "panties and pasties" "sport shorts and a sports bra" "jeans" "sport shorts" "leather pants and a tube top">>
+		<<case "a bra" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "a striped bra" "a thong" "a tube top" "a tube top and thong" "boyshorts" "cutoffs" "jeans" "leather pants" "leather pants and a tube top" "leather pants and pasties" "panties" "panties and pasties" "sport shorts" "sport shorts and a sports bra" "striped underwear">>
 			$His massive jiggling gut is totally bare.
-		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "a t-shirt and jeans" "a t-shirt and thong" "sport shorts and a t-shirt" "a t-shirt and panties">>
+		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "a t-shirt and jeans" "a t-shirt and panties" "a t-shirt and thong" "an oversized t-shirt" "an oversized t-shirt and boyshorts" "sport shorts and a t-shirt">>
 			The taut material of $his shirt shows every jiggle in $his massive gut as $he moves.
 		<<case "a tank-top" "a tank-top and panties">>
 			The taut material of $his tank-top shows every jiggle in $his massive gut as $he moves.
@@ -2947,7 +2947,7 @@
 		<<case "shibari ropes">>
 			$His taut, sloshing belly bulges out from between $his ropes.
 		<<case "restrictive latex" "a latex catsuit">>
-			$His taut, sloshing belly looks like a large beach ball under $his tight latex, $his popped navel breaks the smoothness.
+			$His taut, sloshing belly looks like a large beach ball under $his tight latex; $his popped navel breaks the smoothness.
 		<<case "a military uniform">>
 			$His taut, sloshing belly threatens to pop the buttons off $his tunic. $His belly bulges out between them.
 		<<case "a schutzstaffel uniform">>
@@ -2975,9 +2975,9 @@
 		<<case "a slutty maid outfit">>
 			$His taut, sloshing belly is partially covered by a thin white blouse.
 		<<case "a nice maid outfit">>
-			$His taut, sloshing belly threatens to tear $his maid outfit open, $his popped navel is visible under $his apron.
+			$His taut, sloshing belly threatens to tear $his maid outfit open; $his popped navel is visible under $his apron.
 		<<case "a penitent nuns habit">>
-			$His taut, sloshing belly bulges $his habit, it looks absolutely sinful.
+			$His taut, sloshing belly bulges $his habit; it looks absolutely sinful.
 		<<case "clubslut netting">>
 			$His taut, sloshing belly threatens to tear apart $his clubslut netting. $His belly bulges obscenely through the mesh.
 		<<case "a cheerleader outfit">>
@@ -3010,9 +3010,9 @@
 			$His taut, sloshing belly pushes against $his robe.
 		<<case "a burqa">>
 			$His taut, sloshing belly pushes against $his burqa.
-		<<case "a tube top and thong" "a bra" "a thong" "a tube top" "a striped bra" "striped underwear" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "boyshorts" "cutoffs" "leather pants and pasties" "leather pants" "panties" "panties and pasties" "sport shorts and a sports bra" "jeans" "sport shorts" "leather pants and a tube top">>
+		<<case "a bra" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "a striped bra" "a thong" "a tube top" "a tube top and thong" "boyshorts" "cutoffs" "jeans" "leather pants" "leather pants and a tube top" "leather pants and pasties" "panties" "panties and pasties" "sport shorts" "sport shorts and a sports bra" "striped underwear">>
 			$His taut sloshing belly is totally bare.
-		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "a t-shirt and jeans" "a t-shirt and thong" "sport shorts and a t-shirt" "a t-shirt and panties">>
+		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "a t-shirt and jeans" "a t-shirt and panties" "a t-shirt and thong" "an oversized t-shirt" "an oversized t-shirt and boyshorts" "sport shorts and a t-shirt">>
 			$His taut, sloshing belly pushes against $his shirt.
 		<<case "a tank-top" "a tank-top and panties">>
 			$His taut, sloshing belly pushes against $his tank-top.
@@ -3116,9 +3116,9 @@
 			Some jiggling can be seen through $his robe whenever $he moves.
 		<<case "a burqa">>
 			Some jiggling can be seen through $his burqa whenever $he moves.
-		<<case "a tube top and thong" "a bra" "a thong" "a tube top" "a striped bra" "striped underwear" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "boyshorts" "cutoffs" "leather pants and pasties" "leather pants" "panties" "panties and pasties" "sport shorts and a sports bra" "jeans" "sport shorts" "leather pants and a tube top">>
+		<<case "a bra" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "a striped bra" "a thong" "a tube top" "a tube top and thong" "boyshorts" "cutoffs" "jeans" "leather pants" "leather pants and a tube top" "leather pants and pasties" "panties" "panties and pasties" "sport shorts" "sport shorts and a sports bra" "striped underwear">>
 			$His jiggling belly is totally bare.
-		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "a t-shirt and jeans" "a t-shirt and thong" "sport shorts and a t-shirt" "a t-shirt and panties">>
+		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "a t-shirt and jeans" "a t-shirt and panties" "a t-shirt and thong" "an oversized t-shirt" "an oversized t-shirt and boyshorts" "sport shorts and a t-shirt">>
 			Small amounts of jiggling flesh can be seen through $his shirt whenever $he moves.
 		<<case "a tank-top" "a tank-top and panties">>
 			Small amounts of jiggling flesh can be seen through $his tank-top whenever $he moves.
@@ -3228,9 +3228,9 @@
 			A small amount of jiggling can be seen through $his robe whenever $he moves.
 		<<case "a burqa">>
 			A small amount of jiggling can be seen through $his burqa whenever $he moves.
-		<<case "a tube top and thong" "a bra" "a thong" "a tube top" "a striped bra" "striped underwear" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "boyshorts" "cutoffs" "leather pants and pasties" "leather pants" "panties" "panties and pasties" "sport shorts and a sports bra" "jeans" "sport shorts" "leather pants and a tube top">>
+		<<case "a bra" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "a striped bra" "a thong" "a tube top" "a tube top and thong" "boyshorts" "cutoffs" "jeans" "leather pants" "leather pants and a tube top" "leather pants and pasties" "panties" "panties and pasties" "sport shorts" "sport shorts and a sports bra" "striped underwear">>
 			$His jiggling belly is totally bare.
-		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "a t-shirt and jeans" "a t-shirt and thong" "sport shorts and a t-shirt" "a t-shirt and panties">>
+		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "a t-shirt and jeans" "a t-shirt and panties" "a t-shirt and thong" "an oversized t-shirt" "an oversized t-shirt and boyshorts" "sport shorts and a t-shirt">>
 			Small amounts of jiggling flesh can be seen through $his shirt whenever $he moves.
 		<<case "a tank-top" "a tank-top and panties">>
 			Small amounts of jiggling flesh can be seen through $his tank-top whenever $he moves.
@@ -3283,7 +3283,7 @@
 		<<case "shibari ropes">>
 			$His rounded, sloshing belly bulges out from between $his ropes.
 		<<case "restrictive latex" "a latex catsuit">>
-			$His rounded, sloshing belly looks like a beach ball under $his tight latex, $his popped navel breaks the smoothness.
+			$His rounded, sloshing belly looks like a beach ball under $his tight latex; $his popped navel breaks the smoothness.
 		<<case "a military uniform">>
 			$His rounded, sloshing belly strains the buttons on $his jacket. It bulges slightly between them.
 		<<case "a schutzstaffel uniform">>
@@ -3311,9 +3311,9 @@
 		<<case "a slutty maid outfit">>
 			$His rounded, sloshing belly is partially covered by a thin white blouse.
 		<<case "a nice maid outfit">>
-			$His rounded, sloshing belly strains $his maid outfit, $his popped navel is visible under $his apron.
+			$His rounded, sloshing belly strains $his maid outfit; $his popped navel is visible under $his apron.
 		<<case "a penitent nuns habit">>
-			$His rounded, sloshing belly bulges $his habit, it looks absolutely sinful.
+			$His rounded, sloshing belly bulges $his habit; it looks absolutely sinful.
 		<<case "clubslut netting">>
 			$His rounded, sloshing belly strains $his clubslut netting.
 		<<case "a cheerleader outfit">>
@@ -3344,9 +3344,9 @@
 			$His rounded, sloshing belly pushes against $his robe.
 		<<case "a burqa">>
 			$His rounded, sloshing belly pushes against $his burqa.
-		<<case "a tube top and thong" "a bra" "a thong" "a tube top" "a striped bra" "striped underwear" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "boyshorts" "cutoffs" "leather pants and pasties" "leather pants" "panties" "panties and pasties" "sport shorts and a sports bra" "jeans" "sport shorts" "leather pants and a tube top">>
+		<<case "a bra" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "a striped bra" "a thong" "a tube top" "a tube top and thong" "boyshorts" "cutoffs" "jeans" "leather pants" "leather pants and a tube top" "leather pants and pasties" "panties" "panties and pasties" "sport shorts" "sport shorts and a sports bra" "striped underwear">>
 			$His rounded sloshing belly is totally bare.
-		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "a t-shirt and jeans" "a t-shirt and thong" "sport shorts and a t-shirt" "a t-shirt and panties">>
+		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "a t-shirt and jeans" "a t-shirt and panties" "a t-shirt and thong" "an oversized t-shirt" "an oversized t-shirt and boyshorts" "sport shorts and a t-shirt">>
 			$His rounded, sloshing belly pushes against $his shirt.
 		<<case "a tank-top" "a tank-top and panties">>
 			$His rounded, sloshing belly pushes against $his tank-top.
@@ -3456,9 +3456,9 @@
 			$His robe hides the jiggling motion of $his fat gut.
 		<<case "a burqa">>
 			$His burqa hides the jiggling motion of $his fat gut.
-		<<case "a tube top and thong" "a bra" "a thong" "a tube top" "a striped bra" "striped underwear" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "boyshorts" "cutoffs" "leather pants and pasties" "leather pants" "panties" "panties and pasties" "sport shorts and a sports bra" "jeans" "sport shorts" "leather pants and a tube top">>
+		<<case "a bra" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "a striped bra" "a thong" "a tube top" "a tube top and thong" "boyshorts" "cutoffs" "jeans" "leather pants" "leather pants and a tube top" "leather pants and pasties" "panties" "panties and pasties" "sport shorts" "sport shorts and a sports bra" "striped underwear">>
 			$His fat gut jiggles freely.
-		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "a t-shirt and jeans" "a t-shirt and thong" "sport shorts and a t-shirt" "a t-shirt and panties">>
+		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "a t-shirt and jeans" "a t-shirt and panties" "a t-shirt and thong" "an oversized t-shirt" "an oversized t-shirt and boyshorts" "sport shorts and a t-shirt">>
 			$His shirt somewhat hides the jiggling motion of $his fat gut.
 		<<case "a tank-top" "a tank-top and panties">>
 			$His tank-top barely hides the jiggling motion of $his fat gut.
@@ -3570,9 +3570,9 @@
 			$His robe totally conceals $his distended belly.
 		<<case "a burqa">>
 			$His burqa totally conceals $his distended belly.
-		<<case "a tube top and thong" "a bra" "a thong" "a tube top" "a striped bra" "striped underwear" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "boyshorts" "cutoffs" "leather pants and pasties" "leather pants" "panties" "panties and pasties" "sport shorts and a sports bra" "jeans" "sport shorts" "leather pants and a tube top">>
+		<<case "a bra" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "a striped bra" "a thong" "a tube top" "a tube top and thong" "boyshorts" "cutoffs" "jeans" "leather pants" "leather pants and a tube top" "leather pants and pasties" "panties" "panties and pasties" "sport shorts" "sport shorts and a sports bra" "striped underwear">>
 			$His distended belly is totally bare.
-		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "a t-shirt and jeans" "a t-shirt and thong" "sport shorts and a t-shirt" "a t-shirt and panties">>
+		<<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "a t-shirt and jeans" "a t-shirt and panties" "a t-shirt and thong" "an oversized t-shirt" "an oversized t-shirt and boyshorts" "sport shorts and a t-shirt">>
 			$His shirt totally conceals $his distended belly.
 		<<case "a tank-top" "a tank-top and panties">>
 			$His tank-top totally conceals $his distended belly.
diff --git a/src/uncategorized/wardrobe.tw b/src/uncategorized/wardrobe.tw
index d90f0bc175361d888bb8710363dee78655690c25..fd9f31378721fafc50031ccc1fb88a74feb1f84f 100644
--- a/src/uncategorized/wardrobe.tw
+++ b/src/uncategorized/wardrobe.tw
@@ -240,7 +240,15 @@ The room containing all the clothes and accessories you have available to dress
 	[[Order a shipment of politically incorrect clothing|Wardrobe][cashX(-15000, "capEx"), $clothesBoughtPol = 1]]
 	//Costs <<print cashFormat(15000)>>//
 <<else>>
-	You are well stocked with selection of outfits once considered distasteful.
+	You are well stocked with a selection of outfits once considered distasteful.
+<</if>>
+
+<br>
+<<if !isItemAccessible("a Santa dress")>>
+	[[Order a shipment of colorful and revealing costumes|Wardrobe][cashX(-15000, "capEx"), $clothesBoughtCostume = 1]]
+	//Costs <<print cashFormat(15000)>>//
+<<else>>
+	You are well stocked with a variety of costume party supplies.
 <</if>>
 
 <br>
diff --git a/src/uncategorized/wardrobeUse.tw b/src/uncategorized/wardrobeUse.tw
index 4e943fa5f2e7ecd5f2965f8e7fa7269392af4332..d2d1346855f2921e9306ebd72c5c074681fc3523 100644
--- a/src/uncategorized/wardrobeUse.tw
+++ b/src/uncategorized/wardrobeUse.tw
@@ -301,7 +301,7 @@ Clothes: ''<span id="clothes">$activeSlave.clothes</span>.''
 	<</link>>
 <</if>>
 <<if isItemAccessible("a mounty outfit")>>
-	| <<link "Mounty oufit">>
+	| <<link "Mounty outfit">>
 		<<set $activeSlave.clothes = "a mounty outfit",$activeSlave.choosesOwnClothes = 0>>
 		<<replace "#clothes">>$activeSlave.clothes<</replace>>
 		<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
@@ -392,6 +392,13 @@ Clothes: ''<span id="clothes">$activeSlave.clothes</span>.''
 		<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
 	<</link>>
 <</if>>
+<<if isItemAccessible("a Santa dress")>>
+	| <<link "Santa dress">>
+		<<set $activeSlave.clothes = "a Santa dress",$activeSlave.choosesOwnClothes = 0>>
+		<<replace "#clothes">>$activeSlave.clothes<</replace>>
+		<<replace "#clothingDescription">><br>//<<ClothingDescription>>//<</replace>>
+	<</link>>
+<</if>>
 | <<link "Scalemail bikini">>
 	<<set $activeSlave.clothes = "a scalemail bikini",$activeSlave.choosesOwnClothes = 0>>
 	<<replace "#clothes">>$activeSlave.clothes<</replace>>
@@ -1069,32 +1076,21 @@ Clothes: ''<span id="clothes">$activeSlave.clothes</span>.''
 <</if>>
 
 <br><br>
-Chastity device:
-<br>
-<<if $activeSlave.vagina > -1>>
-	<<link "Chastity belt">>
-		<<set $activeSlave.chastityVagina = 1,$activeSlave.choosesOwnChastity = 0>>
-		<<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>>
-		<<replace "#vaginalAccessoryDescription">>//<<vaginalAccessoryDescription>>//<</replace>>
-		<<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>>
-	<</link>>
-	|
-</if>>
-<<if $activeSlave.dick > 0>>
-	<<link "Chastity cage">>
-		<<set $activeSlave.chastityPenis = 1,$activeSlave.choosesOwnChastity = 0>>
-		<<replace "#dickAccessory">>$activeSlave.dickAccessory<</replace>>
-		<<replace "#dickAccessoryDescription">><br>//<<dickAccessoryDescription>>//<</replace>>
-		<<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>>
-	<</link>>
-	|
-<</if>>
-<<link "Anal chastity belt">>
-		<<set $activeSlave.chastityAnis = 1,$activeSlave.choosesOwnChastity = 0>>
-		<<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>>
-		<<replace "#vaginalAccessoryDescription">>//<<vaginalAccessoryDescription>>//<</replace>>
-		<<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>>
-<</link>>
+	Chastity device: ''<span id="chastity"><<if $activeSlave.chastityAnus == 1 && $activeSlave.chastityPenis == 1 && $activeSlave.chastityVagina == 1>>Full Chastity<<elseif $activeSlave.chastityPenis == 1 && $activeSlave.chastityVagina == 1>>Genital Chastity<<elseif $activeSlave.chastityAnus == 1 && $activeSlave.chastityPenis == 1>>Combined Chastity Cage>><<elseif $activeSlave.chastityAnus == 1 && $activeSlave.chastityVagina == 1>>Combined Chastity Belt<<elseif $activeSlave.chastityVagina == 1>>Chastity Belt<<elseif $activeSlave.chastityPenis == 1>>Chastity Cage<<elseif $activeSlave.chastityAnus == 1>>Anal Chastity<<elseif $activeSlave.chastityAnus == 0 && $activeSlave.chastityPenis == 0 && $activeSlave.chastityVagina == 0>>None<<else>>THERE HAS BEEN AN ERROR<</if>></span>.''
+	<<link "None">><<set $activeSlave.chastityAnus = 0>><<set $activeSlave.chastityPenis = 0>><<set $activeSlave.chastityVagina = 0>><<replace "#chastity">>None<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>>
+	| <<link "Anal Chastity">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 1>><<set $activeSlave.chastityPenis = 0>><<set $activeSlave.chastityVagina = 0>><<replace "#chastity">>Anal Chastity<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>>
+	<<if $activeSlave.vagina > -1>>
+		| <<link "Chastity Belt">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 0>><<set $activeSlave.chastityPenis = 0>><<set $activeSlave.chastityVagina = 1>><<replace "#chastity">>Vaginal Chastity<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>>
+		| <<link "Combined Chastity Belt">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 0>><<set $activeSlave.chastityPenis = 0>><<set $activeSlave.chastityVagina = 0>><<replace "#chastity">>Combined Chastity Belt<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>>
+	<</if>>
+	<<if $activeSlave.dick > 0>>
+		| <<link "Chastity Cage">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 0>><<set $activeSlave.chastityPenis = 1>><<set $activeSlave.chastityVagina = 0>><<replace "#chastity">>Chastity Cage<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>>
+		| <<link "Combined Chastity Cage">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 1>><<set $activeSlave.chastityPenis = 1>><<set $activeSlave.chastityVagina = 0>><<replace "#chastity">>Combined Chastity Cage<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>>
+		<<if $activeSlave.vagina > -1>>
+			| <<link "Genital Chastity">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 0>><<set $activeSlave.chastityPenis = 1>><<set $activeSlave.chastityVagina = 1>><<replace "#chastity">>Genital Chastity<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>>
+			| <<link "Full Chastity">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 1>><<set $activeSlave.chastityPenis = 1>><<set $activeSlave.chastityVagina = 1>><<replace "#chastity">>Full Chastity<</replace>><<SlaveInteractAnalGropeOption>><<SlaveInteractAnalSexOption>><<SlaveInteractDickGropeOption>><<SlaveInteractFertility>><<SlaveInteractGropeOption>><<SlaveInteractImpreg>><<SlaveInteractSexOption>><</link>>
+		<</if>>
+	<</if>>
 
 <<if $activeSlave.vagina > -1>>
 	<br><br>Vaginal accessory: ''<span id="vaginalAccessory">$activeSlave.vaginalAccessory</span>.''
@@ -1150,29 +1146,11 @@ Chastity device:
 			<</link>>
 		<</if>>
 	<</if>>
-	| <<link "Chastity belt">>
-		<<set $activeSlave.chastityVagina = 1,$activeSlave.choosesOwnChastity = 0>>
-		<<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>>
-		<<replace "#vaginalAccessoryDescription">>//<<vaginalAccessoryDescription>>//<</replace>>
-		<<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>>
-	<</link>>
-	| <<link "Anal chastity belt">>
-		<<set $activeSlave.chastityAnis = 1,$activeSlave.choosesOwnChastity = 0>>
-		<<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>>
-		<<replace "#vaginalAccessoryDescription">>//<<vaginalAccessoryDescription>>//<</replace>>
-		<<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>>
-	<</link>>
-	| <<link "Combined chastity belt">>
-		<<set $activeSlave.vaginalAccessory = "combined chastity",$activeSlave.choosesOwnChastity = 0>>
-		<<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>>
-		<<replace "#vaginalAccessoryDescription">>//<<vaginalAccessoryDescription>>//<</replace>>
-		<<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>>
-	<</link>>
 <</if>>
 
 <<if $activeSlave.dick > 0>>
 	<br><br>Dick accessory: ''<span id="dickAccessory">$activeSlave.dickAccessory</span>.''
-	<span id="dickAccessoryDescription"><<if ($activeSlave.dickAccessory != "none") && ($activeSlave.dickAccessory != "anal chastity")>><br><</if>>//<<dickAccessoryDescription>>//</span>
+	<span id="dickAccessoryDescription"><<if ($activeSlave.dickAccessory != "none")>><br><</if>>//<<dickAccessoryDescription>>//</span>
 	<br>
 	<<link "None">>
 		<<set $activeSlave.dickAccessory = "none">>
@@ -1180,24 +1158,6 @@ Chastity device:
 		<<replace "#dickAccessoryDescription">>//<<dickAccessoryDescription>>//<</replace>>
 		<<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>>
 	<</link>>
-	| <<link "Chastity cage">>
-		<<set $activeSlave.chastityPenis = 1,$activeSlave.choosesOwnChastity = 0>>
-		<<replace "#dickAccessory">>$activeSlave.dickAccessory<</replace>>
-		<<replace "#dickAccessoryDescription">><br>//<<dickAccessoryDescription>>//<</replace>>
-		<<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>>
-	<</link>>
-	| <<link "Anal chastity belt">>
-		<<set $activeSlave.chastityAnus = 1,$activeSlave.choosesOwnChastity = 0>>
-		<<replace "#dickAccessory">>$activeSlave.dickAccessory<</replace>>
-		<<replace "#dickAccessoryDescription">>//<<dickAccessoryDescription>>//<</replace>>
-		<<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>>
-	<</link>>
-	| <<link "Combined chastity belt">>
-		<<set $activeSlave.dickAccessory = "combined chastity",$activeSlave.choosesOwnChastity = 0>>
-		<<replace "#dickAccessory">>$activeSlave.dickAccessory<</replace>>
-		<<replace "#dickAccessoryDescription">><br>//<<dickAccessoryDescription>>//<</replace>>
-		<<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>>
-	<</link>>
 <</if>>
 <br><br>
 Anal accessory: ''<span id="buttplug">$activeSlave.buttplug</span>.''
diff --git a/src/utility/birthWidgets.tw b/src/utility/birthWidgets.tw
index 5fb526c14b593705d957829218d5522ff025c749..7a0edd53c7ca0df94cdff76afd207714266bd8e3 100644
--- a/src/utility/birthWidgets.tw
+++ b/src/utility/birthWidgets.tw
@@ -8,14 +8,14 @@
 		<<if $clinic != 0>>
 			$slaves[$i].slaveName is taken to $clinicName since $he is scheduled for a cesarean section. $He is helped from $his clothes and into a comfortable hospital bed to relax until the surgery suite is prepped. After several minutes, $he is transferred to the surgery wing. Following $his c-section, $he is returned to the recovery wing to rest. $His child<<if $slaves[$i].pregType > 1>>ren are<<else>> is<</if>> promptly taken and $he is left under observation to make sure $he recovers.
 		<<else>>
-			$slaves[$i].slaveName is taken to the auto-surgeon, since $he is scheduled for a cesarean section. $He is stripped from $his clothes and set up on the operating table. $He is quickly sedated, and subjected to a c-section in order to avoid potential problems and preserve $his <<if $slaves[$i].mpreg == 1>>asshole<<else>>vagina<</if>>. The surgery is quick, and $he is moved to a bed to recover. When $he awakes, $his child<<if $slaves[$i].pregType > 1>>ren have<<else>> has<</if>> already been taken away.
+			$slaves[$i].slaveName is taken to the autosurgery, since $he is scheduled for a cesarean section. $He is stripped from $his clothes and set up on the operating table. $He is quickly sedated, and subjected to a c-section in order to avoid potential problems and preserve $his <<if $slaves[$i].mpreg == 1>>asshole<<else>>vagina<</if>>. The surgery is quick, and $he is moved to a bed to recover. When $he awakes, $his child<<if $slaves[$i].pregType > 1>>ren have<<else>> has<</if>> already been taken away.
 		<</if>>
 	<<else>>
 		<<if $clinic != 0>>
 			$He is lead to $clinicName since $he is likely to face complications with childbirth. $He is helped from $his clothes and into a comfortable hospital bed to relax until $he is ready. $He makes $himself comfortable and begins working on birthing $his bab<<if $slaves[$i].pregType > 1>>ies<<else>>y<</if>>, fully aware of $his watching helpers. <<if $birthDamage > 10>><<set $csec = 1, $slaves[$i].cSec = 1>>After several hours of intense labor, $he is transferred to the surgery wing. Following an emergency c-section, $he is returned to the recovery wing to rest<<else>>After several hours, and a touch of morphine, $he has successfully given birth<</if>>. $His child<<if $slaves[$i].pregType > 1>>ren are<<else>> is<</if>> promptly taken and $he is left under observation to make sure $he recovers.
 		<<else>>
 			<<set $csec = 1, $slaves[$i].cSec = 1>>
-			$He is lead to the auto-surgeon, since $he is likely to face complications with childbirth. $He is stripped from $his clothes and set up on the operating table. $He is quickly sedated and subjected to a c-section in order to avoid potential problems. The surgery is quick, and $he is moved to a bed to recover. When $he awakes, $his child<<if $slaves[$i].pregType > 1>>ren have<<else>> has<</if>> already been taken away.
+			$He is lead to the autosurgery, since $he is likely to face complications with childbirth. $He is stripped from $his clothes and set up on the operating table. $He is quickly sedated and subjected to a c-section in order to avoid potential problems. The surgery is quick, and $he is moved to a bed to recover. When $he awakes, $his child<<if $slaves[$i].pregType > 1>>ren have<<else>> has<</if>> already been taken away.
 		<</if>>
 	<</if>>
 
@@ -400,7 +400,7 @@
 		$He is carried to $clinicName, since $he is likely to face complications with childbirth. $He is stripped from $his clothes and set up in a comfortable hospital bed to relax until $he is ready. $He wiggles $himself into a comfortable spot and begins working on birthing $his bab<<if $slaves[$i].pregType > 1>>ies<<else>>y<</if>>, fully aware of $his watching helpers. <<if $birthDamage > 10>><<set $csec = 1, $slaves[$i].cSec = 1>>After several hours of intense labor, $he is transferred to the surgery wing. Following an emergency c-section, $he is returned to the recovery wing to rest<<else>>After several hours, and a touch of morphine, $he has successfully given birth<</if>>. $His child<<if $slaves[$i].pregType > 1>>ren are<<else>> is<</if>> promptly taken and $he is left under observation to make sure $he recovers.
 	<<else>>
 		<<set $csec = 1, $slaves[$i].cSec = 1>>
-		$He is carried to the auto-surgeon, since $he is likely to face complications with childbirth. $He is stripped from $his clothes and set up on the operating table. $He is quickly sedated and subjected to a c-section in order to avoid potential problems. The surgery is quick and $he is moved to a bed to recover. When $he awakes, $his child<<if $slaves[$i].pregType > 1>>ren have<<else>> has<</if>> already been taking away.
+		$He is carried to the autosurgery, since $he is likely to face complications with childbirth. $He is stripped from $his clothes and set up on the operating table. $He is quickly sedated and subjected to a c-section in order to avoid potential problems. The surgery is quick and $he is moved to a bed to recover. When $he awakes, $his child<<if $slaves[$i].pregType > 1>>ren have<<else>> has<</if>> already been taking away.
 	<</if>>
 
 <<else>>
@@ -634,10 +634,17 @@
 			<<ClothingBirth>>
 			$He gathers $his newborn<<if $slaves[$i].pregType > 1>>s<</if>> and recovers $his strength before finding a servant to give $his child<<if $slaves[$i].pregType > 1>>ren<</if>> to before hurrying to $his assignment.
 		<<elseif _birthScene > 66 && $slaves[$i].rivalry == 3 && isSlaveAvailable($slaves[_bw]) && canWalk($slaves[_bw])>>
-			While hustling through the penthouse on $his way to give birth, $slaves[$i].slaveName finds $his path blocked by $slaves[_bw].slaveName. Seeing $his distress brings a grin to _his2 face. _He2 quickly rushes the laboring $slaves[$i].slaveName, circling around behind $him and hooking $him under the arms. _He2 forces the poor $girl into the cafeteria and holds $him in place, leaving $him with no other option than to begin giving birth in front of $his audience.
-			<<set $humiliation = 1>>
-			<<ClothingBirth>>
-			$slaves[_bw].slaveName releases $him and $he moves to gather $his newborn<<if $slaves[$i].pregType > 1>>s<</if>>. With a shove from $his rival, $he rushes out of the jeering crowd's sight. Finding a servant to give $his child<<if $slaves[$i].pregType > 1>>ren<</if>> to, $he hastily heads back to $his bed to hide $himself from the mockery.
+			<<if $slaves[$i].pregSource == $slaves[_bw].ID>>
+				While hustling through the penthouse on $his way to give birth, $slaves[$i].slaveName finds $his path blocked by $slaves[_bw].slaveName — and a hospital gurney, of all things. _He2 appears genuinely concerned for the (soon-to-be) mother of _his2 child<<if $slaves[$i].pregType > 1>>ren<</if>>, and helps $him onto the bed, then pushes the surprised $girl onwards. $slaves[$i].slaveName, focusing on $his labor, begins to rethink the animosity $he feels for _him2 — until $he realizes $slaves[_bw].slaveName has brought them to the cafeteria. With a smug pride in _his2 potency, _he2 introduces the shocked pregnant $girl to $his new audience. $His contractions becoming too frequent to move, $he begins giving birth in front of $his audience.
+				<<set $humiliation = 1>>
+				<<ClothingBirth>>
+				$slaves[_bw].slaveName gathers _his2 bab<<if $slaves[$i].pregType > 1>>ies<<else>>y<</if>> from _his2 exhausted rival, roughly pushes $him off the gurney, then hands the child<<if $slaves[$i].pregType > 1>>ren<</if>> to a servant that had been called in by the commotion. $slaves[$i].slaveName, humiliated by the spectacle and $his own naïveté, pushes through the jeering crowd and hastily heads back to $his bed to hide $himself from the mockery.
+			<<else>>
+				While hustling through the penthouse on $his way to give birth, $slaves[$i].slaveName finds $his path blocked by $slaves[_bw].slaveName. Seeing $his distress brings a grin to _his2 face. _He2 quickly rushes the laboring $slaves[$i].slaveName, circling around behind $him and hooking $him under the arms. _He2 forces the poor $girl into the cafeteria and holds $him in place, leaving $him with no other option than to begin giving birth in front of $his audience.
+				<<set $humiliation = 1>>
+				<<ClothingBirth>>
+				$slaves[_bw].slaveName releases $him and $he moves to gather $his newborn<<if $slaves[$i].pregType > 1>>s<</if>>. With a shove from $his rival, $he rushes out of the jeering crowd's sight. Finding a servant to give $his child<<if $slaves[$i].pregType > 1>>ren<</if>> to, $he hastily heads back to $his bed to hide $himself from the mockery.
+			<</if>>
 		<<else>>
 			While waddling through the penthouse on $his way to the cafeteria, $slaves[$i].slaveName's water breaks. Unable to reach the prepared birthing room in time, $he finds $himself stranded in the middle of all the dining slaves.
 			<<set $humiliation = 1>>
@@ -1688,7 +1695,7 @@ Feeling childbirth approaching, $slaves[$i].slaveName is helped to $his prepared
 		Quickly $he attempts to unfasten $his leather bodysuit but fails to do so before having to push out <<if $slaves[$i].broodmother > 0>><<if $slaves[$i].birthsTotal == 0>>$his first<<else>>this week's<</if>> baby<<else>>$his bab<<if $slaves[$i].pregType > 1>>ies<<else>>y<</if>><</if>>. As $he crowns into $his pants, $he can't hide the wetness and bulge between $his <<if $slaves[$i].mpreg == 1>>buttocks<<else>>legs<</if>>, <<if $slaves[$i].fetish == "humiliation">>but that only makes it more exciting<<else>>so $he bears with it<</if>>. With a little help, $he manages to escape $his clothes and finish giving birth.
 	<</if>>
 
-<<case "a mini dress">>
+<<case "a mini dress" "a Santa dress">>
 	<<if $slaves[$i].fetish == "mindbroken">>
 		Instinctively, $he begins to push out <<if $slaves[$i].broodmother > 0>><<if $slaves[$i].birthsTotal == 0>>$his first<<else>>this week's<</if>> baby<<else>>$his bab<<if $slaves[$i].pregType > 1>>ies<<else>>y<</if>><</if>>, indifferent to the obvious wetness forming <<if $slaves[$i].mpreg == 1>>under $his rear<<else>>over $his crotch<</if>>.
 	<<else>>
@@ -1928,6 +1935,8 @@ Feeling childbirth approaching, $slaves[$i].slaveName is helped to $his prepared
 		leather pants
 		<<case "sport shorts">>
 		shorts
+		<<case "a Santa dress">>
+		Santa dress
 		<<default>>
 		$slaves[$i].clothes
 		<</switch>>
@@ -2107,6 +2116,8 @@ Feeling childbirth approaching, $slaves[$i].slaveName is helped to $his prepared
 		leather pants
 		<<case "sport shorts">>
 		shorts
+		<<case "a Santa dress">>
+		Santa dress
 		<<default>>
 		$slaves[$i].clothes
 		<</switch>>
diff --git a/src/utility/descriptionWidgets.tw b/src/utility/descriptionWidgets.tw
index 914b6a7aca948a6441633aab770b476f08899d45..251963c9361103d5e64dc687c1d097cc93262475 100644
--- a/src/utility/descriptionWidgets.tw
+++ b/src/utility/descriptionWidgets.tw
@@ -258,6 +258,9 @@
 <<widget "geneticQuirkAssessment">>
 
 <<if $geneticMappingUpgrade == 1>>
+	<<if $activeSlave.geneticQuirks.albinism == 2>>
+		$He is an albino.
+	<</if>>
 	<<if $activeSlave.geneticQuirks.pFace == 2>>
 		$He has an exceedingly rare trait associated with perfect facial beauty.
 		<<if $activeSlave.geneticQuirks.uFace == 2>>
diff --git a/src/utility/descriptionWidgetsFlesh.tw b/src/utility/descriptionWidgetsFlesh.tw
index 4a73db590655d584ad20d2722e91968d1abc8686..7d56d697a7a3193e31ff0738a91192ac9db62511 100644
--- a/src/utility/descriptionWidgetsFlesh.tw
+++ b/src/utility/descriptionWidgetsFlesh.tw
@@ -980,6 +980,19 @@
 				<<else>>
 					modestly covers $his breasts.
 				<</if>>
+			<<case "a Santa dress">>
+				$activeSlave.slaveName's red holiday dress is designed with a dangerously low neckline, which
+				<<if $activeSlave.boobs > 12000>>
+					$his colossal breasts spill out of completely unheeded.
+				<<elseif $activeSlave.boobs > 4000>>
+					serves only to prop up $his massive, otherwise naked breasts.
+				<<elseif $activeSlave.boobs > 2000>>
+					lies at nipple-level on $his big breasts, leaving a decent portion of $his areolae uncovered.
+				<<elseif $activeSlave.boobs < 300>>
+					hangs lowly on $his flat chest, occasionally revealing one of $his nipples.
+				<<else>>
+					accentuates $his cleavage, especially since it always appears to be slipping down $his body.
+				<</if>>
 			<<default>>
 			<</switch>>
 		<</if>>
@@ -2303,6 +2316,19 @@ $His
 			<<else>>
 				butt.
 			<</if>>
+		<<case "a Santa dress">>
+			The hemline of $his dress is intentionally too high,
+			<<if $activeSlave.butt > 10>>
+				leaving the entirety of $his massive ass exposed.
+			<<elseif $activeSlave.butt > 6>>
+				covering only the topmost portion of $his giant rear.
+			<<elseif $activeSlave.butt > 6>>
+				only managing to cover half of $his big butt.
+			<<elseif $activeSlave.butt > 2>>
+				exposing the very bottom of $his asscheeks.
+			<<else>>
+				just barely managing to cover $his rear.
+			<</if>>
 		<<default>>
 		<</switch>>
 	<</if>>
@@ -3334,7 +3360,7 @@ $He's got a
 				$activeSlave.slaveName's burqa properly conceals $his pussy.
 			<</if>>
 		<<case "a tube top and thong" "a thong" "a slutty klan robe" "a t-shirt and thong">>
-			<<if $activeSlave.dick > 6>>
+			<<if $activeSlave.dick > 3>>
 				When $he moves, $his thong bulges to the point of breaking.
 			<<elseif ($activeSlave.dick > 0) && ($activeSlave.vagina > -1)>>
 				$activeSlave.slaveName's thong immodestly conceals $his hermaphroditic genitalia.
@@ -3607,10 +3633,22 @@ $He's got a
 			<<else>>
 				pussy is partially obscured by a covering of sheer gauze.
 			<</if>>
+		<<case "a Santa dress">>
+			<<if $activeSlave.dick > 5>>
+				$activeSlave.slaveName's cock is long enough to poke out from under $his dress.
+			<<elseif ($activeSlave.dick > 0) && ($activeSlave.vagina > -1)>>
+				$activeSlave.slaveName's dress covers $his hermaphroditic genitalia.
+			<<elseif $activeSlave.dick > 0>>
+				$activeSlave.slaveName's dress covers $his cock.
+			<<elseif $activeSlave.vagina == -1>>
+				$activeSlave.slaveName's dress covers $his featureless groin.
+			<<else>>
+				$activeSlave.slaveName's dress covers $his pussy.
+			<</if>>
 		<<default>>
 			<<if $activeSlave.vagina > -1>>
 				$activeSlave.slaveName's <<if $activeSlave.dick > 0>>hermaphroditic genitalia are<<else>>pussy is<</if>> bare and available.
-			<<elseif ($activeSlave.chastityPenis)>>
+			<<elseif ($activeSlave.chastityPenis == 1)>>
 			<<elseif $activeSlave.dick > 0>>
 				$activeSlave.slaveName's
 				<<switch $activeSlave.dick>>
@@ -3829,7 +3867,7 @@ $He's got a
 				The drugs ejaculated by the dildo up $his asshole keep $his almost permanently hard, only letting $his go soft right after ejaculation.
 			<</if>>
 			As you watch, the machine detects that $his balls are ready for emptying. It reams $his ass until semen whitens the transparent tubing coming off the head of the receptacle covering $his dick.
-		<<elseif ($activeSlave.chastityPenis)>>
+		<<elseif ($activeSlave.chastityPenis == 1)>>
 			<<dickAccessoryDescription>>
 		<<elseif ($activeSlave.dick > 8)>>
 			$He's too huge for $his cardiovascular system to create even the beginnings of an erection. $His cock is a soft, sensitive monolith<<if ($activeSlave.dick*6) > $activeSlave.height>> bigger than $his body<<elseif ($activeSlave.dick*6) > ($activeSlave.height/2)>> the size of one of $his legs<<else>> the size of one of $his arms<</if>>,
@@ -5900,7 +5938,7 @@ $He has
 		<<elseif $activeSlave.muscles > 90>>
 			and $his muscular body <<if $activeSlave.belly > ($activeSlave.pregAdaptation*1000)>>barely manages to contain<<else>>perfectly handles<</if>> $his monolithic belly, though $he still can't move with it.<<if $activeSlave.amp == 0>> $He requires assistance to get to $his feet<<if $saleDescription == 0>>, and uses a wheeled stand to support $his middle when $he must walk anywhere<</if>>.<</if>>
 		<<else>>
-			and $he is nothing more than a ready-to-rupture implant with a girl attached. $He is physically unable to keep $his <<if $activeSlave.belly > ($activeSlave.pregAdaptation*1000)>>straining<</if>> belly off the ground.<<if $activeSlave.amp == 0>> $He requires multiple slaves to get to $his feet<<if $saleDescription == 0>>, and uses a wheeled stand to support $his middle when $he must walk anywhere<</if>>.<</if>>
+			and $he is nothing more than a ready-to-rupture implant with a $girl attached. $He is physically unable to keep $his <<if $activeSlave.belly > ($activeSlave.pregAdaptation*1000)>>straining<</if>> belly off the ground.<<if $activeSlave.amp == 0>> $He requires multiple slaves to get to $his feet<<if $saleDescription == 0>>, and uses a wheeled stand to support $his middle when $he must walk anywhere<</if>>.<</if>>
 		<</if>>
 		<<if $activeSlave.weight > 190>>
 			$His massively fat belly is stretched to the limit, so much so $his folds are pulled flat and $his softness, firm. $He is so overfilled you can clearly make out the implant within $his body through $his skin. It is so full, not one motion can be seen in its contents nor can one push their hand into it. It's a wonder that both $him and $his implant have managed to hold together this long.
@@ -13938,6 +13976,112 @@ $He has
 			<<elseif $activeSlave.muscles > 30>>
 				$activeSlave.slaveName's ripped abs rub uncomfortably against $his habit.
 			<</if>>
+		<<case "a Santa dress">>
+			<<if $activeSlave.belly >= 1000000>>
+				//WIP//
+			<<elseif $activeSlave.belly >= 750000>>
+				<<if $activeSlave.bellyFluid >= $activeSlave.bellyPreg && $activeSlave.bellyFluid >= $activeSlave.bellyImplant>>
+					$activeSlave.slaveName's dress's belt can no longer cross all of $his monolithic <<print $activeSlave.inflationType>>-filled belly, let alone $his whole body.
+				<<elseif $activeSlave.bellyImplant > 0>>
+					$activeSlave.slaveName's dress's belt can no longer cross all of $his monolithic implant-filled belly, let alone $his whole body.
+				<<else>>
+					$activeSlave.slaveName's dress's belt can no longer cross all of $his monolithic pregnant belly, let alone $his whole body.
+				<</if>>
+			<<elseif $activeSlave.belly >= 600000>>
+				<<if $activeSlave.bellyFluid >= $activeSlave.bellyPreg && $activeSlave.bellyFluid >= $activeSlave.bellyImplant>>
+					The bottom of $activeSlave.slaveName's dress is turning taut due to $his titanic <<print $activeSlave.inflationType>>-filled belly.
+				<<elseif $activeSlave.bellyImplant > 0>>
+					The bottom of $activeSlave.slaveName's dress is turning taut due to $his titanic implant-filled belly.
+				<<else>>
+					The bottom of $activeSlave.slaveName's dress is turning taut due to $his titanic pregnant belly.
+				<</if>>
+			<<elseif $activeSlave.belly >= 450000>>
+				<<if $activeSlave.bellyFluid >= $activeSlave.bellyPreg && $activeSlave.bellyFluid >= $activeSlave.bellyImplant>>
+					The fur trim on $activeSlave.slaveName's dress appears ragged from being stretched by $his gigantic <<print $activeSlave.inflationType>>-filled belly.
+				<<elseif $activeSlave.bellyImplant > 0>>
+					The fur trim on $activeSlave.slaveName's dress appears ragged from being stretched by $his gigantic implant-filled belly.
+				<<else>>
+					The fur trim on $activeSlave.slaveName's dress appears ragged from being stretched by $his gigantic pregnant belly.
+				<</if>>
+			<<elseif $activeSlave.belly >= 300000>>
+				<<if $activeSlave.bellyFluid >= $activeSlave.bellyPreg && $activeSlave.bellyFluid >= $activeSlave.bellyImplant>>
+					The thick fabric of $activeSlave.slaveName's dress is stretched thin over $his massive <<print $activeSlave.inflationType>>-filled belly.
+				<<elseif $activeSlave.bellyImplant > 0>>
+					The thick fabric of $activeSlave.slaveName's dress is stretched thin over $his massive implant-filled belly.
+				<<else>>
+					The thick fabric of $activeSlave.slaveName's dress is stretched thin over $his massive pregnant belly.
+				<</if>>
+			<<elseif $activeSlave.belly >= 120000>>
+				<<if $activeSlave.bellyFluid >= $activeSlave.bellyPreg && $activeSlave.bellyFluid >= $activeSlave.bellyImplant>>
+					$activeSlave.slaveName's dress's belt has been glued to it, rather than try to actually encircle $his giant <<print $activeSlave.inflationType>>-filled belly.
+				<<elseif $activeSlave.bellyImplant > 0>>
+					$activeSlave.slaveName's dress's belt has been glued to it, rather than try to actually encircle $his $his giant implant-filled belly.
+				<<else>>
+					$activeSlave.slaveName's dress's belt has been glued to it, rather than try to actually encircle $his $his giant pregnant belly.
+				<</if>>
+			<<elseif $activeSlave.belly >= 30000>>
+				<<if $activeSlave.bellyFluid >= $activeSlave.bellyPreg && $activeSlave.bellyFluid >= $activeSlave.bellyImplant>>
+					The bottom of $activeSlave.slaveName's titanic <<print $activeSlave.inflationType>>-filled belly is stretching $his dress's belt to its breaking point.
+				<<elseif $activeSlave.bellyImplant > 0>>
+					The bottom of $activeSlave.slaveName's titanic implant-filled belly is stretching $his dress's belt to its breaking point.
+				<<else>>
+					The bottom of $activeSlave.slaveName's titanic pregnant belly is stretching $his dress's belt to its breaking point.
+				<</if>>
+			<<elseif $activeSlave.weight > 190>>
+				$activeSlave.slaveName's massively fat belly emphasizes the design of and strains $his festive dress.
+			<<elseif $activeSlave.belly >= 15000 || ($activeSlave.bellyAccessory == "a huge empathy belly")>>
+				<<if $activeSlave.bellyAccessory == "a huge empathy belly">>
+					$activeSlave.slaveName's leather belt can only just barely fit around $his huge pregnant belly.
+				<<elseif $activeSlave.bellyFluid >= $activeSlave.bellyPreg && $activeSlave.bellyFluid >= $activeSlave.bellyImplant>>
+					$activeSlave.slaveName's leather belt can only just barely fit around $his huge <<print $activeSlave.inflationType>>-filled belly.
+				<<elseif $activeSlave.bellyImplant > 0>>
+					$activeSlave.slaveName's leather belt can only just barely fit around $his huge implant-filled belly.
+				<<else>>
+					$activeSlave.slaveName's leather belt can only just barely fit around $his huge pregnant belly.
+				<</if>>
+			<<elseif $activeSlave.belly >= 10000 || ($activeSlave.bellyAccessory == "a large empathy belly")>>
+				<<if $activeSlave.bellyAccessory == "a large empathy belly">>
+					$activeSlave.slaveName's belt is struggling to fully encircle $his big pregnant belly.
+				<<elseif $activeSlave.bellyFluid >= $activeSlave.bellyPreg && $activeSlave.bellyFluid >= $activeSlave.bellyImplant>>
+					$activeSlave.slaveName's belt is struggling to fully encircle $$his hugely <<print $activeSlave.inflationType>>-swollen belly.
+				<<elseif $activeSlave.bellyImplant > 0>>
+					$activeSlave.slaveName's belt is struggling to fully encircle $$his huge implant-filled belly.
+				<<else>>
+					$activeSlave.slaveName's belt is struggling to fully encircle $$his big pregnant belly.
+				<</if>>
+			<<elseif $activeSlave.weight > 160>>
+				$activeSlave.slaveName's hugely fat belly accentuates the design of and badly stretches out $his festive dress.
+			<<elseif $activeSlave.weight > 130>>
+				$activeSlave.slaveName's big fat belly stretches out the leather belt around $his waist.
+			<<elseif $activeSlave.belly >= 5000 || ($activeSlave.bellyAccessory == "a medium empathy belly")>>
+				<<if $activeSlave.bellyAccessory == "a medium empathy belly">>
+					The belt on $activeSlave.slaveName's dress has been loosened to accommodate the significant bulge of $his pregnant belly.
+				<<elseif $activeSlave.bellyFluid >= $activeSlave.bellyPreg && $activeSlave.bellyFluid >= $activeSlave.bellyImplant>>
+					The belt on $activeSlave.slaveName's dress has been loosened to accommodate the significant bulge of $his jiggling <<print $activeSlave.inflationType>>-filled belly.
+				<<elseif $activeSlave.bellyImplant > 0>>
+					The belt on $activeSlave.slaveName's dress has been loosened to accommodate the significant bulge of $his implant-filled belly.
+				<<else>>
+					The belt on $activeSlave.slaveName's dress has been loosened to accommodate the significant bulge of $his pregnant belly.
+				<</if>>
+			<<elseif $activeSlave.weight > 95>>
+				$activeSlave.slaveName's fat belly bulges around the belt around $his waist.
+			<<elseif $activeSlave.belly >= 1500 || $activeSlave.bellyAccessory == "a small empathy belly">>
+				<<if $activeSlave.bellyAccessory == "a small empathy belly">>
+					The belt of $activeSlave.slaveName's dress lies atop the gentle bulge of $his pregnant belly.
+				<<elseif $activeSlave.bellyFluid >= $activeSlave.bellyPreg && $activeSlave.bellyFluid >= $activeSlave.bellyImplant>>
+					The belt of $activeSlave.slaveName's dress lies atop the gentle bulge of $his <<print $activeSlave.inflationType>>-swollen belly.
+				<<elseif $activeSlave.bellyImplant > 0>>
+					The belt of $activeSlave.slaveName's dress lies atop the gentle bulge of $his implant-rounded belly.
+				<<else>>
+					The belt of $activeSlave.slaveName's dress lies atop the gentle bulge of $his growing belly.
+				<</if>>
+			<<elseif $activeSlave.weight > 30>>
+				$activeSlave.slaveName's dress is slightly rounded by $his chubby belly.
+			<<elseif $activeSlave.bellyPreg >= 100 || $activeSlave.bellyImplant >= 100>>
+				$activeSlave.slaveName's dress is slightly rounded by $his belly.
+			<<elseif $activeSlave.muscles > 30>>
+				The fabric of $activeSlave.slaveName's dress is thick enough to cover the contours of $his abdominal muscles.
+			<</if>>
 		<<case "a string bikini">>
 			<<if $activeSlave.belly >= 1000000>>
 				//WIP//
@@ -14797,11 +14941,11 @@ $He has
 			<<elseif $activeSlave.weight > 130>>
 				$activeSlave.slaveName's tank top rests atop $his big fat belly, casting doubt on how this recruit passed basic.
 			<<elseif $activeSlave.bellyPreg >= 5000 || ($activeSlave.bellyAccessory == "a medium empathy belly")>>
-				$activeSlave.slaveName's tank top rides up $his pregnant belly leaving $him looking like someone who had too much fun on shore-leave.
+				$activeSlave.slaveName's tank top rides up $his pregnant belly leaving $him looking like someone who had too much fun on shore leave.
 			<<elseif $activeSlave.weight > 95>>
 				$activeSlave.slaveName's tank top rests atop $his fat belly, leaving everyone wondering how this recruit passed basic.
 			<<elseif (($activeSlave.bellyPreg >= 1500) || ($activeSlave.bellyAccessory == "a small empathy belly"))>>
-				$activeSlave.slaveName's tank top covers the top of $his growing belly leaving $him looking like someone who had too much fun on shore-leave.
+				$activeSlave.slaveName's tank top covers the top of $his growing belly leaving $him looking like someone who had too much fun on shore leave.
 			<<elseif $activeSlave.weight > 30>>
 				$activeSlave.slaveName's tank top covers the top of $his chubby belly leaving $him looking like someone who had has been lazy lately.
 			<</if>>
@@ -16422,7 +16566,7 @@ $He has
 	a hot @@.pink;wasp waist@@ that gives $him an hourglass figure<<if $activeSlave.weight > 30>> despite $his extra weight<<elseif $activeSlave.weight < -30>> further accentuated by how thin $he is<</if>>.
 	<<if $activeSlave.belly >= 1500>>
 		<<if $activeSlave.belly >= 750000>>
-			$His _belly belly grotesquely bulges around $his narrow waist and continues <<if $activeSlave.belly >= 1000000>>quite the distance<<else>>over half a meter<</if>> farther to either side.
+			$His _belly belly grotesquely bulges around $his narrow waist and continues <<if $activeSlave.belly >= 1000000>>quite the distance<<else>>over half a <<if $showInches == 2>>yard<<else>>meter<</if>><</if>> farther to either side.
 			<<if $activeSlave.preg > 3>>
 				<<if $activeSlave.belly > ($activeSlave.pregAdaptation*1000)>>
 					$His waist is horribly distended by $his bursting womb in a last ditch effort to find more room for $his children, leaving $his original waistline barely visible from behind.
@@ -16448,7 +16592,7 @@ $He has
 				<</if>>
 			<</if>>
 		<<elseif $activeSlave.belly < 750000>>
-			$His _belly belly lewdly bulges to either side of $his narrow waist and continues for nearly half a meter in both directions.
+			$His _belly belly lewdly bulges to either side of $his narrow waist and continues for nearly half a <<if $showInches == 2>>yard<<else>>meter<</if>> in both directions.
 			<<if $activeSlave.preg > 3>>
 				<<if $activeSlave.belly > ($activeSlave.pregAdaptation*1000)>>
 					$His waist is greatly distended by $his overfilled womb in its desperate search for more room, leaving $his original waistline barely visible from behind.
@@ -16462,7 +16606,7 @@ $He has
 	an @@.pink;absurdly narrow waist@@ that gives $him a cartoonishly hourglass figure<<if $activeSlave.weight > 30>> made even more ludicrous by $his extra weight<<elseif $activeSlave.weight < -30>> made even more ludicrous by how thin $he is<</if>>.
 	<<if $activeSlave.belly >= 1500>>
 		<<if $activeSlave.belly >= 750000>>
-			$His _belly belly grotesquely bulges around $his narrow waist and continues <<if $activeSlave.belly >= 1000000>>quite the distance<<else>>over half a meter<</if>> farther to either side.
+			$His _belly belly grotesquely bulges around $his narrow waist and continues <<if $activeSlave.belly >= 1000000>>quite the distance<<else>>over half a <<if $showInches == 2>>yard<<else>>meter<</if>><</if>> farther to either side.
 			<<if $activeSlave.preg > 3>>
 				<<if $activeSlave.belly > ($activeSlave.pregAdaptation*1000)>>
 					$His waist is horribly distended by $his bursting womb in a last ditch effort to find more room for $his children, leaving $his original waistline barely visible from behind.
@@ -16490,7 +16634,7 @@ $He has
 				<</if>>
 			<</if>>
 		<<elseif $activeSlave.belly < 750000>>
-			$His _belly belly lewdly bulges to either side of $his narrow waist and continues for nearly half a meter in both directions.
+			$His _belly belly lewdly bulges to either side of $his narrow waist and continues for nearly half a <<if $showInches == 2>>yard<<else>>meter<</if>> in both directions.
 			<<if $activeSlave.preg > 3>>
 				<<if $activeSlave.belly > ($activeSlave.pregAdaptation*1000)>>
 					$His waist is greatly distended by $his overfilled womb in its desperate search for more room, leaving $his original waistline barely visible from behind.
@@ -17509,6 +17653,8 @@ $He has
 				$activeSlave.slaveName's tank-top lies completely taut on $his titanic implant-filled belly.
 			<<case "a button-up shirt and panties" "a button-up shirt" "a t-shirt" "a t-shirt and thong" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "sport shorts and a t-shirt" "a t-shirt and jeans" "a t-shirt and panties">>
 				$activeSlave.slaveName's shirt lies completely taut on $his titanic implant-filled belly.
+			<<case "a Santa dress">>
+				The bottom of $activeSlave.slaveName's titanic implant-filled belly is stretching $his dress's belt to its breaking point.
 			<<case "a burkini">>
 				The bottom of $activeSlave.slaveName's burkini's tunic lies at crotch-level due to $his titanic implant-filled belly.
 			<<case "a hijab and blouse">>
@@ -17721,6 +17867,8 @@ $He has
 				$activeSlave.slaveName's tank-top lies completely taut on $his huge implant-filled belly.
 			<<case "a button-up shirt and panties" "a button-up shirt" "a t-shirt" "a t-shirt and thong" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "sport shorts and a t-shirt" "a t-shirt and jeans" "a t-shirt and panties">>
 				$activeSlave.slaveName's shirt lies completely taut on $his huge implant-filled belly.
+			<<case "a Santa dress">>
+				$activeSlave.slaveName's leather belt can only just barely fit around $his huge implant-filled belly.
 			<<case "a burkini">>
 				The fabric of $activeSlave.slaveName's burkini is pushed up to just below $his crotch due to $his huge implant-filled belly.
 			<<case "a hijab and blouse">>
@@ -17932,6 +18080,8 @@ $He has
 				$activeSlave.slaveName's tank-top is noticeably rounded out by $his huge implant-filled belly.
 			<<case "a button-up shirt and panties" "a button-up shirt" "a t-shirt" "a t-shirt and thong" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "sport shorts and a t-shirt" "a t-shirt and jeans" "a t-shirt and panties">>
 				$activeSlave.slaveName's shirt is noticeably rounded out by $his huge implant-filled belly.
+			<<case "a Santa dress">>
+				$activeSlave.slaveName's belt is struggling to fully encircle $$his huge implant-filled belly.
 			<<case "a burkini">>
 				The fabric of $activeSlave.slaveName's burkini is slightly pushed up thanks to $his huge implant-filled belly.
 			<<case "a hijab and blouse">>
@@ -18144,12 +18294,14 @@ $He has
 				There is a slight roundness to the middle of $activeSlave.slaveName's tank-top, thanks to $his implant-filled belly.
 			<<case "a button-up shirt and panties" "a button-up shirt" "a t-shirt" "a t-shirt and thong" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "sport shorts and a t-shirt" "a t-shirt and jeans" "a t-shirt and panties">>
 				There is a slight roundness to the middle of $activeSlave.slaveName's shirt, thanks to $his implant-filled belly.
+			<<case "a Santa dress">>
+				The belt on $activeSlave.slaveName's dress has been loosened to accommodate the significant bulge of $his implant-filled belly.
 			<<case "a burkini">>
 				$activeSlave.slaveName's burkini bulges significantly from $his implant-filled belly.
 			<<case "a hijab and blouse">>
 				$activeSlave.slaveName's skirt is slightly pushed down by $his implant-filled belly.
 			<<case "battledress">>
-				$activeSlave.slaveName's tank top rides up $his implant-filled belly leaving $him looking like someone who had too much fun on shore-leave.
+				$activeSlave.slaveName's tank top rides up $his implant-filled belly leaving $him looking like someone who had too much fun on shore leave.
 			<<case "a halter top dress">>
 				$activeSlave.slaveName's beautiful halter top dress is filled by $his implant-filled belly. $His popped navel prominently pokes through the front of $his dress.
 			<<case "a ball gown">>
@@ -18341,7 +18493,7 @@ $He has
 			<<case "a burqa">>
 				$activeSlave.slaveName's fat belly just manages to brush up against $his burqa.
 			<<case "a nice pony outfit" "a slutty pony outfit">>
-				$activeSlave.slaveName's fat belly molds itself against $his pony oufit.
+				$activeSlave.slaveName's fat belly molds itself against $his pony outfit.
 			<<case "a tube top and thong" "a bra" "a thong" "a tube top" "a striped bra" "striped underwear" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "boyshorts" "cutoffs" "leather pants and pasties" "leather pants" "panties" "panties and pasties" "sport shorts and a sports bra" "jeans" "leather pants and a tube top" "sport shorts">>
 				$activeSlave.slaveName's outfit completely bares $his fat belly.
 			<<case "a one-piece swimsuit">>
@@ -18358,6 +18510,8 @@ $He has
 				$activeSlave.slaveName's fat belly just manages to brush up against $his tank-top.
 			<<case "a button-up shirt and panties" "a button-up shirt" "a t-shirt" "a t-shirt and thong" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "sport shorts and a t-shirt" "a t-shirt and jeans" "a t-shirt and panties">>
 				$activeSlave.slaveName's fat belly just manages to brush up against $his shirt.
+			<<case "a Santa dress">>
+				$activeSlave.slaveName's fat belly bulges around the belt around $his waist.
 			<<case "a burkini">>
 				$activeSlave.slaveName's burkini bulges from $his fat belly.
 			<<case "a hijab and blouse">>
@@ -18570,12 +18724,14 @@ $He has
 				$activeSlave.slaveName's tank-top gently bulges from $his <<print $activeSlave.inflationType>>-swollen belly.
 			<<case "a button-up shirt and panties" "a button-up shirt" "a t-shirt" "a t-shirt and thong" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "sport shorts and a t-shirt" "a t-shirt and jeans" "a t-shirt and panties">>
 				$activeSlave.slaveName's shirt covers most of $his <<print $activeSlave.inflationType>>-swollen belly.
+			<<case "a Santa dress">>
+				The belt of $activeSlave.slaveName's dress lies atop the gentle bulge of $his implant-rounded belly.
 			<<case "a burkini">>
-				$activeSlave.slaveName's burkini gently bulges from $his <<print $activeSlave.inflationType>>-swollen belly.
+				$activeSlave.slaveName's burkini gently bulges from $his implant-rounded belly.
 			<<case "a hijab and blouse">>
 				$activeSlave.slaveName's blouse and skirt bulge from $his implant-rounded belly.
 			<<case "battledress">>
-				$activeSlave.slaveName's tank top covers the top of $his implant-rounded belly leaving $him looking like someone who had too much fun on shore-leave.
+				$activeSlave.slaveName's tank top covers the top of $his implant-rounded belly leaving $him looking like someone who had too much fun on shore leave.
 			<<case "a halter top dress">>
 				$activeSlave.slaveName's beautiful halter top dress bulges with $his implant-rounded belly.
 			<<case "a ball gown">>
@@ -19028,6 +19184,8 @@ $He has
 				$activeSlave.slaveName's tank-top is noticeably rounded out by $his hugely swollen belly.
 			<<case "a button-up shirt and panties" "a button-up shirt" "a t-shirt" "a t-shirt and thong" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "sport shorts and a t-shirt" "a t-shirt and jeans" "a t-shirt and panties">>
 				$activeSlave.slaveName's shirt is noticeably rounded out by $his hugely swollen belly.
+			<<case "a Santa dress">>
+				$activeSlave.slaveName's belt is struggling to fully encircle $$his hugely <<print $activeSlave.inflationType>>-swollen belly.
 			<<case "a burkini">>
 				The fabric of $activeSlave.slaveName's burkini is slightly pushed up thanks to $his hugely <<print $activeSlave.inflationType>>-swollen belly.
 			<<case "a hijab and blouse">>
@@ -19235,12 +19393,14 @@ $He has
 				There is a slight roundness to the middle of $activeSlave.slaveName's tank-top, thanks to $his jiggling <<print $activeSlave.inflationType>>-filled belly.
 			<<case "a button-up shirt and panties" "a button-up shirt" "a t-shirt" "a t-shirt and thong" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "sport shorts and a t-shirt" "a t-shirt and jeans" "a t-shirt and panties">>
 				There is a slight roundness to the middle of $activeSlave.slaveName's shirt, thanks to $his jiggling <<print $activeSlave.inflationType>>-filled belly.
+			<<case "a Santa dress">>
+				The belt on $activeSlave.slaveName's dress has been loosened to accommodate the significant bulge of $his jiggling <<print $activeSlave.inflationType>>-filled belly.
 			<<case "a burkini">>
 				$activeSlave.slaveName's burkini bulges significantly from $his jiggling <<print $activeSlave.inflationType>>-filled belly.
 			<<case "a hijab and blouse">>
 				$activeSlave.slaveName's skirt is slightly pushed down by $his jiggling <<print $activeSlave.inflationType>>-filled belly.
 			<<case "battledress">>
-				$activeSlave.slaveName's tank top rides up $his jiggling <<print $activeSlave.inflationType>>-filled belly leaving $him looking like someone who had too much fun on shore-leave.
+				$activeSlave.slaveName's tank top rides up $his jiggling <<print $activeSlave.inflationType>>-filled belly leaving $him looking like someone who had too much fun on shore leave.
 			<<case "a halter top dress">>
 				$activeSlave.slaveName's beautiful halter top dress is filled by $his jiggling <<print $activeSlave.inflationType>>-filled belly. $His popped navel prominently pokes through the front of $his dress.
 			<<case "a ball gown">>
@@ -19427,7 +19587,7 @@ $He has
 			<<case "a burqa">>
 				$activeSlave.slaveName's fat belly just manages to brush up against $his burqa.
 			<<case "a nice pony outfit" "a slutty pony outfit">>
-				$activeSlave.slaveName's fat belly molds itself against $his pony oufit.
+				$activeSlave.slaveName's fat belly molds itself against $his pony outfit.
 			<<case "a tube top and thong" "a bra" "a thong" "a tube top" "a striped bra" "striped underwear" "a skimpy loincloth" "a slutty klan robe" "a sports bra" "boyshorts" "cutoffs" "leather pants and pasties" "leather pants" "panties" "panties and pasties" "sport shorts and a sports bra" "jeans" "leather pants and a tube top" "sport shorts">>
 				$activeSlave.slaveName's outfit completely bares $his fat belly.
 			<<case "a one-piece swimsuit">>
@@ -19444,6 +19604,8 @@ $He has
 				$activeSlave.slaveName's fat belly just manages to brush up against $his tank-top.
 			<<case "a button-up shirt and panties" "a button-up shirt" "a t-shirt" "a t-shirt and thong" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "sport shorts and a t-shirt" "a t-shirt and jeans" "a t-shirt and panties">>
 				$activeSlave.slaveName's fat belly just manages to brush up against $his shirt.
+			<<case "a Santa dress">>
+				$activeSlave.slaveName's fat belly bulges around the belt around $his waist.
 			<<case "a burkini">>
 				$activeSlave.slaveName's burkini bulges from $his fat belly.
 			<<case "a hijab and blouse">>
@@ -19654,12 +19816,14 @@ $He has
 				$activeSlave.slaveName's tank-top bulges from $his <<print $activeSlave.inflationType>>-swollen belly.
 			<<case "a button-up shirt and panties" "a button-up shirt" "a t-shirt" "a t-shirt and thong" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "sport shorts and a t-shirt" "a t-shirt and jeans" "a t-shirt and panties">>
 				$activeSlave.slaveName's shirt covers most of $his <<print $activeSlave.inflationType>>-swollen belly.
+			<<case "a Santa dress">>
+				The belt of $activeSlave.slaveName's dress lies atop the gentle bulge of $his <<print $activeSlave.inflationType>>-swollen belly.
 			<<case "a burkini">>
 				$activeSlave.slaveName's burkini bulges from $his <<print $activeSlave.inflationType>>-swollen belly.
 			<<case "a hijab and blouse">>
 				$activeSlave.slaveName's blouse and skirt bulge from $his <<print $activeSlave.inflationType>>-swollen belly.
 			<<case "battledress">>
-				$activeSlave.slaveName's tank top covers the top of $his <<print $activeSlave.inflationType>>-swollen belly leaving $him looking like someone who had too much fun on shore-leave.
+				$activeSlave.slaveName's tank top covers the top of $his <<print $activeSlave.inflationType>>-swollen belly leaving $him looking like someone who had too much fun on shore leave.
 			<<case "a halter top dress">>
 				$activeSlave.slaveName's beautiful halter top dress bulges with $his <<print $activeSlave.inflationType>>-swollen belly.
 			<<case "a ball gown">>
diff --git a/src/utility/descriptionWidgetsPiercings.tw b/src/utility/descriptionWidgetsPiercings.tw
index c1f22e869514db17e941a6ad3015db979849651c..e8ce37f9618135373e0d30a7215618e2dfa6aec5 100644
--- a/src/utility/descriptionWidgetsPiercings.tw
+++ b/src/utility/descriptionWidgetsPiercings.tw
@@ -47,6 +47,8 @@
 				$He's wearing girlish earrings.
 			<<case "a burkini" "a monokini">>
 				$He's wearing unobtrusive little stud earrings.
+			<<case "a Santa dress">>
+				$His earrings resemble little green pine trees.
 			<<case "a mini dress" "an apron" "a hanbok">>
 				$He's wearing shiny pearl earrings.
 			<<case "a hijab and blouse" "conservative clothing">>
@@ -465,7 +467,7 @@ $He has a corset piercing, a ladder of steel rings running up each side of $his
 <<case "a penitent nuns habit">>
 	$his habit hides them completely, but they're laced tightly, so $he's aware they're there.
 
-<<case "a gothic lolita dress" "a hanbok">>
+<<case "a gothic lolita dress" "a hanbok" "a Santa dress">>
 	$his dress hides them completely, but they're laced tightly, so $he's aware they're there.
 
 <<case "a burkini" "a one-piece swimsuit">>
diff --git a/src/utility/descriptionWidgetsStyle.tw b/src/utility/descriptionWidgetsStyle.tw
index c2eb5109b70589ca12a9fd9807d21a631fd78e86..b8c90b4416f0cd9c5b6e477d6e59e13e81683fbd 100644
--- a/src/utility/descriptionWidgetsStyle.tw
+++ b/src/utility/descriptionWidgetsStyle.tw
@@ -587,6 +587,15 @@ $activeSlave.slaveName is
 		<<footwearDescription>>
 	<</if>>
 
+<<case "a klan robe">>
+	which fully covers $his entire
+	<<if ($activeSlave.amp == 1)>>
+		body.
+	<<else>>
+		body, down to $his feet, which
+		<<footwearDescription>>
+	<</if>>
+
 <<case "a burqa">>
 	which restrictingly covers $his entire
 	<<if ($activeSlave.amp == 1)>>
@@ -861,6 +870,15 @@ $activeSlave.slaveName is
 
 	<<chastityPiercingDescription>>
 
+<<case "a Santa dress">>
+	made of red felt with white fur
+	<<if ($activeSlave.amp == 1)>>
+		trim and a leather belt.
+	<<else>>
+		trim, a leather belt, and
+		<<footwearDescription>>
+	<</if>>
+
 <<default>>
 	so $his nude body is on display.
 	<<if ($activeSlave.amp == 1)>>
@@ -1089,6 +1107,8 @@ $His
 			is topped by a traditional white nurse's headband, complete with red cross.
 		<<case "Western clothing">>
 			cascades out from under a cowboy hat.
+		<<case "a Santa dress">>
+			cascades out from under a festive hat.
 		<<case "a string bikini" "attractive lingerie" "attractive lingerie for a pregnant woman">>
 			flows back in a mane, with a flower tucked behind one ear:
 			<<FlowerDesc>>
@@ -1149,6 +1169,8 @@ $His
 			is topped by a traditional white nurse's headband, complete with red cross.
 		<<case "Western clothing">>
 			flows out from under a cowboy hat.
+		<<case "a Santa dress">>
+			flows out from under a festive hat.
 		<<case "a string bikini" "attractive lingerie" "attractive lingerie for a pregnant woman">>
 			is tucked back by a flower, tucked behind one ear:
 			<<FlowerDesc>>
@@ -1209,6 +1231,8 @@ $His
 			is topped by a traditional white nurse's headband, complete with red cross.
 		<<case "Western clothing">>
 			is topped by a cowboy hat.
+		<<case "a Santa dress">>
+			is topped by a festive hat.
 		<<case "a string bikini" "attractive lingerie" "attractive lingerie for a pregnant woman">>
 			bears a flower tucked behind one ear:
 			<<FlowerDesc>>
@@ -1263,6 +1287,8 @@ $His
 			is hidden by a traditional white nurse's headband, complete with red cross.
 		<<case "Western clothing">>
 			is hidden by a cowboy hat.
+		<<case "a Santa dress">>
+			is hidden by a festive hat.
 		<<case "a string bikini" "attractive lingerie" "attractive lingerie for a pregnant woman" "long qipao" "a dirndl" "lederhosen" "a biyelgee costume" "striped panties">>
 			is short, and $he has a flower tucked behind one ear:
 			<<FlowerDesc>>
@@ -1327,6 +1353,8 @@ $His
 			is back in a huge bun and topped by a traditional white nurse's headband, complete with red cross.
 		<<case "Western clothing">>
 			is back in a bun so huge it pushes $his cowboy hat forward at a rakish angle.
+		<<case "a Santa dress">>
+			is back in a bun so huge it pushes $his festive hat forward at a rakish angle.
 		<<case "kitty lingerie">>
 			is back in an enormous bun, and topped by a cat ear headband.
 		<<default>>
@@ -1386,6 +1414,8 @@ $His
 			is back in a bun and topped by a traditional white nurse's headband, complete with red cross.
 		<<case "Western clothing">>
 			is back in a high bun that pushes $his cowboy hat forward at a rakish angle.
+		<<case "a Santa dress">>
+			is back in a high bun that pushes $his festive hat forward at a rakish angle.
 		<<case "kitty lingerie">>
 			is back in a big bun, and topped by a cat ear headband.
 		<<default>>
@@ -1445,6 +1475,8 @@ $His
 			is back in a tight little bun and topped by a traditional white nurse's headband, complete with red cross.
 		<<case "Western clothing">>
 			is back in a tight little bun that pushes $his cowboy hat forward at a rakish angle.
+		<<case "a Santa dress">>
+			is back in a tight little bun that pushes $his festive hat forward at a rakish angle.
 		<<case "kitty lingerie">>
 			is back in a tight little bun, and topped by a cat ear headband.
 		<<default>>
@@ -1495,6 +1527,8 @@ $His
 			is bound by latex hair cuffs into long matching pigtails.
 		<<case "Western clothing">>
 			is back in huge tails that emerge from under $his cowboy hat.
+		<<case "a Santa dress">>
+			is back in huge tails that emerge from under $his festive hat.
 		<<case "body oil">>
 			is permed, and back in big poofy tails secured by scrunchies in noxious 80's pastel colors.
 		<<case "a slutty qipao">>
@@ -1536,7 +1570,7 @@ $His
 			is gathered into secure tails and doubled up so $he can do business without them getting in the way.
 		<<case "a slutty nurse outfit" "a nice nurse outfit">>
 			is gathered into floor-length tails by white cloth ties emblazoned with little red crosses.
-		<<case "a burkini" "a burqa" "a hijab and blouse" "a hijab and abaya" "a niqab and abaya" "a klan robe" "a slutty klan robe">>
+		<<case "a burkini" "a burqa" "a hijab and abaya" "a hijab and blouse" "a niqab and abaya" "a klan robe" "a slutty klan robe">>
 			is in long tails, but they're hidden by $his modest garb.
 		<<case "a police uniform">>
 			is in long tails and kept out of $his face by a couple of sturdy hairpins.
@@ -1571,6 +1605,8 @@ $His
 			is bound by latex hair cuffs into matching pigtails.
 		<<case "Western clothing">>
 			is back in long tails that emerge from under $his cowboy hat.
+		<<case "a Santa dress">>
+			is back in long tails that emerge from under $his festive hat.
 		<<case "body oil">>
 			is permed, and back in big poofy tails secured by scrunchies in noxious 80's pastel colors.
 		<<case "a slutty qipao">>
@@ -1647,6 +1683,8 @@ $His
 			is bound by latex hair cuffs into short matching pigtails.
 		<<case "Western clothing">>
 			is back in short braids that emerge from under $his cowboy hat.
+		<<case "a Santa dress">>
+			is back in short braids that emerge from under $his festive hat.
 		<<case "body oil">>
 			is permed, and back in poofy tails secured by scrunchies in noxious 80's pastel colors.
 		<<case "a slutty qipao">>
@@ -1754,6 +1792,8 @@ $His
 			is threaded through a thick latex sleeve into a peaked ponytail resembling a long flogger.
 		<<case "Western clothing">>
 			is back in a huge ponytail emerging from the back of $his cowboy hat.
+		<<case "a Santa dress">>
+			is back in a huge ponytail emerging from the back of $his festive hat.
 		<<case "body oil">>
 			is back in a big, long ponytail, tied with a scrunchy in noxious 80's pastel colors.
 		<<case "a slutty qipao">>
@@ -1830,6 +1870,8 @@ $His
 			is threaded through a thick latex sleeve into a peaked ponytail resembling a flogger.
 		<<case "Western clothing">>
 			is tied back in a long ponytail that emerges from the back of $his cowboy hat.
+		<<case "a Santa dress">>
+			is tied back in a long ponytail that emerges from the back of $his festive hat.
 		<<case "body oil">>
 			is permed, and back in a big, long ponytail tied with a scrunchy in noxious 80's pastel colors.
 		<<case "a slutty qipao">>
@@ -1906,6 +1948,8 @@ $His
 			is bound by a latex hair cuff into a short and severe ponytail.
 		<<case "Western clothing">>
 			is back in a short braid that emerges from under $his cowboy hat.
+		<<case "a Santa dress">>
+			is back in a short braid that emerges from under $his festive hat.
 		<<case "body oil">>
 			is permed, and back in a big, long ponytail tied with a scrunchy in noxious 80's pastel colors.
 		<<case "a slutty qipao">>
@@ -1993,6 +2037,8 @@ $His
 			is back in braids secured by steel rings.
 		<<case "Western clothing">>
 			is back in huge braids that emerge from under $his cowboy hat.
+		<<case "a Santa dress">>
+			is back in huge braids that emerge from under $his festive hat.
 		<<case "body oil">>
 			is permed, and back in big poofy braids secured by scrunchies in noxious 80's pastel colors.
 		<<case "a slutty qipao">>
@@ -2065,6 +2111,8 @@ $His
 			is back in braids secured by steel rings.
 		<<case "Western clothing">>
 			is back in long braids that emerge from under $his cowboy hat.
+		<<case "a Santa dress">>
+			is back in long braids that emerge from under $his festive hat.
 		<<case "body oil">>
 			is permed, and back in big, long braids secured by scrunchies in noxious 80's pastel colors.
 		<<case "a slutty qipao">>
@@ -2137,6 +2185,8 @@ $His
 			is back in short braids secured by steel rings.
 		<<case "Western clothing">>
 			is back in short braids that emerge from under $his cowboy hat.
+		<<case "a Santa dress">>
+			is back in short braids that emerge from under $his festive hat.
 		<<case "body oil">>
 			is permed, and back in short braids secured by scrunchies in noxious 80's pastel colors.
 		<<case "a slutty qipao">>
@@ -2222,6 +2272,8 @@ $His
 			is in long dreadlocks, connected to $his chains at the ends by steel rings.
 		<<case "Western clothing">>
 			is long dreadlocks that emerge from under $his cowboy hat.
+		<<case "a Santa dress">>
+			is long dreadlocks that emerge from under $his festive hat.
 		<<case "body oil">>
 			is in dreadlocks, some tied with bands of colored string.
 		<<case "a slutty qipao">>
@@ -2294,6 +2346,8 @@ $His
 			is in dreadlocks, attached to $his chains at the ends by steel rings.
 		<<case "Western clothing">>
 			is back in dreadlocks that emerge from under $his cowboy hat.
+		<<case "a Santa dress">>
+			is back in dreadlocks that emerge from under $his festive hat.
 		<<case "body oil">>
 			is in dreadlocks, some tied with bands of colored string.
 		<<case "a slutty qipao">>
@@ -2370,6 +2424,8 @@ $His
 			is in short dreadlocks, some with steel rings.
 		<<case "Western clothing">>
 			is in short dreadlocks that emerge from under $his cowboy hat.
+		<<case "a Santa dress">>
+			is in short dreadlocks that emerge from under $his festive hat.
 		<<case "body oil">>
 			is in short dreadlocks, some tied with colored string.
 		<<case "a slutty qipao">>
@@ -2455,6 +2511,8 @@ $His
 			is curled into long flowing locks secured by steel rings.
 		<<case "Western clothing">>
 			is curled into long flowing locks that emerge from under $his cowboy hat.
+		<<case "a Santa dress">>
+			is curled into long flowing locks that emerge from under $his festive hat.
 		<<case "body oil">>
 			is curled into long flowing locks, tied with a scrunchy in noxious 80's pastel colors.
 		<<case "a slutty qipao">>
@@ -2527,6 +2585,8 @@ $His
 			is curled into long locks, secured by steel rings.
 		<<case "Western clothing">>
 			is curled into long locks that emerge from under $his cowboy hat.
+		<<case "a Santa dress">>
+			is curled into long locks that emerge from under $his festive hat.
 		<<case "body oil">>
 			is curled into long locks, tied with a scrunchy in noxious 80's pastel colors.
 		<<case "a slutty qipao">>
@@ -2599,6 +2659,8 @@ $His
 			is curled into short locks secured by steel rings.
 		<<case "Western clothing">>
 			is curled into short locks that emerge from under $his cowboy hat.
+		<<case "a Santa dress">>
+			is curled into short locks that emerge from under $his festive hat.
 		<<case "body oil">>
 			is curled into short locks tied with a scrunchy in noxious 80's pastel colors.
 		<<case "a slutty qipao">>
@@ -2684,6 +2746,8 @@ $His
 			is permed into long flowing curls secured by steel rings.
 		<<case "Western clothing">>
 			is permed into long flowing curls that emerge from under $his cowboy hat.
+		<<case "a Santa dress">>
+			is permed into long flowing curls that emerge from under $his festive hat.
 		<<case "body oil">>
 			is permed into long flowing curls, tied with a scrunchy in noxious 80's pastel colors.
 		<<case "a slutty qipao">>
@@ -2756,6 +2820,8 @@ $His
 			is permed into long locks, secured by steel rings.
 		<<case "Western clothing">>
 			is permed into long locks that emerge from under $his cowboy hat.
+		<<case "a Santa dress">>
+			is permed into long locks that emerge from under $his festive hat.
 		<<case "body oil">>
 			is permed and tied with a scrunchy in noxious 80's pastel colors.
 		<<case "a slutty qipao">>
@@ -2828,6 +2894,8 @@ $His
 			is permed into short waves secured by steel rings.
 		<<case "Western clothing">>
 			is permed into short waves that emerge from under $his cowboy hat.
+		<<case "a Santa dress">>
+			is permed into short waves that emerge from under $his festive hat.
 		<<case "body oil">>
 			is permed into short waves tied with a scrunchy in noxious 80's pastel colors.
 		<<case "a slutty qipao">>
@@ -2955,6 +3023,8 @@ $His
 			is in luxurious layered locks topped by a traditional white nurse's headband, complete with red cross.
 		<<case "Western clothing">>
 			cascades out from under a cowboy hat in luxurious layered locks.
+		<<case "a Santa dress">>
+			cascades out from under a festive hat in luxurious layered locks.
 		<<case "a string bikini" "attractive lingerie" "attractive lingerie for a pregnant woman">>
 			is in luxurious layered locks, with a flower tucked behind one ear:
 			<<FlowerDesc>>
@@ -3013,6 +3083,8 @@ $His
 			is in luxurious layered locks topped by a traditional white nurse's headband, complete with red cross.
 		<<case "Western clothing">>
 			is in luxurious layered locks flowing out from under a cowboy hat.
+		<<case "a Santa dress">>
+			is in luxurious layered locks flowing out from under a festive hat.
 		<<case "a string bikini" "attractive lingerie" "attractive lingerie for a pregnant woman">>
 			is in luxurious layered locks held back by a flower, tucked behind one ear:
 			<<FlowerDesc>>
@@ -3071,6 +3143,8 @@ $His
 			is in luxuriously styled short locks topped by a traditional white nurse's headband, complete with red cross.
 		<<case "Western clothing">>
 			is in luxuriously styled short locks topped by a cowboy hat.
+		<<case "a Santa dress">>
+			is in luxuriously styled short locks topped by a festive hat.
 		<<case "a string bikini" "attractive lingerie" "attractive lingerie for a pregnant woman">>
 			is in luxuriously styled short locks, bearing a flower tucked behind one ear:
 			<<FlowerDesc>>
@@ -3113,6 +3187,8 @@ $His
 			is in luxuriously styled short locks secured by a traditional white nurse's headband, complete with red cross.
 		<<case "Western clothing">>
 			is in luxuriously styled short locks under $his cowboy hat.
+		<<case "a Santa dress">>
+			is in luxuriously styled short locks under $his festive hat.
 		<<case "a string bikini" "attractive lingerie" "attractive lingerie for a pregnant woman">>
 			is in luxuriously styled short locks, and $he has a flower tucked behind one ear:
 			<<FlowerDesc>>
@@ -3131,6 +3207,8 @@ $His
 			is shaved into a strip that runs down $his back and ends attached to a steel ring.
 		<<case "Western clothing">>
 			is shaved into a strip under $his cowboy hat, and cascades magnificently down $his back.
+		<<case "a Santa dress">>
+			is shaved into a strip under $his festive hat, and cascades magnificently down $his back.
 		<<case "body oil" "a huipil">>
 			is shaved into a permed strip which cascades magnificently down $his back.
 		<<case "a kimono">>
@@ -3182,6 +3260,8 @@ $His
 			is shaved into a long braided strip that ends attached to a steel ring.
 		<<case "Western clothing">>
 			is shaved into a strip under $his cowboy hat, but is visible as a party in the back.
+		<<case "a Santa dress">>
+			is shaved into a strip under $his festive hat, but is visible as a party in the back.
 		<<case "body oil" "a huipil">>
 			is shaved into a permed strip which falls down $his back.
 		<<case "a kimono" "long qipao">>
@@ -3233,6 +3313,8 @@ $His
 			is shaved into a strip down the middle of $his head that ends attached to a steel ring.
 		<<case "Western clothing">>
 			is shaved into a strip under $his cowboy hat, with nothing but a little rat tail visible in back.
+		<<case "a Santa dress">>
+			is shaved into a strip under $his festive hat, with nothing but a little rat tail visible in back.
 		<<case "body oil" "a huipil">>
 			is shaved into a permed strip.
 		<<case "a kimono" "a long qipao">>
@@ -3404,11 +3486,13 @@ $His
 			<<case "a burqa" "a niqab and abaya" "a penitent nuns habit" "a klan robe" "a slutty klan robe">>
 				cheap glasses,
 			<<case "a gothic lolita dress">>
-				victorian-styled glasses,
+				Victorian-styled glasses,
 			<<case "a hanbok">>
 				folding spectacle glasses,
 			<<case "a police uniform">>
 				aviator sunglasses,
+			<<case "a Santa dress">>
+				antique reading glasses,
 			<<case "a bunny outfit" "a monokini">>
 				girly retro glasses,
 			<<case "a hijab and abaya" "a huipil" "a kimono" "a long qipao" "a nice maid outfit" "a slutty qipao" "a slutty maid outfit">>
@@ -4288,6 +4372,22 @@ $His
 		all the way down to $his feet.
 	<</switch>>
 
+<<case "a Santa dress">>
+	<<switch $activeSlave.shoes>>
+	<<case "flats">>
+		a pair of black slippers.
+	<<case "boots">>
+		a pair of long black boots.
+	<<case "heels">>
+		a pair of black high heels.
+	<<case "pumps">>
+		a pair of black pumps.
+	<<case "extreme heels">>
+		a pair of dangerously tall black high heels.
+	<<default>>
+		nothing on $his feet.
+	<</switch>>
+
 <<case "a cybersuit">>
 	<<switch $activeSlave.shoes>>
 	<<case "flats">>
@@ -5082,7 +5182,7 @@ $His
 		$His support band can be seen under $his blouse.
 	<</if>>
 
-<<case "a kimono">>
+<<case "a hanbok" "a kimono">>
 	<<if $activeSlave.bellyAccessory == "a corset">>
 		The handsome silk completely conceals $his corset.
 	<<elseif $activeSlave.bellyAccessory == "an extreme corset">>
@@ -5091,7 +5191,7 @@ $His
 		The handsome silk completely conceals $his support band.
 	<</if>>
 
-<<case "a burqa" "a hijab and abaya" "a niqab and abaya" "a klan robe" "a hanbok" "a gothic lolita dress">>
+<<case "a burqa" "a hijab and abaya" "a niqab and abaya" "a klan robe">>
 	<<if $activeSlave.bellyAccessory == "a corset">>
 		$His corset is properly hidden along with everything else.
 	<<elseif $activeSlave.bellyAccessory == "an extreme corset">>
@@ -5100,6 +5200,15 @@ $His
 		$His support band is properly hidden along with everything else.
 	<</if>>
 
+<<case "a gothic lolita dress" "a Santa dress">>
+	<<if $activeSlave.bellyAccessory == "a corset">>
+		The thick fabric of $his dress conceals $his corset.
+	<<elseif $activeSlave.bellyAccessory == "an extreme corset">>
+		The thick fabric of $his dress conceals $his extreme corset.
+	<<elseif $activeSlave.bellyAccessory == "a support band">>
+		The thick fabric of $his dress conceals $his support band.
+	<</if>>
+
 <<case "a military uniform" "a mounty outfit" "a red army uniform" "a schutzstaffel uniform" "a slutty schutzstaffel uniform" "a police uniform">>
 	<<if $activeSlave.bellyAccessory == "a corset">>
 		$His tunic conceals $his corset.
@@ -5586,7 +5695,7 @@ $His
 			$his anus.
 		<</if>>
 	<<case "a klan robe" "a slutty klan robe">>
-		The robe may be modest, but it's also loose and easy to lift, allowing access to
+		The robe fully covers $his body, but it's also loose and easy to lift, allowing access to
 		<<if ($activeSlave.chastityAnus)>>
 			$his anal chastity accessory.
 		<<else>>
@@ -5610,6 +5719,13 @@ $His
 		<<else>>
 			is made to be easily liftable for access to $his anus.
 		<</if>>
+	<<case "a nice maid outfit">>
+		As conservative as $his dress is,
+		<<if ($activeSlave.chastityAnus)>>
+			$his anal chastity accessory still hides under it.
+		<<else>>
+			$his anus is still bare beneath it.
+		<</if>>
 	<<case "a kimono">>
 		As demure as the kimono is,
 		<<if ($activeSlave.chastityAnus)>>
@@ -5617,6 +5733,13 @@ $His
 		<<else>>
 			$his anus is still bare underneath it.
 		<</if>>
+	<<case "a Santa dress">>
+		The short hem of $his festive dress
+		<<if ($activeSlave.chastityAnus)>>
+			fails to fully cover $his anal chastity device.
+		<<else>>
+			allows easy access to $his anus.
+		<</if>>
 	<<case "conservative clothing" "a toga" "huipil" "cutoffs and a t-shirt" "battledress" "a long qipao" "battlearmor" "a mounty outfit" "lederhosen" "a dirndl" "a biyelgee costume" "slutty business attire" "nice business attire" "a military uniform" "a bunny outfit" "a nice nurse outfit" "a schutzstaffel uniform" "a slutty schutzstaffel uniform" "a red army uniform" "a tube top and thong" "a button-up shirt and panties" "a gothic lolita dress" "a hanbok" "a bra" "a button-up shirt" "a nice pony outfit" "a sweater" "a tank-top" "a thong" "a tube top" "a one-piece swimsuit" "a police uniform" "a striped bra" "a skimpy loincloth" "a slutty klan robe" "a slutty pony outfit" "a sports bra" "a sweater and panties" "a t-shirt" "a tank-top and panties" "a t-shirt and thong" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "a t-shirt and jeans" "boyshorts" "cutoffs" "leather pants and pasties" "leather pants" "panties" "sport shorts and a t-shirt" "a t-shirt and panties" "panties and pasties" "striped underwear" "sport shorts and a sports bra" "jeans" "a sweater and cutoffs" "leather pants and a tube top" "sport shorts">>
 		/* We could use chastity belt descriptions! */
 	<<default>>
@@ -5792,7 +5915,7 @@ $His
 <</widget>>
 
 <<widget "dickAccessoryDescription">>
-	<<if ($activeSlave.chastityPenis)>>
+	<<if ($activeSlave.chastityPenis == 1)>>
 		$His cock is encased in a tight chastity cage, which is designed to be comfortable as long as $he remains soft.
 		<<if ($activeSlave.energy > 95)>>
 			The poor nympho looks painfully frustrated by this, and a long string of precum is dangling from the hole in the bottom of the cage.
diff --git a/src/utility/descriptionWidgetsTattoos.tw b/src/utility/descriptionWidgetsTattoos.tw
index fed215eff2896922945cc74ceab09526babf9862..91bbb3d73d67319d18dbc12cb8b7169fd834f6c0 100644
--- a/src/utility/descriptionWidgetsTattoos.tw
+++ b/src/utility/descriptionWidgetsTattoos.tw
@@ -238,7 +238,7 @@
 	<<case "advertisements">>
 		$He has an ad for the arcology itself tattooed across $his back.
 	<<case "rude words">>
-		'Sex Slave' is tattooed across $his back; the tattoo uses the broad space to make each letter <<if $showInches == 2>>six inches<<else>>fifteen centimeters<</if>> tall, so that $his identity can be read from hundreds of <<if $showInches == 2>>yards<<else>>meter<</if>> off.
+		'Sex Slave' is tattooed across $his back; the tattoo uses the broad space to make each letter <<if $showInches == 2>>six inches<<else>>fifteen centimeters<</if>> tall, so that $his identity can be read from hundreds of <<if $showInches == 2>>yards<<else>>meters<</if>> off.
 	<<case "degradation">>
 		$He has
 		<<if $activeSlave.dick > 0>>
diff --git a/src/utility/saRulesWidgets.tw b/src/utility/saRulesWidgets.tw
index 833c302a63a6feac69f57ee6e36a56117fdb4aa4..208f7cced2181b912394e920fd14605b6401dd9e 100644
--- a/src/utility/saRulesWidgets.tw
+++ b/src/utility/saRulesWidgets.tw
@@ -494,6 +494,7 @@ and
 										<<SlaveSort $RapeableIDs>>
 										<<for _dI = 0; _dI < $RapeableIDs.length; _dI++>>
 											<<set _j = $slaveIndices[$RapeableIDs[_dI]]>>
+											<<setLocalPronouns $slaves[_j] 2>>
 											<<if !$slaves[_j].rivalry>>
 											<<if $slaves[_j].assignmentVisible || $slaves[_j].assignment == $slaves[$i].assignment>>
 											<<if $slaves[_j].devotion <= 50>>
@@ -508,7 +509,7 @@ and
 												<<elseif $slaves[_j].sexualFlaw == "shamefast">>
 													rapes the poor slave in public. $slaves[_j].slaveName is terribly shamefast
 												<<elseif $slaves[_j].sexualFlaw == "idealistic">>
-													rapes the poor slave every time $he catches her being romantic. $slaves[_j].slaveName is still idealistic
+													rapes the poor slave every time $he catches _him2 being romantic. $slaves[_j].slaveName is still idealistic
 												<<else>>
 													rapes the poor slave every chance $he gets,
 												<</if>>
@@ -858,7 +859,7 @@ and
 									<<elseif ($slaves[$i].fetish == "masochist")>>
 										hits $slaves[$i].slaveName while fucking $him, which only makes $him hornier; @@.lightcoral;$he's a masochist!@@
 									<<elseif ($slaves[$i].fetish == "dom")>>
-										asks $slaves[$i].slaveName to make her $slaves[$i].slaveName's bitch, which $slaves[$i].slaveName manages like a natural; @@.lightcoral;$he's dominant!@@
+										asks $slaves[$i].slaveName to make them $slaves[$i].slaveName's bitch, which $slaves[$i].slaveName manages like a natural; @@.lightcoral;$he's dominant!@@
 									<<elseif ($slaves[$i].fetish == "pregnancy")>>
 										pretends to get $him pregnant, which $he really enjoys; @@.lightcoral;$he's a pregnancy fetishist!@@
 									<<elseif ($slaves[$i].energy > 95)>>
@@ -876,7 +877,7 @@ and
 							<<if ($slaves[$i].fetishKnown == 0)>>
 								<<if (random(1,2) == 1)>>
 								<<set $slaves[$i].fetishKnown = 1>>
-								You discover that $he really likes it when other girls
+								You discover that $he really likes it when the other slaves
 								<<if ($slaves[$i].fetish == "submissive")>>
 									hold $him down and fuck $him; @@.lightcoral;$he's a submissive!@@
 								<<elseif ($slaves[$i].fetish == "cumslut")>>
@@ -887,7 +888,7 @@ and
 									<<if ($slaves[$i].anus > 0)>>
 										<<if canDoAnal($slaves[$i])>>fuck $his butt<<else>>tease $his anus<</if>>;
 									<<else>>
-									tease $his virgin anus;
+										tease $his virgin anus;
 									<</if>>
 									@@.lightcoral;$he's an anal slut!@@
 								<<elseif ($slaves[$i].fetish == "boobs")>>
@@ -930,9 +931,9 @@ and
 									<<else>>
 										$his cumhole produces slow, anemic ejaculations, no matter how backed up $he is.
 									<</if>>
-									$He is very reliant on your other girls to help $him, which @@.mediumaquamarine;habituates $him@@ to slave sex.
+									$He is very reliant on your other slaves to help $him, which @@.mediumaquamarine;habituates $him@@ to slave sex.
 								<<else>>
-									$His terribly swollen balls force $him to rely on other slaves for release several times a day, and jetting cum into and onto your other girls @@.mediumaquamarine;habituates $him@@ to slave sex.
+									$His terribly swollen balls force $him to rely on other slaves for release several times a day, and jetting cum into and onto them @@.mediumaquamarine;habituates $him@@ to slave sex.
 								<</if>>
 								<<set $slaves[$i].trust += 1>>
 							<<else>>
@@ -948,9 +949,9 @@ and
 									<<else>>
 										$his cumhole produces slow, anemic ejaculations, no matter how backed up $he is.
 									<</if>>
-									$He is completely dependent on your other girls to help $him, which @@.mediumaquamarine;habituates $him@@ to slave sex.
+									$He is completely dependent on your other slaves to help $him, which @@.mediumaquamarine;habituates $him@@ to slave sex.
 								<<else>>
-									$His grotesquely swollen balls force $him to rely on other slaves for release throughout times a day, and swelling your other girls with cum @@.mediumaquamarine;habituates $him@@ to slave sex, though you have to take precautions so $he doesn't knock up your entire stock.
+									$His grotesquely swollen balls force $him to rely on other slaves for release throughout times a day, and swelling them with cum @@.mediumaquamarine;habituates $him@@ to slave sex, though you have to take precautions so $he doesn't knock up your entire stock.
 								<</if>>
 								<<set $slaves[$i].trust += 1>>
 							<<else>>
@@ -960,7 +961,7 @@ and
 						<</if>>
 					<</if>>
 					<<if $slaves[$i].drugs == "super fertility drugs" && canGetPregnant($slaves[$i])>>
-							$His reproductive system is in overdrive leading $him to seek out any dicked girl $he can find several times a day. $He @@.mediumaquamarine;desperately longs@@ for the day $his efforts fill $his womb with child.
+							$His reproductive system is in overdrive leading $him to seek out any dicked slaves $he can find several times a day. $He @@.mediumaquamarine;desperately longs@@ for the day $his efforts fill $his womb with child.
 							<<set $slaves[$i].trust += 1>>
 					<</if>>
 
diff --git a/src/utility/slaveCreationWidgets.tw b/src/utility/slaveCreationWidgets.tw
index 8ddd26a4aa6c97ab45fdbea93084251aa55fe75f..e65e8ee7e0f2b7900eea3fff27a87e542302f40b 100644
--- a/src/utility/slaveCreationWidgets.tw
+++ b/src/utility/slaveCreationWidgets.tw
@@ -2702,7 +2702,7 @@ Call as <<GenerateMarketSlave 'market' ['arcology']>>
 			<<set $activeSlave.sexualQuirk = "unflinching">>
 		<</if>>
 	<<elseif $arcologies[_market].FSAztecRevivalist > 20>>
-		They've seen sights that will traumatize almost anyone.
+		They've seen sights that will traumatize almost anyone<<if !canSee($activeSlave)>>, so to speak<</if>>.
 		<<set $activeSlave.slaveName = setup.aztecSlaveNames.random()>>
 		<<if random(0,1) == 0>>
 			<<set $activeSlave.trust = -30>>
@@ -2818,9 +2818,9 @@ Call as <<GenerateMarketSlave 'market' ['arcology']>>
 	<<set $activeSlave.fetishStrength = 0>>
 
 <<case "wetware">>
+	<<set $fixedNationality = "Stateless">>
 	<<include "Generate New Slave">>
 	<<set $activeSlave.origin = "You bought her from a wetware CPU farm, her body ruined but her mind subjected to a simulated career.">>
-	<<set $activeSlave.nationality = "Stateless">>
 	<<set $activeSlave.devotion = 40>>
 	<<set $activeSlave.trust = -100>>
 	<<set $activeSlave.career = either("a business owner", "a college scout", "a counselor", "a dairy worker", "a doctor", "a house DJ", "a politician", "a prison guard", "a secretary", "a soldier", "a teacher")>>