From b54b53589b2826b7b089f6462b835f60fa9b995f Mon Sep 17 00:00:00 2001
From: DCoded <dicoded@email.com>
Date: Tue, 30 Aug 2022 08:04:16 -0400
Subject: [PATCH] Converted remaining mindbroken strings to enum members

---
 devNotes/jsEventCreationGuide.md              |   4 +-
 js/004-base/SurgeryEffect.js                  |   2 +-
 .../surgery/prosthetics/pLimbInterface.js     |   4 +-
 src/Mods/Catmod/events/CMRESS/annoyingcat.js  |   2 +-
 src/Mods/Catmod/events/CMRESS/catLove.js      |   2 +-
 src/Mods/Catmod/events/CMRESS/catPresent.js   |   2 +-
 src/Mods/Catmod/events/CMRESS/lazyCat.js      |   2 +-
 src/Mods/Catmod/events/CMRESS/spoiledCat.js   |   2 +-
 src/Mods/DinnerParty.js                       |   6 +-
 src/endWeek/events/retire.js                  |   2 +-
 src/endWeek/healthFunctions.js                |   2 +-
 src/endWeek/player/prDrugs.js                 |   2 +-
 src/endWeek/reports/dairyReport.js            |   4 +-
 src/endWeek/reports/masterSuiteReport.js      |   6 +-
 src/endWeek/reports/personalAttention.js      |   2 +-
 src/endWeek/reports/spaReport.js              |   2 +-
 src/endWeek/saClothes.js                      |  38 ++---
 src/endWeek/saDiet.js                         |  14 +-
 src/endWeek/saDrugs.js                        |  16 +-
 src/endWeek/saGetMilked.js                    |   2 +-
 src/endWeek/saGuardYou.js                     |   2 +-
 src/endWeek/saHormonesEffects.js              |   2 +-
 src/endWeek/saInflation.js                    |  12 +-
 src/endWeek/saLiveWithHG.js                   |   8 +-
 src/endWeek/saLongTermEffects.js              |  18 +-
 src/endWeek/saLongTermMentalEffects.js        |   2 +-
 src/endWeek/saLongTermPhysicalEffects.js      |  20 +--
 src/endWeek/saPleaseYou.js                    |  22 +--
 src/endWeek/saPregnancy.js                    |  16 +-
 src/endWeek/saRelationships.js                |  14 +-
 src/endWeek/saRest.js                         |   2 +-
 src/endWeek/saRivalries.js                    |   2 +-
 src/endWeek/saSocialEffects.js                |   6 +-
 src/endWeek/saStayConfined.js                 |   2 +-
 src/endWeek/saTakeClasses.js                  |   2 +-
 src/events/PE/UnderageConcubine.js            |   2 +-
 src/events/PE/peHeadgirlConcubine.js          |   2 +-
 src/events/PE/peLonelyBodyguard.js            |   2 +-
 src/events/RE/REBusyArcade.js                 |   2 +-
 src/events/RE/reAnalPunishment.js             |   2 +-
 src/events/RE/reDevotedTwins.js               |   4 +-
 src/events/RE/reHGReplacement.js              |   2 +-
 src/events/RE/reLegendaryBalls.js             |   2 +-
 src/events/RE/reLegendaryCow.js               |   2 +-
 src/events/RE/reLegendaryEntertainer.js       |   2 +-
 .../RE/reLegendaryFormerAbolitionist.js       |   2 +-
 src/events/RE/reLegendaryWhore.js             |   2 +-
 src/events/RE/reLegendaryWomb.js              |   2 +-
 src/events/RE/reMaleCitizenHookup.js          |   4 +-
 src/events/RE/rePregInventorFCTV.js           |   2 +-
 src/events/RE/rePregInventorInvite.js         |   2 +-
 src/events/RE/rePregInventorShowOff.js        |   2 +-
 src/events/RE/reRelationshipAdvice.js         |   2 +-
 src/events/RE/reRelativeRecruiter.js          |   2 +-
 src/events/RE/reShowerPunishment.js           |   2 +-
 src/events/RE/reSiblingPlease.js              |   2 +-
 src/events/RE/reSlaveMarriage.js              |   2 +-
 src/events/RE/reSnatchAndGrabFollowup.js      |   2 +-
 src/events/RECI/butthole.js                   |   4 +-
 src/events/RECI/feminization.js               |   2 +-
 src/events/RECI/futa.js                       |   2 +-
 src/events/RECI/milf.js                       |   2 +-
 src/events/RECI/orientation.js                |   2 +-
 src/events/RECI/ugly.js                       |   2 +-
 src/events/RESS/PAFlirting.js                 |   2 +-
 src/events/RESS/ageDifferenceOldPC.js         |   2 +-
 src/events/RESS/ageDifferenceYoungPC.js       |   2 +-
 src/events/RESS/ampResting.js                 |   2 +-
 src/events/RESS/assFitting.js                 |   2 +-
 src/events/RESS/bedSnuggle.js                 |   2 +-
 src/events/RESS/birthday.js                   |   2 +-
 src/events/RESS/bondageGear.js                |   2 +-
 src/events/RESS/breedingBull.js               |   2 +-
 src/events/RESS/cockfeederResistance.js       |   2 +-
 src/events/RESS/comfortableSeat.js            |   2 +-
 src/events/RESS/coolerLockin.js               |   2 +-
 src/events/RESS/devotedAnalVirgin.js          |   2 +-
 src/events/RESS/devotedEducated.js            |   2 +-
 src/events/RESS/devotedFearfulSlave.js        |   2 +-
 src/events/RESS/devotedNympho.js              |   2 +-
 src/events/RESS/devotedShortstack.js          |   2 +-
 src/events/RESS/devotedVirgin.js              |   2 +-
 src/events/RESS/devotedWaist.js               |   2 +-
 src/events/RESS/escapee.js                    |   2 +-
 src/events/RESS/forbiddenMasturbation.js      |   2 +-
 src/events/RESS/frighteningDick.js            |   2 +-
 src/events/RESS/hotPC.js                      |   2 +-
 src/events/RESS/imScared.js                   |   2 +-
 src/events/RESS/impregnationPlease.js         |   2 +-
 src/events/RESS/injectionsPlease.js           |   2 +-
 src/events/RESS/kitchenMolestation.js         |   2 +-
 src/events/RESS/languageLesson.js             |   2 +-
 src/events/RESS/lazyEvening.js                |   2 +-
 src/events/RESS/masterfulWhore.js             |   2 +-
 src/events/RESS/meanGirls.js                  |   2 +-
 src/events/RESS/milkgasm.js                   |   2 +-
 src/events/RESS/modestClothes.js              |   2 +-
 src/events/RESS/muscles.js                    |   2 +-
 src/events/RESS/mutinyAttempt.js              |   2 +-
 src/events/RESS/nightVisit.js                 |   2 +-
 src/events/RESS/obedientAddict.js             |   2 +-
 src/events/RESS/obedientBitchy.js             |   2 +-
 src/events/RESS/obedientGirlish.js            |   2 +-
 src/events/RESS/obedientIdiot.js              |   2 +-
 src/events/RESS/obedientShemale.js            |   2 +-
 src/events/RESS/passingDeclaration.js         |   2 +-
 src/events/RESS/penitent.js                   |   2 +-
 src/events/RESS/permittedMasturbation.js      |   2 +-
 src/events/RESS/plimbHelp.js                  |   2 +-
 src/events/RESS/plugDisobedience.js           |   2 +-
 src/events/RESS/refreshmentDelivery.js        |   2 +-
 src/events/RESS/restrictedSmart.js            |   2 +-
 src/events/RESS/retchingCum.js                |   2 +-
 src/events/RESS/review/PAservant.js           |   2 +-
 src/events/RESS/review/aGift.js               |   2 +-
 src/events/RESS/review/ageImplant.js          |   2 +-
 src/events/RESS/review/ampDevoted.js          |   2 +-
 src/events/RESS/review/araAra.js              |   2 +-
 src/events/RESS/review/backStretch.js         |   2 +-
 src/events/RESS/review/badDream.js            |   2 +-
 src/events/RESS/review/birthdaySex.js         |   2 +-
 src/events/RESS/review/bondedLove.js          |   2 +-
 .../RESS/review/breastExpansionBlues.js       |   2 +-
 src/events/RESS/review/cageRelief.js          |   2 +-
 src/events/RESS/review/confidentTanning.js    |   2 +-
 src/events/RESS/review/cowMilking.js          |   2 +-
 src/events/RESS/review/cumslutWhore.js        |   2 +-
 src/events/RESS/review/desperateNull.js       |   2 +-
 src/events/RESS/review/desperatelyHorny.js    |   2 +-
 src/events/RESS/review/devotedExhibition.js   |   2 +-
 src/events/RESS/review/devotedLotion.js       |   2 +-
 src/events/RESS/review/devotedOld.js          |   2 +-
 src/events/RESS/review/dickWringing.js        |   2 +-
 src/events/RESS/review/dickgirlPC.js          |   2 +-
 src/events/RESS/review/diet.js                |   2 +-
 src/events/RESS/review/extremeAphrodisiacs.js |   2 +-
 src/events/RESS/review/fearfulBalls.js        |   2 +-
 src/events/RESS/review/fearfulHumiliation.js  |   2 +-
 src/events/RESS/review/firstPeriod.js         |   2 +-
 src/events/RESS/review/fucktoyTribbing.js     |   2 +-
 src/events/RESS/review/gaggedSlave.js         |   2 +-
 src/events/RESS/review/gapedAsshole.js        |   2 +-
 src/events/RESS/review/gorging.js             |   2 +-
 src/events/RESS/review/happyDance.js          |   2 +-
 src/events/RESS/review/hatesOral.js           |   2 +-
 src/events/RESS/review/heavyPiercing.js       |   2 +-
 src/events/RESS/review/heels_event.js         |   2 +-
 src/events/RESS/review/hormoneDysfunction.js  |   2 +-
 src/events/RESS/review/hugeNaturals.js        |   2 +-
 src/events/RESS/review/hugeTits.js            |   2 +-
 src/events/RESS/review/hugelyPregnant.js      |   2 +-
 src/events/RESS/review/hyperpregStuck.js      |   2 +-
 src/events/RESS/review/ignorantHorny.js       |   2 +-
 src/events/RESS/review/implantInspection.js   |   2 +-
 src/events/RESS/review/inconvenientLabia.js   |   2 +-
 src/events/RESS/review/likeMe.js              |   2 +-
 src/events/RESS/review/looseButtslut.js       |   2 +-
 .../RESS/review/masterfulEntertainer.js       |   2 +-
 src/events/RESS/review/millenary.js           |   2 +-
 src/events/RESS/review/modsPlease.js          |   2 +-
 src/events/RESS/review/newlyDevotedSunrise.js |   2 +-
 src/events/RESS/review/niceGuys.js            |   2 +-
 src/events/RESS/review/notMyName.js           |   2 +-
 src/events/RESS/review/nymphoWithAssistant.js |   2 +-
 src/events/RESS/review/objectifyingVisit.js   |   2 +-
 src/events/RESS/review/orchiectomyPlease.js   |   2 +-
 src/events/RESS/review/rebelliousArrogant.js  |   2 +-
 src/events/RESS/review/resistantAnalVirgin.js |   2 +-
 src/events/RESS/review/resistantGelding.js    |   2 +-
 src/events/RESS/review/resistantShower.js     |   2 +-
 .../RESS/review/restrictedProfession.js       |   2 +-
 src/events/RESS/review/servantMaid.js         |   2 +-
 src/events/RESS/review/sexySuccubus.js        |   2 +-
 src/events/RESS/review/shapedAreolae.js       |   2 +-
 src/events/RESS/review/shiftDoorframe.js      |   2 +-
 src/events/RESS/review/shiftMasturbation.js   |   2 +-
 src/events/RESS/review/shiftSleep.js          |   2 +-
 src/events/RESS/review/showerSlip.js          |   2 +-
 src/events/RESS/review/slaveDickHuge.js       |   2 +-
 src/events/RESS/review/sleepingAmbivalent.js  |   2 +-
 src/events/RESS/review/soreAss.js             |   2 +-
 src/events/RESS/review/soreShoulders.js       |   2 +-
 src/events/RESS/review/spaBoobs.js            |   2 +-
 src/events/RESS/review/subjugationBlues.js    |   2 +-
 src/events/RESS/review/surgeryAddict.js       |   2 +-
 src/events/RESS/review/surprisingWakeup.js    |   2 +-
 src/events/RESS/review/tendonFall.js          |   2 +-
 src/events/RESS/review/terrifiedInspection.js |   2 +-
 .../RESS/review/tittymonsterInspection.js     |   2 +-
 src/events/RESS/review/torpedoSqueeze.js      |   2 +-
 src/events/RESS/review/transitionAnxiety.js   |   2 +-
 src/events/RESS/review/trustingHG.js          |   2 +-
 src/events/RESS/review/unhappyVirgin.js       |   2 +-
 src/events/RESS/review/usedWhore.js           |   2 +-
 src/events/RESS/review/vocalDisobedience.js   |   2 +-
 src/events/RESS/review/wetDreams.js           |   2 +-
 src/events/RESS/scrubbing.js                  |   2 +-
 src/events/RESS/serveThePublicDevoted.js      |   2 +-
 src/events/RESS/slaveOnSlaveClit.js           |   2 +-
 src/events/RESS/slaveOnSlaveDick.js           |   2 +-
 src/events/RESS/solitaryDesperation.js        |   2 +-
 src/events/RESS/suppositoryResistance.js      |   2 +-
 src/events/RESS/tooThinForCumDiet.js          |   2 +-
 src/events/RESS/waistlineWoes.js              |   2 +-
 src/events/RESS/whoreRebellious.js            |   2 +-
 src/events/RETS/reAnalCowgirl.js              |   4 +-
 src/events/RETS/reBoobCollision.js            |   4 +-
 src/events/RETS/reCockmilkInterception.js     |   4 +-
 src/events/RETS/reDatePlease.js               |   4 +-
 src/events/RETS/reFucktoyPrefersRelative.js   |   4 +-
 src/events/RETS/reIfYouEnjoyIt.js             |   4 +-
 src/events/RETS/reIncestuousNursing.js        |   4 +-
 src/events/RETS/reInterslaveBegging.js        |   4 +-
 src/events/RETS/reRepressedAnalVirgin.js      |   4 +-
 src/events/RETS/reSadisticDescription.js      |   4 +-
 src/events/RETS/reShowerForce.js              |   4 +-
 src/events/RETS/reSiblingTussle.js            |   4 +-
 src/events/RETS/reSimpleAssault.js            |   4 +-
 src/events/RETS/reTasteTest.js                |   4 +-
 src/events/RETS/reTopExhaustion.js            |   4 +-
 .../daughters/pUndergroundRailroad.js         |   2 +-
 src/events/nonRandom/mercs/pMercenaryRomeo.js |   8 +-
 src/events/scheduled/seTheSirenStrikesBack.js |   2 +-
 .../bodyModification/bodyModification.js      |   2 +-
 .../dairy/freeRangeDairyAssignmentScene.js    |   2 +-
 src/facilities/spa/spaFramework.js            |   2 +-
 .../surgery/surgeryPassageExtreme.js          |   4 +-
 src/interaction/policies/changeLanguage.js    |   2 +-
 src/interaction/saleFunctions.js              |   4 +-
 src/interaction/sellSlave.js                  |   4 +-
 src/interaction/siPhysicalRegimen.js          |   2 +-
 src/interaction/siWork.js                     |   2 +-
 src/js/DefaultRules.js                        |   2 +-
 src/js/assignJS.js                            |   2 +-
 src/js/birth/birth.js                         |  20 +--
 src/js/slaveSummaryWidgets.js                 |   4 +-
 src/js/storyJS.js                             |   2 +-
 src/js/utilsSlave.js                          |   4 +-
 src/npc/children/childInteract.tw             |   2 +-
 src/npc/children/childSummary.js              |   4 +-
 src/npc/descriptions/longSlave.js             |   2 +-
 src/npc/generate/generateGenetics.js          |   2 +-
 src/npc/generate/generateMarketSlave.js       |   2 +-
 src/npc/generate/newSlaveIntro.js             |   6 +-
 src/npc/interaction/FFuckdollAnal.js          |   2 +-
 src/npc/interaction/FFuckdollImpreg.js        |   4 +-
 src/npc/interaction/FFuckdollVaginal.js       |   2 +-
 src/npc/interaction/fAbuse.js                 |   2 +-
 src/npc/interaction/fCaress.js                |   2 +-
 src/npc/interaction/fDick.js                  |   4 +-
 src/npc/interaction/fFeet.js                  |   6 +-
 src/npc/interaction/fSlaveSelfImpreg.js       |   2 +-
 src/npc/interaction/fVagina.js                |   2 +-
 src/npc/interaction/forceFeeding.js           |   6 +-
 src/npc/interaction/killSlave.js              |  14 +-
 src/npc/startingGirls/startingGirls.js        |   6 +-
 src/npc/surgery/bodySwap/bodySwapReaction.js  | 154 +++++++++---------
 src/npc/surgery/bodySwap/huskSlaveSwap.js     |   2 +-
 258 files changed, 474 insertions(+), 474 deletions(-)

