diff --git a/devNotes/AnatomyOfAFreeCitiesEvent.txt b/devNotes/AnatomyOfAFreeCitiesEvent.txt
index e6c1d7afe51de849d108b7084c95ebc454ad8668..1e92894883d85befb0ae52c40c3bbcfd9abcd25e 100644
--- a/devNotes/AnatomyOfAFreeCitiesEvent.txt
+++ b/devNotes/AnatomyOfAFreeCitiesEvent.txt
@@ -57,7 +57,7 @@ A slave can be linked with the macro <<EventNameLink _Slave>>. This allows the p
 
 <<SlaveTitle _Slave>> sets $desc (which ends up being a string like "slavegirl", "MILF", "futanari" and so on, depending on slave).
 
-<<SlavePronouns _Slave>> allows you to use the variables $pronoun ("she"/"he"/"it"), $pronounCap ("She"/"He"/"It"), $possessive ("her"/"his"/"its"), $possessiveCap ("Her"/"His"/"Its") and $object ("her"/"him"/"it"). There is NO variable for self-possession ("hers"/"his"/"its") and for "herself", you need to use <<= $object>>self.
+<<setLocalPronouns _Slave>> allows you to use the variables $pronoun ("she"/"he"/"it"), $pronounCap ("She"/"He"/"It"), $possessive ("her"/"his"/"its"), $possessiveCap ("Her"/"His"/"Its") and $object ("her"/"him"/"it"). There is NO variable for self-possession ("hers"/"his"/"its") and for "herself", you need to use <<= $object>>self.
 One more macro initializes several others and is required when you have a slave speak and want to use direct quotes: <<Enunciate _Slave>> allows you to use <<Master>>, <<WrittenMaster>>, <<says>> (which turns into "lisps" when that's the case) and the lisping replacers <<s>>, <<ss>>, <<S>>, <<c>> and <<z>>.
 
 The text should be about large enough to fit on the screen assuming typical monitor sizes. In terms of visible text, about 1000 words are a fine limit to aim for. There's a lot to keep in mind in terms of different appearances and circumstances, so keep your document with slave variables as a reference nearby.
diff --git a/devNotes/Useful JS Function Documentation.txt b/devNotes/Useful JS Function Documentation.txt
index 164361af93a49faa1314d714f8cdf68c89ed4872..ee2de0e74588db8f9e81cfa9ad8ac5935a889c3b 100644
--- a/devNotes/Useful JS Function Documentation.txt	
+++ b/devNotes/Useful JS Function Documentation.txt	
@@ -218,8 +218,6 @@ getSlave(ID) - Returns the slave object with the matching ID.
 
 getPronouns(slave) - Returns an object containing a slave's pronouns.
 
-SlavePronouns(slave) - Sets global pronoun variables to a slave's pronouns. ($he, $He, $His, $his, $him) (obsolete?)
-
 WrittenMaster(slave) - Returns a slave's title for the player and sets lisping. Returns $activeSlave if not given an argument.
 
 Enunciate(slave) - Syncs lisp widgets with slave.
diff --git a/src/init/dummy.tw b/src/init/dummy.tw
index 1ac6e6787b0f00749f9c15d45dc1efbca54e4feb..6b27488a8d3fa167d7f4afb44af44e959b9c239f 100644
--- a/src/init/dummy.tw
+++ b/src/init/dummy.tw
@@ -44,4 +44,89 @@ $JobIDArray
 SugarCube-style comment because it is not ignored by the Java based sanityCheck
 
 $scarheal, $clamp, $wGain, $wLoss, $androgyny
+$MAX
+$MIN
+$SCHOOL
+$CLINIC
+$SPA
+$NANNY
+$JAIL
+$NURSE
+$WARDEN
+$ATTEND
+$STEWARD
+$MILKMAID
+$TEACHER
+$MATRON
+$MASTER
+$CONCUBINE
+$BABY
+$gangCriminalPool
+$militaryCriminalPool
+$whiteCollarCriminalPool
+$pettyCriminalPool
+$malenamePoolSelector
+$namePoolSelector
+$penthousePositions
+$REST
+$fetusWeek
+$countLitter
+$litterData
+$weather
+$event
+$human
+$brokenSlaves
+$DL
+$dI
+$childToSlave
+$Delete
+$SpliceArray
+$Copy
+$CopyDate
+$location
+$self
+$setBaseAndExtent
+$opera
+$selection
+$styleSheets
+$cssRules
+$facilityCareers
+$toString
+$toFixed
+$LivingRule
+$PersonalAttention
+$areRelated
+$relativeTerm
+$right
+$bottom
+$index
+$marriages
+$Nursery
+$weeksLeft
+$normalOvaMin
+$normalOvaMax
+$keyCode
+$placeholder
+$V
+$vaginalAttachments
+$buttplugAttachments
+$rejects
+$Engine
+$remove
+$transfer
+$jobsNames
+$content
+$expCheck
+$interactionLink
+$summaryCache
+$raw
+$which
+$minDomActionDelay
+$Categorizer
+$ready
+$rest
+$new
+$interfaceTail
+$currentTarget
+$upgrade
 %/
diff --git a/src/js/assayJS.js b/src/js/assayJS.js
index 85d9c11a4b12d0918b17f5bb38e79d7b0117ef53..b0cab4b9a5850aea9c14ced6f1cb51508ccbf32f 100644
--- a/src/js/assayJS.js
+++ b/src/js/assayJS.js
@@ -393,19 +393,6 @@ window.getPronouns = function (slave) {
 	return new App.Utils.Pronouns(slave);
 };
 
-/**
- * @param {App.Entity.SlaveState} slave
- */
-window.SlavePronouns = function SlavePronouns(slave) {
-	const V = State.variables;
-	const pronouns = getPronouns(slave);
-	V.pronoun = pronouns.pronoun;
-	V.pronounCap = capFirstChar(pronouns.pronoun);
-	V.possessive = pronouns.possessive;
-	V.possessiveCap = capFirstChar(pronouns.possessive);
-	V.object = pronouns.object;
-};
-
 /**
  * @param {App.Entity.SlaveState} slave
  * @returns {string}	// I think
diff --git a/src/js/datatypeCleanupJS.js b/src/js/datatypeCleanupJS.js
index 0fcc266f1b98cae9238c5791aca57e66ea26e45e..d93384d17d4d5f4b167e16351a921eff07bcdb6b 100644
--- a/src/js/datatypeCleanupJS.js
+++ b/src/js/datatypeCleanupJS.js
@@ -854,7 +854,7 @@ window.SlaveDatatypeCleanup = (function SlaveDatatypeCleanup() {
 		if (slave.indenture !== 0) {
 			slave.indenture = Math.max(+slave.indenture, -1) || -1;
 		}
-		slave.indentureRestrictions = Math.clamp(+slave.indentureRestriction, 0, 2) || 0;
+		slave.indentureRestrictions = Math.clamp(+slave.indentureRestrictions, 0, 2) || 0;
 		slave.tired = Math.clamp(+slave.tired, 0, 1) || 0;
 		slave.hears = Math.clamp(+slave.hears, -2, 0) || 0;
 		slave.smells = Math.clamp(+slave.smells, -1, 0) || 0;
diff --git a/src/js/rulesAssistant.js b/src/js/rulesAssistant.js
index 399d95b4a9ff85ec0b1e2bf609444c1c036bb8a1..d14ba3ddf032048137490a73bba8a05617b64406 100644
--- a/src/js/rulesAssistant.js
+++ b/src/js/rulesAssistant.js
@@ -130,7 +130,7 @@ window.RAFacilityRemove = function RAFacilityRemove(slave, rule) {
 		case "work as farmhand":
 			if (slave.assignment === rule.setAssignment) {
 				r += `<br>${slave.slaveName} has been removed from ${V.farmyardName} and has been assigned to ${rule.removalAssignment}.`;
-				assignJob(slave.rule.removalAssignment);
+				assignJob(slave, rule.removalAssignment);
 			}
 			break;
 
diff --git a/src/uncategorized/arcologyDescription.tw b/src/uncategorized/arcologyDescription.tw
index d46bb83cc103c047de15a967b53fc1b4044ce1fb..9ab0156ab05f99ca15a24ab625d61c600388a409 100644
--- a/src/uncategorized/arcologyDescription.tw
+++ b/src/uncategorized/arcologyDescription.tw
@@ -493,7 +493,7 @@ Its<<if $weatherCladding == 2>> glorious<<elseif $weatherCladding > 0>> dull<<el
 		Many of them can offer visitors a sample of $arcologies[0].name's pride and joy, straight from the nipple.
 	<</if>>
 	<<if $arcologies[0].FSPhysicalIdealistDecoration >= 80>>
-		<<if $arcologies[0].FSFitLaw == 1>>
+		<<if $arcologies[0].FSPhysicalIdealistLaw == 1>>
 			Their bodies are uniformly fit and healthy<<if $arcologies[0].FSRomanRevivalist > 0>> in the Hellenistic tradition<</if>>.
 		<<else>>
 			Their musculature is uniformly stunning. Swole acceptance is high here.
diff --git a/src/uncategorized/reRecruit.tw b/src/uncategorized/reRecruit.tw
index 1c7305ca85d28ee6bd6a36ae2cd3e744e74ca352..5c978de7e8e0e7c2199971648861218c9255ecf8 100644
--- a/src/uncategorized/reRecruit.tw
+++ b/src/uncategorized/reRecruit.tw
@@ -2482,7 +2482,7 @@ You receive so many messages, as a noted titan of the new Free Cities world, tha
 This call is coming from a public kiosk, which is usually an indication that the person on the other end is a transient individual who has decided to take slavery over homelessness and not someone of high society. This call, as you would expect, is different. The moment the person on the other end introduces themselves you immediately recognize why your assistant brought this to your attention. The caller is the King of an old world kingdom, contacting you by an untraceable means due of the conspiratorial nature of his proposal.
 <br><br>
 He explains that one of his servant <<= $girl>>s was impregnated by his fool of a son, and that he wants to sell you the $girl and $his nosy coworkers to clean house and cover it up.
-<<if $arcologies[0].FSrepopulationFocus != "unset">>
+<<if $arcologies[0].FSRepopulationFocus != "unset">>
 	You relish at the opportunity to obtain an expectant mother and some decent slaves.
 <<else>>
 	You aren't particularly concerned with the pregnancy, but it sounds like you could get a several decent slaves out of this.
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index fe984fab934228b495566fb19c42bebd265a095a..38203318e7b06f2077c8f3a15efd68cd2aa2d794 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -1526,7 +1526,7 @@
 			even if $he can't understand why.
 			<</if>>
 		<<case "a breeder">>
-			<<if $slaves[$i].pregKnown == 1 && $arcologies[0].FSRepopulation != "unset">>
+			<<if $slaves[$i].pregKnown == 1 && $arcologies[0].FSRepopulationFocus != "unset">>
 				$His life used to revolve around being pregnant all the time and nothing has changed. However, being surrounded with happy, heavily pregnant women leaves $him @@.hotpink;slightly more accepting@@ of $his fate and @@.mediumaquamarine;hopeful@@ that $his trained body will be useful to you.
 				<<set $slaves[$i].trust += 1, $slaves[$i].devotion += 1>>
 			<<elseif $slaves[$i].pregControl == "speed up">>