diff --git a/devNotes/jsEventCreationGuide.md b/devNotes/jsEventCreationGuide.md
index f480c1d823a..f9292d1d6cf 100644
--- a/devNotes/jsEventCreationGuide.md
+++ b/devNotes/jsEventCreationGuide.md
@@ -23,7 +23,7 @@ App.Events.MyEvent = class MyEvent extends App.Events.BaseEvent {
   return [
    [
     s => canWalk(s),
-    s => s.fetish !== "mindbroken",
+    s => s.fetish !== Fetish.MINDBROKEN,
     s => s.devotion >= 50,
     s => s.trust <= 20
    ]
@@ -33,7 +33,7 @@ App.Events.MyEvent = class MyEvent extends App.Events.BaseEvent {
   return [
    [ // first actor
     s => canWalk(s),
-    s => s.fetish !== "mindbroken",
+    s => s.fetish !== Fetish.MINDBROKEN,
     s => s.devotion >= 50,
     s => s.trust <= 20
    ],
diff --git a/js/004-base/SurgeryEffect.js b/js/004-base/SurgeryEffect.js
index 09f00ffed57..9514c65ca56 100644
--- a/js/004-base/SurgeryEffect.js
+++ b/js/004-base/SurgeryEffect.js
@@ -13,7 +13,7 @@ App.Medicine.Surgery.SimpleReaction = class {
 	 * @param {App.Entity.SlaveState} slave
 	 * @returns {boolean}
 	 */
-	_hasEmotion(slave) { return slave.fetish !== "mindbroken" && slave.fuckdoll === 0; }
+	_hasEmotion(slave) { return slave.fetish !== Fetish.MINDBROKEN && slave.fuckdoll === 0; }
 
 	/**
 	 * @param {App.Entity.SlaveState} slave
diff --git a/js/medicine/surgery/prosthetics/pLimbInterface.js b/js/medicine/surgery/prosthetics/pLimbInterface.js
index c740e151839..16264f42906 100644
--- a/js/medicine/surgery/prosthetics/pLimbInterface.js
+++ b/js/medicine/surgery/prosthetics/pLimbInterface.js
@@ -77,7 +77,7 @@ App.Medicine.Surgery.Reactions.PLimbInterface3 = class extends App.Medicine.Surg
 			r.push(`wiggles ${his} stumps trying to feel the ports`);
 		}
 		r.push(`installed in ${his} stumps. ${His} stumps twitch slightly as the software begins configuring. Since ${he} already had anchors installed in previous surgery this procedure was less invasive and thus <span class="health dec">${his} health has been only slightly affected.</span>`);
-		if (slave.fetish !== "mindbroken" && slave.fuckdoll === 0) {
+		if (slave.fetish !== Fetish.MINDBROKEN && slave.fuckdoll === 0) {
 			if (slave.devotion > 20) {
 				r.push(`${He} is <span class="devotion inc">overjoyed</span> when ${he} finds out this upgrade will allow ${him} to <i>feel</i> with ${his} limbs again and thanks you profusely the first chance ${he} gets. ${He} <span class="trust inc">places more trust in you,</span> too, since you obviously have ${his} best interests at heart.`);
 			} else if (slave.devotion >= -20) {
@@ -107,7 +107,7 @@ App.Medicine.Surgery.Reactions.PLimbInterface4 = class extends App.Medicine.Surg
 			r.push(`wiggles ${his} stumps trying to feel the ports`);
 		}
 		r.push(`installed in ${his} stumps. ${His} stumps twitch slightly as the software begins configuring. Since ${he} already had anchors installed in previous surgery this procedure was less invasive and thus <span class="health dec">${his} health has been only slightly affected.</span>`);
-		if (slave.fetish !== "mindbroken" && slave.fuckdoll === 0) {
+		if (slave.fetish !== Fetish.MINDBROKEN && slave.fuckdoll === 0) {
 			if (slave.devotion > 20) {
 				r.push(`${He} <span class="devotion inc">trusts</span> you enough to be not be put off by your explanation of what kind of prosthetic limbs will fit ${his} new interface. Thinking that maybe being a pet won't be so bad.`);
 			} else if (slave.devotion >= -20) {
diff --git a/src/Mods/Catmod/events/CMRESS/annoyingcat.js b/src/Mods/Catmod/events/CMRESS/annoyingcat.js
index f63374870b0..8a17c63074a 100644
--- a/src/Mods/Catmod/events/CMRESS/annoyingcat.js
+++ b/src/Mods/Catmod/events/CMRESS/annoyingcat.js
@@ -6,7 +6,7 @@ App.Events.CMRESSAnnoyingCat = class CMRESSAnnoyingCat extends App.Events.BaseEv
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				canMove,
 				s => s.race === "catgirl",
diff --git a/src/Mods/Catmod/events/CMRESS/catLove.js b/src/Mods/Catmod/events/CMRESS/catLove.js
index ca586f06998..6eca89321e9 100644
--- a/src/Mods/Catmod/events/CMRESS/catLove.js
+++ b/src/Mods/Catmod/events/CMRESS/catLove.js
@@ -6,7 +6,7 @@ App.Events.CMRESSCatLove = class CMRESSCatLove extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				canMove,
 				s => s.race === "catgirl",
diff --git a/src/Mods/Catmod/events/CMRESS/catPresent.js b/src/Mods/Catmod/events/CMRESS/catPresent.js
index e1bf83b8e3f..ed157419905 100644
--- a/src/Mods/Catmod/events/CMRESS/catPresent.js
+++ b/src/Mods/Catmod/events/CMRESS/catPresent.js
@@ -6,7 +6,7 @@ App.Events.CMRESSCatPresent = class CMRESSCatPresent extends App.Events.BaseEven
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				canMove,
 				s => s.race === "catgirl",
diff --git a/src/Mods/Catmod/events/CMRESS/lazyCat.js b/src/Mods/Catmod/events/CMRESS/lazyCat.js
index f888ffab7d9..b8748d5912a 100644
--- a/src/Mods/Catmod/events/CMRESS/lazyCat.js
+++ b/src/Mods/Catmod/events/CMRESS/lazyCat.js
@@ -6,7 +6,7 @@ App.Events.CMRESSLazyCat = class CMRESSLazyCat extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canStand,
 				canMove,
 				s => s.race === "catgirl",
diff --git a/src/Mods/Catmod/events/CMRESS/spoiledCat.js b/src/Mods/Catmod/events/CMRESS/spoiledCat.js
index bdab4dc3da5..402b7e9e7f1 100644
--- a/src/Mods/Catmod/events/CMRESS/spoiledCat.js
+++ b/src/Mods/Catmod/events/CMRESS/spoiledCat.js
@@ -9,7 +9,7 @@ App.Events.CMRESSSpoiledCat = class CMRESSSpoiledCat extends App.Events.BaseEven
 		return [
 			[ // single event slave
 				s => s.assignment === Job.PUBLIC || s.assignment === Job.WHORE,
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canStand,
 				canMove,
 				s => s.race === "catgirl",
diff --git a/src/Mods/DinnerParty.js b/src/Mods/DinnerParty.js
index bd13f913465..aae43738851 100644
--- a/src/Mods/DinnerParty.js
+++ b/src/Mods/DinnerParty.js
@@ -240,7 +240,7 @@ App.Mods.DinnerParty.Execution = function() {
 			}
 		}
 
-		let aliveSlave = V.slaves.find(s => s.ID === slave.relationshipTarget && s.fetish !== "mindbroken");
+		let aliveSlave = V.slaves.find(s => s.ID === slave.relationshipTarget && s.fetish !== Fetish.MINDBROKEN);
 		if (slave.relationship !== 0 && aliveSlave) {
 			const {his3} = getPronouns(aliveSlave).appendSuffix("3");
 			App.Events.addNode(t, [`${aliveSlave.slaveName} is`, App.UI.DOM.makeElement("span", "distraught", ["mediumorchid"]), `that you ate ${his3} best source of comfort and companionship in a life of bondage.`], "div");
@@ -248,7 +248,7 @@ App.Mods.DinnerParty.Execution = function() {
 			aliveSlave.devotion -= 20;
 		}
 
-		aliveSlave = V.slaves.find(s => s.ID === slave.rivalryTarget && s.fetish !== "mindbroken");
+		aliveSlave = V.slaves.find(s => s.ID === slave.rivalryTarget && s.fetish !== Fetish.MINDBROKEN);
 		if (slave.rivalry !== 0 && aliveSlave) {
 			const {his3, He3} = getPronouns(aliveSlave).appendSuffix("3");
 			App.Events.addNode(t, [`${aliveSlave.slaveName} is`, App.UI.DOM.makeElement("span", "pleased", ["hotpink"]), `that ${He3} won't have to see ${his3} rival any more.`], "div");
@@ -259,7 +259,7 @@ App.Mods.DinnerParty.Execution = function() {
 		r.push(`The slaves who do not already worship you`, App.UI.DOM.makeElement("span", "resent", ["mediumorchid"]), "your monstrous appetite and", App.UI.DOM.makeElement("span", "fear", ["mediumaquamarine"]), "a similar fate awaits them.");
 		r.push(`The fat slaves are`, App.UI.DOM.makeElement("span", "worried", ["mediumaquamarine"]), "they are being fattened for consumption.");
 		App.Events.addNode(t, r, "p");
-		for (const aliveSlave of V.slaves.filter(s => s.fetish !== "mindbroken" && s.devotion > 20)) {
+		for (const aliveSlave of V.slaves.filter(s => s.fetish !== Fetish.MINDBROKEN && s.devotion > 20)) {
 			aliveSlave.devotion -= 5;
 			aliveSlave.trust -= (aliveSlave.diet === "fattening" || aliveSlave.weight > 10 ? 10 : 5);
 		}
diff --git a/src/endWeek/events/retire.js b/src/endWeek/events/retire.js
index 8c452cd99d2..f8ad6949b73 100644
--- a/src/endWeek/events/retire.js
+++ b/src/endWeek/events/retire.js
@@ -134,7 +134,7 @@ globalThis.retireScene = function(originalSlave, artRenderer) {
 		App.Events.addParagraph(desc, r);
 		r = [];
 		r.push(`As ${he} takes ${his} leave, heading the short distance down to ${his} modest little apartment, ${he} presents a strange appearance. ${He}'s wearing cheap but not unattractive clothing, and you are struck by a crystal-clear mental image of what ${he} looks like nude.`);
-		if (slave.fetish !== "mindbroken") {
+		if (slave.fetish !== Fetish.MINDBROKEN) {
 			if (slave.devotion > 20) {
 				if (slave.devotion > 95) {
 					r.push(`${He}'s doing ${his} absolute best not to sob, but ${his} lips are quivering.`);
diff --git a/src/endWeek/healthFunctions.js b/src/endWeek/healthFunctions.js
index 7e92e5e8c90..e3f75667a1b 100644
--- a/src/endWeek/healthFunctions.js
+++ b/src/endWeek/healthFunctions.js
@@ -657,7 +657,7 @@ globalThis.tired = function(slave) {
 				assignment += 1;
 			}
 		} else if ([Job.CELLBLOCK, Job.CONFINEMENT].includes(slave.assignment)) { // Generally not tiring unless a Wardeness is present, in which case she uses sleep deprivation to break slaves.
-			if (slave.assignment === Job.CELLBLOCK && V.WardenessID !== 0 && slave.fetish !== "mindbroken") {
+			if (slave.assignment === Job.CELLBLOCK && V.WardenessID !== 0 && slave.fetish !== Fetish.MINDBROKEN) {
 				if (S.Wardeness.fetish === Fetish.MINDBROKEN) {
 					if (H.tired > 80) {
 						assignment -= 8;
diff --git a/src/endWeek/player/prDrugs.js b/src/endWeek/player/prDrugs.js
index 4dc95bad9c8..96bc58a56f8 100644
--- a/src/endWeek/player/prDrugs.js
+++ b/src/endWeek/player/prDrugs.js
@@ -1566,7 +1566,7 @@ App.EndWeek.Player.drugs = function(PC = V.PC) {
 				// handled in prHealth
 				break;
 			case "sag-B-gone":
-				if (S.Concubine && S.Concubine.fetish !== "mindbroken" && hasAnyArms(S.Concubine)) {
+				if (S.Concubine && S.Concubine.fetish !== Fetish.MINDBROKEN && hasAnyArms(S.Concubine)) {
 					r.push(`Each morning and evening, you make it a habit of allowing ${S.Concubine.slaveName} to sensually <span class="coral">massage sag-B-gone into your breasts.</span> While it may be strengthening the bond between you and your Concubine, it doesn't appear to be doing much else.`);
 				} else if (fuckSlavesLength() > 0) {
 					r.push(`Each morning and evening, you make it a habit of ordering the nearest fucktoy to <span class="coral">massage sag-B-gone into your breasts.</span> While the sensation may be enjoyable, and a little arousing, it doesn't seem to be doing much.`);
diff --git a/src/endWeek/reports/dairyReport.js b/src/endWeek/reports/dairyReport.js
index 6b061064161..7cb56b5d6c2 100644
--- a/src/endWeek/reports/dairyReport.js
+++ b/src/endWeek/reports/dairyReport.js
@@ -883,7 +883,7 @@ App.EndWeek.dairyReport = function() {
 						if (slave.intelligence < -50) {
 							stupidified.push(slave);
 						}
-					} else if (slave.fetish !== "mindbroken") {
+					} else if (slave.fetish !== Fetish.MINDBROKEN) {
 						applyMindbroken(slave);
 						mindbroken++;
 					}
@@ -948,7 +948,7 @@ App.EndWeek.dairyReport = function() {
 					if (slave.intelligence < -50) {
 						stupidified.push(slave);
 					}
-				} else if (slave.fetish !== "mindbroken") {
+				} else if (slave.fetish !== Fetish.MINDBROKEN) {
 					applyMindbroken(slave);
 					mindbroken++;
 				}
diff --git a/src/endWeek/reports/masterSuiteReport.js b/src/endWeek/reports/masterSuiteReport.js
index 3c28b134b9e..492d10676a4 100644
--- a/src/endWeek/reports/masterSuiteReport.js
+++ b/src/endWeek/reports/masterSuiteReport.js
@@ -168,7 +168,7 @@ App.EndWeek.masterSuiteReport = function() {
 			if (slave.nipples === "fuckable" && msAvg.dick > 2) {
 				actX(slave, "mammary", random(1, 3) * energy);
 			}
-			if ((slave.trust >= -20) && (slave.devotion > -10) && (slave.fetishStrength <= 95) && slave.fetish !== "mindbroken") {
+			if ((slave.trust >= -20) && (slave.devotion > -10) && (slave.fetishStrength <= 95) && slave.fetish !== Fetish.MINDBROKEN) {
 				const fetishChange = fetishChangeChance(slave);
 				if (msAvg.milk > 2000 && fetishChange > random(0, 50)) {
 					if (slave.fetish === "boobs") {
@@ -334,7 +334,7 @@ App.EndWeek.masterSuiteReport = function() {
 			const msContent = App.UI.DOM.appendNewElement("div", smallFrag, '', "indent");
 			$(msContent).append(`${He} ${App.SlaveAssignment.pleaseYou(slave)}`);
 
-			if (V.servantMilkers === 1 && slave.lactation > 0 && slave.fuckdoll === 0 && slave.fetish !== "mindbroken" && canMove(slave) && slave.intelligence + slave.intelligenceImplant >= -90) {
+			if (V.servantMilkers === 1 && slave.lactation > 0 && slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN && canMove(slave) && slave.intelligence + slave.intelligenceImplant >= -90) {
 				const milkingResults = App.SlaveAssignment.getMilked(slave, 0.25);
 				const milkDiv = App.UI.DOM.appendNewElement("div", smallFrag, `When ${his} breasts begin to feel full and you aren't around, ${he} avails ${himself} to the penthouse milkers and gives ${milkingResults.milk} liters of milk over the week, which is sold for `, "indent");
 				App.UI.DOM.appendNewElement("span", milkDiv, `${cashFormat(milkingResults.milkSale)}.`, ["cash", "inc"]);
@@ -347,7 +347,7 @@ App.EndWeek.masterSuiteReport = function() {
 			// discard return values silently
 			App.SlaveAssignment.choosesOwnJob(slave);
 			App.SlaveAssignment.pleaseYou(slave);
-			if (V.servantMilkers === 1 && slave.lactation > 0 && slave.fuckdoll === 0 && slave.fetish !== "mindbroken" && canMove(slave) && slave.intelligence + slave.intelligenceImplant >= -90) {
+			if (V.servantMilkers === 1 && slave.lactation > 0 && slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN && canMove(slave) && slave.intelligence + slave.intelligenceImplant >= -90) {
 				App.SlaveAssignment.getMilked(slave, 0.25);
 			}
 			App.SlaveAssignment.choosesOwnClothes(slave);
diff --git a/src/endWeek/reports/personalAttention.js b/src/endWeek/reports/personalAttention.js
index bd785c3a190..f3964eff008 100644
--- a/src/endWeek/reports/personalAttention.js
+++ b/src/endWeek/reports/personalAttention.js
@@ -958,7 +958,7 @@ App.PersonalAttention.slaveReport = function(slave) {
 					slave.health.tired = 120;
 				}
 			}
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				seed = random(1, 100);
 				if (seed > 90) {
 					r.push(`This abuse has shattered ${his} already-fragile self;`);
diff --git a/src/endWeek/reports/spaReport.js b/src/endWeek/reports/spaReport.js
index 3e77485b028..60e76e00980 100644
--- a/src/endWeek/reports/spaReport.js
+++ b/src/endWeek/reports/spaReport.js
@@ -339,7 +339,7 @@ App.EndWeek.spaReport = function() {
 			default:
 				slave.rules.living = "luxurious";
 		}
-		if (slave.health.condition >= 20 && slave.health.tired <= 30 && slave.trust > 60 && slave.devotion > 60 && slave.fetish !== "mindbroken" && slave.sexualFlaw === "none" && slave.behavioralFlaw === "none") {
+		if (slave.health.condition >= 20 && slave.health.tired <= 30 && slave.trust > 60 && slave.devotion > 60 && slave.fetish !== Fetish.MINDBROKEN && slave.sexualFlaw === "none" && slave.behavioralFlaw === "none") {
 			const slaveFixed = App.UI.DOM.makeElement("p");
 			App.Events.addNode(
 				slaveFixed,
diff --git a/src/endWeek/saClothes.js b/src/endWeek/saClothes.js
index b64ae44b0f6..e503c8ec04b 100644
--- a/src/endWeek/saClothes.js
+++ b/src/endWeek/saClothes.js
@@ -13,7 +13,7 @@ App.SlaveAssignment.clothes = function saClothes(slave) {
 	} = getPronouns(slave);
 
 	updateAccessories(slave);
-	if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+	if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 		clothingEffects(slave);
 	}
 	if (slave.collar !== "none") {
@@ -681,7 +681,7 @@ App.SlaveAssignment.clothes = function saClothes(slave) {
 				}
 				TerminatePregnancy(slave);
 				actX(slave, "miscarriages");
-				if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+				if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 					if (slave.devotion < -50) {
 						r.push(`${He} is <span class="mediumorchid">filled with violent, consuming hatred</span> and <span class="gold">fear.</span> Even though ${he} knew ${his} baby was destined for a slave orphanage, it seems ${he} cared for it and views you as its killer.`);
 						slave.devotion -= 25;
@@ -715,7 +715,7 @@ App.SlaveAssignment.clothes = function saClothes(slave) {
 					if (slave.waist >= -40) {
 						r.push(`It's so tight that it's <span class="health dec">unhealthy.</span>`);
 						healthDamage(slave, 5);
-						if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+						if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 							if (slave.devotion < -20) {
 								r.push(`${He} <span class="hotpink">barely has breath to think,</span> though ${he} has enough to <span class="gold">fear.</span>`);
 								slave.devotion += 2;
@@ -772,7 +772,7 @@ App.SlaveAssignment.clothes = function saClothes(slave) {
 				r.push(`${He} has trouble keeping ${his} fake belly strapped around ${his} huge gut, forcing it to be removed to prevent damage.`);
 				slave.bellyAccessory = "none";
 			} else {
-				if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+				if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 					if (slave.sexualFlaw === "breeder") {
 						r.push(`${He} <span class="mediumorchid">resents</span> being forced to carry a fake pregnancy instead of a real one.`);
 						slave.devotion -= 5;
@@ -825,7 +825,7 @@ App.SlaveAssignment.clothes = function saClothes(slave) {
 	function legAccessories(slave) {
 		if (slave.shoes === "heels") {
 			if (hasAnyNaturalLegs(slave)) {
-				if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+				if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 					if (slave.devotion < -20) {
 						r.push(`${He} <span class="mediumorchid">resents being forced</span> to wear high heels.`);
 						slave.devotion -= 2;
@@ -848,7 +848,7 @@ App.SlaveAssignment.clothes = function saClothes(slave) {
 			}
 		} else if (slave.shoes === "boots") {
 			if (hasAnyNaturalLegs(slave)) {
-				if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+				if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 					if (slave.devotion < -20) {
 						r.push(`${He} <span class="mediumorchid">resents being forced</span> to wear high heeled boots.`);
 						slave.devotion -= 2;
@@ -871,7 +871,7 @@ App.SlaveAssignment.clothes = function saClothes(slave) {
 			}
 		} else if (slave.shoes === "extreme heels") {
 			if (hasAnyNaturalLegs(slave)) {
-				if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+				if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 					if (slave.devotion < -20) {
 						r.push(`${He} <span class="mediumorchid">resents being forced</span> to wear <span class="gold">painfully</span> high heels.`);
 						slave.devotion -= 2;
@@ -914,7 +914,7 @@ App.SlaveAssignment.clothes = function saClothes(slave) {
 				r.push(`out of them.`);
 			}
 		} else {
-			if (slave.heels === 1 && !canWalk(slave) && slave.fetish !== "mindbroken") {
+			if (slave.heels === 1 && !canWalk(slave) && slave.fetish !== Fetish.MINDBROKEN) {
 				if (slave.shoes === "pumps") {
 					r.push(`While ${he} can just barely stand with ${his} heeled pumps, ${he} is incapable of taking a step in them.`);
 				}
@@ -945,7 +945,7 @@ App.SlaveAssignment.clothes = function saClothes(slave) {
 				} else {
 					r.push(`${His} pussy easily accommodates the dildo ${he}'s required to wear.`);
 				}
-				if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+				if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 					if (slave.sexualFlaw === "hates penetration" && jsRandom(1, 100) > 50) {
 						r.push(`The habit <span class="green">reduces ${his} dislike of having ${his} pussy filled.</span>`);
 						slave.sexualFlaw = "none";
@@ -972,7 +972,7 @@ App.SlaveAssignment.clothes = function saClothes(slave) {
 					r.push(`${His} pussy accommodates the large dildo ${he}'s required to wear.`);
 				}
 				if (slave.fuckdoll === 0) {
-					if (slave.fetish !== "mindbroken") {
+					if (slave.fetish !== Fetish.MINDBROKEN) {
 						if (slave.vagina < 2) {
 							if (dildo.length === 1) {
 								r.push(`The big dildo in ${his} tight cunt`);
@@ -1009,7 +1009,7 @@ App.SlaveAssignment.clothes = function saClothes(slave) {
 				if (dildo.length === 1) {
 					if (slave.vagina < 4) {
 						if (slave.fuckdoll === 0) {
-							if (slave.fetish !== "mindbroken") {
+							if (slave.fetish !== Fetish.MINDBROKEN) {
 								if (slave.sexualQuirk === "size queen") {
 									r.push(`${He} thinks of the massive dildo stretching out ${his} womanhood as <span class="lime">preparation for the biggest cocks,</span> and <span class="hotpink">looks forward</span> to take anything — dicks, hands, truly anything — inside ${his} newly capacious cunt.`);
 									slave.devotion += 4;
@@ -1057,7 +1057,7 @@ App.SlaveAssignment.clothes = function saClothes(slave) {
 				} else {
 					if (slave.vagina < 4) {
 						if (slave.fuckdoll === 0) {
-							if (slave.fetish !== "mindbroken") {
+							if (slave.fetish !== Fetish.MINDBROKEN) {
 								if (slave.sexualQuirk === "size queen") {
 									r.push(`${He} thinks of the massive dildo stretching out ${his} womanhood and stomach as <span class="lime">preparation for the biggest cocks,</span> and <span class="hotpink">looks forward</span> to take anything — dicks, hands, arms, truly anything — inside ${his} newly capacious cunt.`);
 									slave.devotion += 4;
@@ -1182,7 +1182,7 @@ App.SlaveAssignment.clothes = function saClothes(slave) {
 		const plugDiameter = plugWidth(slave);
 		if (plugDiameter === 1) {
 			if (["cat tail", "cow tail", "fox tail", "tail"].includes(slave.buttplugAttachment)) {
-				if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+				if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 					if (slave.anus < 1) {
 						r.push(`Constantly wearing a tail plug in ${his} virgin butthole <span class="lime">stretches it out</span> and <span class="gold">is a constant degrading reminder of ${his} submission.</span>`);
 						slave.anus += 1;
@@ -1194,7 +1194,7 @@ App.SlaveAssignment.clothes = function saClothes(slave) {
 					smallButtPlugEffects(slave);
 				}
 			} else {
-				if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+				if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 					if (slave.anus < 1) {
 						r.push(`Constantly wearing a plug in ${his} virgin butthole <span class="lime">stretches it out.</span>`);
 						slave.anus += 1;
@@ -1206,7 +1206,7 @@ App.SlaveAssignment.clothes = function saClothes(slave) {
 			}
 		} else if (plugDiameter === 2) {
 			if (["cat tail", "cow tail", "fox tail", "tail"].includes(slave.buttplugAttachment)) {
-				if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+				if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 					if (slave.anus < 2) {
 						r.push(`The uncomfortable tailed plug in ${his} asshole`);
 						if (slave.sexualQuirk === "size queen") {
@@ -1235,7 +1235,7 @@ App.SlaveAssignment.clothes = function saClothes(slave) {
 					largeButtPlugEffect(slave);
 				}
 			} else {
-				if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+				if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 					if (slave.anus < 2) {
 						r.push(`The uncomfortable plug in ${his} asshole`);
 						if (slave.sexualQuirk === "size queen") {
@@ -1265,7 +1265,7 @@ App.SlaveAssignment.clothes = function saClothes(slave) {
 		} else if (plugDiameter === 3) {
 			if (["cat tail", "cow tail", "fox tail", "tail"].includes(slave.buttplugAttachment)) {
 				if (slave.anus < 4) {
-					if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+					if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 						if (slave.sexualQuirk === "size queen") {
 							r.push(`${He} thinks of the horribly huge tailed plug ${he} has wear in ${his} butt as <span class="lime">preparation for the biggest cocks,</span> and <span class="hotpink">looks forward</span> to being able to safely take unlubricated anal from them. Even so, the tail hanging from ${his} rear is <span class="gold">a constant degrading reminder of ${his} submission.</span>`);
 							slave.devotion += 4;
@@ -1317,7 +1317,7 @@ App.SlaveAssignment.clothes = function saClothes(slave) {
 				}
 			} else {
 				if (slave.anus < 4) {
-					if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+					if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 						if (slave.sexualQuirk === "size queen") {
 							r.push(`${He} thinks of the horribly huge plug ${he} has wear in ${his} butt as <span class="lime">preparation for the biggest cocks,</span> and <span class="hotpink">looks forward</span> to being able to safely take unlubricated anal from them.`);
 							slave.devotion += 4;
@@ -1368,7 +1368,7 @@ App.SlaveAssignment.clothes = function saClothes(slave) {
 				}
 			}
 		}
-		if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+		if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 			if (["cat tail", "cow tail", "fox tail", "tail"].includes(slave.buttplugAttachment)) {
 				if (slave.fetish === "humiliation" && slave.fetishKnown === 0) {
 					r.push(`${He} shows a surprising lack of resistance to the routine of having a tail inserted in ${his} ass each morning; ${he} seems to <span class="lightcoral">naturally enjoy the humiliation.</span>`);
diff --git a/src/endWeek/saDiet.js b/src/endWeek/saDiet.js
index 933a49ebb64..76e5c995842 100644
--- a/src/endWeek/saDiet.js
+++ b/src/endWeek/saDiet.js
@@ -26,7 +26,7 @@ App.SlaveAssignment.diet = function saDiet(slave) {
 	}
 	foodEffects(slave);
 	geneticQuirkEffects(slave);
-	if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+	if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 		if (slave.dietCum > 0) {
 			cumDiet(slave);
 		}
@@ -91,7 +91,7 @@ App.SlaveAssignment.diet = function saDiet(slave) {
 				slave.weight -= 9;
 			}
 		} else {
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				if (slave.behavioralFlaw === "anorexic") {
 					if (slave.devotion >= -20) {
 						r.push(`As an anorexic, <span class="devotion inc">${he} derives perverse enjoyment from being underfed.</span>`);
@@ -273,7 +273,7 @@ App.SlaveAssignment.diet = function saDiet(slave) {
 			}
 			weightGainShared(slave);
 		} else {
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				if (slave.behavioralFlaw === "anorexic") {
 					r.push(`Suffering from anorexia, <span class="devotion dec">${he} is intensely resentful of being overfed.</span>`);
 					slave.devotion -= 5;
@@ -930,7 +930,7 @@ App.SlaveAssignment.diet = function saDiet(slave) {
 				slave.balls += 1;
 			}
 		} else {
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				if (slave.attrXX < 80) {
 					r.push(`${He} finds ${himself} <span class="improvement">fantasizing about fucking girls</span> in ${his} free time.`);
 					slave.attrXX += 2;
@@ -1080,7 +1080,7 @@ App.SlaveAssignment.diet = function saDiet(slave) {
 			}
 		}
 		if (slave.fuckdoll === 0) {
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				if (slave.attrXY < 100) {
 					r.push(`${He} begins to find men <span class="change positive">a little more attractive</span> thanks to the female hormones.`);
 					slave.attrXY += 1;
@@ -1176,7 +1176,7 @@ App.SlaveAssignment.diet = function saDiet(slave) {
 			}
 		}
 		if (slave.fuckdoll === 0) {
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				if (slave.attrXX < 100) {
 					r.push(`${He} begins to find women <span class="change positive">a little more attractive</span> thanks to the male hormones.`);
 					slave.attrXX += 1;
@@ -1236,7 +1236,7 @@ App.SlaveAssignment.diet = function saDiet(slave) {
 			slave.waist--;
 		}
 		if (slave.fuckdoll === 0) {
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				if (slave.attrXX < 100) {
 					r.push(`${He} begins to find women <span class="change positive">a little more attractive</span> thanks to ${his} specialized hormones.`);
 					slave.attrXX += 1;
diff --git a/src/endWeek/saDrugs.js b/src/endWeek/saDrugs.js
index f212ff1b2d6..4acad87ebc5 100644
--- a/src/endWeek/saDrugs.js
+++ b/src/endWeek/saDrugs.js
@@ -109,7 +109,7 @@ App.SlaveAssignment.drugs = function saDrugs(slave) {
 				}
 				break;
 			case "psychosuppressants":
-				if (slave.fetish !== "mindbroken") {
+				if (slave.fetish !== Fetish.MINDBROKEN) {
 					r += `The psychosuppressants <span class="hotpink">reduce ${his} ability to question ${his} role</span> or <span class="mediumaquamarine">think independently.</span>`;
 					slave.devotion += 4;
 					slave.trust += 4;
@@ -129,7 +129,7 @@ App.SlaveAssignment.drugs = function saDrugs(slave) {
 				break;
 			case "psychostimulants":
 				r += `${He} takes a cup of <span class="deepskyblue">mind stimulating</span> tea with each meal;`;
-				if (slave.fetish !== "mindbroken") {
+				if (slave.fetish !== Fetish.MINDBROKEN) {
 					r += ` the soothing drink <span class="mediumaquamarine">sets ${his} thoughts at ease.</span>`;
 					if (slave.devotion < -50) {
 						slave.trust += 6;
@@ -1579,7 +1579,7 @@ App.SlaveAssignment.drugs = function saDrugs(slave) {
 						}
 						TerminatePregnancy(slave);
 						actX(slave, "miscarriages");
-						if (slave.fetish !== "mindbroken" && slave.fuckdoll === 0) {
+						if (slave.fetish !== Fetish.MINDBROKEN && slave.fuckdoll === 0) {
 							r += ` ${He} is`;
 							if (slave.devotion < -50) {
 								r += ` <span class="mediumorchid">filled with violent, consuming hatred</span> and <span class="gold">fear.</span> Even though ${he} knew ${his} baby was destined for a slave orphanage, it seems ${he} cared for it and views you as its killer.`;
@@ -1633,7 +1633,7 @@ App.SlaveAssignment.drugs = function saDrugs(slave) {
 		if (slave.health.condition > 90) {
 			r += ` ${His} health is already outstanding and cannot be improved with further drug treatment. <span class="yellow">${His} drug regimen has defaulted to preventatives.</span>`;
 			slave.curatives = 1;
-		} else if ((slave.assignment === Job.REST || slave.assignment === Job.SPA) && (slave.fetish !== "mindbroken")) {
+		} else if ((slave.assignment === Job.REST || slave.assignment === Job.SPA) && (slave.fetish !== Fetish.MINDBROKEN)) {
 			if (slave.inflationType !== "curative" || slave.inflation === 0) {
 				r += ` The curatives ${he}'s taking synergize with rest, keeping ${him} asleep most of the time. This is an <span class="health inc">extremely effective health treatment.</span>`;
 			} else {
@@ -1646,7 +1646,7 @@ App.SlaveAssignment.drugs = function saDrugs(slave) {
 		} else {
 			r += ` <span class="health inc">${His} health improves</span> under curative treatment.`;
 		}
-		if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+		if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 			r += ` ${He} <span class="mediumaquamarine">trusts you more</span> for giving ${him} access to expensive modern medicine.`;
 			slave.trust += 1;
 		}
@@ -1670,7 +1670,7 @@ App.SlaveAssignment.drugs = function saDrugs(slave) {
 			} else {
 				r += `can't improve ${his} absurd sex drive.`;
 			}
-			if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+			if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 				r += ` They <span class="hotpink">increase ${his} acceptance</span> of sexual slavery.`;
 				slave.devotion += 5;
 			}
@@ -1687,7 +1687,7 @@ App.SlaveAssignment.drugs = function saDrugs(slave) {
 			} else {
 				r += `can't improve ${his} absurd sex drive.`;
 			}
-			if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+			if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 				r += ` They <span class="hotpink">increase ${his} acceptance</span> of sexual slavery.`;
 				slave.devotion += 3;
 			}
@@ -1736,7 +1736,7 @@ App.SlaveAssignment.drugs = function saDrugs(slave) {
 				}
 			}
 			if (slave.fuckdoll === 0) {
-				if (slave.fetish !== "mindbroken") {
+				if (slave.fetish !== Fetish.MINDBROKEN) {
 					if (slave.health.condition < -50) {
 						r += ` It's difficult being so in such poor condition, and ${he} <span class="mediumorchid">resents you</span> for ignoring ${his} plight.`;
 						slave.devotion -= 2;
diff --git a/src/endWeek/saGetMilked.js b/src/endWeek/saGetMilked.js
index 198bb955706..f6be86ed80f 100644
--- a/src/endWeek/saGetMilked.js
+++ b/src/endWeek/saGetMilked.js
@@ -330,7 +330,7 @@
 				}
 			}
 
-			if (slave.career === "a dairy cow" && slave.fetish !== "mindbroken" && slave.fuckdoll === 0) {
+			if (slave.career === "a dairy cow" && slave.fetish !== Fetish.MINDBROKEN && slave.fuckdoll === 0) {
 				r.text += ` ${He} feels like <span class="devotion inc">${he} was made to be milked,</span> <span class="trust inc">not that ${he}'d complain about such a good feeling.</span>`;
 				slave.devotion++;
 				slave.trust++;
diff --git a/src/endWeek/saGuardYou.js b/src/endWeek/saGuardYou.js
index e4cef6ec030..533d6777d7e 100644
--- a/src/endWeek/saGuardYou.js
+++ b/src/endWeek/saGuardYou.js
@@ -292,7 +292,7 @@ App.SlaveAssignment.guardYou = function saGuardYou(slave) {
 					}
 				}
 				if (!candidate) {
-					if (V.ConcubineID !== 0 && S.Concubine.skill.combat === 0 && S.Concubine.devotion > 50 && S.Concubine.muscles >= -30 && S.Concubine.weight < 160 && S.Concubine.butt < 10 && S.Concubine.boobs < 25000 && S.Concubine.belly < 5000 && S.Concubine.balls < 20 && S.Concubine.dick < 15 && S.Concubine.fuckdoll === 0 && S.Concubine.fetish !== "mindbroken" && canWalk(S.Concubine)) {
+					if (V.ConcubineID !== 0 && S.Concubine.skill.combat === 0 && S.Concubine.devotion > 50 && S.Concubine.muscles >= -30 && S.Concubine.weight < 160 && S.Concubine.butt < 10 && S.Concubine.boobs < 25000 && S.Concubine.belly < 5000 && S.Concubine.balls < 20 && S.Concubine.dick < 15 && S.Concubine.fuckdoll === 0 && S.Concubine.fetish !== Fetish.MINDBROKEN && canWalk(S.Concubine)) {
 						r.push(`${He} does ${his} best to train ${S.Concubine.slaveName} whenever ${he} can, hoping that your Concubine can be made capable of stepping into ${his} place.`);
 						if (S.Concubine.boobs >= 8000 || S.Concubine.butt >= 10 || S.Concubine.belly >= 5000 || S.Concubine.balls >= 10 || S.Concubine.dick >= 10 || S.Concubine.muscles < 0 || S.Concubine.weight >= 130) {
 							r.push(`${His} body is poorly suited for combat, but ${he} can learn to work around it with enough effort.`);
diff --git a/src/endWeek/saHormonesEffects.js b/src/endWeek/saHormonesEffects.js
index 053971b0012..ea7dd59d90a 100644
--- a/src/endWeek/saHormonesEffects.js
+++ b/src/endWeek/saHormonesEffects.js
@@ -22,7 +22,7 @@ App.SlaveAssignment.hormonesEffects = function saHormonesEffects(slave) {
 	if (slave.physicalAge >= 18 || V.loliGrow === 0 || slave.geneMods.NCS === 1) {
 		hormonesEffects(slave);
 	}
-	if (slave.fetish !== "mindbroken" && slave.fuckdoll === 0) {
+	if (slave.fetish !== Fetish.MINDBROKEN && slave.fuckdoll === 0) {
 		hormoneReactions(slave);
 	}
 
diff --git a/src/endWeek/saInflation.js b/src/endWeek/saInflation.js
index 848d627fc1f..4fe7f677640 100644
--- a/src/endWeek/saInflation.js
+++ b/src/endWeek/saInflation.js
@@ -24,7 +24,7 @@ App.SlaveAssignment.inflation = function saInflation(slave) {
 	if (slave.inflation > 0) {
 		fillUp(slave);
 	}
-	if (slave.fetish !== "mindbroken" && slave.fuckdoll === 0) {
+	if (slave.fetish !== Fetish.MINDBROKEN && slave.fuckdoll === 0) {
 		mentalEffects(slave);
 	}
 	if (slave.inflationType === "milk" || slave.inflationType === "food") {
@@ -249,7 +249,7 @@ App.SlaveAssignment.inflation = function saInflation(slave) {
 				} else {
 					r.push(`can't improve ${his} absurd sex drive.`);
 				}
-				if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+				if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 					r.push(`Besides being humiliating, it chemically <span class="hotpink">increases ${his} acceptance</span> of sexual slavery.`);
 					slave.devotion += 5;
 				}
@@ -270,7 +270,7 @@ App.SlaveAssignment.inflation = function saInflation(slave) {
 				r.push(`${He} makes sure to fill ${his} rear with nearly`);
 				if (slave.inflation === 3) {
 					r.push(`two gallons of a curative solution, leaving ${him} looking ready to burst, whenever ${he} leaks or ${his} body absorbs too much. ${He} keeps ${himself} full for you; the curatives in ${his} gut keeping ${him} healthy despite the pain.`);
-					if ((slave.assignment === Job.REST || slave.assignment === Job.SPA) && slave.fetish !== "mindbroken") {
+					if ((slave.assignment === Job.REST || slave.assignment === Job.SPA) && slave.fetish !== Fetish.MINDBROKEN) {
 						r.push(`The curative enema ${he}'s on synergize with rest, keeping ${him} asleep most of the time. This is an <span class="health inc">extremely effective health treatment,</span> though being filled to ${his} limit doesn't hasten ${his} recovery at all; it's just perverted.`);
 						improveCondition(slave, 4);
 					} else if (slave.health.condition < -20) {
@@ -282,7 +282,7 @@ App.SlaveAssignment.inflation = function saInflation(slave) {
 					improveCondition(slave, 1);
 				} else if (slave.inflation === 2) {
 					r.push(`four liters of a curative solution, leaving ${him} looking pregnant, whenever ${he} leaks or ${his} body absorbs too much. ${He} is full enough to be distended but not enough to grow taut.`);
-					if ((slave.assignment === Job.REST || slave.assignment === Job.SPA) && slave.fetish !== "mindbroken") {
+					if ((slave.assignment === Job.REST || slave.assignment === Job.SPA) && slave.fetish !== Fetish.MINDBROKEN) {
 						r.push(`The curative enema ${he}'s on synergize with rest, keeping ${him} asleep most of the time. This is an <span class="health inc">extremely effective health treatment,</span> though being overfilled doesn't hasten ${his} recovery at all; it's just perverted.`);
 						improveCondition(slave, 4);
 					} else if (slave.health.condition < -20) {
@@ -294,7 +294,7 @@ App.SlaveAssignment.inflation = function saInflation(slave) {
 					improveCondition(slave, 6);
 				} else if (slave.inflation === 1) {
 					r.push(`two liters of a curative solution, leaving ${his} belly noticeably distended, whenever ${he} leaks or ${his} body absorbs too much. ${He} is full enough to be swollen but not enough to visibly jiggle.`);
-					if ((slave.assignment === Job.REST || slave.assignment === Job.SPA) && slave.fetish !== "mindbroken") {
+					if ((slave.assignment === Job.REST || slave.assignment === Job.SPA) && slave.fetish !== Fetish.MINDBROKEN) {
 						r.push(`The curative enema ${he}'s on synergize with rest, keeping ${him} asleep most of the time. This is an <span class="health inc">extremely effective health treatment.</span>`);
 						improveCondition(slave, 4);
 					} else if (slave.health.condition < -20) {
@@ -305,7 +305,7 @@ App.SlaveAssignment.inflation = function saInflation(slave) {
 					}
 					improveCondition(slave, 6);
 				}
-				if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+				if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 					r.push(`${He} <span class="mediumaquamarine">trusts you more</span> for giving ${him} access to expensive modern medicine, even if it is really embarrassing to be seen with that belly.`);
 					slave.trust += 1;
 				}
diff --git a/src/endWeek/saLiveWithHG.js b/src/endWeek/saLiveWithHG.js
index df6a6a3c323..dcbb142ce2b 100644
--- a/src/endWeek/saLiveWithHG.js
+++ b/src/endWeek/saLiveWithHG.js
@@ -684,7 +684,7 @@ App.SlaveAssignment.liveWithHG = function saliveWithHG(slave) {
 	 * @param {App.Entity.SlaveState} HG
 	 */
 	function HGCausesFetish(slave, HG) {
-		if (fetishChangeChance(slave) > random(0, 100) && HG.fetishKnown === 1 && HG.fetishStrength > 60 && slave.fetish !== "mindbroken") {
+		if (fetishChangeChance(slave) > random(0, 100) && HG.fetishKnown === 1 && HG.fetishStrength > 60 && slave.fetish !== Fetish.MINDBROKEN) {
 			if (HG.fetish === Fetish.SUBMISSIVE) {
 				if (slave.fetish !== "dom") {
 					r.push(`${slave.slaveName} slowly gets used to ${HG.slaveName}'s need to be sexually dominated, and begins to <span class="fetish gain">enjoy being a top</span> within the confines of the suite.`);
@@ -1374,7 +1374,7 @@ App.SlaveAssignment.liveWithHG = function saliveWithHG(slave) {
 			r.push(rulesAutosurgery(slave, getHGSurgeryTargets()));
 		}
 		if (HG.fetishKnown === 1) {
-			if (HG.fetish === "sadist" && HG.fetishStrength > 95 && V.seeExtreme === 1 && slave.fetish !== "mindbroken") {
+			if (HG.fetish === "sadist" && HG.fetishStrength > 95 && V.seeExtreme === 1 && slave.fetish !== Fetish.MINDBROKEN) {
 				if (slave.health.condition > 40) {
 					if (hasAnyNaturalLimbs(slave) && slave.devotion < -20) {
 						let frag = `${HG.slaveName} decides to extract the ultimate in sadistic pleasure from ${slave.slaveName}, and directs the autosurgery to <span class="health dec">amputate ${his}`;
@@ -1420,7 +1420,7 @@ App.SlaveAssignment.liveWithHG = function saliveWithHG(slave) {
 					applyMindbroken(slave);
 					surgeryDamage(slave, 20);
 				}
-			} else if (HG.fetish === "dom" && HG.fetishStrength > 60 && V.seeExtreme === 1 && slave.fetish !== "mindbroken" && slave.devotion <= 50) {
+			} else if (HG.fetish === "dom" && HG.fetishStrength > 60 && V.seeExtreme === 1 && slave.fetish !== Fetish.MINDBROKEN && slave.devotion <= 50) {
 				if (slave.health.condition > 40) {
 					if (slave.heels === 0 && hasAnyNaturalLegs(slave)) {
 						r.push(`${HG.slaveName} is not satisfied with ${slave.slaveName}'s submissiveness, and directs the autosurgery to <span class="health dec">clip ${his} Achilles tendons.</span> Once the slave has recovered from surgery, ${HG.slaveName} removes all shoes from the suite, too, so ${slave.slaveName} is forced to crawl like a good little bitch. ${slave.slaveName} is <span class="devotion dec">angry</span> and <span class="trust dec">frightened.</span>`);
@@ -1438,7 +1438,7 @@ App.SlaveAssignment.liveWithHG = function saliveWithHG(slave) {
 					}
 				}
 			} else if (HG.energy > 95) {
-				if (slave.health.condition > 40 && slave.heels === 0 && hasAnyNaturalLegs(slave) && slave.devotion <= 50 && slave.fetish !== "mindbroken") {
+				if (slave.health.condition > 40 && slave.heels === 0 && hasAnyNaturalLegs(slave) && slave.devotion <= 50 && slave.fetish !== Fetish.MINDBROKEN) {
 					r.push(`${HG.slaveName} wants a good little bimbo who sticks ${his} butt out all the time, and directs the autosurgery to <span class="health dec">clip ${slave.slaveName}'s Achilles tendons.</span> Once the slave has recovered from surgery, ${HG.slaveName} presents ${slave.slaveName} with a new pair of extra-tall heels to totter around in like a good little slut. ${slave.slaveName} is <span class="devotion dec">angry</span> and <span class="trust dec">frightened.</span>`);
 					slave.devotion -= 5;
 					slave.trust -= 5;
diff --git a/src/endWeek/saLongTermEffects.js b/src/endWeek/saLongTermEffects.js
index 5aeafe07e87..e41ef2539e9 100644
--- a/src/endWeek/saLongTermEffects.js
+++ b/src/endWeek/saLongTermEffects.js
@@ -46,7 +46,7 @@ App.SlaveAssignment.longTermEffects = function saLongTermEffects(slave) {
 	}
 	bellySagging(slave);
 	bellyImplantStuff(slave);
-	if (slave.fetish !== "mindbroken") {
+	if (slave.fetish !== Fetish.MINDBROKEN) {
 		mindbreak(slave);
 		if (slave.fuckdoll === 0) {
 			mentalTension(slave);
@@ -62,13 +62,13 @@ App.SlaveAssignment.longTermEffects = function saLongTermEffects(slave) {
 	r.push(App.SlaveAssignment.saSocialEffects(slave));
 	if (slave.fuckdoll === 0) { // swap to fuckdoll suit in the future
 		brandEffects(slave);
-		if (slave.fetish !== "mindbroken") {
+		if (slave.fetish !== Fetish.MINDBROKEN) {
 			disabilityEffects(slave);
 		}
 	}
 	r.push(App.SlaveAssignment.longTermPhysicalEffects(slave));
 	anaphrodisiacEffects(slave, oldEnergy); // must come after all .energy gains!
-	if (slave.accent > 0 && slave.fetish !== "mindbroken") {
+	if (slave.accent > 0 && slave.fetish !== Fetish.MINDBROKEN) {
 		languageLearning(slave);
 	}
 	if (slave.prestige > 0) {
@@ -226,7 +226,7 @@ App.SlaveAssignment.longTermEffects = function saLongTermEffects(slave) {
 					r.push(`phalli`);
 				}
 				r.push(`that are currently inside ${him}, as hard as ${he} possibly can.`);
-				if (slave.fetish !== "none" && slave.fetish !== "mindbroken") {
+				if (slave.fetish !== "none" && slave.fetish !== Fetish.MINDBROKEN) {
 					r.push(`${He} <span class="fetish loss">no longer retains any sexual preferences</span> at all. ${He} just wants to be penetrated.`);
 					slave.fetish = "none";
 					slave.fetishStrength = 0;
@@ -789,12 +789,12 @@ App.SlaveAssignment.longTermEffects = function saLongTermEffects(slave) {
 				slave.energy--;
 			}
 			if (supp === 1) {
-				if ((slave.attrXX !== 50 || slave.attrXY !== 50) && slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+				if ((slave.attrXX !== 50 || slave.attrXY !== 50) && slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 					r.push(`<span class="stat drop">suppressed,</span> alongside what ${he} <span class="stat drop">finds sexually attractive.</span> Though that may not be a bad thing, should ${he} find a sex repulsive.`);
 				} else {
 					r.push(`<span class="stat drop">suppressed.</span>`);
 				}
-			} else if ((slave.attrXX !== 50 || slave.attrXY !== 50) && slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+			} else if ((slave.attrXX !== 50 || slave.attrXY !== 50) && slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 				r.push(`${His} <span class="stat drop">sexual tastes are also suppressed by the drugs,</span> though that may not be a bad thing should ${he} find a sex repulsive.`);
 			}
 			if (slave.attrXX > 50) {
@@ -1163,7 +1163,7 @@ App.SlaveAssignment.longTermEffects = function saLongTermEffects(slave) {
 			r.push(`with the weight of the fake belly resting on ${his} swollen stomach, forcing it to be removed.`);
 			slave.bellyAccessory = "none";
 		}
-		if (slave.fetish !== "mindbroken" && slave.fuckdoll === 0) {
+		if (slave.fetish !== Fetish.MINDBROKEN && slave.fuckdoll === 0) {
 			if (slave.bellyFluid >= 10000) {
 				if (slave.fetish !== "masochist" && slave.sexualFlaw !== "self hating") {
 					r.push(`Being so distended with fluids is <span class="devotion dec">very uncomfortable</span> to ${him}.`);
@@ -1489,7 +1489,7 @@ App.SlaveAssignment.longTermEffects = function saLongTermEffects(slave) {
 	function bellyImplantStuff(slave) {
 		if (slave.bellyImplant >= 5000) {
 			if (slave.fuckdoll === 0) {
-				if (slave.fetish !== "mindbroken") {
+				if (slave.fetish !== Fetish.MINDBROKEN) {
 					if ((slave.fetish === "none" || slave.fetishStrength <= 10) && slave.devotion > 20 && random(1, 100) > 85) {
 						r.push(`Having an implant simulating pregnancy drives ${him} to <span class="fetish gain">begin fantasizing about being actually pregnant.</span>`);
 						slave.fetish = "pregnancy";
@@ -2370,7 +2370,7 @@ App.SlaveAssignment.longTermEffects = function saLongTermEffects(slave) {
 					} else {
 						r.push(`${His} overwhelmed body has <span class="miscarriage">forced ${him} to miscarry,</span> possibly saving ${his} life.`);
 						slave.preg = rulesDemandContraceptives(slave, V.defaultRules) ? -1 : 0;
-						if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+						if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 							if (slave.sexualFlaw === "breeder") {
 								r.push(`${He} is <span class="devotion dec">filled with violent, all-consuming hatred</span> at ${himself} for failing to carry to term and you for allowing this to happen.`);
 								if (slave.pregType > 4) {
diff --git a/src/endWeek/saLongTermMentalEffects.js b/src/endWeek/saLongTermMentalEffects.js
index e39b6b36c8b..9b0b8391429 100644
--- a/src/endWeek/saLongTermMentalEffects.js
+++ b/src/endWeek/saLongTermMentalEffects.js
@@ -36,7 +36,7 @@ App.SlaveAssignment.longTermMentalEffects = function saLongTermMentalEffects(sla
 		careerEffects(slave);
 	}
 	r.push(App.SlaveAssignment.saSmartPiercingEffects(slave));
-	if (slave.fetish !== "mindbroken" && slave.fuckdoll === 0) {
+	if (slave.fetish !== Fetish.MINDBROKEN && slave.fuckdoll === 0) {
 		organicFetishDevelopments(slave);
 		if (slave.fetishKnown !== 0 && slave.fetish !== "none") {
 			paraphiliaAcquisition(slave);
diff --git a/src/endWeek/saLongTermPhysicalEffects.js b/src/endWeek/saLongTermPhysicalEffects.js
index eed33abbd6d..f7e65119c1e 100644
--- a/src/endWeek/saLongTermPhysicalEffects.js
+++ b/src/endWeek/saLongTermPhysicalEffects.js
@@ -46,13 +46,13 @@ App.SlaveAssignment.longTermPhysicalEffects = function saLongTermPhysicalEffects
 	if (slave.fuckdoll === 0) {
 		mobility(slave);
 		hugeBreasts(slave);
-		if (slave.fetish !== "mindbroken" && isSlaveAvailable(slave)) {
+		if (slave.fetish !== Fetish.MINDBROKEN && isSlaveAvailable(slave)) {
 			boobAccessibility(slave);
 		}
 	}
 	hugeBelly(slave);
 	if (slave.fuckdoll === 0) {
-		if (slave.fetish !== "mindbroken" && isSlaveAvailable(slave)) {
+		if (slave.fetish !== Fetish.MINDBROKEN && isSlaveAvailable(slave)) {
 			bellyAccessibility(slave);
 			hugeDick(slave);
 			dickAccessibility(slave);
@@ -106,7 +106,7 @@ App.SlaveAssignment.longTermPhysicalEffects = function saLongTermPhysicalEffects
 	 */
 	function teeth(slave) {
 		if (slave.teeth === "straightening braces") {
-			if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+			if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 				if (slave.devotion <= 20) {
 					r.push(`${His} mouth full of orthodontia is quite uncomfortable,`);
 					if (totalInt > 15) {
@@ -445,7 +445,7 @@ App.SlaveAssignment.longTermPhysicalEffects = function saLongTermPhysicalEffects
 	 *
 	 */
 	function adjustSexualAppetite(slave) {
-		if (slave.fetish !== "mindbroken") { // future proofing for mindbreak-pleasure
+		if (slave.fetish !== Fetish.MINDBROKEN) { // future proofing for mindbreak-pleasure
 			if (slave.devotion > 95) {
 				if (slave.energy <= 50) {
 					r.push(`${He}'s so worshipful of you that ${he} derives erotic satisfaction simply from being your slave, giving ${him} <span class="libido inc">more of an appetite for sex.</span>`);
@@ -1358,7 +1358,7 @@ App.SlaveAssignment.longTermPhysicalEffects = function saLongTermPhysicalEffects
 					}
 				}
 				if (slave.preg > 30) {
-					if (slave.fetish !== "mindbroken" && slave.fuckdoll === 0) {
+					if (slave.fetish !== Fetish.MINDBROKEN && slave.fuckdoll === 0) {
 						if (hasAnyArms(slave)) {
 							if (slave.devotion < -20) {
 								r.push(`When ${he} isn't laboring or performing ${his} duties ${he} can be seen pressing down on ${his} grotesque belly desperately trying to coax the device out of ${his} body. ${He} is <span class="trust dec">mortified</span> by ${his} body and <span class="devotion dec">loathes you</span> for doing this to ${him}.`);
@@ -1402,12 +1402,12 @@ App.SlaveAssignment.longTermPhysicalEffects = function saLongTermPhysicalEffects
 						}
 						if (slave.counter.births > 100 && slave.devotion <= 20 && slave.trust <= 20) {
 							r.push(`Being constantly pregnant and giving birth to over a hundred offspring has taken its toll on ${slave.slaveName}'s mind. Feeling that ${he} is nothing more than a breeder has destroyed any hopes that ${he} had. ${slave.slaveName} has become <span class="mindbreak">completely broken,</span> leaving ${him} nothing more than a baby-filled sack.`);
-							slave.fetish = "mindbroken";
+							slave.fetish = Fetish.MINDBROKEN;
 							slave.sexualFlaw = "none";
 							slave.behavioralFlaw = "none";
 						} else if (slave.weight <= -95 && slave.boobs < 100 && slave.butt < 1 && slave.muscles < -95) {
 							r.push(`Watching ${his} body sacrifice itself for a pregnancy ${he} hates takes its toll on ${slave.slaveName}'s mind. Feeling that ${he} is nothing more than a host for ${his} brood has destroyed any hopes ${he} had left. ${slave.slaveName} has become <span class="mindbreak">completely broken.</span>`);
-							slave.fetish = "mindbroken";
+							slave.fetish = Fetish.MINDBROKEN;
 							slave.sexualFlaw = "none";
 							slave.behavioralFlaw = "none";
 						}
@@ -1579,7 +1579,7 @@ App.SlaveAssignment.longTermPhysicalEffects = function saLongTermPhysicalEffects
 				}
 			}
 			r.push(`making ${his} life more difficult.`);
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				if (mobility) {
 					if (slave.rules.mobility === "restrictive") {
 						if (slave.devotion < -20) {
@@ -1688,7 +1688,7 @@ App.SlaveAssignment.longTermPhysicalEffects = function saLongTermPhysicalEffects
 			} else {
 				r.push(`${He} requires help to do nearly everything, which`);
 			}
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				if (likesImmobility) {
 					r.push(`suits ${his} fetish just fine.`);
 				} else if (slave.devotion > 50) {
@@ -2364,7 +2364,7 @@ App.SlaveAssignment.longTermPhysicalEffects = function saLongTermPhysicalEffects
 		}
 
 		/* body inconvenience */
-		if (slave.fuckdoll !== 0 && slave.fetish !== "mindbroken" && isSlaveAvailable(slave)) {
+		if (slave.fuckdoll !== 0 && slave.fetish !== Fetish.MINDBROKEN && isSlaveAvailable(slave)) {
 			const belly = bellyAdjective(slave);
 			if (slave.physicalAge < 4) {
 				if (slave.belly >= 150000) {
diff --git a/src/endWeek/saPleaseYou.js b/src/endWeek/saPleaseYou.js
index 625b7775ff1..bc06ef2e273 100644
--- a/src/endWeek/saPleaseYou.js
+++ b/src/endWeek/saPleaseYou.js
@@ -53,7 +53,7 @@ App.SlaveAssignment.pleaseYou = function saPleaseYou(slave) {
 	physicalEffects(slave);
 	const familyMult = familyBonus(slave);
 	addRep(slave, familyMult);
-	if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+	if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 		mentalEffects(slave);
 	}
 
@@ -101,7 +101,7 @@ App.SlaveAssignment.pleaseYou = function saPleaseYou(slave) {
 		physicalEffects(slave);
 		const familyMult = familyBonus(slave);
 		addRep(slave, familyMult);
-		if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+		if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 			mentalEffects(slave);
 		}
 
@@ -201,7 +201,7 @@ App.SlaveAssignment.pleaseYou = function saPleaseYou(slave) {
 				}
 				r.push(`enjoyable sex with you draws ${him} <span class="hotpink">closer to you</span> and encourages ${him} to <span class="mediumaquamarine">trust you.</span>`);
 			}
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				if (slave.sexualFlaw === "hates penetration" && slave.devotion > 50) {
 					r.push(`The emotional closeness <span class="green">resolves ${his} hatred of penetration.</span>`);
 					slave.sexualFlaw = "none";
@@ -212,7 +212,7 @@ App.SlaveAssignment.pleaseYou = function saPleaseYou(slave) {
 				}
 			}
 			if (V.PC.dick !== 0) {
-				if (slave.fetish !== "mindbroken") {
+				if (slave.fetish !== Fetish.MINDBROKEN) {
 					if (slave.fetish === Fetish.SUBMISSIVE) {
 						r.push(`${He} frequently climaxes with your`);
 						if (V.PC.title === 1) {
@@ -365,7 +365,7 @@ App.SlaveAssignment.pleaseYou = function saPleaseYou(slave) {
 				}
 				r.push(`climaxing to your penetration of ${his} rear brings ${him} <span class="hotpink">closer to you</span> and encourages ${him} to <span class="mediumaquamarine">trust you.</span>`);
 			}
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				if (slave.sexualFlaw === "hates anal" && slave.devotion > 50) {
 					r.push(`${He}'s devoted enough to derive emotional closeness from buttsex, which <span class="green">resolves ${his} hatred of the act.</span>`);
 					slave.sexualFlaw = "none";
@@ -590,7 +590,7 @@ App.SlaveAssignment.pleaseYou = function saPleaseYou(slave) {
 				}
 				r.push(`giving you pleasure brings ${him} <span class="hotpink">closer to you</span> and encourages ${him} to <span class="mediumaquamarine">trust you.</span>`);
 			}
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				if (slave.sexualFlaw === "hates oral" && slave.devotion > 50) {
 					r.push(`${He}'s devoted enough to derive emotional closeness from giving you oral, which <span class="green">resolves ${his} hatred of the act.</span>`);
 					slave.sexualFlaw = "none";
@@ -806,7 +806,7 @@ App.SlaveAssignment.pleaseYou = function saPleaseYou(slave) {
 				}
 				r.push(`giving you pleasure brings ${him} <span class="hotpink">closer to you</span> and encourages ${him} to <span class="mediumaquamarine">trust you.</span>`);
 			}
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				if (slave.sexualFlaw === "hates oral" && slave.devotion > 50) {
 					r.push(`${He}'s devoted enough to derive emotional closeness from giving you oral, which <span class="green">resolves ${his} hatred of the act.</span>`);
 					slave.sexualFlaw = "none";
@@ -1137,7 +1137,7 @@ App.SlaveAssignment.pleaseYou = function saPleaseYou(slave) {
 				r.push(`enjoyable sex with you draws ${him} <span class="hotpink">closer to you</span> and encourages ${him} to <span class="mediumaquamarine">trust you.</span>`);
 			}
 		}
-		if (slave.fetish !== "mindbroken") {
+		if (slave.fetish !== Fetish.MINDBROKEN) {
 			if (slave.behavioralFlaw === "hates women" && V.PC.title === 0 && V.PC.vagina !== -1 && V.PC.dick === 0 && slave.devotion > 20) {
 				r.push(`Spending so much intimate time with an attractive woman <span class="green">reconciles ${him} to serving the fairer sex.</span>`);
 				slave.behavioralFlaw = "none";
@@ -1403,7 +1403,7 @@ App.SlaveAssignment.pleaseYou = function saPleaseYou(slave) {
 		mammaryUse = Math.trunc((mammaryUse / demand) * acts);
 
 		if (slave.fuckdoll === 0) {
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				if (slave.skill.oral < 100) {
 					r.push(`After a lot of time spent with`);
 					if (V.PC.dick !== 0) {
@@ -1658,7 +1658,7 @@ App.SlaveAssignment.pleaseYou = function saPleaseYou(slave) {
 	function addRep(slave, familyMult) {
 		let multiplier = 0.1 + familyMult;
 		if (slave.fuckdoll === 0) {
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				if (slave.relationship === -2) {
 					multiplier += 0.04;
 				} else if (slave.relationship === -3 && slave.devotion > 50) {
@@ -1726,7 +1726,7 @@ App.SlaveAssignment.pleaseYou = function saPleaseYou(slave) {
 			} else if (slave.porn.prestige > 1) {
 				r.push(`Having a rising porn star to sate your urges with <span class="green">demonstrates how well off you are.</span>`);
 			}
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				if (slave.relationship === -2) {
 					r.push(`${His} satisfaction with ${his} place near you is obvious, <span class="green">bringing attention</span> to how completely you've broken ${him}.`);
 				} else if (slave.relationship === -3 && slave.devotion > 50) {
diff --git a/src/endWeek/saPregnancy.js b/src/endWeek/saPregnancy.js
index 5be39258e40..e5bd63bc765 100644
--- a/src/endWeek/saPregnancy.js
+++ b/src/endWeek/saPregnancy.js
@@ -30,13 +30,13 @@ App.SlaveAssignment.pregnancy = function saPregnancy(slave) {
 	 */
 	function pregnancyEffects(slave) {
 		pregnancyDiscovery(slave);
-		if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+		if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 			pregnancyLibido(slave);
 		}
 		fetalAdjustment(slave);
 		if (slave.preg >= slave.pregData.normalBirth / 4) {
 			pregnancyAdjustments(slave);
-			if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+			if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 				pregnancyMentalEffects(slave);
 			}
 			pregnancyPhysicalEffects(slave);
@@ -790,7 +790,7 @@ App.SlaveAssignment.pregnancy = function saPregnancy(slave) {
 	function needToBreed(slave) {
 		if (slave.geneticQuirks.uterineHypersensitivity === 2) {
 			slave.need *= 2;
-			if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+			if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 				if (slave.fetish !== "pregnancy") {
 					if (slave.fetishStrength > 10) {
 						r.push(`${He} feels a constant compulsion to breed, <span class="fetish loss">steadily eroding ${his} sexuality.</span>`);
@@ -888,7 +888,7 @@ App.SlaveAssignment.pregnancy = function saPregnancy(slave) {
 				r.push(`cunt,`);
 			}
 			r.push(`you keep ${him} around as you fuck other slaves so you can pull out of them, shove your cock into ${him}, and fill ${him} with your seed anyway.`);
-			if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+			if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 				if (slave.devotion <= 20 && slave.trust >= -20) {
 					r.push(`${He} attempts to resist this treatment, and spends most of ${his} days bound securely, with your cum dripping out of ${his}`);
 					if (slave.mpreg === 1) {
@@ -976,7 +976,7 @@ App.SlaveAssignment.pregnancy = function saPregnancy(slave) {
 				} else {
 					r.push(`Head Girl approaches dutifully.`);
 				}
-				if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+				if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 					if (slave.career === "a dairy cow" && slave.devotion <= 20) {
 						r.push(`${slave.slaveName} feels a need to be bred by the Head Girl, and submits ${himself} to ${his} superior's virile cock until <span class="pregnant">conception</span> is verified.`);
 					} else if (slave.devotion <= 20 && slave.trust >= -20) {
@@ -1054,7 +1054,7 @@ App.SlaveAssignment.pregnancy = function saPregnancy(slave) {
 			const {
 				He2, he2, his2, him2, himself2,
 			} = getPronouns(Stud).appendSuffix('2');
-			if ((slave.StudExclude === 1 || slave.breedingMark === 1) && (Stud.career !== "a breeding bull" || Stud.fetish !== "mindbroken" || !canMove(Stud))) {
+			if ((slave.StudExclude === 1 || slave.breedingMark === 1) && (Stud.career !== "a breeding bull" || Stud.fetish !== Fetish.MINDBROKEN || !canMove(Stud))) {
 				r.push(`It's ${Stud.slaveName}'s role to provide sperm for fertile slaves, but ${slave.slaveName} is not included on the list.`);
 			} else if (V.universalHGImpregnateMasterSuiteToggle === 1 && ["serve in the master suite", "be your Concubine"].includes(slave.assignment)) {
 				r.push(`It's ${Stud.slaveName}'s role to provide sperm for fertile slaves, but ${slave.slaveName} is off-limits.`);
@@ -1235,7 +1235,7 @@ App.SlaveAssignment.pregnancy = function saPregnancy(slave) {
 					StudRandiness = 1;
 				}
 				// slave's response to the deed
-				if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+				if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 					if (Stud.fuckdoll > 0) {
 						if (slave.career === "a dairy cow" && slave.devotion <= 20) {
 							r.push(`${slave.slaveName} <span class="devotion dec">is not amused</span> that ${he} is expected to use a syringe to <span class="pregnant">inseminate ${himself}.</span>`);
@@ -1604,7 +1604,7 @@ App.SlaveAssignment.pregnancy = function saPregnancy(slave) {
 					/* these assignments are safe from random impregnation */
 					break;
 				case "be your Concubine":
-					if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken" && canImpreg(slave, V.PC)) {
+					if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN && canImpreg(slave, V.PC)) {
 						if (slave.pregKnown === 0) {
 							r.push(`As your concubine, ${he} takes care to only share ${his} fertile`);
 							if (slave.mpreg === 1) {
diff --git a/src/endWeek/saRelationships.js b/src/endWeek/saRelationships.js
index adcc39cb4b7..929d71d9f3f 100644
--- a/src/endWeek/saRelationships.js
+++ b/src/endWeek/saRelationships.js
@@ -15,7 +15,7 @@ App.SlaveAssignment.relationships = function saRelationships(slave) {
 		if (slave.relationship > 0) {
 			sanityCheck(slave);
 		}
-		if (slave.relationship === 0 && slave.fetish !== "mindbroken") {
+		if (slave.relationship === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 			generateRelationship(slave);
 		} else if (slave.relationship !== 0) {
 			existingRelationship(slave);
@@ -23,7 +23,7 @@ App.SlaveAssignment.relationships = function saRelationships(slave) {
 				consummateRelationship(slave);
 			}
 		}
-		if (slave.fetish !== "mindbroken" && totalRelatives(slave) > 0) {
+		if (slave.fetish !== Fetish.MINDBROKEN && totalRelatives(slave) > 0) {
 			familyFeelings(slave);
 		}
 	}
@@ -36,7 +36,7 @@ App.SlaveAssignment.relationships = function saRelationships(slave) {
 	 * @returns {boolean}
 	 */
 	function canStartFriendship(slave, potentialFriend) {
-		return (potentialFriend.relationship === 0 && slave.rivalryTarget !== potentialFriend.ID && potentialFriend.ID !== slave.ID && potentialFriend.fetish !== "mindbroken" && potentialFriend.fuckdoll === 0 && isSlaveAvailable(potentialFriend));
+		return (potentialFriend.relationship === 0 && slave.rivalryTarget !== potentialFriend.ID && potentialFriend.ID !== slave.ID && potentialFriend.fetish !== Fetish.MINDBROKEN && potentialFriend.fuckdoll === 0 && isSlaveAvailable(potentialFriend));
 	}
 
 	/** Does the facility head accept her advances?
@@ -137,7 +137,7 @@ App.SlaveAssignment.relationships = function saRelationships(slave) {
 				startFriendship(slave, potentialFriend, 4);
 			}
 		} else if (slave.origin === "You were acquainted with $him before you were an arcology owner; your rival tried to use $him to manipulate you, but you rescued $him." && V.rival.duration > 20 && !["Intellectual Dependency", "Paternalism", "Racial Supremacism", "Slave Professionalism"].includes(V.rival.FS.name) && slave.newGamePlus === 0) {
-			const potentialFriend = V.slaves.find((s) => (s.prestigeDesc === "You bankrupted and enslaved $him in revenge for $his part in the attack on your arcology by the Daughters of Liberty." && s.fuckdoll === 0 && s.fetish !== "mindbroken" && s.newGamePlus === 0));
+			const potentialFriend = V.slaves.find((s) => (s.prestigeDesc === "You bankrupted and enslaved $him in revenge for $his part in the attack on your arcology by the Daughters of Liberty." && s.fuckdoll === 0 && s.fetish !== Fetish.MINDBROKEN && s.newGamePlus === 0));
 			if (potentialFriend !== undefined) {
 				r.push(`${slave.slaveName} greets ${potentialFriend.slaveName} with joy, happy to see a familiar face again. Without any regard to you, <span class="relationship">they continue their prior relationship.</span>`);
 				if (potentialFriend.relationship > 0) { // remove me with multi-friend system
@@ -256,7 +256,7 @@ App.SlaveAssignment.relationships = function saRelationships(slave) {
 									startFriendship(slave, potentialFriend, 1);
 									break;
 								} else {
-									if (slave.devotion < -20 && potentialFriend.fetish !== "mindbroken") {
+									if (slave.devotion < -20 && potentialFriend.fetish !== Fetish.MINDBROKEN) {
 										r.push(`${slave.slaveName} tries to strike up a friendship with the Concubine, ${potentialFriend.slaveName}, and is gently <span class="devotion inc">counseled</span> by ${him2} that such things are against the rules.`);
 										slave.devotion += 1;
 									}
@@ -861,7 +861,7 @@ App.SlaveAssignment.relationships = function saRelationships(slave) {
 			const repType = relative.ID === -1 ? "PCRelationships" : "SlaveRelationships";
 			const whose = relative.ID === -1 ? "your" : "their";
 
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				if (relative.ID === -1) {
 					r.push(`${He}`);
 				} else {
@@ -1023,7 +1023,7 @@ App.SlaveAssignment.relationships = function saRelationships(slave) {
 				}
 				slave.attrXY += 2;
 			}
-			if (lover.fetish !== "none" && lover.fetish !== "mindbroken" && slave.fetishStrength <= 95 && lover.fetish !== slave.fetish && fetishChangeChance(slave) > (random(0, 100) - (slave.relationship * 5))) {
+			if (lover.fetish !== "none" && lover.fetish !== Fetish.MINDBROKEN && slave.fetishStrength <= 95 && lover.fetish !== slave.fetish && fetishChangeChance(slave) > (random(0, 100) - (slave.relationship * 5))) {
 				switch (lover.fetish) {
 					case "boobs":
 						r.push(`After experiencing ${lover.slaveName}'s love of breasts, both ${his2} own and ${slave.slaveName}'s, ${slave.slaveName} happily joins ${him2} as a <span class="fetish gain">boob fanatic.</span>`);
diff --git a/src/endWeek/saRest.js b/src/endWeek/saRest.js
index 0cfb0568fa9..0f2f2333788 100644
--- a/src/endWeek/saRest.js
+++ b/src/endWeek/saRest.js
@@ -34,7 +34,7 @@ App.SlaveAssignment.rest = function(slave) {
 		}
 	}
 
-	if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken") {
+	if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN) {
 		if (slave.devotion > 20) {
 			if (slave.trust <= 20) {
 				t += ` Being allowed to rest <span class="trust inc">reduces ${his} fear</span> of you.`;
diff --git a/src/endWeek/saRivalries.js b/src/endWeek/saRivalries.js
index 0546fdff159..bc160cac609 100644
--- a/src/endWeek/saRivalries.js
+++ b/src/endWeek/saRivalries.js
@@ -33,7 +33,7 @@ App.SlaveAssignment.rivalries = function saRivalries(slave) {
 	function canStartRivalry(slave) {
 		const headstrong = (slave.devotion < jsRandom(20, 100)) && (slave.trust > jsRandom(-100, -20));
 		const distant = (slave.assignment === Job.AGENTPARTNER || slave.assignment === Job.AGENT);
-		return (slave.rivalry === 0 && slave.fetish !== "mindbroken" && slave.fuckdoll === 0 && !distant && headstrong);
+		return (slave.rivalry === 0 && slave.fetish !== Fetish.MINDBROKEN && slave.fuckdoll === 0 && !distant && headstrong);
 	}
 
 	/**
diff --git a/src/endWeek/saSocialEffects.js b/src/endWeek/saSocialEffects.js
index 8fb51f0f20c..d1ab2bd2cb8 100644
--- a/src/endWeek/saSocialEffects.js
+++ b/src/endWeek/saSocialEffects.js
@@ -356,11 +356,11 @@ App.SlaveAssignment.saSocialEffects = function(slave) {
 			if (slave.geneMods.NCS > 0 && slave.visualAge <= V.potencyAge && slave.physicalAge >= V.potencyAge) {
 				t.push(new SocialEffect("Paternalist", 1, "NCS Youthening",
 					`Society <span class="green">approves</span> of you keeping ${slave.slaveName} perpetually young and innocent looking so you can keep taking care of ${him}; this advances paternalistic ideals.`));
-			} else if (slave.intelligenceImplant >= 15 && slave.fetish !== "mindbroken") {
+			} else if (slave.intelligenceImplant >= 15 && slave.fetish !== Fetish.MINDBROKEN) {
 				t.push(new SocialEffect("Paternalist", 1, "Educated",
 					`Society <span class="green">approves</span> of ${slave.slaveName} being properly educated; this advances ideas about slave improvement.`));
 			}
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				if (slave.intelligenceImplant <= -15) {
 					t.push(new SocialEffect("Paternalist", -2, "Miseducated",
 						`Society <span class="red">is appalled</span> by ${slave.slaveName}'s twisted education; it goes against paternalistic values.`));
@@ -917,7 +917,7 @@ App.SlaveAssignment.saSocialEffects = function(slave) {
 	function makeShelterGirlEffects() {
 		let t = [];
 		if (slave.fuckdoll === 0) {
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				if (isShelterSlave(slave)) {
 					if ([Job.CLUB, Job.PUBLIC, Job.WHORE, Job.BROTHEL].includes(slave.assignment)) {
 						if (slave.trust > 20 && slave.health.condition > 40) {
diff --git a/src/endWeek/saStayConfined.js b/src/endWeek/saStayConfined.js
index f70ce07583f..0d5cd6f70bd 100644
--- a/src/endWeek/saStayConfined.js
+++ b/src/endWeek/saStayConfined.js
@@ -17,7 +17,7 @@ App.SlaveAssignment.stayConfined = function(slave) {
 	let t = "";
 	let brokenSlaves = false;
 
-	if (slave.fetish !== "mindbroken") {
+	if (slave.fetish !== Fetish.MINDBROKEN) {
 		if (slave.devotion < -50) {
 			t += `is kept in solitary confinement whenever ${he} is not being forced to do something else. ${He} still hates ${his} place in the world, but being forced to rely on slave life as ${his} only human contact <span class="devotion inc">grinds down ${his} resistance.</span>`;
 			slave.devotion += 2;
diff --git a/src/endWeek/saTakeClasses.js b/src/endWeek/saTakeClasses.js
index 365285b075b..c6eff1d8a56 100644
--- a/src/endWeek/saTakeClasses.js
+++ b/src/endWeek/saTakeClasses.js
@@ -12,7 +12,7 @@ App.SlaveAssignment.takeClasses = function saTakeClasses(slave) {
 	let learning = 1;
 
 	jobPreface(slave);
-	if (slave.fetish !== "mindbroken") {
+	if (slave.fetish !== Fetish.MINDBROKEN) {
 		learningDisability(slave);
 		jobHealthImpact(slave);
 		learningProgress(slave);
diff --git a/src/events/PE/UnderageConcubine.js b/src/events/PE/UnderageConcubine.js
index d961c38950f..1053fecebeb 100644
--- a/src/events/PE/UnderageConcubine.js
+++ b/src/events/PE/UnderageConcubine.js
@@ -12,7 +12,7 @@ App.Events.PEUnderageConcubine = class PEUnderageConcubine extends App.Events.Ba
 	actorPrerequisites() {
 		return [ [ // one actor, must be able-bodied, devoted, hearing/speaking, underaged concubine; eyes not necessary
 			(s) => s.ID === V.ConcubineID,
-			(s) => s.fetish !== "mindbroken",
+			(s) => s.fetish !== Fetish.MINDBROKEN,
 			(s) => s.actualAge < 18, // it's in the name of the event
 			(s) => s.visualAge < 18, // so they must also look it
 			(s) => s.actualAge > 6, // event text assumes fluent speech, inductive reasoning, etc
diff --git a/src/events/PE/peHeadgirlConcubine.js b/src/events/PE/peHeadgirlConcubine.js
index ddc13892f7c..7083da4d2ab 100644
--- a/src/events/PE/peHeadgirlConcubine.js
+++ b/src/events/PE/peHeadgirlConcubine.js
@@ -7,7 +7,7 @@ App.Events.PEHeadgirlConcubine = class PEHeadgirlConcubine extends App.Events.Ba
 			() => canTalk(S.Concubine),
 			() => canSee(S.Concubine),
 			() => canHear(S.Concubine),
-			() => S.Concubine.fetish !== "mindbroken",
+			() => S.Concubine.fetish !== Fetish.MINDBROKEN,
 			() => canHold(S.Concubine),
 			() => canWalk(S.Concubine),
 		];
diff --git a/src/events/PE/peLonelyBodyguard.js b/src/events/PE/peLonelyBodyguard.js
index f5d371dcdfd..ca1b9129adf 100644
--- a/src/events/PE/peLonelyBodyguard.js
+++ b/src/events/PE/peLonelyBodyguard.js
@@ -4,7 +4,7 @@ App.Events.PELonelyBodyguard = class PELonelyBodyguard extends App.Events.BaseEv
 			() => !!S.Bodyguard,
 			() => S.Bodyguard.rules.relationship === "permissive",
 			() => S.Bodyguard.relationship === 0,
-			() => S.Bodyguard.fetish !== "mindbroken",
+			() => S.Bodyguard.fetish !== Fetish.MINDBROKEN,
 		];
 	}
 
diff --git a/src/events/RE/REBusyArcade.js b/src/events/RE/REBusyArcade.js
index b6d3f161126..f2ee8212c64 100644
--- a/src/events/RE/REBusyArcade.js
+++ b/src/events/RE/REBusyArcade.js
@@ -9,7 +9,7 @@ App.Events.REBusyArcade = class REBusyArcade extends App.Events.BaseEvent {
 		return [
 			[
 				s => s.assignment === Job.ARCADE,
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => canMove(s) || hasAnyLegs(s),
 				s => s.devotion < 45
 			]
diff --git a/src/events/RE/reAnalPunishment.js b/src/events/RE/reAnalPunishment.js
index 2e4050bb76f..64f552fec0c 100644
--- a/src/events/RE/reAnalPunishment.js
+++ b/src/events/RE/reAnalPunishment.js
@@ -10,7 +10,7 @@ App.Events.REAnalPunishment = class REAnalPunishment extends App.Events.BaseEven
 		return [[
 			(s) => s.devotion <= 50,
 			(s) => s.anus !== 0,
-			(s) => s.fetish !== "mindbroken",
+			(s) => s.fetish !== Fetish.MINDBROKEN,
 			canDoAnal,
 			canMove,
 			hasAnyArms,
diff --git a/src/events/RE/reDevotedTwins.js b/src/events/RE/reDevotedTwins.js
index d438e3af668..d717f2f8731 100644
--- a/src/events/RE/reDevotedTwins.js
+++ b/src/events/RE/reDevotedTwins.js
@@ -9,14 +9,14 @@ App.Events.REDevotedTwins = class REDevotedTwins extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.sisters > 0,
 				s => s.devotion > 50,
 				canWalk,
 				hasAnyArms
 			],
 			[
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => areSisters(s, getSlave(this.actors[0])) === 1,
 				s => s.rivalTarget !== this.actors[0],
 				s => s.devotion > 50,
diff --git a/src/events/RE/reHGReplacement.js b/src/events/RE/reHGReplacement.js
index 8b34b3f58a9..72386ade637 100644
--- a/src/events/RE/reHGReplacement.js
+++ b/src/events/RE/reHGReplacement.js
@@ -15,7 +15,7 @@ App.Events.REHGReplacement = class REHGReplacement extends App.Events.BaseEvent
 			(s) => s.intelligence + s.intelligenceImplant >= S.HeadGirl.intelligence + S.HeadGirl.intelligenceImplant,
 			(s) => s.skill.vaginal > S.HeadGirl.skill.vaginal,
 			(s) => s.assignment !== Job.QUARTER,
-			(s) => s.fetish !== "mindbroken",
+			(s) => s.fetish !== Fetish.MINDBROKEN,
 			canSee,
 			canHear,
 			canWalk,
diff --git a/src/events/RE/reLegendaryBalls.js b/src/events/RE/reLegendaryBalls.js
index eba22e52650..dc7dd8093dc 100644
--- a/src/events/RE/reLegendaryBalls.js
+++ b/src/events/RE/reLegendaryBalls.js
@@ -1,7 +1,7 @@
 App.Events.RELegendaryBalls = class RELegendaryBalls extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [[
-			(s) => s.fetish !== "mindbroken",
+			(s) => s.fetish !== Fetish.MINDBROKEN,
 			hasAnyArms,
 			hasAnyLegs,
 			canTalk,
diff --git a/src/events/RE/reLegendaryCow.js b/src/events/RE/reLegendaryCow.js
index 63fcd865fbe..2ecb928cbca 100644
--- a/src/events/RE/reLegendaryCow.js
+++ b/src/events/RE/reLegendaryCow.js
@@ -1,7 +1,7 @@
 App.Events.RELegendaryCow = class RELegendaryCow extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [[
-			(s) => s.fetish !== "mindbroken",
+			(s) => s.fetish !== Fetish.MINDBROKEN,
 			hasAnyArms,
 			hasAnyLegs,
 			canTalk,
diff --git a/src/events/RE/reLegendaryEntertainer.js b/src/events/RE/reLegendaryEntertainer.js
index 5dc54799b2f..08e96088f6b 100644
--- a/src/events/RE/reLegendaryEntertainer.js
+++ b/src/events/RE/reLegendaryEntertainer.js
@@ -1,7 +1,7 @@
 App.Events.RELegendaryEntertainer = class RELegendaryEntertainer extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [[
-			(s) => s.fetish !== "mindbroken",
+			(s) => s.fetish !== Fetish.MINDBROKEN,
 			hasAnyArms,
 			canWalk,
 			canTalk,
diff --git a/src/events/RE/reLegendaryFormerAbolitionist.js b/src/events/RE/reLegendaryFormerAbolitionist.js
index 0022604945e..1d3f5e51fe5 100644
--- a/src/events/RE/reLegendaryFormerAbolitionist.js
+++ b/src/events/RE/reLegendaryFormerAbolitionist.js
@@ -1,7 +1,7 @@
 App.Events.RELegendaryFormerAbolitionist = class RELegendaryFormerAbolitionist extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [[
-			(s) => s.fetish !== "mindbroken",
+			(s) => s.fetish !== Fetish.MINDBROKEN,
 			hasAnyArms,
 			canWalk,
 			canTalk,
diff --git a/src/events/RE/reLegendaryWhore.js b/src/events/RE/reLegendaryWhore.js
index 6b464af2997..426f66908ed 100644
--- a/src/events/RE/reLegendaryWhore.js
+++ b/src/events/RE/reLegendaryWhore.js
@@ -1,7 +1,7 @@
 App.Events.RELegendaryWhore = class RELegendaryWhore extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [[
-			(s) => s.fetish !== "mindbroken",
+			(s) => s.fetish !== Fetish.MINDBROKEN,
 			hasAnyArms,
 			canWalk,
 			canTalk,
diff --git a/src/events/RE/reLegendaryWomb.js b/src/events/RE/reLegendaryWomb.js
index e07d1631cbd..fe5c604ac78 100644
--- a/src/events/RE/reLegendaryWomb.js
+++ b/src/events/RE/reLegendaryWomb.js
@@ -1,7 +1,7 @@
 App.Events.RELegendaryWomb = class RELegendaryWomb extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [[
-			(s) => s.fetish !== "mindbroken",
+			(s) => s.fetish !== Fetish.MINDBROKEN,
 			hasAnyArms,
 			canMove,
 			canTalk,
diff --git a/src/events/RE/reMaleCitizenHookup.js b/src/events/RE/reMaleCitizenHookup.js
index 88a36ec2fb1..95328e7bfb4 100644
--- a/src/events/RE/reMaleCitizenHookup.js
+++ b/src/events/RE/reMaleCitizenHookup.js
@@ -584,11 +584,11 @@ App.Events.REMaleCitizenHookup = class REMaleCitizenHookup extends App.Events.Ba
 					r.push(`and ride him to orgasm. You follow shortly after, feeling the heat of his seed in the depths of your pussy as it clamps down around his dick. Thankfully, he isn't spent yet and begins anew, quickly carrying your climax to a second orgasm and drawing an adorable moan out of you.`);
 			}
 			if (FS === "FSAssetExpansionist") {
-				if (S.Concubine && canMove(S.Concubine) && S.Concubine.fetish !== "mindbroken") {
+				if (S.Concubine && canMove(S.Concubine) && S.Concubine.fetish !== Fetish.MINDBROKEN) {
 					r.push(`${S.Concubine.slaveName} eagerly joins the two of you to help clean the massive cumshot up.`);
 				}
 			} else if (FS !== "FSYouthPreferentialist") {
-				if (S.Concubine && canMove(S.Concubine) && S.Concubine.fetish !== "mindbroken") {
+				if (S.Concubine && canMove(S.Concubine) && S.Concubine.fetish !== Fetish.MINDBROKEN) {
 					const {he} = getPronouns(S.Concubine);
 					r.push(`The`);
 					if (canSee(S.Concubine)) {
diff --git a/src/events/RE/rePregInventorFCTV.js b/src/events/RE/rePregInventorFCTV.js
index 57ce2aacfec..0b0ae4ca2e3 100644
--- a/src/events/RE/rePregInventorFCTV.js
+++ b/src/events/RE/rePregInventorFCTV.js
@@ -12,7 +12,7 @@ App.Events.rePregInventorFCTV = class rePregInventorFCTV extends App.Events.Base
 			[
 				s => s.ID === V.pregInventorID,
 				s => s.bellyPreg >= 1000000, // even bigger than before
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.fuckdoll === 0,
 				s => s.devotion > 50,
 				s => s.porn.prestige >= 1 || s.prestige >= 1
diff --git a/src/events/RE/rePregInventorInvite.js b/src/events/RE/rePregInventorInvite.js
index ac6f4262f3b..394835bc564 100644
--- a/src/events/RE/rePregInventorInvite.js
+++ b/src/events/RE/rePregInventorInvite.js
@@ -13,7 +13,7 @@ App.Events.rePregInventorInvite = class rePregInventorInvite extends App.Events.
 				s => s.ovaries === 1,
 				canDoVaginal,
 				canSee,
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.fuckdoll === 0,
 				s => (s.devotion > 90 && s.trust > 50) || s.sexualFlaw === "breeder",
 				s => s.intelligence + s.intelligenceImplant > 50
diff --git a/src/events/RE/rePregInventorShowOff.js b/src/events/RE/rePregInventorShowOff.js
index eae35d4fb19..d6b5e03bd7f 100644
--- a/src/events/RE/rePregInventorShowOff.js
+++ b/src/events/RE/rePregInventorShowOff.js
@@ -10,7 +10,7 @@ App.Events.rePregInventorShowOff = class rePregInventorShowOff extends App.Event
 			[
 				s => s.ID === V.pregInventorID,
 				s => s.bellyPreg >= 600000,
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.fuckdoll === 0,
 				s => s.devotion > 50
 			],
diff --git a/src/events/RE/reRelationshipAdvice.js b/src/events/RE/reRelationshipAdvice.js
index d75c8f794f0..3f3d513d66e 100644
--- a/src/events/RE/reRelationshipAdvice.js
+++ b/src/events/RE/reRelationshipAdvice.js
@@ -1,7 +1,7 @@
 App.Events.RERelationshipAdvice = class RERelationshipAdvice extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return[[
-			(s) => s.fetish !== "mindbroken",
+			(s) => s.fetish !== Fetish.MINDBROKEN,
 			hasAnyArms,
 			canWalk,
 			canTalk,
diff --git a/src/events/RE/reRelativeRecruiter.js b/src/events/RE/reRelativeRecruiter.js
index 3cfebf81d32..94cbdc5b640 100644
--- a/src/events/RE/reRelativeRecruiter.js
+++ b/src/events/RE/reRelativeRecruiter.js
@@ -6,7 +6,7 @@ App.Events.RERelativeRecruiter = class RERelativeRecruiter extends App.Events.Ba
 	actorPrerequisites() {
 		return [
 			[ // first actor - recruiter
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.fuckdoll === 0,
 				s => s.devotion > 50,
 				s => s.canRecruit === 1,
diff --git a/src/events/RE/reShowerPunishment.js b/src/events/RE/reShowerPunishment.js
index 6f3bc05fe77..4c91c98befc 100644
--- a/src/events/RE/reShowerPunishment.js
+++ b/src/events/RE/reShowerPunishment.js
@@ -9,7 +9,7 @@ App.Events.REShowerPunishment = class REShowerPunishment extends App.Events.Base
 		return [[
 			(s) => s.devotion <= 50,
 			(s) => s.anus !== 0,
-			(s) => s.fetish !== "mindbroken",
+			(s) => s.fetish !== Fetish.MINDBROKEN,
 			canDoAnal,
 			hasAnyLegs,
 			hasAnyArms,
diff --git a/src/events/RE/reSiblingPlease.js b/src/events/RE/reSiblingPlease.js
index fa663935d92..4f7d39989ac 100644
--- a/src/events/RE/reSiblingPlease.js
+++ b/src/events/RE/reSiblingPlease.js
@@ -14,7 +14,7 @@ App.Events.RESiblingPlease = class RESiblingPlease extends App.Events.BaseEvent
 				canTalk,
 				canHear,
 				canMove,
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.devotion > 50,
 				s => s.trust > 50,
 				hasAnyEyes, // for winking
diff --git a/src/events/RE/reSlaveMarriage.js b/src/events/RE/reSlaveMarriage.js
index 6e221b477f3..38eaba48f9a 100644
--- a/src/events/RE/reSlaveMarriage.js
+++ b/src/events/RE/reSlaveMarriage.js
@@ -1,7 +1,7 @@
 App.Events.RESlaveMarriage = class RESlaveMarriage extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return[[
-			(s) => s.fetish !== "mindbroken",
+			(s) => s.fetish !== Fetish.MINDBROKEN,
 			hasAnyArms,
 			canMove,
 			(s) => s.relationship === 4,
diff --git a/src/events/RE/reSnatchAndGrabFollowup.js b/src/events/RE/reSnatchAndGrabFollowup.js
index 52b48d67563..b3a5840edc2 100644
--- a/src/events/RE/reSnatchAndGrabFollowup.js
+++ b/src/events/RE/reSnatchAndGrabFollowup.js
@@ -13,7 +13,7 @@ App.Events.RESnatchAndGrabFollowup = class RESnatchAndGrabFollowup extends App.E
 			(s) => s.newGamePlus === 0,
 			(s) => s.health.condition > 25,
 			(s) => s.devotion > 50,
-			(s) => s.fetish !== "mindbroken"
+			(s) => s.fetish !== Fetish.MINDBROKEN
 		]];
 	}
 
diff --git a/src/events/RECI/butthole.js b/src/events/RECI/butthole.js
index 9e1ae161fe2..75e80fdd25c 100644
--- a/src/events/RECI/butthole.js
+++ b/src/events/RECI/butthole.js
@@ -6,7 +6,7 @@ App.Events.RECIButthole = class RECIButthole extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => V.REButtholeCheckinIDs.includes(s.ID),
 				s => s.assignment !== Job.QUARTER,
 				s => s.devotion > 50,
@@ -233,7 +233,7 @@ App.Events.RECIButthole = class RECIButthole extends App.Events.BaseEvent {
 			(S.HeadGirl && eventSlave.ID !== V.HeadGirlID)
 				? new App.Events.Result(`Double anal with the Head Girl`, () => DoubleTeam(S.HeadGirl))
 				: new App.Events.Result(),
-			(S.Concubine && eventSlave.ID !== V.ConcubineID && hasAnyLegs(S.Concubine) && hasAnyArms(S.Concubine) && S.Concubine.fetish !== "mindbroken")
+			(S.Concubine && eventSlave.ID !== V.ConcubineID && hasAnyLegs(S.Concubine) && hasAnyArms(S.Concubine) && S.Concubine.fetish !== Fetish.MINDBROKEN)
 				? new App.Events.Result(`Double anal with your Concubine`, () => DoubleTeam(S.Concubine))
 				: new App.Events.Result(),
 			(S.Bodyguard && eventSlave.ID !== V.BodyguardID)
diff --git a/src/events/RECI/feminization.js b/src/events/RECI/feminization.js
index 675e789067f..354db278cf8 100644
--- a/src/events/RECI/feminization.js
+++ b/src/events/RECI/feminization.js
@@ -6,7 +6,7 @@ App.Events.RECIFeminization = class RECIFeminization extends App.Events.BaseEven
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => V.REFeminizationCheckinIDs.includes(s.ID),
 				s => s.assignment !== Job.QUARTER,
 				s => s.devotion >= 10,
diff --git a/src/events/RECI/futa.js b/src/events/RECI/futa.js
index 1b0235f088d..f7b3c8251ad 100644
--- a/src/events/RECI/futa.js
+++ b/src/events/RECI/futa.js
@@ -6,7 +6,7 @@ App.Events.RECIFuta = class RECIFuta extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => V.REFutaSisterCheckinIDs.includes(s.ID),
 				s => s.assignment !== Job.QUARTER,
 				s => s.trust >= 10,
diff --git a/src/events/RECI/milf.js b/src/events/RECI/milf.js
index 2381280e9ea..d2f4d47294c 100644
--- a/src/events/RECI/milf.js
+++ b/src/events/RECI/milf.js
@@ -6,7 +6,7 @@ App.Events.RECIMilf = class RECIMilf extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => V.REMILFCheckinIDs.includes(s.ID),
 				s => s.assignment !== Job.QUARTER,
 				s => s.devotion >= 10,
diff --git a/src/events/RECI/orientation.js b/src/events/RECI/orientation.js
index 8e64ed28482..1b785e848af 100644
--- a/src/events/RECI/orientation.js
+++ b/src/events/RECI/orientation.js
@@ -6,7 +6,7 @@ App.Events.RECIOrientation = class RECIOrientation extends App.Events.BaseEvent
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => V.REOrientationCheckinIDs.includes(s.ID),
 				s => s.assignment !== Job.QUARTER,
 				s => s.attrXY > 50,
diff --git a/src/events/RECI/ugly.js b/src/events/RECI/ugly.js
index e5d355168aa..f889fe3eac9 100644
--- a/src/events/RECI/ugly.js
+++ b/src/events/RECI/ugly.js
@@ -6,7 +6,7 @@ App.Events.RECIUgly = class RECIUgly extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => V.REUglyCheckinIDs.includes(s.ID),
 				s => s.face >= -10,
 				s => (s.assignment === Job.PUBLIC || s.assignment === Job.WHORE),
diff --git a/src/events/RESS/PAFlirting.js b/src/events/RESS/PAFlirting.js
index f3d4bd0744a..b38b4961fb8 100644
--- a/src/events/RESS/PAFlirting.js
+++ b/src/events/RESS/PAFlirting.js
@@ -9,7 +9,7 @@ App.Events.RESSPAFlirting = class RESSPAFlirting extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				canTalk,
 				canSee,
diff --git a/src/events/RESS/ageDifferenceOldPC.js b/src/events/RESS/ageDifferenceOldPC.js
index da9f5ca6004..42d8121c1ae 100644
--- a/src/events/RESS/ageDifferenceOldPC.js
+++ b/src/events/RESS/ageDifferenceOldPC.js
@@ -8,7 +8,7 @@ App.Events.RESSAgeDifferenceOldPC = class RESSAgeDifferenceOldPC extends App.Eve
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canWalk,
 				canTalk,
 				canHear,
diff --git a/src/events/RESS/ageDifferenceYoungPC.js b/src/events/RESS/ageDifferenceYoungPC.js
index a62e44e992c..3293ed72466 100644
--- a/src/events/RESS/ageDifferenceYoungPC.js
+++ b/src/events/RESS/ageDifferenceYoungPC.js
@@ -8,7 +8,7 @@ App.Events.RESSAgeDifferenceYoungPC = class RESSAgeDifferenceYoungPC extends App
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canWalk,
 				canTalk,
 				canHear,
diff --git a/src/events/RESS/ampResting.js b/src/events/RESS/ampResting.js
index e0708ef3370..db8bfb649f6 100644
--- a/src/events/RESS/ampResting.js
+++ b/src/events/RESS/ampResting.js
@@ -6,7 +6,7 @@ App.Events.RESSAmpResting = class RESSAmpResting extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => (s.assignment === Job.REST || s.rules.rest === "mandatory"),
 				isAmputee,
 			]
diff --git a/src/events/RESS/assFitting.js b/src/events/RESS/assFitting.js
index 84ba29586ca..b10249dabfa 100644
--- a/src/events/RESS/assFitting.js
+++ b/src/events/RESS/assFitting.js
@@ -6,7 +6,7 @@ App.Events.RESSAssFitting = class RESSAssFitting extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.assignment !== Job.QUARTER,
 				s => s.devotion > 20,
 				s => s.butt > 5,
diff --git a/src/events/RESS/bedSnuggle.js b/src/events/RESS/bedSnuggle.js
index 7f7d55871fa..af1b1080011 100644
--- a/src/events/RESS/bedSnuggle.js
+++ b/src/events/RESS/bedSnuggle.js
@@ -6,7 +6,7 @@ App.Events.RESSBedSnuggle = class RESSBedSnuggle extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => [Job.CONCUBINE, Job.FUCKTOY, Job.MASTERSUITE].includes(s.assignment),
 				s => s.devotion > 50,
 				s => s.trust > 50,
diff --git a/src/events/RESS/birthday.js b/src/events/RESS/birthday.js
index a9157b706c3..cbf21d509aa 100644
--- a/src/events/RESS/birthday.js
+++ b/src/events/RESS/birthday.js
@@ -8,7 +8,7 @@ App.Events.RESSBirthday = class RESSBirthday extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				canWalk,
 				canTalk,
diff --git a/src/events/RESS/bondageGear.js b/src/events/RESS/bondageGear.js
index 4fa1e1e255f..d70a393a4a9 100644
--- a/src/events/RESS/bondageGear.js
+++ b/src/events/RESS/bondageGear.js
@@ -6,7 +6,7 @@ App.Events.RESSBondageGear = class RESSBondageGear extends App.Events.BaseEvent
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.devotion < -20,
 				s => s.trust >= -20,
 				s => s.clothes === "uncomfortable straps",
diff --git a/src/events/RESS/breedingBull.js b/src/events/RESS/breedingBull.js
index 18d4d381412..762b15b8273 100644
--- a/src/events/RESS/breedingBull.js
+++ b/src/events/RESS/breedingBull.js
@@ -154,7 +154,7 @@ App.Events.RESSBreedingBull = class RESSBreedingBull extends App.Events.BaseEven
 				r.push(`face to your violated pussy to feel the heat emanating from it`);
 			}
 			r.push(`unsatisfied, ${he} moves back into position to properly seed you this time. You black out as ${his} second load joins the first, only to awaken sometime later`);
-			if (S.Concubine && S.Concubine.fetish !== "mindbroken") {
+			if (S.Concubine && S.Concubine.fetish !== Fetish.MINDBROKEN) {
 				const {his2, He2, him2} = getPronouns(S.Concubine).appendSuffix("2");
 				r.push(`with ${S.Concubine.slaveName} trying ${his2} best to drain your swollen belly.`);
 				if (canTalk(S.Concubine)) {
diff --git a/src/events/RESS/cockfeederResistance.js b/src/events/RESS/cockfeederResistance.js
index c4f3586de31..34103923ee0 100644
--- a/src/events/RESS/cockfeederResistance.js
+++ b/src/events/RESS/cockfeederResistance.js
@@ -8,7 +8,7 @@ App.Events.RESSCockFeederResistance = class RESSCockFeederResistance extends App
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canStand,
 				hasAnyArms,
 				s => s.devotion <= 20 && s.devotion >= -50,
diff --git a/src/events/RESS/comfortableSeat.js b/src/events/RESS/comfortableSeat.js
index f214e1b88b6..cf29ab3ef68 100644
--- a/src/events/RESS/comfortableSeat.js
+++ b/src/events/RESS/comfortableSeat.js
@@ -9,7 +9,7 @@ App.Events.RESSComfortableSeat = class RESSComfortableSeat extends App.Events.Ba
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canStand,
 				hasAnyArms,
 				canSee,
diff --git a/src/events/RESS/coolerLockin.js b/src/events/RESS/coolerLockin.js
index e67c90c252f..545482f0b24 100644
--- a/src/events/RESS/coolerLockin.js
+++ b/src/events/RESS/coolerLockin.js
@@ -6,7 +6,7 @@ App.Events.RESSCoolerLockin = class RESSCoolerLockin extends App.Events.BaseEven
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				canWalk,
 				canHear,
diff --git a/src/events/RESS/devotedAnalVirgin.js b/src/events/RESS/devotedAnalVirgin.js
index 98e7678bec5..6238c0cbc57 100644
--- a/src/events/RESS/devotedAnalVirgin.js
+++ b/src/events/RESS/devotedAnalVirgin.js
@@ -6,7 +6,7 @@ App.Events.RESSDevotedAnalVirgin = class RESSDevotedAnalVirgin extends App.Event
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				canWalk,
 				s => s.anus === 0,
diff --git a/src/events/RESS/devotedEducated.js b/src/events/RESS/devotedEducated.js
index 747e82b13da..3266cf8119a 100644
--- a/src/events/RESS/devotedEducated.js
+++ b/src/events/RESS/devotedEducated.js
@@ -6,7 +6,7 @@ App.Events.RESSDevotedEducated = class RESSDevotedEducated extends App.Events.Ba
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => (canWalk(s) || (canMove(s) && s.rules.mobility === "permissive")),
 				hasAnyArms,
 				canTalk,
diff --git a/src/events/RESS/devotedFearfulSlave.js b/src/events/RESS/devotedFearfulSlave.js
index 93fe34c47ac..bdb55b2bed7 100644
--- a/src/events/RESS/devotedFearfulSlave.js
+++ b/src/events/RESS/devotedFearfulSlave.js
@@ -6,7 +6,7 @@ App.Events.RESSDevotedFearfulSlave = class RESSDevotedFearfulSlave extends App.E
 	actorPrerequisites() {
 		return [
 			[
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canWalk,
 				canSee,
 				canHear,
diff --git a/src/events/RESS/devotedNympho.js b/src/events/RESS/devotedNympho.js
index e965527b37b..bd94f518f5e 100644
--- a/src/events/RESS/devotedNympho.js
+++ b/src/events/RESS/devotedNympho.js
@@ -6,7 +6,7 @@ App.Events.RESSDevotedNympho = class RESSDevotedNympho extends App.Events.BaseEv
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				canWalk,
 				canTalk,
diff --git a/src/events/RESS/devotedShortstack.js b/src/events/RESS/devotedShortstack.js
index 96eb91c7048..923f07a62f4 100644
--- a/src/events/RESS/devotedShortstack.js
+++ b/src/events/RESS/devotedShortstack.js
@@ -10,7 +10,7 @@ App.Events.RESSDevotedShortstack = class RESSDevotedShortstack extends App.Event
 				s => s.height < (Height.mean(s) * 0.95),
 				s => s.physicalAge > 12,
 				canDoAnal,
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				canStand,
 				s => s.trust <= 95,
diff --git a/src/events/RESS/devotedVirgin.js b/src/events/RESS/devotedVirgin.js
index 75e84cf06d8..830defd4fc0 100644
--- a/src/events/RESS/devotedVirgin.js
+++ b/src/events/RESS/devotedVirgin.js
@@ -6,7 +6,7 @@ App.Events.RESSDevotedVirgin = class RESSDevotedVirgin extends App.Events.BaseEv
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				canWalk,
 				s => s.vagina === 0,
diff --git a/src/events/RESS/devotedWaist.js b/src/events/RESS/devotedWaist.js
index c6300183c81..f7dd13b8b19 100644
--- a/src/events/RESS/devotedWaist.js
+++ b/src/events/RESS/devotedWaist.js
@@ -6,7 +6,7 @@ App.Events.RESSDevotedWaist = class RESSDevotedWaist extends App.Events.BaseEven
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				canStand,
 				s => s.waist < -95,
diff --git a/src/events/RESS/escapee.js b/src/events/RESS/escapee.js
index 3a9ff67451e..5a047747641 100644
--- a/src/events/RESS/escapee.js
+++ b/src/events/RESS/escapee.js
@@ -6,7 +6,7 @@ App.Events.RESSEscapee = class RESSEscapee extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canWalk,
 				s => s.devotion < -50,
 				s => s.trust >= -50,
diff --git a/src/events/RESS/forbiddenMasturbation.js b/src/events/RESS/forbiddenMasturbation.js
index 5038e4d2321..955d35a905f 100644
--- a/src/events/RESS/forbiddenMasturbation.js
+++ b/src/events/RESS/forbiddenMasturbation.js
@@ -6,7 +6,7 @@ App.Events.RESSForbiddenMasturbation = class RESSForbiddenMasturbation extends A
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.rules.release.masturbation === 0,
 				s => !App.Utils.hasNonassignmentSex(s),
 				s => s.need > 0,
diff --git a/src/events/RESS/frighteningDick.js b/src/events/RESS/frighteningDick.js
index d4e989f9688..424056f6a7a 100644
--- a/src/events/RESS/frighteningDick.js
+++ b/src/events/RESS/frighteningDick.js
@@ -9,7 +9,7 @@ App.Events.RESSFrighteningDick = class RESSFrighteningDick extends App.Events.Ba
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				canMove,
 				canTalk,
diff --git a/src/events/RESS/hotPC.js b/src/events/RESS/hotPC.js
index 395abc33de7..0367fafed15 100644
--- a/src/events/RESS/hotPC.js
+++ b/src/events/RESS/hotPC.js
@@ -6,7 +6,7 @@ App.Events.RESSHotPC = class RESSHotPC extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.energy > 40,
 				s => s.devotion > 0 && s.devotion <= 50,
 				s => s.trust >= -50,
diff --git a/src/events/RESS/imScared.js b/src/events/RESS/imScared.js
index e7f328b053a..193c973242c 100644
--- a/src/events/RESS/imScared.js
+++ b/src/events/RESS/imScared.js
@@ -6,7 +6,7 @@ App.Events.RESSImScared = class RESSImScared extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				canMove,
 				canTalk,
diff --git a/src/events/RESS/impregnationPlease.js b/src/events/RESS/impregnationPlease.js
index 647dcd982d9..18f88753b85 100644
--- a/src/events/RESS/impregnationPlease.js
+++ b/src/events/RESS/impregnationPlease.js
@@ -9,7 +9,7 @@ App.Events.RESSImpregnationPlease = class RESSImpregnationPlease extends App.Eve
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => (s.fetish === "pregnancy" || s.energy > 95),
 				s => s.devotion > 50,
 				s => s.vagina !== 0,
diff --git a/src/events/RESS/injectionsPlease.js b/src/events/RESS/injectionsPlease.js
index 8a76c2de6fe..609d0d35153 100644
--- a/src/events/RESS/injectionsPlease.js
+++ b/src/events/RESS/injectionsPlease.js
@@ -9,7 +9,7 @@ App.Events.RESSInjectionsPlease = class RESSInjectionsPlease extends App.Events.
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canTalk,
 				s => s.drugs === "no drugs",
 				s => s.rules.speech === "permissive",
diff --git a/src/events/RESS/kitchenMolestation.js b/src/events/RESS/kitchenMolestation.js
index 9e2ee855986..be84f87f730 100644
--- a/src/events/RESS/kitchenMolestation.js
+++ b/src/events/RESS/kitchenMolestation.js
@@ -9,7 +9,7 @@ App.Events.RESSKitchenMolestation = class RESSKitchenMolestation extends App.Eve
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.rules.release.slaves !== 0,
 				hasAnyArms,
 				canWalk,
diff --git a/src/events/RESS/languageLesson.js b/src/events/RESS/languageLesson.js
index 5820545a134..e5e308abba2 100644
--- a/src/events/RESS/languageLesson.js
+++ b/src/events/RESS/languageLesson.js
@@ -6,7 +6,7 @@ App.Events.RESSLanguageLesson = class RESSLanguageLesson extends App.Events.Base
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				canStand,
 				canHear,
diff --git a/src/events/RESS/lazyEvening.js b/src/events/RESS/lazyEvening.js
index 64703d90c07..c554054efa5 100644
--- a/src/events/RESS/lazyEvening.js
+++ b/src/events/RESS/lazyEvening.js
@@ -6,7 +6,7 @@ App.Events.RESSLazyEvening = class RESSLazyEvening extends App.Events.BaseEvent
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canStand,
 				hasAnyArms,
 				s => (s.assignment === Job.FUCKTOY || s.assignment === Job.MASTERSUITE || s.assignment === Job.CONCUBINE),
diff --git a/src/events/RESS/masterfulWhore.js b/src/events/RESS/masterfulWhore.js
index 56455f5a8bc..6fa69ac843e 100644
--- a/src/events/RESS/masterfulWhore.js
+++ b/src/events/RESS/masterfulWhore.js
@@ -6,7 +6,7 @@ App.Events.RESSMasterfulWhore = class RESSMasterfulWhore extends App.Events.Base
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canHear,
 				s => s.skill.whoring >= 100,
 				s => s.trust > 50,
diff --git a/src/events/RESS/meanGirls.js b/src/events/RESS/meanGirls.js
index 82313244a78..35249c1269f 100644
--- a/src/events/RESS/meanGirls.js
+++ b/src/events/RESS/meanGirls.js
@@ -9,7 +9,7 @@ App.Events.RESSMeanGirls = class RESSMeanGirls extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.assignment === Job.PUBLIC,
 				hasAnyArms,
 				canStand,
diff --git a/src/events/RESS/milkgasm.js b/src/events/RESS/milkgasm.js
index f613d0969fc..2b2da7935e3 100644
--- a/src/events/RESS/milkgasm.js
+++ b/src/events/RESS/milkgasm.js
@@ -6,7 +6,7 @@ App.Events.RESSMilkgasm = class RESSMilkgasm extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canMove,
 				s => s.devotion >= -20,
 				s => (canDoAnal(s) || canDoVaginal(s)),
diff --git a/src/events/RESS/modestClothes.js b/src/events/RESS/modestClothes.js
index b24bc1d3bdc..73504b5784a 100644
--- a/src/events/RESS/modestClothes.js
+++ b/src/events/RESS/modestClothes.js
@@ -6,7 +6,7 @@ App.Events.RESSModestClothes = class RESSModestClothes extends App.Events.BaseEv
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				canWalk,
 				canTalk,
diff --git a/src/events/RESS/muscles.js b/src/events/RESS/muscles.js
index 31e9b95594a..a8ad178781e 100644
--- a/src/events/RESS/muscles.js
+++ b/src/events/RESS/muscles.js
@@ -6,7 +6,7 @@ App.Events.RESSMuscles = class RESSMuscles extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canMove,
 				hasAnyArms,
 				s => s.muscles > 30,
diff --git a/src/events/RESS/mutinyAttempt.js b/src/events/RESS/mutinyAttempt.js
index e509c846e3d..a9b2de80c4b 100644
--- a/src/events/RESS/mutinyAttempt.js
+++ b/src/events/RESS/mutinyAttempt.js
@@ -8,7 +8,7 @@ App.Events.RESSMutinyAttempt = class RESSMutinyAttempt extends App.Events.BaseEv
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				canSee,
 				canWalk,
diff --git a/src/events/RESS/nightVisit.js b/src/events/RESS/nightVisit.js
index 8bdb01c4585..f79f215aa32 100644
--- a/src/events/RESS/nightVisit.js
+++ b/src/events/RESS/nightVisit.js
@@ -7,7 +7,7 @@ App.Events.RESSNightVisit = class RESSNightVisit extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canMove,
 				s => s.rules.speech !== "restrictive",
 				s => s.rules.release.master === 1,
diff --git a/src/events/RESS/obedientAddict.js b/src/events/RESS/obedientAddict.js
index db593565c3e..de62f5f0592 100644
--- a/src/events/RESS/obedientAddict.js
+++ b/src/events/RESS/obedientAddict.js
@@ -8,7 +8,7 @@ App.Events.RESSObedientAddict = class RESSObedientAddict extends App.Events.Base
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				s => s.aphrodisiacs > 0 || s.inflationType === "aphrodisiac",
diff --git a/src/events/RESS/obedientBitchy.js b/src/events/RESS/obedientBitchy.js
index 95d216d07b4..433c22297fe 100644
--- a/src/events/RESS/obedientBitchy.js
+++ b/src/events/RESS/obedientBitchy.js
@@ -6,7 +6,7 @@ App.Events.RESSObedientBitchy = class RESSObedientBitchy extends App.Events.Base
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canTalk,
 				canSee,
 				s => s.behavioralFlaw === "bitchy",
diff --git a/src/events/RESS/obedientGirlish.js b/src/events/RESS/obedientGirlish.js
index 9d6fc40da40..a5ff45bb5a7 100644
--- a/src/events/RESS/obedientGirlish.js
+++ b/src/events/RESS/obedientGirlish.js
@@ -6,7 +6,7 @@ App.Events.RESSObedientGirlish = class RESSObedientGirlish extends App.Events.Ba
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.assignment !== "work as a servant",
 				s => canDoAnal(s) || canDoVaginal(s),
 				s => s.butt < 3,
diff --git a/src/events/RESS/obedientIdiot.js b/src/events/RESS/obedientIdiot.js
index e538f626020..8dd723c5b67 100644
--- a/src/events/RESS/obedientIdiot.js
+++ b/src/events/RESS/obedientIdiot.js
@@ -8,7 +8,7 @@ App.Events.RESSObedientIdiot = class RESSObedientIdiot extends App.Events.BaseEv
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canMove,
 				hasAnyArms,
 				s => s.intelligence + s.intelligenceImplant < -50,
diff --git a/src/events/RESS/obedientShemale.js b/src/events/RESS/obedientShemale.js
index e91a19c89b6..2b821e060c0 100644
--- a/src/events/RESS/obedientShemale.js
+++ b/src/events/RESS/obedientShemale.js
@@ -6,7 +6,7 @@ App.Events.RESSObedientShemale = class RESSObedientShemale extends App.Events.Ba
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.rules.release.masturbation !== 0,
 				hasAnyArms,
 				hasAnyLegs,
diff --git a/src/events/RESS/passingDeclaration.js b/src/events/RESS/passingDeclaration.js
index 299110647df..a34f7f57c2c 100644
--- a/src/events/RESS/passingDeclaration.js
+++ b/src/events/RESS/passingDeclaration.js
@@ -6,7 +6,7 @@ App.Events.RESSPassingDeclaration = class RESSPassingDeclaration extends App.Eve
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				canWalk,
 				canTalk,
diff --git a/src/events/RESS/penitent.js b/src/events/RESS/penitent.js
index 5a94f6b4296..9b73e917f0d 100644
--- a/src/events/RESS/penitent.js
+++ b/src/events/RESS/penitent.js
@@ -6,7 +6,7 @@ App.Events.RESSPenitent = class RESSPenitent extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				canStand,
 				canTalk,
diff --git a/src/events/RESS/permittedMasturbation.js b/src/events/RESS/permittedMasturbation.js
index c91b510f56f..fd7836f29f2 100644
--- a/src/events/RESS/permittedMasturbation.js
+++ b/src/events/RESS/permittedMasturbation.js
@@ -6,7 +6,7 @@ App.Events.RESSPermittedMasturbation = class RESSPermittedMasturbation extends A
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasBothArms,
 				canMove,
 				canHear,
diff --git a/src/events/RESS/plimbHelp.js b/src/events/RESS/plimbHelp.js
index 2f969abe395..94af1b5f619 100644
--- a/src/events/RESS/plimbHelp.js
+++ b/src/events/RESS/plimbHelp.js
@@ -6,7 +6,7 @@ App.Events.RESSPlimbHelp = class RESSPlimbHelp extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.devotion > 50,
 				s => s.trust > 20,
 				s => s.assignment !== Job.CONCUBINE,
diff --git a/src/events/RESS/plugDisobedience.js b/src/events/RESS/plugDisobedience.js
index 11a55a4d20a..d4af3e95425 100644
--- a/src/events/RESS/plugDisobedience.js
+++ b/src/events/RESS/plugDisobedience.js
@@ -6,7 +6,7 @@ App.Events.RESSPlugDisobedience = class RESSPlugDisobedience extends App.Events.
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canMove,
 				s => plugWidth(s) > 1 || plugLength(s) > 0,
 				s => s.devotion <= 20,
diff --git a/src/events/RESS/refreshmentDelivery.js b/src/events/RESS/refreshmentDelivery.js
index 90f5777d00b..56d1e633ac6 100644
--- a/src/events/RESS/refreshmentDelivery.js
+++ b/src/events/RESS/refreshmentDelivery.js
@@ -6,7 +6,7 @@ App.Events.RESSRefreshmentDelivery = class RESSRefreshmentDelivery extends App.E
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				canWalk,
 				s => s.devotion > 20,
diff --git a/src/events/RESS/restrictedSmart.js b/src/events/RESS/restrictedSmart.js
index 674b75cd396..3eaca156202 100644
--- a/src/events/RESS/restrictedSmart.js
+++ b/src/events/RESS/restrictedSmart.js
@@ -6,7 +6,7 @@ App.Events.RESSRestrictedSmart = class RESSRestrictedSmart extends App.Events.Ba
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canTalk,
 				canHear,
 				s => s.assignment !== Job.QUARTER,
diff --git a/src/events/RESS/retchingCum.js b/src/events/RESS/retchingCum.js
index f138370bcf1..4f50c973ff1 100644
--- a/src/events/RESS/retchingCum.js
+++ b/src/events/RESS/retchingCum.js
@@ -6,7 +6,7 @@ App.Events.RESSRetchingCum = class RESSRetchingCum extends App.Events.BaseEvent
 	actorPrerequisites() {
 		return [
 			[
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.assignment !== "work as a servant",
 				canStand,
 				hasAnyArms,
diff --git a/src/events/RESS/review/PAservant.js b/src/events/RESS/review/PAservant.js
index f7ff1e29060..899b1bbb00d 100644
--- a/src/events/RESS/review/PAservant.js
+++ b/src/events/RESS/review/PAservant.js
@@ -9,7 +9,7 @@ App.Events.RESSPAServant = class RESSPAServant extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				canTalk,
diff --git a/src/events/RESS/review/aGift.js b/src/events/RESS/review/aGift.js
index 8c7a11db0dd..c3dd97737b3 100644
--- a/src/events/RESS/review/aGift.js
+++ b/src/events/RESS/review/aGift.js
@@ -6,7 +6,7 @@ App.Events.RESSAGift = class RESSAGift extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.devotion > 50,
 				s => s.trust > 50,
 				hasAnyArms,
diff --git a/src/events/RESS/review/ageImplant.js b/src/events/RESS/review/ageImplant.js
index d0a2d288461..cb85f9a79bc 100644
--- a/src/events/RESS/review/ageImplant.js
+++ b/src/events/RESS/review/ageImplant.js
@@ -6,7 +6,7 @@ App.Events.RESSAgeImplant = class RESSAgeImplant extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				canTalk,
diff --git a/src/events/RESS/review/ampDevoted.js b/src/events/RESS/review/ampDevoted.js
index cf7bfaf9340..37905e039d9 100644
--- a/src/events/RESS/review/ampDevoted.js
+++ b/src/events/RESS/review/ampDevoted.js
@@ -6,7 +6,7 @@ App.Events.RESSAmpDevoted = class RESSAmpDevoted extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.devotion > 20,
 				s => s.assignment !== Job.QUARTER,
 				isAmputee,
diff --git a/src/events/RESS/review/araAra.js b/src/events/RESS/review/araAra.js
index d97dbd197b9..1c463cb7b0b 100644
--- a/src/events/RESS/review/araAra.js
+++ b/src/events/RESS/review/araAra.js
@@ -6,7 +6,7 @@ App.Events.RESSAraAra = class RESSAraAra extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				canTalk,
diff --git a/src/events/RESS/review/backStretch.js b/src/events/RESS/review/backStretch.js
index 57f68738394..5aad051bf13 100644
--- a/src/events/RESS/review/backStretch.js
+++ b/src/events/RESS/review/backStretch.js
@@ -6,7 +6,7 @@ App.Events.RESSBackStretch = class RESSBackStretch extends App.Events.BaseEvent
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				s => s.assignment !== Job.QUARTER,
diff --git a/src/events/RESS/review/badDream.js b/src/events/RESS/review/badDream.js
index a5124c5633f..28096d572fa 100644
--- a/src/events/RESS/review/badDream.js
+++ b/src/events/RESS/review/badDream.js
@@ -6,7 +6,7 @@ App.Events.RESSBadDream = class RESSBadDream extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				s => canTalk(s, false),
diff --git a/src/events/RESS/review/birthdaySex.js b/src/events/RESS/review/birthdaySex.js
index 7c00cda9eef..62346dc6604 100644
--- a/src/events/RESS/review/birthdaySex.js
+++ b/src/events/RESS/review/birthdaySex.js
@@ -1,7 +1,7 @@
 App.Events.RESSBirthdaySex = class RESSBirthdaySex extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [[
-			s => s.fetish !== "mindbroken",
+			s => s.fetish !== Fetish.MINDBROKEN,
 			s => s.devotion > 50,
 			s => s.trust > 50,
 			s => s.birthWeek >= 51,
diff --git a/src/events/RESS/review/bondedLove.js b/src/events/RESS/review/bondedLove.js
index 3b1f9553131..ee01a1acc34 100644
--- a/src/events/RESS/review/bondedLove.js
+++ b/src/events/RESS/review/bondedLove.js
@@ -6,7 +6,7 @@ App.Events.RESSBondedLove = class RESSBondedLove extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				s => s.relationship <= -2,
diff --git a/src/events/RESS/review/breastExpansionBlues.js b/src/events/RESS/review/breastExpansionBlues.js
index 49e58ed50ef..d255350c5ed 100644
--- a/src/events/RESS/review/breastExpansionBlues.js
+++ b/src/events/RESS/review/breastExpansionBlues.js
@@ -6,7 +6,7 @@ App.Events.RESSBreastExpansionBlues = class RESSBreastExpansionBlues extends App
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				canTalk,
diff --git a/src/events/RESS/review/cageRelief.js b/src/events/RESS/review/cageRelief.js
index deb222a2c95..c1415186436 100644
--- a/src/events/RESS/review/cageRelief.js
+++ b/src/events/RESS/review/cageRelief.js
@@ -6,7 +6,7 @@ App.Events.RESSCageRelief = class RESSCageRelief extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				s => s.balls > 0,
diff --git a/src/events/RESS/review/confidentTanning.js b/src/events/RESS/review/confidentTanning.js
index 5ebdec5ad3a..9ef216eafb0 100644
--- a/src/events/RESS/review/confidentTanning.js
+++ b/src/events/RESS/review/confidentTanning.js
@@ -8,7 +8,7 @@ App.Events.RESSConfidentTanning = class RESSConfidentTanning extends App.Events.
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				canTalk,
diff --git a/src/events/RESS/review/cowMilking.js b/src/events/RESS/review/cowMilking.js
index 84543d89835..211d68f956a 100644
--- a/src/events/RESS/review/cowMilking.js
+++ b/src/events/RESS/review/cowMilking.js
@@ -6,7 +6,7 @@ App.Events.RESSCowMilking = class RESSCowMilking extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				canTalk,
diff --git a/src/events/RESS/review/cumslutWhore.js b/src/events/RESS/review/cumslutWhore.js
index f6386725626..2b81c364fb8 100644
--- a/src/events/RESS/review/cumslutWhore.js
+++ b/src/events/RESS/review/cumslutWhore.js
@@ -8,7 +8,7 @@ App.Events.RESSCumslutWhore = class RESSCumslutWhore extends App.Events.BaseEven
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.devotion > 20,
 				s => s.fetishKnown === 1,
 				s => [Job.PUBLIC, Job.WHORE, Job.GLORYHOLE].includes(s.assignment),
diff --git a/src/events/RESS/review/desperateNull.js b/src/events/RESS/review/desperateNull.js
index 217d6dbfa9c..9375fa2ef62 100644
--- a/src/events/RESS/review/desperateNull.js
+++ b/src/events/RESS/review/desperateNull.js
@@ -6,7 +6,7 @@ App.Events.RESSDesperateNull = class RESSDesperateNull extends App.Events.BaseEv
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				canTalk,
diff --git a/src/events/RESS/review/desperatelyHorny.js b/src/events/RESS/review/desperatelyHorny.js
index 06e7ecea427..1a15420a2c1 100644
--- a/src/events/RESS/review/desperatelyHorny.js
+++ b/src/events/RESS/review/desperatelyHorny.js
@@ -6,7 +6,7 @@ App.Events.RESSDesperatelyHorny = class RESSDesperatelyHorny extends App.Events.
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				s => s.rules.release.masturbation === 0,
diff --git a/src/events/RESS/review/devotedExhibition.js b/src/events/RESS/review/devotedExhibition.js
index 3b9c9f8b8d6..525737d7c2a 100644
--- a/src/events/RESS/review/devotedExhibition.js
+++ b/src/events/RESS/review/devotedExhibition.js
@@ -6,7 +6,7 @@ App.Events.RESSDevotedExhibition = class RESSDevotedExhibition extends App.Event
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				canTalk,
diff --git a/src/events/RESS/review/devotedLotion.js b/src/events/RESS/review/devotedLotion.js
index bbb1ade3448..847c38462ec 100644
--- a/src/events/RESS/review/devotedLotion.js
+++ b/src/events/RESS/review/devotedLotion.js
@@ -6,7 +6,7 @@ App.Events.RESSDevotedLotion = class RESSDevotedLotion extends App.Events.BaseEv
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				canTalk,
diff --git a/src/events/RESS/review/devotedOld.js b/src/events/RESS/review/devotedOld.js
index a2c07da2d1c..554c7cd4486 100644
--- a/src/events/RESS/review/devotedOld.js
+++ b/src/events/RESS/review/devotedOld.js
@@ -6,7 +6,7 @@ App.Events.RESSDevotedOld = class RESSDevotedOld extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				canTalk,
diff --git a/src/events/RESS/review/dickWringing.js b/src/events/RESS/review/dickWringing.js
index 78c556f50b0..8851dcf1b09 100644
--- a/src/events/RESS/review/dickWringing.js
+++ b/src/events/RESS/review/dickWringing.js
@@ -6,7 +6,7 @@ App.Events.RESSDickWringing = class RESSDickWringing extends App.Events.BaseEven
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				s => s.dick > 8,
diff --git a/src/events/RESS/review/dickgirlPC.js b/src/events/RESS/review/dickgirlPC.js
index 975342afe76..79e3e579f15 100644
--- a/src/events/RESS/review/dickgirlPC.js
+++ b/src/events/RESS/review/dickgirlPC.js
@@ -9,7 +9,7 @@ App.Events.RESSDickgirlPC = class RESSDickgirlPC extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				canSee,
diff --git a/src/events/RESS/review/diet.js b/src/events/RESS/review/diet.js
index d8c604a6984..73a635c56a8 100644
--- a/src/events/RESS/review/diet.js
+++ b/src/events/RESS/review/diet.js
@@ -6,7 +6,7 @@ App.Events.RESSDiet = class RESSDiet extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				s => s.devotion <= 50,
diff --git a/src/events/RESS/review/extremeAphrodisiacs.js b/src/events/RESS/review/extremeAphrodisiacs.js
index 286889c2924..53105a557ea 100644
--- a/src/events/RESS/review/extremeAphrodisiacs.js
+++ b/src/events/RESS/review/extremeAphrodisiacs.js
@@ -6,7 +6,7 @@ App.Events.RESSExtremeAphrodisiacs = class RESSExtremeAphrodisiacs extends App.E
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.aphrodisiacs > 1 || s.inflationType === "aphrodisiac",
 				s => s.rules.speech === "restrictive",
 				s => s.rules.release.master === 1,
diff --git a/src/events/RESS/review/fearfulBalls.js b/src/events/RESS/review/fearfulBalls.js
index fa2a5f3e311..379cf0c9654 100644
--- a/src/events/RESS/review/fearfulBalls.js
+++ b/src/events/RESS/review/fearfulBalls.js
@@ -8,7 +8,7 @@ App.Events.RESSFearfulBalls = class RESSFearfulBalls extends App.Events.BaseEven
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.assignment !== Job.QUARTER,
 				s => s.balls > 1,
 				s => s.scrotum > 0,
diff --git a/src/events/RESS/review/fearfulHumiliation.js b/src/events/RESS/review/fearfulHumiliation.js
index cebb6d44990..2c21a43274d 100644
--- a/src/events/RESS/review/fearfulHumiliation.js
+++ b/src/events/RESS/review/fearfulHumiliation.js
@@ -6,7 +6,7 @@ App.Events.RESSFearfulHumiliation = class RESSFearfulHumiliation extends App.Eve
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				canTalk,
diff --git a/src/events/RESS/review/firstPeriod.js b/src/events/RESS/review/firstPeriod.js
index 3346782c5bc..2ca407ad9a5 100644
--- a/src/events/RESS/review/firstPeriod.js
+++ b/src/events/RESS/review/firstPeriod.js
@@ -8,7 +8,7 @@ App.Events.RESSFirstPeriod = class RESSFirstPeriod extends App.Events.BaseEvent
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				(s) => s.fetish !== "mindbroken",
+				(s) => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				(s) => s.actualAge < 18,
diff --git a/src/events/RESS/review/fucktoyTribbing.js b/src/events/RESS/review/fucktoyTribbing.js
index 805c816fc1d..caf8221ddca 100644
--- a/src/events/RESS/review/fucktoyTribbing.js
+++ b/src/events/RESS/review/fucktoyTribbing.js
@@ -9,7 +9,7 @@ App.Events.RESSFucktoyTribbing = class RESSFucktoyTribbing extends App.Events.Ba
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canTalk,
 				s => [Job.CONCUBINE, Job.FUCKTOY, Job.MASTERSUITE].includes(s.assignment),
 				s => s.devotion > 20,
diff --git a/src/events/RESS/review/gaggedSlave.js b/src/events/RESS/review/gaggedSlave.js
index 2188948867f..56dee1a1ba1 100644
--- a/src/events/RESS/review/gaggedSlave.js
+++ b/src/events/RESS/review/gaggedSlave.js
@@ -6,7 +6,7 @@ App.Events.RESSGaggedSlave = class RESSGaggedSlave extends App.Events.BaseEvent
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				s => s.devotion > 20,
diff --git a/src/events/RESS/review/gapedAsshole.js b/src/events/RESS/review/gapedAsshole.js
index 5b71cdc2462..03545eb1baf 100644
--- a/src/events/RESS/review/gapedAsshole.js
+++ b/src/events/RESS/review/gapedAsshole.js
@@ -6,7 +6,7 @@ App.Events.RESSGapedAsshole = class RESSGapedAsshole extends App.Events.BaseEven
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				canTalk,
diff --git a/src/events/RESS/review/gorging.js b/src/events/RESS/review/gorging.js
index cbdb16e091d..12a13789926 100644
--- a/src/events/RESS/review/gorging.js
+++ b/src/events/RESS/review/gorging.js
@@ -7,7 +7,7 @@ App.Events.RESSGorging = class RESSGorging extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				canMove,
 				canTalk,
diff --git a/src/events/RESS/review/happyDance.js b/src/events/RESS/review/happyDance.js
index 3b84a31a86d..d5231f2e772 100644
--- a/src/events/RESS/review/happyDance.js
+++ b/src/events/RESS/review/happyDance.js
@@ -6,7 +6,7 @@ App.Events.RESSHappyDance = class RESSHappyDance extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				s => canTalk(s, false),
diff --git a/src/events/RESS/review/hatesOral.js b/src/events/RESS/review/hatesOral.js
index 8c512f703ae..9781b3eacc1 100644
--- a/src/events/RESS/review/hatesOral.js
+++ b/src/events/RESS/review/hatesOral.js
@@ -8,7 +8,7 @@ App.Events.RESSHatesOral = class RESSHatesOral extends App.Events.BaseEvent { //
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.devotion <= 50,
 				s => s.sexualFlaw === "hates oral",
 			]
diff --git a/src/events/RESS/review/heavyPiercing.js b/src/events/RESS/review/heavyPiercing.js
index 700b8e259c0..15bfce6d1e4 100644
--- a/src/events/RESS/review/heavyPiercing.js
+++ b/src/events/RESS/review/heavyPiercing.js
@@ -6,7 +6,7 @@ App.Events.RESSHeavyPiercing = class RESSHeavyPiercing extends App.Events.BaseEv
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.piercing.vagina.weight > 1,
 				s => s.piercing.nipple.weight > 1,
 				s => s.piercing.genitals.weight > 1,
diff --git a/src/events/RESS/review/heels_event.js b/src/events/RESS/review/heels_event.js
index f14926455c3..8d81c0f9543 100644
--- a/src/events/RESS/review/heels_event.js
+++ b/src/events/RESS/review/heels_event.js
@@ -6,7 +6,7 @@ App.Events.RESSHeels = class RESSHeels extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => (canDoAnal(s) || canDoVaginal(s)),
 				s => s.heels === 1, // tendons are shortened
 				s => shoeHeelCategory(s) > 0 // changed during conversion; previously accepted only "heels" and "extreme heels"
diff --git a/src/events/RESS/review/hormoneDysfunction.js b/src/events/RESS/review/hormoneDysfunction.js
index bc0ad3802dd..e7564e4f031 100644
--- a/src/events/RESS/review/hormoneDysfunction.js
+++ b/src/events/RESS/review/hormoneDysfunction.js
@@ -6,7 +6,7 @@ App.Events.RESSHormoneDysfunction = class RESSHormoneDysfunction extends App.Eve
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.hormoneBalance >= 50,
 				s => s.vagina === -1,
 				s => s.balls >= 0,
diff --git a/src/events/RESS/review/hugeNaturals.js b/src/events/RESS/review/hugeNaturals.js
index be5381d885c..6807a51a15c 100644
--- a/src/events/RESS/review/hugeNaturals.js
+++ b/src/events/RESS/review/hugeNaturals.js
@@ -6,7 +6,7 @@ App.Events.RESSHugeNaturals = class RESSHugeNaturals extends App.Events.BaseEven
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				s => s.boobs >= 2000,
diff --git a/src/events/RESS/review/hugeTits.js b/src/events/RESS/review/hugeTits.js
index 9c18f1b7865..af027551133 100644
--- a/src/events/RESS/review/hugeTits.js
+++ b/src/events/RESS/review/hugeTits.js
@@ -11,7 +11,7 @@ App.Events.RESSHugeTits = class RESSHugeTits extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				canTalk,
diff --git a/src/events/RESS/review/hugelyPregnant.js b/src/events/RESS/review/hugelyPregnant.js
index ed6d28a3067..3d0d70e6039 100644
--- a/src/events/RESS/review/hugelyPregnant.js
+++ b/src/events/RESS/review/hugelyPregnant.js
@@ -8,7 +8,7 @@ App.Events.RESSHugelyPregnant = class RESSHugelyPregnant extends App.Events.Base
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.bellyPreg >= 10000,
 			]
 		];
diff --git a/src/events/RESS/review/hyperpregStuck.js b/src/events/RESS/review/hyperpregStuck.js
index b82c622b555..6567c8705a8 100644
--- a/src/events/RESS/review/hyperpregStuck.js
+++ b/src/events/RESS/review/hyperpregStuck.js
@@ -8,7 +8,7 @@ App.Events.RESSHyperpregStuck = class RESSHyperpregStuck extends App.Events.Base
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.bellyPreg >= 300000,
 			]
 		];
diff --git a/src/events/RESS/review/ignorantHorny.js b/src/events/RESS/review/ignorantHorny.js
index 19e7afc10b3..c0262024e46 100644
--- a/src/events/RESS/review/ignorantHorny.js
+++ b/src/events/RESS/review/ignorantHorny.js
@@ -6,7 +6,7 @@ App.Events.RESSIgnorantHorny = class RESSIgnorantHorny extends App.Events.BaseEv
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				canTalk,
diff --git a/src/events/RESS/review/implantInspection.js b/src/events/RESS/review/implantInspection.js
index 66a93a9eaf4..5f1b4c4b085 100644
--- a/src/events/RESS/review/implantInspection.js
+++ b/src/events/RESS/review/implantInspection.js
@@ -6,7 +6,7 @@ App.Events.RESSImplantInspection = class RESSImplantInspection extends App.Event
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				s => s.assignment !== Job.QUARTER,
diff --git a/src/events/RESS/review/inconvenientLabia.js b/src/events/RESS/review/inconvenientLabia.js
index 9dc08a53355..aeb3272dbd3 100644
--- a/src/events/RESS/review/inconvenientLabia.js
+++ b/src/events/RESS/review/inconvenientLabia.js
@@ -6,7 +6,7 @@ App.Events.RESSInconvenientLabia = class RESSInconvenientLabia extends App.Event
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				s => s.labia > 1,
diff --git a/src/events/RESS/review/likeMe.js b/src/events/RESS/review/likeMe.js
index 1f97cdaa71e..21781716c4d 100644
--- a/src/events/RESS/review/likeMe.js
+++ b/src/events/RESS/review/likeMe.js
@@ -6,7 +6,7 @@ App.Events.RESSLikeMe = class RESSLikeMe extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				s => s.trust <= 20,
diff --git a/src/events/RESS/review/looseButtslut.js b/src/events/RESS/review/looseButtslut.js
index d39409aea5f..c8bb88e55dc 100644
--- a/src/events/RESS/review/looseButtslut.js
+++ b/src/events/RESS/review/looseButtslut.js
@@ -6,7 +6,7 @@ App.Events.RESSLooseButtslut = class RESSLooseButtslut extends App.Events.BaseEv
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canHold,
 				canDoAnal,
 				s => s.fetish === "buttslut" || (s.energy > 95 && s.fetish !== "none"),
diff --git a/src/events/RESS/review/masterfulEntertainer.js b/src/events/RESS/review/masterfulEntertainer.js
index 9bcbbb48c5f..4a9fd1c4021 100644
--- a/src/events/RESS/review/masterfulEntertainer.js
+++ b/src/events/RESS/review/masterfulEntertainer.js
@@ -6,7 +6,7 @@ App.Events.RESSMasterfulEntertainer = class RESSMasterfulEntertainer extends App
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				s => s.assignment === Job.PUBLIC,
diff --git a/src/events/RESS/review/millenary.js b/src/events/RESS/review/millenary.js
index 0e2d51813d5..fd7f1829727 100644
--- a/src/events/RESS/review/millenary.js
+++ b/src/events/RESS/review/millenary.js
@@ -6,7 +6,7 @@ App.Events.RESSMillenary = class RESSMillenary extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canTalk,
 				s => (canDoAnal(s) || canDoVaginal(s)),
 				s => s.anus > 0,
diff --git a/src/events/RESS/review/modsPlease.js b/src/events/RESS/review/modsPlease.js
index 7c18fd041ea..2d7f9c5d480 100644
--- a/src/events/RESS/review/modsPlease.js
+++ b/src/events/RESS/review/modsPlease.js
@@ -8,7 +8,7 @@ App.Events.RESSModsPlease = class RESSModsPlease extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				canTalk,
diff --git a/src/events/RESS/review/newlyDevotedSunrise.js b/src/events/RESS/review/newlyDevotedSunrise.js
index 3db2143408e..c64a82ec851 100644
--- a/src/events/RESS/review/newlyDevotedSunrise.js
+++ b/src/events/RESS/review/newlyDevotedSunrise.js
@@ -6,7 +6,7 @@ App.Events.RESSNewlyDevotedSunrise = class RESSNewlyDevotedSunrise extends App.E
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				canTalk,
diff --git a/src/events/RESS/review/niceGuys.js b/src/events/RESS/review/niceGuys.js
index 46fedf8b35f..528e5421396 100644
--- a/src/events/RESS/review/niceGuys.js
+++ b/src/events/RESS/review/niceGuys.js
@@ -6,7 +6,7 @@ App.Events.RESSNiceGuys = class RESSNiceGuys extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				s => s.assignment === Job.PUBLIC,
diff --git a/src/events/RESS/review/notMyName.js b/src/events/RESS/review/notMyName.js
index eb48b24b2c2..7751ce65adc 100644
--- a/src/events/RESS/review/notMyName.js
+++ b/src/events/RESS/review/notMyName.js
@@ -6,7 +6,7 @@ App.Events.RESSNotMyName = class RESSNotMyName extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				canTalk,
diff --git a/src/events/RESS/review/nymphoWithAssistant.js b/src/events/RESS/review/nymphoWithAssistant.js
index 264f876f736..e972041e668 100644
--- a/src/events/RESS/review/nymphoWithAssistant.js
+++ b/src/events/RESS/review/nymphoWithAssistant.js
@@ -8,7 +8,7 @@ App.Events.RESSNymphoWithAssistant = class RESSNymphoWithAssistant extends App.E
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.fetishKnown === 1,
 				s => s.energy > 95,
 				s => s.devotion > 20,
diff --git a/src/events/RESS/review/objectifyingVisit.js b/src/events/RESS/review/objectifyingVisit.js
index ec9fe5b1550..1b41059d75f 100644
--- a/src/events/RESS/review/objectifyingVisit.js
+++ b/src/events/RESS/review/objectifyingVisit.js
@@ -6,7 +6,7 @@ App.Events.RESSObjectifyingVisit = class RESSObjectifyingVisit extends App.Event
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				s => s.trust > 20,
diff --git a/src/events/RESS/review/orchiectomyPlease.js b/src/events/RESS/review/orchiectomyPlease.js
index 5c3bbdc3fa5..57b3ad25662 100644
--- a/src/events/RESS/review/orchiectomyPlease.js
+++ b/src/events/RESS/review/orchiectomyPlease.js
@@ -8,7 +8,7 @@ App.Events.RESSOrchiectomyPlease = class RESSOrchiectomyPlease extends App.Event
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				s => s.assignment !== Job.QUARTER,
diff --git a/src/events/RESS/review/rebelliousArrogant.js b/src/events/RESS/review/rebelliousArrogant.js
index 384f87fa571..7d4c03e2078 100644
--- a/src/events/RESS/review/rebelliousArrogant.js
+++ b/src/events/RESS/review/rebelliousArrogant.js
@@ -6,7 +6,7 @@ App.Events.RESSRebelliousArrogant = class RESSRebelliousArrogant extends App.Eve
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.assignment !== Job.QUARTER,
 				s => s.behavioralFlaw === "arrogant",
 				s => s.devotion < -50,
diff --git a/src/events/RESS/review/resistantAnalVirgin.js b/src/events/RESS/review/resistantAnalVirgin.js
index cefa5b96960..84f4939ac35 100644
--- a/src/events/RESS/review/resistantAnalVirgin.js
+++ b/src/events/RESS/review/resistantAnalVirgin.js
@@ -6,7 +6,7 @@ App.Events.RESSResistantAnalVirgin = class RESSResistantAnalVirgin extends App.E
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.devotion < -20,
 				s => s.trust >= -20,
 				s => s.anus === 0,
diff --git a/src/events/RESS/review/resistantGelding.js b/src/events/RESS/review/resistantGelding.js
index b06c7813002..c60afd07637 100644
--- a/src/events/RESS/review/resistantGelding.js
+++ b/src/events/RESS/review/resistantGelding.js
@@ -6,7 +6,7 @@ App.Events.RESSResistantGelding = class RESSResistantGelding extends App.Events.
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				s => s.dick > 0,
diff --git a/src/events/RESS/review/resistantShower.js b/src/events/RESS/review/resistantShower.js
index 561fde083ae..e37410ff6ff 100644
--- a/src/events/RESS/review/resistantShower.js
+++ b/src/events/RESS/review/resistantShower.js
@@ -6,7 +6,7 @@ App.Events.RESSResistantShower = class RESSResistantShower extends App.Events.Ba
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				s => s.devotion <= 20,
diff --git a/src/events/RESS/review/restrictedProfession.js b/src/events/RESS/review/restrictedProfession.js
index f77aee7d4e2..fc2a192537d 100644
--- a/src/events/RESS/review/restrictedProfession.js
+++ b/src/events/RESS/review/restrictedProfession.js
@@ -6,7 +6,7 @@ App.Events.RESSRestrictedProfession = class RESSRestrictedProfession extends App
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canTalk,
 				s => s.assignment !== Job.QUARTER,
 				s => s.rules.speech === "restrictive",
diff --git a/src/events/RESS/review/servantMaid.js b/src/events/RESS/review/servantMaid.js
index 70b91d2bce0..2b3e8da0dee 100644
--- a/src/events/RESS/review/servantMaid.js
+++ b/src/events/RESS/review/servantMaid.js
@@ -6,7 +6,7 @@ App.Events.RESSServantMaid = class RESSServantMaid extends App.Events.BaseEvent
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.devotion <= 20,
 				s => [Job.QUARTER, Job.HOUSE].includes(s.assignment),
 				s => ["a nice maid outfit", "a slutty maid outfit"].includes(s.clothes),
diff --git a/src/events/RESS/review/sexySuccubus.js b/src/events/RESS/review/sexySuccubus.js
index c292d9f7f59..bcff8a69348 100644
--- a/src/events/RESS/review/sexySuccubus.js
+++ b/src/events/RESS/review/sexySuccubus.js
@@ -6,7 +6,7 @@ App.Events.RESSSexySuccubus = class RESSSexySuccubus extends App.Events.BaseEven
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				canTalk,
diff --git a/src/events/RESS/review/shapedAreolae.js b/src/events/RESS/review/shapedAreolae.js
index d464dd98715..58b0ee91527 100644
--- a/src/events/RESS/review/shapedAreolae.js
+++ b/src/events/RESS/review/shapedAreolae.js
@@ -6,7 +6,7 @@ App.Events.RESSShapedAreolae = class RESSShapedAreolae extends App.Events.BaseEv
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.boobs > 1200,
 				s => s.areolaeShape !== "circle",
 				s => s.devotion > 50,
diff --git a/src/events/RESS/review/shiftDoorframe.js b/src/events/RESS/review/shiftDoorframe.js
index 57a0824a124..cb070708fed 100644
--- a/src/events/RESS/review/shiftDoorframe.js
+++ b/src/events/RESS/review/shiftDoorframe.js
@@ -6,7 +6,7 @@ App.Events.RESSShiftDoorframe = class RESSShiftDoorframe extends App.Events.Base
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => ([Job.CONCUBINE, Job.FUCKTOY, Job.MASTERSUITE].includes(s.assignment)),
 				canTalk,
 				s => s.devotion > 20,
diff --git a/src/events/RESS/review/shiftMasturbation.js b/src/events/RESS/review/shiftMasturbation.js
index 624960a9977..cbcdeb2bff2 100644
--- a/src/events/RESS/review/shiftMasturbation.js
+++ b/src/events/RESS/review/shiftMasturbation.js
@@ -6,7 +6,7 @@ App.Events.RESSShiftMasturbation = class RESSShiftMasturbation extends App.Event
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canTalk,
 				s => [Job.CONCUBINE, Job.FUCKTOY, Job.MASTERSUITE].includes(s.assignment),
 				s => s.devotion > 20,
diff --git a/src/events/RESS/review/shiftSleep.js b/src/events/RESS/review/shiftSleep.js
index 63424455ff8..2643a1fdc10 100644
--- a/src/events/RESS/review/shiftSleep.js
+++ b/src/events/RESS/review/shiftSleep.js
@@ -8,7 +8,7 @@ App.Events.RESSShiftSleep = class RESSShiftSleep extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canTalk,
 				s => [Job.CONCUBINE, Job.FUCKTOY, Job.MASTERSUITE].includes(s.assignment),
 				s => s.devotion > 20,
diff --git a/src/events/RESS/review/showerSlip.js b/src/events/RESS/review/showerSlip.js
index 3e08e2726da..46455d095cf 100644
--- a/src/events/RESS/review/showerSlip.js
+++ b/src/events/RESS/review/showerSlip.js
@@ -8,7 +8,7 @@ App.Events.RESSShowerSlip = class RESSShowerSlip extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				s => s.trust > 20,
diff --git a/src/events/RESS/review/slaveDickHuge.js b/src/events/RESS/review/slaveDickHuge.js
index 101072cb9e2..04b7bbc1d10 100644
--- a/src/events/RESS/review/slaveDickHuge.js
+++ b/src/events/RESS/review/slaveDickHuge.js
@@ -6,7 +6,7 @@ App.Events.RESSSlaveDickHuge = class RESSSlaveDickHuge extends App.Events.BaseEv
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.rules.release.masturbation === 1,
 				s => s.dick > 4,
 				hasAnyArms,
diff --git a/src/events/RESS/review/sleepingAmbivalent.js b/src/events/RESS/review/sleepingAmbivalent.js
index 721e65ae637..4c48cb057c8 100644
--- a/src/events/RESS/review/sleepingAmbivalent.js
+++ b/src/events/RESS/review/sleepingAmbivalent.js
@@ -6,7 +6,7 @@ App.Events.RESSSleepingAmbivalent = class RESSSleepingAmbivalent extends App.Eve
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				canTalk,
diff --git a/src/events/RESS/review/soreAss.js b/src/events/RESS/review/soreAss.js
index 0784388fc11..e99df61a704 100644
--- a/src/events/RESS/review/soreAss.js
+++ b/src/events/RESS/review/soreAss.js
@@ -6,7 +6,7 @@ App.Events.RESSSoreAss = class RESSSoreAss extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.devotion <= 50,
 				s => s.minorInjury === "sore ass",
 			]
diff --git a/src/events/RESS/review/soreShoulders.js b/src/events/RESS/review/soreShoulders.js
index b6399325d0c..eb881efd43d 100644
--- a/src/events/RESS/review/soreShoulders.js
+++ b/src/events/RESS/review/soreShoulders.js
@@ -6,7 +6,7 @@ App.Events.RESSSoreShoulders = class RESSSoreShoulders extends App.Events.BaseEv
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				s => canTalk(s, false),
diff --git a/src/events/RESS/review/spaBoobs.js b/src/events/RESS/review/spaBoobs.js
index 1c18008769b..f424b6750d6 100644
--- a/src/events/RESS/review/spaBoobs.js
+++ b/src/events/RESS/review/spaBoobs.js
@@ -8,7 +8,7 @@ App.Events.RESSSpaBoobs = class RESSSpaBoobs extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				canTalk,
diff --git a/src/events/RESS/review/subjugationBlues.js b/src/events/RESS/review/subjugationBlues.js
index 47adbaa00c8..85fbcaf0c98 100644
--- a/src/events/RESS/review/subjugationBlues.js
+++ b/src/events/RESS/review/subjugationBlues.js
@@ -8,7 +8,7 @@ App.Events.RESSSubjugationBlues = class RESSSubjugationBlues extends App.Events.
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				canTalk,
diff --git a/src/events/RESS/review/surgeryAddict.js b/src/events/RESS/review/surgeryAddict.js
index 36225bebce3..b9603f80f4f 100644
--- a/src/events/RESS/review/surgeryAddict.js
+++ b/src/events/RESS/review/surgeryAddict.js
@@ -6,7 +6,7 @@ App.Events.RESSSurgeryAddict = class RESSSurgeryAddict extends App.Events.BaseEv
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canTalk,
 				s => s.rules.speech !== "restrictive",
 				s => s.boobsImplant > 400,
diff --git a/src/events/RESS/review/surprisingWakeup.js b/src/events/RESS/review/surprisingWakeup.js
index 71058f56eda..756d7cdf9b9 100644
--- a/src/events/RESS/review/surprisingWakeup.js
+++ b/src/events/RESS/review/surprisingWakeup.js
@@ -6,7 +6,7 @@ App.Events.RESSSurprisingWakeup = class RESSSurprisingWakeup extends App.Events.
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.kindness !== undefined && s.kindness >= 100,
 				s => (isSlaveAvailable(s) && canWalk(s)) || ([Job.CONCUBINE, Job.FUCKTOY, Job.MASTERSUITE].includes(s.assignment)),
 				s => s.relationship === -3,
diff --git a/src/events/RESS/review/tendonFall.js b/src/events/RESS/review/tendonFall.js
index ec344579ff7..9646daee965 100644
--- a/src/events/RESS/review/tendonFall.js
+++ b/src/events/RESS/review/tendonFall.js
@@ -8,7 +8,7 @@ App.Events.RESSTendonFall = class RESSTendonFall extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				s => s.devotion >= -20,
diff --git a/src/events/RESS/review/terrifiedInspection.js b/src/events/RESS/review/terrifiedInspection.js
index 7816020eb6e..11a1381bd94 100644
--- a/src/events/RESS/review/terrifiedInspection.js
+++ b/src/events/RESS/review/terrifiedInspection.js
@@ -6,7 +6,7 @@ App.Events.RESSTerrifiedInspection = class RESSTerrifiedInspection extends App.E
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				canTalk,
diff --git a/src/events/RESS/review/tittymonsterInspection.js b/src/events/RESS/review/tittymonsterInspection.js
index 3f11655ae72..c1003fe3bef 100644
--- a/src/events/RESS/review/tittymonsterInspection.js
+++ b/src/events/RESS/review/tittymonsterInspection.js
@@ -6,7 +6,7 @@ App.Events.RESSTittymonsterInspection = class RESSTittymonsterInspection extends
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.assignment !== Job.QUARTER,
 				s => s.boobs > 25000,
 				s => s.belly < 100000,
diff --git a/src/events/RESS/review/torpedoSqueeze.js b/src/events/RESS/review/torpedoSqueeze.js
index 49b8cf6723b..762a38de419 100644
--- a/src/events/RESS/review/torpedoSqueeze.js
+++ b/src/events/RESS/review/torpedoSqueeze.js
@@ -6,7 +6,7 @@ App.Events.RESSTorpedoSqueeze = class RESSTorpedoSqueeze extends App.Events.Base
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				s => s.assignment !== Job.QUARTER,
diff --git a/src/events/RESS/review/transitionAnxiety.js b/src/events/RESS/review/transitionAnxiety.js
index 241c6f0e833..dd2d3641512 100644
--- a/src/events/RESS/review/transitionAnxiety.js
+++ b/src/events/RESS/review/transitionAnxiety.js
@@ -6,7 +6,7 @@ App.Events.RESSTransitionAnxiety = class RESSTransitionAnxiety extends App.Event
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				s => s.assignment !== Job.QUARTER,
diff --git a/src/events/RESS/review/trustingHG.js b/src/events/RESS/review/trustingHG.js
index 3cae954b06d..2f5458942a1 100644
--- a/src/events/RESS/review/trustingHG.js
+++ b/src/events/RESS/review/trustingHG.js
@@ -6,7 +6,7 @@ App.Events.RESSTrustingHG = class RESSTrustingHG extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				canTalk,
diff --git a/src/events/RESS/review/unhappyVirgin.js b/src/events/RESS/review/unhappyVirgin.js
index cfba18dcd27..81a61eefcdd 100644
--- a/src/events/RESS/review/unhappyVirgin.js
+++ b/src/events/RESS/review/unhappyVirgin.js
@@ -6,7 +6,7 @@ App.Events.RESSUnhappyVirgin = class RESSUnhappyVirgin extends App.Events.BaseEv
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.assignment !== Job.QUARTER,
 				s => s.rules.speech !== "restrictive",
 				canDoVaginal,
diff --git a/src/events/RESS/review/usedWhore.js b/src/events/RESS/review/usedWhore.js
index 90ef6cd54cb..46dff012ffc 100644
--- a/src/events/RESS/review/usedWhore.js
+++ b/src/events/RESS/review/usedWhore.js
@@ -6,7 +6,7 @@ App.Events.RESSUsedWhore = class RESSUsedWhore extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				s => [Job.PUBLIC, Job.WHORE].includes(s.assignment),
diff --git a/src/events/RESS/review/vocalDisobedience.js b/src/events/RESS/review/vocalDisobedience.js
index ea15bbc16d7..48d9f15c15d 100644
--- a/src/events/RESS/review/vocalDisobedience.js
+++ b/src/events/RESS/review/vocalDisobedience.js
@@ -6,7 +6,7 @@ App.Events.RESSVocalDisobedience = class RESSVocalDisobedience extends App.Event
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				canTalk,
diff --git a/src/events/RESS/review/wetDreams.js b/src/events/RESS/review/wetDreams.js
index c35ccb7c256..e61bf62f883 100644
--- a/src/events/RESS/review/wetDreams.js
+++ b/src/events/RESS/review/wetDreams.js
@@ -8,7 +8,7 @@ App.Events.RESSWetDreams = class RESSWetDreams extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				(s) => s.fetish !== "mindbroken",
+				(s) => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				(s) => s.actualAge < 18,
diff --git a/src/events/RESS/scrubbing.js b/src/events/RESS/scrubbing.js
index 449ba4d622d..e9fc0241f4a 100644
--- a/src/events/RESS/scrubbing.js
+++ b/src/events/RESS/scrubbing.js
@@ -6,7 +6,7 @@ App.Events.RESSScrubbing = class RESSScrubbing extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => (s.assignment === Job.QUARTER || s.assignment === Job.HOUSE),
 				s => s.devotion <= 50,
 				hasAnyArms,
diff --git a/src/events/RESS/serveThePublicDevoted.js b/src/events/RESS/serveThePublicDevoted.js
index c0e67bec3b3..3cc43cf8a40 100644
--- a/src/events/RESS/serveThePublicDevoted.js
+++ b/src/events/RESS/serveThePublicDevoted.js
@@ -9,7 +9,7 @@ App.Events.RESSServeThePublicDevoted = class RESSServeThePublicDevoted extends A
 				s => s.assignment === Job.PUBLIC,
 				s => canDoAnal(s) || canDoVaginal(s),
 				s => s.devotion > 50,
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				canTalk,
 			]
diff --git a/src/events/RESS/slaveOnSlaveClit.js b/src/events/RESS/slaveOnSlaveClit.js
index 6644362ecb5..4367c9b371e 100644
--- a/src/events/RESS/slaveOnSlaveClit.js
+++ b/src/events/RESS/slaveOnSlaveClit.js
@@ -6,7 +6,7 @@ App.Events.RESSSlaveOnSlaveClit = class RESSSlaveOnSlaveClit extends App.Events.
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => App.Utils.hasFamilySex(s) || s.rules.release.slaves === 1,
 				s => s.clit > 2
 			]
diff --git a/src/events/RESS/slaveOnSlaveDick.js b/src/events/RESS/slaveOnSlaveDick.js
index 1d11a67110e..b12e2394e55 100644
--- a/src/events/RESS/slaveOnSlaveDick.js
+++ b/src/events/RESS/slaveOnSlaveDick.js
@@ -6,7 +6,7 @@ App.Events.RESSSlaveOnSlaveDick = class RESSSlaveOnSlaveDick extends App.Events.
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				hasAnyLegs,
 				canPenetrate,
diff --git a/src/events/RESS/solitaryDesperation.js b/src/events/RESS/solitaryDesperation.js
index dbfd3691acd..6fd570f63f2 100644
--- a/src/events/RESS/solitaryDesperation.js
+++ b/src/events/RESS/solitaryDesperation.js
@@ -6,7 +6,7 @@ App.Events.RESSSolitaryDesperation = class RESSSolitaryDesperation extends App.E
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canTalk,
 				canHear,
 				hasAnyLegs,
diff --git a/src/events/RESS/suppositoryResistance.js b/src/events/RESS/suppositoryResistance.js
index 0a9d589c411..bc8c15880f8 100644
--- a/src/events/RESS/suppositoryResistance.js
+++ b/src/events/RESS/suppositoryResistance.js
@@ -8,7 +8,7 @@ App.Events.RESSSuppositoryResistance = class RESSSuppositoryResistance extends A
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canStand,
 				hasAnyArms,
 				s => s.drugs !== "none",
diff --git a/src/events/RESS/tooThinForCumDiet.js b/src/events/RESS/tooThinForCumDiet.js
index 40ca7c432cf..1c128b6d0a9 100644
--- a/src/events/RESS/tooThinForCumDiet.js
+++ b/src/events/RESS/tooThinForCumDiet.js
@@ -8,7 +8,7 @@ App.Events.RESSTooThinForCumDiet = class RESSTooThinForCumDiet extends App.Event
 		return [
 			/** @param {App.Entity.SlaveState} s */
 			[
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				canWalk,
 				canTalk,
diff --git a/src/events/RESS/waistlineWoes.js b/src/events/RESS/waistlineWoes.js
index 0399602a05b..e0d872d5d25 100644
--- a/src/events/RESS/waistlineWoes.js
+++ b/src/events/RESS/waistlineWoes.js
@@ -6,7 +6,7 @@ App.Events.RESSWaistlineWoes = class RESSWaistlineWoes extends App.Events.BaseEv
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canHear,
 				canWalk,
 				hasAnyArms,
diff --git a/src/events/RESS/whoreRebellious.js b/src/events/RESS/whoreRebellious.js
index e0d6bd16290..9d3c33f87ac 100644
--- a/src/events/RESS/whoreRebellious.js
+++ b/src/events/RESS/whoreRebellious.js
@@ -6,7 +6,7 @@ App.Events.RESSWhoreRebellious = class RESSWhoreRebellious extends App.Events.Ba
 	actorPrerequisites() {
 		return [
 			[ // single event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.assignment === Job.WHORE,
 				s => s.devotion < -20,
 				s => s.trust >= -20,
diff --git a/src/events/RETS/reAnalCowgirl.js b/src/events/RETS/reAnalCowgirl.js
index 36a76da7857..cfaa9607acf 100644
--- a/src/events/RETS/reAnalCowgirl.js
+++ b/src/events/RETS/reAnalCowgirl.js
@@ -8,7 +8,7 @@ App.Events.RETSAnalCowgirl = class RETSAnalCowgirl extends App.Events.BaseEvent
 	actorPrerequisites() {
 		return [
 			[ // event slave /domslave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.fuckdoll === 0,
 				hasAnyArms,
 				canMove,
@@ -22,7 +22,7 @@ App.Events.RETSAnalCowgirl = class RETSAnalCowgirl extends App.Events.BaseEvent
 				s => s.belly < 30000,
 			],
 			[ // and subslave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.fuckdoll === 0,
 				canWalk,
 				canTalk,
diff --git a/src/events/RETS/reBoobCollision.js b/src/events/RETS/reBoobCollision.js
index b664d9648b5..a1d69e88eec 100644
--- a/src/events/RETS/reBoobCollision.js
+++ b/src/events/RETS/reBoobCollision.js
@@ -6,7 +6,7 @@ App.Events.RETSBoobCollision = class RETSBoobCollision extends App.Events.BaseEv
 	actorPrerequisites() {
 		return [
 			[
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				canWalk,
 				canTalk,
@@ -18,7 +18,7 @@ App.Events.RETSBoobCollision = class RETSBoobCollision extends App.Events.BaseEv
 				s => (s.attrXX >= 50 || (s.fetish === "boobs" && s.fetishStrength > 95))
 			],
 			[ // and subslave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				canStand,
 				canTalk,
diff --git a/src/events/RETS/reCockmilkInterception.js b/src/events/RETS/reCockmilkInterception.js
index 9839155f4cd..1c4cd0f11b5 100644
--- a/src/events/RETS/reCockmilkInterception.js
+++ b/src/events/RETS/reCockmilkInterception.js
@@ -6,7 +6,7 @@ App.Events.RETSCockmilkInterception = class RETSCockmilkInterception extends App
 	actorPrerequisites() {
 		return [
 			[ // event slave /domslave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canMove,
 				canTalk,
 				s => s.devotion > 20,
@@ -14,7 +14,7 @@ App.Events.RETSCockmilkInterception = class RETSCockmilkInterception extends App
 				s => s.belly < 60000,
 			],
 			[ // and subslave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => (s.assignment === Job.DAIRY || s.assignment === Job.MILKED),
 				isSlaveAvailable,
 				canMove,
diff --git a/src/events/RETS/reDatePlease.js b/src/events/RETS/reDatePlease.js
index e4da345a5bb..0643f28a7d9 100644
--- a/src/events/RETS/reDatePlease.js
+++ b/src/events/RETS/reDatePlease.js
@@ -6,7 +6,7 @@ App.Events.RETSDatePlease = class RETSDatePlease extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // event slave/domslave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canTalk,
 				canWalk,
 				canHear,
@@ -18,7 +18,7 @@ App.Events.RETSDatePlease = class RETSDatePlease extends App.Events.BaseEvent {
 			],
 			[ // and subslave
 				s => s.ID === getSlave(this.actors[0]).relationshipTarget, // relationshipTarget of event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				isSlaveAvailable,
 				canMove,
 				canTalk,
diff --git a/src/events/RETS/reFucktoyPrefersRelative.js b/src/events/RETS/reFucktoyPrefersRelative.js
index 64b9c98f4fb..9cc5a37c17d 100644
--- a/src/events/RETS/reFucktoyPrefersRelative.js
+++ b/src/events/RETS/reFucktoyPrefersRelative.js
@@ -8,7 +8,7 @@ App.Events.RETSFucktoyPrefersRelative = class RETSFucktoyPrefersRelative extends
 	actorPrerequisites() {
 		return [
 			[ // event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.devotion > 20,
 				s => s.relationship > -2, // ebonded and lower always prefer PC
 				s => s.devotion < 95, // perfectly devoted prefer PC
@@ -19,7 +19,7 @@ App.Events.RETSFucktoyPrefersRelative = class RETSFucktoyPrefersRelative extends
 				canHear
 			],
 			[ // and a relative that they prefer over you
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.genes === RETSFucktoyPrefersRelative.preferredSex(getSlave(this.actors[0])),
 				s => areRelated(s, getSlave(this.actors[0])),
 				s => s.rivalTarget !== this.actors[0],
diff --git a/src/events/RETS/reIfYouEnjoyIt.js b/src/events/RETS/reIfYouEnjoyIt.js
index 8d0212d8161..e672d89ddb1 100644
--- a/src/events/RETS/reIfYouEnjoyIt.js
+++ b/src/events/RETS/reIfYouEnjoyIt.js
@@ -8,14 +8,14 @@ App.Events.RETSIfYouEnjoyIt = class RETSIfYouEnjoyIt extends App.Events.BaseEven
 	actorPrerequisites() {
 		return [
 			[
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasBothArms,
 				hasAnyLegs,
 				canTalk,
 				s => s.devotion > 50,
 			],
 			[ // and subslave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canTalk,
 				isSlaveAvailable,
 				s => s.devotion <= 20,
diff --git a/src/events/RETS/reIncestuousNursing.js b/src/events/RETS/reIncestuousNursing.js
index d61a97e1d86..7147b715971 100644
--- a/src/events/RETS/reIncestuousNursing.js
+++ b/src/events/RETS/reIncestuousNursing.js
@@ -8,7 +8,7 @@ App.Events.RETSIncestuousNursing = class RETSIncestuousNursing extends App.Event
 	actorPrerequisites() {
 		return [
 			[
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.daughters > 0,
 				hasBothArms,
 				canMove,
@@ -21,7 +21,7 @@ App.Events.RETSIncestuousNursing = class RETSIncestuousNursing extends App.Event
 				s => s.boobsImplant / s.boobs < .60,
 			],
 			[ // and subslave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				isSlaveAvailable,
 				hasAnyArms,
 				canTalk,
diff --git a/src/events/RETS/reInterslaveBegging.js b/src/events/RETS/reInterslaveBegging.js
index b2cd438904b..6f70c89a528 100644
--- a/src/events/RETS/reInterslaveBegging.js
+++ b/src/events/RETS/reInterslaveBegging.js
@@ -8,7 +8,7 @@ App.Events.RETSInterslaveBegging = class RETSInterslaveBegging extends App.Event
 	actorPrerequisites() {
 		return [
 			[ // event slave /domslave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				canStand,
 				canTalk,
@@ -22,7 +22,7 @@ App.Events.RETSInterslaveBegging = class RETSInterslaveBegging extends App.Event
 				s => s.rules.release.slaves === 1,
 			],
 			[ // and subslave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canWalk,
 				canTalk,
 				canHear,
diff --git a/src/events/RETS/reRepressedAnalVirgin.js b/src/events/RETS/reRepressedAnalVirgin.js
index 8ebadf80f10..6eb393c7d79 100644
--- a/src/events/RETS/reRepressedAnalVirgin.js
+++ b/src/events/RETS/reRepressedAnalVirgin.js
@@ -7,7 +7,7 @@ App.Events.RETSAnalRepressedVirgin = class RETSAnalRepressedVirgin extends App.E
 	actorPrerequisites() {
 		return [
 			[ // event slave /domslave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				canWalk,
 				canTalk,
@@ -21,7 +21,7 @@ App.Events.RETSAnalRepressedVirgin = class RETSAnalRepressedVirgin extends App.E
 				s => s.fetish !== "buttslut",
 			],
 			[ // and subslave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canWalk,
 				canTalk,
 				isSlaveAvailable,
diff --git a/src/events/RETS/reSadisticDescription.js b/src/events/RETS/reSadisticDescription.js
index fc926567013..adbb2cc7831 100644
--- a/src/events/RETS/reSadisticDescription.js
+++ b/src/events/RETS/reSadisticDescription.js
@@ -8,7 +8,7 @@ App.Events.RETSSadisticDescription = class RETSSadisticDescription extends App.E
 	actorPrerequisites() {
 		return [
 			[ // event slave /domslave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.anus > 0,
 				canTalk,
 				canWalk,
@@ -18,7 +18,7 @@ App.Events.RETSSadisticDescription = class RETSSadisticDescription extends App.E
 				s => s.fetish === "sadist" || s.fetish === "dom" || s.energy > 95,
 			],
 			[ // and subslave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canWalk,
 				canTalk,
 				canSee,
diff --git a/src/events/RETS/reShowerForce.js b/src/events/RETS/reShowerForce.js
index 440a0a46f37..1c71f14674e 100644
--- a/src/events/RETS/reShowerForce.js
+++ b/src/events/RETS/reShowerForce.js
@@ -8,7 +8,7 @@ App.Events.RETSShowerForce = class RETSShowerForce extends App.Events.BaseEvent
 	actorPrerequisites() {
 		return [
 			[ // event slave /domslave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				canWalk,
 				canTalk,
@@ -18,7 +18,7 @@ App.Events.RETSShowerForce = class RETSShowerForce extends App.Events.BaseEvent
 				s => (["sadist", "dom"].includes(s.fetish) || s.energy > 95),
 			],
 			[ // and subslave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canStand,
 				canTalk,
 				canHear,
diff --git a/src/events/RETS/reSiblingTussle.js b/src/events/RETS/reSiblingTussle.js
index 29a3ed3e04a..deec4ca99d8 100644
--- a/src/events/RETS/reSiblingTussle.js
+++ b/src/events/RETS/reSiblingTussle.js
@@ -8,7 +8,7 @@ App.Events.RETSSiblingTussle = class RETSSiblingTussle extends App.Events.BaseEv
 	actorPrerequisites() {
 		return [
 			[ // event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canStand,
 				hasAnyArms,
 				hasBothLegs,
@@ -16,7 +16,7 @@ App.Events.RETSSiblingTussle = class RETSSiblingTussle extends App.Events.BaseEv
 				s => s.sisters > 0
 			],
 			[ // and her sibling
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canStand,
 				hasAnyArms,
 				hasBothLegs,
diff --git a/src/events/RETS/reSimpleAssault.js b/src/events/RETS/reSimpleAssault.js
index 1f5c441b84c..cbb4d157afe 100644
--- a/src/events/RETS/reSimpleAssault.js
+++ b/src/events/RETS/reSimpleAssault.js
@@ -8,7 +8,7 @@ App.Events.RETSSimpleAssault = class RETSSimpleAssault extends App.Events.BaseEv
 	actorPrerequisites() {
 		return [
 			[ // event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.rules.release.slaves !== 0,
 				hasAnyArms,
 				canStand,
@@ -17,7 +17,7 @@ App.Events.RETSSimpleAssault = class RETSSimpleAssault extends App.Events.BaseEv
 				s => s.devotion > 50
 			],
 			[ // and her sub
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canStand,
 				canTalk,
 				isSlaveAvailable,
diff --git a/src/events/RETS/reTasteTest.js b/src/events/RETS/reTasteTest.js
index 93e774c2421..ae950cabe61 100644
--- a/src/events/RETS/reTasteTest.js
+++ b/src/events/RETS/reTasteTest.js
@@ -7,7 +7,7 @@ App.Events.RETSTasteTest = class RETSTasteTest extends App.Events.BaseEvent {
 	actorPrerequisites() {
 		return [
 			[ // event slave /domslave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				hasAnyArms,
 				canMove,
 				canTalk,
@@ -18,7 +18,7 @@ App.Events.RETSTasteTest = class RETSTasteTest extends App.Events.BaseEvent {
 				s => s.chastityVagina === 0 || s.chastityPenis === 0,
 			],
 			[ // and subslave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				canWalk,
 				canTalk,
 				canHear,
diff --git a/src/events/RETS/reTopExhaustion.js b/src/events/RETS/reTopExhaustion.js
index c2679a623d9..80da0807c36 100644
--- a/src/events/RETS/reTopExhaustion.js
+++ b/src/events/RETS/reTopExhaustion.js
@@ -8,7 +8,7 @@ App.Events.RETSTopExhaustion = class RETSTopExhaustion extends App.Events.BaseEv
 	actorPrerequisites() {
 		return [
 			[ // event slave
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.rules.release.partner !== 0,
 				s => (canDoAnal(s) && s.anus !== 0) || (canDoVaginal(s) && s.vagina !== 0 && s.fetish !== "buttslut"),
 				hasAnyArms,
@@ -21,7 +21,7 @@ App.Events.RETSTopExhaustion = class RETSTopExhaustion extends App.Events.BaseEv
 				s => s.trust > 50
 			],
 			[ // and her dom
-				s => s.fetish !== "mindbroken",
+				s => s.fetish !== Fetish.MINDBROKEN,
 				s => s.relationshipTarget === this.actors[0],
 				isSlaveAvailable,
 				s => (s.assignment !== Job.MASTERSUITE && s.assignment !== Job.CONCUBINE && s.assignment !== Job.QUARTER),
diff --git a/src/events/nonRandom/daughters/pUndergroundRailroad.js b/src/events/nonRandom/daughters/pUndergroundRailroad.js
index dbf86c9f615..1636009b2dd 100644
--- a/src/events/nonRandom/daughters/pUndergroundRailroad.js
+++ b/src/events/nonRandom/daughters/pUndergroundRailroad.js
@@ -218,7 +218,7 @@ App.Events.PUndergroundRailroad = class PUndergroundRailroad extends App.Events.
 			// The order of qualities does not matter.
 			const qualities = [
 				(s) => s.fuckdoll === 0,
-				(s) => s.fetish !== "mindbroken",
+				(s) => s.fetish !== Fetish.MINDBROKEN,
 				(s) => canWalk(s),
 				(s) => canTalk(s),
 				(s) => canSee(s),
diff --git a/src/events/nonRandom/mercs/pMercenaryRomeo.js b/src/events/nonRandom/mercs/pMercenaryRomeo.js
index 6bb287d1bee..f9d40a0de8d 100644
--- a/src/events/nonRandom/mercs/pMercenaryRomeo.js
+++ b/src/events/nonRandom/mercs/pMercenaryRomeo.js
@@ -12,7 +12,7 @@ App.Events.PMercenaryRomeo = class PMercenaryRomeo extends App.Events.BaseEvent
 		this.actors = [];
 		const juliet =
 			// first try - find an available sex worker
-			V.slaves.filter(s => s.fetish !== "mindbroken" && s.fuckdoll === 0 && ["serve in the club", "serve the public", "whore", "work in the brothel"].includes(s.assignment)).random() ||
+			V.slaves.filter(s => s.fetish !== Fetish.MINDBROKEN && s.fuckdoll === 0 && ["serve in the club", "serve the public", "whore", "work in the brothel"].includes(s.assignment)).random() ||
 			// second try - find a slave who had public exposure and is hopefully not important to the PC personally
 			V.slaves.filter(s => (s.counter.publicUse > 0) && (s.newGamePlus === 0) && (s.relationship > -3) && !["be your Concubine", "serve in the master suite"].includes(s.assignment)).random();
 		if (juliet) {
@@ -81,7 +81,7 @@ App.Events.PMercenaryRomeo = class PMercenaryRomeo extends App.Events.BaseEvent
 		function declinePolitely() {
 			let r = [];
 			r.push(`"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 (juliet.relationship === -3 && juliet.fetish !== "mindbroken" && juliet.devotion + juliet.trust > 190) {
+			if (juliet.relationship === -3 && juliet.fetish !== Fetish.MINDBROKEN && juliet.devotion + juliet.trust > 190) {
 				r.push(`${juliet.slaveName} politely thanks you for not letting him take ${him} away.`);
 			}
 			return r;
@@ -90,7 +90,7 @@ App.Events.PMercenaryRomeo = class PMercenaryRomeo extends App.Events.BaseEvent
 		function accept() {
 			let r = [];
 			r.push(`The mercenary leaves to collect his purchase. On the video feeds, you see that ${juliet.slaveName} can hardly believe what's`);
-			if (juliet.relationship === -3 && juliet.fetish !== "mindbroken" && juliet.devotion + juliet.trust > 190) {
+			if (juliet.relationship === -3 && juliet.fetish !== Fetish.MINDBROKEN && juliet.devotion + juliet.trust > 190) {
 				r.push(`happening. You can't hear what he says as he takes out a ring, but ${his} reaction speaks clearly. ${He} says "No."`);
 				if (canWalk(juliet) && hasAnyArms(juliet)) {
 					r.push(`${He} points back into your penthouse and returns to ${his} home.`);
@@ -122,7 +122,7 @@ App.Events.PMercenaryRomeo = class PMercenaryRomeo extends App.Events.BaseEvent
 		function gift() {
 			let r = [];
 			r.push(`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 ${juliet.slaveName} can hardly believe what's`);
-			if (juliet.relationship === -3 && juliet.fetish !== "mindbroken" && juliet.devotion + juliet.trust > 190) {
+			if (juliet.relationship === -3 && juliet.fetish !== Fetish.MINDBROKEN && juliet.devotion + juliet.trust > 190) {
 				r.push(`happening. You can't hear what he says as he takes out a ring, but ${his} reaction speaks clearly. ${He} says "No."`);
 				if (canWalk(juliet) && hasAnyArms(juliet)) {
 					r.push(`${He} points back into your penthouse and returns to ${his} home.`);
diff --git a/src/events/scheduled/seTheSirenStrikesBack.js b/src/events/scheduled/seTheSirenStrikesBack.js
index 5a1799cf162..32d404f5f17 100644
--- a/src/events/scheduled/seTheSirenStrikesBack.js
+++ b/src/events/scheduled/seTheSirenStrikesBack.js
@@ -60,7 +60,7 @@ App.Events.SETheSirenStrikesBack = class SETheSirenStrikesBack extends App.Event
 
 		App.Events.addParagraph(node, [`"Please, don't hurt me! I'll pay for that slave I sent you to be released, even set ${him} up with the life ${he2} would have had if I hadn't embezzled the profits!"`]);
 
-		if (swan && swan.fuckdoll === 0 && swan.fetish !== "mindbroken") {
+		if (swan && swan.fuckdoll === 0 && swan.fetish !== Fetish.MINDBROKEN) {
 			const {title: Master} = getEnunciation(swan);
 			r.push(`Just as the little weasel at your feet finishes, ${swan.slaveName}`);
 			if (canWalk(swan)) {
diff --git a/src/facilities/bodyModification/bodyModification.js b/src/facilities/bodyModification/bodyModification.js
index 3027d2be646..2b149eaeef6 100644
--- a/src/facilities/bodyModification/bodyModification.js
+++ b/src/facilities/bodyModification/bodyModification.js
@@ -149,7 +149,7 @@ App.UI.bodyModification = function(slave, cheat = false) {
 				r.push(`Afterwards you seal the wounds with a white medical spray. Infection is no risk to ${slave.slaveName} thanks to your curatives, but in order to form obvious scar tissue you had to keep air out and delay normal healing as long as possible.`);
 				scarApplied = false;
 			}
-			if (slave.fetish !== "mindbroken" && slave.fuckdoll === 0) {
+			if (slave.fetish !== Fetish.MINDBROKEN && slave.fuckdoll === 0) {
 				if (degradation > 1) {
 					if (degradation > 5) {
 						if (slave.devotion <= 50 && slave.trust < -50) {
diff --git a/src/facilities/dairy/freeRangeDairyAssignmentScene.js b/src/facilities/dairy/freeRangeDairyAssignmentScene.js
index 137c63e712c..21ab965c10b 100644
--- a/src/facilities/dairy/freeRangeDairyAssignmentScene.js
+++ b/src/facilities/dairy/freeRangeDairyAssignmentScene.js
@@ -1,5 +1,5 @@
 App.Facilities.Dairy.freeRangeAssignmentScene = function(slave) {
-	/* This scene wants V.dairyRestraintsSetting === 0 && slave.devotion > 0 && slave.fetish !== "mindbroken" */
+	/* This scene wants V.dairyRestraintsSetting === 0 && slave.devotion > 0 && slave.fetish !== Fetish.MINDBROKEN */
 	const node = new DocumentFragment();
 
 	V.nextButton = "Continue";
diff --git a/src/facilities/spa/spaFramework.js b/src/facilities/spa/spaFramework.js
index 0310f8141b6..0a1dcbd7437 100644
--- a/src/facilities/spa/spaFramework.js
+++ b/src/facilities/spa/spaFramework.js
@@ -39,7 +39,7 @@ App.Entity.Facilities.SpaAssigneeJob = class extends App.Entity.Facilities.Facil
 		let r = super.checkRequirements(slave);
 
 		if (
-			slave.fetish !== "mindbroken" &&
+			slave.fetish !== Fetish.MINDBROKEN &&
 			(
 				slave.devotion < -20 ||
 				(
diff --git a/src/facilities/surgery/surgeryPassageExtreme.js b/src/facilities/surgery/surgeryPassageExtreme.js
index 8dfb7ffcd7d..beddba50429 100644
--- a/src/facilities/surgery/surgeryPassageExtreme.js
+++ b/src/facilities/surgery/surgeryPassageExtreme.js
@@ -49,13 +49,13 @@ App.UI.surgeryPassageExtreme = function(slave, refresh, cheat = false) {
 			const el = new DocumentFragment();
 			const r = [];
 			const linkArray = [];
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				r.push(`${He} is mentally competent.`);
 			} else if (slave.fetish === Fetish.MINDBROKEN) {
 				r.push(`${His} mind is gone; ${he} has either been chemically lobotomized, or has lost ${his} mind due to extreme abuse.`);
 			}
 			if (slave.indentureRestrictions < 1 && (slave.breedingMark !== 1 || V.propOutcome === 0 || V.eugenicsFullControl === 1 || V.arcologies[0].FSRestart === "unset")) {
-				if (slave.fetish !== "mindbroken") {
+				if (slave.fetish !== Fetish.MINDBROKEN) {
 					linkArray.push(App.Medicine.Surgery.makeLink(
 						new App.Medicine.Surgery.Procedures.Mindbreak(slave),
 						refresh, cheat));
diff --git a/src/interaction/policies/changeLanguage.js b/src/interaction/policies/changeLanguage.js
index 82e4703e958..42375a8acdf 100644
--- a/src/interaction/policies/changeLanguage.js
+++ b/src/interaction/policies/changeLanguage.js
@@ -65,7 +65,7 @@ App.Arcology.changeLanguage = function() {
 			V.language = targetLanguage;
 			V.arcologies[0].prosperity = Math.trunc(0.9 * V.arcologies[0].prosperity);
 			for (const slave of V.slaves) {
-				if (slave.fetish !== "mindbroken") {
+				if (slave.fetish !== Fetish.MINDBROKEN) {
 					nationalityToAccent(slave);
 					if (slave.accent >= 3) {
 						if ((slave.intelligence + slave.intelligenceImplant + 100) > random(0, 100)) {
diff --git a/src/interaction/saleFunctions.js b/src/interaction/saleFunctions.js
index c4c441ebc57..e449c89efc4 100644
--- a/src/interaction/saleFunctions.js
+++ b/src/interaction/saleFunctions.js
@@ -37,7 +37,7 @@ App.Interact.Sale.separationReactions = function(slave) {
 	}
 	if (slave.relationship > 0) {
 		const rel = getSlave(slave.relationshipTarget);
-		if (rel && rel.fetish !== "mindbroken") {
+		if (rel && rel.fetish !== Fetish.MINDBROKEN) {
 			const {his2} = getPronouns(rel).appendSuffix("2");
 			App.Events.addParagraph(resultNode, [`${rel.slaveName} is <span class="devotion dec">grieved</span> that you are selling ${his2} best source of comfort and companionship in a life of bondage.`]);
 			rel.devotion -= rel.relationship*10;
@@ -53,7 +53,7 @@ App.Interact.Sale.separationReactions = function(slave) {
 	}
 	if (slave.rivalry !== 0) {
 		const riv = getSlave(slave.rivalryTarget);
-		if (riv && riv.fetish !== "mindbroken") {
+		if (riv && riv.fetish !== Fetish.MINDBROKEN) {
 			const {he2, his2} = getPronouns(riv).appendSuffix("2");
 			App.Events.addParagraph(resultNode, [`${riv.slaveName} is <span class="devotion inc">pleased</span> that ${he2} won't have to see ${his2} rival any more.`]);
 			riv.devotion += riv.rivalry*3;
diff --git a/src/interaction/sellSlave.js b/src/interaction/sellSlave.js
index 293718ec20c..c315f6e05e3 100644
--- a/src/interaction/sellSlave.js
+++ b/src/interaction/sellSlave.js
@@ -946,7 +946,7 @@ App.Interact.sellSlave = function(slave) {
 					(
 						((slave.actualAge < V.retirementAge-1) && V.policies.retirement.physicalAgePolicy === 0) ||
 						((slave.physicalAge < V.retirementAge-1) && V.policies.retirement.physicalAgePolicy === 1)
-					) && slave.fuckdoll === 0 && canWalk(slave) && canTalk(slave) && slave.fetish !== "mindbroken" && slave.devotion > 50 &&
+					) && slave.fuckdoll === 0 && canWalk(slave) && canTalk(slave) && slave.fetish !== Fetish.MINDBROKEN && slave.devotion > 50 &&
 					(slave.trust > 95 || slave.trust < -20 || (slave.intelligence+slave.intelligenceImplant < -15))
 				);
 
@@ -2346,7 +2346,7 @@ App.Interact.sellSlave = function(slave) {
 			["paternalist arcology", {
 				cost: 1.25,
 				offerDesc: `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.`,
-				get requirements() { return (slave.intelligenceImplant < 5 && slave.devotion > 20 && slave.fetish !== "mindbroken"); },
+				get requirements() { return (slave.intelligenceImplant < 5 && slave.devotion > 20 && slave.fetish !== Fetish.MINDBROKEN); },
 				percentOdds: 70,
 				get completeSale() {
 					const r = [];
diff --git a/src/interaction/siPhysicalRegimen.js b/src/interaction/siPhysicalRegimen.js
index 456c1a7a313..c07747dd142 100644
--- a/src/interaction/siPhysicalRegimen.js
+++ b/src/interaction/siPhysicalRegimen.js
@@ -895,7 +895,7 @@ App.UI.SlaveInteract.physicalRegimen = function(slave, refresh) {
 		} else {
 			weight.push({text: `Lose weight`, disabled: `${He} is already underweight`});
 		}
-		if (slave.fuckdoll === 0 && slave.fetish !== "mindbroken" && V.feeder === 1) {
+		if (slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN && V.feeder === 1) {
 			if (slave.weight > 10 || slave.weight < -10) {
 				weight.push({text: `Correct weight`, updateSlave: {diet: "corrective"}});
 			} else {
diff --git a/src/interaction/siWork.js b/src/interaction/siWork.js
index a9ec6783539..e42b73e8967 100644
--- a/src/interaction/siWork.js
+++ b/src/interaction/siWork.js
@@ -641,7 +641,7 @@ App.UI.SlaveInteract.work = function(slave, refresh) {
 					sexOptions.push({text: `Abuse ${his} rival with ${him}`, scene: () => App.Interact.fRival(slave)});
 				}
 			}
-			if (slave.fetish !== "mindbroken" && slave.accent < 4 && ((canTalk(slave)) || hasAnyArms(slave))) {
+			if (slave.fetish !== Fetish.MINDBROKEN && slave.accent < 4 && ((canTalk(slave)) || hasAnyArms(slave))) {
 				sexOptions.push({text: `Ask ${him} about ${his} feelings`, scene: () => App.Interact.fFeelings(slave)});
 				if (V.PC.dick > 0) {
 					sexOptions.push({text: `Make ${him} beg`, scene: () => App.Interact.fBeg(slave)});
diff --git a/src/js/DefaultRules.js b/src/js/DefaultRules.js
index e4c8ce1d380..de7d23f5e49 100644
--- a/src/js/DefaultRules.js
+++ b/src/js/DefaultRules.js
@@ -1966,7 +1966,7 @@ globalThis.DefaultRules = function(slave) {
 	 * @param {FC.RA.RuleSetters} rule
 	 */
 	function ProcessRelationship(slave, rule) {
-		if (slave.fetish !== "mindbroken") {
+		if (slave.fetish !== Fetish.MINDBROKEN) {
 			if ((rule.relationshipRules !== undefined) && (rule.relationshipRules !== null)) {
 				if (slave.rules.relationship !== rule.relationshipRules) {
 					slave.rules.relationship = rule.relationshipRules;
diff --git a/src/js/assignJS.js b/src/js/assignJS.js
index 0e579a5dad3..a07a247f5c5 100644
--- a/src/js/assignJS.js
+++ b/src/js/assignJS.js
@@ -906,7 +906,7 @@ globalThis.assignmentTransition = function(slave, assignTo, passage) {
 
 	V.AS = slave.ID;
 	assignJob(slave, assignTo);
-	if (V.showAssignToScenes === 1 && slave.fetish !== "mindbroken") {
+	if (V.showAssignToScenes === 1 && slave.fetish !== Fetish.MINDBROKEN) {
 		if (assignTo === Job.DAIRY && V.dairyRestraintsSetting >= 2 && ((V.dairyStimulatorsSetting >= 2) || (V.dairyFeedersSetting >= 2) || (V.dairyPregSetting >= 2))) {
 			detourThroughScene("Industrial Dairy Assignment Scene");
 		} else if (assignTo === Job.DAIRY && (V.dairyRestraintsSetting === 0 && slave.devotion > 0)) {
diff --git a/src/js/birth/birth.js b/src/js/birth/birth.js
index 6b1e0a6d325..bf57b8a58cf 100644
--- a/src/js/birth/birth.js
+++ b/src/js/birth/birth.js
@@ -794,7 +794,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false, artRen
 				birthDamage -= 3;
 			}
 
-			if (App.Data.Careers.Leader.nurse.includes(slave.career) && slave.fetish !== "mindbroken" && slave.muscles >= -95) {
+			if (App.Data.Careers.Leader.nurse.includes(slave.career) && slave.fetish !== Fetish.MINDBROKEN && slave.muscles >= -95) {
 				r.push([
 					`Thanks to ${his}`,
 					App.UI.DOM.makeElement("span", `previous career,`, ["health", "inc"]),
@@ -1117,7 +1117,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false, artRen
 				r.push(`Since ${he} was a virgin, giving birth was a`);
 				r.push(App.UI.DOM.makeElement("span", `terribly painful`, ["health", "dec"]));
 				r.push(`experience.`);
-				if (slave.fetish !== "mindbroken") {
+				if (slave.fetish !== Fetish.MINDBROKEN) {
 					if (slave.fetish === "masochist") {
 						if (slave.fetishKnown === 0) {
 							r.push(`${He} seems to have orgasmed several times during the experience and appears to`);
@@ -1158,7 +1158,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false, artRen
 				}
 				r.push(`child, ${his} pelvic bone strained under the pressure until it could no longer hold together and`);
 				r.push(App.UI.DOM.makeElement("span", `agonizingly snapped.`, ["health", "dec"]));
-				if (slave.fetish !== "mindbroken") {
+				if (slave.fetish !== Fetish.MINDBROKEN) {
 					if (slave.fetish === "masochist") {
 						if (slave.fetishKnown === 0) {
 							r.push(`What would have made most girls blackout from pain sent ${him} into the lewdest orgasm you've seen today. ${He}`);
@@ -1276,7 +1276,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false, artRen
 				r.push(`and you do an artist's work, ${his} health is`);
 				r.push(App.UI.DOM.makeElement("span", `less affected`, ["health", "inc"]));
 				r.push(`by the surgery than it would have been if you'd paid some hack to do it remotely.`);
-				if (slave.fetish !== "mindbroken" && slave.fuckdoll === 0) {
+				if (slave.fetish !== Fetish.MINDBROKEN && slave.fuckdoll === 0) {
 					r.push(`${He} went into the surgery very aware that you were performing it manually.`);
 					if (slave.devotion < oldDevotion) {
 						if (slave.devotion > 50) {
@@ -1353,7 +1353,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false, artRen
 			} else {
 				slave.health.tired = Math.clamp(slave.health.tired + 10, 0, 100);
 			}
-			if (slave.geneticQuirks.uterineHypersensitivity === 2 && slave.fetish !== "mindbroken" && slave.fuckdoll === 0) {
+			if (slave.geneticQuirks.uterineHypersensitivity === 2 && slave.fetish !== Fetish.MINDBROKEN && slave.fuckdoll === 0) {
 				r.push(`Not only that, but`);
 				r.push(App.UI.DOM.makeElement("span", `the entire process was extremely pleasurable for ${him}${(numBeingBorn > 1) ? ',' : '.'}`, ["health", "inc"]));
 				if (numBeingBorn > 1) {
@@ -1394,7 +1394,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false, artRen
 		}
 		el.append(p);
 		/* ----- Postbirth reactions, mind ------------------------------- */
-		if (slave.fetish !== "mindbroken" && slave.fuckdoll === 0) {
+		if (slave.fetish !== Fetish.MINDBROKEN && slave.fuckdoll === 0) {
 			r = [];
 			if (numStillborn > 0) { // TODO: Here should be descriptions of reactions from losing some of babies, need tweak, only draft for now
 				if (slave.sexualFlaw === "breeder") {
@@ -1581,7 +1581,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false, artRen
 			App.Events.addParagraph(el, r);
 		}
 		/* ------------------------ Fate of other babies ---------------------------------------*/
-		if (slave.fetish !== "mindbroken" && slave.fuckdoll === 0 && numBeingBorn > 0) {
+		if (slave.fetish !== Fetish.MINDBROKEN && slave.fuckdoll === 0 && numBeingBorn > 0) {
 			r = [];
 			choices = document.createElement("p");
 			choices.id = dispositionId;
@@ -3476,7 +3476,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false, artRen
 								r.push(`to be`);
 							}
 							r.push(`a weekly occurrence. You gently caress ${slave.slaveName}'s body as ${he} begins to push out ${firstText} baby${UH}. You help ${him} upright and hold your child to ${his} breasts. The two of you cuddle as you watch your newborn suckle from its mother. Since ${he} is quite special to you, you allow ${him} the time to pick out names before ${his} child has to be taken away. When the time comes to pick up the newborn, the slave servant is surprised to find a name-card affixed to its blanket.`);
-							if (slave.fetish !== "mindbroken") {
+							if (slave.fetish !== Fetish.MINDBROKEN) {
 								r.push(`${He} can't help but feel more devoted to ${his} master after seeing such a touching act. Before you leave, ${slave.slaveName} expresses how cute ${he} found your child and that ${he} can't wait to see the next one.`);
 							}
 						} else {
@@ -5465,7 +5465,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false, artRen
 				case Job.CONCUBINE:
 					if (slave.pregSource === -1 && slave.relationship === -3) {
 						r.push(`You make sure to find time in your busy schedule to be at your concubine ${wife}'s side as ${he} gives birth to your ${children}. You gently caress ${slave.slaveName}'s body as ${he} begins to push out ${his} ${babies}${UH}. You help ${him} upright and hold your ${children} to ${his} breasts. The two of you cuddle as you watch your ${newborns} suckle from their mother. Since ${he} is quite special to you, you allow ${him} the time to pick out names before ${his} ${children} must be taken away. When the time comes to pick up the ${newborns}, the slave servant is surprised to find ${(slave.pregType === 1) ? `a name-card` : `name-cards`} affixed to their ${(slave.pregType > 1) ? `blankets` : `blanket`}.`);
-						if (slave.fetish !== "mindbroken") {
+						if (slave.fetish !== Fetish.MINDBROKEN) {
 							r.push(`${He} can't help but feel more devoted to ${his} master after seeing such a touching act. Before you leave, ${slave.slaveName} expresses how cute ${he} found your ${children} and that ${he}'d love to bear more for you.`);
 						}
 					} else if (!canWalk(slave)) {
@@ -5959,7 +5959,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false, artRen
 							r.push(`a`);
 						}
 						r.push(`${(slave.pregType > 1) ? `name-cards` : `name-card`} affixed to their ${(slave.pregType > 1) ? `blankets` : `blanket`}.`);
-						if (slave.fetish !== "mindbroken") {
+						if (slave.fetish !== Fetish.MINDBROKEN) {
 							r.push(`${He} can't help but feel more devoted to ${his} master after seeing such a touching act. Before you leave, ${slave.slaveName} expresses how cute ${he} found your ${children} and that ${he}'d love to bear more for you.`);
 						}
 					} else if (slave.fetish === Fetish.MINDBROKEN) {
diff --git a/src/js/slaveSummaryWidgets.js b/src/js/slaveSummaryWidgets.js
index 914715784cd..c9fc763f3da 100644
--- a/src/js/slaveSummaryWidgets.js
+++ b/src/js/slaveSummaryWidgets.js
@@ -290,7 +290,7 @@ App.UI.SlaveSummaryRenderers = function() {
 		 */
 		mental: function(slave, c) {
 			const b = bits.short;
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				if (slave.fetishKnown === 1) {
 					b.fetish(slave, c);
 				}
@@ -686,7 +686,7 @@ App.UI.SlaveSummaryRenderers = function() {
 		 */
 		mental: function(slave, c) {
 			const b = bits.long;
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				if (slave.fetishKnown === 1) {
 					b.fetish(slave, c);
 				}
diff --git a/src/js/storyJS.js b/src/js/storyJS.js
index 4659baf1e06..f479a6ee3cb 100644
--- a/src/js/storyJS.js
+++ b/src/js/storyJS.js
@@ -374,7 +374,7 @@ globalThis.bodyguardSuccessorEligible = function(slave) {
 	if (!slave) {
 		return false;
 	}
-	return (slave.devotion > 50 && slave.muscles >= 0 && slave.weight < 130 && slave.boobs < 8000 && slave.butt < 10 && slave.belly < 5000 && slave.balls < 10 && slave.dick < 10 && slave.preg < 20 && slave.fuckdoll === 0 && slave.fetish !== "mindbroken" && canWalk(slave) && canHold(slave) && canSee(slave) && canHear(slave));
+	return (slave.devotion > 50 && slave.muscles >= 0 && slave.weight < 130 && slave.boobs < 8000 && slave.butt < 10 && slave.belly < 5000 && slave.balls < 10 && slave.dick < 10 && slave.preg < 20 && slave.fuckdoll === 0 && slave.fetish !== Fetish.MINDBROKEN && canWalk(slave) && canHold(slave) && canSee(slave) && canHear(slave));
 };
 
 /**
diff --git a/src/js/utilsSlave.js b/src/js/utilsSlave.js
index 1c7a54d0153..f06c2a59be0 100644
--- a/src/js/utilsSlave.js
+++ b/src/js/utilsSlave.js
@@ -3042,7 +3042,7 @@ globalThis.randomRapeRivalryTarget = function(slave, predicate) {
 	const willIgnoreRules = disobedience(slave) > jsRandom(0, 100);
 
 	function canBeARapeRival(s) {
-		return (s.devotion <= 95 && s.energy <= 95 && !s.rivalry && !s.fuckdoll && s.fetish !== "mindbroken");
+		return (s.devotion <= 95 && s.energy <= 95 && !s.rivalry && !s.fuckdoll && s.fetish !== Fetish.MINDBROKEN);
 	}
 
 	function canRape(rapist, rapee) {
@@ -3132,7 +3132,7 @@ globalThis.restoreTraitor = function() {
  * @param {number} oldIntelligence Genetic intelligence for slavegen. Seriously, do not use outside of slavegen!
  */
 globalThis.applyMindbroken = function(slave, oldIntelligence = -200) {
-	slave.fetish = "mindbroken";
+	slave.fetish = Fetish.MINDBROKEN;
 	slave.fetishStrength = 10;
 	slave.attrXY = 50;
 	slave.attrXX = 50;
diff --git a/src/npc/children/childInteract.tw b/src/npc/children/childInteract.tw
index 56026a9e4a4..ae49dbc069f 100644
--- a/src/npc/children/childInteract.tw
+++ b/src/npc/children/childInteract.tw
@@ -414,7 +414,7 @@ FIXME:
 				<<replace "#mini-scene">><<include "FRival">><br>&nbsp;&nbsp;&nbsp;&nbsp;<</replace>>
 			<</link>>
 	<</if>>
-	<<if ($activeChild.fetish != "mindbroken") && (canTalk($activeChild) || hasAnyArms($activeChild))>>
+	<<if ($activeChild.fetish != Fetish.MINDBROKEN) && (canTalk($activeChild) || hasAnyArms($activeChild))>>
 		| <<link "Ask $him about $his feelings">><<replace "#mini-scene">><<set $childSex = 1>><<include "FFeelings">><br>&nbsp;&nbsp;&nbsp;&nbsp;<</replace>><</link>>
 	<</if>>
 	<<if $activeChild.devotion >= 100 && $activeChild.relationship < 0 && $activeChild.relationship > -3>>
diff --git a/src/npc/children/childSummary.js b/src/npc/children/childSummary.js
index 7b23c66d832..66430d358c4 100644
--- a/src/npc/children/childSummary.js
+++ b/src/npc/children/childSummary.js
@@ -184,7 +184,7 @@ App.Facilities.Nursery.ChildSummary = function(child) {
 			longPornPrestige(child);
 		}
 		if (abbreviate.mental === 1) {
-			if (child.fetish !== "mindbroken") {
+			if (child.fetish !== Fetish.MINDBROKEN) {
 				if (child.fetishKnown === 1) {
 					shortFetish(child);
 				}
@@ -201,7 +201,7 @@ App.Facilities.Nursery.ChildSummary = function(child) {
 			shortBehaviorQuirk(child);
 			shortSexQuirk(child);
 		} else if (abbreviate.mental === 2) {
-			if (child.fetish !== "mindbroken") {
+			if (child.fetish !== Fetish.MINDBROKEN) {
 				if (child.fetishKnown === 1) {
 					longFetish(child);
 				}
diff --git a/src/npc/descriptions/longSlave.js b/src/npc/descriptions/longSlave.js
index 6dcd140be03..54a21173c5b 100644
--- a/src/npc/descriptions/longSlave.js
+++ b/src/npc/descriptions/longSlave.js
@@ -209,7 +209,7 @@ App.Desc.longSlave = function(slave, {descType, market = 0, marketText, noArt} =
 		if (slave.origBodyOwner !== "") {
 			r.push(`${He} currently possesses ${slave.origBodyOwner}'s body.`);
 		}
-		if (slave.fetish !== "mindbroken" && slave.fuckdoll === 0 && slave.origBodyOwnerID > 0) {
+		if (slave.fetish !== Fetish.MINDBROKEN && slave.fuckdoll === 0 && slave.origBodyOwnerID > 0) {
 			const owner = getSlave(slave.origBodyOwnerID);
 			if (owner !== undefined) {
 				r.push(`${He} is fully aware that ${SlaveFullName(owner)} is in ${his} old body.`);
diff --git a/src/npc/generate/generateGenetics.js b/src/npc/generate/generateGenetics.js
index 34bf7ae2de7..03f67a5fbfa 100644
--- a/src/npc/generate/generateGenetics.js
+++ b/src/npc/generate/generateGenetics.js
@@ -603,7 +603,7 @@ globalThis.generateGenetics = (function() {
 		} else {
 			fetish = jsEither(["none", "none", "none", "none", "none", mother.fetish, mother.fetish]);
 		}
-		if (fetish === "mindbroken") { fetish = "none"; }
+		if (fetish === Fetish.MINDBROKEN) { fetish = "none"; }
 		return fetish;
 	}
 
diff --git a/src/npc/generate/generateMarketSlave.js b/src/npc/generate/generateMarketSlave.js
index 11ece0d21f8..9ec8bff8de5 100644
--- a/src/npc/generate/generateMarketSlave.js
+++ b/src/npc/generate/generateMarketSlave.js
@@ -947,7 +947,7 @@ globalThis.generateMarketSlave = function(market = "kidnappers", numArcology = 1
 					slave.fetish = jsEither(["boobs", "buttslut", "cumslut", "dom", "humiliation", "masochist", "pregnancy", "sadist", "submissive"]);
 				}
 				slave.fetishStrength = jsRandom(60, 90);
-				if (jsRandom(1, 100) <= 5 && slave.fetish !== "mindbroken") {
+				if (jsRandom(1, 100) <= 5 && slave.fetish !== Fetish.MINDBROKEN) {
 					switch (slave.fetish) {
 						case "submissive":
 							slave.sexualFlaw = "neglectful";
diff --git a/src/npc/generate/newSlaveIntro.js b/src/npc/generate/newSlaveIntro.js
index 522e94c9484..cb61d80b68b 100644
--- a/src/npc/generate/newSlaveIntro.js
+++ b/src/npc/generate/newSlaveIntro.js
@@ -2537,7 +2537,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 
 			App.UI.DOM.appendNewElement("div", p, `...or show ${him} what it's like here for a slave`, "note");
 
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				/*
 				choice({
 					linkName: `Teach ${him} how to use ${his} throat`,
@@ -2906,7 +2906,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 			}
 
 			lineBreak();
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				choice({
 					linkName: `Break ${him} in publicly`,
 					result(slave) {
@@ -3081,7 +3081,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 				});
 			}
 			lineBreak();
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				if (slave.bellyPreg >= 5000) {
 					choice({
 						// TODO: tankBorn
diff --git a/src/npc/interaction/FFuckdollAnal.js b/src/npc/interaction/FFuckdollAnal.js
index 550fc70058c..1d18b277415 100644
--- a/src/npc/interaction/FFuckdollAnal.js
+++ b/src/npc/interaction/FFuckdollAnal.js
@@ -132,7 +132,7 @@ App.Interact.fFuckdollAnal = function(slave) {
 		r.push(`The Fuckdoll will be cleaned by another slave.`);
 	}
 	if (slave.anus === 0) {
-		if (slave.fetish !== "mindbroken") {
+		if (slave.fetish !== Fetish.MINDBROKEN) {
 			r.push(`As you return to your business, ${he} shakes slightly in place, and a few low moans come out of ${his} face hole. This is probably a reaction to losing ${his} anal virginity.`);
 		} else {
 			r.push(`${He} gives no external indication that ${he}'s aware that ${he}'s just lost ${his} anal virginity.`);
diff --git a/src/npc/interaction/FFuckdollImpreg.js b/src/npc/interaction/FFuckdollImpreg.js
index 480dd340eb7..c6ceff21948 100644
--- a/src/npc/interaction/FFuckdollImpreg.js
+++ b/src/npc/interaction/FFuckdollImpreg.js
@@ -137,7 +137,7 @@ App.Interact.fFuckdollImpreg = function(slave) {
 		}
 		r.push(`The Fuckdoll will be cleaned by another slave.`);
 		if (slave.anus === 0) {
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				r.push(`As you return to your business, ${he} shakes slightly in place, and a few low moans come out of ${his} face hole. This is probably a reaction to losing ${his} anal virginity.`);
 			} else {
 				r.push(`${He} gives no external indication that ${he}'s aware that ${he}'s just lost ${his} virginity.`);
@@ -157,7 +157,7 @@ App.Interact.fFuckdollImpreg = function(slave) {
 		}
 		r.push(`The Fuckdoll will be cleaned by another slave.`);
 		if (slave.vagina === 0) {
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				r.push(`As you return to your business, ${he} shakes slightly in place, and a few low moans come out of ${his} face hole. This is probably a reaction to losing ${his} virginity.`);
 			} else {
 				r.push(`${He} gives no external indication that ${he}'s aware that ${he}'s just lost ${his} virginity.`);
diff --git a/src/npc/interaction/FFuckdollVaginal.js b/src/npc/interaction/FFuckdollVaginal.js
index 57202af5626..e1e06ac71a2 100644
--- a/src/npc/interaction/FFuckdollVaginal.js
+++ b/src/npc/interaction/FFuckdollVaginal.js
@@ -133,7 +133,7 @@ App.Interact.fFuckdollVaginal = function(slave) {
 		r.push(`The Fuckdoll will be cleaned by another slave.`);
 	}
 	if (slave.vagina === 0) {
-		if (slave.fetish !== "mindbroken") {
+		if (slave.fetish !== Fetish.MINDBROKEN) {
 			r.push(`As you return to your business, ${he} shakes slightly in place, and a few low moans come out of ${his} face hole. This is probably a reaction to losing ${his} virginity.`);
 		} else {
 			r.push(`${He} gives no external indication that ${he}'s aware that ${he}'s just lost ${his} virginity.`);
diff --git a/src/npc/interaction/fAbuse.js b/src/npc/interaction/fAbuse.js
index d60bb60d0ba..c11e28b1455 100644
--- a/src/npc/interaction/fAbuse.js
+++ b/src/npc/interaction/fAbuse.js
@@ -754,7 +754,7 @@ App.Interact.fAbuse = function(slave) {
 		}
 	}
 	if (random(1, 100) > (50+slave.devotion+slave.trust) && slave.assignment !== Job.BODYGUARD) {
-		if (slave.fetish !== "mindbroken" && slave.fetishKnown === 0 && slave.clitSetting !== slave.fetish) {
+		if (slave.fetish !== Fetish.MINDBROKEN && slave.fetishKnown === 0 && slave.clitSetting !== slave.fetish) {
 			r.push(`${His} acceptance of your abuse has twisted ${his}`);
 			if (random(1, 2) === 1 && slave.fetish !== "submissive") {
 				r.push(`<span class="lightcoral">sexuality towards submissiveness.</span>`);
diff --git a/src/npc/interaction/fCaress.js b/src/npc/interaction/fCaress.js
index b37cb0eebc3..a4e68b6f538 100644
--- a/src/npc/interaction/fCaress.js
+++ b/src/npc/interaction/fCaress.js
@@ -198,7 +198,7 @@ App.Interact.fCaress = function(slave) {
 
 		text.push(`cheekbones. Grazing ${his} temple and brushing ${his} forehead simultaneously, you smoothly motion along ${his} eyelids and nose, and tenderly stroke ${his} face with both hands as you take ${his} head lightly and trace around it, gently massaging as you go. You work your way down, slowly and gradually, along ${his} neck with one hand, then the other, briefly pausing before continuing your path down to ${his} shoulders and`);
 
-		if (slave.fetish !== "mindbroken") {
+		if (slave.fetish !== Fetish.MINDBROKEN) {
 			text.push(`${he} starts to gasp as`);
 		} else {
 			text.push(`starts to shudder as`);
diff --git a/src/npc/interaction/fDick.js b/src/npc/interaction/fDick.js
index 6ebc44b2e86..0ced69215e4 100644
--- a/src/npc/interaction/fDick.js
+++ b/src/npc/interaction/fDick.js
@@ -138,7 +138,7 @@ App.Interact.fDick = function(slave) {
 				text.push(`cock.`);
 			}
 
-			if (slave.fetish !== "mindbroken" && slave.fuckdoll === 0) {
+			if (slave.fetish !== Fetish.MINDBROKEN && slave.fuckdoll === 0) {
 				if (slave.devotion > 20) {
 					text.push(`${He} thought ${he} would be fucking another slave, not ${his} ${getWrittenTitle(slave)}, so to say ${he}'s pleasantly surprised would be an understatement.`);
 				} else if (slave.devotion >= -20) {
@@ -383,7 +383,7 @@ App.Interact.fDick = function(slave) {
 		const text = [];
 
 
-		if (canMove(slave) && slave.fetish !== "mindbroken" && V.postSexCleanUp > 0) {
+		if (canMove(slave) && slave.fetish !== Fetish.MINDBROKEN && V.postSexCleanUp > 0) {
 			switch (slave.assignment) {
 				case "whore":
 					text.push(`${He} heads to the bathroom to clean ${his} dick before returning to selling ${his} body publicly.`);
diff --git a/src/npc/interaction/fFeet.js b/src/npc/interaction/fFeet.js
index 109e86c5a36..eaeaa0e83f8 100644
--- a/src/npc/interaction/fFeet.js
+++ b/src/npc/interaction/fFeet.js
@@ -272,7 +272,7 @@ App.Interact.fFeet = function(slave) {
 	}
 
 	// Extra 1 if tease/perverted and not mindbroken
-	if ((slave.sexualQuirk === "tease" || slave.sexualQuirk === "perverted") && slave.devotion > 60 && slave.fetish !== "mindbroken") {
+	if ((slave.sexualQuirk === "tease" || slave.sexualQuirk === "perverted") && slave.devotion > 60 && slave.fetish !== Fetish.MINDBROKEN) {
 		r.push(`Before you can begin, ${he} arches`);
 		if (hasBothLegs(slave)) {
 			r.push(`a`);
@@ -531,7 +531,7 @@ App.Interact.fFeet = function(slave) {
 	}
 
 	// Extra 2: if not mindbroken/immobile, tease with a flash.
-	if (slave.fetish !== "mindbroken" && canWalk(slave) && slave.sexualQuirk === "tease" && slave.devotion >= 60) {
+	if (slave.fetish !== Fetish.MINDBROKEN && canWalk(slave) && slave.sexualQuirk === "tease" && slave.devotion >= 60) {
 		if (canSee(slave)) {
 			r.push(`Seeing`);
 		} else {
@@ -839,7 +839,7 @@ App.Interact.fFeet = function(slave) {
 	}
 
 	// Extra 3: devoted perverted slave giggles and orgasms
-	if (slave.fetish !== "mindbroken" && canWalk(slave) && slave.sexualQuirk === "perverted" && slave.devotion >= 60 && !(slave.fetish === "cumslut" && slave.fetishKnown === 1 && slave.fetishStrength >= 60)) {
+	if (slave.fetish !== Fetish.MINDBROKEN && canWalk(slave) && slave.sexualQuirk === "perverted" && slave.devotion >= 60 && !(slave.fetish === "cumslut" && slave.fetishKnown === 1 && slave.fetishStrength >= 60)) {
 		r.push(`${He} was getting off on the footjob, but the feeling of your cum on`);
 		if (slave.fetish === "buttslut" && slave.fetishKnown === 1 && slave.fetishStrength >= 60 && V.PC.balls >= 5) {
 			r.push(`${his} ass and thighs sets off a strong orgasm of ${his} own, ${his} ${thighsAdj} ${legs} quivering as`);
diff --git a/src/npc/interaction/fSlaveSelfImpreg.js b/src/npc/interaction/fSlaveSelfImpreg.js
index 481640e8a38..76f5b55a104 100644
--- a/src/npc/interaction/fSlaveSelfImpreg.js
+++ b/src/npc/interaction/fSlaveSelfImpreg.js
@@ -18,7 +18,7 @@ App.Interact.fSlaveSelfImpreg = function(slave) {
 	let enjoy = true;
 	const superfetation = (slave.geneticQuirks.superfetation === 2 && slave.pregKnown === 1) ? 1 : 0;
 
-	if (slave.fetish !== "mindbroken") {
+	if (slave.fetish !== Fetish.MINDBROKEN) {
 		if (slave.devotion <= 20) {
 			if (slave.devotion < -20) {
 				r.push(`${slave.slaveName}`);
diff --git a/src/npc/interaction/fVagina.js b/src/npc/interaction/fVagina.js
index ea997082e97..8227869119d 100644
--- a/src/npc/interaction/fVagina.js
+++ b/src/npc/interaction/fVagina.js
@@ -108,7 +108,7 @@ App.Interact.fVagina = function(slave) {
 		fSpeed = random(1, 100);
 	}
 
-	if (canMove(slave) && slave.fetish !== "mindbroken") {
+	if (canMove(slave) && slave.fetish !== Fetish.MINDBROKEN) {
 		r.push(`You decide to fuck ${him}`);
 		if (fPosition <= 20) {
 			r.push(`in the missionary position`);
diff --git a/src/npc/interaction/forceFeeding.js b/src/npc/interaction/forceFeeding.js
index 43ed4660c79..7eca00205d7 100644
--- a/src/npc/interaction/forceFeeding.js
+++ b/src/npc/interaction/forceFeeding.js
@@ -191,7 +191,7 @@ App.Interact.forceFeeding = function(slave) {
 		r.push(`${He} happily downs the contents,`);
 	}
 
-	if (slave.fetish !== "mindbroken" && slave.devotion < -20) {
+	if (slave.fetish !== Fetish.MINDBROKEN && slave.devotion < -20) {
 		r.push(`You readily comply and waste no time in bring cupful after cupful to ${his} lips.`);
 	} else {
 		r.push(`so you keep the cupfuls coming.`);
@@ -220,7 +220,7 @@ App.Interact.forceFeeding = function(slave) {
 
 	if (slave.pregKnown === 0 && slave.preg > slave.pregData.normalBirth/13.33 && isDone > 0) {
 		r.push(`As soon as the next helping enters ${him} you feel something is wrong. ${He} begins to heave,`);
-		if (slave.fetish !== "mindbroken" && slave.devotion > 50) {
+		if (slave.fetish !== Fetish.MINDBROKEN && slave.devotion > 50) {
 			r.push(`struggling to keep down the slave food, however ${he} shortly expels the entirety of ${his} stomach across the floor.`);
 		} else {
 			r.push(`shortly expelling the entirety of ${his} stomach`);
@@ -423,7 +423,7 @@ App.Interact.forceFeeding = function(slave) {
 			r.push(`${He} sighs contently, hoping you'll give ${him} more attention. ${He} is proud to let you know that you could fit even more in ${him} if you wanted. After a few minutes of rest,`);
 		}
 		r.push(`you order ${him} to continue stuffing ${himself} to maintain ${his} current size until you say otherwise.`);
-		if (slave.fetish !== "mindbroken" && slave.devotion >= -20 && slave.behavioralFlaw === "gluttonous") {
+		if (slave.fetish !== Fetish.MINDBROKEN && slave.devotion >= -20 && slave.behavioralFlaw === "gluttonous") {
 			r.push(`${He} squeals with glee at the order.`);
 		}
 		r.push(`You spend ${his} remaining time in recovery`);
diff --git a/src/npc/interaction/killSlave.js b/src/npc/interaction/killSlave.js
index bcaa62fd172..97e2e6b5f04 100644
--- a/src/npc/interaction/killSlave.js
+++ b/src/npc/interaction/killSlave.js
@@ -64,7 +64,7 @@ App.UI.SlaveInteract.killSlave = function(slave) {
 
 			text.push(`It's hard to tell the expression on the Fuckdoll's face, but your guess is it's`);
 
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				text.push(`one of`);
 
 				if (slave.devotion > 50) {
@@ -102,7 +102,7 @@ App.UI.SlaveInteract.killSlave = function(slave) {
 
 			text.push(`and waits for you to continue. You tell ${him} that you've gotten tired of having ${him} around and that you decided it is time to get rid of ${him}.`);
 
-			if (slave.fetish !== "mindbroken") {
+			if (slave.fetish !== Fetish.MINDBROKEN) {
 				text.push(`${His} expression changes to one of`);
 
 				if (slave.devotion > 50) {
@@ -196,7 +196,7 @@ App.UI.SlaveInteract.killSlave = function(slave) {
 	function plannedFight() {
 		const plannedFightsDiv = document.createElement("div");
 
-		plannedFightsDiv.append(`${!slave.fuckdoll && slave.fetish !== "mindbroken" ? `You abruptly cut ${his} begging short once you` : `You change your mind as you suddenly`} remember ${getSlave(V.pit.slaveFightingBodyguard).slaveName} is already fighting your bodyguard ${S.Bodyguard.slaveName} for ${his} life this week.`);
+		plannedFightsDiv.append(`${!slave.fuckdoll && slave.fetish !== Fetish.MINDBROKEN ? `You abruptly cut ${his} begging short once you` : `You change your mind as you suddenly`} remember ${getSlave(V.pit.slaveFightingBodyguard).slaveName} is already fighting your bodyguard ${S.Bodyguard.slaveName} for ${his} life this week.`);
 
 		App.UI.DOM.appendNewElement("div", plannedFightsDiv, App.UI.DOM.passageLink(`Cancel the fight`, V.returnTo, () => {
 			V.pit.slaveFightingBodyguard = null;
@@ -263,7 +263,7 @@ App.UI.SlaveInteract.killSlave = function(slave) {
 		function kill() {
 			const killDiv = document.createElement("div");
 
-			if (!slave.fuckdoll && slave.fetish !== "mindbroken") {
+			if (!slave.fuckdoll && slave.fetish !== Fetish.MINDBROKEN) {
 				killDiv.append(`You simply smile at ${him} and tell ${him} not to worry `);
 			} else {
 				killDiv.append(`You say nothing `);
@@ -271,7 +271,7 @@ App.UI.SlaveInteract.killSlave = function(slave) {
 
 			killDiv.append(`as you continue ${qualifiedFS
 				? `sharpening your ${weapon}.`
-				: `threading on a suppressor.`} ${slave.slaveName} ${!slave.fuckdoll && slave.fetish !== "mindbroken"
+				: `threading on a suppressor.`} ${slave.slaveName} ${!slave.fuckdoll && slave.fetish !== Fetish.MINDBROKEN
 				? `gives an audible sigh of relief and begins to thank you profusely, though ${his} thanks are cut short as the sound of`
 				: `continues to stand there ${slave.fetish === Fetish.MINDBROKEN ? `dumbly` : ``} until the sound of`} ${qualifiedFS
 				? `a sharp edge slicing through flesh`
@@ -593,7 +593,7 @@ App.UI.SlaveInteract.killSlave = function(slave) {
 				}
 
 				function getRelationshipEffects(ID) {
-					if (getSlave(ID).fetish !== "mindbroken") {
+					if (getSlave(ID).fetish !== Fetish.MINDBROKEN) {
 						const subDiv = document.createElement("div");
 
 						const target = getSlave(ID);
@@ -668,7 +668,7 @@ App.UI.SlaveInteract.killSlave = function(slave) {
 		function mercy() {
 			const mercyDiv = document.createElement("div");
 
-			if (!slave.fuckdoll && slave.fetish !== "mindbroken") {
+			if (!slave.fuckdoll && slave.fetish !== Fetish.MINDBROKEN) {
 				App.Events.addParagraph(mercyDiv, [mercyReaction()]);
 			} else {
 				mercyDiv.append(`You change your mind, and with a wave of your hand, send ${slave.slaveName} back to ${his} duties. Maybe some other time.`);
diff --git a/src/npc/startingGirls/startingGirls.js b/src/npc/startingGirls/startingGirls.js
index d8ebbfd37b9..e177e4f40f4 100644
--- a/src/npc/startingGirls/startingGirls.js
+++ b/src/npc/startingGirls/startingGirls.js
@@ -237,7 +237,7 @@ App.StartingGirls.randomizeUnknowns = function(slave) {
 		slave.attrXY = random(0, 100);
 		slave.energy = random(1, 90);
 	}
-	if (slave.fetish !== "mindbroken" && slave.fetishKnown === 0) {
+	if (slave.fetish !== Fetish.MINDBROKEN && slave.fetishKnown === 0) {
 		slave.fetishStrength = random(0, 90);
 		slave.fetish = either("boobs", "buttslut", "cumslut", "dom", "humiliation", "masochist", "none", "none", "none", "none", "none", "none", "none", "none", "none", "none", "pregnancy", "sadist", "submissive");
 	}
@@ -1885,7 +1885,7 @@ App.StartingGirls.mental = function(slave, cheat = false) {
 		});
 	}
 
-	if (slave.fetish !== "none" && slave.fetish !== "mindbroken") {
+	if (slave.fetish !== "none" && slave.fetish !== Fetish.MINDBROKEN) {
 		App.StartingGirls.addSet(
 			options.addOption("Fetish strength", "fetishStrength", slave),
 			App.Data.StartingGirls.fetishStrength);
@@ -1911,7 +1911,7 @@ App.StartingGirls.mental = function(slave, cheat = false) {
 			App.Data.StartingGirls.energy);
 	}
 
-	if (slave.fetish !== "mindbroken") {
+	if (slave.fetish !== Fetish.MINDBROKEN) {
 		options.addOption("Behavioral Flaw", "behavioralFlaw", slave)
 			.addValueList([["None", "none"], ["Arrogant", "arrogant"], ["Bitchy", "bitchy"], ["Odd", "odd"], ["Hates Men", "hates men"],
 				["Hates Women", "hates women"], ["Anorexic", "anorexic"], ["Gluttonous", "gluttonous"], ["Devout", "devout"],
diff --git a/src/npc/surgery/bodySwap/bodySwapReaction.js b/src/npc/surgery/bodySwap/bodySwapReaction.js
index ade25fe2eb8..dce32ae42c3 100644
--- a/src/npc/surgery/bodySwap/bodySwapReaction.js
+++ b/src/npc/surgery/bodySwap/bodySwapReaction.js
@@ -97,7 +97,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 		}
 
 		if (end !== 1) {
-			if (body.skin !== soul.skin && canSee(body) && body.fetish !== "mindbroken") {
+			if (body.skin !== soul.skin && canSee(body) && body.fetish !== Fetish.MINDBROKEN) {
 				r.push(`${His} <span class="coral">newly ${body.skin} skin</span> is the first thing that leaps out at ${him}.`);
 				if (body.devotion > 50) {
 					r.push(`${He} is fascinated by the change and what this means for ${him}.`);
@@ -142,7 +142,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 					body.devotion -= 1;
 				}
 			} else if (body.muscles > soul.muscles + 5) { /* (more muscle)*/
-				if (body.devotion >= -20 || body.fetish !== "mindbroken") {
+				if (body.devotion >= -20 || body.fetish !== Fetish.MINDBROKEN) {
 					r.push(`finger, the arm <span class="lime">${(canSee(body)) ? `visibly more toned` : `noticeably stronger`}</span> than ${his} old one. With a clench of ${his} fist, the muscles of the limb bulge slightly. ${He} is <span class="hotpink">happy</span> that you would take into consideration such a small detail, and knows that life will be just that much easier now.`);
 					body.devotion += 2;
 				} else {
@@ -256,7 +256,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 			}
 			if (body.teeth === "removable" && soul.teeth !== "removable") { /* no teeth */
 				r.push(`A look of confusion crosses ${his} face, ${his} brow furrowing slightly. You see ${him} work ${his} jaw for moment before ${he} turns ${his} head and spits out a set of dentures.`);
-				if (body.devotion < -20 && body.fetish !== "mindbroken") {
+				if (body.devotion < -20 && body.fetish !== Fetish.MINDBROKEN) {
 					r.push(`${He} <span class="mediumorchid">glowers</span> at them, knowing full well they'll be back in ${his} mouth shortly.`);
 					body.devotion -= 2;
 				}
@@ -287,7 +287,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				}
 				r.push(`when ${he} does.`);
 			}
-			if (body.physicalAge < 40 && soul.physicalAge > 50 && body.fetish !== "mindbroken") {
+			if (body.physicalAge < 40 && soul.physicalAge > 50 && body.fetish !== Fetish.MINDBROKEN) {
 				if (body.devotion > 20) {
 					r.push(`${He} can feel the <span class="green">lack of wrinkles</span> on ${his} face and <span class="hotpink">smiles broadly.</span>`);
 					body.devotion += 2;
@@ -358,7 +358,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 					}
 				} else if (body.boobs >= soul.boobs + 20000) { /* (Extreme bigger breasts)*/
 					r.push(`<span class="lime">a pair of massive tits hanging from ${his} chest.</span>`);
-					if (body.fetish !== "mindbroken") {
+					if (body.fetish !== Fetish.MINDBROKEN) {
 						r.push(`As ${he} feels them, ${he} recognizes the familiar firmness of the implants at their cores.`);
 					}
 					if (body.fetish === Fetish.MINDBROKEN) {
@@ -403,14 +403,14 @@ globalThis.bodySwapReaction = function(body, soul) {
 						body.devotion -= 2;
 					}
 				} else { /* (No change (less than a 100 cc's of change)*/
-					if (body.devotion > 20 && body.fetish !== "mindbroken") {
+					if (body.devotion > 20 && body.fetish !== Fetish.MINDBROKEN) {
 						r.push(`a familiar chest waiting for ${him}.`);
 						if (body.physicalAge < soul.physicalAge - 5) { /* (younger)*/
 							r.push(`${He} is pleased to see ${his} breasts are now more pert and smooth than they were before.`);
 						}
 					} else {
 						r.push(`that ${his} breasts are roughly the same.`);
-						if ((body.physicalAge < soul.physicalAge - 5) && body.fetish !== "mindbroken") { /* (younger)*/
+						if ((body.physicalAge < soul.physicalAge - 5) && body.fetish !== Fetish.MINDBROKEN) { /* (younger)*/
 							r.push(`Except, of course, that they are younger and more pert, something that ${he} <span class="hotpink">can't help but appreciate.</span>`);
 							body.devotion += 2;
 						}
@@ -449,7 +449,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 					}
 				} else if (body.boobs >= soul.boobs + 20000) { /* (Extreme bigger breasts)*/
 					r.push(`<span class="lime">a pair of massive tits hanging from ${his} chest.</span>`);
-					if (body.fetish !== "mindbroken") {
+					if (body.fetish !== Fetish.MINDBROKEN) {
 						r.push(`As ${he} moves, ${he} recognizes a familiar firmness at their cores.`);
 					}
 					if (body.fetish === Fetish.MINDBROKEN) {
@@ -553,7 +553,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 					}
 				} else if (body.boobs >= soul.boobs + 20000) { /* (Extreme bigger breasts)*/
 					r.push(`<span class="lime">and finds a pair of massive tits hanging from ${his} chest.</span>`);
-					if (body.fetish !== "mindbroken") {
+					if (body.fetish !== Fetish.MINDBROKEN) {
 						r.push(`As ${he} fondles them, ${he} can just make out that ${he} no longer has implants.`);
 					}
 					if (body.fetish === Fetish.MINDBROKEN) {
@@ -655,7 +655,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 					}
 				} else if (body.boobs >= soul.boobs + 20000) { /* (Extreme bigger breasts)*/
 					r.push(`and finds a <span class="lime">pair of massive tits hanging from ${his} chest.</span>`);
-					if (body.fetish !== "mindbroken") {
+					if (body.fetish !== Fetish.MINDBROKEN) {
 						r.push(`As ${he} feels them, ${he} can clearly tell they are completely natural.`);
 					}
 					if (body.fetish === Fetish.MINDBROKEN) {
@@ -750,7 +750,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				r.push(`${He} groans as ${he} discovers just how badly ${he} needs to be milked.`);
 			}
 
-			if (body.nipples !== soul.nipples && body.fetish !== "mindbroken") { /* (if nipples have changed shape)*/
+			if (body.nipples !== soul.nipples && body.fetish !== Fetish.MINDBROKEN) { /* (if nipples have changed shape)*/
 				r.push(`Once ${he} is satisfied with ${his} tits, ${he} shifts ${his} chest to get a better`);
 				if (canSee(body)) {
 					r.push(`view of`);
@@ -805,7 +805,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 			}
 
 			/* (if breasts have changed shape)*/
-			if (body.boobShape !== soul.boobShape && body.boobs > 300 && body.fetish !== "mindbroken") {
+			if (body.boobShape !== soul.boobShape && body.boobs > 300 && body.fetish !== Fetish.MINDBROKEN) {
 				r.push(`As ${he} releases ${his} boobs, ${he} discovers they no longer rest the same either;`);
 				if (body.boobShape === "saggy") { /* (drooping or older)*/
 					r.push(`<span class="red">they now sag,</span> disappointing ${him}.`);
@@ -839,7 +839,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				}
 			}
 
-			if (canSee(body) && body.fetish !== "mindbroken") {
+			if (canSee(body) && body.fetish !== Fetish.MINDBROKEN) {
 				App.Events.addParagraph(el, r);
 				r = [];
 				if (soul.voice === 0) {
@@ -906,7 +906,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 					} else if (!canWalk(body)) {
 						r.push(`and immediately collapses under ${his} own weight.`);
 					}
-					if (body.fetish !== "mindbroken") {
+					if (body.fetish !== Fetish.MINDBROKEN) {
 						r.push(`${He} looks at you`);
 						if (body.devotion >= -20) {
 							r.push(`<span class="hotpink">submissively</span>`);
@@ -962,7 +962,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 			}
 			r.push(`${his} new figure.`);
 
-			if (body.fetish !== "mindbroken" && canSee(body)) {
+			if (body.fetish !== Fetish.MINDBROKEN && canSee(body)) {
 				if (body.race !== soul.race) { /* (race changes)*/
 					r.push(`It immediately strikes ${him} that ${he} is <span class="coral">no longer ${soul.race}.</span> ${His} new ${body.race} body`);
 					if (body.devotion > 50) {
@@ -1048,7 +1048,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 					} else if (body.physicalAge >= 18) {
 						r.push(`${He}'s shocked to find ${he}'s now a fresh adult.`);
 					}
-					if (body.fetish !== "mindbroken") {
+					if (body.fetish !== Fetish.MINDBROKEN) {
 						r.push(`This is disturbing to ${him} on a fundamental level,`);
 						if (body.devotion > 50) {
 							r.push(`as that means ${he} will now will have less time with you before the end of ${his}`);
@@ -1078,7 +1078,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 							r.push(`${He} shudders with pleasure at the thought of cumming in a fertile pussy. ${He} realizes this body has gone through puberty.`);
 						}
 					}
-				} else if (body.fetish !== "mindbroken") {
+				} else if (body.fetish !== Fetish.MINDBROKEN) {
 					r.push(`${He} starts as ${he}`);
 					if (canSee(body)) {
 						r.push(`sees`);
@@ -1122,7 +1122,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 						r.push(`${He} never expected to be a young adult again.`);
 					}
 				}
-				if (body.fetish !== "mindbroken") {
+				if (body.fetish !== Fetish.MINDBROKEN) {
 					let puberty = 0;
 					if (
 						(
@@ -1249,7 +1249,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				r.push(`The last major change to ${his} body structure worth ${his} attention is`);
 				if (body.muscles >= soul.muscles + 5) {
 					r.push(`that ${he} is <span class="lime">significantly more muscular</span> than ${he} once was.`);
-					if (body.fetish !== "mindbroken") {
+					if (body.fetish !== Fetish.MINDBROKEN) {
 						if (body.devotion > 50) {
 							r.push(`${He} is happy with ${his} newfound strength and looks forward to putting this power to work for you.`);
 						} else {
@@ -1300,7 +1300,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				} else if (body.bellyPreg >= 100) {
 					r.push(`and ${he} feels a <span class="pink">slight swell to ${his} stomach.</span>`);
 				}
-				if (body.fetish !== "mindbroken") {
+				if (body.fetish !== Fetish.MINDBROKEN) {
 					if (body.bellyPreg >= 100 || body.counter.birthsTotal > 0) {
 						if (body.devotion > 50) {
 							r.push(`Even though ${he} didn't get to experience being made into one, ${he} is delighted to be a mother${(body.counter.birthsTotal > 0) ? ` again` : ``}.`);
@@ -1372,7 +1372,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 							r.push(`${He} is filled with <span class="mediumorchid">hatred for you</span> for snatching ${his} pregnancy away from ${him}.`);
 							body.devotion -= 15;
 						}
-					} else if (body.fetish !== "mindbroken") {
+					} else if (body.fetish !== Fetish.MINDBROKEN) {
 						if (body.devotion > 50) {
 							r.push(`While ${he} will miss the chance of meeting ${his} future child, ${he} will no longer be weighed down by it as ${he} gets used to ${his} new body.`);
 						} else if (body.devotion > 20) {
@@ -1400,7 +1400,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 						r.push(`${He} is filled with <span class="mediumorchid">hatred for you</span> for snatching ${his} pregnancy away from ${him}.`);
 						body.devotion -= 15;
 					}
-				} else if (body.fetish !== "mindbroken") {
+				} else if (body.fetish !== Fetish.MINDBROKEN) {
 					if (body.devotion > 50) {
 						r.push(`While ${he} will miss the chance of meeting ${his} future child, ${he} will no longer be weighed down by it as ${he} gets used to ${his} new body.`);
 					} else if (body.devotion > 20) {
@@ -1450,7 +1450,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 			}
 			if (body.weight >= soul.weight + 30) { /* (fatter)*/
 				r.push(`${his} stomach until ${he} feels just how <span class="red">much more weight</span> ${he} is carrying.`);
-				if (body.fetish !== "mindbroken") {
+				if (body.fetish !== Fetish.MINDBROKEN) {
 					if (body.devotion > 20) {
 						r.push(`${He} finds ${his} new curves intriguing.`);
 					} else {
@@ -1460,7 +1460,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				}
 				if (body.bellySag > soul.bellySag && body.belly < 100) {
 					r.push(`${He} also notices <span class="red">how much it sags.</span>`);
-					if (body.fetish !== "mindbroken") {
+					if (body.fetish !== Fetish.MINDBROKEN) {
 						if (body.devotion > 20) {
 							r.push(`This isn't pleasant, but ${he} bears it for you.`);
 						} else {
@@ -1470,7 +1470,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 					}
 				} else if (body.bellySag < soul.bellySag && body.belly < 100) {
 					r.push(`${He} also notices it is <span class="green">tighter despite being softer.</span>`);
-					if (body.fetish !== "mindbroken") {
+					if (body.fetish !== Fetish.MINDBROKEN) {
 						if (body.devotion > 20) {
 							r.push(`This is great for ${his} self-image and ${he} happily strokes ${his} new firm belly.`);
 						} else {
@@ -1481,7 +1481,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				}
 			} else if (body.weight <= soul.weight - 30) { /* (thinner)*/
 				r.push(`${his} stomach and ${he} finds ${his} body <span class="green">thinner.</span>`);
-				if (body.fetish !== "mindbroken") {
+				if (body.fetish !== Fetish.MINDBROKEN) {
 					if (body.devotion > 20) {
 						r.push(`${He} finds ${his} new curves intriguing.`);
 					} else {
@@ -1491,7 +1491,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				}
 				if (body.bellySag > soul.bellySag && body.belly < 100) {
 					r.push(`${He} also notices how it <span class="red">has a sag to it.</span>`);
-					if (body.fetish !== "mindbroken") {
+					if (body.fetish !== Fetish.MINDBROKEN) {
 						if (body.devotion > 20) {
 							r.push(`This isn't pleasant, but ${he} bears it for you.`);
 						} else {
@@ -1501,7 +1501,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 					}
 				} else if (body.bellySag < soul.bellySag && body.belly < 100) {
 					r.push(`${He} also notices it is <span class="green">tighter despite being softer.</span>`);
-					if (body.fetish !== "mindbroken") {
+					if (body.fetish !== Fetish.MINDBROKEN) {
 						if (body.devotion > 20) {
 							r.push(`This is great for ${his} self-image and ${he} happily strokes ${his} new perkier belly.`);
 						} else {
@@ -1512,7 +1512,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				}
 			} else if (body.bellySag > soul.bellySag && body.belly < 100) { /* (belly sag)*/
 				r.push(`${his} stomach and ${he} notices a <span class="red">sag in ${his} belly.</span>`);
-				if (body.fetish !== "mindbroken") {
+				if (body.fetish !== Fetish.MINDBROKEN) {
 					if (body.devotion > 20) {
 						r.push(`This isn't pleasant, but ${he} bears it for you.`);
 					} else {
@@ -1522,7 +1522,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				}
 			} else if (body.bellySag < soul.bellySag && body.belly < 100) { /* (subtracted)*/
 				r.push(`${his} stomach and notices the <span class="green">sag in ${his} belly has lessened.</span>`);
-				if (body.fetish !== "mindbroken") {
+				if (body.fetish !== Fetish.MINDBROKEN) {
 					if (body.devotion > 20) {
 						r.push(`This is great for ${his} self-image and ${he} happily strokes ${his} new tight belly.`);
 					} else {
@@ -1532,7 +1532,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				}
 			} else if (body.weight < 10 && body.muscles > 5 && body.belly < 100) {
 				r.push(`${his} <span class="lime">muscled stomach.</span> ${He} stops to trace ${his} abs.`);
-				if (body.fetish !== "mindbroken") {
+				if (body.fetish !== Fetish.MINDBROKEN) {
 					if (body.devotion > 20) {
 						r.push(`${He} finds ${his} new strength intriguing.`);
 					} else {
@@ -1805,7 +1805,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				cockChanged = 1;
 			}
 
-			if (cockChanged === 1 && body.fetish !== "mindbroken") {
+			if (cockChanged === 1 && body.fetish !== Fetish.MINDBROKEN) {
 				if (body.devotion > 20) {
 					r.push(`${He} is thrilled at your modifications to ${his} genitals and is excited to explore those changes with you.`);
 				} else {
@@ -1941,7 +1941,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				} else { /* (-1 size)*/
 					r.push(`a fair bit.`);
 				}
-				if (body.fetish !== "mindbroken") {
+				if (body.fetish !== Fetish.MINDBROKEN) {
 					if (body.devotion > 20) {
 						r.push(`${He} is saddened that there is now less of ${him} for you to play with, but remembers that you chose this body for ${him} and hopes that you will still make use of ${his} rear.`);
 					} else {
@@ -1954,7 +1954,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 			}
 			if (body.buttImplant > 0 && soul.buttImplant === 0) { /* (+butt implants)*/
 				r.push(`${He} also notes that <span class="coral">there are implants in ${him},</span> as ${his} prodding reveals a certain stiffness in ${his} ass's shape.`);
-				if (body.fetish !== "mindbroken") {
+				if (body.fetish !== Fetish.MINDBROKEN) {
 					if (body.devotion > 20) {
 						r.push(`It pleases ${him} that you would invest in such a minor way in ${his} body.`);
 					} else {
@@ -1963,7 +1963,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				}
 			} else if (body.buttImplant === 0 && soul.buttImplant > 0) { /* (-butt implants)*/
 				r.push(`${He} also notes that ${he} <span class="coral">no longer has ass implants,</span> as ${his} experimentation reveals a more natural bounce to ${his} buttocks.`);
-				if (body.fetish !== "mindbroken") {
+				if (body.fetish !== Fetish.MINDBROKEN) {
 					if (body.devotion > 20) {
 						r.push(`${He} is happy that you think ${his} body doesn't need any artificial modification to be pleasing.`);
 					} else {
@@ -2006,7 +2006,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 			}
 
 			/* tattoos */
-			if (body.fetish !== "mindbroken") {
+			if (body.fetish !== Fetish.MINDBROKEN) {
 				const tatLocations = [
 					"boobsTat",
 					"buttTat",
@@ -2028,7 +2028,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				}
 			}
 
-			if (body.fetish !== "mindbroken") {
+			if (body.fetish !== Fetish.MINDBROKEN) {
 				if (body.origBodyOwnerID === body.ID) {
 					r.push(`This is ${his} body alright.`);
 				} else if (body.ID === body.cloneID) {
@@ -2052,7 +2052,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 		}
 	} else if (canSee(body)) { /* (amputee) + sight */
 		r.push(`After a while, ${he} begins to stir, ${his} eyes fluttering.`);
-		if (body.fetish !== "mindbroken") {
+		if (body.fetish !== Fetish.MINDBROKEN) {
 			if (sight === 2) {
 				r.push(`${He} just stares at the ceiling for some time, completely overwhelmed <span class="green">that ${he} can now see.</span> ${He}'s <span class="hotpink">quite grateful</span> that <span class="mediumaquamarine">you would give ${him} such a gift.</span>`);
 				body.devotion += 15;
@@ -2100,7 +2100,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 			r = [];
 			r.push(`${He} cranes ${his} neck to look down on ${himself}`);
 
-			if (body.skin !== soul.skin && body.fetish !== "mindbroken") {
+			if (body.skin !== soul.skin && body.fetish !== Fetish.MINDBROKEN) {
 				r.push(`only to quickly recoil in shock when ${he} sees ${his} <span class="coral">newly ${body.skin} skin.</span>`);
 				if (body.devotion > 50) {
 					r.push(`${He} is fascinated by the change and what this means for ${him}.`);
@@ -2150,7 +2150,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 					}
 				} else if (body.boobs >= soul.boobs + 20000) { /* (Extreme bigger breasts)*/
 					r.push(`<span class="lime">a pair of massive tits resting on ${his} chest.</span>`);
-					if (body.fetish !== "mindbroken") {
+					if (body.fetish !== Fetish.MINDBROKEN) {
 						r.push(`As ${he} moves, ${he} recognizes the familiar weight of the implants at their cores.`);
 					}
 					if (body.fetish === Fetish.MINDBROKEN) {
@@ -2195,14 +2195,14 @@ globalThis.bodySwapReaction = function(body, soul) {
 						body.devotion -= 2;
 					}
 				} else { /* (No change (less than a 100 cc's of change)*/
-					if (body.devotion > 20 && body.fetish !== "mindbroken") {
+					if (body.devotion > 20 && body.fetish !== Fetish.MINDBROKEN) {
 						r.push(`a familiar chest waiting for ${him}.`);
 						if (body.physicalAge < soul.physicalAge - 5) { /* (younger)*/
 							r.push(`${He} is pleased to see ${his} breasts are now more pert and smooth than they were before.`);
 						}
 					} else {
 						r.push(`that ${his} breasts are roughly the same.`);
-						if ((body.physicalAge < soul.physicalAge - 5) && body.fetish !== "mindbroken") { /* (younger)*/
+						if ((body.physicalAge < soul.physicalAge - 5) && body.fetish !== Fetish.MINDBROKEN) { /* (younger)*/
 							r.push(`Except, of course, that they are younger and more pert, something that ${he} <span class="hotpink">can't help but appreciate.</span>`);
 							body.devotion += 2;
 						}
@@ -2241,7 +2241,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 					}
 				} else if (body.boobs >= soul.boobs + 20000) { /* (Extreme bigger breasts)*/
 					r.push(`<span class="lime">a pair of massive tits resting on ${his} chest.</span>`);
-					if (body.fetish !== "mindbroken") {
+					if (body.fetish !== Fetish.MINDBROKEN) {
 						r.push(`As ${he} moves, ${he} recognizes a familiar firmness at their cores.`);
 					}
 					if (body.fetish === Fetish.MINDBROKEN) {
@@ -2333,7 +2333,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 					}
 				} else if (body.boobs >= soul.boobs + 20000) { /* (Extreme bigger breasts)*/
 					r.push(`<span class="lime">and finds a pair of massive tits resting on ${his} chest.</span>`);
-					if (body.fetish !== "mindbroken") {
+					if (body.fetish !== Fetish.MINDBROKEN) {
 						r.push(`As ${he} moves, ${he} can just make out that ${he} no longer has implants.`);
 					}
 					if (body.fetish === Fetish.MINDBROKEN) {
@@ -2428,7 +2428,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 					}
 				} else if (body.boobs >= soul.boobs + 20000) { /* (Extreme bigger breasts)*/
 					r.push(`and finds a <span class="lime">pair of massive tits resting on ${his} chest.</span>`);
-					if (body.fetish !== "mindbroken") {
+					if (body.fetish !== Fetish.MINDBROKEN) {
 						r.push(`As ${he} moves, ${he} can clearly tell they are completely natural.`);
 					}
 					if (body.fetish === Fetish.MINDBROKEN) {
@@ -2495,7 +2495,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				}
 			}
 			if (body.piercing.areola.weight !== 0 && soul.piercing.areola.weight === 0) {
-				if (body.fetish !== "mindbroken" && body.boobs >= 10000) {
+				if (body.fetish !== Fetish.MINDBROKEN && body.boobs >= 10000) {
 					r.push(`${He} can just barely catch the glimmer of the piercings adorning ${his} areolae.`);
 				} else if (body.fetish === Fetish.MINDBROKEN && body.boobs >= 10000) {
 					/* out of sight, out of mind */
@@ -2536,7 +2536,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				r.push(`${He} groans as ${he} discovers just how badly ${he} needs to be milked.`);
 			}
 
-			if (body.nipples !== soul.nipples && body.fetish !== "mindbroken") { /* (if nipples have changed shape)*/
+			if (body.nipples !== soul.nipples && body.fetish !== Fetish.MINDBROKEN) { /* (if nipples have changed shape)*/
 				r.push(`Once ${he} is satisfied with ${his} tits, ${he} shifts ${himself} to get a better view of ${his} nipples, having noticed that they don't look quite the same as before.`);
 				switch (body.nipples) {
 					case "fuckable":
@@ -2569,7 +2569,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 			}
 
 			/* (if breasts have changed shape)*/
-			if (body.boobShape !== soul.boobShape && body.boobs > 300 && body.fetish !== "mindbroken") {
+			if (body.boobShape !== soul.boobShape && body.boobs > 300 && body.fetish !== Fetish.MINDBROKEN) {
 				r.push(`As ${he} settles back down, ${he} discovers they no longer rest the same either;`);
 				if (body.boobShape === "saggy") { /* (drooping or older)*/
 					r.push(`<span class="red">they now sag to ${his} sides,</span> disappointing ${him}.`);
@@ -2641,7 +2641,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 
 			r.push(`${His} eyes lock onto ${his} face.`);
 
-			if (body.fetish !== "mindbroken") {
+			if (body.fetish !== Fetish.MINDBROKEN) {
 				if (body.race !== soul.race) { /* (race changes)*/
 					r.push(`It immediately strikes ${him} that ${he} is <span class="coral">no longer ${soul.race}.</span> ${His} new ${body.race} body`);
 					if (body.devotion > 50) {
@@ -2733,7 +2733,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 			}
 			if (body.teeth === "removable" && soul.teeth !== "removable") { /* no teeth */
 				r.push(`A look of confusion crosses ${his} face, ${his} brow furrowing slightly. You see ${him} work ${his} jaw for moment before ${he} turns ${his} head and spits out a set of dentures.`);
-				if (body.devotion < -20 && body.fetish !== "mindbroken") {
+				if (body.devotion < -20 && body.fetish !== Fetish.MINDBROKEN) {
 					r.push(`${He} <span class="mediumorchid">glowers</span> at them, knowing full well they'll be back in ${his} mouth shortly.`);
 					body.devotion -= 2;
 				}
@@ -2764,7 +2764,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				}
 				r.push(`when ${he} does.`);
 			}
-			if (body.physicalAge < 40 && soul.physicalAge > 50 && body.fetish !== "mindbroken") {
+			if (body.physicalAge < 40 && soul.physicalAge > 50 && body.fetish !== Fetish.MINDBROKEN) {
 				if (body.devotion > 20) {
 					r.push(`${He} notices the <span class="green">lack of wrinkles</span> on ${his} face and <span class="hotpink">smiles broadly.</span>`);
 					body.devotion += 2;
@@ -2802,7 +2802,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 					} else if (body.physicalAge >= 18) {
 						r.push(`${He}'s shocked to find ${he}'s now a fresh adult.`);
 					}
-					if (body.fetish !== "mindbroken") {
+					if (body.fetish !== Fetish.MINDBROKEN) {
 						r.push(`This is disturbing to ${him} on a fundamental level,`);
 						if (body.devotion > 50) {
 							r.push(`as that means ${he} will now will have less time with you before the end of ${his}`);
@@ -2832,7 +2832,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 							r.push(`${He} shudders with pleasure at the thought of cumming in a fertile pussy. ${He} realizes this body has gone through puberty.`);
 						}
 					}
-				} else if (body.fetish !== "mindbroken") {
+				} else if (body.fetish !== Fetish.MINDBROKEN) {
 					r.push(`${He} starts as ${he}`);
 					if (canSee(body)) {
 						r.push(`sees`);
@@ -2876,7 +2876,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 						r.push(`${He} never expected to be a young adult again.`);
 					}
 				}
-				if (body.fetish !== "mindbroken") {
+				if (body.fetish !== Fetish.MINDBROKEN) {
 					let puberty = 0;
 					if (
 						(
@@ -3003,7 +3003,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				r.push(`The last major change to ${his} body structure worth ${his} attention is`);
 				if (body.muscles >= soul.muscles + 5) {
 					r.push(`that ${he} is <span class="lime">significantly more muscular</span> than ${he} once was.`);
-					if (body.fetish !== "mindbroken") {
+					if (body.fetish !== Fetish.MINDBROKEN) {
 						if (body.devotion > 50) {
 							r.push(`${He} is happy with ${his} newfound strength and looks forward to putting this power to work for you, as limited as it may be.`);
 						} else {
@@ -3053,7 +3053,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				} else if (body.bellyPreg >= 100) {
 					r.push(`and ${he} see a <span class="pink">slight swell to ${his} stomach.</span>`);
 				}
-				if (body.fetish !== "mindbroken") {
+				if (body.fetish !== Fetish.MINDBROKEN) {
 					if (body.bellyPreg >= 100 || body.counter.birthsTotal > 0) {
 						if (body.devotion > 50) {
 							r.push(`Even though ${he} didn't get to experience being made into one, ${he} is delighted to be a mother${(body.counter.birthsTotal > 0) ? ` again` : ``}.`);
@@ -3125,7 +3125,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 							r.push(`${He} is filled with <span class="mediumorchid">hatred for you</span> for snatching ${his} pregnancy away from ${him}.`);
 							body.devotion -= 15;
 						}
-					} else if (body.fetish !== "mindbroken") {
+					} else if (body.fetish !== Fetish.MINDBROKEN) {
 						if (body.devotion > 50) {
 							r.push(`While ${he} will miss the chance of meeting ${his} future child, ${he} will no longer be weighed down by it as ${he} gets used to ${his} new body.`);
 						} else if (body.devotion > 20) {
@@ -3153,7 +3153,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 						r.push(`${He} is filled with <span class="mediumorchid">hatred for you</span> for snatching ${his} pregnancy away from ${him}.`);
 						body.devotion -= 15;
 					}
-				} else if (body.fetish !== "mindbroken") {
+				} else if (body.fetish !== Fetish.MINDBROKEN) {
 					if (body.devotion > 50) {
 						r.push(`While ${he} will miss the chance of meeting ${his} future child, ${he} will no longer be weighed down by it as ${he} gets used to ${his} new body.`);
 					} else if (body.devotion > 20) {
@@ -3203,7 +3203,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 			}
 			if (body.weight >= soul.weight + 30) { /* (fatter)*/
 				r.push(`${his} stomach until ${he} feels just how <span class="red">much more weight</span> ${he} is carrying.`);
-				if (body.fetish !== "mindbroken") {
+				if (body.fetish !== Fetish.MINDBROKEN) {
 					if (body.devotion > 20) {
 						r.push(`${He} finds ${his} new curves intriguing.`);
 					} else {
@@ -3213,7 +3213,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				}
 				if (body.bellySag > soul.bellySag && body.belly < 100) {
 					r.push(`${He} also notices <span class="red">how much it sags.</span>`);
-					if (body.fetish !== "mindbroken") {
+					if (body.fetish !== Fetish.MINDBROKEN) {
 						if (body.devotion > 20) {
 							r.push(`This isn't pleasant, but ${he} bears it for you.`);
 						} else {
@@ -3223,7 +3223,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 					}
 				} else if (body.bellySag < soul.bellySag && body.belly < 100) {
 					r.push(`${He} also notices it is <span class="green">tighter despite being softer.</span>`);
-					if (body.fetish !== "mindbroken") {
+					if (body.fetish !== Fetish.MINDBROKEN) {
 						if (body.devotion > 20) {
 							r.push(`This is great for ${his} self-image and ${he} happily strokes ${his} new firm belly.`);
 						} else {
@@ -3234,7 +3234,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				}
 			} else if (body.weight <= soul.weight - 30) { /* (thinner)*/
 				r.push(`${his} stomach and ${he} finds ${his} body <span class="green">thinner.</span>`);
-				if (body.fetish !== "mindbroken") {
+				if (body.fetish !== Fetish.MINDBROKEN) {
 					if (body.devotion > 20) {
 						r.push(`${He} finds ${his} new curves intriguing.`);
 					} else {
@@ -3244,7 +3244,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				}
 				if (body.bellySag > soul.bellySag && body.belly < 100) {
 					r.push(`${He} also notices how it <span class="red">has a sag to it.</span>`);
-					if (body.fetish !== "mindbroken") {
+					if (body.fetish !== Fetish.MINDBROKEN) {
 						if (body.devotion > 20) {
 							r.push(`This isn't pleasant, but ${he} bears it for you.`);
 						} else {
@@ -3254,7 +3254,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 					}
 				} else if (body.bellySag < soul.bellySag && body.belly < 100) {
 					r.push(`${He} also notices it is <span class="green">tighter despite being softer.</span>`);
-					if (body.fetish !== "mindbroken") {
+					if (body.fetish !== Fetish.MINDBROKEN) {
 						if (body.devotion > 20) {
 							r.push(`This is great for ${his} self-image and ${he} happily strokes ${his} new perkier belly.`);
 						} else {
@@ -3265,7 +3265,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				}
 			} else if (body.bellySag > soul.bellySag && body.belly < 100) { /* (belly sag)*/
 				r.push(`${his} stomach and ${he} notices a <span class="red">sag in ${his} belly.</span>`);
-				if (body.fetish !== "mindbroken") {
+				if (body.fetish !== Fetish.MINDBROKEN) {
 					if (body.devotion > 20) {
 						r.push(`This isn't pleasant, but ${he} bears it for you.`);
 					} else {
@@ -3275,7 +3275,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				}
 			} else if (body.bellySag < soul.bellySag && body.belly < 100) { /* (subtracted)*/
 				r.push(`${his} stomach and notices the <span class="green">sag in ${his} belly has lessened.</span>`);
-				if (body.fetish !== "mindbroken") {
+				if (body.fetish !== Fetish.MINDBROKEN) {
 					if (body.devotion > 20) {
 						r.push(`This is great for ${his} self-image and ${he} happily strokes ${his} new tight belly.`);
 					} else {
@@ -3285,7 +3285,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				}
 			} else if (body.weight < 10 && body.muscles > 5 && body.belly < 100) {
 				r.push(`${his} <span class="lime">muscled stomach.</span>`);
-				if (body.fetish !== "mindbroken") {
+				if (body.fetish !== Fetish.MINDBROKEN) {
 					if (body.devotion > 20) {
 						r.push(`${He} finds ${his} new strength intriguing.`);
 					} else {
@@ -3339,7 +3339,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				} else { /* (+1 size)*/
 					r.push(`a fair bit.`);
 				}
-				if (body.fetish !== "mindbroken") {
+				if (body.fetish !== Fetish.MINDBROKEN) {
 					if (body.devotion > 20) {
 						r.push(`This is a pleasing development as ${he} looks forward to putting this new rear to the test with you.`);
 					} else {
@@ -3358,7 +3358,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				} else { /* (-1 size)*/
 					r.push(`a fair bit.`);
 				}
-				if (body.fetish !== "mindbroken") {
+				if (body.fetish !== Fetish.MINDBROKEN) {
 					if (body.devotion > 20) {
 						r.push(`${He} is saddened that there is now less of ${him} for you to play with, but remembers that you chose this body for ${him} and hopes that you will still make use of ${his} rear.`);
 					} else {
@@ -3371,7 +3371,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 			}
 			if (body.buttImplant > 0 && soul.buttImplant === 0) { /* (+butt implants)*/
 				r.push(`${He} also notes that <span class="coral">there are implants in ${him},</span> as ${his} ass's shape didn't really change as it moved.`);
-				if (body.fetish !== "mindbroken") {
+				if (body.fetish !== Fetish.MINDBROKEN) {
 					if (body.devotion > 20) {
 						r.push(`It pleases ${him} that you would invest in such a minor way in ${his} body.`);
 					} else {
@@ -3380,7 +3380,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				}
 			} else if (body.buttImplant === 0 && soul.buttImplant > 0) { /* (-butt implants)*/
 				r.push(`${He} also notes that ${he} <span class="coral">no longer has ass implants,</span> as ${his} experimentation reveals a more natural bounce to ${his} buttocks.`);
-				if (body.fetish !== "mindbroken") {
+				if (body.fetish !== Fetish.MINDBROKEN) {
 					if (body.devotion > 20) {
 						r.push(`${He} is happy that you think ${his} body doesn't need any artificial modification to be pleasing.`);
 					} else {
@@ -3389,7 +3389,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 					}
 				}
 			}
-			if (body.fetish !== "mindbroken") {
+			if (body.fetish !== Fetish.MINDBROKEN) {
 				if (body.hips !== soul.hips) {
 					r.push(`As ${he} prepares to look at ${his} crotch, it occurs to ${him} that ${his} hips are`);
 					if (body.hips > soul.hips) {
@@ -3453,7 +3453,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				} else {
 					r.push(`enormous boobs taking up so much space.`);
 				}
-				if (body.fetish !== "mindbroken") {
+				if (body.fetish !== Fetish.MINDBROKEN) {
 					r.push(`${He} shifts ${his} weight so that ${he} falls onto ${his} back`);
 					if (body.piercing.corset.weight !== 0 && soul.piercing.corset.weight === 0) {
 						r.push(`and recoils as ${he} lands on something unfamiliar and hard. ${His} mind races as to what it could be, before the realization sets in that ${he} now has a corset piercing up ${his} back. Once ${he} gets used to the feeling, ${he} leans to ${his} side to finally get a view around ${his} body.`);
@@ -3677,7 +3677,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 					cockChanged = 1;
 				}
 
-				if (cockChanged === 1 && body.fetish !== "mindbroken") {
+				if (cockChanged === 1 && body.fetish !== Fetish.MINDBROKEN) {
 					if (body.devotion > 20) {
 						r.push(`${He} is thrilled at your modifications to ${his} genitals and is excited to explore those changes with you.`);
 					} else {
@@ -3760,7 +3760,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 			}
 
 			/* tattoos */
-			if (body.fetish !== "mindbroken") {
+			if (body.fetish !== Fetish.MINDBROKEN) {
 				const tatLocations = [
 					"boobsTat",
 					"buttTat",
@@ -3782,7 +3782,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 				}
 			}
 
-			if (body.fetish !== "mindbroken") {
+			if (body.fetish !== Fetish.MINDBROKEN) {
 				if (body.origBodyOwnerID === body.ID) {
 					r.push(`This is ${his} body alright. Some things might have changed,`);
 					if (body.devotion > 50) {
@@ -3803,7 +3803,7 @@ globalThis.bodySwapReaction = function(body, soul) {
 	} else { /* blind amp that needs you to detail the changes to ${his} body */
 		r.push(`After a while, ${he} begins to stir, ${his} eyes fluttering.`);
 		if (sight === -2) {
-			if (body.fetish !== "mindbroken") {
+			if (body.fetish !== Fetish.MINDBROKEN) {
 				if (body.devotion > 50) {
 					r.push(`${He} nearly panics when ${he} finds <span class="red">${he} can no longer see.</span> ${He} barely manages to keep calm before accepting this is the fate you have chosen for ${him}.`);
 				} else if (body.devotion > 20) {
diff --git a/src/npc/surgery/bodySwap/huskSlaveSwap.js b/src/npc/surgery/bodySwap/huskSlaveSwap.js
index 813997d8182..599ceb4acfd 100644
--- a/src/npc/surgery/bodySwap/huskSlaveSwap.js
+++ b/src/npc/surgery/bodySwap/huskSlaveSwap.js
@@ -39,7 +39,7 @@ App.UI.SlaveInteract.huskSlaveSwap = function() {
 			const {
 				he2, him2, his2
 			} = getPronouns(V.slaves[myBody]).appendSuffix("2");
-			if (V.slaves[myBody].fetish !== "mindbroken" && V.slaves[myBody].fuckdoll === 0) {
+			if (V.slaves[myBody].fetish !== Fetish.MINDBROKEN && V.slaves[myBody].fuckdoll === 0) {
 				if (V.slaves[myBody].devotion > 20) {
 					r.push(`${V.slaves[myBody].slaveName} is somewhat saddened to see ${his2} body leave forever.`);
 				} else if (V.slaves[myBody].devotion >= -50) {
-- 
GitLab