diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js
new file mode 100644
index 0000000000000000000000000000000000000000..b9ac5d130ab17071f05ae6273b57a6083ea233ee
--- /dev/null
+++ b/js/003-data/gameVariableData.js
@@ -0,0 +1,1662 @@
+// A whitelist for ingame variables.  Used to init the game or fill in gaps.  Also used as a whitelist.  Anything not on this list will be removed on BC.
+App.Data.defaultGameStateVariables = {
+	returnTo: "init",
+	nextButton: "Continue",
+	nextLink: "Alpha disclaimer",
+	ver: 0,
+	pmodVer: 0,
+	releaseID: 0,
+	slaveIndices: 0,
+	genePool: [],
+	missingTable: {},
+	slaves: [],
+	showMissingSlaves: false,
+	showMissingSlavesSD: false,
+	marrying: [],
+	// array of slave being married this week
+	organs: [],
+	ArcadeiIDs: [],
+	BrothiIDs: [],
+	CellBiIDs: [],
+	CliniciIDs: [],
+	ClubiIDs: [],
+	DairyiIDs: [],
+	FarmyardiIDs: [],
+	HGSuiteiIDs: [],
+	MastSiIDs: [],
+	SchlRiIDs: [],
+	ServQiIDs: [],
+	SpaiIDs: [],
+	NurseryiIDs: [],
+	saveImported: 0,
+	PC: {},
+	freshPC: 0,
+	cheater: 0,
+	cash: 0,
+	cashLastWeek: 0,
+	autosave: 1,
+	useFSNames: 1,
+	FSNamePref: 0,
+	seeDetails: 1,
+	seeDesk: 1,
+	newModelUI: 1,
+	seeArcology: 1,
+	seeFCNN: 1,
+	useSummaryCache: true,
+	seeExtreme: 0,
+	seeBestiality: 0,
+	seePee: 1,
+	seeIncest: 1,
+	extremeUnderage: 0,
+	seeHyperPreg: 0,
+	seePreg: 1,
+	dangerousPregnancy: 0,
+	adamPrinciple: 0,
+	seeCircumcision: 1,
+	seeAge: 1,
+	seeDicks: 25,
+	seeDicksAffectsPregnancy: 1,
+	seeRace: 1,
+	seeNationality: 1,
+	realRoyalties: 0,
+	seeIllness: 1,
+	seeImages: 0,
+	seeFaces: 1,
+	seeAvatar: 1,
+	seeHeight: 0,
+	imageChoice: 1,
+	seeVectorArtHighlights: 1,
+	seeMainFetishes: 0,
+	seeSummaryImages: 1,
+	seeReportImages: 1,
+	lineSeparations: 1,
+	slavePanelStyle: 1,
+	showSexualHistory: 1,
+	showBodyMods: 1,
+	showImplantEffects: 1,
+	showClothing: 1,
+	showAgeDetail: 1,
+	showBoobCCs: 1,
+	showHeightCMs: 1,
+	showDickCMs: 1,
+	showInches: 1,
+	showNumbers: 2,
+	showNumbersMax: 20,
+	showScores: 1,
+	showAssignToScenes: 1,
+	showEWD: 1,
+	showEWM: 1,
+	showVignettes: 1,
+	showAppraisal: 1,
+	verticalizeArcologyLinks: 0,
+	positionMainLinks: -1,
+	showTipsFromEncy: 1,
+	displayAssignments: 1,
+	sortSlavesBy: "devotion",
+	sortSlavesOrder: "descending",
+	sortSlavesMain: 1,
+	HGSeverity: 0,
+	HGFormality: 1,
+	universalRulesConsent: 0,
+	universalRulesRest: 0,
+	universalRulesFacilityWork: 1,
+	universalRulesImpregnation: "none",
+	universalRulesBirthing: 0,
+	universalRulesCSec: 0,
+	universalRulesNewSlavesRA: 1,
+	universalRulesAssignsSelfFacility: 0,
+	universalRulesImmobileSlavesMaintainMuscles: 0,
+	universalRulesChildrenBecomeBreeders: 0,
+	slaveDead: 0,
+	rulesAssistantMain: 1,
+	rulesAssistantAuto: 0,
+	abbreviateDevotion: 2,
+	abbreviateRules: 2,
+	abbreviateClothes: 2,
+	abbreviateOrigins: 2,
+	abbreviateRulesets: 2,
+	abbreviateNationality: 2,
+	abbreviateHealth: 2,
+	abbreviateDiet: 2,
+	abbreviateDrugs: 2,
+	abbreviateRace: 2,
+	abbreviateGenitalia: 2,
+	abbreviatePhysicals: 2,
+	abbreviateSkills: 2,
+	abbreviateMental: 2,
+	abbreviateSidebar: 2,
+	summaryStats: 0,
+	nicknamesAllowed: 1,
+	modRequestsAllowed: 1,
+	expansionRequestsAllowed: 1,
+	plot: 1,
+	continent: "North America",
+	terrain: "rural",
+	language: "English",
+	headGirlTrainsSkills: 1,
+	headGirlTrainsHealth: 1,
+	headGirlTrainsObedience: 1,
+	headGirlTrainsFlaws: 1,
+	headGirlSoftensFlaws: 1,
+	headGirlTrainsParaphilias: 1,
+	retainCareer: 1,
+	useSlaveSummaryTabs: 0,
+	useSlaveSummaryOverviewTab: 0,
+	useSlaveListInPageJSNavigation: 0,
+	killChoice: -1,
+	assignmentRecords: {},
+	verboseDescriptions: 0,
+	useAccordion: 0,
+	debugMode: 0,
+	showNeighborDetails: 1,
+	useTabs: 0,
+	tabChoice: {Main: "all"},
+	formatNumbers: 1,
+	makeDicks: 0,
+	showEconomicDetails: 0,
+	allowMaleSlaveNames: false,
+	profiler: 0,
+	economy: 100,
+	baseDifficulty: 3,
+	difficultySwitch: 0,
+	neighboringArcologies: 3,
+	newDescriptions: 0,
+	familyTesting: 0,
+	showDistantRelatives: 0,
+	inbreeding: 1,
+	allowFamilyTitles: 0,
+	surnameOrder: 0,
+	disableLisping: 0,
+	weightAffectsAssets: 1,
+	curativeSideEffects: 1,
+	// eslint-disable-next-line camelcase
+	pedo_mode: 0,
+	minimumSlaveAge: 16,
+	fertilityAge: 13,
+	potencyAge: 13,
+	AgePenalty: 1,
+	precociousPuberty: 0,
+	loliGrow: 0,
+	retirementAge: 45,
+	customRetirementAge: 45,
+	customMenialRetirementAge: 65,
+	FSCreditCount: 5,
+	corpAssetsDev: 0,
+	corpAssetsDevOld: 0,
+	corpAssetsSlave: 0,
+	corpAssetsSlaveOld: 0,
+	corpCash: 0,
+	corpDiv: 0,
+	corpDivArcadeFromMarket: 0,
+	corpDivArcadeSlaves: 0,
+	corpDivBreakFromMarket: 0,
+	corpDivBreakSlaves: 0,
+	corpDivBreakSlaves2: 0,
+	corpDivBreakToMarket: 0,
+	corpDivBreakToMenial: 0,
+	corpDivBreakToSurgery: 0,
+	corpDivBreakToTrain: 0,
+	corpDivDairyFromMarket: 0,
+	corpDivDairySlaves: 0,
+	corpDivExtraSlaves: 0,
+	corpDivExtraToArcade: 0,
+	corpDivExtraToBreak: 0,
+	corpDivExtraToMarket: 0,
+	corpDividend: 0,
+	corpDivLegalSlaves: 0,
+	corpDivLegalToMarket: 0,
+	corpDivLegalToMenial: 0,
+	corpDivLegalToSurgery: 0,
+	corpDivLegalToTrain: 0,
+	corpDivMenialFromMarket: 0,
+	corpDivMenialSlaves: 0,
+	corpDivSurgeryFromMarket: 0,
+	corpDivSurgerySlaves: 0,
+	corpDivSurgerySlaves2: 0,
+	corpDivSurgeryToDairy: 0,
+	corpDivSurgeryToMarket: 0,
+	corpDivSurgeryToTrain: 0,
+	corpDivTrainFromMarket: 0,
+	corpDivTrainSlaves: 0,
+	corpDivTrainSlaves2: 0,
+	corpDivTrainToMarket: 0,
+	corpDivTrainToWhore: 0,
+	corpDivWhoreFromMarket: 0,
+	corpDivWhoreSlaves: 0,
+	corpOpCostOld: 0,
+	corpOverheadOld: 0,
+	corpProfitOld: 0,
+	corpRev: 0,
+	corpRevOld: 0,
+	corpSpecAccent: 0,
+	corpSpecAge: 0,
+	corpSpecAmputee: 0,
+	corpSpecBalls: 0,
+	corpSpecDevotion: 0,
+	corpSpecDick: 0,
+	corpSpecEducation: 0,
+	corpSpecGender: 0,
+	corpSpecGenitalia: 0,
+	corpSpecHeight: 0,
+	corpSpecHormones: 0,
+	corpSpecImplants: 0,
+	corpSpecInjection: 0,
+	corpSpecIntelligence: 0,
+	corpSpecMilk: 0,
+	corpSpecMuscle: 0,
+	corpSpecPussy: 0,
+	corpSpecSexEd: 0,
+	corpSpecTrust: 0,
+	corpSpecVirgin: 0,
+	corpSpecWeight: 0,
+	dividendTimer: 0,
+	personalShares: 0,
+	publicShares: 0,
+	targetArcology: {type: "New"},
+	REFeminizationCheckinIDs: [],
+	REMILFCheckinIDs: [],
+	REOrientationCheckinIDs: [],
+	REUglyCheckinIDs: [],
+	REButtholeCheckinIDs: [],
+	REFutaSisterCheckinIDs: [],
+	REReductionCheckinIDs: [],
+	activeSlave: 0,
+	activeChild: 0,
+	reminders: [],
+	boomerangSlave: 0,
+	boomerangWeeks: 0,
+	boomerangBuyer: 0,
+	bioreactorPerfectedID: 0,
+	independenceDay: 0,
+	invasionVictory: 0,
+	daughtersVictory: 0,
+	startingGirlCopied: 0,
+	startingGirlRelation: 0,
+	archetyped: 0,
+	createRelatedSlave: 0,
+	slavesVisible: 0,
+	dormitory: 20,
+	dormitoryPopulation: 0,
+	rooms: 5,
+	roomsPopulation: 0,
+	brothelDecoration: "standard",
+	brothelUpgradeDrugs: 0,
+	brothelAdsSpending: 0,
+	brothelAdsOld: 0,
+	brothelAdsModded: 0,
+	brothelAdsImplanted: 0,
+	brothelAdsStacked: 0,
+	brothelAdsPreg: 0,
+	brothelAdsXX: 0,
+	brothelName: "the Brothel",
+	brothelNameCaps: "The Brothel",
+	brothel: 0,
+	dairyDecoration: "standard",
+	dairyPrepUpgrade: 0,
+	dairyStimulatorsUpgrade: 0,
+	dairyStimulatorsSetting: 0,
+	dairyStimulatorsSettingChanged: 0,
+	dairyFeedersUpgrade: 0,
+	dairyFeedersSetting: 0,
+	dairyFeedersSettingChanged: 0,
+	dairyPregUpgrade: 0,
+	dairyPregSetting: 0,
+	dairyPregSettingChanged: 0,
+	dairyRestraintsUpgrade: 0,
+	dairyRestraintsSetting: 0,
+	dairySlimMaintainUpgrade: 0,
+	dairySlimMaintain: 0,
+	dairyHyperPregRemodel: 0,
+	dairyWeightSetting: 0,
+	dairyImplantsSetting: 1,
+	dairyUpgradeMenials: 0,
+	createBioreactors: 0,
+	bioreactorsAnnounced: 0,
+	bioreactorsHerm: 0,
+	bioreactorsXX: 0,
+	bioreactorsXY: 0,
+	bioreactorsBarren: 0,
+	dairyName: "the Dairy",
+	dairyNameCaps: "The Dairy",
+	dairy: 0,
+	cumSlaves: 0,
+	clubDecoration: "standard",
+	clubUpgradePDAs: 0,
+	clubAdsSpending: 0,
+	clubAdsOld: 0,
+	clubAdsModded: 0,
+	clubAdsImplanted: 0,
+	clubAdsStacked: 0,
+	clubAdsPreg: 0,
+	clubAdsXX: 0,
+	clubName: "the Club",
+	clubNameCaps: "The Club",
+	club: 0,
+	servantsQuartersDecoration: "standard",
+	servantsQuartersUpgradeMonitoring: 0,
+	servantsQuarters: 0,
+	servantsQuartersName: "the Servants' Quarters",
+	servantsQuartersNameCaps: "The Servants' Quarters",
+	schoolroomDecoration: "standard",
+	schoolroomUpgradeSkills: 0,
+	schoolroomUpgradeLanguage: 0,
+	schoolroomUpgradeRemedial: 0,
+	schoolroomRemodelBimbo: 0,
+	schoolroom: 0,
+	schoolroomName: "the Schoolroom",
+	schoolroomNameCaps: "The Schoolroom",
+	spaDecoration: "standard",
+	spa: 0,
+	spaSpots: 0,
+	spaUpgrade: 0,
+	spaFix: 0,
+	spaName: "the Spa",
+	spaNameCaps: "The Spa",
+	// Incubator Subsection
+	incubator: 0,
+	incubatorSlaves: 0,
+	incubatorBulkRelease: 0,
+	incubatorOrgans: [],
+	incubatorOldID: 0,
+	incubatorUpgradeSpeed: 5,
+	incubatorUpgradeWeight: 0,
+	incubatorUpgradeMuscles: 0,
+	incubatorUpgradeGrowthStims: 0,
+	incubatorUpgradeReproduction: 0,
+	incubatorUpgradeOrgans: 0,
+	incubatorImprintSetting: 0,
+	incubatorWeightSetting: 0,
+	incubatorMusclesSetting: 0,
+	incubatorGrowthStimsSetting: 0,
+	incubatorReproductionSetting: 0,
+	incubatorName: "the Incubator",
+	incubatorNameCaps: "The Incubator",
+	reservedChildren: 0,
+	tanks: [],
+	clinicDecoration: "standard",
+	clinic: 0,
+	clinicUpgradeFilters: 0,
+	clinicUpgradeScanner: 0,
+	clinicUpgradePurge: 0,
+	clinicName: "the Clinic",
+	clinicNameCaps: "The Clinic",
+	arcadeDecoration: "standard",
+	arcadeUpgradeInjectors: 0,
+	arcadeUpgradeFuckdolls: 0,
+	arcadeUpgradeCollectors: 0,
+	arcadeUpgradeHealth: -1,
+	arcadeName: "the Arcade",
+	arcadeNameCaps: "The Arcade",
+	arcade: 0,
+	fuckdollsSold: 0,
+	cellblockDecoration: "standard",
+	cellblockUpgrade: 0,
+	cellblock: 0,
+	cellblockName: "the Cellblock",
+	cellblockNameCaps: "The Cellblock",
+	cellblockWardenCumsInside: 1,
+	masterSuiteDecoration: "standard",
+	masterSuiteUpgradeLuxury: 0,
+	masterSuiteUpgradePregnancy: 0, // Is the upgrade active?
+	masterSuitePregnancyFertilityDrugs: 0, // Are slaves being put on fertility drugs?
+	masterSuitePregnancyFertilitySupplements: 0, // Are those drugs being supplemented (health benefits and (even) more multiple pregnancies)
+	masterSuitePregnancySlaveLuxuries: 0, // Are the slaves being given some nicer things to reduce stress during preg? (health/devotion/trust benefits)
+	universalHGImpregnateMasterSuiteToggle: 0, // Will the HG impregnate fertile slaves in the MS?
+	masterSuiteHyperPregnancy: 0,
+	masterSuite: 0,
+	masterSuiteName: "the Master Suite",
+	masterSuiteNameCaps: "The Master Suite",
+	// Nursery Subsection
+	nursery: 0, // counts the number of children the nursery can support
+	nurseryNannies: 0, // counts the number of nannies the nursery can support
+	nurseryBabies: 0, // counts the number of children currently in the nursery
+	MatronInfluence: 0, // check for whether the children are influenced by the Matron
+	nannyInfluence: 0, // check for whether the children are influenced by the nannies
+	nurseryDecoration: "standard",
+	nurseryWeight: 0,
+	nurseryMuscles: 0,
+	nurseryHormones: 0,
+	nurseryOrgans: 0, // not currently in use
+	nurseryImprintSetting: 0,
+	nurseryWeightSetting: 0,
+	nurseryMusclesSetting: 0,
+	nurseryHormonesSetting: 0,
+	nurseryName: "the Nursery",
+	nurseryNameCaps: "The Nursery",
+	reservedChildrenNursery: 0,
+	cribs: [], // array of children in the nursery
+	cribsFreed: [], // array of children that have been freed
+	childToSlave: -1, // number of total children that have become slaves
+	cribsIndices: 0,
+	// Farmyard Subsection
+	farmyard: 0,
+	farmyardShowgirls: [], // array of farmhands putting on shows
+	farmyardFarmers: [], // array of farmhands farming
+	farmMenials: 0,
+	farmMenialsSpace: 0,
+	farmyardDecoration: "standard",
+	farmyardUpgrade: {
+		pump: 0,
+		fertilizer: 0,
+		hydroponics: 0,
+		machinery: 0,
+		seeds: 0,
+		lab: 0
+	},
+	farmyardCrops: 0,
+	farmyardStable: 0,
+	farmyardKennels: 0,
+	farmyardCages: 0,
+	activeCanine: 0,
+	activeHooved: 0,
+	activeFeline: 0,
+	farmyardLab: 0,
+	farmyardLabUpgrades: {animalOvaries: 0, animalTesticles: 0, animalMpreg: 0},
+	animalsBought: {
+ canines: 0, hooved: 0, felines: 0, labradorRetrievers: 0, germanShepherds: 0, goldenRetrievers: 0, frenchBulldogs: 0, bulldogs: 0, beagles: 0, poodles: 0, rottweilers: 0, yorkshireTerriers: 0, siberianHuskies: 0, horses: 0, bulls: 0, pigs: 0, siameses: 0, persians: 0, maineCoons: 0, ragdolls: 0, bengals: 0, abbysinians: 0, birmans: 0, orientalShorthairs: 0, sphynxes: 0, russianBlues: 0, wolves: 0, foxes: 0, jackals: 0, dingos: 0, zebras: 0, cougars: 0, jaguars: 0, pumas: 0, lynx: 0, leopards: 0, lions: 0, tigers: 0
+},
+	canines: [],
+	hooved: [],
+	felines: [],
+	farmyardName: "the Farmyard",
+	farmyardNameCaps: "The Farmyard",
+	HGSuite: 0,
+	HGSuiteSurgery: 1,
+	HGSuiteDrugs: 1,
+	HGSuiteHormones: 1,
+	HGSuiteEquality: 0,
+	HGSuiteName: "the Head Girl Suite",
+	HGSuiteNameCaps: "The Head Girl Suite",
+	fighterIDs: [],
+	pitBG: 0,
+	pitAnimal: 0,
+	pitAnimalType: 0,
+	pitAudience: "none",
+	pitLethal: 0,
+	pitVirginities: 0,
+	pitFought: 0,
+	pit: 0,
+	pitName: "the Pit",
+	pitNameCaps: "The Pit",
+	dojo: 0,
+	feeder: 0,
+	cockFeeder: 0,
+	suppository: 0,
+	weatherCladding: 0,
+	weatherAwareness: 0,
+	boobAccessibility: 0,
+	servantMilkers: 0,
+	servantMilkersMultiplier: 1,
+	studio: 0,
+	studioFeed: 0,
+	PCSlutContacts: 1,
+	// Porn star counts (prestige 1) and ID's (prestige 3)
+	pornStars: {},
+	pregInventor: 0,
+	pregInventorID: 0,
+	pregInventions: 0,
+	legendaryWhoreID: 0,
+	legendaryEntertainerID: 0,
+	legendaryCowID: 0,
+	legendaryBallsID: 0,
+	legendaryWombID: 0,
+	legendaryAbolitionistID: 0,
+	FSAnnounced: 0,
+	FSCredits: 0,
+	FSGotRepCredits: 0,
+	FSSingleSlaveRep: 10,
+	FSSpending: 0,
+	FSLockinLevel: 100,
+	applyLaw: 0,
+	FSPromenade: {
+ Subjugationist: 0, Supremacist: 0, GenderRadicalist: 0, GenderFundamentalist: 0, Paternalist: 0, Degradationist: 0, BodyPurist: 0, TransformationFetishist: 0, YouthPreferentialist: 0, MaturityPreferentialist: 0, SlimnessEnthusiast: 0, AssetExpansionist: 0, Pastoralist: 0, PhysicalIdealist: 0, ChattelReligionist: 0, RomanRevivalist: 0, AztecRevivalist: 0, EgyptianRevivalist: 0, EdoRevivalist: 0, ArabianRevivalist: 0, ChineseRevivalist: 0, Repopulationist: 0, Eugenics: 0, Hedonism: 0, IntellectualDependency: 0, SlaveProfessionalism: 0, PetiteAdmiration: 0, StatuesqueGlorification: 0
+},
+	// new corporation variables
+	newCorp: 1,
+	vanillaShareSplit: 1,
+	corpEcon: 0,
+	corpCashDividend: 0,
+	corpExpandToken: 0,
+	corpSpec: 0,
+	corpSpecToken: 0,
+	corpDivExtra: 0,
+	corpDivLegal: 0,
+	corpDivBreak: 0,
+	corpDivSurgery: 0,
+	corpDivTrain: 0,
+	corpDivArcade: 0,
+	corpDivMenial: 0,
+	corpDivDairy: 0,
+	corpDivWhore: 0,
+	corpDivExtraDev: 0,
+	corpDivLegalDev: 0,
+	corpDivBreakDev: 0,
+	corpDivSurgeryDev: 0,
+	corpDivTrainDev: 0,
+	corpDivArcadeDev: 0,
+	corpDivMenialDev: 0,
+	corpDivDairyDev: 0,
+	corpDivWhoreDev: 0,
+	corpSpecRaces: [],
+	corpAnnounced: 0,
+	corpIncorporated: 0,
+	corpMarket: 0,
+	// Slave sexual services and goods variables
+	publicFuckdolls: 0,
+	classSatisfied: {
+		lowerClass: 0,
+		middleClass: 0,
+		upperClass: 0,
+		topClass: 0
+	},
+	whoreBudget: {
+		lowerClass: 7,
+		middleClass: 40,
+		upperClass: 200,
+		topClass: 1500
+	},
+	arcadePrice: 2,
+	clubSlaveSexAmount: 0,
+	shelterSlave: 0,
+	shelterSlaveBought: 0,
+	shelterAbuse: 0,
+	shelterSlaveGeneratedWeek: 0,
+	// alternate clothing access variables
+	clothesBoughtBunny: 0,
+	clothesBoughtConservative: 0,
+	clothesBoughtChains: 0,
+	clothesBoughtWestern: 0,
+	clothesBoughtOil: 0,
+	clothesBoughtHabit: 0,
+	clothesBoughtToga: 0,
+	clothesBoughtHuipil: 0,
+	clothesBoughtKimono: 0,
+	clothesBoughtHarem: 0,
+	clothesBoughtQipao: 0,
+	clothesBoughtEgypt: 0,
+	clothesBoughtBelly: 0,
+	clothesBoughtMaternityDress: 0,
+	clothesBoughtMaternityLingerie: 0,
+	clothesBoughtLazyClothes: 0,
+	clothesBoughtBimbo: 0,
+	clothesBoughtCourtesan: 0,
+	shoesBoughtHeels: 0,
+	clothesBoughtPetite: 0,
+	// non-fs
+	clothesBoughtMilitary: 0,
+	clothesBoughtCultural: 0,
+	clothesBoughtMiddleEastern: 0,
+	clothesBoughtPol: 0,
+	clothesBoughtCostume: 0,
+	clothesBoughtPantsu: 0,
+	clothesBoughtCareer: 0,
+	clothesBoughtDresses: 0,
+	clothesBoughtBodysuits: 0,
+	clothesBoughtCasual: 0,
+	clothesBoughtUnderwear: 0,
+	clothesBoughtSports: 0,
+	clothesBoughtPony: 0,
+	clothesBoughtSwimwear: 0,
+	toysBoughtDildos: 0,
+	toysBoughtGags: 0,
+	toysBoughtVaginalAttachments: 0,
+	toysBoughtButtPlugs: 0,
+	toysBoughtButtPlugTails: 0,
+	toysBoughtSmartVibes: 0,
+	buckets: 0,
+	// pregmod variables
+	specialSlavesPriceOverride: 0,
+	pregAccessibility: 0,
+	dickAccessibility: 0,
+	ballsAccessibility: 0,
+	buttAccessibility: 0,
+	ageMode: 0,
+	enema: 0,
+	medicalEnema: 0,
+	dairyPiping: 0,
+	inflatedSlavesMilk: 0,
+	inflatedSlavesCum: 0,
+	milkPipeline: 0,
+	cumPipeline: 0,
+	wcPiping: 0,
+	burstee: 0,
+	slaveDeath: 0,
+	clinicInflateBelly: 0,
+	playerBred: 0,
+	propOutcome: 0,
+	EliteSires: ["crazy", "futa", "moves", "preggo", "quick", "virgin"],
+	startingPoint: -1,
+	PhysicalRetirementAgePolicy: 0,
+	raped: -1,
+	children: [],
+	missingParentID: -10000,
+	startingSlaveRelative: 0,
+	mom: 0,
+	// animalParts: 0,
+	originOveride: 0,
+	playerAging: 2,
+	pregSpeedControl: 0,
+	clinicSpeedGestation: 0,
+	playerSurgery: 0,
+	playerGetsMilked: 0,
+	bodyswapAnnounced: 0,
+	surnamesForbidden: 0,
+	menstruation: 0,
+	FCTVcount: 0,
+	FCTVrate: 4,
+	FCTVreceiver: 0,
+	receiverAvailable: 0,
+	FCTVshow: 0,
+	FCTVremote: 0,
+	lastShow: 0,
+	randShow: 0,
+	FCNNstation: 0,
+	MercenariesMessageSent: 0,
+	SpecialForcesMessageSent: 0,
+	BodyguardHasSucessfullyRecivedSignal: 0,
+	finalChoice: "none",
+	eliteTotal: 12,
+	eliteDead: 0,
+	eliteVegetable: 0,
+	eliteFate: 0,
+	swanSong: 0,
+	failedElite: 0,
+	eugenicsFullControl: 0,
+	badC: 0,
+	badB: 0,
+	schoolSuggestion: 0,
+	TSS: {
+		schoolUpgrade: 0,
+		schoolPresent: 0,
+		schoolProsperity: 0,
+		subsidize: 0,
+		schoolAnnexed: 0,
+		studentsBought: 0,
+		schoolSale: 0
+	},
+	GRI: {
+		schoolUpgrade: 0,
+		schoolPresent: 0,
+		schoolProsperity: 0,
+		subsidize: 0,
+		schoolAnnexed: 0,
+		studentsBought: 0,
+		schoolSale: 0
+	},
+	SCP: {
+		schoolUpgrade: 0,
+		schoolPresent: 0,
+		schoolProsperity: 0,
+		subsidize: 0,
+		schoolAnnexed: 0,
+		studentsBought: 0,
+		schoolSale: 0
+	},
+	LDE: {
+		schoolUpgrade: 0,
+		schoolPresent: 0,
+		schoolProsperity: 0,
+		subsidize: 0,
+		schoolAnnexed: 0,
+		studentsBought: 0,
+		schoolSale: 0
+	},
+	TGA: {
+		schoolUpgrade: 0,
+		schoolPresent: 0,
+		schoolProsperity: 0,
+		subsidize: 0,
+		schoolAnnexed: 0,
+		studentsBought: 0,
+		schoolSale: 0
+	},
+	TCR: {
+		schoolUpgrade: 0,
+		schoolPresent: 0,
+		schoolProsperity: 0,
+		subsidize: 0,
+		schoolAnnexed: 0,
+		studentsBought: 0,
+		schoolSale: 0
+	},
+	TFS: {
+		schoolUpgrade: 0,
+		schoolPresent: 0,
+		schoolProsperity: 0,
+		subsidize: 0,
+		schoolAnnexed: 0,
+		studentsBought: 0,
+		schoolSale: 0
+	},
+	futaAddiction: 0,
+	HA: {
+		schoolUpgrade: 0,
+		schoolPresent: 0,
+		schoolProsperity: 0,
+		subsidize: 0,
+		schoolAnnexed: 0,
+		studentsBought: 0,
+		schoolSale: 0
+	},
+	NUL: {
+		schoolUpgrade: 0,
+		schoolPresent: 0,
+		schoolProsperity: 0,
+		subsidize: 0,
+		schoolAnnexed: 0,
+		studentsBought: 0,
+		schoolSale: 0
+	},
+	IDNumber: 1,
+	nIDNumber: 1, // tracks children in the nursery
+	week: 1,
+	weddingPlanned: 0,
+	personalAttention: "sex",
+	HeadGirl: 0,
+	HGTimeInGrade: 0,
+	HGEnergy: 0,
+	HGCum: 0,
+	Recruiter: 0,
+	recruiterTarget: "desperate whores",
+	recruiterProgress: 0,
+	recruiterIdleRule: "number",
+	recruiterIdleNumber: 20,
+	recruiterIOUs: 0,
+	bodyguardTrains: 1,
+	Bodyguard: 0,
+	Madam: 0,
+	DJ: 0,
+	Milkmaid: 0,
+	milkmaidImpregnates: 0,
+	Farmer: 0,
+	Collectrix: 0,
+	Stewardess: 0,
+	stewardessImpregnates: 0,
+	Schoolteacher: 0,
+	Attendant: 0,
+	Matron: 0,
+	Nurse: 0,
+	Wardeness: 0,
+	Concubine: 0,
+	economicUncertainty: 10,
+	justiceEvents: ["slave deal", "slave training", "majority deal", "indenture deal", "virginity deal", "breeding deal"],
+	// not in setupVars because we remove events from this array as they occur
+	prisonCircuit: ["low tier criminals", "gangs and smugglers", "white collar", "military prison"],
+	prisonCircuitIndex: 0,
+	fixedNationality: 0,
+	fixedRace: 0,
+	ui: "start",
+	tooltipsEnabled: 1,
+	brandTarget: {primary: "buttock", secondary: "buttock", local: "buttock"},
+	brandDesign: {primary: "your initials", official: "your initials", local: "your initials"},
+	scarTarget: {primary: "left cheek", secondary: "left cheek", local: "left cheek"},
+	scarDesign: {primary: "generic", local: "generic"},
+	oralTotal: 0,
+	vaginalTotal: 0,
+	analTotal: 0,
+	mammaryTotal: 0,
+	penetrativeTotal: 0,
+	milkTotal: 0,
+	cumTotal: 0,
+	foodTotal: 0,
+	birthsTotal: 0,
+	pitKillsTotal: 0,
+	collaboration: 0,
+	traitor: 0,
+	traitorType: 0,
+	traitorWeeks: 0,
+	hackerSupport: 0,
+	hostage: 0,
+	hostageAnnounced: 0,
+	hostageRescued: 0,
+	hostageGiveIn: 0,
+	rivalSet: 0,
+	rivalryFS: 0,
+	rivalryFSAdopted: 0,
+	rivalryFSRace: 0,
+	rivalOwner: 0,
+	rivalOwnerEnslaved: 0,
+	rivalryPower: 0,
+	rivalryDuration: 0,
+	rivalRace: 0,
+	rivalGender: 0,
+	nationHate: 0,
+	slaveMedic: 0,
+	PShoot: 0,
+	PSnatch: 0,
+	PRaid: 0,
+	PAid: 0,
+	PPit: 0,
+	dispensary: 0,
+	dispensaryUpgrade: 0,
+	organFarmUpgrade: 0,
+	completedOrgans: [],
+	ImplantProductionUpgrade: 0,
+	permaPregImplant: 0,
+	injectionUpgrade: 0,
+	hormoneUpgradeMood: 0,
+	hormoneUpgradeShrinkage: 0,
+	hormoneUpgradePower: 0,
+	pubertyHormones: 0,
+	dietXXY: 0,
+	dietCleanse: 0,
+	cumProDiet: 0,
+	dietFertility: 0,
+	curativeUpgrade: 0,
+	growthStim: 0,
+	reproductionFormula: 0,
+	aphrodisiacUpgrade: 0,
+	aphrodisiacUpgradeRefine: 0,
+	healthyDrugsUpgrade: 0,
+	superFertilityDrugs: 0,
+	bellyImplants: 0,
+	cervixImplants: 0,
+	meshImplants: 0,
+	prostateImplants: 0,
+	youngerOvaries: 0,
+	sympatheticOvaries: 0,
+	fertilityImplant: 0,
+	asexualReproduction: 0,
+	animalOvaries: 0,
+	// {} currently unused
+	animalTesticles: 0,
+	// {} currently unused
+	animalMpreg: 0,
+	// {} currently unused
+	geneticMappingUpgrade: 0,
+	pregnancyMonitoringUpgrade: 0,
+	cloningSystem: 0,
+	geneticFlawLibrary: 0,
+	surgeryUpgrade: 0,
+	barracks: 0,
+	mercenaries: 0,
+	mercenariesHelpCorp: 0,
+	personalArms: 0,
+	saleDescription: 0,
+	gingering: 0,
+	beforeGingering: 0,
+	gingeringDetected: 0,
+	gingeringDetection: 0,
+	surgeryDescription: 0,
+	encyclopedia: "How to Play",
+	showEncyclopedia: 1,
+	trinkets: [],
+	SPcost: 1000,
+	debtWarned: 0,
+	internationalTrade: 1,
+	internationalVariety: 0,
+	slaveCostFactor: 0.95,
+	menialDemandFactor: 0,
+	menialSupplyFactor: 0,
+	demandTimer: 0,
+	supplyTimer: 0,
+	elapsedDemandTimer: 0,
+	elapsedSupplyTimer: 0,
+	slaveCostRandom: 0,
+	deltaDemand: 0,
+	deltaDemandOld: 0,
+	deltaSupply: 0,
+	deltaSupplyOld: 0,
+	NPCSexSupply: {
+		lowerClass: 3000,
+		middleClass: 3000,
+		upperClass: 3000,
+		topClass: 3000
+	},
+	NPCMarketShare: {
+		lowerClass: 1000,
+		middleClass: 1000,
+		upperClass: 1000,
+		topClass: 1000
+	},
+	sexSubsidies: {
+		lowerClass: 0,
+		middleClass: 0,
+		upperClass: 0,
+		topClass: 0
+	},
+	sexSupplyBarriers: {
+		lowerClass: 0,
+		middleClass: 0,
+		upperClass: 0,
+		topClass: 0
+	},
+	minimumSlaveCost: 2500,
+	facilityCost: 100,
+	enduringRep: 1000,
+	rep: 0,
+	repLastWeek: 0,
+	arcologyUpgrade: {
+		drones: 0,
+		hydro: 0,
+		apron: 0,
+		grid: 0,
+		spire: 0
+	},
+	AGrowth: 2,
+	ACitizens: 4250,
+	lowerClass: 3120,
+	LSCBase: 800,
+	visitors: 0,
+	rentDefaults: {
+		lowerClass: 20,
+		middleClass: 50,
+		upperClass: 180,
+		topClass: 650
+	},
+	rent: {
+		lowerClass: 20,
+		middleClass: 50,
+		upperClass: 180,
+		topClass: 650
+	},
+	rentEffectL: 1,
+	middleClass: 890,
+	MCBase: 200,
+	rentEffectM: 1,
+	upperClass: 200,
+	UCBase: 40,
+	rentEffectU: 1,
+	topClass: 40,
+	TCBase: 20,
+	rentEffectT: 1,
+	GDP: 278.6,
+	NPCSlaves: 900,
+	ASlaves: 900,
+	AProsperityCap: 0,
+	food: 50000,
+	foodLastWeek: 0,
+	foodProduced: 0,
+	foodStored: 0,
+	foodCost: 25,
+	foodMarket: 0,
+	foodRate: {
+		slave: 2,
+		lower: 1.8,
+		middle: 2,
+		upper: 2.2,
+		top: 2.4
+	},
+	foodConsumption: 0, // total amount food consumed per week
+	revealFoodEffects: 0,
+	rations: 0,
+	building: {},
+	menials: 0,
+	fuckdolls: 0,
+	menialBioreactors: 0,
+	prestigeAuctioned: 0,
+	slaveMarketLimit: 20,
+	slavesSeen: 0,
+	slaveOrphanageTotal: 0,
+	citizenOrphanageTotal: 0,
+	privateOrphanageTotal: 0,
+	breederOrphanageTotal: 0,
+	alwaysSubsidizeRep: 0,
+	alwaysSubsidizeGrowth: 0,
+	ProImmigrationCash: 0,
+	ProImmigrationRep: 0,
+	AntiImmigrationCash: 0,
+	AntiImmigrationRep: 0,
+	ProEnslavementCash: 0,
+	ProEnslavementRep: 0,
+	AntiEnslavementCash: 0,
+	AntiEnslavementRep: 0,
+	BasicSMR: 1,
+	HealthInspectionSMR: 0,
+	EducationSMR: 0,
+	FrigiditySMR: 0,
+	BasicBeautySMR: 0,
+	QualityBeautySMR: 0,
+	BasicWeightSMR: 0,
+	BasicIntelligenceSMR: 0,
+	QualityIntelligenceSMR: 0,
+	BasicHeightSMR: 0,
+	AdvancedHeightSMR: 0,
+	IntelligenceEugenicsSMR: 0,
+	HeightEugenicsSMR: 0,
+	FaceEugenicsSMR: 0,
+	HonestySMR: 0,
+	ProRefugees: 0,
+	ProRecruitment: 0,
+	OralEncouragement: 0,
+	VaginalEncouragement: 0,
+	AnalEncouragement: 0,
+	OralDiscouragement: 0,
+	VaginalDiscouragement: 0,
+	AnalDiscouragement: 0,
+	CashForRep: 0,
+	RepForCash: 0,
+	Cash4Babies: 0,
+	RegularParties: 0,
+	PAPublic: 0,
+	CoursingAssociation: 0,
+	Lurcher: 0,
+	coursed: 0,
+	RaidingMercenaries: 0,
+	raided: 0,
+	MixedMarriage: 0,
+	CulturalOpenness: 0,
+	goodImageCampaign: 0,
+	sexualOpeness: 0,
+	policyCost: 5000,
+	expiree: 0,
+	retiree: 0,
+	birthee: 0,
+	CustomRetirementAgePolicy: 0,
+	BioreactorRetirement: 0,
+	ArcadeRetirement: 0,
+	CitizenRetirement: 0,
+	citizenRetirementMenials: 0,
+	citizenRetirementTrigger: 0,
+	FSSupLawTrigger: 0,
+	FSSubLawTrigger: 0,
+	SexMilestoneRetirement: 0,
+	MilkMilestoneRetirement: 0,
+	CumMilestoneRetirement: 0,
+	BirthsMilestoneRetirement: 0,
+	KillsMilestoneRetirement: 0,
+	retirementSex: 10000,
+	retirementMilk: 50000,
+	retirementCum: 500000,
+	retirementBirths: 5,
+	retirementKills: 3,
+	nicaea: 0,
+	nicaeaAnnounceable: 0,
+	nicaeaAnnounced: 0,
+	nicaeaPreparation: 0,
+	nicaeaInvolvement: -2,
+	nicaeaPower: 0,
+	nicaeaHeld: 0,
+	peacekeepers: 0,
+	peacekeepersFate: 0,
+	mercRomeo: 0,
+	oralUseWeight: 5,
+	vaginalUseWeight: 5,
+	analUseWeight: 5,
+	childProtectionAct: 1,
+	niceWeather: [],
+	lightWeather: [],
+	heavyWeather: [],
+	extremeWeather: [],
+	weatherToday: {},
+	customSlaveOrdered: 0,
+	// I am not a slave object! Do not treat me like one!
+	customSlave: {},
+	huskSlaveOrdered: 0,
+	huskSlave: {},
+	// non-vanilla shit
+	// eslint-disable-next-line camelcase
+	one_time_age_overrides_pedo_mode: 0,
+	activeSlaveOneTimeMinAge: 0,
+	activeSlaveOneTimeMaxAge: 999,
+	oneTimeDisableDisability: 0,
+	targetAge: 18,
+	pubertyLength: 5,
+	maxGrowthAge: 24,
+	// Job Fulfillment Center
+	JFCOrder: 0,
+	Role: "",
+	cheatMode: 0,
+	cheatModeM: 1,
+	experimental: {
+		nursery: 0,
+		food: 0,
+		animalOvaries: 0,
+		dinnerParty: 0
+	},
+	NaNArray: [],
+	fcnn: [
+		"...coming up at the top of the hour: Catgirl slaves, science fact or science fiction...",
+		"...coming up at the top of the hour: Malnockestivi Smith, Free Cities' first MtFtMtFtH transgendered person...",
+		"...new arcology construction up 23% worldwide this year, according to...",
+		"...United States Congress spends 1,264th consecutive day gridlocked over post office...",
+		"...coming up at the top of the hour: Arcology owners: oversexed oligarchs or attractive, oversexed oligarchs?...",
+		"...coming up at the top of the hour: Anal sex: not just for sex any more...",
+		"...coming up at the top of the hour: Oral sex: the new hello...",
+		"...new book by prominent feminist suggests that women should not be used as sexual appliances...",
+		"...just ahead, interview with Desha Moore, prominent advocate for compulsory female enslavement...",
+		"...just ahead, Slave Market Trends: will the pierced anus be in again this year...",
+		"...just ahead, Slave Market Trends: upstart slave trainers avoid implants...",
+		"...implant technology firm BusTech notches successful initial public offering...",
+		"...the upcoming shortage of authentic leather and what it means for the whip industry...",
+		"...dairy conglomerate Creem Inc. denies allegations of adulterating breast milk with...",
+		"...two-time award-winning actress Linda Loveless debuted new implants on the red carpet this...",
+		"...dick size: are your slaves lying to you when they tell you you're too big...",
+		"...just ahead, slave expert's opinion on best shemale slaves to use for double penetration...",
+		"...Free Cities social conservatives criticize marriage, say your slaves should be enough...",
+		"...councilman Taggart suggested in a public address that involuntary enslavement...",
+		"...councilman Taggart denies allegations that he has remained faithful to his wife...",
+		"...councilman Taggart presented evidence that regulation of the sex slave market would...",
+		"...after a word from our sponsors. Creem Inc.: for all your dairy needs...",
+		"...after a word from our sponsors. Horstmann Ltd, Free Cities' finest whipmakers...",
+		"...after a word from our sponsors. Coming soon to theaters, Quintuple, the musical...",
+		"...critical of low-end slave training corporation Wallerson & Sons for practices that they say...",
+		"...training corporation Wallerson & Sons called a study on slave illness rates 'ludicrous,' but...",
+		"...our tech correspondent: the possibilities of virally-administered gene therapy...",
+		"...our tech correspondent: breakthrough in in-vitro drug treatments that promise to...",
+		"...our tech correspondent: next year to see release of two competing aphrodisiacs...",
+		"...our tech correspondent: the coming permanent aphrodisiac implants, and what they mean...",
+		"...Sex Slaves in Space: what it takes to keep a mining crew happy for an 18-month contract...",
+		"...the implant-drug balance: how much tissue growth is necessary to support larger...",
+		"...the actress stated that the cut to full nudity in the script violated contractual...",
+		"...doping scandal as Slave Games watchdog alleges champion used internal reservoir of lube...",
+		"...next on Extreme Surgery: the mouthpussy experimenters and what they...",
+		"...'A hole's a hole,' said CEO of upstart budget glory hole franchise...",
+		"...underground slave pit fights step into the light this evening as...",
+		"...underground slave pit fight champion, freed yesterday, sells herself back into...",
+		"...with the lead designer of the MP17, the new machine pistol marketed specifically for bodyguards...",
+		"...the new Aegis drone series: because your arcology's security is your most important possession...",
+		"...the BAe Goshawk: because you deserve to travel at twice the speed of sound in the finest style...",
+		"...this year's Goat.cx award for outstanding orifice innovation goes to...",
+		"...public controversy over cannibalism. Decadence taken too far or an acceptable next step...",
+		"...sixth day of street cleaners' strike. Spokesman for the strikers: 'It's getting too nasty...",
+		"...debuts new book, 'So Long, And Thanks For All The Dicks', in which the recently retired sex slaves tell-all about...",
+		"...cure for lactose intolerance, for which he was awarded the International Association of Pastoralist...",
+		"...from the Free Cities have become increasingly common clientele for the black market...",
+		"...a risky gamble on the three-hour-long hardcore sex scene, but the box office figures for just...",
+	],
+	// HACKY EVENT WORKAROUNDS
+	eventID: -1,
+	// INCORPORATED MODS
+	SF: {},
+	// Misc mod variables
+	recruiterEugenics: 0,
+	AgeEffectOnTrainerPricingPC: 1,
+	AgeEffectOnTrainerEffectivenessPC: 1,
+	AgeTrainingUpperBoundPC: 14,
+	AgeTrainingLowerBoundPC: 12,
+	IsInPrimePC: 3,
+	IsPastPrimePC: 5000,
+	prostheticsUpgrade: 0,
+	adjustProstheticsCompleted: 0,
+	adjustProsthetics: [],
+	researchLab: {
+		aiModule: 1,
+		tasks: [],
+		maxSpace: 0,
+		hired: 0,
+		menials: 0,
+	},
+	prosthetics: {},
+	merchantFSWares: ["AssetExpansionistResearch", "GenderRadicalistResearch", "HedonisticDecadenceResearch", "SlaveProfessionalismResearch", "SlimnessEnthusiastResearch", "TransformationFetishistResearch", "YouthPreferentialistResearch"],
+	merchantIllegalWares: ["asexualReproduction", "childhoodFertilityInducedNCS", "PGHack", "RapidCellGrowthFormula", "sympatheticOvaries", "UterineRestraintMesh"],
+	// "AnimalOrgans" for future use
+	RapidCellGrowthFormula: 0,
+	UterineRestraintMesh: 0,
+	PGHack: 0,
+	diversePronouns: 0,
+	// Security Expansion
+	wasToggledBefore: 0,
+	// moved first build to post toggle
+	secExpEnabled: 0,
+	// Career-skill gain
+	masteredXP: 200,
+	// Weather effect on economy
+	antiWeatherFreeze: 0,
+	econWeatherDamage: 0,
+	disasterResponse: 0,
+	postSexCleanUp: 1,
+	sideBarOptions: {
+		compact: 1,
+		Cash: 1,
+		Upkeep: 1,
+		SexSlaveCount: 1,
+		roomPop: 1,
+		Rep: 1,
+		GSP: 1,
+		Authority: 1,
+		Security: 1,
+		Crime: 1
+	},
+	DefaultBirthDestination: "individually decided fates",
+	abbreviateHormoneBalance: 2,
+	// END OLD INIT VARIABLES SECTION, after this, variables were being created in other places in the game
+
+	shelterGirlsIDs: [], // Only needed in endweek loop
+	AProsperityCapModified: 0,
+	PCTitle: "",
+	Sweatshops: 0,
+	thisWeeksFSWares: 0,
+	thisWeeksIllegalWares: 0,
+	milkTap: 0,
+	corpSpecTimer: 0,
+	debugModeCustomFunction: 0,
+	active: 0,
+	recuriterOffice: 0,
+	campaign: 0,
+	miniTruth: 0,
+	secretService: 0,
+	fakeNews: 0,
+	controlLeaks: 0,
+	marketInfiltration: 0,
+	blackOps: 0,
+	focus: "social engineering",
+
+	militiaRecruitmen: 0,
+	corpSpecCosmetics: 0,
+	rivalID: 0,
+	eventDescription: 0,
+	eliteAuctioned: 0,
+	slavesSacrificedThisWeek: 0,
+	subSlaves: 0,
+
+	PopCap: 0,
+	masturbationAllowed: 0,
+	HGtraining: "",
+	mercenariesTitle: "",
+	milk: 0,
+	cum: 0,
+	hormones: 0,
+	milkSale: 0,
+	FSReminder: 0,
+	facility: {},
+	boomerangStats: {},
+	FSNonconformist: "",
+	econAdvantage: 0,
+	attackType: "none",
+	attackThisWeek: 0,
+	lastAttackWeeks: 0,
+	lastRebellionWeeks: 0,
+	hasFoughtOnce: 0,
+	hasFoughtMajorBattleOnce: 0,
+	hasRebelledOnce: 0,
+	majorBattle: 0,
+	PCvictoryStreak: 0,
+	PClossStreak: 0,
+	foughtThisWeek: 0,
+
+	/* edicts */
+	alternativeRents: 0,
+	enslavementRights: 0,
+	securityExemption: 0,
+	sellData: 0,
+	propCampaignBoost: 0,
+	slaveWatch: 0,
+	subsidyChurch: 0,
+	limitImmigration: 0,
+	openBorders: 0,
+	slavesOfficers: 0,
+	martialSchool: 0,
+	discountMercenaries: 0,
+	militiaFounded: 0,
+	recruitVolunteers: 0,
+	conscription: 0,
+	militaryService: 0,
+	militarizedSociety: 0,
+	militaryExemption: 0,
+	lowerRquirements: 0,
+	noSubhumansInArmy: 0,
+	pregExemption: 0,
+	eliteOfficers: 0,
+	liveTargets: 0,
+	legionTradition: 0,
+	eagleWarriors: 0,
+	ronin: 0,
+	sunTzu: 0,
+	mamluks: 0,
+	pharaonTradition: 0,
+	weaponsLaw: 3,
+	soldierWages: 1,
+	militiaSoldierPrivilege: 0,
+	slaveSoldierPrivilege: 0,
+	mercSoldierPrivilege: 0,
+	tradeLegalAid: 0,
+	taxTrade: 0,
+
+	/* buildings */
+	secHQ: 0,
+	secMenials: 0,
+	secUpgrades: {},
+	crimeUpgrades: {},
+	intelUpgrades: {},
+	readinessUpgrades: {},
+	riotCenter: 0,
+	riotUpgrades: {},
+	fort: {},
+	sentUnitCooldown: 0,
+	advancedRiotEquip: 0,
+	brainImplant: -1,
+	brainImplantProject: 0,
+	weapMenials: 0,
+	weapManu: 0,
+	weapProductivity: 1,
+	weapLab: 1,
+	baseUpgradeTime: 10,
+	weapUpgrades: [],
+	currentUpgrade: {},
+	droneUpgrades: {},
+	humanUpgrade: {},
+	sellTo: {},
+	completedUpgrades: [],
+	transportHub: 0,
+	airport: 1,
+	railway: 1,
+	docks: 1,
+	hubSecurity: 1,
+
+	/* events */
+	smilingManProgress: 0,
+	investedFunds: 0,
+	relationshipLM: 0,
+	captureRoute: 0,
+	collaborationRoute: 0,
+	smilingManWeek: 0,
+	globalCrisisWeeks: 0,
+	smilingManFate: 4,
+
+	/* rebellions */
+	tension: 0,
+	slaveProgress: 0,
+	citizenProgress: 0,
+	slaveRebellionEventFires: 0,
+	citizenRebellionEventFires: 0,
+	slaveRebellion: 0,
+	citizenRebellion: 0,
+	rebellingUnits: [],
+	engageRule: 0,
+	irregulars: 0,
+	rebellingMilitia: 0,
+	rebellingSlaves: 0,
+	rebellingMercs: 0,
+	repairTime: 3,
+	arcRepairTime: 0,
+	garrison: {},
+	rebellionsCount: 0,
+	PCrebWon: 0,
+	PCrebLoss: 0,
+
+	/* armed forces stats */
+	targetUnit: 0,
+	targetIndex: 0,
+	secBotsCost: 500,
+	secBotsUpgradeCost: 250,
+	equipUpgradeCost: 250,
+	maxTroops: 30,
+	militiaTotalManpower: 0,
+	militiaFreeManpower: 0,
+	militiaEmployedManpower: 0,
+	militiaTotalCasualties: 0,
+	slavesEmployedManpower: 0,
+	slavesTotalCasualties: 0,
+	slavesMaxTroops: 30,
+	mercTotalManpower: 0,
+	mercFreeManpower: 0,
+	mercEmployedManpower: 0,
+	mercTotalCasualties: 0,
+	militiaLoyalty: 0,
+	slaveArmyLoyalty: 0,
+	mercLoyalty: 0,
+	createdSlavesUnits: 0,
+	createdMilitiaUnits: 0,
+	createdMercUnits: 0,
+
+	/* battle relevant vars */
+	slaveVictories: [],
+	slaveIncreasedPrestige: 0,
+	totalKills: 0,
+	battlesCount: 0,
+	majorBattlesCount: 0,
+	chosenTactic: "none",
+	leadingTroops: "none",
+	attackTroops: 0,
+	attackEquip: 0,
+	battleTerrain: "none",
+	maxTurns: 10,
+	battleResult: 4,
+	/* sets battleResult value outside accepted range (-3,3) to avoid evaluation problems */
+	losses: 0,
+	enemyLosses: 0,
+	battleTurns: 0,
+	tacticsSuccessful: 0,
+	leaderWounded: 0,
+	/* 0=no wound, 1=mute, 2=blind, 3=amputee, 4=health */
+	gainedCombat: 0,
+	gainedWarfare: 0,
+	expectedEquip: 0,
+	estimatedMen: 0,
+	SFIntervention: 0,
+	carriableSoldiers: 0,
+	SFatk: 0,
+	SFdef: 0,
+	SFhp: 0,
+	rebellingID: [],
+	saveValid: 0,
+	lastSelection: [],
+
+	/* statistics */
+	equipMod: 0.15,
+	secBotsBaseAttack: 7,
+	secBotsBaseDefense: 3,
+	secBotsMorale: 200,
+	secBotsBaseHp: 3,
+	militiaBaseAttack: 0,
+	militiaBaseDefense: 0,
+	militiaBaseMorale: 0,
+	militiaBaseHp: 0,
+	slaveBaseAttack: 0,
+	slaveBaseDefense: 0,
+	slaveBaseMorale: 0,
+	slaveBaseHp: 0,
+	mercBaseAttack: 0,
+	mercBaseDefense: 0,
+	mercBaseMorale: 0,
+	mercBaseHp: 0,
+	SFBaseAttack: 0,
+	SFBaseDefense: 0,
+	SFBaseMorale: 0,
+	SFBaseHp: 0,
+
+	raBaseAttack: 7,
+	raBaseDefense: 2,
+	raBaseMorale: 100,
+	raBaseHp: 2,
+	fcBaseAttack: 6,
+	fcBaseDefense: 4,
+	fcBaseMorale: 130,
+	fcBaseHp: 3,
+	owBaseAttack: 8,
+	owBaseDefense: 4,
+	owBaseMorale: 110,
+	owBaseHp: 2,
+	ffBaseAttack: 9,
+	ffBaseDefense: 2,
+	ffBaseMorale: 160,
+	ffBaseHp: 2,
+
+	/* units */
+	secBots: {},
+
+	militiaUnits: [],
+	slaveUnits: [],
+	mercUnits: [],
+
+	/* SFanon additions */
+	SFSupportLevel: 0,
+	SFGear: 0,
+	SavedLeader: 0,
+	SavedSFI: 0,
+
+	/* base vars */
+	secExp: {},
+	PCvictories: 0,
+	PClosses: 0,
+
+	/* buildings */
+	woundType: 0,
+	/* 0:no wound, 1:mute, 2:blind, 3:amputee, 4<:health */
+
+	showOne: 0,
+	showTwo: 0,
+	showThree: 0,
+	showFour: 0,
+	showFive: 0,
+	showSix: 0,
+	showSeven: 0,
+	showEight: 0,
+	showNine: 0,
+	showTen: 0,
+	showEleven: 0,
+	showTwelve: 0,
+	showThirteen: 0,
+	showFourteen: 0,
+	showFifteen: 0,
+	showSixteen: 0,
+	reminderEntry: "",
+	reminderWeek: "",
+	lastWeeksCashIncome: {},
+	lastWeeksCashExpenses: {},
+	lastWeeksCashProfits: {},
+	lastWeeksRepIncome: {},
+	lastWeeksRepExpenses: {},
+	lastWeeksRepProfits: {},
+	currentRule: {},
+	costs: 0,
+	seeBuilding: 0,
+	slaveOneTimeMinAge: 0,
+	slaveOneTimeMaxAge: 0,
+	FCTVenable: 0,
+	purchasedSagBGone: 0,
+	eliteFail: 0,
+	eliteFailTimer: 0,
+	nurseryGrowthStimsSetting: 0,
+	MadamIgnoresFlaws: 0,
+	farmyardBreeding: 0,
+	farmyardShows: 0,
+	DJignoresFlaws: 0,
+	slaveFightingBG: 0,
+	SecExp: {},
+	childSex: 0,
+	HGSlaveSuccess: 0,
+	unMadam: 0,
+	madamCashBonus: 0,
+	whorePriceAdjustment: {},
+	unDJ: 0,
+	DJRepBonus: 0,
+	fuckSlaves: 0,
+	freeSexualEnergy: 0,
+	publicServants: 0,
+	averageDick: 0,
+	slavesWithWorkingDicks: 0,
+	slaveJobValues: {},
+
+	FSSlaveProfLawTrigger: 0,
+
+	fluid: 0,
+	cumSale: 0,
+	showClothingErection: true,
+	revivalistLanguage: 0,
+	corpOpCost: 0,
+	corpNeighborBonus: 0,
+	corpOverhead: 0,
+	corpEconBonus: 0,
+	corpNeighborBonusOld: 0,
+	corpEconBonusOld: 0,
+	corpEconOld: 0,
+	assistant: {},
+	localEcon: 0,
+	econRate: 0,
+	drugsCost: 0,
+	rulesCost: 0,
+	modCost: 0,
+	surgeryCost: 0,
+	arcologies: [],
+	leaders: [],
+	HackingSkillMultiplier: 0,
+	upgradeMultiplierArcology: 0,
+	upgradeMultiplierMedicine: 0,
+	upgradeMultiplierTrade: 0,
+	nationalities: {},
+	heroSlaves: [],
+	baseHeroSlave: {},
+	JobIDArray: {},
+	averageTrust: 0,
+	averageDevotion: 0,
+	enduringTrust: 0,
+	enduringDevotion: 0,
+	defaultRules: [],
+};
+
+App.Data.ignoreGameStateVariables = [
+	// pronouns
+	"Mothers",
+	"mothers",
+	"Fathers",
+	"Husbands",
+	"Husband",
+	"Brother",
+	"Son",
+	"Shota",
+	"Men",
+	"Man",
+	"fathers",
+	"husbands",
+	"husband",
+	"brother",
+	"son",
+	"shota",
+	"men",
+	"man",
+	"Mother",
+	"Wives",
+	"Wife",
+	"Sister",
+	"Daughter",
+	"Loli",
+	"Women",
+	"Woman",
+	"mother",
+	"wives",
+	"wife",
+	"sister",
+	"daughter",
+	"loli",
+	"women",
+	"woman",
+	"Girl",
+	"Herself",
+	"Hers",
+	"Her",
+	"She",
+	"girl",
+	"herself",
+	"hers",
+	"her",
+	"she",
+	"Father",
+	"father",
+	"Boy",
+	"Himself",
+	"His",
+	"Him",
+	"He",
+	"boy",
+	"himself",
+	"his",
+	"him",
+	"he",
+
+	// Enunciate
+	"XEnunciate",
+	"xEnunciate",
+	"SchEnunciate",
+	"schEnunciate",
+	"ScEnunciate",
+	"scEnunciate",
+	"ShEnunciate",
+	"shEnunciate",
+	"PsEnunciate",
+	"psEnunciate",
+	"ChEnunciate",
+	"chEnunciate",
+	"zzEnunciate",
+	"ZEnunciate",
+	"zEnunciate",
+	"ccEnunciate",
+	"CEnunciate",
+	"cEnunciate",
+	"ssEnunciate",
+	"SEnunciate",
+	"sEnunciate",
+	"sayEnunciate",
+	"titleEnunciate"
+];
diff --git a/js/003-data/miscData.js b/js/003-data/miscData.js
index e1be87724bfb2c5c79cc2b7ea4e12124bbe97506..95b68abe80333c7d1db1520a455b6e117cff0422 100644
--- a/js/003-data/miscData.js
+++ b/js/003-data/miscData.js
@@ -2687,3 +2687,45 @@ App.Data.misc.nationalityPoolSelector = {
 	"Japan": App.Data.misc.asiaNationalities,
 	"Brazil": App.Data.misc.southamericaNationalities
 };
+
+App.Data.weather = {
+	nice: [
+		{name: "Sunny", severity: 1},
+		{name: "Cloudy", severity: 1},
+		{name: "Partly Cloudy", severity: 1},
+		{name: "Overcast", severity: 1},
+		{name: "Light Wind", severity: 1},
+		{name: "Clear and Calm", severity: 1},
+		{name: "Light Rain", severity: 1},
+		{name: "Heavy Rain", severity: 1},
+		{name: "Smoke warning", severity: 1},
+	],
+	light: [
+		{name: "High Winds", severity: 2},
+		{name: "Acid Rain", severity: 2},
+		{name: "T-Storm Warning", severity: 2},
+		{name: "Flood Warning", severity: 2},
+		{name: "Tornado Warning", severity: 2},
+		{name: "Light Sandstorm", severity: 2},
+		{name: "High Heat", severity: 2},
+		{name: "Smoky", severity: 2},
+	],
+	heavy: [
+		{name: "Extreme Winds", severity: 3},
+		{name: "Heavy Acid Rain", severity: 3},
+		{name: "Extreme T-storm", severity: 3},
+		{name: "Flooding", severity: 3},
+		{name: "Tornadoes", severity: 3},
+		{name: "Sandstorm", severity: 3},
+		{name: "Extreme Heat", severity: 3},
+		{name: "Dense Smoke", severity: 3},
+	],
+	extreme: [
+		{name: "Solar Flare", severity: 4},
+		{name: "Ion Storm", severity: 4},
+		{name: "Cataclysmic Rains", severity: 4},
+		{name: "Cat 6 Hurricane", severity: 4},
+		{name: "Abrasive Sandstorm", severity: 4},
+		{name: "Radiological Warning", severity: 4},
+	]
+};
diff --git a/src/SecExp/js/secExp.js b/src/SecExp/js/secExp.js
index d0a9c9dcef3f32c12ee18a24d3780eaace9fb697..a3756be10c6b925f885cb70116b0964f739b1aaf 100644
--- a/src/SecExp/js/secExp.js
+++ b/src/SecExp/js/secExp.js
@@ -401,7 +401,6 @@ App.SecExp.Check = (function() {
 		V.SecExp.settings.show = V.SecExp.settings.show || 0;
 		if (jsDef(V.showSecExp)) {
 			V.SecExp.settings.show = V.showSecExp;
-			delete V.showSecExp;
 		}
 
 		if (passage() === "init" || passage() === "New Game Plus") {
@@ -431,38 +430,32 @@ App.SecExp.Check = (function() {
 			}
 			if (jsDef(V.trade)) {
 				V.SecExp.core.trade = V.trade;
-				delete V.trade;
 			}
 
 			V.SecExp.core.authority = V.SecExp.core.authority || 0;
 			if (jsDef(V.authority)) {
 				V.SecExp.core.authority = V.authority;
-				delete V.authority;
 			}
 
 			V.SecExp.security = V.SecExp.security || {};
 			V.SecExp.security.cap = V.SecExp.security.cap || 100;
 			if (jsDef(V.security)) {
 				V.SecExp.security.cap = V.security;
-				delete V.security;
 			}
 			V.SecExp.core.crimeLow = V.SecExp.core.crimeLow || 30;
 			if (jsDef(V.crime)) {
 				V.SecExp.core.crimeLow = V.crime;
-				delete V.crime;
 			}
 
 			V.SecExp.settings.difficulty = V.SecExp.settings.difficulty || 1;
 			if (jsDef(V.difficulty)) {
 				V.SecExp.settings.difficulty = V.difficulty;
-				delete V.difficulty;
 			}
 
 			V.SecExp.settings.battle = V.SecExp.settings.battle || {};
 			V.SecExp.settings.battle.enabled = V.SecExp.settings.battle.enabled || 1;
 			if (jsDef(V.battlesEnabled)) {
 				V.SecExp.settings.battle.enabled = V.battlesEnabled;
-				delete V.battlesEnabled;
 			}
 			delete V.SecExp.battle;
 
@@ -470,19 +463,16 @@ App.SecExp.Check = (function() {
 			V.SecExp.settings.battle.frequency = V.SecExp.settings.battle.frequency || 1;
 			if (jsDef(V.battleFrequency)) {
 				V.SecExp.settings.battle.frequency = V.battleFrequency;
-				delete V.battleFrequency;
 			}
 			V.SecExp.settings.battle.force = V.SecExp.settings.battle.force || 0;
 			if (jsDef(V.forceBattle)) {
 				V.SecExp.settings.battle.force = V.forceBattle;
-				delete V.forceBattle;
 			}
 
 			if (jsDef(V.readiness)) {
 				if(V.readiness === 10) {
 					V.sectionInFirebase = 1;
 				}
-				delete V.readiness;
 			}
 
 			V.SecExp.settings.unitDescriptions = V.SecExp.settings.unitDescriptions || 0;
@@ -490,58 +480,48 @@ App.SecExp.Check = (function() {
 			V.SecExp.settings.battle.allowSlavePrestige = V.SecExp.settings.battle.allowSlavePrestige || 1;
 			if (jsDef(V.allowPrestigeFromBattles)) {
 				V.SecExp.settings.battle.allowSlavePrestige = V.allowPrestigeFromBattles;
-				delete V.allowPrestigeFromBattles;
 			}
 
 			V.SecExp.settings.battle.major.enabled = 0;
 			if (jsDef(V.majorBattlesEnabled)) {
 				V.SecExp.settings.battle.major.enabled = V.majorBattlesEnabled;
-				delete V.majorBattlesEnabled;
 			}
 
 			V.SecExp.settings.battle.major.gameOver = V.SecExp.settings.battle.major.gameOver || 1;
 			if (jsDef(V.majorBattleGameOver)) {
 				V.SecExp.settings.battle.major.gameOver = V.majorBattleGameOver;
-				delete V.majorBattleGameOver;
 			}
 			V.SecExp.settings.battle.major.force = V.SecExp.settings.battle.major.force || 0;
 			if (jsDef(V.forceMajorBattle)) {
 				V.SecExp.settings.battle.major.force = V.forceMajorBattle;
-				delete V.forceMajorBattle;
 			}
 
-			delete V.majorBattleMult;
 			delete V.SecExp.settings.battle.major.mult;
 
 			V.SecExp.settings.rebellion = V.SecExp.settings.rebellion || {};
 			V.SecExp.settings.rebellion.enabled = V.SecExp.settings.rebellion.enabled || 1;
 			if (jsDef(V.rebellionsEnabled)) {
 				V.SecExp.settings.rebellion.enabled = V.rebellionsEnabled;
-				delete V.rebellionsEnabled;
 			}
 
 			V.SecExp.settings.rebellion.force = V.SecExp.settings.rebellion.force || 0;
 			if (jsDef(V.forceRebellion)) {
 				V.SecExp.settings.rebellion.force = V.forceRebellion;
-				delete V.forceRebellion;
 			}
 			V.SecExp.settings.rebellion.gameOver = V.SecExp.settings.rebellion.gameOver || 1;
 			if (jsDef(V.rebellionGameOver)) {
 				V.SecExp.settings.rebellion.gameOver = V.rebellionGameOver;
-				delete V.rebellionGameOver;
 			}
 
 			V.SecExp.settings.rebellion.speed = V.SecExp.settings.rebellion.speed || 1;
 			if (jsDef(V.rebellionSpeed)) {
 				V.SecExp.settings.rebellion.speed = V.rebellionSpeed;
-				delete V.rebellionSpeed;
 			}
 
 			if (V.SecExp.settings.battle.enabled + V.SecExp.settings.rebellion.enabled > 0) {
 				V.SecExp.settings.showStats = V.SecExp.settings.showStats || 0;
 				if (jsDef(V.showBattleStatistics)) {
 					V.SecExp.settings.showStats = V.showBattleStatistics;
-					delete V.showBattleStatistics;
 				}
 			}
 
@@ -556,7 +536,7 @@ App.SecExp.Check = (function() {
 				delete V.SecExp.buildings.pr;
 			}
 			if (jsDef(V.propHub)) {
-				V.SecExp.buildings.propHub.active = V.propHub; delete V.propHub;
+				V.SecExp.buildings.propHub.active = V.propHub;
 			}
 
 			if (V.SecExp.buildings.propHub.active > 0) {
@@ -564,19 +544,16 @@ App.SecExp.Check = (function() {
 				V.SecExp.buildings.propHub.campaign = V.SecExp.buildings.propHub.campaign || 0;
 				if (jsDef(V.propCampaign)) {
 					V.SecExp.buildings.propHub.campaign = V.propCampaign;
-					delete V.propCampaign;
 				}
 
 				V.SecExp.buildings.propHub.miniTruth = V.SecExp.buildings.propHub.miniTruth || 0;
 				if (jsDef(V.miniTruth)) {
 					V.SecExp.buildings.propHub.miniTruth = V.miniTruth;
-					delete V.miniTruth;
 				}
 
 				V.SecExp.buildings.propHub.secretService = V.SecExp.buildings.propHub.secretService || 0;
 				if (jsDef(V.secretService)) {
 					V.SecExp.buildings.propHub.secretService = V.secretService;
-					delete V.secretService;
 				}
 				if (jsDef(V.SecExp.buildings.propHub.SS)) {
 					V.SecExp.buildings.propHub.secretService = V.SecExp.buildings.propHub.SS;
@@ -592,7 +569,6 @@ App.SecExp.Check = (function() {
 
 				if (jsDef(V.RecuriterOffice)) {
 					V.recuriterOffice = V.RecuriterOffice;
-					delete V.RecuriterOffice;
 				}
 				const vars = ['recuriterOffice', 'fakeNews', 'controlLeaks', 'marketInfiltration', 'blackOps'];
 				for(let i = 0; i < vars.length; i++) {
@@ -608,7 +584,7 @@ App.SecExp.Check = (function() {
 			V.SecExp.buildings.barracks = V.SecExp.buildings.barracks || {};
 			V.SecExp.buildings.barracks.active = V.SecExp.buildings.barracks.active || 0;
 			if (jsDef(V.secBarracks)) {
-				V.SecExp.buildings.barracks.active = V.secBarracks; delete V.secBarracks;
+				V.SecExp.buildings.barracks.active = V.secBarracks;
 			}
 
 			if (V.SecExp.buildings.barracks.active > 0) {
@@ -619,7 +595,6 @@ App.SecExp.Check = (function() {
 				V.SecExp.buildings.barracks.upgrades.loyaltyMod = V.SecExp.buildings.barracks.upgrades.loyaltyMod || 0;
 				if (jsDef(V.secBarracksUpgrades)) {
 					V.SecExp.buildings.barracks.upgrades = V.secBarracksUpgrades;
-					delete V.secBarracksUpgrades;
 				}
 			}
 
@@ -627,58 +602,22 @@ App.SecExp.Check = (function() {
 			V.SecExp.proclamation.cooldown = V.SecExp.proclamation.cooldown || 0;
 			if (jsDef(V.proclamationsCooldown)) {
 				V.SecExp.proclamation.cooldown = V.proclamationsCooldown;
-				delete V.proclamationsCooldown;
 			}
 			V.SecExp.proclamation.currency = V.SecExp.proclamation.currency || "";
 			if (jsDef(V.proclamationCurrency)) {
 				V.SecExp.proclamation.currency = V.proclamationCurrency;
-				delete V.proclamationCurrency;
 			}
 			V.SecExp.proclamation.type = V.SecExp.proclamation.type || "crime";
 			if (jsDef(V.proclamationType)) {
 				if (V.proclamationType !== "none") {
 					V.SecExp.proclamation.type = V.proclamationType;
 				}
-				delete V.proclamationType;
 			}
 		}
 
-		if (jsDef(V.secRestPoint)) {
-			delete V.secRestPoint;
-		}
-		if (jsDef(V.SecExp.security)) {
-			delete V.SecExp.security.low;
-		}
-		if (jsDef(V.crimeCap)) {
-			delete V.crimeCap;
-		}
 		if (jsDef(V.SecExp.core)) {
 			delete V.SecExp.core.crimeCap;
 		}
-		if (jsDef(V.recon)) {
-			delete V.recon;
-		}
-		if (jsDef(V.SecExp.battle)) {
-			delete V.SecExp.battle.recon;
-		}
-
-		delete V.battlesEnabledOceanic;
-		delete V.baseBribePerAttacker; delete V.bribeCost;
-
-		delete V.deployingBots;
-
-		delete V.reqMenials; delete V.troopCount;
-		delete V.maxUnits; delete V.deployableUnits;
-		delete V.deployedUnits; delete V.activeUnits;
-
-		delete V.upgradeUpkeep; delete V.SFSupportUpkeep;
-		delete V.secBarracksUpkeep; delete V.secHQUpkeep;
-		delete V.propHubUpkeep; delete V.riotUpkeep;
-		delete V.soldierUpkeep; delete V.edictsAuthUpkeep;
-
-		// Unsed varabiles
-		delete V.rebelDefeatAftermath;	delete V.notInvolved;
-		delete V.limitSubhumans; delete V.oldFlux;
 	} // Closes general check function.
 
 	function secRestPoint() {
diff --git a/src/SecExp/secInit.tw b/src/SecExp/secInit.tw
deleted file mode 100644
index 571892fdc6b630aee2a8bc72fdf2734a03507bc2..0000000000000000000000000000000000000000
--- a/src/SecExp/secInit.tw
+++ /dev/null
@@ -1,282 +0,0 @@
-:: secInit [nobr]
-
-/* base vars */
-<<set $SecExp = SecExpBase()>>
-<<= App.SecExp.Check.general()>>
-<<set $secExp = SecExpBase()>>
-<<set $attackType = "none">>
-<<set $attackThisWeek = 0>>
-<<set $lastAttackWeeks = 0>>
-<<set $lastRebellionWeeks = 0>>
-<<set $hasFoughtOnce = 0>>
-<<set $hasFoughtMajorBattleOnce = 0>>
-<<set $hasRebelledOnce = 0>>
-<<set $majorBattle = 0>>
-<<set $PCvictoryStreak = 0>>
-<<set $PCvictories = 0>>
-<<set $PClossStreak = 0>>
-<<set $PClosses = 0>>
-<<set $foughtThisWeek = 0>>
-
-/* edicts */
-<<set $alternativeRents = 0>>
-<<set $enslavementRights = 0>>
-<<set $securityExemption = 0>>
-<<set $sellData = 0>>
-<<set $propCampaignBoost = 0>>
-<<set $slaveWatch = 0>>
-<<set $subsidyChurch = 0>>
-<<set $limitImmigration = 0>>
-<<set $openBorders = 0>>
-<<set $slavesOfficers = 0>>
-<<set $martialSchool = 0>>
-<<set $discountMercenaries = 0>>
-<<set $militiaFounded = 0>>
-<<set $recruitVolunteers = 0>>
-<<set $conscription = 0>>
-<<set $militaryService = 0>>
-<<set $militarizedSociety = 0>>
-<<set $militaryExemption = 0>>
-<<set $lowerRquirements = 0>>
-<<set $noSubhumansInArmy = 0>>
-<<set $pregExemption = 0>>
-<<set $eliteOfficers = 0>>
-<<set $liveTargets = 0>>
-<<set $legionTradition = 0>>
-<<set $eagleWarriors = 0>>
-<<set $ronin = 0>>
-<<set $sunTzu = 0>>
-<<set $mamluks = 0>>
-<<set $pharaonTradition = 0>>
-<<set $weaponsLaw = 3>>
-<<set $soldierWages = 1>>
-<<set $militiaSoldierPrivilege = 0>>
-<<set $slaveSoldierPrivilege = 0>>
-<<set $mercSoldierPrivilege = 0>>
-<<set $tradeLegalAid = 0>>
-<<set $taxTrade = 0>>
-
-/* buildings */
-<<set $secHQ = 0>>
-<<set $secMenials = 0>>
-<<set $secUpgrades = {
-	nanoCams: 0,
-	cyberBots: 0,
-	eyeScan: 0,
-	cryptoAnalyzer: 0,
-	coldstorage: 0}>>
-<<set $crimeUpgrades = {
-	autoTrial: 0,
-	autoArchive: 0,
-	worldProfiler: 0,
-	advForensic: 0}>>
-<<set $intelUpgrades = {
-	sensors: 0,
-	radar: 0,
-	signalIntercept: 0}>>
-<<set $readinessUpgrades = {
-	earlyWarn: 0,
-	rapidPlatforms: 0,
-	pathways: 0,
-	rapidVehicles: 0}>>
-<<set $riotCenter = 0>>
-<<set $riotUpgrades = {
-	freeMedia: 0,
-	rapidUnit: 0,
-	rapidUnitSpeed: 0}>>
-<<set $fort = {
-	reactor: 0,
-	waterway: 0,
-	assistant:0}>>
-<<set $sentUnitCooldown = 0>>
-<<set $advancedRiotEquip = 0>>
-<<set $brainImplant = -1>>
-<<set $brainImplantProject = 0>>
-<<set $weapManu = 0>>
-<<set $weapMenials = 0>>
-<<set $weapProductivity = 1>>
-<<set $weapLab = 1>>
-<<set $baseUpgradeTime = 10>>
-<<set $currentUpgrade = {
-	name: " ",
-	unit: 0,
-	type: 0,
-	time: 0}>>
-<<set $droneUpgrades = {
-	attack: 0,
-	defense: 0,
-	hp:0}>>
-<<set $humanUpgrade = {
-	attack: 0,
-	defense: 0,
-	hp:0,
-	morale: 0}>>
-<<set $sellTo = {
-	citizen: 1,
-	raiders: 1,
-	oldWorld: 1,
-	FC: 1}>>
-<<set $completedUpgrades = []>>
-<<set $transportHub = 0>>
-<<set $airport = 0>>
-<<set $railway = 0>>
-<<set $docks = 0>>
-<<set $hubSecurity = 1>>
-
-/* events */
-<<set $smilingManProgress = 0>>
-<<set $investedFunds = 0>>
-<<set $relationshipLM = 0>>
-<<set $captureRoute = 0>>
-<<set $collaborationRoute = 0>>
-<<set $smilingManWeek = 0>>
-<<set $globalCrisisWeeks = 0>>
-<<set $smilingManFate = 4>>
-
-/* rebellions */
-<<set $tension = 0>>
-<<set $slaveProgress = 0>>
-<<set $citizenProgress = 0>>
-<<set $slaveRebellionEventFires = 0>>
-<<set $citizenRebellionEventFires = 0>>
-<<set $slaveRebellion = 0>>
-<<set $citizenRebellion = 0>>
-<<set $rebellingUnits = []>>
-<<set $irregulars = 0>>
-<<set $engageRule = 0>>
-<<set $rebellingMilitia = 0>>
-<<set $rebellingSlaves = 0>>
-<<set $rebellingMercs = 0>>
-<<set $repairTime = 3>>
-<<set $arcRepairTime = 0>>
-<<set $garrison = {
-	penthouse: 0,
-	reactor: 0,
-	assistant: 0,
-	waterway: 0,
-	reactorTime: 0,
-	assistantTime: 0,
-	waterwayTime: 0 }>>
-<<set $rebellionsCount = 0>>
-<<set $PCrebWon = 0>>
-<<set $PCrebLoss = 0>>
-
-
-/* armed forces stats */
-<<set $targetUnit = 0>>
-<<set $targetIndex = 0>>
-<<set $secBotsCost = 500>>
-<<set $secBotsUpgradeCost = 250>>
-<<set $equipUpgradeCost = 250>>
-<<set $maxTroops = 30>>
-<<set $militiaTotalManpower = 0>>
-<<set $militiaFreeManpower = 0>>
-<<set $militiaEmployedManpower = 0>>
-<<set $militiaTotalCasualties = 0>>
-<<set $slavesOfficers = 0>>
-<<set $slavesEmployedManpower = 0>>
-<<set $slavesTotalCasualties = 0>>
-<<set $mercTotalManpower = 0>>
-<<set $mercEmployedManpower = 0>>
-<<set $mercTotalCasualties = 0>>
-<<set $mercLoyalty = 0>>
-<<set $createdSlavesUnits = 0>>
-<<set $createdMilitiaUnits = 0>>
-<<set $createdMercUnits = 0>>
-<<set $mercFreeManpower = 0>>
-<<if $wasToggledBefore == 0>>
-	<<if $mercenaries == 1>>
-		<<set $mercFreeManpower = random(5,20)>>
-	<<elseif $mercenaries > 1>>
-		<<set $mercFreeManpower = random(10,30)>>
-	<</if>>
-<</if>>
-
-/* battle relevant variables */
-<<set $slaveVictories = []>>
-<<set $slaveIncreasedPrestige = 0>>
-<<set $totalKills = 0>>
-<<set $battlesCount = 0>>
-<<set $majorBattlesCount = 0>>
-<<set $chosenTactic = "none">>
-<<set $leadingTroops = "none">>
-<<set $attackTroops = 0>>
-<<set $attackEquip = 0>>
-<<set $battleTerrain = "none">>
-<<set $maxTurns = 10>>
-<<set $battleResult = 4>> /* sets $battleResult value outside accepted range (-3,3) to avoid evaluation problems */
-<<set $losses = 0>>
-<<set $enemyLosses = 0>>
-<<set $battleTurns = 0>>
-<<set $tacticsSuccessful = 0>>
-<<set $leaderWounded = 0>>
-<<set $woundType = 0>> /* 0=no wound, 1=mute, 2=blind, 3=amputee, 4<=health */
-<<set $gainedCombat = 0>>
-<<set $gainedWarfare = 0>>
-<<set $expectedEquip = 0>>
-<<set $estimatedMen = 0>>
-<<set $SFIntervention = 0>>
-<<set $carriableSoldiers = 0>>
-<<set $SFatk = 0>>
-<<set $SFdef = 0>>
-<<set $SFhp = 0>>
-<<set $rebellingID = []>>
-<<set $saveValid = 0>>
-<<set $lastSelection = []>>
-
-/* statistics */
-<<set $equipMod = 0.15>>
-<<set $secBotsBaseAttack = 7>>
-<<set $secBotsBaseDefense = 3>>
-<<set $secBotsMorale = 200>>
-<<set $secBotsBaseHp = 3>>
-<<set $militiaBaseAttack = 7>>
-<<set $militiaBaseDefense = 5>>
-<<set $militiaBaseMorale = 140>>
-<<set $militiaBaseHp = 3>>
-<<set $slaveBaseAttack = 8>>
-<<set $slaveBaseDefense = 3>>
-<<set $slaveBaseMorale = 110>>
-<<set $slaveBaseHp = 3>>
-<<set $mercBaseAttack = 8>>
-<<set $mercBaseDefense = 4>>
-<<set $mercBaseMorale = 125>>
-<<set $mercBaseHp = 4>>
-<<set $SFBaseAttack = 8>>
-<<set $SFBaseDefense = 4>>
-<<set $SFBaseMorale = 140>>
-<<set $SFBaseHp = 4>>
-
-<<set $raBaseAttack = 7>>
-<<set $raBaseDefense = 2>>
-<<set $raBaseMorale = 100>>
-<<set $raBaseHp = 2>>
-<<set $fcBaseAttack = 6>>
-<<set $fcBaseDefense = 4>>
-<<set $fcBaseMorale = 130>>
-<<set $fcBaseHp = 3>>
-<<set $owBaseAttack = 8>>
-<<set $owBaseDefense = 4>>
-<<set $owBaseMorale = 110>>
-<<set $owBaseHp = 2>>
-<<set $ffBaseAttack = 9>>
-<<set $ffBaseDefense = 2>>
-<<set $ffBaseMorale = 160>>
-<<set $ffBaseHp = 2>>
-
-<<set $secBots = {
-	active: 0,
-	ID: -1,
-	isDeployed: 0,
-	troops: 0,
-	maxTroops: 0,
-	equip: 0} >>
-<<set $militiaUnits = []>>
-<<set $slaveUnits = []>>
-<<set $mercUnits = []>>
-
-/* SFanon additions */
-<<set $SFSupportLevel = 0>>
-<<set $SFGear = 0>>
-<<set $SavedLeader = "none">>
-<<set $SavedSFI = 0>>
diff --git a/src/cheats/mod_EditFSCheatDatatypeCleanup.tw b/src/cheats/mod_EditFSCheatDatatypeCleanup.tw
index 34bcde5b51fe328dba2f659a3794cc0527d59033..6a037084e6964564a520dcc57551a2996b206c3d 100644
--- a/src/cheats/mod_EditFSCheatDatatypeCleanup.tw
+++ b/src/cheats/mod_EditFSCheatDatatypeCleanup.tw
@@ -2,175 +2,7 @@
 
 <<set $nextButton = "Continue", $nextLink = "Main", $returnTo = "Main">>
 
-<<if $arcologies[0].FSSupremacist != "unset">>
-	<<set $arcologies[0].FSSupremacist = Number($arcologies[0].FSSupremacist) || "unset">>
-	<<set $arcologies[0].FSSupremacistDecoration = Number($arcologies[0].FSSupremacistDecoration) || 0>>
-	<<set $arcologies[0].FSSupremacistLawME = Number($arcologies[0].FSSupremacistLawME) || 0>>
-<</if>>
-<<if $arcologies[0].FSSubjugationist != "unset">>
-	<<set $arcologies[0].FSSubjugationist = Number($arcologies[0].FSSubjugationist) || "unset">>
-	<<set $arcologies[0].FSSubjugationistDecoration = Number($arcologies[0].FSSubjugationistDecoration) || 0>>
-	<<set $arcologies[0].FSSubjugationistLawME = Number($arcologies[0].FSSubjugationistLawME) || 0>>
-<</if>>
-<<if $arcologies[0].FSGenderRadicalist != "unset">>
-	<<set $arcologies[0].FSGenderRadicalist = Number($arcologies[0].FSGenderRadicalist) || "unset">>
-	<<set $arcologies[0].FSGenderRadicalistDecoration = Number($arcologies[0].FSGenderRadicalistDecoration) || 0>>
-	<<set $arcologies[0].FSGenderRadicalistLawBeauty = Number($arcologies[0].FSGenderRadicalistLawBeauty) || 0>>
-	<<set $arcologies[0].FSGenderRadicalistLawFuta = Number($arcologies[0].FSGenderRadicalistLawFuta) || 0>>
-<</if>>
-<<if $arcologies[0].FSRepopulationFocus != "unset">>
-	<<set $arcologies[0].FSRepopulationFocus = Number($arcologies[0].FSRepopulationFocus) || "unset">>
-	<<set $arcologies[0].FSRepopulationFocusDecoration = Number($arcologies[0].FSRepopulationFocusDecoration) || 0>>
-	<<set $arcologies[0].FSRepopulationFocusSMR = Number($arcologies[0].FSRepopulationFocusSMR) || 0>>
-	<<set $arcologies[0].FSRepopulationFocusLaw = Number($arcologies[0].FSRepopulationFocusLaw) || 0>>
-<</if>>
-<<if $arcologies[0].FSRestart != "unset">>
-	<<set $arcologies[0].FSRestart = Number($arcologies[0].FSRestart) || "unset">>
-	<<set $arcologies[0].FSRestartDecoration = Number($arcologies[0].FSRestartDecoration) || 0>>
-	<<set $arcologies[0].FSRestartSMR = Number($arcologies[0].FSRestartSMR) || 0>>
-	<<set $arcologies[0].FSRestartLaw = Number($arcologies[0].FSRestartLaw) || 0>>
-<</if>>
-<<if $arcologies[0].FSHedonisticDecadence != "unset">>
-	<<set $arcologies[0].FSHedonisticDecadence = Number($arcologies[0].FSHedonisticDecadence) || "unset">>
-	<<set $arcologies[0].FSHedonisticDecadenceDecoration = Number($arcologies[0].FSHedonisticDecadenceDecoration) || 0>>
-	<<set $arcologies[0].FSHedonisticDecadenceSMR = Number($arcologies[0].FSHedonisticDecadenceSMR) || 0>>
-	<<set $arcologies[0].FSHedonisticDecadenceLaw = Number($arcologies[0].FSHedonisticDecadenceLaw) || 0>>
-	<<set $arcologies[0].FSHedonisticDecadenceLaw2 = Number($arcologies[0].FSHedonisticDecadenceLaw2) || 0>>
-	<<set $arcologies[0].FSHedonisticDecadenceStrongFat = Number($arcologies[0].FSHedonisticDecadenceStrongFat) || 0>>
-<</if>>
-<<if $arcologies[0].FSIntellectualDependency != "unset">>
-	<<set $arcologies[0].FSIntellectualDependency = Number($arcologies[0].FSIntellectualDependency) || "unset">>
-	<<set $arcologies[0].FSIntellectualDependencyDecoration = Number($arcologies[0].FSIntellectualDependencyDecoration) || 0>>
-	<<set $arcologies[0].FSIntellectualDependencySMR = Number($arcologies[0].FSIntellectualDependencySMR) || 0>>
-	<<set $arcologies[0].FSIntellectualDependencyLaw = Number($arcologies[0].FSIntellectualDependencyLaw) || 0>>
-	<<set $arcologies[0].FSIntellectualDependencyLawBeauty = Number($arcologies[0].FSIntellectualDependencyLawBeauty) || 0>>
-<</if>>
-<<if $arcologies[0].FSSlaveProfessionalism != "unset">>
-	<<set $arcologies[0].FSSlaveProfessionalism = Number($arcologies[0].FSSlaveProfessionalism) || "unset">>
-	<<set $arcologies[0].FSSlaveProfessionalismDecoration = Number($arcologies[0].FSSlaveProfessionalismDecoration) || 0>>
-	<<set $arcologies[0].FSSlaveProfessionalismSMR = Number($arcologies[0].FSSlaveProfessionalismSMR) || 0>>
-	<<set $arcologies[0].FSSlaveProfessionalismLaw = Number($arcologies[0].FSSlaveProfessionalismLaw) || 0>>
-<</if>>
-<<if $arcologies[0].FSPetiteAdmiration != "unset">>
-	<<set $arcologies[0].FSPetiteAdmiration = Number($arcologies[0].FSPetiteAdmiration) || "unset">>
-	<<set $arcologies[0].FSPetiteAdmirationDecoration = Number($arcologies[0].FSPetiteAdmirationDecoration) || 0>>
-	<<set $arcologies[0].FSPetiteAdmirationSMR = Number($arcologies[0].FSPetiteAdmirationSMR) || 0>>
-	<<set $arcologies[0].FSPetiteAdmirationLaw = Number($arcologies[0].FSPetiteAdmirationLaw) || 0>>
-	<<set $arcologies[0].FSPetiteAdmirationLaw2 = Number($arcologies[0].FSPetiteAdmirationLaw2) || 0>>
-<</if>>
-<<if $arcologies[0].FSStatuesqueGlorification != "unset">>
-	<<set $arcologies[0].FSStatuesqueGlorification = Number($arcologies[0].FSStatuesqueGlorification) || "unset">>
-	<<set $arcologies[0].FSStatuesqueGlorificationDecoration = Number($arcologies[0].FSStatuesqueGlorificationDecoration) || 0>>
-	<<set $arcologies[0].FSStatuesqueGlorificationSMR = Number($arcologies[0].FSStatuesqueGlorificationSMR) || 0>>
-	<<set $arcologies[0].FSStatuesqueGlorificationLaw = Number($arcologies[0].FSStatuesqueGlorificationLaw) || 0>>
-	<<set $arcologies[0].FSStatuesqueGlorificationLaw2 = Number($arcologies[0].FSStatuesqueGlorificationLaw2) || 0>>
-<</if>>
-<<if $arcologies[0].FSGenderFundamentalist != "unset">>
-	<<set $arcologies[0].FSGenderFundamentalist = Number($arcologies[0].FSGenderFundamentalist) || "unset">>
-	<<set $arcologies[0].FSGenderFundamentalistDecoration = Number($arcologies[0].FSGenderFundamentalistDecoration) || 0>>
-	<<set $arcologies[0].FSGenderFundamentalistLawBeauty = Number($arcologies[0].FSGenderFundamentalistLawBeauty) || 0>>
-	<<set $arcologies[0].FSGenderFundamentalistLawBimbo = Number($arcologies[0].FSGenderFundamentalistLawBimbo) || 0>>
-	<<set $arcologies[0].FSGenderFundamentalistSMR = Number($arcologies[0].FSGenderFundamentalistSMR) || 0>>
-<</if>>
-<<if $arcologies[0].FSPaternalist != "unset">>
-	<<set $arcologies[0].FSPaternalist = Number($arcologies[0].FSPaternalist) || "unset">>
-	<<set $arcologies[0].FSPaternalistDecoration = Number($arcologies[0].FSPaternalistDecoration) || 0>>
-	<<set $arcologies[0].FSPaternalistLaw = Number($arcologies[0].FSPaternalistLaw) || 0>>
-<</if>>
-<<if $arcologies[0].FSDegradationist != "unset">>
-	<<set $arcologies[0].FSDegradationist = Number($arcologies[0].FSDegradationist) || "unset">>
-	<<set $arcologies[0].FSDegradationistDecoration = Number($arcologies[0].FSDegradationistDecoration) || 0>>
-	<<set $arcologies[0].FSDegradationistLaw = Number($arcologies[0].FSDegradationistLaw) || 0>>
-<</if>>
-<<if $arcologies[0].FSBodyPurist != "unset">>
-	<<set $arcologies[0].FSBodyPurist = Number($arcologies[0].FSBodyPurist) || "unset">>
-	<<set $arcologies[0].FSBodyPuristDecoration = Number($arcologies[0].FSBodyPuristDecoration) || 0>>
-	<<set $arcologies[0].FSBodyPuristLaw = Number($arcologies[0].FSBodyPuristLaw) || 0>>
-<</if>>
-<<if $arcologies[0].FSTransformationFetishist != "unset">>
-	<<set $arcologies[0].FSTransformationFetishist = Number($arcologies[0].FSTransformationFetishist) || "unset">>
-	<<set $arcologies[0].FSTransformationFetishistDecoration = Number($arcologies[0].FSTransformationFetishistDecoration) || 0>>
-	<<set $arcologies[0].FSTransformationFetishistSMR = Number($arcologies[0].FSTransformationFetishistSMR) || 0>>
-<</if>>
-<<if $arcologies[0].FSYouthPreferentialist != "unset">>
-	<<set $arcologies[0].FSYouthPreferentialist = Number($arcologies[0].FSYouthPreferentialist) || "unset">>
-	<<set $arcologies[0].FSYouthPreferentialistDecoration = Number($arcologies[0].FSYouthPreferentialistDecoration) || 0>>
-	<<set $arcologies[0].FSYouthPreferentialistLaw = Number($arcologies[0].FSYouthPreferentialistLaw) || 0>>
-<</if>>
-<<if $arcologies[0].FSMaturityPreferentialist != "unset">>
-	<<set $arcologies[0].FSMaturityPreferentialist = Number($arcologies[0].FSMaturityPreferentialist) || "unset">>
-	<<set $arcologies[0].FSMaturityPreferentialistDecoration = Number($arcologies[0].FSMaturityPreferentialistDecoration) || 0>>
-	<<set $arcologies[0].FSMaturityPreferentialistLaw = Number($arcologies[0].FSMaturityPreferentialistLaw) || 0>>
-<</if>>
-<<if $arcologies[0].FSSlimnessEnthusiast != "unset">>
-	<<set $arcologies[0].FSSlimnessEnthusiast = Number($arcologies[0].FSSlimnessEnthusiast) || "unset">>
-	<<set $arcologies[0].FSSlimnessEnthusiastDecoration = Number($arcologies[0].FSSlimnessEnthusiastDecoration) || 0>>
-	<<set $arcologies[0].FSSlimnessEnthusiastSMR = Number($arcologies[0].FSSlimnessEnthusiastSMR) || 0>>
-	<<set $arcologies[0].FSSlimnessEnthusiastLaw = Number($arcologies[0].FSSlimnessEnthusiastLaw) || 0>>
-<</if>>
-<<if $arcologies[0].FSAssetExpansionist != "unset">>
-	<<set $arcologies[0].FSAssetExpansionist = Number($arcologies[0].FSAssetExpansionist) || "unset">>
-	<<set $arcologies[0].FSAssetExpansionistDecoration = Number($arcologies[0].FSAssetExpansionistDecoration) || 0>>
-	<<set $arcologies[0].FSAssetExpansionistSMR = Number($arcologies[0].FSAssetExpansionistSMR) || 0>>
-<</if>>
-<<if $arcologies[0].FSPastoralist != "unset">>
-	<<set $arcologies[0].FSPastoralist = Number($arcologies[0].FSPastoralist) || "unset">>
-	<<set $arcologies[0].FSPastoralistDecoration = Number($arcologies[0].FSPastoralistDecoration) || 0>>
-	<<set $arcologies[0].FSPastoralistLaw = Number($arcologies[0].FSPastoralistLaw) || 0>>
-<</if>>
-<<if $arcologies[0].FSPhysicalIdealist != "unset">>
-	<<set $arcologies[0].FSPhysicalIdealist = Number($arcologies[0].FSPhysicalIdealist) || "unset">>
-	<<set $arcologies[0].FSPhysicalIdealistDecoration = Number($arcologies[0].FSPhysicalIdealistDecoration) || 0>>
-	<<set $arcologies[0].FSPhysicalIdealistLaw = Number($arcologies[0].FSPhysicalIdealistLaw) || 0>>
-	<<set $arcologies[0].FSPhysicalIdealistSMR = Number($arcologies[0].FSPhysicalIdealistSMR) || 0>>
-	<<set $arcologies[0].FSPhysicalIdealistStrongFat = Number($arcologies[0].FSPhysicalIdealistStrongFat) || 0>>
-<</if>>
-<<if $arcologies[0].FSChattelReligionist != "unset">>
-	<<set $arcologies[0].FSChattelReligionist = Number($arcologies[0].FSChattelReligionist) || "unset">>
-	<<set $arcologies[0].FSChattelReligionistDecoration = Number($arcologies[0].FSChattelReligionistDecoration) || 0>>
-	<<set $arcologies[0].FSChattelReligionistLaw = Number($arcologies[0].FSChattelReligionistLaw) || 0>>
-	<<set $arcologies[0].FSChattelReligionistCreed = Number($arcologies[0].FSChattelReligionistCreed) || 0>>
-<</if>>
-<<if $arcologies[0].FSEdoRevivalist != "unset">>
-	<<set $arcologies[0].FSEdoRevivalist = Number($arcologies[0].FSEdoRevivalist) || "unset">>
-	<<set $arcologies[0].FSEdoRevivalistDecoration = Number($arcologies[0].FSEdoRevivalistDecoration) || 0>>
-	<<set $arcologies[0].FSEdoRevivalistLaw = Number($arcologies[0].FSEdoRevivalistLaw) || 0>>
-<</if>>
-<<if $arcologies[0].FSRomanRevivalist != "unset">>
-	<<set $arcologies[0].FSRomanRevivalist = Number($arcologies[0].FSRomanRevivalist) || "unset">>
-	<<set $arcologies[0].FSRomanRevivalistDecoration = Number($arcologies[0].FSRomanRevivalistDecoration) || 0>>
-	<<set $arcologies[0].FSRomanRevivalistLaw = Number($arcologies[0].FSRomanRevivalistLaw) || 0>>
-<</if>>
-<<if $arcologies[0].FSAztecRevivalist != "unset">>
-	<<set $arcologies[0].FSAztecRevivalist = Number($arcologies[0].FSAztecRevivalist) || "unset">>
-	<<set $arcologies[0].FSAztecRevivalistDecoration = Number($arcologies[0].FSAztecRevivalistDecoration) || 0>>
-	<<set $arcologies[0].FSAztecRevivalistLaw = Number($arcologies[0].FSAztecRevivalistLaw) || 0>>
-<</if>>
-<<if $arcologies[0].FSEgyptianRevivalist != "unset">>
-	<<set $arcologies[0].FSEgyptianRevivalist = Number($arcologies[0].FSEgyptianRevivalist) || "unset">>
-	<<set $arcologies[0].FSEgyptianRevivalistDecoration = Number($arcologies[0].FSEgyptianRevivalistDecoration) || 0>>
-	<<set $arcologies[0].FSEgyptianRevivalistLaw = Number($arcologies[0].FSEgyptianRevivalistLaw) || 0>>
-<</if>>
-<<if $arcologies[0].FSEdoRevivalist != "unset">>
-	<<set $arcologies[0].FSEdoRevivalist = Number($arcologies[0].FSEdoRevivalist) || "unset">>
-	<<set $arcologies[0].FSEdoRevivalistDecoration = Number($arcologies[0].FSEdoRevivalistDecoration) || 0>>
-	<<set $arcologies[0].FSEdoRevivalistLaw = Number($arcologies[0].FSEdoRevivalistLaw) || 0>>
-<</if>>
-<<if $arcologies[0].FSArabianRevivalist != "unset">>
-	<<set $arcologies[0].FSArabianRevivalist = Number($arcologies[0].FSArabianRevivalist) || "unset">>
-	<<set $arcologies[0].FSArabianRevivalistDecoration = Number($arcologies[0].FSArabianRevivalistDecoration) || 0>>
-	<<set $arcologies[0].FSArabianRevivalistLaw = Number($arcologies[0].FSArabianRevivalistLaw) || 0>>
-<</if>>
-<<if $arcologies[0].FSChineseRevivalist != "unset">>
-	<<set $arcologies[0].FSChineseRevivalist = Number($arcologies[0].FSChineseRevivalist) || "unset">>
-	<<set $arcologies[0].FSChineseRevivalistDecoration = Number($arcologies[0].FSChineseRevivalistDecoration) || 0>>
-	<<set $arcologies[0].FSChineseRevivalistLaw = Number($arcologies[0].FSChineseRevivalistLaw) || 0>>
-<</if>>
-<<for _fscdc = 0; _fscdc < setup.FutureSocieties.length; _fscdc++>>
-	<<if !($arcologies[0][setup.FutureSocieties[_fscdc]] > 0)>>
-		<<run FutureSocieties.remove(setup.FutureSocieties[_fscdc])>>
-	<</if>>
-<</for>>
+<<= App.Update.FScheatDatatypeCleanup()>>
 
 You perform the dark rituals, pray to the chaos gods, and sell your CHEATING SOUL for the power to change and mold the Future Society to your will.
 
diff --git a/src/cheats/mod_EditNeighborArcologyCheatDatatypeCleanup.tw b/src/cheats/mod_EditNeighborArcologyCheatDatatypeCleanup.tw
index f104e553837a7b42aeaef514c29b42fb9ec20b74..edd8847420ef27c9e4b83661beda8bba866819f2 100644
--- a/src/cheats/mod_EditNeighborArcologyCheatDatatypeCleanup.tw
+++ b/src/cheats/mod_EditNeighborArcologyCheatDatatypeCleanup.tw
@@ -2,147 +2,7 @@
 
 <<set $nextButton = "Continue", $nextLink = "Main">>
 
-<<set _l = $arcologies.length>>
-<<for _i = 1; _i < _l; _i++>>
-	<<set $arcologies[_i].honeymoon = Number($arcologies[_i].honeymoon) || 0>>
-	<<set $arcologies[_i].prosperity = Number($arcologies[_i].prosperity) || 0>>
-	<<set $arcologies[_i].ownership = Number($arcologies[_i].ownership) || 0>>
-	<<set $arcologies[_i].minority = Number($arcologies[_i].minority) || 0>>
-	<<set $arcologies[_i].PCminority = Number($arcologies[_i].PCminority) || 0>>
-	<<set $arcologies[_i].demandFactor = Number($arcologies[_i].demandFactor) || 0>>
-	<<if $arcologies[_i].FSSupremacist != "unset">>
-		<<set $arcologies[_i].FSSupremacist = Number($arcologies[_i].FSSupremacist) || "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSSupremacist != "unset" && !setup.filterRacesLowercase.includes($arcologies[_i].FSSupremacistRace)>>
-		<<set $arcologies[_i].FSSupremacistRace = setup.filterRacesLowercase.random()>>
-	<</if>>
-	<<if $arcologies[_i].FSSubjugationist != "unset">>
-		<<set $arcologies[_i].FSSubjugationist = Number($arcologies[_i].FSSubjugationist) || "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSSubjugationist != "unset" && !setup.filterRacesLowercase.includes($arcologies[_i].FSSubjugationistRace)>>
-		<<set $arcologies[_i].FSSubjugationistRace = setup.filterRacesLowercase.random()>>
-	<</if>>
-	<<if $arcologies[_i].FSGenderRadicalist != "unset">>
-		<<set $arcologies[_i].FSGenderRadicalist = Number($arcologies[_i].FSGenderRadicalist) || "unset">>
-		<<set $arcologies[_i].FSGenderFundamentalist = "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSGenderFundamentalist != "unset">>
-		<<set $arcologies[_i].FSGenderFundamentalist = Number($arcologies[_i].FSGenderFundamentalist) || "unset">>
-		<<set $arcologies[_i].FSGenderRadicalist = "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSPaternalist != "unset">>
-		<<set $arcologies[_i].FSPaternalist = Number($arcologies[_i].FSPaternalist) || "unset">>
-		<<set $arcologies[_i].FSDegradationist = "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSDegradationist != "unset">>
-		<<set $arcologies[_i].FSDegradationist = Number($arcologies[_i].FSDegradationist) || "unset">>
-		<<set $arcologies[_i].FSPaternalist = "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSBodyPurist != "unset">>
-		<<set $arcologies[_i].FSBodyPurist = Number($arcologies[_i].FSBodyPurist) || "unset">>
-		<<set $arcologies[_i].FSTransformationFetishist = "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSTransformationFetishist != "unset">>
-		<<set $arcologies[_i].FSTransformationFetishist = Number($arcologies[_i].FSTransformationFetishist) || "unset">>
-		<<set $arcologies[_i].FSBodyPurist = "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSYouthPreferentialist != "unset">>
-		<<set $arcologies[_i].FSYouthPreferentialist = Number($arcologies[_i].FSYouthPreferentialist) || "unset">>
-		<<set $arcologies[_i].FSMaturityPreferentialist = "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSMaturityPreferentialist != "unset">>
-		<<set $arcologies[_i].FSMaturityPreferentialist = Number($arcologies[_i].FSMaturityPreferentialist) || "unset">>
-		<<set $arcologies[_i].FSYouthPreferentialist = "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSSlimnessEnthusiast != "unset">>
-		<<set $arcologies[_i].FSSlimnessEnthusiast = Number($arcologies[_i].FSSlimnessEnthusiast) || "unset">>
-		<<set $arcologies[_i].FSAssetExpansionist = "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSAssetExpansionist != "unset">>
-		<<set $arcologies[_i].FSAssetExpansionist = Number($arcologies[_i].FSAssetExpansionist) || "unset">>
-		<<set $arcologies[_i].FSSlimnessEnthusiast = "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSPastoralist != "unset">>
-		<<set $arcologies[_i].FSPastoralist = Number($arcologies[_i].FSPastoralist) || "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSPhysicalIdealist != "unset">>
-		<<set $arcologies[_i].FSPhysicalIdealist = Number($arcologies[_i].FSPhysicalIdealist) || "unset">>
-		<<set $arcologies[_i].FSHedonisticDecadence = "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSHedonisticDecadence != "unset">>
-		<<set $arcologies[_i].FSHedonisticDecadence = Number($arcologies[_i].FSHedonisticDecadence) || "unset">>
-		<<set $arcologies[_i].FSPhysicalIdealist = "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSChattelReligionist != "unset">>
-		<<set $arcologies[_i].FSChattelReligionist = Number($arcologies[_i].FSChattelReligionist) || "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSRomanRevivalist != "unset">>
-		<<set $arcologies[_i].FSRomanRevivalist = Number($arcologies[_i].FSRomanRevivalist) || "unset">>
-		<<set $arcologies[_i].FSArabianRevivalist = $arcologies[_i].FSAztecRevivalist = $arcologies[_i].FSChineseRevivalist = $arcologies[_i].FSEdoRevivalist = $arcologies[_i].FSEgyptianRevivalist = "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSAztecRevivalist != "unset">>
-		<<set $arcologies[_i].FSAztecRevivalist = Number($arcologies[_i].FSAztecRevivalist) || "unset">>
-		<<set $arcologies[_i].FSArabianRevivalist = $arcologies[_i].FSChineseRevivalist = $arcologies[_i].FSEdoRevivalist = $arcologies[_i].FSEgyptianRevivalist = $arcologies[_i].FSRomanRevivalist = "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSEgyptianRevivalist != "unset">>
-		<<set $arcologies[_i].FSEgyptianRevivalist = Number($arcologies[_i].FSEgyptianRevivalist) || "unset">>
-		<<set $arcologies[_i].FSArabianRevivalist = $arcologies[_i].FSAztecRevivalist = $arcologies[_i].FSChineseRevivalist = $arcologies[_i].FSEdoRevivalist = $arcologies[_i].FSRomanRevivalist = "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSEdoRevivalist != "unset">>
-		<<set $arcologies[_i].FSEdoRevivalist = Number($arcologies[_i].FSEdoRevivalist) || "unset">>
-		<<set $arcologies[_i].FSArabianRevivalist = $arcologies[_i].FSAztecRevivalist = $arcologies[_i].FSChineseRevivalist = $arcologies[_i].FSEgyptianRevivalist = $arcologies[_i].FSRomanRevivalist = "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSArabianRevivalist != "unset">>
-		<<set $arcologies[_i].FSArabianRevivalist = Number($arcologies[_i].FSArabianRevivalist) || "unset">>
-		<<set $arcologies[_i].FSAztecRevivalist = $arcologies[_i].FSChineseRevivalist = $arcologies[_i].FSEdoRevivalist = $arcologies[_i].FSEgyptianRevivalist = $arcologies[_i].FSRomanRevivalist = "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSChineseRevivalist != "unset">>
-		<<set $arcologies[_i].FSChineseRevivalist = Number($arcologies[_i].FSChineseRevivalist) || "unset">>
-		<<set $arcologies[_i].FSArabianRevivalist = $arcologies[_i].FSAztecRevivalist = $arcologies[_i].FSEdoRevivalist = $arcologies[_i].FSEgyptianRevivalist = $arcologies[_i].FSRomanRevivalist = "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSNull != "unset">>
-		<<set $arcologies[_i].FSNull = Number($arcologies[_i].FSNull) || "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSRepopulationFocus != "unset">>
-		<<set $arcologies[_i].FSRepopulationFocus = Number($arcologies[_i].FSRepopulationFocus) || "unset">>
-		<<set $arcologies[_i].FSRestart = "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSRestart != "unset">>
-		<<set $arcologies[_i].FSRestart = Number($arcologies[_i].FSRestart) || "unset">>
-		<<set $arcologies[_i].FSRepopulationFocus = "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSIntellectualDependency != "unset">>
-		<<set $arcologies[_i].FSIntellectualDependency = Number($arcologies[_i].FSIntellectualDependency) || "unset">>
-		<<set $arcologies[_i].FSSlaveProfessionalism = "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSSlaveProfessionalism != "unset">>
-		<<set $arcologies[_i].FSSlaveProfessionalism = Number($arcologies[_i].FSSlaveProfessionalism) || "unset">>
-		<<set $arcologies[_i].FSIntellectualDependency = "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSPetiteAdmiration != "unset">>
-		<<set $arcologies[_i].FSPetiteAdmiration = Number($arcologies[_i].FSPetiteAdmiration) || "unset">>
-		<<set $arcologies[_i].FSStatuesqueGlorification = "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSStatuesqueGlorification != "unset">>
-		<<set $arcologies[_i].FSStatuesqueGlorification = Number($arcologies[_i].FSStatuesqueGlorification) || "unset">>
-		<<set $arcologies[_i].FSPetiteAdmiration = "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSCummunism != "unset">>
-		<<set $arcologies[_i].FSCummunism = Number($arcologies[_i].FSCummunism) || "unset">>
-	<</if>>
-	<<if $arcologies[_i].FSIncestFetishist != "unset">>
-		<<set $arcologies[_i].FSIncestFetishist = Number($arcologies[_i].FSIncestFetishist) || "unset">>
-	<</if>>
-	<<set $arcologies[_i].embargo = Number($arcologies[_i].embargo) || 0>>
-	<<set $arcologies[_i].embargoTarget = Number($arcologies[_i].embargoTarget) || 0>>
-	<<set $arcologies[_i].CyberEconomic = Number($arcologies[_i].CyberEconomic) || 0>>
-	<<set $arcologies[_i].CyberEconomicTarget = Number($arcologies[_i].CyberEconomicTarget) || 0>>
-	<<set $arcologies[_i].CyberReputation = Number($arcologies[_i].CyberReputation) || 0>>
-	<<set $arcologies[_i].CyberReputationTarget = Number($arcologies[_i].CyberReputationTarget) || 0>>
-	<<set $arcologies[_i].influenceTarget = Number($arcologies[_i].influenceTarget) || 0>>
-	<<set $arcologies[_i].influenceBonus = Number($arcologies[_i].influenceBonus) || 0>>
-	<<set $arcologies[_i].rival = Number($arcologies[_i].rival) || 0>>
-<</for>>
+<<= App.Update.neighborArcologyCheatDatatypeCleanup()>>
 
 You have CHEATED your way to influencing the neighboring arcologies. They have been unscrupulously directed according to your CHEAT whims.
 
diff --git a/src/data/backwardsCompatibility/BackwardsCompatibility.tw b/src/data/backwardsCompatibility/BackwardsCompatibility.tw
new file mode 100644
index 0000000000000000000000000000000000000000..a301240cc87f33cb73b6c8ac6a7fc5e884928db1
--- /dev/null
+++ b/src/data/backwardsCompatibility/BackwardsCompatibility.tw
@@ -0,0 +1,59 @@
+:: Backwards Compatibility [nobr]
+
+/* no-usedOnce disabling checking for only used once instances in this file */
+<<set $nextButton = "Continue", $nextLink = "Main", $returnTo = "Main">>
+
+<<run App.Update.setNonexistantProperties(V, App.Data.defaultGameStateVariables)>>
+
+<div>
+	<<= App.Update.oldVersions()>>
+</div>
+
+<div>
+	<<= App.Update.globalVariables()>>
+</div>
+
+<<if ndef $lastWeeksCashIncome>>
+	<<setupLastWeeksCash>>
+<</if>>
+<<if ndef $lastWeeksRepIncome>>
+	<<setupLastWeeksRep>>
+<</if>>
+
+<div>
+	<<= App.Update.slaveVariables()>>
+</div>
+
+<div>
+	<<= App.Update.slaveRecords()>>
+</div>
+
+<div>
+	<<= App.Update.specialSlaveRecords()>>
+</div>
+
+<div>
+	<<= App.Update.HeroSlavesCleanup()>>
+	<<run $heroSlaves.forEach(function(s) {if (s.pregType > 0 && Array.isArray(s.womb)) delete s.womb;})>>
+	<<set $activeSlave = BaseSlave()>>
+	<<set $baseHeroSlave = clone($activeSlave)>>
+</div>
+
+<div>
+	<<= App.Update.RAassistantData()>>
+</div>
+
+/* Sec Exp */
+<div>
+	<<= App.SecExp.Check.general()>>
+	<<if $secExpEnabled == 1>>
+		<br> <<include "SecExpBackwardCompatibility">>
+	<</if>>
+</div>
+<div>
+	<<= App.Update.autoshred()>>
+</div>
+/* leave this at the bottom of BC */
+<div>
+	<<= App.Update.cleanUp()>>
+</div>
diff --git a/src/data/backwardsCompatibility/backwardsCompatibility.js b/src/data/backwardsCompatibility/backwardsCompatibility.js
new file mode 100644
index 0000000000000000000000000000000000000000..efa1b52568f4490c266364d20a246ef08b55e79d
--- /dev/null
+++ b/src/data/backwardsCompatibility/backwardsCompatibility.js
@@ -0,0 +1,2171 @@
+App.Update.autoshred = function() {
+	const defaultGameStateVariables = new Set(Object.getOwnPropertyNames(App.Data.defaultGameStateVariables));
+	let extraCount = 0;
+
+	for (const v in V) {
+		if (!defaultGameStateVariables.has(v)) {
+			if (V.debugMode) {
+				if (!App.Data.ignoreGameStateVariables.includes(v)) {
+					console.log("Not on whitelist, removed:", "V."+v+":", V[v]);
+				} else {
+					extraCount++;
+				}
+			}
+			delete V[v];
+		}
+	}
+	if (extraCount !== 0) {
+		console.log(`and ${extraCount} more`);
+	}
+};
+
+App.Update.setNonexistantProperties = function(obj, props) {
+	let count = 0;
+	for (const p of Object.getOwnPropertyNames(props)) {
+		if (typeof obj[p] === "undefined") {
+			obj[p] = clone(props[p]);
+			count++;
+		}
+	}
+	return console.log(`Set up ${count} variables.`);
+};
+
+App.Update.globalVariables = function() {
+	let r = `Setting missing global variables... `;
+	if (Array.isArray(V.nationalities)) {
+		V.nationalities = weightedArray2HashMap(V.nationalities);
+	}
+
+	// Slave mods/surgery
+	{
+		if (typeof V.brandTarget === "string") {
+			V.brandTarget = {primary: V.brandTarget, secondary: "buttock", local: "buttock"};
+		} else if (typeof V.brandTarget !== "object") {
+			V.brandTarget = {primary: "buttock", secondary: "buttock", local: "buttock"};
+		}
+		if (typeof V.brandDesign === "string") {
+			V.brandDesign = {primary: V.brandDesign, official: V.brandDesign, local: V.brandDesign};
+		} else if (typeof V.brandDesign !== "object") {
+			V.brandDesign = {primary: "your initials", official: "your initials", local: "your initials"};
+		}
+		if (typeof V.brandDesign.official === "undefined") {
+			V.brandDesign.official = "your personal symbol";
+		}
+		if (jQuery.isEmptyObject(V.scarTarget)) {
+			V.scarTarget = {primary: "left cheek", secondary: "left cheek", local: "left cheek"};
+		}
+		if (jQuery.isEmptyObject(V.scarDesign)) {
+			V.scarDesign = {primary: "generic", local: "generic"};
+		}
+	}
+
+	// Reminders
+	{
+		if (!Array.isArray(V.reminders)) {
+			let r = V.reminders;
+			V.reminders = [];
+			for (let i = 0; i < r.entries.length; i++) {
+				App.Reminders.add(r.entries[i], V.week + Number(r.weeks[i]));
+			}
+			for (let i = 0; i < r.overdue.length; i++) {
+				let s = r.overdue[i].split(" ");
+				s.splice(s.length - 5, 5);
+				s = s.join(" ");
+				App.Reminders.add(s, V.week - 1);
+			}
+		}
+	}
+
+	// Display
+	{
+		if (typeof V.sideBarOptions.roomPop === "undefined") {
+			V.sideBarOptions.roomPop = 1;
+		}
+		if (typeof V.sideBarOptions.compact === "undefined") {
+			V.sideBarOptions.compact = 1;
+		}
+		if (V.sortSlavesBy === "income" || V.sortSlavesBy === "lastWeeksCashIncome") {
+			V.sortSlavesBy = "weeklyIncome";
+		}
+	}
+
+	if (typeof V.taitorWeeks !== "undefined") {
+		V.traitorWeeks = V.taitorWeeks;
+	}
+
+	// Orphanages
+	if ((typeof V.DefaultBirthDestination === "undefined") || (V.DefaultBirthDestination === "") || (V.DefaultBirthDestination === "anywhere")) {
+		V.DefaultBirthDestination = "individually decided fates";
+	}
+
+	// Rent
+	{
+		if (typeof V.LCRent !== "undefined") {
+			V.rent.lowerClass = V.LCRent;
+		}
+		if (typeof V.MCRent !== "undefined") {
+			V.rent.middleClass = V.MCRent;
+		}
+		if (typeof V.UCRent !== "undefined") {
+			V.rent.upperClass = V.UCRent;
+		}
+		if (typeof V.TCRent !== "undefined") {
+			V.rent.topClass = V.TCRent;
+		}
+	}
+
+	// PC
+	{
+		PCDatatypeCleanup();
+		V.enduringTrust = Number(V.enduringTrust) || 0;
+		V.enduringDevotion = Number(V.enduringDevotion) || 0;
+		V.averageTrust = Number(V.averageTrust) || 0;
+		V.averageDevotion = Number(V.averageDevotion) || 0;
+		if (typeof V.trainingRegimen !== "undefined") {
+			if (typeof V.personalAttention === "number") {
+				V.personalAttention = [{ID: V.personalAttention, trainingRegimen: V.trainingRegimen}];
+			}
+		}
+		V.HackingSkillMultiplier = upgradeMultiplier('hacking');
+		V.upgradeMultiplierArcology = upgradeMultiplier('engineering');
+		V.upgradeMultiplierMedicine = upgradeMultiplier('medicine');
+		V.upgradeMultiplierTrade = upgradeMultiplier('trading');
+	}
+
+	// Looks at all wombs, including PC.
+	BCReserveInit();
+
+	// Menials
+	{
+		if (typeof V.AMenials !== "undefined") {
+			V.ASlaves += Math.trunc(V.AMenials / 2);
+		}
+		if (typeof V.helots !== "undefined") {
+			V.menials = V.helots;
+		}
+		if (typeof V.TradeShowHelots !== "undefined") {
+			V.TradeShowMenials = V.TradeShowHelots;
+		}
+	}
+
+	// Items/upgrades purchased
+	{
+		if (V.merchantFSWares.length === 0) {
+			V.merchantFSWares.push("AssetExpansionistResearch");
+			V.merchantFSWares.push("GenderRadicalistResearch");
+			V.merchantFSWares.push("HedonisticDecadenceResearch");
+			V.merchantFSWares.push("SlaveProfessionalismResearch");
+			V.merchantFSWares.push("SlimnessEnthusiastResearch");
+			V.merchantFSWares.push("TransformationFetishistResearch");
+			V.merchantFSWares.push("YouthPreferentialistResearch");
+		}
+		if (V.merchantIllegalWares.length === 0) {
+			V.merchantIllegalWares.push("childhoodFertilityInducedNCS");
+			V.merchantIllegalWares.push("UterineRestraintMesh");
+			V.merchantIllegalWares.push("RapidCellGrowthFormula");
+			V.merchantIllegalWares.push("PGHack");
+			V.merchantIllegalWares.push("sympatheticOvaries");
+			V.merchantIllegalWares.push("asexualReproduction");
+		}
+		if (typeof V.arcologies[0].childhoodFertilityInducedNCSResearch === "undefined") {
+			V.arcologies[0].childhoodFertilityInducedNCSResearch = 0;
+		}
+		delete V.arcologies[0].childFertilityInducedNCSResearch;
+	}
+
+	// Shopping for slaves
+	if (jQuery.isEmptyObject(V.huskSlave)) {
+		V.huskSlave = new App.Entity.CustomSlaveOrder();
+	}
+	if (V.prisonCircuit.length === 0) {
+		V.prisonCircuit = ["low tier criminals", "gangs and smugglers", "white collar", "military prison"];
+		V.prisonCircuitIndex = random(0, V.prisonCircuit.length - 1);
+	}
+
+	App.Update.CustomSlaveOrder(V.huskSlave);
+	App.Update.CustomSlaveOrder(V.customSlave);
+
+	// Farmyard Subsection
+	const animalsBought = ["canines", "hooved", "felines", "labradorRetrievers", "germanShepherds", "goldenRetrievers", "frenchBulldogs", "bulldogs", "beagles", "poodles", "rottweilers", "yorkshireTerriers", "siberianHuskies", "horses", "bulls", "pigs", "siameses", "persians", "maineCoons", "ragdolls", "bengals", "abbysinians", "birmans", "orientalShorthairs", "sphynxes", "russianBlues", "wolves", "foxes", "jackals", "dingos", "zebras", "cougars", "jaguars", "pumas", "lynx", "leopards", "lions", "tigers"];
+	animalsBought.forEach(function(species) { V.animalsBought[species] = V.animalsBought[species] || 0; });
+
+	// SF
+	App.SF.BC();
+
+	// FS
+	{
+		if (V.FSGotRepCreditSix === 1) {
+			V.FSGotRepCredits = 7;
+		} else if (V.FSGotRepCreditFive === 1) {
+			V.FSGotRepCredits = 6;
+		} else if (V.FSGotRepCreditFour === 1) {
+			V.FSGotRepCredits = 5;
+		} else if (V.FSGotRepCreditThree === 1) {
+			V.FSGotRepCredits = 4;
+		} else if (V.FSGotRepCreditTwo === 1) {
+			V.FSGotRepCredits = 3;
+		} else if (V.FSGotRepCreditOne === 1) {
+			V.FSGotRepCredits = 2;
+		} else if (V.FSAnnounced === 1) {
+			V.FSGotRepCredits = 1;
+		} else {
+			V.FSGotRepCredits = 0;
+		}
+		if (typeof V.arcologies[0].FSAztecRevivalist === "undefined") {
+			for (let bci = 0; bci < V.arcologies.length; bci++) {
+				V.arcologies[bci].FSAztecRevivalist = "unset", V.arcologies[bci].FSAztecRevivalistDecoration = 0;
+			}
+			V.arcologies[0].FSAztecRevivalistLaw = 0, V.arcologies[0].FSAztecRevivalistSMR = 0;
+		}
+		if (typeof V.arcologies[0].FSHedonisticDecadence === "undefined") {
+			for (let bci = 0; bci < V.arcologies.length; bci++) {
+				V.arcologies[bci].FSHedonisticDecadence = "unset", V.arcologies[bci].FSHedonisticDecadenceDecoration = 0;
+			}
+			V.arcologies[0].FSHedonisticDecadenceLaw = 0, V.arcologies[0].FSHedonisticDecadenceLaw2 = 0, V.arcologies[0].FSHedonisticDecadenceSMR = 0, V.arcologies[0].FSHedonisticDecadenceResearch = 0;
+		}
+		if (typeof V.arcologies[0].FSHedonisticDecadenceDietResearch === "undefined") {
+			V.arcologies[0].FSHedonisticDecadenceDietResearch = 0;
+		}
+		if (typeof V.arcologies[0].FSPhysicalIdealistStrongFat === "undefined") {
+			V.arcologies[0].FSPhysicalIdealistStrongFat = 0;
+		}
+		if (typeof V.arcologies[0].FSHedonisticDecadenceStrongFat === "undefined") {
+			V.arcologies[0].FSHedonisticDecadenceStrongFat = 0;
+		}
+		if (typeof V.arcologies[0].FSIntellectualDependency === "undefined") {
+			for (let bci = 0; bci < V.arcologies.length; bci++) {
+				V.arcologies[bci].FSIntellectualDependency = "unset", V.arcologies[bci].FSIntellectualDependencyDecoration = 0;
+			}
+			V.arcologies[0].FSIntellectualDependencyLaw = 0, V.arcologies[0].FSIntellectualDependencyLawBeauty = 0, V.arcologies[0].FSIntellectualDependencySMR = 0, V.arcologies[0].FSIntellectualDependencyResearch = 0;
+		}
+		if (typeof V.arcologies[0].FSSlaveProfessionalism === "undefined") {
+			for (let bci = 0; bci < V.arcologies.length; bci++) {
+				V.arcologies[bci].FSSlaveProfessionalism = "unset", V.arcologies[bci].FSSlaveProfessionalismDecoration = 0;
+			}
+			V.arcologies[0].FSSlaveProfessionalismLaw = 0, V.arcologies[0].FSSlaveProfessionalismSMR = 0, V.arcologies[0].FSSlaveProfessionalismResearch = 0;
+		}
+		if (typeof V.arcologies[0].FSPetiteAdmiration === "undefined") {
+			for (let bci = 0; bci < V.arcologies.length; bci++) {
+				V.arcologies[bci].FSPetiteAdmiration = "unset", V.arcologies[bci].FSPetiteAdmirationDecoration = 0;
+			}
+			V.arcologies[0].FSPetiteAdmirationLaw = 0, V.arcologies[0].FSPetiteAdmirationLaw2 = 0, V.arcologies[0].FSPetiteAdmirationSMR = 0, V.arcologies[0].FSPetiteAdmirationResearch = 0;
+		}
+		if (typeof V.arcologies[0].FSStatuesqueGlorification === "undefined") {
+			for (let bci = 0; bci < V.arcologies.length; bci++) {
+				V.arcologies[bci].FSStatuesqueGlorification = "unset", V.arcologies[bci].FSStatuesqueGlorificationDecoration = 0;
+			}
+			V.arcologies[0].FSStatuesqueGlorificationLaw = 0, V.arcologies[0].FSStatuesqueGlorificationLaw2 = 0, V.arcologies[0].FSStatuesqueGlorificationSMR = 0, V.arcologies[0].FSStatuesqueGlorificationResearch = 0;
+		}
+		if (typeof V.arcologies[0].FSCummunism === "undefined") {
+			for (let bci = 0; bci < V.arcologies.length; bci++) {
+				V.arcologies[bci].FSCummunism = "unset", V.arcologies[bci].FSCummunismDecoration = 0;
+			}
+			V.arcologies[0].FSCummunismResearch = 0;
+		}
+		if (typeof V.arcologies[0].FSIncestFetishist === "undefined") {
+			for (let bci = 0; bci < V.arcologies.length; bci++) {
+				V.arcologies[bci].FSIncestFetishist = "unset", V.arcologies[bci].FSIncestFetishistDecoration = 0;
+			}
+			V.arcologies[0].FSIncestFetishistResearch = 0;
+		}
+		for (let bci = 0; bci < V.arcologies.length; bci++) {
+			if (V.arcologies[bci].FSHedonisticDecadence === 0) {
+				V.arcologies[bci].FSHedonisticDecadence = "unset", V.arcologies[bci].FSHedonisticDecadenceDecoration = 0;
+			}
+		}
+		if (typeof V.arcologies[0].FSPhysicalIdealistLaw === "undefined") {
+			V.arcologies[0].FSPhysicalIdealistLaw = 0;
+		}
+	}
+
+	// Arcologies
+	{
+		if (jQuery.isEmptyObject(V.arcologies)) {
+			V.arcologies = [];
+			V.arcologies[0] = {
+				name: "Arcology X-",
+				direction: 0,
+				government: 1,
+				honeymoon: 0,
+				prosperity: 50,
+				FSSupremacist: "unset",
+				FSSupremacistRace: 0,
+				FSSubjugationist: "unset",
+				FSSubjugationistRace: 0,
+				FSGenderRadicalist: "unset",
+				FSGenderFundamentalist: "unset",
+				FSPaternalist: "unset",
+				FSDegradationist: "unset",
+				FSBodyPurist: "unset",
+				FSTransformationFetishist: "unset",
+				FSYouthPreferentialist: "unset",
+				FSMaturityPreferentialist: "unset",
+				FSSlimnessEnthusiast: "unset",
+				FSAssetExpansionist: "unset",
+				FSPastoralist: "unset",
+				FSPhysicalIdealist: "unset",
+				FSChattelReligionist: "unset",
+				FSRomanRevivalist: "unset",
+				FSEgyptianRevivalist: "unset",
+				FSEdoRevivalist: "unset",
+				FSArabianRevivalist: "unset",
+				FSChineseRevivalist: "unset",
+				FSNull: "unset",
+				FSRepopulationFocus: "unset",
+				FSRestart: "unset",
+				FSHedonisticDecadence: "unset",
+				FSIntellectualDependency: "unset",
+				FSSlaveProfessionalism: "unset",
+				FSPetiteAdmiration: "unset",
+				FSStatuesqueGlorification: "unset",
+				embargo: 1,
+				embargoTarget: -1,
+				influenceTarget: -1,
+				influenceBonus: 0,
+				rival: 0
+			};
+		}
+	}
+
+	// Player Arcology: object
+	{
+		if (typeof V.arcologyName !== "undefined") {
+			V.arcologies[0].name = V.arcologyName;
+		} else if (typeof V.arcologies[0].name === "undefined") {
+			V.arcologies[0].name = "Arcology X-4";
+		}
+		if (typeof V.arcologies[0].ownership === "undefined") {
+			V.arcologies[0].ownership = 50;
+		}
+		if (typeof V.arcologies[0].minority === "undefined") {
+			V.arcologies[0].minority = 20;
+		}
+		if (typeof V.arcologies[0].embargo === "undefined") {
+			V.arcologies[0].embargo = 1;
+		}
+		if (typeof V.arcologies[0].embargoTarget === "undefined") {
+			V.arcologies[0].embargoTarget = -1;
+		}
+		if (typeof V.arcologies[0].hackingEconomic === "undefined") {
+			V.arcologies[0].hackingEconomic = 1;
+		}
+		if (typeof V.arcologies[0].hackingEconomicTarget === "undefined") {
+			V.arcologies[0].hackingEconomicTarget = -1;
+		}
+		if (typeof V.arcologies[0].hackingReputationTarget === "undefined") {
+			V.arcologies[0].hackingReputationTarget = -1;
+		}
+		if (typeof V.arcologies[0].hackingReputation === "undefined") {
+			V.arcologies[0].hackingReputation = 1;
+		}
+		if (typeof V.arcologies[0].influenceTarget === "undefined") {
+			V.arcologies[0].influenceTarget = -1;
+		}
+		if (typeof V.arcologies[0].influenceBonus === "undefined") {
+			V.arcologies[0].influenceBonus = -1;
+		}
+		if (typeof V.arcologies[0].CyberEconomic === "undefined") {
+			V.arcologies[0].CyberEconomic = 1;
+		}
+		if (typeof V.arcologies[0].CyberEconomicTarget === "undefined") {
+			V.arcologies[0].CyberEconomicTarget = -1;
+		}
+		if (typeof V.arcologies[0].CyberReputation === "undefined") {
+			V.arcologies[0].CyberReputation = 1;
+		}
+		if (typeof V.arcologies[0].CyberReputationTarget === "undefined") {
+			V.arcologies[0].CyberReputationTarget = -1;
+		}
+		if (typeof V.arcologies[0].rival === "undefined") {
+			V.arcologies[0].rival = 0;
+		}
+		if (typeof V.arcologies[0].FSNull === "undefined") {
+			V.arcologies[0].FSNull = "unset";
+		}
+		if (typeof V.arcologies[0].FSRepopulationFocus === "undefined") {
+			V.arcologies[0].FSRepopulationFocus = "unset";
+		}
+		if (typeof V.arcologies[0].FSRepopulationFocusPregPolicy === "undefined") {
+			V.arcologies[0].FSRepopulationFocusPregPolicy = 0;
+		}
+		if (typeof V.arcologies[0].FSRepopulationFocusMilfPolicy === "undefined") {
+			V.arcologies[0].FSRepopulationFocusMilfPolicy = 0;
+		}
+		if (typeof V.arcologies[0].FSRepopulationFocusInterest === "undefined") {
+			V.arcologies[0].FSRepopulationFocusInterest = 0;
+		}
+		if (typeof V.arcologies[0].FSRestart === "undefined") {
+			V.arcologies[0].FSRestart = "unset";
+		}
+		if (typeof V.arcologies[0].FSEugenicsChastityPolicy === "undefined") {
+			V.arcologies[0].FSEugenicsChastityPolicy = 0;
+		}
+		if (typeof V.arcologies[0].FSEugenicsSterilizationPolicy === "undefined") {
+			V.arcologies[0].FSEugenicsSterilizationPolicy = 0;
+		}
+		if (typeof V.arcologies[0].FSEugenicsInterest === "undefined") {
+			V.arcologies[0].FSEugenicsInterest = 0;
+		}
+		if (typeof V.arcologies[0].PCminority === "undefined") {
+			V.arcologies[0].PCminority = 0;
+		}
+		if (typeof V.arcologies[0].demandFactor === "undefined") {
+			V.arcologies[0].demandFactor = 250;
+		}
+		if (typeof V.arcologies[0].leaderID === "undefined") {
+			V.arcologies[0].leaderID = 0;
+		}
+		// FS
+		{
+			if ((typeof V.FSSupremacist !== "undefined") && V.FSSupremacist !== "unset") {
+				V.arcologies[0].FSSupremacist = V.FSSupremacist;
+				V.arcologies[0].FSSupremacistRace = V.FSSupremacistRace;
+			} else if (typeof V.arcologies[0].FSSupremacist === "undefined") {
+				V.arcologies[0].FSSupremacist = "unset";
+			}
+			if ((typeof V.FSSupremacistLawME !== "undefined") && V.FSSupremacistLawME !== 0) {
+				V.arcologies[0].FSSupremacistLawME = V.FSSupremacistLawME;
+			} else if (typeof V.arcologies[0].FSSupremacistLawME === "undefined") {
+				V.arcologies[0].FSSupremacistLawME = 0;
+			}
+			if (V.arcologies[0].FSSupremacistRace === "middle") {
+				V.arcologies[0].FSSupremacistRace = "middle eastern";
+			} else if (V.arcologies[0].FSSupremacistRace === "pacific") {
+				V.arcologies[0].FSSupremacistRace = "pacific islander";
+			} else if (V.arcologies[0].FSSupremacistRace === "southern") {
+				V.arcologies[0].FSSupremacistRace = "southern european";
+			} else if (V.arcologies[0].FSSupremacistRace === "mixed") {
+				V.arcologies[0].FSSupremacistRace = "mixed race";
+			}
+			if ((typeof V.FSSubjugationist !== "undefined") && V.FSSubjugationist !== "unset") {
+				V.arcologies[0].FSSubjugationist = V.FSSubjugationist;
+				V.arcologies[0].FSSubjugationistRace = V.FSSubjugationistRace;
+			} else if (typeof V.arcologies[0].FSSubjugationist === "undefined") {
+				V.arcologies[0].FSSubjugationist = "unset";
+			}
+			if ((typeof V.FSSubjugationistLawME !== "undefined") && V.FSSubjugationistLawME !== 0) {
+				V.arcologies[0].FSSubjugationistLawME = V.FSSubjugationistLawME;
+			} else if (typeof V.arcologies[0].FSSubjugationistLawME === "undefined") {
+				V.arcologies[0].FSSubjugationistLawME = 0;
+			}
+			if (V.arcologies[0].FSSubjugationistRace === "middle") {
+				V.arcologies[0].FSSubjugationistRace = "middle eastern";
+			} else if (V.arcologies[0].FSSubjugationistRace === "pacific") {
+				V.arcologies[0].FSSubjugationistRace = "pacific islander";
+			} else if (V.arcologies[0].FSSubjugationistRace === "southern") {
+				V.arcologies[0].FSSubjugationistRace = "southern european";
+			} else if (V.arcologies[0].FSSubjugationistRace === "mixed") {
+				V.arcologies[0].FSSubjugationistRace = "mixed race";
+			}
+			if ((typeof V.FSDegradationist !== "undefined") && V.FSDegradationist !== "unset") {
+				V.arcologies[0].FSDegradationist = V.FSDegradationist;
+			} else if (typeof V.arcologies[0].FSDegradationist === "undefined") {
+				V.arcologies[0].FSDegradationist = "unset";
+			}
+			if ((typeof V.FSDegradationistLaw !== "undefined") && V.FSDegradationistLaw !== 0) {
+				V.arcologies[0].FSDegradationistLaw = V.FSDegradationistLaw;
+			} else if (typeof V.arcologies[0].FSDegradationistLaw === "undefined") {
+				V.arcologies[0].FSDegradationistLaw = 0;
+			}
+			if ((typeof V.FSPaternalist !== "undefined") && V.FSPaternalist !== "unset") {
+				V.arcologies[0].FSPaternalist = V.FSPaternalist;
+			} else if (typeof V.arcologies[0].FSPaternalist === "undefined") {
+				V.arcologies[0].FSPaternalist = "unset";
+			}
+			if ((typeof V.FSPaternalistLaw !== "undefined") && V.FSPaternalistLaw !== 0) {
+				V.arcologies[0].FSPaternalistLaw = V.FSPaternalistLaw;
+			} else if (typeof V.arcologies[0].FSPaternalistLaw === "undefined") {
+				V.arcologies[0].FSPaternalistLaw = 0;
+			}
+			if ((typeof V.FSGenderFundamentalist !== "undefined") && V.FSGenderFundamentalist !== "unset") {
+				V.arcologies[0].FSGenderFundamentalist = V.FSGenderFundamentalist;
+			} else if (typeof V.arcologies[0].FSGenderFundamentalist === "undefined") {
+				V.arcologies[0].FSGenderFundamentalist = "unset";
+			}
+			if ((typeof V.FSGenderFundamentalistSMR !== "undefined") && V.FSGenderFundamentalistSMR !== 0) {
+				V.arcologies[0].FSGenderFundamentalistSMR = V.FSGenderFundamentalistSMR;
+			} else if (typeof V.arcologies[0].FSGenderFundamentalistSMR === "undefined") {
+				V.arcologies[0].FSGenderFundamentalistSMR = 0;
+			}
+			delete V.arcologies[0].FSGenderFundamentalistLaw;
+			if ((typeof V.FSGenderRadicalist !== "undefined") && V.FSGenderRadicalist !== "unset") {
+				V.arcologies[0].FSGenderRadicalist = V.FSGenderRadicalist;
+			} else if (typeof V.arcologies[0].FSGenderRadicalist === "undefined") {
+				V.arcologies[0].FSGenderRadicalist = "unset";
+			}
+			if (typeof V.arcologies[0].FSGenderRadicalistLawBeauty === "undefined") {
+				V.arcologies[0].FSGenderRadicalistLawBeauty = 0;
+			}
+			if (typeof V.arcologies[0].FSGenderRadicalistLawFuta === "undefined") {
+				V.arcologies[0].FSGenderRadicalistLawFuta = 0;
+			}
+			delete V.arcologies[0].FSGenderRadicalistLawDicks;
+			delete V.arcologies[0].FSGenderRadicalistSMR;
+			if ((typeof V.FSBodyPurist !== "undefined") && V.FSBodyPurist !== "unset") {
+				V.arcologies[0].FSBodyPurist = V.FSBodyPurist;
+			} else if (typeof V.arcologies[0].FSBodyPurist === "undefined") {
+				V.arcologies[0].FSBodyPurist = "unset";
+			}
+			if ((typeof V.FSBodyPuristLaw !== "undefined") && V.FSBodyPuristLaw !== 0) {
+				V.arcologies[0].FSBodyPuristLaw = V.FSBodyPuristLaw;
+			} else if (typeof V.arcologies[0].FSBodyPuristLaw === "undefined") {
+				V.arcologies[0].FSBodyPuristLaw = 0;
+			}
+			if ((typeof V.FSPhysicalIdealist !== "undefined") && V.FSPhysicalIdealist !== "unset") {
+				V.arcologies[0].FSPhysicalIdealist = V.FSPhysicalIdealist;
+			} else if (typeof V.arcologies[0].FSPhysicalIdealist === "undefined") {
+				V.arcologies[0].FSPhysicalIdealist = "unset";
+			}
+			if ((typeof V.FSPhysicalIdealistSMR !== "undefined") && V.FSPhysicalIdealistSMR !== 0) {
+				V.arcologies[0].FSPhysicalIdealistSMR = V.FSPhysicalIdealistSMR;
+			} else if (typeof V.arcologies[0].FSPhysicalIdealistSMR === "undefined") {
+				V.arcologies[0].FSPhysicalIdealistSMR = 0;
+			}
+			if ((typeof V.FSTransformationFetishist !== "undefined") && V.FSTransformationFetishist !== "unset") {
+				V.arcologies[0].FSTransformationFetishist = V.FSTransformationFetishist;
+			} else if (typeof V.arcologies[0].FSTransformationFetishist === "undefined") {
+				V.arcologies[0].FSTransformationFetishist = "unset";
+			}
+			if ((typeof V.FSTransformationFetishistSMR !== "undefined") && V.FSTransformationFetishistSMR !== 0) {
+				V.arcologies[0].FSTransformationFetishistSMR = V.FSTransformationFetishistSMR;
+			} else if (typeof V.arcologies[0].FSTransformationFetishistSMR === "undefined") {
+				V.arcologies[0].FSTransformationFetishistSMR = 0;
+			}
+			delete V.arcologies[0].FSTransformationFetishistLaw;
+			if ((typeof V.FSAssetExpansionist !== "undefined") && V.FSAssetExpansionist !== "unset") {
+				V.arcologies[0].FSAssetExpansionist = V.FSAssetExpansionist;
+			} else if (typeof V.arcologies[0].FSAssetExpansionist === "undefined") {
+				V.arcologies[0].FSAssetExpansionist = "unset";
+			}
+			if ((typeof V.FSAssetExpansionistSMR !== "undefined") && V.FSAssetExpansionistSMR !== 0) {
+				V.arcologies[0].FSAssetExpansionistSMR = V.FSAssetExpansionistSMR;
+			} else if (typeof V.arcologies[0].FSAssetExpansionistSMR === "undefined") {
+				V.arcologies[0].FSAssetExpansionistSMR = 0;
+			}
+			delete V.arcologies[0].FSAssetExpansionistLaw;
+			if ((typeof V.FSSlimnessEnthusiast !== "undefined") && V.FSSlimnessEnthusiast !== "unset") {
+				V.arcologies[0].FSSlimnessEnthusiast = V.FSSlimnessEnthusiast;
+			} else if (typeof V.arcologies[0].FSSlimnessEnthusiast === "undefined") {
+				V.arcologies[0].FSSlimnessEnthusiast = "unset";
+			}
+			if ((typeof V.FSSlimnessEnthusiastSMR !== "undefined") && V.FSSlimnessEnthusiastSMR !== 0) {
+				V.arcologies[0].FSSlimnessEnthusiastSMR = V.FSSlimnessEnthusiastSMR;
+			} else if (typeof V.arcologies[0].FSSlimnessEnthusiastSMR === "undefined") {
+				V.arcologies[0].FSSlimnessEnthusiastSMR = 0;
+			}
+			if ((typeof V.FSMaturityPreferentialist !== "undefined") && V.FSMaturityPreferentialist !== "unset") {
+				V.arcologies[0].FSMaturityPreferentialist = V.FSMaturityPreferentialist;
+			} else if (typeof V.arcologies[0].FSMaturityPreferentialist === "undefined") {
+				V.arcologies[0].FSMaturityPreferentialist = "unset";
+			}
+			if ((typeof V.FSMaturityPreferentialistLaw !== "undefined") && V.FSMaturityPreferentialistLaw !== 0) {
+				V.arcologies[0].FSMaturityPreferentialistLaw = V.FSMaturityPreferentialistLaw;
+			} else if (typeof V.arcologies[0].FSMaturityPreferentialistLaw === "undefined") {
+				V.arcologies[0].FSMaturityPreferentialistLaw = 0;
+			}
+			if ((typeof V.FSYouthPreferentialist !== "undefined") && V.FSYouthPreferentialist !== "unset") {
+				V.arcologies[0].FSYouthPreferentialist = V.FSYouthPreferentialist;
+			} else if (typeof V.arcologies[0].FSYouthPreferentialist === "undefined") {
+				V.arcologies[0].FSYouthPreferentialist = "unset";
+			}
+			if ((typeof V.FSYouthPreferentialistLaw !== "undefined") && V.FSYouthPreferentialistLaw !== 0) {
+				V.arcologies[0].FSYouthPreferentialistLaw = V.FSYouthPreferentialistLaw;
+			} else if (typeof V.arcologies[0].FSYouthPreferentialistLaw === "undefined") {
+				V.arcologies[0].FSYouthPreferentialistLaw = 0;
+			}
+			if ((typeof V.FSPastoralist !== "undefined") && V.FSPastoralist !== "unset") {
+				V.arcologies[0].FSPastoralist = V.FSPastoralist;
+			} else if (typeof V.arcologies[0].FSPastoralist === "undefined") {
+				V.arcologies[0].FSPastoralist = "unset";
+			}
+			if ((typeof V.FSPastoralistLaw !== "undefined") && V.FSPastoralistLaw !== 0) {
+				V.arcologies[0].FSPastoralistLaw = V.FSPastoralistLaw;
+			} else if (typeof V.arcologies[0].FSPastoralistLaw === "undefined") {
+				V.arcologies[0].FSPastoralistLaw = 0;
+			}
+			if ((typeof V.FSChattelReligionist !== "undefined") && V.FSChattelReligionist !== "unset") {
+				V.arcologies[0].FSChattelReligionist = V.FSChattelReligionist;
+			} else if (typeof V.arcologies[0].FSChattelReligionist === "undefined") {
+				V.arcologies[0].FSChattelReligionist = "unset";
+			}
+			if ((typeof V.FSChattelReligionistLaw !== "undefined") && V.FSChattelReligionistLaw !== 0) {
+				V.arcologies[0].FSChattelReligionistLaw = V.FSChattelReligionistLaw;
+			} else if (typeof V.arcologies[0].FSChattelReligionistLaw === "undefined") {
+				V.arcologies[0].FSChattelReligionistLaw = 0;
+			}
+			if ((typeof V.FSRomanRevivalist !== "undefined") && V.FSRomanRevivalist !== "unset") {
+				V.arcologies[0].FSRomanRevivalist = V.FSRomanRevivalist;
+			} else if (typeof V.arcologies[0].FSRomanRevivalist === "undefined") {
+				V.arcologies[0].FSRomanRevivalist = "unset";
+			}
+			if ((typeof V.FSRomanRevivalistLaw !== "undefined") && V.FSRomanRevivalistLaw !== 0) {
+				V.arcologies[0].FSRomanRevivalistLaw = V.FSRomanRevivalistLaw;
+			} else if (typeof V.arcologies[0].FSRomanRevivalistLaw === "undefined") {
+				V.arcologies[0].FSRomanRevivalistLaw = 0;
+			}
+			if ((typeof V.FSEgyptianRevivalist !== "undefined") && V.FSEgyptianRevivalist !== "unset") {
+				V.arcologies[0].FSEgyptianRevivalist = V.FSEgyptianRevivalist;
+			} else if (typeof V.arcologies[0].FSEgyptianRevivalist === "undefined") {
+				V.arcologies[0].FSEgyptianRevivalist = "unset";
+			}
+			if ((typeof V.FSEgyptianRevivalistLaw !== "undefined") && V.FSEgyptianRevivalistLaw !== 0) {
+				V.arcologies[0].FSEgyptianRevivalistLaw = V.FSEgyptianRevivalistLaw;
+			} else if (typeof V.arcologies[0].FSEgyptianRevivalistLaw === "undefined") {
+				V.arcologies[0].FSEgyptianRevivalistLaw = 0;
+			}
+			if (typeof V.arcologies[0].FSEgyptianRevivalistIncestPolicy === "undefined") {
+				V.arcologies[0].FSEgyptianRevivalistIncestPolicy = 0;
+			}
+			if (typeof V.arcologies[0].FSEgyptianRevivalistInterest === "undefined") {
+				V.arcologies[0].FSEgyptianRevivalistInterest = 0;
+			}
+			if ((typeof V.FSEdoRevivalist !== "undefined") && V.FSEdoRevivalist !== "unset") {
+				V.arcologies[0].FSEdoRevivalist = V.FSEdoRevivalist;
+			} else if (typeof V.arcologies[0].FSEdoRevivalist === "undefined") {
+				V.arcologies[0].FSEdoRevivalist = "unset";
+			}
+			if ((typeof V.FSEdoRevivalistLaw !== "undefined") && V.FSEdoRevivalistLaw !== 0) {
+				V.arcologies[0].FSEdoRevivalistLaw = V.FSEdoRevivalistLaw;
+			} else if (typeof V.arcologies[0].FSEdoRevivalistLaw === "undefined") {
+				V.arcologies[0].FSEdoRevivalistLaw = 0;
+			}
+			if ((typeof V.FSArabianRevivalist !== "undefined") && V.FSArabianRevivalist !== "unset") {
+				V.arcologies[0].FSArabianRevivalist = V.FSArabianRevivalist;
+			} else if (typeof V.arcologies[0].FSArabianRevivalist === "undefined") {
+				V.arcologies[0].FSArabianRevivalist = "unset";
+			}
+			if ((typeof V.FSArabianRevivalistLaw !== "undefined") && V.FSArabianRevivalistLaw !== 0) {
+				V.arcologies[0].FSArabianRevivalistLaw = V.FSArabianRevivalistLaw;
+			} else if (typeof V.arcologies[0].FSArabianRevivalistLaw === "undefined") {
+				V.arcologies[0].FSArabianRevivalistLaw = 0;
+			}
+			if ((typeof V.FSChineseRevivalist !== "undefined") && V.FSChineseRevivalist !== "unset") {
+				V.arcologies[0].FSChineseRevivalist = V.FSChineseRevivalist;
+			} else if (typeof V.arcologies[0].FSChineseRevivalist === "undefined") {
+				V.arcologies[0].FSChineseRevivalist = "unset";
+			}
+			if ((typeof V.FSChineseRevivalistLaw !== "undefined") && V.FSChineseRevivalistLaw !== 0) {
+				V.arcologies[0].FSChineseRevivalistLaw = V.FSChineseRevivalistLaw;
+			} else if (typeof V.arcologies[0].FSChineseRevivalistLaw === "undefined") {
+				V.arcologies[0].FSChineseRevivalistLaw = 0;
+			}
+			delete V.arcologies[0].FSNullLaw;
+
+			if (V.arcologies[0].FSSubjugationist !== "unset" && !Number.isFinite(V.arcologies[0].FSSubjugationist)) {
+				V.arcologies[0].FSSubjugationist = 10;
+				r += `<br>Fixed NaN FS value for FSSubjugationist`;
+			}
+			if (V.arcologies[0].FSGenderRadicalist !== "unset" && !Number.isFinite(V.arcologies[0].FSGenderRadicalist)) {
+				V.arcologies[0].FSGenderRadicalist = 10;
+				r += `<br>Fixed NaN FS value for FSGenderRadicalist`;
+			}
+			if (V.arcologies[0].FSRestart !== "unset" && !Number.isFinite(V.arcologies[0].FSRestart)) {
+				V.arcologies[0].FSRestart = 10;
+				r += `<br>Fixed NaN FS value for FSRestart`;
+			}
+			if (V.arcologies[0].FSRepopulationFocus !== "unset" && !Number.isFinite(V.arcologies[0].FSRepopulationFocus)) {
+				V.arcologies[0].FSRepopulationFocus = 10;
+				r += `<br>Fixed NaN FS value for FSRepopulationFocus`;
+			}
+			if (V.arcologies[0].FSSupremacist !== "unset" && !Number.isFinite(V.arcologies[0].FSSupremacist)) {
+				V.arcologies[0].FSSupremacist = 10;
+				r += `<br>Fixed NaN FS value for FSSupremacist`;
+			}
+			if (V.arcologies[0].FSBodyPurist !== "unset" && !Number.isFinite(V.arcologies[0].FSBodyPurist)) {
+				V.arcologies[0].FSBodyPurist = 10;
+				r += `<br>Fixed NaN FS value for FSBodyPurist`;
+			}
+			if (V.arcologies[0].FSPaternalist !== "unset" && !Number.isFinite(V.arcologies[0].FSPaternalist)) {
+				V.arcologies[0].FSPaternalist = 10;
+				r += `<br>Fixed NaN FS value for FSPaternalist`;
+			}
+			if (V.arcologies[0].FSSlimnessEnthusiast !== "unset" && !Number.isFinite(V.arcologies[0].FSSlimnessEnthusiast)) {
+				V.arcologies[0].FSSlimnessEnthusiast = 10;
+				r += `<br>Fixed NaN FS value for FSSlimnessEnthusiast`;
+			}
+			if (V.arcologies[0].FSGenderFundamentalist !== "unset" && !Number.isFinite(V.arcologies[0].FSGenderFundamentalist)) {
+				V.arcologies[0].FSGenderFundamentalist = 10;
+				r += `<br>Fixed NaN FS value for FSGenderFundamentalist`;
+			}
+			if (V.arcologies[0].FSMaturityPreferentialist !== "unset" && !Number.isFinite(V.arcologies[0].FSMaturityPreferentialist)) {
+				V.arcologies[0].FSMaturityPreferentialist = 10;
+				r += `<br>Fixed NaN FS value for FSMaturityPreferentialist`;
+			}
+			if (V.arcologies[0].FSYouthPreferentialist !== "unset" && !Number.isFinite(V.arcologies[0].FSYouthPreferentialist)) {
+				V.arcologies[0].FSYouthPreferentialist = 10;
+				r += `<br>Fixed NaN FS value for FSYouthPreferentialist`;
+			}
+			if (V.arcologies[0].FSTransformationFetishist !== "unset" && !Number.isFinite(V.arcologies[0].FSTransformationFetishist)) {
+				V.arcologies[0].FSTransformationFetishist = 10;
+				r += `<br>Fixed NaN FS value for FSTransformationFetishist`;
+			}
+			if (V.arcologies[0].FSHedonisticDecadence !== "unset" && !Number.isFinite(V.arcologies[0].FSHedonisticDecadence)) {
+				V.arcologies[0].FSHedonisticDecadence = 10;
+				r += `<br>Fixed NaN FS value for FSHedonisticDecadence`;
+			}
+			if (V.arcologies[0].FSPhysicalIdealist !== "unset" && !Number.isFinite(V.arcologies[0].FSPhysicalIdealist)) {
+				V.arcologies[0].FSPhysicalIdealist = 10;
+				r += `<br>Fixed NaN FS value for FSPhysicalIdealist`;
+			}
+			if (V.arcologies[0].FSPastoralist !== "unset" && !Number.isFinite(V.arcologies[0].FSPastoralist)) {
+				V.arcologies[0].FSPastoralist = 10;
+				r += `<br>Fixed NaN FS value for FSPastoralist`;
+			}
+			if (V.arcologies[0].FSAssetExpansionist !== "unset" && !Number.isFinite(V.arcologies[0].FSAssetExpansionist)) {
+				V.arcologies[0].FSAssetExpansionist = 10;
+				r += `<br>Fixed NaN FS value for FSAssetExpansionist`;
+			}
+			if (V.arcologies[0].FSDegradationist !== "unset" && !Number.isFinite(V.arcologies[0].FSDegradationist)) {
+				V.arcologies[0].FSDegradationist = 10;
+				r += `<br>Fixed NaN FS value for FSDegradationist`;
+			}
+			if (V.arcologies[0].FSRomanRevivalist !== "unset" && !Number.isFinite(V.arcologies[0].FSRomanRevivalist)) {
+				V.arcologies[0].FSRomanRevivalist = 10;
+				r += `<br>Fixed NaN FS value for FSRomanRevivalist`;
+			}
+			if (V.arcologies[0].FSChattelReligionist !== "unset" && !Number.isFinite(V.arcologies[0].FSChattelReligionist)) {
+				V.arcologies[0].FSChattelReligionist = 10;
+				r += `<br>Fixed NaN FS value for FSChattelReligionist`;
+			}
+			if (V.arcologies[0].FSChineseRevivalist !== "unset" && !Number.isFinite(V.arcologies[0].FSChineseRevivalist)) {
+				V.arcologies[0].FSChineseRevivalist = 10;
+				r += `<br>Fixed NaN FS value for FSChineseRevivalist`;
+			}
+			if (V.arcologies[0].FSArabianRevivalist !== "unset" && !Number.isFinite(V.arcologies[0].FSArabianRevivalist)) {
+				V.arcologies[0].FSArabianRevivalist = 10;
+				r += `<br>Fixed NaN FS value for FSArabianRevivalist`;
+			}
+			if (V.arcologies[0].FSEdoRevivalist !== "unset" && !Number.isFinite(V.arcologies[0].FSEdoRevivalist)) {
+				V.arcologies[0].FSEdoRevivalist = 10;
+				r += `<br>Fixed NaN FS value for FSEdoRevivalist`;
+			}
+			if (V.arcologies[0].FSEgyptianRevivalist !== "unset" && !Number.isFinite(V.arcologies[0].FSEgyptianRevivalist)) {
+				V.arcologies[0].FSEgyptianRevivalist = 10;
+				r += `<br>Fixed NaN FS value for FSEgyptianRevivalist`;
+			}
+			if (V.arcologies[0].FSAztecRevivalist !== "unset" && !Number.isFinite(V.arcologies[0].FSAztecRevivalist)) {
+				V.arcologies[0].FSAztecRevivalist = 10;
+				r += `<br>Fixed NaN FS value for FSAztecRevivalist`;
+			}
+			if (V.arcologies[0].FSIntellectualDependency !== "unset" && !Number.isFinite(V.arcologies[0].FSIntellectualDependency)) {
+				V.arcologies[0].FSIntellectualDependency = 10;
+				r += `<br>Fixed NaN FS value for FSIntellectualDependency`;
+			}
+			if (V.arcologies[0].FSSlaveProfessionalism !== "unset" && !Number.isFinite(V.arcologies[0].FSSlaveProfessionalism)) {
+				V.arcologies[0].FSSlaveProfessionalism = 10;
+				r += `<br>Fixed NaN FS value for FSSlaveProfessionalism`;
+			}
+			if (V.arcologies[0].FSPetiteAdmiration !== "unset" && !Number.isFinite(V.arcologies[0].FSPetiteAdmiration)) {
+				V.arcologies[0].FSPetiteAdmiration = 10;
+				r += `<br>Fixed NaN FS value for FSPetiteAdmiration`;
+			}
+			if (V.arcologies[0].FSStatuesqueGlorification !== "unset" && !Number.isFinite(V.arcologies[0].FSStatuesqueGlorification)) {
+				V.arcologies[0].FSStatuesqueGlorification = 10;
+				r += `<br>Fixed NaN FS value for FSStatuesqueGlorification`;
+			}
+			// Clean up FS in player arcology
+			App.Update.FScheatDatatypeCleanup();
+		}
+	}
+
+	// Player Arcology
+	{
+		if (typeof V.assistant === "number") {
+			assistant.BC();
+		} else {
+			assistant.object();
+		}
+		if (jQuery.isEmptyObject(V.FSPromenade)) {
+			V.FSPromenade = {
+				Subjugationist: 0,
+				Supremacist: 0,
+				GenderRadicalist: 0,
+				GenderFundamentalist: 0,
+				Paternalist: 0,
+				Degradationist: 0,
+				BodyPurist: 0,
+				TransformationFetishist: 0,
+				YouthPreferentialist: 0,
+				MaturityPreferentialist: 0,
+				SlimnessEnthusiast: 0,
+				AssetExpansionist: 0,
+				Pastoralist: 0,
+				PhysicalIdealist: 0,
+				ChattelReligionist: 0,
+				RomanRevivalist: 0,
+				AztecRevivalist: 0,
+				EgyptianRevivalist: 0,
+				EdoRevivalist: 0,
+				ArabianRevivalist: 0,
+				ChineseRevivalist: 0,
+				Repopulationist: 0,
+				Eugenics: 0,
+				Hedonism: 0,
+				IntellectualDependency: 0,
+				SlaveProfessionalism: 0,
+				PetiteAdmiration: 0,
+				StatuesqueGlorification: 0
+			};
+		}
+		if (jQuery.isEmptyObject(V.arcologyUpgrade)) {
+			V.arcologyUpgrade = {
+				drones: 0,
+				hydro: 0,
+				apron: 0,
+				grid: 0,
+				spire: 0
+			};
+			V.arcologyUpgrade.drones = (V.AProsperityCap > 60) ? 1 : 0;
+			V.arcologyUpgrade.hydro = (V.AProsperityCap > 80) ? 1 : 0;
+			V.arcologyUpgrade.apron = (V.AProsperityCap > 100) ? 1 : 0;
+			V.arcologyUpgrade.grid = (V.AProsperityCap > 120) ? 1 : 0;
+			V.arcologyUpgrade.spire = (V.AProsperityCap > 240) ? 1 : 0;
+		}
+		if (jQuery.isEmptyObject(V.building)) {
+			if (typeof V.sectors !== "undefined") {
+				App.Update.sectorsToBuilding();
+			} else {
+				V.building = App.Arcology.defaultBuilding();
+			}
+		}
+
+		if (jQuery.isEmptyObject(V.trinkets)) {
+			V.trinkets = [];
+			if (V.PC.career === "wealth") {
+				V.trinkets.push("a collection of diplomas from expensive schools");
+			} else if (V.PC.career === "capitalist") {
+				V.trinkets.push("a framed low denomination piece of paper money from your native country");
+			} else if (V.PC.career === "mercenary") {
+				V.trinkets.push("a battered old assault rifle");
+			} else if (V.PC.career === "slaver") {
+				V.trinkets.push("a framed picture of a slave with her sale price scrawled across the bottom");
+			} else if (V.PC.career === "engineer") {
+				V.trinkets.push("an artist's impression of an early arcology design");
+			} else if (V.PC.career === "medicine") {
+				V.trinkets.push("a framed postsurgical x-ray");
+			} else if (V.PC.career === "celebrity") {
+				V.trinkets.push("a framed copy of the first news story featuring yourself");
+			} else if (V.PC.career === "arcology owner") {
+				V.trinkets.push("a miniature model of your first arcology");
+			} else if (V.PC.career === "escort") {
+				V.trinkets.push("a copy of the first porno you starred in");
+			} else if (V.PC.career === "servant") {
+				V.trinkets.push("a framed picture of your late Master");
+			} else if (V.PC.career === "gang") {
+				V.trinkets.push("your favorite handgun, whose sight has instilled fear in many");
+			} else if (V.PC.career === "BlackHat") {
+				V.trinkets.push("a news clipping of your first successful live hack");
+			}
+		}
+	}
+
+	// Clean up neighbor's arcologies
+	App.Update.neighborArcologyCheatDatatypeCleanup();
+
+	// Corp
+	{
+		App.Corporate.Backcompat();
+		/* Corporation variables added*/
+		if (V.corpExpandToken > 1) {
+			V.corpExpandToken = 1;
+		}
+		V.dividendTimer = V.dividendTimer || 13;
+
+		/* Removing the old Corp from save*/
+		if (V.corpValue) {
+			cashX(Math.min(Math.trunc((V.corpValue / (V.publicShares + V.personalShares)) * V.personalShares), 1000000), "stocksTraded");
+			/* Paying the player for his old corporation, so they can get the new one started with haste. It should perhaps have a message going with it*/
+			if (typeof V.sectors !== "undefined") {
+				for (let i = 0; i < V.sectors.length; i++) {
+					if (V.sectors[i].type === "CorporateMarket") {
+						V.sectors[i].type = "Markets";
+						break;
+					}
+				}
+			}
+		}
+	}
+
+	// Organs
+	{
+		let newOrgans = [];
+		V.organs.forEach(o => {
+			if (o.type === "eyes") {
+				newOrgans.push({type: "leftEye", weeksToCompletion: o.weeksToCompletion, ID: o.ID});
+				newOrgans.push({type: "rightEye", weeksToCompletion: o.weeksToCompletion, ID: o.ID});
+			} else {
+				newOrgans.push(o);
+			}
+		});
+		V.organs = newOrgans;
+
+		newOrgans = [];
+		V.completedOrgans.forEach(o => {
+			if (o.type === "eyes") {
+				newOrgans.push({type: "leftEye", ID: o.ID});
+				newOrgans.push({type: "rightEye", ID: o.ID});
+			} else {
+				newOrgans.push(o);
+			}
+		});
+		V.completedOrgans = newOrgans;
+	}
+
+	FacilityDatatypeCleanup();
+
+	if (typeof V.TFS.compromiseWeek === "undefined") {
+		V.TFS.compromiseWeek = 0;
+	}
+
+	// Pornstars
+	{
+		/* migrate to new genre-driven pornstar object */
+		if (typeof V.pornStars === "number") {
+			const oldPornStars = V.pornStars;
+
+			V.pornStars = {};
+			V.pornStars.general = {p1count: oldPornStars, p3ID: V.pornStarID};
+			V.pornStars.fuckdoll = {p1count: V.pornStarFuckdolls, p3ID: V.pornStarFuckdollID};
+			V.pornStars.rape = {p1count: V.pornStarRapees, p3ID: V.pornStarRapeID};
+			V.pornStars.preggo = {p1count: V.pornStarPreggos, p3ID: V.pornStarPreggoID};
+			V.pornStars.BBW = {p1count: V.pornStarBBWs, p3ID: V.pornStarBBWID};
+			V.pornStars.gainer = {p1count: V.pornStarGainers, p3ID: V.pornStarGainerID};
+			V.pornStars.stud = {p1count: V.pornStarStuds, p3ID: V.pornStarStudID};
+			V.pornStars.loli = {p1count: V.pornStarLolis, p3ID: V.pornStarLoliID};
+			V.pornStars.deepThroat = {p1count: V.pornStarDeepThroats, p3ID: V.pornStarDeepThroatID};
+			V.pornStars.struggleFuck = {p1count: V.pornStarStruggleFucks, p3ID: V.pornStarStruggleFuckID};
+			V.pornStars.painal = {p1count: V.pornStarPainals, p3ID: V.pornStarPainalID};
+			V.pornStars.tease = {p1count: V.pornStarTeases, p3ID: V.pornStarTeaseID};
+			V.pornStars.romantic = {p1count: V.pornStarRomantics, p3ID: V.pornStarRomanticID};
+			V.pornStars.pervert = {p1count: V.pornStarPerverts, p3ID: V.pornStarPervertID};
+			V.pornStars.caring = {p1count: V.pornStarCarings, p3ID: V.pornStarCaringID};
+			V.pornStars.unflinching = {p1count: V.pornStarUnflinchings, p3ID: V.pornStarUnflinchingID};
+			V.pornStars.sizeQueen = {p1count: V.pornStarSizeQueens, p3ID: V.pornStarSizeQueenID};
+			V.pornStars.neglectful = {p1count: V.pornStarNeglectfuls, p3ID: V.pornStarNeglectfulID};
+			V.pornStars.cumAddict = {p1count: V.pornStarCumAddicts, p3ID: V.pornStarCumAddictID};
+			V.pornStars.analAddict = {p1count: V.pornStarAnalAddicts, p3ID: V.pornStarAnalAddictID};
+			V.pornStars.attentionWhore = {p1count: V.pornStarAttentionWhores, p3ID: V.pornStarAttentionWhoreID};
+			V.pornStars.breastGrowth = {p1count: V.pornStarBreastGrowths, p3ID: V.pornStarBreastGrowthID};
+			V.pornStars.abusive = {p1count: V.pornStarAbusives, p3ID: V.pornStarAbusiveID};
+			V.pornStars.malicious = {p1count: V.pornStarMalicious, p3ID: V.pornStarMaliciousID};
+			V.pornStars.selfHating = {p1count: V.pornStarSelfHatings, p3ID: V.pornStarSelfHatingID};
+			V.pornStars.breeder = {p1count: V.pornStarBreeders, p3ID: V.pornStarBreederID};
+			V.pornStars.sub = {p1count: V.pornStarSubs, p3ID: V.pornStarSubID};
+			V.pornStars.cumSlut = {p1count: V.pornStarCumSluts, p3ID: V.pornStarCumSlutID};
+			V.pornStars.anal = {p1count: V.pornStarAnals, p3ID: V.pornStarAnalID};
+			V.pornStars.humiliation = {p1count: V.pornStarHumiliations, p3ID: V.pornStarHumiliationID};
+			V.pornStars.boobs = {p1count: V.pornStarBoobs, p3ID: V.pornStarBoobsID};
+			V.pornStars.dom = {p1count: V.pornStarDoms, p3ID: V.pornStarDomID};
+			V.pornStars.sadist = {p1count: V.pornStarSadists, p3ID: V.pornStarSadistID};
+			V.pornStars.masochist = {p1count: V.pornStarMasochists, p3ID: V.pornStarMasochistID};
+			V.pornStars.pregnancy = {p1count: V.pornStarPregnancySluts, p3ID: V.pornStarPregnancyID};
+		}
+
+		/* make sure that any new genres get added correctly (and populate V.pornStars for very old games) */
+		for (let genre in App.Porn.getAllGenres()) {
+			if (typeof V.pornStars[genre.fameVar] === "undefined") {
+				V.pornStars[genre.fameVar] = {p1count: 0, p3ID: 0};
+			}
+		}
+		if (V.PCSlutContacts === 0) {
+			V.PCSlutContacts = 1;
+		}
+	}
+
+	// Slave services and goods variables
+	{
+		if (typeof V.lowerClassSatisfied !== "undefined") {
+			V.classSatisfied.lowerClass = V.lowerClassSatisfied;
+		}
+		if (typeof V.sexSubsidiesLC !== "undefined") {
+			V.sexSubsidies.lowerClass = V.sexSubsidiesLC;
+		}
+		if (typeof V.sexSupplyBarriersLC !== "undefined") {
+			V.sexSupplyBarriers.lowerClass = V.sexSupplyBarriersLC;
+		}
+		V.food = Math.max(+V.food, 0) || 0;
+		if (V.foodConsumption === 0) {
+			V.foodConsumption = ((V.lowerClass * V.foodRate.lower) + (V.middleClass * V.foodRate.middle) + (V.upperClass * V.foodRate.upper) + (V.topClass * V.foodRate.top)); /* total amount food consumed per week */
+		}
+	}
+
+	EconomyDatatypeCleanup();
+	ArcologyDatatypeCleanup();
+
+	r += ` Done!<br>`;
+	return r;
+};
+
+App.Update.slaveVariables = function() {
+	let r = `Setting missing slave variables... `;
+	/* Adding a new variable? Consider putting it in datatypeCleanupJS.tw instead of here */
+	for (let bci = 0; bci < V.slaves.length; bci++) {
+		let Slave = V.slaves[bci];
+
+		if (typeof Slave !== "object") {
+			V.slaves.deleteAt(bci), bci--;
+			continue;
+		}
+
+		App.Update.Slave(Slave);
+
+		V.slaves[bci] = Slave;
+	}
+	r += ` Done!<br>`;
+	return r;
+};
+
+App.Update.slaveRecords = function() {
+	let r = `Checking and fixing slave records...`;
+	V.slaves.forEach((slave) => {
+		App.Entity.Utils.SlaveDataSchemeCleanup(slave);
+		SlaveDatatypeCleanup(slave);
+		let leaderIdx = V.leaders.findIndex(function(s) { return s.ID === slave.ID; });
+		if (leaderIdx !== -1) {
+			V.leaders[leaderIdx] = slave;
+		}
+	});
+	if (V.hostage !== 0) {
+		App.Update.Slave(V.hostage);
+		App.Entity.Utils.SlaveDataSchemeCleanup(V.hostage);
+		SlaveDatatypeCleanup(V.hostage);
+	}
+	if (typeof V.slaveAfterRA !== "undefined") {
+		App.Update.Slave(V.slaveAfterRA);
+		App.Entity.Utils.SlaveDataSchemeCleanup(V.slaveAfterRA);
+		SlaveDatatypeCleanup(V.slaveAfterRA);
+	}
+	if (V.boomerangSlave !== 0) {
+		App.Update.Slave(V.boomerangSlave);
+		App.Entity.Utils.SlaveDataSchemeCleanup(V.boomerangSlave);
+		SlaveDatatypeCleanup(V.boomerangSlave);
+	}
+	if (V.traitor !== 0) {
+		App.Update.Slave(V.traitor);
+		App.Entity.Utils.SlaveDataSchemeCleanup(V.traitor);
+		SlaveDatatypeCleanup(V.traitor);
+	}
+	r += ` Done!<br>`;
+
+	if (V.tanks.length > 0) {
+		r += `Checking and fixing records for incubator tanks... `;
+		V.tanks.forEach((slave) => {
+			App.Update.Slave(slave);
+			App.Entity.Utils.SlaveDataSchemeCleanup(slave);
+			SlaveDatatypeCleanup(slave, true);
+			/* pass second argument as true so that slaveAgeDatatypeCleanup is not run */
+		});
+		r += ` Done!<br> `;
+	}
+
+	if (V.cribs.length > 0) {
+		r += `Checking and fixing records for nursery cribs... `;
+		V.cribs.forEach((child) => {
+			if (child.actualAge < 3) {
+				App.Facilities.Nursery.InfantDatatypeCleanup(child);
+			} else {
+				App.Entity.Utils.SlaveDataSchemeCleanup(child, true);
+				App.Facilities.Nursery.ChildDatatypeCleanup(child);
+			}
+		});
+		V.cribsIndices = App.Facilities.Nursery.cribsToIndices();
+		r += ` Done!<br> `;
+	}
+	return r;
+};
+
+App.Update.specialSlaveRecords = function() {
+	let r = "";
+	if (V.heroSlaves.length > 0) {
+		r += `Checking and fixing special slave records... `;
+		V.heroSlaves.forEach((slave) => {
+			App.Entity.Utils.SlaveDataSchemeCleanup(slave);
+			/* No SlaveDatatypeCleanup() call as hero slaves are not SlaveState objects */
+		});
+		r += ` Done!<br> `;
+	}
+	return r;
+};
+
+App.Update.genePoolRecords = function() {
+	let r = `Updating gene pool records... `;
+	for (let bci = 0; bci < V.genePool.length; bci++) {
+		let slave = V.genePool[bci];
+
+		App.Update.Slave(slave);
+
+		if (V.genePool.map(function(s) { return s.ID; }).count(slave.ID) > 1) {
+			/* first check for duplicate IDs, keep the first entry and delete the others */
+			for (let bci2 = bci + 1; bci2 < V.genePool.length; bci2++) {
+				if (V.genePool[bci2].ID === slave.ID) {
+					V.genePool.deleteAt(bci2), bci2--;
+				}
+			}
+		}
+		let dontDeleteMe = 0;
+		if (typeof V.slaveIndices[slave.ID] !== "undefined") {
+			/* are we still in the V.slaves array? */
+			dontDeleteMe = 1;
+		}
+		if (V.traitor !== 0) {
+			if (isImpregnatedBy(V.traitor, slave) || V.traitor.ID === slave.ID) {
+				/* did we impregnate the traitor, or are we the traitor? */
+				dontDeleteMe = 1;
+			}
+		}
+		if (V.boomerangSlave !== 0) {
+			if (isImpregnatedBy(V.boomerangSlave, slave) || V.boomerangSlave.ID === slave.ID) {
+				/* did we impregnate the boomerang, or are we the boomerang? */
+				dontDeleteMe = 1;
+			}
+		}
+		if (isImpregnatedBy(V.PC, slave)) {
+			/* did we impregnate the PC */
+			dontDeleteMe = 1;
+		}
+		if (dontDeleteMe === 0) {
+			/* avoid going through this loop if possible */
+			for (let bci2 = 0; bci2 < V.slaves.length; bci2++) {
+				if (isImpregnatedBy(V.slaves[bci2], slave)) {
+					/* have we impregnated a slave on the slaves array? */
+					dontDeleteMe = 1;
+					break;
+				}
+			}
+		}
+		if (dontDeleteMe === 0) {
+			V.genePool.deleteAt(bci), bci--;
+			continue;
+		}
+		if (typeof slave.origSkin === "undefined") {
+			slave.origSkin = slave.skin;
+		}
+		if (typeof slave.origRace === "undefined") {
+			slave.origRace = slave.race;
+		}
+		if (V.releaseID < 1059) {
+			if (typeof slave.eyesImplant === "undefined") {
+				slave.eyesImplant = 0;
+			}
+			let oldEyes;
+			if (slave.origEye === "implant") {
+				slave.eyesImplant = 1;
+				oldEyes = V.genePool.find(function(s) { return s.ID = slave.ID; });
+				slave.origEye = oldEyes.origEye;
+			}
+			if (slave.origEye === "none") {
+				slave.eyes = -3;
+				oldEyes = V.genePool.find(function(s) { return s.ID = slave.ID; });
+				slave.origEye = oldEyes.origEye;
+			}
+			if (slave.eyeColor === "empty") {
+				slave.eyeColor = slave.origEye;
+				slave.eyes = -4;
+			}
+		}
+		if (typeof slave.custom === "undefined") {
+			slave.custom = {};
+		}
+		slave.custom.tattoo = slave.customTat || "";
+		slave.custom.label = slave.custom.label || "";
+		slave.custom.desc = slave.custom.desc || "";
+		slave.custom.title = slave.custom.title || "";
+		slave.custom.titleLisp = slave.custom.titleLisp || "";
+		slave.custom.hairVector = slave.custom.hairVector || 0;
+		slave.custom.image = slave.custom.image || null;
+
+		App.Entity.Utils.GenePoolRecordCleanup(slave);
+		V.genePool[bci] = slave;
+	}
+	if (V.nurseryNannies > 0) {
+		for (let bci = 0; bci < V.cribs.length; bci++) {
+			App.Update.Slave(V.cribs[bci]);
+			// let _nurseryChild = V.cribs[bci]; TODO: on importing this to JS, what is this even supposed to do?
+		}
+	}
+
+	V.AgeEffectOnTrainerPricingPC = 1;
+	V.AgeEffectOnTrainerEffectivenessPC = 1;
+	V.AgeTrainingUpperBoundPC = 14;
+	V.AgeTrainingLowerBoundPC = 12;
+	V.IsInPrimePC = 3;
+	V.IsPastPrimePC = 5000;
+	r += ` Done!<br>`;
+	return r;
+};
+
+App.Update.RAassistantData = function() {
+	let r = `Updating Rules Assistant data...`;
+	V.defaultRules = V.defaultRules.map(rule => App.Entity.Utils.RARuleDatatypeCleanup(rule));
+	r += ` Done!<br>`;
+	return r;
+};
+
+App.Update.oldVersions = function() {
+	if (V.releaseID === 1021 || V.releaseID === 1020 || V.releaseID === 1019 || V.releaseID === 2022) {
+		V.releaseID = 1022;
+	}
+	let r = "";
+	if (V.releaseID < 1043) {
+		V.defaultRules.forEach((rule) => {
+			if (rule.condition.excludeSpecialSlaves) {
+				rule.condition.specialSlaves = 0;
+			} else {
+				rule.condition.specialSlaves = -1;
+			}
+			delete rule.condition.excludeSpecialSlaves;
+		});
+	}
+	if (V.releaseID === 1043) {
+		V.slaves.forEach(s => { s.skill.whoring = s.skill.whore / 2; });
+		V.tanks.forEach(s => { s.skill.whoring = s.skill.whore / 2; });
+		V.cribs.forEach(s => { s.skill.whoring = s.skill.whore / 2; });
+		V.heroSlaves.forEach(hs => {
+			if (hs.hasOwnProperty("skill") && hs.skill.hasOwnProperty("whore")) {
+				hs.skill.whoring = hs.skill.whore;
+				delete hs.skill.whore;
+			}
+		});
+	}
+	/* unify cybermod & vanilla */
+	/* limbs */
+	if (V.releaseID < 1045) {
+		if (typeof V.limbs !== "undefined") {
+			V.adjustProsthetics = [];
+			V.limbs.forEach((l) => {
+				switch (l.type) {
+					case "simple":
+						V.adjustProsthetics.push({id: "basicL", workLeft: l.weeksToCompletion * 10, slaveID: l.ID});
+						break;
+					case "sex":
+						V.adjustProsthetics.push({id: "sexL", workLeft: l.weeksToCompletion * 10, slaveID: l.ID});
+						break;
+					case "beauty":
+						V.adjustProsthetics.push({id: "beautyL", workLeft: l.weeksToCompletion * 10, slaveID: l.ID});
+						break;
+					case "combat":
+						V.adjustProsthetics.push({id: "combatL", workLeft: l.weeksToCompletion * 10, slaveID: l.ID});
+						break;
+					case "cyber":
+						V.adjustProsthetics.push({id: "cyberneticL", workLeft: l.weeksToCompletion * 10, slaveID: l.ID});
+						break;
+				}
+			});
+		}
+		if (typeof V.limbsCompleted !== "undefined") {
+			V.adjustProstheticsCompleted = V.limbsCompleted;
+		}
+
+		/* lab */
+		if (typeof V.researchLab.level === "undefined") {
+			V.researchLab.level = 0;
+			if (typeof V.researchLab.built !== "undefined") {
+				if (V.researchLab.built === "true") {
+					V.researchLab.level = 1;
+					if (V.prostheticsUpgrade === 0) {
+						V.prostheticsUpgrade = 1;
+					}
+				}
+				delete V.researchLab.built;
+			}
+		}
+		if (typeof V.researchLab.speed === "undefined") {
+			V.researchLab.speed = ((V.researchLab.hired * 3) + V.researchLab.menials) * V.researchLab.aiModule;
+		}
+		if (typeof V.researchLab.tasks === "undefined") {
+			V.researchLab.tasks = [];
+		}
+		if (typeof V.researchLab.research !== "undefined") {
+			if (V.researchLab.research !== "none") {
+				let id;
+				switch (V.researchLab.research) {
+					case "Basic prosthetics interface":
+						id = "interfaceP1";
+						break;
+					case "Advanced prosthetics interface":
+						id = "interfaceP2";
+						break;
+					case "Basic prosthetic limbs":
+						id = "basicL";
+						break;
+					case "Advanced sex limbs":
+						id = "sexL";
+						break;
+					case "Advanced beauty limbs":
+						id = "beautyL";
+						break;
+					case "Advanced combat limbs":
+						id = "combatL";
+						break;
+					case "Cybernetic limbs":
+						id = "cyberneticL";
+						break;
+					case "Ocular implants":
+						id = "ocular";
+						break;
+					case "Cochlear implants":
+						id = "cochlear";
+						break;
+					case "Electrolarynx":
+						id = "electrolarynx";
+						break;
+				}
+				V.researchLab.tasks.push({type: "research", id: id, workLeft: V.researchLab.productionTime});
+			}
+			delete V.researchLab.research;
+		}
+		if (typeof V.researchLab.manufacture !== "undefined") {
+			if (V.researchLab.manufacture !== "none") {
+				let id;
+				switch (V.researchLab.manufacture) {
+					case "Basic prosthetics interface":
+						id = "interfaceP1";
+						break;
+					case "Advanced prosthetics interface":
+						id = "interfaceP2";
+						break;
+					case "Basic prosthetic limbs":
+						id = "basicL";
+						break;
+					case "Advanced sex limbs":
+						id = "sexL";
+						break;
+					case "Advanced beauty limbs":
+						id = "beautyL";
+						break;
+					case "Advanced combat limbs":
+						id = "combatL";
+						break;
+					case "Cybernetic limbs":
+						id = "cyberneticL";
+						break;
+					case "Ocular implants":
+						id = "ocular";
+						break;
+					case "Cochlear implants":
+						id = "cochlear";
+						break;
+					case "Electrolarynx":
+						id = "electrolarynx";
+						break;
+				}
+				V.researchLab.tasks.push({type: "craft", id: id, workLeft: V.researchLab.productionTime});
+			}
+			delete V.researchLab.manufacture;
+		}
+		delete V.researchLab.productionTime;
+
+		/* stockpile */
+		if (jQuery.isEmptyObject(V.prosthetics)) {
+			if (jQuery.isEmptyObject(V.stockpile)) {
+				V.prosthetics = {};
+				setup.prostheticIDs.forEach(function(id) {
+					V.prosthetics[id] = {amount: 0, research: 0};
+				});
+			} else {
+				if (typeof V.stockpile.cochlearImplant === "undefined") {
+					V.stockpile.cochlearImplant = 0;
+				}
+				if (typeof V.stockpile.electrolarynx === "undefined") {
+					V.stockpile.electrolarynx = 0;
+				}
+				if (typeof V.stockpile.interfacePTail === "undefined") {
+					V.stockpile.interfacePTail = 0;
+				}
+				if (typeof V.stockpile.modPTail === "undefined") {
+					V.stockpile.modPTail = 0;
+				}
+				if (typeof V.stockpile.warPTail === "undefined") {
+					V.stockpile.warPTail = 0;
+				}
+				if (typeof V.stockpile.sexPTail === "undefined") {
+					V.stockpile.sexPTail = 0;
+				}
+				V.prosthetics = {
+					interfaceP1: {amount: V.stockpile.basicPLimbInterface, research: V.researchLab.basicPLimbInterface},
+					interfaceP2: {amount: V.stockpile.advPLimbInterface, research: V.researchLab.advPLimbInterface},
+					basicL: {amount: V.stockpile.basicPLimb, research: V.researchLab.basicPLimb},
+					sexL: {amount: V.stockpile.advSexPLimb, research: V.researchLab.advSexPLimb},
+					beautyL: {amount: V.stockpile.advGracePLimb, research: V.researchLab.advGracePLimb},
+					combatL: {amount: V.stockpile.advCombatPLimb, research: V.researchLab.advCombatPLimb},
+					cyberneticL: {amount: V.stockpile.cyberneticPLimb, research: V.researchLab.cyberneticPLimb},
+					ocular: {amount: V.stockpile.ocularImplant, research: V.researchLab.ocularImplant},
+					cochlear: {amount: V.stockpile.cochlearImplant, research: V.researchLab.cochlearImplant},
+					electrolarynx: {amount: V.stockpile.electrolarynx, research: V.researchLab.electrolarynx},
+					interfaceTail: {amount: V.stockpile.interfacePTail, research: 0},
+					modT: {amount: V.stockpile.modPTail, research: 0},
+					combatT: {amount: V.stockpile.warPTail, research: 0},
+					sexT: {amount: V.stockpile.sexPTail, research: 0},
+					erectile: {amount: V.stockpile.erectileImplant, research: V.researchLab.erectileImplant}
+				};
+				delete V.researchLab.basicPLimbInterface;
+				delete V.researchLab.advPLimbInterface;
+				delete V.researchLab.basicPLimb;
+				delete V.researchLab.advSexPLimb;
+				delete V.researchLab.advGracePLimb;
+				delete V.researchLab.advCombatPLimb;
+				delete V.researchLab.cyberneticPLimb;
+				delete V.researchLab.ocularImplant;
+				delete V.researchLab.cochlearImplant;
+				delete V.researchLab.electrolarynx;
+				delete V.researchLab.erectileImplant;
+			}
+		}
+	}
+	if (V.releaseID < 1047) {
+		if (V.loliGrow > 0) {
+			V.loliGrow = 1;
+		} else {
+			V.loliGrow = 0;
+		}
+	}
+	if (V.releaseID < 1055) {
+		if (V.disableLisping === 0) {
+			V.disableLisping = 1;
+		} else {
+			V.disableLisping = 0;
+		}
+	}
+	if (V.releaseID < 1057) {
+		r += `Standardizing player object... `;
+		if (typeof V.PC.actualAge === "undefined") {
+			if (V.PC.age === 1) {
+				V.PC.actualAge = 20;
+			} else if (V.PC.age === 3) {
+				V.PC.actualAge = 50;
+			} else {
+				V.PC.actualAge = 35;
+			}
+		}
+		if (typeof V.PC.markings === "undefined") {
+			V.PC.markings = "none";
+		}
+		if (typeof V.PC.pronoun === "undefined") {
+			generatePlayerPronouns(V.PC);
+		}
+		if (typeof V.PC.pregKnown === "undefined") {
+			if (V.PC.preg > 0) {
+				V.PC.pregKnown = 1;
+			} else {
+				V.PC.pregKnown = 0;
+			}
+		}
+		if (typeof V.PC.pregWeek === "undefined") {
+			if (V.PC.preg > 0) {
+				V.PC.pregWeek = V.PC.preg;
+			} else {
+				V.PC.pregWeek = 0;
+			}
+		}
+		if (typeof V.PC.pregType === "undefined") {
+			if (V.PC.preg > 0) {
+				V.PC.pregType = 1;
+			} else {
+				V.PC.pregType = 0;
+			}
+		}
+		if (typeof V.PC.belly === "undefined") {
+			if (V.PC.preg > 0) {
+				V.PC.belly = getPregBellySize(V.PC);
+			} else {
+				V.PC.belly = 0;
+			}
+		}
+		if (typeof V.PC.skin === "undefined") {
+			V.PC.skin = "light";
+		}
+		if (typeof V.PC.origSkin === "undefined") {
+			V.PC.origSkin = V.PC.skin;
+		}
+		if (typeof V.PC.eyeColor === "undefined") {
+			V.PC.eyeColor = "blue";
+		}
+		if (typeof V.PC.origEye === "undefined") {
+			V.PC.origEye = V.PC.eyeColor;
+		}
+		if (typeof V.PC.pupil === "undefined") {
+			if (V.PC.eyeColor === "catlike") {
+				V.PC.pupil = "catlike";
+				V.PC.eyeColor = "blue";
+			} else if (V.PC.eyeColor === "serpent-like") {
+				V.PC.pupil = "serpent-like";
+				V.PC.eyeColor = "blue";
+			} else if (V.PC.eyeColor === "devilish") {
+				V.PC.pupil = "devilish";
+				V.PC.eyeColor = "blue";
+			} else if (V.PC.eyeColor === "demonic") {
+				V.PC.pupil = "demonic";
+				V.PC.eyeColor = "blue";
+			} else if (V.PC.eyeColor === "hypnotic") {
+				V.PC.pupil = "hypnotic";
+				V.PC.eyeColor = "blue";
+			} else if (V.PC.eyeColor === "heart-shaped") {
+				V.PC.pupil = "heart-shaped";
+				V.PC.eyeColor = "blue";
+			} else if (V.PC.eyeColor === "wide-eyed") {
+				V.PC.pupil = "wide-eyed";
+				V.PC.eyeColor = "blue";
+			} else if (V.PC.eyeColor === "almond-shaped") {
+				V.PC.pupil = "almond-shaped";
+				V.PC.eyeColor = "blue";
+			} else if (V.PC.eyeColor === "bright") {
+				V.PC.pupil = "bright";
+				V.PC.eyeColor = "blue";
+			} else if (V.PC.eyeColor === "teary") {
+				V.PC.pupil = "teary";
+				V.PC.eyeColor = "blue";
+			} else if (V.PC.eyeColor === "vacant") {
+				V.PC.pupil = "vacant";
+				V.PC.eyeColor = "blue";
+			} else {
+				V.PC.pupil = "circular";
+			}
+		}
+		if (typeof V.PC.sclerae === "undefined") {
+			V.PC.sclerae = "white";
+		}
+		if (typeof V.PC.race === "undefined") {
+			V.PC.race = "white";
+		}
+		if (typeof V.PC.origRace === "undefined") {
+			V.PC.origRace = V.PC.race;
+		}
+		if (typeof V.PC.hColor === "undefined") {
+			V.PC.hColor = "blonde";
+		}
+		if (typeof V.PC.origHColor === "undefined") {
+			V.PC.origHColor = V.PC.hColor;
+		}
+		if (typeof V.PC.nationality === "undefined") {
+			V.PC.nationality = "Stateless";
+		}
+		if (V.PC.boobsBonus === -0.5) {
+			V.PC.boobsBonus = -1;
+		}
+		if (typeof V.PC.sclerae === "undefined") {
+			V.PC.sclerae = "white";
+		}
+		if (typeof V.PC.fetish === "undefined") {
+			V.PC.fetish = "none";
+		}
+		if (typeof V.PC.behavioralFlaw === "undefined") {
+			V.PC.behavioralFlaw = "none";
+		}
+		if (typeof V.PC.behavioralQuirk === "undefined") {
+			V.PC.behavioralQuirk = "none";
+		}
+		if (typeof V.PC.sexualFlaw === "undefined") {
+			V.PC.sexualFlaw = "none";
+		}
+		if (typeof V.PC.sexualQuirk === "undefined") {
+			V.PC.sexualQuirk = "none";
+		}
+		if (typeof V.PC.pubicHStyle === "undefined") {
+			V.PC.pubicHStyle = "hairless";
+		}
+		if (typeof V.PC.underArmHStyle === "undefined") {
+			V.PC.underArmHStyle = "hairless";
+		}
+		if (typeof V.PC.eggType === "undefined") {
+			V.PC.eggType = "human";
+		}
+		if (typeof V.PC.ballType === "undefined") {
+			V.PC.ballType = "human";
+		}
+		if (typeof V.PC.geneticQuirks === "undefined") {
+			V.PC.geneticQuirks = {
+				macromastia: 0,
+				gigantomastia: 0,
+				fertility: 0,
+				hyperFertility: 0,
+				superfetation: 0,
+				gigantism: 0,
+				dwarfism: 0,
+				pFace: 0,
+				uFace: 0,
+				albinism: 0,
+				heterochromia: 0,
+				rearLipedema: 0,
+				wellHung: 1,
+				wGain: 0,
+				wLoss: 0,
+				mGain: 0,
+				mLoss: 0,
+				androgyny: 0,
+				girlsOnly: 0
+			};
+			if (V.PC.birthMaster > 0) {
+				V.PC.geneticQuirks.fertility = 2;
+			} else if (V.PC.career === "servant") {
+				V.PC.geneticQuirks.fertility = 1;
+			}
+		} else {
+			if (typeof V.PC.geneticQuirks.heterochromia === "undefined") {
+				V.PC.geneticQuirks.heterochromia = 0;
+			}
+			if (typeof V.PC.geneticQuirks.girlsOnly === "undefined") {
+				V.PC.geneticQuirks.girlsOnly = 0;
+			}
+			if (typeof V.PC.geneticQuirks.mGain === "undefined") {
+				V.PC.geneticQuirks.mGain = 0;
+			}
+			if (typeof V.PC.geneticQuirks.mLoss === "undefined") {
+				V.PC.geneticQuirks.mLoss = 0;
+			}
+		}
+		if (V.releaseID < 1032) {
+			if (V.PC.pregSource === -1) {
+				V.PC.pregSource = -6;
+			} else if (V.PC.pregSource === -2) {
+				V.PC.pregSource = -5;
+			} else if (V.PC.pregSource === -6) {
+				V.PC.pregSource = -1;
+			} else if (V.PC.pregSource === -5) {
+				V.PC.pregSource = -2;
+			}
+		}
+		if (typeof V.PC.genes === "undefined") {
+			if (V.PC.title === 1) {
+				V.PC.genes = "XY";
+			} else {
+				V.PC.genes = "XX";
+			}
+		}
+
+		/* player object converter */
+		let newPC = basePlayer();
+		newPC.slaveName = V.PC.name;
+		newPC.slaveSurname = V.PC.surname;
+		newPC.birthName = V.PC.name;
+		if (V.PC.slaveSurname) {
+			newPC.birthSurname = V.PC.surname;
+		} else {
+			newPC.birthSurname = "";
+		}
+		newPC.title = V.PC.title;
+		newPC.genes = V.PC.genes;
+		newPC.career = V.PC.career;
+		newPC.rumor = V.PC.rumor;
+		newPC.birthWeek = V.PC.birthWeek;
+		newPC.refreshment = V.PC.refreshment;
+		newPC.refreshmentType = V.PC.refreshmentType;
+		newPC.actualAge = V.PC.actualAge;
+		newPC.physicalAge = V.PC.physicalAge;
+		newPC.visualAge = V.PC.visualAge;
+		newPC.ovaryAge = V.PC.ovaryAge;
+		newPC.ageImplant = V.PC.ageImplant;
+		newPC.nationality = V.PC.nationality;
+		newPC.race = V.PC.race;
+		newPC.origRace = V.PC.origRace;
+		newPC.skin = V.PC.skin;
+		newPC.origSkin = V.PC.origSkin;
+		newPC.markings = V.PC.markings;
+		newPC.hColor = V.PC.hColor;
+		newPC.origHColor = V.PC.origHColor;
+		newPC.origEye = V.PC.origEye;
+		/* needed for compatibility currently */
+		newPC.eye.origColor = V.PC.origEye;
+		newPC.eye.left.iris = V.PC.eyeColor;
+		newPC.eye.left.pupil = V.PC.pupil;
+		newPC.eye.left.sclera = V.PC.sclerae;
+		newPC.eye.right.iris = V.PC.eyeColor;
+		newPC.eye.right.pupil = V.PC.pupil;
+		newPC.eye.right.sclera = V.PC.sclerae;
+		newPC.faceShape = V.PC.faceShape;
+		newPC.skill.trading = V.PC.trading;
+		newPC.skill.warfare = V.PC.warfare;
+		newPC.skill.hacking = V.PC.hacking;
+		newPC.skill.slaving = V.PC.slaving;
+		newPC.skill.engineering = V.PC.engineering;
+		newPC.skill.medicine = V.PC.medicine;
+		newPC.skill.cumTap = V.PC.cumTap;
+		newPC.father = V.PC.father;
+		newPC.mother = V.PC.mother;
+		newPC.sisters = V.PC.sisters;
+		newPC.daughters = V.PC.daughters;
+		newPC.counter.birthsTotal = V.PC.births;
+		newPC.counter.birthElite = V.PC.birthElite;
+		newPC.counter.birthMaster = V.PC.birthMaster;
+		newPC.counter.birthDegenerate = V.PC.birthDegenerate;
+		newPC.counter.birthClient = V.PC.birthClient;
+		newPC.counter.birthArcOwner = V.PC.birthArcOwner;
+		newPC.counter.birthCitizen = V.PC.birthCitizen;
+		newPC.counter.birthFutaSis = V.PC.birthFutaSis;
+		newPC.counter.birthSelf = V.PC.birthSelf;
+		newPC.counter.birthLab = V.PC.birthLab;
+		newPC.counter.birthOther = V.PC.birthOther;
+		if (typeof V.PC.laborCount !== "undefined") {
+			newPC.counter.laborCount = V.PC.laborCount;
+		}
+		newPC.counter.slavesFathered = V.PC.slavesFathered;
+		newPC.counter.slavesKnockedUp = V.PC.slavesKnockedUp;
+		newPC.sexualEnergy = V.PC.sexualEnergy;
+		newPC.staminaPills = V.PC.staminaPills;
+		newPC.preg = V.PC.preg;
+		newPC.pregType = V.PC.pregType;
+		newPC.pregWeek = V.PC.pregWeek;
+		newPC.pregKnown = V.PC.pregKnown;
+		newPC.fertKnown = V.PC.fertKnown;
+		newPC.fertPeak = V.PC.fertPeak;
+		newPC.fertDrugs = V.PC.fertDrugs;
+		newPC.forcedFertDrugs = V.PC.forcedFertDrugs;
+		newPC.belly = V.PC.belly;
+		newPC.bellyPreg = V.PC.bellyPreg;
+		newPC.pregSource = V.PC.pregSource;
+		newPC.pregMood = V.PC.pregMood;
+		newPC.labor = V.PC.labor;
+		newPC.degeneracy = V.PC.degeneracy;
+		newPC.pubicHStyle = V.PC.pubicHStyle;
+		newPC.underArmHStyle = V.PC.underArmHStyle;
+		if (V.PC.dick === 1) {
+			newPC.dick = 4;
+			newPC.prostate = 1;
+			if (V.PC.ballsImplant === 4 || V.PC.balls === 4) {
+				newPC.balls = 30;
+				newPC.scrotum = 7;
+			} else if (V.PC.ballsImplant === 3 || V.PC.balls === 3) {
+				newPC.balls = 14;
+				newPC.scrotum = 6;
+			} else if (V.PC.ballsImplant === 2 || V.PC.balls === 2) {
+				newPC.balls = 9;
+				newPC.scrotum = 5;
+			} else if (V.PC.ballsImplant === 1 || V.PC.balls === 1) {
+				newPC.balls = 5;
+				newPC.scrotum = 4;
+			} else {
+				newPC.balls = 3;
+				newPC.scrotum = 3;
+			}
+			if (V.PC.ballsImplant > 0) {
+				newPC.ballsImplant = newPC.balls - 3;
+			}
+		} else {
+			newPC.dick = 0;
+			newPC.prostate = 0;
+			newPC.balls = 0;
+			newPC.scrotum = 0;
+		}
+		newPC.newVag = V.PC.newVag;
+		if (V.PC.vagina === 1) {
+			newPC.ovaries = 1;
+			newPC.vaginaLube = 1;
+			if (V.PC.newVag === 1) {
+				newPC.vagina = 1;
+			} else if (V.PC.career === "escort" || V.PC.birthsTotal >= 10 || V.PC.career === "servant") {
+				newPC.vagina = 4;
+			} else if (V.PC.birthsTotal > 2) {
+				newPC.vagina = 3;
+			} else if (V.PC.career === "gang" || V.PC.career === "celebrity" || V.PC.career === "wealth" || V.PC.birthsTotal > 0) {
+				newPC.vagina = 2;
+			} else {
+				newPC.vagina = 1;
+			}
+		}
+		if (V.PC.boobs === 1) {
+			if (V.PC.boobsBonus === -3) {
+				newPC.boobs = 400;
+			} else if (V.PC.boobsBonus === -2) {
+				newPC.boobs = 500;
+			} else if (V.PC.boobsBonus === -1) {
+				newPC.boobs = 700;
+			} else if (V.PC.boobsBonus === 1) {
+				newPC.boobs = 1100;
+			} else if (V.PC.boobsBonus === 2) {
+				newPC.boobs = 1300;
+			} else if (V.PC.boobsBonus === 3) {
+				newPC.boobs = 1500;
+			} else {
+				newPC.boobs = 900;
+			}
+		} else if (V.PC.genes === "XX") {
+			newPC.boobs = 200;
+		} else {
+			newPC.boobs = 100;
+		}
+		if (V.PC.boobsImplant === 1) {
+			newPC.boobsImplant = newPC.boobs - 900;
+		}
+		newPC.lactation = V.PC.lactation;
+		newPC.lactationDuration = V.PC.lactationDuration;
+		newPC.genes = V.PC.genes;
+		if (V.PC.butt === 3) {
+			newPC.butt = 5;
+		} else if (V.PC.butt === 2) {
+			newPC.butt = 4;
+		} else if (V.PC.butt === 1) {
+			newPC.butt = 3;
+		} else {
+			newPC.butt = 2;
+		}
+		if (V.PC.buttImplant === 1) {
+			newPC.buttImplant = newPC.butt - 2;
+		}
+		newPC.reservedChildren = V.PC.reservedChildren;
+		newPC.reservedChildrenNursery = V.PC.reservedChildrenNursery;
+		newPC.geneticQuirks = clone(V.PC.geneticQuirks);
+		if (V.arcologies[0].FSPhysicalIdealist !== "unset") {
+			newPC.muscles = 100;
+		} else if (V.PC.title === 1) {
+			newPC.muscles = 50;
+		} else {
+			newPC.muscles = 30;
+		}
+		if (V.PC.title === 0) {
+			newPC.hLength = 15;
+			newPC.waist = -20;
+			newPC.voice = 2;
+			newPC.shoulders = -1;
+			newPC.hips = 1;
+		}
+		if (V.PC.career === "escort") {
+			newPC.anus = 1;
+			newPC.clothes = "a slutty outfit";
+			newPC.intelligenceImplant = 15;
+		} else if (V.PC.career === "servant") {
+			newPC.clothes = "a nice maid outfit";
+			newPC.intelligenceImplant = 0;
+		}
+		if (typeof V.PCWounded !== "undefined") {
+			newPC.majorInjury = V.PCWounded;
+		}
+		if (typeof V.girls !== "undefined") {
+			if (V.girls === 1) {
+				newPC.rules.living = "spare";
+			} else if (V.girls === 2) {
+				newPC.rules.living = "normal";
+			} else {
+				newPC.rules.living = "luxurious";
+			}
+		}
+		if (typeof V.playerGetsMilked !== "undefined") {
+			if (V.playerGetsMilked === 2) {
+				V.PC.rules.lactation = "sell";
+			} else if (V.playerGetsMilked === 1) {
+				V.PC.rules.lactation = "maintain";
+			}
+		}
+
+		WombInit(newPC);
+
+		V.PC = clone(newPC);
+
+		if (typeof V.PC.name === "undefined") {
+			if (typeof V.PCName !== "undefined") {
+				V.PC.name = V.PCName;
+			}
+		}
+		if (typeof V.PC.surname === "undefined") {
+			V.PC.surname = 0;
+		}
+		if (typeof V.PC.faceShape === "undefined") {
+			V.PC.faceShape = "normal";
+		}
+
+		r += ` Done!`;
+	}
+	return r;
+};
+
+App.Update.HeroSlavesCleanup = function() {
+	V.heroSlaves.forEach(function(s) {
+		/* Nationalities, races, surnames random fill */
+		if (!s.nationality) {
+			/* Check for a pre-set race and if the nationality fits, else regenerate */
+			if (s.race && setup.filterRacesLowercase.includes(s.race)) {
+				raceToNationality(s);
+			} else {
+				s.nationality = hashChoice(V.nationalities);
+			}
+		}
+		if (!s.race || !setup.filterRacesLowercase.includes(s.race)) {
+			nationalityToRace(s);
+		}
+		if (!s.birthSurname && s.birthSurname !== "") {
+			s.birthSurname = (setup.surnamePoolSelector[s.nationality + "." + s.race] ||
+				setup.surnamePoolSelector[s.nationality] ||
+				setup.whiteAmericanSlaveSurnames).random();
+		}
+		if (!s.birthName && s.birthName !== "") {
+			s.birthName = (setup.namePoolSelector[s.nationality + "." + s.race] ||
+				setup.namePoolSelector[s.nationality] ||
+				setup.whiteAmericanSlaveNames).random();
+		}
+		generatePronouns(s);
+		if (s.geneMods === undefined) {
+			s.geneMods = {NCS: 0, rapidCellGrowth: 0};
+		} else {
+			if (s.geneMods.NCS === undefined) {
+				s.geneMods.NCS = 0;
+			}
+			if (s.geneMods.rapidCellGrowth === undefined) {
+				s.geneMods.rapidCellGrowth = 0;
+			}
+		}
+		// WombInit(s);
+	});
+	return;
+};
+
+App.Update.cleanUp = function() {
+	/* leave this at the bottom of BC */
+	if (V.releaseID < App.Version.release) {
+		V.releaseID = App.Version.release;
+	}
+	/* reset NaNArray after BC is run */
+	V.NaNArray = findNaN();
+	return;
+};
+
+App.Update.sectorsToBuilding = function() {
+	V.building = new App.Arcology.Building([]);
+	const B = V.building;
+	const S = V.sectors;
+
+	B.sections.push(new App.Arcology.Section("penthouse", [
+		[new App.Arcology.Cell.Penthouse()]
+	]));
+	if (V.arcologyUpgrade.spire === 1) {
+		B.sections.push(new App.Arcology.Section("spire", [
+			[
+				sectorToApartment(S[1]), sectorToApartment(S[2])
+			],
+			[
+				sectorToApartment(S[3]), sectorToApartment(S[4])
+			]
+		]));
+	}
+	B.sections.push(new App.Arcology.Section("apartments",
+		[
+			[sectorToApartment(S[8]), sectorToApartment(S[9]), sectorToApartment(S[10]), sectorToApartment(S[11])],
+			[sectorToApartment(S[12]), sectorToApartment(S[13]), sectorToApartment(S[14]), sectorToApartment(S[15])],
+			[sectorToApartment(S[16]), sectorToApartment(S[17]), sectorToApartment(S[18]), sectorToApartment(S[19])],
+		]));
+
+	function sectorToApartment(sector) {
+		const a = new App.Arcology.Cell.Apartment(sector.ownership);
+		if (sector.type === "LuxuryApartments") {
+			a.type = 1;
+		} else if (sector.type === "DenseApartments") {
+			a.type = 3;
+		}
+		return a;
+	}
+
+	B.sections.push(new App.Arcology.Section("shops", [
+		[sectorToShop(S[5]), sectorToShop(S[6]), sectorToShop(S[7])]
+	]));
+
+	function sectorToShop(sector) {
+		return new App.Arcology.Cell.Shop(sector.ownership, sector.type);
+	}
+
+	B.sections.push(new App.Arcology.Section("markets",
+		[
+			[sectorToMarket(S[20]), sectorToMarket(S[21]), sectorToMarket(S[22]), sectorToMarket(S[23]), sectorToMarket(S[24])]
+		]));
+
+	function sectorToMarket(sector) {
+		const m = new App.Arcology.Cell.Market(sector.ownership);
+		if (sector.type === "transportHub") {
+			m.type = "Transport Hub";
+		} else if (sector.type === "CorporateMarket") {
+			m.type = "Corporate Market";
+		} else {
+			m.type = sector.type;
+		}
+		return m;
+	}
+
+	B.sections.push(new App.Arcology.Section("manufacturing",
+		[
+			[sectorToManu(S[25]), sectorToManu(S[26]), sectorToManu(S[27]), sectorToManu(S[28]), sectorToManu(S[29])]
+		]));
+
+	function sectorToManu(sector) {
+		const m = new App.Arcology.Cell.Manufacturing(sector.ownership);
+		if (sector.type === "weapManu") {
+			m.type = "Weapon Manufacturing";
+		} else {
+			m.type = sector.type;
+		}
+		return m;
+	}
+};
+
+App.Update.slaveLoopInit = function() {
+	let SL = V.slaves.length;
+	for (let i = 0; i < SL; i++) {
+		if (V.slaves[i].assignment !== "be imported") {
+			removeNonNGPSlave(V.slaves[i]);
+			i--, SL--;
+		}
+	}
+	for (let i = 0; i < SL; i++) {
+		if (V.slaves[i].assignment === "be imported") {
+			V.slaves[i].ID += NGPOffset;
+			V.slaves[i].assignment = "rest";
+			V.slaves[i].weekAcquired = 0;
+			V.slaves[i].newGamePlus = 1;
+			if (V.slaves[i].mother > 0) {
+				V.slaves[i].mother += NGPOffset;
+			} else if (V.freshPC === 1 && V.slaves[i].mother === -1) {
+				V.slaves[i].mother = -NGPOffset;
+			} else if (V.slaves[i].mother < -1) {
+				V.slaves[i].mother -= NGPOffset;
+			}
+			if (V.slaves[i].father > 0) {
+				V.slaves[i].father += NGPOffset;
+			} else if (V.freshPC === 1 && V.slaves[i].father === -1) {
+				V.slaves[i].father = -NGPOffset;
+			} else if (V.slaves[i].father < -1) {
+				V.slaves[i].father -= NGPOffset;
+			}
+			V.slaves[i].daughters = 0;
+			V.slaves[i].sisters = 0;
+			V.slaves[i].canRecruit = 0;
+			V.slaves[i].breedingMark = 0;
+			if (V.arcologies[0].FSRomanRevivalist > 90) {
+				V.slaves[i].nationality = "Roman Revivalist";
+			} else if (V.arcologies[0].FSAztecRevivalist > 90) {
+				V.slaves[i].nationality = "Aztec Revivalist";
+			} else if (V.arcologies[0].FSEgyptianRevivalist > 90) {
+				V.slaves[i].nationality = "Ancient Egyptian Revivalist";
+			} else if (V.arcologies[0].FSEdoRevivalist > 90) {
+				V.slaves[i].nationality = "Edo Revivalist";
+			} else if (V.arcologies[0].FSArabianRevivalist > 90) {
+				V.slaves[i].nationality = "Arabian Revivalist";
+			} else if (V.arcologies[0].FSChineseRevivalist > 90) {
+				V.slaves[i].nationality = "Ancient Chinese Revivalist";
+			}
+			if (V.slaves[i].relationTarget !== 0) {
+				V.slaves[i].relationTarget += NGPOffset;
+			}
+			if (V.slaves[i].relationshipTarget !== 0) {
+				V.slaves[i].relationshipTarget += NGPOffset;
+			}
+			if (V.slaves[i].cloneID !== 0) {
+				V.slaves[i].cloneID += NGPOffset;
+			}
+			V.slaves[i].rivalry = 0, V.slaves[i].rivalryTarget = 0, V.slaves[i].subTarget = 0;
+			V.slaves[i].drugs = "no drugs";
+			V.slaves[i].porn.spending = 0;
+			V.slaves[i].rules.living = "spare";
+			V.slaves[i].diet = "healthy";
+			V.slaves[i].pregControl = "none";
+		}
+	}
+	V.slaveIndices = slaves2indices();
+	for (let k = 0; k < SL; k++) {
+		for (let i = 0; i < SL; i++) {
+			if (V.slaves[k].mother === V.slaves[i].ID || V.slaves[k].father === V.slaves[i].ID) {
+				V.slaves[i].daughters += 1;
+			}
+			if (areSisters(V.slaves[k], V.slaves[i]) > 0) {
+				V.slaves[i].sisters += 1;
+			}
+		}
+		if (V.slaves[k].pregSource > 0) {
+			V.slaves[k].pregSource += NGPOffset;
+			let getFather = V.slaveIndices[V.slaves[k].pregSource];
+			if (getFather) {
+				V.slaves[k].pregSource = 0;
+			}
+		}
+		for (let sInit = 0; sInit < V.slaves[k].womb.length; sInit++) {
+			if (V.slaves[k].womb[sInit].fatherID > 0) {
+				V.slaves[k].womb[sInit].fatherID += NGPOffset;
+			} else if (V.freshPC === 1 && V.slaves[k].womb[sInit].fatherID === -1) {
+				V.slaves[k].womb[sInit].fatherID = -NGPOffset;
+			} else if (V.slaves[k].womb[sInit].fatherID < -20) {
+				V.slaves[k].womb[sInit].fatherID -= NGPOffset;
+			}
+			if (V.slaves[k].womb[sInit].genetics.father > 0) {
+				V.slaves[k].womb[sInit].genetics.father += NGPOffset;
+			} else if (V.freshPC === 1 && V.slaves[k].womb[sInit].genetics.father === -1) {
+				V.slaves[k].womb[sInit].genetics.father = -NGPOffset;
+			} else if (V.slaves[k].womb[sInit].genetics.father < -20) {
+				V.slaves[k].womb[sInit].genetics.father -= NGPOffset;
+			}
+			if (V.slaves[k].womb[sInit].genetics.mother > 0) {
+				V.slaves[k].womb[sInit].genetics.mother += NGPOffset;
+			} else if (V.freshPC === 1 && V.slaves[k].womb[sInit].genetics.mother === -1) {
+				V.slaves[k].womb[sInit].genetics.mother = -NGPOffset;
+			} else if (V.slaves[k].womb[sInit].genetics.mother < -20) {
+				V.slaves[k].womb[sInit].genetics.mother -= NGPOffset;
+			}
+		}
+		if (V.slaves[k].cloneID !== 0) {
+			let getClone = V.slaveIndices[V.slaves[k].cloneID];
+			if (getClone) {
+				V.slaves[k].cloneID = 0;
+			}
+		}
+	}
+	V.genePool = ngUpdateGenePool(V.genePool);
+	if (typeof V.missingTable === undefined || V.showMissingSlaves === false) {
+		V.missingTable = {};
+	} else {
+		V.missingTable = ngUpdateMissingTable(V.missingTable);
+	}
+	for (let i = 0; i < SL; i++) {
+		if (V.slaves[i].relation !== 0) {
+			let seed = 0, rt = V.slaves[i].relationTarget, ID = V.slaves[i].ID;
+			let j = V.slaveIndices[rt];
+			if ((j) && V.slaves[j].relationTarget === ID) {
+				seed = 1;
+			}
+			if (seed === 0) {
+				V.slaves[i].relation = 0, V.slaves[i].relationTarget = 0;
+			}
+		}
+		if (V.slaves[i].relationship > 0) {
+			let seed = 0, rt = V.slaves[i].relationshipTarget, ID = V.slaves[i].ID;
+			let j = V.slaveIndices[rt];
+			if ((j) && V.slaves[j].relationshipTarget === ID) {
+				seed = 1;
+			}
+			if (seed === 0) {
+				V.slaves[i].relationship = 0, V.slaves[i].relationshipTarget = 0;
+			}
+		}
+	}
+	for (let i = 0; i < SL; i++) {
+		if (V.familyTesting === 1) {
+			if (V.slaves[i].canRecruit === 1) {
+				/* V.recruiters.push(V.slaves[i]);*/
+			}
+		} else {
+			if (V.slaves[i].relation === 0) {
+				if (random(1, 100) <= 5) {
+					V.slaves[i].recruiter = "twin";
+				} else if ((V.slaves[i].actualAge > 32) && (random(1, 100) <= 41)) {
+					V.slaves[i].recruiter = "mother";
+				} else if ((V.slaves[i].actualAge < 24) && (random(1, 100) <= 40)) {
+					V.slaves[i].recruiter = "daughter";
+				} else if ((V.slaves[i].actualAge < 43) && (random(1, 100) <= 20)) {
+					V.slaves[i].recruiter = "older sister";
+				} else if ((V.slaves[i].actualAge < 25) && (V.slaves[i].actualAge > 18) && (random(1, 100) <= 20)) {
+					V.slaves[i].recruiter = "young sister";
+				}
+			} else {
+				V.slaves[i].recruiter = 0;
+			}
+		}
+		/* closes family mode */
+		V.slaves[i].counter.milk = 0;
+		V.slaves[i].counter.cum = 0;
+		V.slaves[i].counter.births = 0;
+		V.slaves[i].counter.mammary = 0;
+		V.slaves[i].counter.penetrative = 0;
+		V.slaves[i].counter.oral = 0;
+		V.slaves[i].counter.anal = 0;
+		V.slaves[i].counter.vaginal = 0;
+		V.slaves[i].lifetimeCashExpenses = 0;
+		V.slaves[i].lifetimeCashIncome = 0;
+		V.slaves[i].lastWeeksCashIncome = 0;
+		V.slaves[i].lifetimeRepExpenses = 0;
+		V.slaves[i].lifetimeRepIncome = 0;
+		V.slaves[i].lastWeeksRepExpenses = 0;
+		V.slaves[i].lastWeeksRepIncome = 0;
+	}
+};
diff --git a/src/js/datatypeCleanupJS.js b/src/data/backwardsCompatibility/datatypeCleanup.js
similarity index 80%
rename from src/js/datatypeCleanupJS.js
rename to src/data/backwardsCompatibility/datatypeCleanup.js
index 5d33a2c1155af80e5064535f633802f181dbec8c..d89b851d5b8e54834a6b2f679764019239badd03 100644
--- a/src/js/datatypeCleanupJS.js
+++ b/src/data/backwardsCompatibility/datatypeCleanup.js
@@ -1660,6 +1660,13 @@ window.PCDatatypeCleanup = function PCDatatypeCleanup() {
 	if (typeof PC.refreshment !== "string") {
 		PC.refreshment = "cigar";
 	}
+	if (!(V.ver.startsWith("0.10"))) {
+		if (V.PC.refreshment === "cigar") {
+			V.PC.refreshmentType = 0;
+		} else {
+			V.PC.refreshmentType = 1;
+		}
+	}
 	PC.refreshmentType = Math.clamp(+PC.refreshmentType, 0, 6) || 0;
 	PC.skill.trading = Math.clamp(+PC.skill.trading, -100, 100) || 0;
 	PC.skill.warfare = Math.clamp(+PC.skill.warfare, -100, 100) || 0;
@@ -1755,6 +1762,28 @@ window.PCDatatypeCleanup = function PCDatatypeCleanup() {
 	} else {
 		PC.buttImplantType = "none";
 	}
+	if (V.PC.customTitle === "") {
+		V.PC.customTitle = undefined, V.PC.customTitleLisp = undefined;
+	}
+	if (typeof V.PC.counter.oral === "undefined") {
+		V.PC.counter.oral = 0;
+	}
+	if (typeof V.PC.counter.vaginal === "undefined") {
+		V.PC.counter.vaginal = 0;
+	}
+	if (typeof V.PC.counter.anal === "undefined") {
+		V.PC.counter.anal = 0;
+	}
+	if (typeof V.PC.counter.mammary === "undefined") {
+		V.PC.counter.mammary = 0;
+	}
+	if (typeof V.PC.counter.penetrative === "undefined") {
+		V.PC.counter.penetrative = 0;
+	}
+	WombInit(V.PC);
+	if (typeof V.PC.ID === "undefined") {
+		V.PC.ID = -1;
+	}
 
 	/* None of these are in use */
 	PC.bellyPreg = PC.belly;
@@ -1766,10 +1795,14 @@ window.PCDatatypeCleanup = function PCDatatypeCleanup() {
 window.EconomyDatatypeCleanup = function EconomyDatatypeCleanup() {
 	V.arcologies[0].prosperity = Math.clamp(+V.arcologies[0].prosperity, 1, V.AProsperityCap) || 1;
 	V.AProsperityCap = Math.max(+V.AProsperityCap, 0) || 0;
-
-	V.food = Math.max(+V.food, 0) || 0;
-
 	V.economy = Math.max(+V.economy, 20) || 100;
+	if (V.economy === 0.5) {
+		V.economy = 200;
+	} else if (V.economy === 1) {
+		V.economy = 100;
+	} else if (V.economy === 1.5) {
+		V.economy = 67;
+	}
 	V.difficultySwitch = Math.clamp(+V.difficultySwitch, 0, 1) || 0;
 	if (V.baseDifficulty) {
 		V.baseDifficulty = Math.clamp(+V.baseDifficulty, 1, 5) || 3;
@@ -2574,3 +2607,319 @@ App.Entity.Utils.migratePronouns = function(subject) {
 	delete subject["noun"];
 	/* eslint-enable dot-notation */
 };
+
+App.Update.FScheatDatatypeCleanup = function() {
+	if (V.arcologies[0].FSSupremacist !== "unset") {
+		V.arcologies[0].FSSupremacist = Number(V.arcologies[0].FSSupremacist) || "unset";
+		V.arcologies[0].FSSupremacistDecoration = Number(V.arcologies[0].FSSupremacistDecoration) || 0;
+		V.arcologies[0].FSSupremacistLawME = Number(V.arcologies[0].FSSupremacistLawME) || 0;
+	}
+	if (V.arcologies[0].FSSubjugationist !== "unset") {
+		V.arcologies[0].FSSubjugationist = Number(V.arcologies[0].FSSubjugationist) || "unset";
+		V.arcologies[0].FSSubjugationistDecoration = Number(V.arcologies[0].FSSubjugationistDecoration) || 0;
+		V.arcologies[0].FSSubjugationistLawME = Number(V.arcologies[0].FSSubjugationistLawME) || 0;
+	}
+	if (V.arcologies[0].FSGenderRadicalist !== "unset") {
+		V.arcologies[0].FSGenderRadicalist = Number(V.arcologies[0].FSGenderRadicalist) || "unset";
+		V.arcologies[0].FSGenderRadicalistDecoration = Number(V.arcologies[0].FSGenderRadicalistDecoration) || 0;
+		V.arcologies[0].FSGenderRadicalistLawBeauty = Number(V.arcologies[0].FSGenderRadicalistLawBeauty) || 0;
+		V.arcologies[0].FSGenderRadicalistLawFuta = Number(V.arcologies[0].FSGenderRadicalistLawFuta) || 0;
+	}
+	if (V.arcologies[0].FSRepopulationFocus !== "unset") {
+		V.arcologies[0].FSRepopulationFocus = Number(V.arcologies[0].FSRepopulationFocus) || "unset";
+		V.arcologies[0].FSRepopulationFocusDecoration = Number(V.arcologies[0].FSRepopulationFocusDecoration) || 0;
+		V.arcologies[0].FSRepopulationFocusSMR = Number(V.arcologies[0].FSRepopulationFocusSMR) || 0;
+		V.arcologies[0].FSRepopulationFocusLaw = Number(V.arcologies[0].FSRepopulationFocusLaw) || 0;
+	}
+	if (V.arcologies[0].FSRestart !== "unset") {
+		V.arcologies[0].FSRestart = Number(V.arcologies[0].FSRestart) || "unset";
+		V.arcologies[0].FSRestartDecoration = Number(V.arcologies[0].FSRestartDecoration) || 0;
+		V.arcologies[0].FSRestartSMR = Number(V.arcologies[0].FSRestartSMR) || 0;
+		V.arcologies[0].FSRestartLaw = Number(V.arcologies[0].FSRestartLaw) || 0;
+	}
+	if (V.arcologies[0].FSHedonisticDecadence !== "unset") {
+		V.arcologies[0].FSHedonisticDecadence = Number(V.arcologies[0].FSHedonisticDecadence) || "unset";
+		V.arcologies[0].FSHedonisticDecadenceDecoration = Number(V.arcologies[0].FSHedonisticDecadenceDecoration) || 0;
+		V.arcologies[0].FSHedonisticDecadenceSMR = Number(V.arcologies[0].FSHedonisticDecadenceSMR) || 0;
+		V.arcologies[0].FSHedonisticDecadenceLaw = Number(V.arcologies[0].FSHedonisticDecadenceLaw) || 0;
+		V.arcologies[0].FSHedonisticDecadenceLaw2 = Number(V.arcologies[0].FSHedonisticDecadenceLaw2) || 0;
+		V.arcologies[0].FSHedonisticDecadenceStrongFat = Number(V.arcologies[0].FSHedonisticDecadenceStrongFat) || 0;
+	}
+	if (V.arcologies[0].FSIntellectualDependency !== "unset") {
+		V.arcologies[0].FSIntellectualDependency = Number(V.arcologies[0].FSIntellectualDependency) || "unset";
+		V.arcologies[0].FSIntellectualDependencyDecoration = Number(V.arcologies[0].FSIntellectualDependencyDecoration) || 0;
+		V.arcologies[0].FSIntellectualDependencySMR = Number(V.arcologies[0].FSIntellectualDependencySMR) || 0;
+		V.arcologies[0].FSIntellectualDependencyLaw = Number(V.arcologies[0].FSIntellectualDependencyLaw) || 0;
+		V.arcologies[0].FSIntellectualDependencyLawBeauty = Number(V.arcologies[0].FSIntellectualDependencyLawBeauty) || 0;
+	}
+	if (V.arcologies[0].FSSlaveProfessionalism !== "unset") {
+		V.arcologies[0].FSSlaveProfessionalism = Number(V.arcologies[0].FSSlaveProfessionalism) || "unset";
+		V.arcologies[0].FSSlaveProfessionalismDecoration = Number(V.arcologies[0].FSSlaveProfessionalismDecoration) || 0;
+		V.arcologies[0].FSSlaveProfessionalismSMR = Number(V.arcologies[0].FSSlaveProfessionalismSMR) || 0;
+		V.arcologies[0].FSSlaveProfessionalismLaw = Number(V.arcologies[0].FSSlaveProfessionalismLaw) || 0;
+	}
+	if (V.arcologies[0].FSPetiteAdmiration !== "unset") {
+		V.arcologies[0].FSPetiteAdmiration = Number(V.arcologies[0].FSPetiteAdmiration) || "unset";
+		V.arcologies[0].FSPetiteAdmirationDecoration = Number(V.arcologies[0].FSPetiteAdmirationDecoration) || 0;
+		V.arcologies[0].FSPetiteAdmirationSMR = Number(V.arcologies[0].FSPetiteAdmirationSMR) || 0;
+		V.arcologies[0].FSPetiteAdmirationLaw = Number(V.arcologies[0].FSPetiteAdmirationLaw) || 0;
+		V.arcologies[0].FSPetiteAdmirationLaw2 = Number(V.arcologies[0].FSPetiteAdmirationLaw2) || 0;
+	}
+	if (V.arcologies[0].FSStatuesqueGlorification !== "unset") {
+		V.arcologies[0].FSStatuesqueGlorification = Number(V.arcologies[0].FSStatuesqueGlorification) || "unset";
+		V.arcologies[0].FSStatuesqueGlorificationDecoration = Number(V.arcologies[0].FSStatuesqueGlorificationDecoration) || 0;
+		V.arcologies[0].FSStatuesqueGlorificationSMR = Number(V.arcologies[0].FSStatuesqueGlorificationSMR) || 0;
+		V.arcologies[0].FSStatuesqueGlorificationLaw = Number(V.arcologies[0].FSStatuesqueGlorificationLaw) || 0;
+		V.arcologies[0].FSStatuesqueGlorificationLaw2 = Number(V.arcologies[0].FSStatuesqueGlorificationLaw2) || 0;
+	}
+	if (V.arcologies[0].FSGenderFundamentalist !== "unset") {
+		V.arcologies[0].FSGenderFundamentalist = Number(V.arcologies[0].FSGenderFundamentalist) || "unset";
+		V.arcologies[0].FSGenderFundamentalistDecoration = Number(V.arcologies[0].FSGenderFundamentalistDecoration) || 0;
+		V.arcologies[0].FSGenderFundamentalistLawBeauty = Number(V.arcologies[0].FSGenderFundamentalistLawBeauty) || 0;
+		V.arcologies[0].FSGenderFundamentalistLawBimbo = Number(V.arcologies[0].FSGenderFundamentalistLawBimbo) || 0;
+		V.arcologies[0].FSGenderFundamentalistSMR = Number(V.arcologies[0].FSGenderFundamentalistSMR) || 0;
+	}
+	if (V.arcologies[0].FSPaternalist !== "unset") {
+		V.arcologies[0].FSPaternalist = Number(V.arcologies[0].FSPaternalist) || "unset";
+		V.arcologies[0].FSPaternalistDecoration = Number(V.arcologies[0].FSPaternalistDecoration) || 0;
+		V.arcologies[0].FSPaternalistLaw = Number(V.arcologies[0].FSPaternalistLaw) || 0;
+	}
+	if (V.arcologies[0].FSDegradationist !== "unset") {
+		V.arcologies[0].FSDegradationist = Number(V.arcologies[0].FSDegradationist) || "unset";
+		V.arcologies[0].FSDegradationistDecoration = Number(V.arcologies[0].FSDegradationistDecoration) || 0;
+		V.arcologies[0].FSDegradationistLaw = Number(V.arcologies[0].FSDegradationistLaw) || 0;
+	}
+	if (V.arcologies[0].FSBodyPurist !== "unset") {
+		V.arcologies[0].FSBodyPurist = Number(V.arcologies[0].FSBodyPurist) || "unset";
+		V.arcologies[0].FSBodyPuristDecoration = Number(V.arcologies[0].FSBodyPuristDecoration) || 0;
+		V.arcologies[0].FSBodyPuristLaw = Number(V.arcologies[0].FSBodyPuristLaw) || 0;
+	}
+	if (V.arcologies[0].FSTransformationFetishist !== "unset") {
+		V.arcologies[0].FSTransformationFetishist = Number(V.arcologies[0].FSTransformationFetishist) || "unset";
+		V.arcologies[0].FSTransformationFetishistDecoration = Number(V.arcologies[0].FSTransformationFetishistDecoration) || 0;
+		V.arcologies[0].FSTransformationFetishistSMR = Number(V.arcologies[0].FSTransformationFetishistSMR) || 0;
+	}
+	if (V.arcologies[0].FSYouthPreferentialist !== "unset") {
+		V.arcologies[0].FSYouthPreferentialist = Number(V.arcologies[0].FSYouthPreferentialist) || "unset";
+		V.arcologies[0].FSYouthPreferentialistDecoration = Number(V.arcologies[0].FSYouthPreferentialistDecoration) || 0;
+		V.arcologies[0].FSYouthPreferentialistLaw = Number(V.arcologies[0].FSYouthPreferentialistLaw) || 0;
+	}
+	if (V.arcologies[0].FSMaturityPreferentialist !== "unset") {
+		V.arcologies[0].FSMaturityPreferentialist = Number(V.arcologies[0].FSMaturityPreferentialist) || "unset";
+		V.arcologies[0].FSMaturityPreferentialistDecoration = Number(V.arcologies[0].FSMaturityPreferentialistDecoration) || 0;
+		V.arcologies[0].FSMaturityPreferentialistLaw = Number(V.arcologies[0].FSMaturityPreferentialistLaw) || 0;
+	}
+	if (V.arcologies[0].FSSlimnessEnthusiast !== "unset") {
+		V.arcologies[0].FSSlimnessEnthusiast = Number(V.arcologies[0].FSSlimnessEnthusiast) || "unset";
+		V.arcologies[0].FSSlimnessEnthusiastDecoration = Number(V.arcologies[0].FSSlimnessEnthusiastDecoration) || 0;
+		V.arcologies[0].FSSlimnessEnthusiastSMR = Number(V.arcologies[0].FSSlimnessEnthusiastSMR) || 0;
+		V.arcologies[0].FSSlimnessEnthusiastLaw = Number(V.arcologies[0].FSSlimnessEnthusiastLaw) || 0;
+	}
+	if (V.arcologies[0].FSAssetExpansionist !== "unset") {
+		V.arcologies[0].FSAssetExpansionist = Number(V.arcologies[0].FSAssetExpansionist) || "unset";
+		V.arcologies[0].FSAssetExpansionistDecoration = Number(V.arcologies[0].FSAssetExpansionistDecoration) || 0;
+		V.arcologies[0].FSAssetExpansionistSMR = Number(V.arcologies[0].FSAssetExpansionistSMR) || 0;
+	}
+	if (V.arcologies[0].FSPastoralist !== "unset") {
+		V.arcologies[0].FSPastoralist = Number(V.arcologies[0].FSPastoralist) || "unset";
+		V.arcologies[0].FSPastoralistDecoration = Number(V.arcologies[0].FSPastoralistDecoration) || 0;
+		V.arcologies[0].FSPastoralistLaw = Number(V.arcologies[0].FSPastoralistLaw) || 0;
+	}
+	if (V.arcologies[0].FSPhysicalIdealist !== "unset") {
+		V.arcologies[0].FSPhysicalIdealist = Number(V.arcologies[0].FSPhysicalIdealist) || "unset";
+		V.arcologies[0].FSPhysicalIdealistDecoration = Number(V.arcologies[0].FSPhysicalIdealistDecoration) || 0;
+		V.arcologies[0].FSPhysicalIdealistLaw = Number(V.arcologies[0].FSPhysicalIdealistLaw) || 0;
+		V.arcologies[0].FSPhysicalIdealistSMR = Number(V.arcologies[0].FSPhysicalIdealistSMR) || 0;
+		V.arcologies[0].FSPhysicalIdealistStrongFat = Number(V.arcologies[0].FSPhysicalIdealistStrongFat) || 0;
+	}
+	if (V.arcologies[0].FSChattelReligionist !== "unset") {
+		V.arcologies[0].FSChattelReligionist = Number(V.arcologies[0].FSChattelReligionist) || "unset";
+		V.arcologies[0].FSChattelReligionistDecoration = Number(V.arcologies[0].FSChattelReligionistDecoration) || 0;
+		V.arcologies[0].FSChattelReligionistLaw = Number(V.arcologies[0].FSChattelReligionistLaw) || 0;
+		V.arcologies[0].FSChattelReligionistCreed = Number(V.arcologies[0].FSChattelReligionistCreed) || 0;
+	}
+	if (V.arcologies[0].FSEdoRevivalist !== "unset") {
+		V.arcologies[0].FSEdoRevivalist = Number(V.arcologies[0].FSEdoRevivalist) || "unset";
+		V.arcologies[0].FSEdoRevivalistDecoration = Number(V.arcologies[0].FSEdoRevivalistDecoration) || 0;
+		V.arcologies[0].FSEdoRevivalistLaw = Number(V.arcologies[0].FSEdoRevivalistLaw) || 0;
+	}
+	if (V.arcologies[0].FSRomanRevivalist !== "unset") {
+		V.arcologies[0].FSRomanRevivalist = Number(V.arcologies[0].FSRomanRevivalist) || "unset";
+		V.arcologies[0].FSRomanRevivalistDecoration = Number(V.arcologies[0].FSRomanRevivalistDecoration) || 0;
+		V.arcologies[0].FSRomanRevivalistLaw = Number(V.arcologies[0].FSRomanRevivalistLaw) || 0;
+	}
+	if (V.arcologies[0].FSAztecRevivalist !== "unset") {
+		V.arcologies[0].FSAztecRevivalist = Number(V.arcologies[0].FSAztecRevivalist) || "unset";
+		V.arcologies[0].FSAztecRevivalistDecoration = Number(V.arcologies[0].FSAztecRevivalistDecoration) || 0;
+		V.arcologies[0].FSAztecRevivalistLaw = Number(V.arcologies[0].FSAztecRevivalistLaw) || 0;
+	}
+	if (V.arcologies[0].FSEgyptianRevivalist !== "unset") {
+		V.arcologies[0].FSEgyptianRevivalist = Number(V.arcologies[0].FSEgyptianRevivalist) || "unset";
+		V.arcologies[0].FSEgyptianRevivalistDecoration = Number(V.arcologies[0].FSEgyptianRevivalistDecoration) || 0;
+		V.arcologies[0].FSEgyptianRevivalistLaw = Number(V.arcologies[0].FSEgyptianRevivalistLaw) || 0;
+	}
+	if (V.arcologies[0].FSEdoRevivalist !== "unset") {
+		V.arcologies[0].FSEdoRevivalist = Number(V.arcologies[0].FSEdoRevivalist) || "unset";
+		V.arcologies[0].FSEdoRevivalistDecoration = Number(V.arcologies[0].FSEdoRevivalistDecoration) || 0;
+		V.arcologies[0].FSEdoRevivalistLaw = Number(V.arcologies[0].FSEdoRevivalistLaw) || 0;
+	}
+	if (V.arcologies[0].FSArabianRevivalist !== "unset") {
+		V.arcologies[0].FSArabianRevivalist = Number(V.arcologies[0].FSArabianRevivalist) || "unset";
+		V.arcologies[0].FSArabianRevivalistDecoration = Number(V.arcologies[0].FSArabianRevivalistDecoration) || 0;
+		V.arcologies[0].FSArabianRevivalistLaw = Number(V.arcologies[0].FSArabianRevivalistLaw) || 0;
+	}
+	if (V.arcologies[0].FSChineseRevivalist !== "unset") {
+		V.arcologies[0].FSChineseRevivalist = Number(V.arcologies[0].FSChineseRevivalist) || "unset";
+		V.arcologies[0].FSChineseRevivalistDecoration = Number(V.arcologies[0].FSChineseRevivalistDecoration) || 0;
+		V.arcologies[0].FSChineseRevivalistLaw = Number(V.arcologies[0].FSChineseRevivalistLaw) || 0;
+	}
+	for (let _fscdc = 0; _fscdc < setup.FutureSocieties.length; _fscdc++) {
+		if (!(V.arcologies[0][setup.FutureSocieties[_fscdc]] > 0)) {
+			FutureSocieties.remove(setup.FutureSocieties[_fscdc]);
+		}
+	}
+};
+
+App.Update.neighborArcologyCheatDatatypeCleanup = function() {
+	let _l = V.arcologies.length;
+	for (let _i = 1; _i < _l; _i++) {
+		V.arcologies[_i].honeymoon = Number(V.arcologies[_i].honeymoon) || 0;
+		V.arcologies[_i].prosperity = Number(V.arcologies[_i].prosperity) || 0;
+		V.arcologies[_i].ownership = Number(V.arcologies[_i].ownership) || 0;
+		V.arcologies[_i].minority = Number(V.arcologies[_i].minority) || 0;
+		V.arcologies[_i].PCminority = Number(V.arcologies[_i].PCminority) || 0;
+		V.arcologies[_i].demandFactor = Number(V.arcologies[_i].demandFactor) || 0;
+		if (V.arcologies[_i].FSSupremacist !== "unset") {
+			V.arcologies[_i].FSSupremacist = Number(V.arcologies[_i].FSSupremacist) || "unset";
+		}
+		if (V.arcologies[_i].FSSupremacist !== "unset" && !setup.filterRacesLowercase.includes(V.arcologies[_i].FSSupremacistRace)) {
+			V.arcologies[_i].FSSupremacistRace = setup.filterRacesLowercase.random();
+		}
+		if (V.arcologies[_i].FSSubjugationist !== "unset") {
+			V.arcologies[_i].FSSubjugationist = Number(V.arcologies[_i].FSSubjugationist) || "unset";
+		}
+		if (V.arcologies[_i].FSSubjugationist !== "unset" && !setup.filterRacesLowercase.includes(V.arcologies[_i].FSSubjugationistRace)) {
+			V.arcologies[_i].FSSubjugationistRace = setup.filterRacesLowercase.random();
+		}
+		if (V.arcologies[_i].FSGenderRadicalist !== "unset") {
+			V.arcologies[_i].FSGenderRadicalist = Number(V.arcologies[_i].FSGenderRadicalist) || "unset";
+			V.arcologies[_i].FSGenderFundamentalist = "unset";
+		}
+		if (V.arcologies[_i].FSGenderFundamentalist !== "unset") {
+			V.arcologies[_i].FSGenderFundamentalist = Number(V.arcologies[_i].FSGenderFundamentalist) || "unset";
+			V.arcologies[_i].FSGenderRadicalist = "unset";
+		}
+		if (V.arcologies[_i].FSPaternalist !== "unset") {
+			V.arcologies[_i].FSPaternalist = Number(V.arcologies[_i].FSPaternalist) || "unset";
+			V.arcologies[_i].FSDegradationist = "unset";
+		}
+		if (V.arcologies[_i].FSDegradationist !== "unset") {
+			V.arcologies[_i].FSDegradationist = Number(V.arcologies[_i].FSDegradationist) || "unset";
+			V.arcologies[_i].FSPaternalist = "unset";
+		}
+		if (V.arcologies[_i].FSBodyPurist !== "unset") {
+			V.arcologies[_i].FSBodyPurist = Number(V.arcologies[_i].FSBodyPurist) || "unset";
+			V.arcologies[_i].FSTransformationFetishist = "unset";
+		}
+		if (V.arcologies[_i].FSTransformationFetishist !== "unset") {
+			V.arcologies[_i].FSTransformationFetishist = Number(V.arcologies[_i].FSTransformationFetishist) || "unset";
+			V.arcologies[_i].FSBodyPurist = "unset";
+		}
+		if (V.arcologies[_i].FSYouthPreferentialist !== "unset") {
+			V.arcologies[_i].FSYouthPreferentialist = Number(V.arcologies[_i].FSYouthPreferentialist) || "unset";
+			V.arcologies[_i].FSMaturityPreferentialist = "unset";
+		}
+		if (V.arcologies[_i].FSMaturityPreferentialist !== "unset") {
+			V.arcologies[_i].FSMaturityPreferentialist = Number(V.arcologies[_i].FSMaturityPreferentialist) || "unset";
+			V.arcologies[_i].FSYouthPreferentialist = "unset";
+		}
+		if (V.arcologies[_i].FSSlimnessEnthusiast !== "unset") {
+			V.arcologies[_i].FSSlimnessEnthusiast = Number(V.arcologies[_i].FSSlimnessEnthusiast) || "unset";
+			V.arcologies[_i].FSAssetExpansionist = "unset";
+		}
+		if (V.arcologies[_i].FSAssetExpansionist !== "unset") {
+			V.arcologies[_i].FSAssetExpansionist = Number(V.arcologies[_i].FSAssetExpansionist) || "unset";
+			V.arcologies[_i].FSSlimnessEnthusiast = "unset";
+		}
+		if (V.arcologies[_i].FSPastoralist !== "unset") {
+			V.arcologies[_i].FSPastoralist = Number(V.arcologies[_i].FSPastoralist) || "unset";
+		}
+		if (V.arcologies[_i].FSPhysicalIdealist !== "unset") {
+			V.arcologies[_i].FSPhysicalIdealist = Number(V.arcologies[_i].FSPhysicalIdealist) || "unset";
+			V.arcologies[_i].FSHedonisticDecadence = "unset";
+		}
+		if (V.arcologies[_i].FSHedonisticDecadence !== "unset") {
+			V.arcologies[_i].FSHedonisticDecadence = Number(V.arcologies[_i].FSHedonisticDecadence) || "unset";
+			V.arcologies[_i].FSPhysicalIdealist = "unset";
+		}
+		if (V.arcologies[_i].FSChattelReligionist !== "unset") {
+			V.arcologies[_i].FSChattelReligionist = Number(V.arcologies[_i].FSChattelReligionist) || "unset";
+		}
+		if (V.arcologies[_i].FSRomanRevivalist !== "unset") {
+			V.arcologies[_i].FSRomanRevivalist = Number(V.arcologies[_i].FSRomanRevivalist) || "unset";
+			V.arcologies[_i].FSArabianRevivalist = V.arcologies[_i].FSAztecRevivalist = V.arcologies[_i].FSChineseRevivalist = V.arcologies[_i].FSEdoRevivalist = V.arcologies[_i].FSEgyptianRevivalist = "unset";
+		}
+		if (V.arcologies[_i].FSAztecRevivalist !== "unset") {
+			V.arcologies[_i].FSAztecRevivalist = Number(V.arcologies[_i].FSAztecRevivalist) || "unset";
+			V.arcologies[_i].FSArabianRevivalist = V.arcologies[_i].FSChineseRevivalist = V.arcologies[_i].FSEdoRevivalist = V.arcologies[_i].FSEgyptianRevivalist = V.arcologies[_i].FSRomanRevivalist = "unset";
+		}
+		if (V.arcologies[_i].FSEgyptianRevivalist !== "unset") {
+			V.arcologies[_i].FSEgyptianRevivalist = Number(V.arcologies[_i].FSEgyptianRevivalist) || "unset";
+			V.arcologies[_i].FSArabianRevivalist = V.arcologies[_i].FSAztecRevivalist = V.arcologies[_i].FSChineseRevivalist = V.arcologies[_i].FSEdoRevivalist = V.arcologies[_i].FSRomanRevivalist = "unset";
+		}
+		if (V.arcologies[_i].FSEdoRevivalist !== "unset") {
+			V.arcologies[_i].FSEdoRevivalist = Number(V.arcologies[_i].FSEdoRevivalist) || "unset";
+			V.arcologies[_i].FSArabianRevivalist = V.arcologies[_i].FSAztecRevivalist = V.arcologies[_i].FSChineseRevivalist = V.arcologies[_i].FSEgyptianRevivalist = V.arcologies[_i].FSRomanRevivalist = "unset";
+		}
+		if (V.arcologies[_i].FSArabianRevivalist !== "unset") {
+			V.arcologies[_i].FSArabianRevivalist = Number(V.arcologies[_i].FSArabianRevivalist) || "unset";
+			V.arcologies[_i].FSAztecRevivalist = V.arcologies[_i].FSChineseRevivalist = V.arcologies[_i].FSEdoRevivalist = V.arcologies[_i].FSEgyptianRevivalist = V.arcologies[_i].FSRomanRevivalist = "unset";
+		}
+		if (V.arcologies[_i].FSChineseRevivalist !== "unset") {
+			V.arcologies[_i].FSChineseRevivalist = Number(V.arcologies[_i].FSChineseRevivalist) || "unset";
+			V.arcologies[_i].FSArabianRevivalist = V.arcologies[_i].FSAztecRevivalist = V.arcologies[_i].FSEdoRevivalist = V.arcologies[_i].FSEgyptianRevivalist = V.arcologies[_i].FSRomanRevivalist = "unset";
+		}
+		if (V.arcologies[_i].FSNull !== "unset") {
+			V.arcologies[_i].FSNull = Number(V.arcologies[_i].FSNull) || "unset";
+		}
+		if (V.arcologies[_i].FSRepopulationFocus !== "unset") {
+			V.arcologies[_i].FSRepopulationFocus = Number(V.arcologies[_i].FSRepopulationFocus) || "unset";
+			V.arcologies[_i].FSRestart = "unset";
+		}
+		if (V.arcologies[_i].FSRestart !== "unset") {
+			V.arcologies[_i].FSRestart = Number(V.arcologies[_i].FSRestart) || "unset";
+			V.arcologies[_i].FSRepopulationFocus = "unset";
+		}
+		if (V.arcologies[_i].FSIntellectualDependency !== "unset") {
+			V.arcologies[_i].FSIntellectualDependency = Number(V.arcologies[_i].FSIntellectualDependency) || "unset";
+			V.arcologies[_i].FSSlaveProfessionalism = "unset";
+		}
+		if (V.arcologies[_i].FSSlaveProfessionalism !== "unset") {
+			V.arcologies[_i].FSSlaveProfessionalism = Number(V.arcologies[_i].FSSlaveProfessionalism) || "unset";
+			V.arcologies[_i].FSIntellectualDependency = "unset";
+		}
+		if (V.arcologies[_i].FSPetiteAdmiration !== "unset") {
+			V.arcologies[_i].FSPetiteAdmiration = Number(V.arcologies[_i].FSPetiteAdmiration) || "unset";
+			V.arcologies[_i].FSStatuesqueGlorification = "unset";
+		}
+		if (V.arcologies[_i].FSStatuesqueGlorification !== "unset") {
+			V.arcologies[_i].FSStatuesqueGlorification = Number(V.arcologies[_i].FSStatuesqueGlorification) || "unset";
+			V.arcologies[_i].FSPetiteAdmiration = "unset";
+		}
+		if (V.arcologies[_i].FSCummunism !== "unset") {
+			V.arcologies[_i].FSCummunism = Number(V.arcologies[_i].FSCummunism) || "unset";
+		}
+		if (V.arcologies[_i].FSIncestFetishist !== "unset") {
+			V.arcologies[_i].FSIncestFetishist = Number(V.arcologies[_i].FSIncestFetishist) || "unset";
+		}
+		V.arcologies[_i].embargo = Number(V.arcologies[_i].embargo) || 0;
+		V.arcologies[_i].embargoTarget = Number(V.arcologies[_i].embargoTarget) || 0;
+		V.arcologies[_i].CyberEconomic = Number(V.arcologies[_i].CyberEconomic) || 0;
+		V.arcologies[_i].CyberEconomicTarget = Number(V.arcologies[_i].CyberEconomicTarget) || 0;
+		V.arcologies[_i].CyberReputation = Number(V.arcologies[_i].CyberReputation) || 0;
+		V.arcologies[_i].CyberReputationTarget = Number(V.arcologies[_i].CyberReputationTarget) || 0;
+		V.arcologies[_i].influenceTarget = Number(V.arcologies[_i].influenceTarget) || 0;
+		V.arcologies[_i].influenceBonus = Number(V.arcologies[_i].influenceBonus) || 0;
+		V.arcologies[_i].rival = Number(V.arcologies[_i].rival) || 0;
+	}
+};
diff --git a/src/data/backwardsCompatibility/generalBC.js b/src/data/backwardsCompatibility/generalBC.js
deleted file mode 100644
index 654ef4d55de2db7ee83171e1ce600851e1ed22c6..0000000000000000000000000000000000000000
--- a/src/data/backwardsCompatibility/generalBC.js
+++ /dev/null
@@ -1,63 +0,0 @@
-App.Update.sectorsToBuilding = function() {
-	V.building = new App.Arcology.Building([]);
-	const B = V.building;
-	const S = V.sectors;
-
-	B.sections.push(new App.Arcology.Section("penthouse", [[new App.Arcology.Cell.Penthouse()]]));
-	if (V.arcologyUpgrade.spire === 1) {
-		B.sections.push(new App.Arcology.Section("spire", [[
-			sectorToApartment(S[1]), sectorToApartment(S[2])], [
-			sectorToApartment(S[3]), sectorToApartment(S[4])]]));
-	}
-	B.sections.push(new App.Arcology.Section("apartments",
-		[
-			[sectorToApartment(S[8]), sectorToApartment(S[9]), sectorToApartment(S[10]), sectorToApartment(S[11])],
-			[sectorToApartment(S[12]), sectorToApartment(S[13]), sectorToApartment(S[14]), sectorToApartment(S[15])],
-			[sectorToApartment(S[16]), sectorToApartment(S[17]), sectorToApartment(S[18]), sectorToApartment(S[19])],
-		]));
-
-	function sectorToApartment(sector) {
-		const a = new App.Arcology.Cell.Apartment(sector.ownership);
-		if (sector.type === "LuxuryApartments") {
-			a.type = 1;
-		} else if (sector.type === "DenseApartments") {
-			a.type = 3;
-		}
-		return a;
-	}
-
-	B.sections.push(new App.Arcology.Section("shops", [[sectorToShop(S[5]), sectorToShop(S[6]), sectorToShop(S[7])]]));
-
-	function sectorToShop(sector) {
-		return new App.Arcology.Cell.Shop(sector.ownership, sector.type);
-	}
-
-	B.sections.push(new App.Arcology.Section("markets",
-		[[sectorToMarket(S[20]), sectorToMarket(S[21]), sectorToMarket(S[22]), sectorToMarket(S[23]), sectorToMarket(S[24])]]));
-
-	function sectorToMarket(sector) {
-		const m = new App.Arcology.Cell.Market(sector.ownership);
-		if (sector.type === "transportHub") {
-			m.type = "Transport Hub";
-		} else if (sector.type === "CorporateMarket") {
-			m.type = "Corporate Market";
-		} else {
-			m.type = sector.type;
-		}
-		return m;
-	}
-
-	B.sections.push(new App.Arcology.Section("manufacturing",
-		[[sectorToManu(S[25]), sectorToManu(S[26]), sectorToManu(S[27]), sectorToManu(S[28]), sectorToManu(S[29])]]));
-
-	function sectorToManu(sector) {
-		const m = new App.Arcology.Cell.Manufacturing(sector.ownership);
-		if (sector.type === "weapManu") {
-			m.type = "Weapon Manufacturing";
-		} else {
-			m.type = sector.type;
-		}
-		return m;
-	}
-
-};
diff --git a/src/events/intro/initNationalities.tw b/src/events/intro/initNationalities.tw
index 7d84f8f64086b582298b1a6240d26f527b932d7b..c74149433bdc9e4157d036b498b56f4e262707fe 100644
--- a/src/events/intro/initNationalities.tw
+++ b/src/events/intro/initNationalities.tw
@@ -1,7 +1,82 @@
 :: init Nationalities [silently]
 
 <<if $secExpEnabled > 0>>
-	<<include "secInit">>
+	/* base vars */
+	<<set $SecExp = SecExpBase()>>
+	<<= App.SecExp.Check.general()>>
+	<<set $secExp = SecExpBase()>>
+	<<set $secUpgrades = {
+		nanoCams: 0,
+		cyberBots: 0,
+		eyeScan: 0,
+		cryptoAnalyzer: 0,
+		coldstorage: 0}>>
+	<<set $crimeUpgrades = {
+		autoTrial: 0,
+		autoArchive: 0,
+		worldProfiler: 0,
+		advForensic: 0}>>
+	<<set $intelUpgrades = {
+		sensors: 0,
+		radar: 0,
+		signalIntercept: 0}>>
+	<<set $readinessUpgrades = {
+		earlyWarn: 0,
+		rapidPlatforms: 0,
+		pathways: 0,
+		rapidVehicles: 0}>>
+	<<set $riotCenter = 0>>
+	<<set $riotUpgrades = {
+		freeMedia: 0,
+		rapidUnit: 0,
+		rapidUnitSpeed: 0}>>
+	<<set $fort = {
+		reactor: 0,
+		waterway: 0,
+		assistant:0}>>
+	<<set $currentUpgrade = {
+		name: " ",
+		unit: 0,
+		type: 0,
+		time: 0}>>
+	<<set $droneUpgrades = {
+		attack: 0,
+		defense: 0,
+		hp:0}>>
+	<<set $humanUpgrade = {
+		attack: 0,
+		defense: 0,
+		hp:0,
+		morale: 0}>>
+	<<set $sellTo = {
+		citizen: 1,
+		raiders: 1,
+		oldWorld: 1,
+		FC: 1}>>
+	<<set $garrison = {
+		penthouse: 0,
+		reactor: 0,
+		assistant: 0,
+		waterway: 0,
+		reactorTime: 0,
+		assistantTime: 0,
+		waterwayTime: 0 }>>
+	<<if $wasToggledBefore == 0>>
+		<<if $mercenaries == 1>>
+			<<set $mercFreeManpower = random(5,20)>>
+		<<elseif $mercenaries > 1>>
+			<<set $mercFreeManpower = random(10,30)>>
+		<</if>>
+	<</if>>
+
+	/* battle relevant variables */
+	<<set $secBots = {
+		active: 0,
+		ID: -1,
+		isDeployed: 0,
+		troops: 0,
+		maxTroops: 0,
+		equip: 0} >>
 <</if>>
 
 <<set $minimumSlaveAge = variableAsNumber($minimumSlaveAge, 3, 18, 18)>>
@@ -73,9 +148,6 @@
 <<set $minimumSlaveCost = 3000>>
 <<set $enduringRep = $rep>>
 
-<<set $arcologies = []>>
-<<set $leaders = []>>
-
 <<set _seed = ["east", "north", "northeast", "northwest", "south", "southeast", "southwest", "west"]>>
 <<set _govtypes = ["a committee", "a corporation", "an individual", "an oligarchy", "direct democracy", "elected officials"]>>
 
@@ -841,7 +913,7 @@
 	<<include "DF Slaves Database">>
 <</if>>
 <<include "custom Slaves Database">>
-<<HeroSlavesCleanup>>
+<<= App.Update.HeroSlavesCleanup()>>
 
 <<set $activeSlave = 0>>
 <<set $activeChild = 0>>
diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw
index ab6346d3e47886124afb14ecf6c81d7d94447de3..b10831c1e2f0e5c2f21bb7779e57454cb2625521 100644
--- a/src/init/storyInit.tw
+++ b/src/init/storyInit.tw
@@ -12,394 +12,33 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY
 You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
 */
 
-<<set $returnTo = "init", $nextButton = "Continue", $nextLink = "Alpha disclaimer">>
+<<run App.Update.setNonexistantProperties(V, App.Data.defaultGameStateVariables)>>
 
 <<set $ver = App.Version.base, $pmodVer = App.Version.pmod, $releaseID = App.Version.release>>
 
-/* This needs to be broken down into individual files that can be added to StoryInit instead. */
-
 <<set _NGPOffset = 1200000>>
-<<if def $slaves>>
-	<<set _SL = $slaves.length>>
-	<<for _i = 0; _i < _SL; _i++>>
-		<<if $slaves[_i].assignment != "be imported">>
-			<<run removeNonNGPSlave($slaves[_i])>>
-			<<set _i--, _SL-->>
-		<</if>>
-	<</for>>
-	<<for _i = 0; _i < _SL; _i++>>
-		<<if $slaves[_i].assignment == "be imported">>
-			<<set $slaves[_i].ID += _NGPOffset>>
-			<<set $slaves[_i].assignment = "rest">>
-			<<set $slaves[_i].weekAcquired = 0>>
-			<<set $slaves[_i].newGamePlus = 1>>
-			<<if $slaves[_i].mother > 0>>
-				<<set $slaves[_i].mother += _NGPOffset>>
-			<<elseif $freshPC == 1 && $slaves[_i].mother == -1>>
-				<<set $slaves[_i].mother = -_NGPOffset>>
-			<<elseif $slaves[_i].mother < -1>>
-				<<set $slaves[_i].mother -= _NGPOffset>>
-			<</if>>
-			<<if $slaves[_i].father > 0>>
-				<<set $slaves[_i].father += _NGPOffset>>
-			<<elseif $freshPC == 1 && $slaves[_i].father == -1>>
-				<<set $slaves[_i].father = -_NGPOffset>>
-			<<elseif $slaves[_i].father < -1>>
-				<<set $slaves[_i].father -= _NGPOffset>>
-			<</if>>
-			<<set $slaves[_i].daughters = 0>>
-			<<set $slaves[_i].sisters = 0>>
-			<<set $slaves[_i].canRecruit = 0>>
-			<<set $slaves[_i].breedingMark = 0>>
-			<<if $arcologies[0].FSRomanRevivalist > 90>>
-				<<set $slaves[_i].nationality = "Roman Revivalist">>
-			<<elseif $arcologies[0].FSAztecRevivalist > 90>>
-				<<set $slaves[_i].nationality = "Aztec Revivalist">>
-			<<elseif $arcologies[0].FSEgyptianRevivalist > 90>>
-				<<set $slaves[_i].nationality = "Ancient Egyptian Revivalist">>
-			<<elseif $arcologies[0].FSEdoRevivalist > 90>>
-				<<set $slaves[_i].nationality = "Edo Revivalist">>
-			<<elseif $arcologies[0].FSArabianRevivalist > 90>>
-				<<set $slaves[_i].nationality = "Arabian Revivalist">>
-			<<elseif $arcologies[0].FSChineseRevivalist > 90>>
-				<<set $slaves[_i].nationality = "Ancient Chinese Revivalist">>
-			<</if>>
-			<<if $slaves[_i].relationTarget != 0>>
-				<<set $slaves[_i].relationTarget += _NGPOffset>>
-			<</if>>
-			<<if $slaves[_i].relationshipTarget != 0>>
-				<<set $slaves[_i].relationshipTarget += _NGPOffset>>
-			<</if>>
-			<<if $slaves[_i].cloneID != 0>>
-				<<set $slaves[_i].cloneID += _NGPOffset>>
-			<</if>>
-			<<set $slaves[_i].rivalry = 0, $slaves[_i].rivalryTarget = 0, $slaves[_i].subTarget = 0>>
-			<<set $slaves[_i].drugs = "no drugs">>
-			<<set $slaves[_i].porn.spending = 0>>
-			<<set $slaves[_i].rules.living = "spare">>
-			<<set $slaves[_i].diet = "healthy">>
-			<<set $slaves[_i].pregControl = "none">>
-		<</if>>
-	<</for>>
-	<<set $slaveIndices = slaves2indices()>>
-	<<for _k = 0; _k < _SL; _k++>>
-		<<for _i = 0; _i < _SL; _i++>>
-			<<if $slaves[_k].mother == $slaves[_i].ID || $slaves[_k].father == $slaves[_i].ID>>
-				<<set $slaves[_i].daughters += 1>>
-			<</if>>
-			<<if areSisters($slaves[_k], $slaves[_i]) > 0>>
-				<<set $slaves[_i].sisters += 1>>
-			<</if>>
-		<</for>>
-		<<if $slaves[_k].pregSource > 0>>
-			<<set $slaves[_k].pregSource += _NGPOffset>>
-			<<set _getFather = $slaveIndices[$slaves[_k].pregSource]>>
-			<<if ndef _getFather>>
-				<<set $slaves[_k].pregSource = 0>>
-			<</if>>
-		<</if>>
-		<<for _sInit = 0; _sInit < $slaves[_k].womb.length; _sInit++>>
-			<<if $slaves[_k].womb[_sInit].fatherID > 0>>
-				<<set $slaves[_k].womb[_sInit].fatherID += _NGPOffset>>
-			<<elseif $freshPC == 1 && $slaves[_k].womb[_sInit].fatherID == -1>>
-				<<set $slaves[_k].womb[_sInit].fatherID = -_NGPOffset>>
-			<<elseif $slaves[_k].womb[_sInit].fatherID < -20>>
-				<<set $slaves[_k].womb[_sInit].fatherID -= _NGPOffset>>
-			<</if>>
-			<<if $slaves[_k].womb[_sInit].genetics.father > 0>>
-				<<set $slaves[_k].womb[_sInit].genetics.father += _NGPOffset>>
-			<<elseif $freshPC == 1 && $slaves[_k].womb[_sInit].genetics.father == -1>>
-				<<set $slaves[_k].womb[_sInit].genetics.father = -_NGPOffset>>
-			<<elseif $slaves[_k].womb[_sInit].genetics.father < -20>>
-				<<set $slaves[_k].womb[_sInit].genetics.father -= _NGPOffset>>
-			<</if>>
-			<<if $slaves[_k].womb[_sInit].genetics.mother > 0>>
-				<<set $slaves[_k].womb[_sInit].genetics.mother += _NGPOffset>>
-			<<elseif $freshPC == 1 && $slaves[_k].womb[_sInit].genetics.mother == -1>>
-				<<set $slaves[_k].womb[_sInit].genetics.mother = -_NGPOffset>>
-			<<elseif $slaves[_k].womb[_sInit].genetics.mother < -20>>
-				<<set $slaves[_k].womb[_sInit].genetics.mother -= _NGPOffset>>
-			<</if>>
-		<</for>>
-		<<if $slaves[_k].cloneID != 0>>
-			<<set _getClone = $slaveIndices[$slaves[_k].cloneID]>>
-			<<if ndef _getClone>>
-				<<set $slaves[_k].cloneID = 0>>
-			<</if>>
-		<</if>>
-	<</for>>
-	<<set $genePool = ngUpdateGenePool($genePool)>>
-	<<if ndef $missingTable || $showMissingSlaves == false>>
-		<<set $missingTable = {}>>
-	<<else>>
-		<<set $missingTable = ngUpdateMissingTable($missingTable)>>
-	<</if>>
-	<<for _i = 0; _i < _SL; _i++>>
-		<<if $slaves[_i].relation != 0>>
-			<<set _seed = 0, _rt = $slaves[_i].relationTarget, _ID = $slaves[_i].ID>>
-			<<set _j = $slaveIndices[_rt]>>
-			<<if (def _j) && $slaves[_j].relationTarget == _ID>>
-				<<set _seed = 1>>
-			<</if>>
-			<<if _seed == 0>>
-				<<set $slaves[_i].relation = 0, $slaves[_i].relationTarget = 0>>
-			<</if>>
-		<</if>>
-		<<if $slaves[_i].relationship > 0>>
-			<<set _seed = 0, _rt = $slaves[_i].relationshipTarget, _ID = $slaves[_i].ID>>
-			<<set _j = $slaveIndices[_rt]>>
-			<<if (def _j) && $slaves[_j].relationshipTarget == _ID>>
-				<<set _seed = 1>>
-			<</if>>
-			<<if _seed == 0>>
-				<<set $slaves[_i].relationship = 0, $slaves[_i].relationshipTarget = 0>>
-			<</if>>
-		<</if>>
-	<</for>>
-	<<for _i = 0; _i < _SL; _i++>>
-		<<if $familyTesting == 1>>
-			<<if $slaves[_i].canRecruit == 1>>
-				/*<<set $recruiters.push($slaves[_i])>>*/
-			<</if>>
-		<<else>>
-			<<if $slaves[_i].relation == 0>>
-				<<if random(1,100) <= 5>>
-					<<set $slaves[_i].recruiter = "twin">>
-				<<elseif ($slaves[_i].actualAge > 32) && (random(1,100) <= 41)>>
-					<<set $slaves[_i].recruiter = "mother">>
-				<<elseif ($slaves[_i].actualAge < 24) && (random(1,100) <= 40)>>
-					<<set $slaves[_i].recruiter = "daughter">>
-				<<elseif ($slaves[_i].actualAge < 43) && (random(1,100) <= 20)>>
-					<<set $slaves[_i].recruiter = "older sister">>
-				<<elseif ($slaves[_i].actualAge < 25) && ($slaves[_i].actualAge > 18) && (random(1,100) <= 20)>>
-					<<set $slaves[_i].recruiter = "young sister">>
-				<</if>>
-			<<else>>
-				<<set $slaves[_i].recruiter = 0>>
-			<</if>>
-		<</if>> /*closes family mode */
-		<<set $slaves[_i].counter.milk = 0>>
-		<<set $slaves[_i].counter.cum = 0>>
-		<<set $slaves[_i].counter.births = 0>>
-		<<set $slaves[_i].counter.mammary = 0>>
-		<<set $slaves[_i].counter.penetrative = 0>>
-		<<set $slaves[_i].counter.oral = 0>>
-		<<set $slaves[_i].counter.anal = 0>>
-		<<set $slaves[_i].counter.vaginal = 0>>
-		<<set $slaves[_i].lifetimeCashExpenses = 0>>
-		<<set $slaves[_i].lifetimeCashIncome = 0>>
-		<<set $slaves[_i].lastWeeksCashIncome = 0>>
-		<<set $slaves[_i].lifetimeRepExpenses = 0>>
-		<<set $slaves[_i].lifetimeRepIncome = 0>>
-		<<set $slaves[_i].lastWeeksRepExpenses = 0>>
-		<<set $slaves[_i].lastWeeksRepIncome = 0>>
-	<</for>>
-	<<set $slavesOriginal = []>> /* not used by pregmod */
-<<else>>
-	<<set $slaves = []>>
-	<<set $slavesOriginal = []>> /* not used by pregmod */
-	<<set $genePool = []>>
-	<<set $slaveIndices = slaves2indices()>>
-		<<set $missingTable = {}>>
-	<<set $showMissingSlaves = false>>
-	<<set $showMissingSlavesSD = false>>
-<</if>>
 
-<<set $marrying = []>> /* array of slave being married this week*/
-<<set $organs = []>>
-<<set $ArcadeiIDs = [], $BrothiIDs = [], $CellBiIDs = [], $CliniciIDs = [], $ClubiIDs = [], $DairyiIDs = [], $FarmyardiIDs = [], $HGSuiteiIDs = [], $MastSiIDs = [], $SchlRiIDs = [], $ServQiIDs = [], $SpaiIDs = [], $NurseryiIDs = []>>
+<<run App.Update.slaveLoopInit()>>
 
-<<if ndef $saveImported>>
-	<<set $saveImported = 0>>
-<</if>>
+/* 0 out the record books as we start a new game */
+<<setupLastWeeksCash>>
+<<setupLastWeeksRep>>
 
 <<if $saveImported == 0>> /* new game (not NG+) */
 
 	<<set $PC = basePlayer()>>
 	<<run WombInit($PC)>>
-	<<set $freshPC = 0>>
-	<<set $cheater = 0>>
-	<<setupLastWeeksCash>>
-	<<setupLastWeeksRep>>
-	<<set $cash = 0>>
-	<<set $cashLastWeek = 0>>
 	<<run cashX(10000, "personalBusiness")>>
-	<<set $autosave = 1>>
-	<<set $useFSNames = 1>>
-	<<set $FSNamePref = 0>>
-	<<set $seeDetails = 1>>
-	<<set $seeDesk = 1>>
-	<<set $newModelUI = 1>>
-	<<set $seeArcology = 1>>
-	<<set $seeFCNN = 1>>
-	<<set $useSummaryCache = true>>
-	<<set $seeExtreme = 0>>
-	<<set $seeBestiality = 0>>
-	<<set $seePee = 1>>
-	<<set $seeIncest = 1>>
-	<<set $extremeUnderage = 0>>
-	<<set $seeHyperPreg = 0>>
-	<<set $seePreg = 1>>
-	<<set $dangerousPregnancy = 0>>
-	<<set $adamPrinciple = 0>>
-	<<set $seeCircumcision = 1>>
-	<<set $seeAge = 1>>
-	<<set $seeDicks = 25>>
-	<<set $seeDicksAffectsPregnancy = 1>>
-	<<set $seeRace = 1>>
-	<<set $seeNationality = 1>>
-	<<set $realRoyalties = 0>>
-	<<set $seeIllness = 1>>
-	<<set $seeImages = 0>>
-	<<set $seeFaces = 1>>
-	<<set $seeAvatar = 1>>
-	<<set $seeHeight = 0>>
-	<<set $imageChoice = 1>>
-	<<set $seeVectorArtHighlights = 1>>
-	<<set $seeMainFetishes = 0>>
-	<<set $seeSummaryImages = 1>>
-	<<set $seeReportImages = 1>>
-	<<set $slavePanelStyle = 1>>
-	<<set $lineSeparations = 1>>
-	<<set $showSexualHistory = 1>>
-	<<set $showBodyMods = 1>>
-	<<set $showImplantEffects = 1>>
-	<<set $showClothing = 1>>
-	<<set $showAgeDetail = 1>>
-	<<set $showBoobCCs = 1>>
-	<<set $showHeightCMs = 1>>
-	<<set $showDickCMs = 1>>
-	<<set $showInches = 1>>
-	<<set $showNumbers = 2>>
-	<<set $showNumbersMax = 20>>
-	<<set $showScores = 1>>
-	<<set $showAssignToScenes = 1>>
-	<<set $showEWD = 1>>
-	<<set $showEWM = 1>>
-	<<set $showVignettes = 1>>
-	<<set $showAppraisal = 1>>
-	<<set $verticalizeArcologyLinks = 0>>
-	<<set $positionMainLinks = -1>>
-	<<set $showTipsFromEncy = 1>>
-	<<set $displayAssignments = 1>>
-	<<set $sortSlavesBy = "devotion">>
-	<<set $sortSlavesOrder = "descending">>
-	<<set $sortSlavesMain = 1>>
-	<<set $HGSeverity = 0>>
-	<<set $HGFormality = 1>>
-	<<set $universalRulesConsent = 0>>
-	<<set $universalRulesRest = 0>>
-	<<set $universalRulesFacilityWork = 1>>
-	<<set $universalRulesImpregnation = "none">>
-	<<set $universalRulesBirthing = 0>>
-	<<set $universalRulesCSec = 0>>
-	<<set $universalRulesNewSlavesRA = 1>>
-	<<set $universalRulesAssignsSelfFacility = 0>>
-	<<set $universalRulesImmobileSlavesMaintainMuscles = 0>>
-	<<set $universalRulesChildrenBecomeBreeders = 0>>
-	<<set $slaveDead = 0>>
-	<<set $rulesAssistantMain = 1>>
-	<<set $rulesAssistantAuto = 0>>
-	<<set $abbreviateDevotion = 2>>
-	<<set $abbreviateRules = 2>>
-	<<set $abbreviateClothes = 2>>
-	<<set $abbreviateOrigins = 2>>
-	<<set $abbreviateRulesets = 2>>
-	<<set $abbreviateNationality = 2>>
-	<<set $abbreviateHealth = 2>>
-	<<set $abbreviateDiet = 2>>
-	<<set $abbreviateDrugs = 2>>
-	<<set $abbreviateRace = 2>>
-	<<set $abbreviateGenitalia = 2>>
-	<<set $abbreviatePhysicals = 2>>
-	<<set $abbreviateSkills = 2>>
-	<<set $abbreviateMental = 2>>
-	<<set $abbreviateSidebar = 2>>
-	<<set $summaryStats = 0>>
-	<<set $nicknamesAllowed = 1>>
-	<<set $modRequestsAllowed = 1>>
-	<<set $expansionRequestsAllowed = 1>>
-	<<set $plot = 1>>
-	<<set $continent = "North America">>
-	<<set $terrain = "rural">>
-	<<set $language = "English">>
-	<<set $headGirlTrainsSkills = 1>>
-	<<set $headGirlTrainsHealth = 1>>
-	<<set $headGirlTrainsObedience = 1>>
-	<<set $headGirlTrainsFlaws = 1>>
-	<<set $headGirlSoftensFlaws = 1>>
-	<<set $headGirlTrainsParaphilias = 1>>
-	<<set $retainCareer = 1>>
-	<<set $useSlaveSummaryTabs = 0>>
-	<<set $useSlaveSummaryOverviewTab = 0>>
-	<<set $useSlaveListInPageJSNavigation = 0>>
-	<<set $killChoice = -1>>
-	<<set $assignmentRecords = {}>>
-
-	/* master suite reporting and alternate descriptions */
-	<<set $verboseDescriptions = 0>>
-	/* Accordion 000-250-006 */
-	<<set $useAccordion = 0>>
-
-	<<set $debugMode = 0>>
-	<<set $showNeighborDetails = 1>>
-	<<set $useTabs = 0>>
-	<<set $tabChoice = {Main: "all"}>>
-	<<set $formatNumbers = 1>>
-
-	/* onlyintendeddickgirls variables */
-	<<set $makeDicks = 0>>
-
-	/* economy reports variables */
-	<<set $showEconomicDetails = 0>>
-
-	/* Pregmod specific */
-	<<set $allowMaleSlaveNames = false>>
-	<<set $profiler = 0>>
-	<<set $economy = 100>>
-	<<set $baseDifficulty = 3>>
-	<<set $difficultySwitch = 0>>
-	<<set $neighboringArcologies = 3>>
-	<<set $newDescriptions = 0>>
-	<<set $familyTesting = 0>>
-	<<set $showDistantRelatives = 0>>
-	<<set $inbreeding = 1>>
-	<<set $allowFamilyTitles = 0>>
-	<<set $surnameOrder = 0>>
-
-	/% Begin mod section: toggle whether slaves lisp. %/
-	<<set $disableLisping = 0>>
-	/% End mod section: toggle whether slaves lisp. %/
-
-	<<set $weightAffectsAssets = 1>>
-	<<set $curativeSideEffects = 1>>
-
-	/* non-vanilla shit */
-	<<set $pedo_mode = 0>>
-	<<set $minimumSlaveAge = 18>>
-	<<set $fertilityAge = 13>>
-	<<set $potencyAge = 13>>
-	<<set $AgePenalty = 1>>
-	<<set $precociousPuberty = 0>>
-	<<set $loliGrow = 0>>
-
-	<<set $retirementAge = 45>>
-	<<set $customRetirementAge = 45>>
-	<<set $customMenialRetirementAge = 65>>
-	<<set $FSCreditCount = 5>>
-
 	<<include "Init Rules">>
 
 <<else>> /* imported save (NG+) */
 
 	<<if $freshPC == 0>>
-		<<set $cashLastWeek = $cash>>
 		<<if def $arcologies[0].prosperity>>
 			<<run cashX((250*$arcologies[0].prosperity*$arcologies[0].ownership), "personalBusiness")>>
 		<</if>>
-		<<set _cash = $cash>>
-		<<set _cash = Math.clamp(1000*Math.trunc(_cash/100000), 5000, 1000000)>>
-		<<run cashX((_cash-$cash), "personalBusiness")>> /*"-cash" to clean out the current value of cash and then completely replace it with the new value for NG+ start. */
+		<<set _cash = $cash, $cash = 0, $cashLastWeek = 0>>
+		<<run cashX((Math.clamp(1000*Math.trunc(_cash/100000), 5000, 1000000)), "personalBusiness")>>
 		<<if $retainCareer == 0>>
 			<<set $PC.career = "arcology owner", $PC.skill.trading = 100, $PC.skill.warfare = 100, $PC.skill.hacking = 100, $PC.skill.slaving = 100, $PC.skill.engineering = 100, $PC.skill.medicine = 100>>
 		<</if>>
@@ -458,946 +97,31 @@ You should have received a copy of the GNU General Public License along with thi
 	<<unset $corpAssetsDev, $corpAssetsDevOld, $corpAssetsSlave, $corpAssetsSlaveOld, $corpCash, $corpDiv, $corpDivArcadeFromMarket, $corpDivArcadeSlaves, $corpDivBreakFromMarket, $corpDivBreakSlaves, $corpDivBreakSlaves2, $corpDivBreakToMarket, $corpDivBreakToMenial, $corpDivBreakToSurgery, $corpDivBreakToTrain, $corpDivDairyFromMarket, $corpDivDairySlaves, $corpDivExtraSlaves, $corpDivExtraToArcade, $corpDivExtraToBreak, $corpDivExtraToMarket, $corpDividend, $corpDivLegalSlaves, $corpDivLegalToMarket, $corpDivLegalToMenial, $corpDivLegalToSurgery, $corpDivLegalToTrain, $corpDivMenialFromMarket, $corpDivMenialSlaves, $corpDivSurgeryFromMarket, $corpDivSurgerySlaves, $corpDivSurgerySlaves2, $corpDivSurgeryToDairy, $corpDivSurgeryToMarket, $corpDivSurgeryToTrain, $corpDivTrainFromMarket, $corpDivTrainSlaves, $corpDivTrainSlaves2, $corpDivTrainToMarket, $corpDivTrainToWhore, $corpDivWhoreFromMarket, $corpDivWhoreSlaves, $corpOpCostOld, $corpOverheadOld, $corpProfitOld, $corpRev, $corpRevOld, $corpSpecAccent, $corpSpecAge, $corpSpecAmputee, $corpSpecBalls, $corpSpecDevotion, $corpSpecDick, $corpSpecEducation, $corpSpecGender, $corpSpecGenitalia, $corpSpecHeight, $corpSpecHormones, $corpSpecImplants, $corpSpecInjection, $corpSpecIntelligence, $corpSpecMilk, $corpSpecMuscle, $corpSpecPussy, $corpSpecSexEd, $corpSpecTrust, $corpSpecVirgin, $corpSpecWeight, $dividendTimer, $personalShares, $publicShares>>
 
 <</if>>
-
-<<set $targetArcology = {type: "New"}>>
-
-<<set $REFeminizationCheckinIDs = []>>
-<<set $REMILFCheckinIDs = []>>
-<<set $REOrientationCheckinIDs = []>>
-<<set $REUglyCheckinIDs = []>>
-<<set $REButtholeCheckinIDs = []>>
-<<set $REFutaSisterCheckinIDs = []>>
-<<set $REReductionCheckinIDs = []>>
-<<set $activeSlave = 0>>
-<<set $activeChild = 0>>
-<<set $reminders = []>>
-
-<<set $boomerangSlave = 0, $boomerangWeeks = 0, $boomerangBuyer = 0>>
-
-<<set $bioreactorPerfectedID = 0>>
-
-<<set $independenceDay = 0>>
-<<set $invasionVictory = 0>>
-<<set $daughtersVictory = 0>>
-<<set $startingGirlCopied = 0, $startingGirlRelation = 0>>
-<<set $archetyped = 0>>
-<<set $createRelatedSlave = 0>>
-
-<<set $slavesVisible = 0>>
-<<set $dormitory = 20>>
-<<set $dormitoryPopulation = 0>>
-<<set $rooms = 5>>
-<<set $roomsPopulation = 0>>
-
-<<set $brothelDecoration = "standard">>
-<<set $brothelUpgradeDrugs = 0>>
-<<set $brothelAdsSpending = 0>>
-<<set $brothelAdsOld = 0>>
-<<set $brothelAdsModded = 0>>
-<<set $brothelAdsImplanted = 0>>
-<<set $brothelAdsStacked = 0>>
-<<set $brothelAdsPreg = 0>>
-<<set $brothelAdsXX = 0>>
-<<set $brothelName = "the Brothel">>
-<<set $brothelNameCaps = "The Brothel">>
-<<set $brothel = 0>>
-<<set $dairyDecoration = "standard">>
-<<set $dairyPrepUpgrade = 0>>
-<<set $dairyStimulatorsUpgrade = 0>>
-<<set $dairyStimulatorsSetting = 0>>
-<<set $dairyStimulatorsSettingChanged = 0>>
-<<set $dairyFeedersUpgrade = 0>>
-<<set $dairyFeedersSetting = 0>>
-<<set $dairyFeedersSettingChanged = 0>>
-<<set $dairyPregUpgrade = 0>>
-<<set $dairyPregSetting = 0>>
-<<set $dairyPregSettingChanged = 0>>
-<<set $dairyRestraintsUpgrade = 0>>
-<<set $dairyRestraintsSetting = 0>>
-<<set $dairySlimMaintainUpgrade = 0>>
-<<set $dairySlimMaintain = 0>>
-<<set $dairyHyperPregRemodel = 0>>
-<<set $dairyWeightSetting = 0>>
-<<set $dairyImplantsSetting = 1>>
-<<set $dairyUpgradeMenials = 0>>
-<<set $createBioreactors = 0>>
-<<set $bioreactorsAnnounced = 0>>
-<<set $bioreactorsHerm = 0>>
-<<set $bioreactorsXX = 0>>
-<<set $bioreactorsXY = 0>>
-<<set $bioreactorsBarren = 0>>
-<<set $dairyName = "the Dairy">>
-<<set $dairyNameCaps = "The Dairy">>
-<<set $dairy = 0>>
-<<set $cumSlaves = 0>>
-<<set $clubDecoration = "standard">>
-<<set $clubUpgradePDAs = 0>>
-<<set $clubAdsSpending = 0>>
-<<set $clubAdsOld = 0>>
-<<set $clubAdsModded = 0>>
-<<set $clubAdsImplanted = 0>>
-<<set $clubAdsStacked = 0>>
-<<set $clubAdsPreg = 0>>
-<<set $clubAdsXX = 0>>
-<<set $clubName = "the Club">>
-<<set $clubNameCaps = "The Club">>
-<<set $club = 0>>
-<<set $servantsQuartersDecoration = "standard">>
-<<set $servantsQuartersUpgradeMonitoring = 0>>
-<<set $servantsQuarters = 0>>
-<<set $servantsQuartersName = "the Servants' Quarters">>
-<<set $servantsQuartersNameCaps = "The Servants' Quarters">>
-<<set $schoolroomDecoration = "standard">>
-<<set $schoolroomUpgradeSkills = 0>>
-<<set $schoolroomUpgradeLanguage = 0>>
-<<set $schoolroomUpgradeRemedial = 0>>
-<<set $schoolroomRemodelBimbo = 0>>
-<<set $schoolroom = 0>>
-<<set $schoolroomName = "the Schoolroom">>
-<<set $schoolroomNameCaps = "The Schoolroom">>
-<<set $spaDecoration = "standard">>
-<<set $spa = 0>>
-<<set $spaSpots = 0>>
-<<set $spaUpgrade = 0>>
-<<set $spaFix = 0>>
-<<set $spaName = "the Spa">>
-<<set $spaNameCaps = "The Spa">>
-
-/% Incubator Subsection %/
-<<set $incubator = 0>>
-<<set $incubatorSlaves = 0>>
-<<set $incubatorBulkRelease = 0>>
-<<set $incubatorOrgans = []>>
-<<set $incubatorOldID = 0>>
-<<set $incubatorUpgradeSpeed = 5>>
-<<set $incubatorUpgradeWeight = 0>>
-<<set $incubatorUpgradeMuscles = 0>>
-<<set $incubatorUpgradeGrowthStims = 0>>
-<<set $incubatorUpgradeReproduction = 0>>
-<<set $incubatorUpgradeOrgans = 0>>
-<<set $incubatorImprintSetting = 0>>
-<<set $incubatorWeightSetting = 0>>
-<<set $incubatorMusclesSetting = 0>>
-<<set $incubatorGrowthStimsSetting = 0>>
-<<set $incubatorReproductionSetting = 0>>
-<<set $incubatorName = "the Incubator">>
-<<set $incubatorNameCaps = "The Incubator">>
-<<set $reservedChildren = 0>>
-<<set $tanks = []>>
-
-<<set $clinicDecoration = "standard">>
-<<set $clinic = 0>>
-<<set $clinicUpgradeFilters = 0>>
-<<set $clinicUpgradeScanner = 0>>
-<<set $clinicUpgradePurge = 0>>
-<<set $clinicName = "the Clinic">>
-<<set $clinicNameCaps = "The Clinic">>
-<<set $arcadeDecoration = "standard">>
-<<set $arcadeUpgradeInjectors = 0>>
-<<set $arcadeUpgradeFuckdolls = 0>>
-<<set $arcadeUpgradeCollectors = 0>>
-<<set $arcadeUpgradeHealth = -1>>
-<<set $arcadeName = "the Arcade">>
-<<set $arcadeNameCaps = "The Arcade">>
-<<set $arcade = 0>>
-<<set $fuckdollsSold = 0>>
-<<set $cellblockDecoration = "standard">>
-<<set $cellblockUpgrade = 0>>
-<<set $cellblock = 0>>
-<<set $cellblockName = "the Cellblock">>
-<<set $cellblockNameCaps = "The Cellblock">>
-<<set $cellblockWardenCumsInside = 1>>
-<<set $masterSuiteDecoration = "standard">>
-<<set $masterSuiteUpgradeLuxury = 0>>
-<<set $masterSuiteUpgradePregnancy = 0>>				/* Is the upgrade active? */
-<<set $masterSuitePregnancyFertilityDrugs = 0>>			/* Are slaves being put on fertility drugs? */
-<<set $masterSuitePregnancyFertilitySupplements = 0>>	/* Are those drugs being supplemented (health benefits and (even) more multiple pregnancies) */
-<<set $masterSuitePregnancySlaveLuxuries = 0>>			/* Are the slaves being given some nicer things to reduce stress during preg? (health/devotion/trust benefits) */
-<<set $universalHGImpregnateMasterSuiteToggle = 0>>		/* Will the HG impregnate fertile slaves in the MS? */
-<<set $masterSuiteHyperPregnancy = 0>>
-<<set $masterSuite = 0>>
-<<set $masterSuiteName = "the Master Suite">>
-<<set $masterSuiteNameCaps = "The Master Suite">>
-
-/% Nursery Subsection %/
-<<set $nursery = 0>>						/* counts the number of children the nursery can support */
-<<set $nurseryNannies = 0>>					/* counts the number of nannies the nursery can support */
-<<set $nurseryBabies = 0>>					/* counts the number of children currently in the nursery */
-<<set $MatronInfluence = 0>>				/* check for whether the children are influenced by the Matron */
-<<set $nannyInfluence = 0>>					/* check for whether the children are influenced by the nannies */
-<<set $nurseryDecoration = "standard">>
-<<set $nurseryWeight = 0>>
-<<set $nurseryMuscles = 0>>
-<<set $nurseryHormones = 0>>
-<<set $nurseryOrgans = 0>>					/* not currently in use */
-<<set $nurseryImprintSetting = 0>>
-<<set $nurseryWeightSetting = 0>>
-<<set $nurseryMusclesSetting = 0>>
-<<set $nurseryHormonesSetting = 0>>
-<<set $nurseryName = "the Nursery">>
-<<set $nurseryNameCaps = "The Nursery">>
-<<set $reservedChildrenNursery = 0>>
-<<set $cribs = []>>							/* array of children in the nursery */
-<<set $cribsFreed = []>>					/* array of children that have been freed */
-<<set $childToSlave = -1>>					/* number of total children that have become slaves */
-<<run $cribs.forEach(function(c) {
-	App.Facilities.Nursery.childInit(c);
-})>>
-<<set $cribsIndices = App.Facilities.Nursery.cribsToIndices()>>
-
-
-/% Farmyard Subsection %/
-<<set $farmyard = 0>>
-<<set $farmyardShowgirls = []>>			/* array of farmhands putting on shows */
-<<set $farmyardFarmers = []>>			/* array of farmhands farming */
-<<set $farmMenials = 0>>
-<<set $farmMenialsSpace = 0>>
-<<set $farmyardDecoration = "standard">>
-<<set $farmyardUpgrade = {pump: 0, fertilizer: 0, hydroponics: 0, machinery: 0, seeds: 0, lab: 0}>>
-<<set $farmyardCrops = 0>>
-<<set $farmyardStable = 0>>
-<<set $farmyardKennels = 0>>
-<<set $farmyardCages = 0>>
-<<set $activeCanine = 0>>
-<<set $activeHooved = 0>>
-<<set $activeFeline = 0>>
-<<set $farmyardLab = 0>>
-<<set $farmyardLabUpgrades = {animalOvaries: 0, animalTesticles: 0, animalMpreg: 0}>>
-<<set $animalsBought = {canines: 0, hooved: 0, felines: 0, labradorRetrievers: 0, germanShepherds: 0, goldenRetrievers: 0, frenchBulldogs: 0, bulldogs: 0, beagles: 0, poodles: 0, rottweilers: 0, yorkshireTerriers: 0, siberianHuskies: 0, horses: 0, bulls: 0, pigs: 0, siameses: 0, persians: 0, maineCoons: 0, ragdolls: 0, bengals: 0, abbysinians: 0, birmans: 0, orientalShorthairs: 0, sphynxes: 0, russianBlues: 0, wolves: 0, foxes: 0, jackals: 0, dingos: 0, zebras: 0, cougars: 0, jaguars: 0, pumas: 0, lynx: 0, leopards: 0, lions: 0, tigers: 0}>>
-<<set $canines = []>>
-<<set $hooved = []>>
-<<set $felines = []>>
-<<set $farmyardName = "the Farmyard">>
-<<set $farmyardNameCaps = "The Farmyard">>
-
-<<set $HGSuite = 0>>
-<<set $HGSuiteSurgery = 1>>
-<<set $HGSuiteDrugs = 1>>
-<<set $HGSuiteHormones = 1>>
-<<set $HGSuiteEquality = 0>>
-<<set $HGSuiteName = "the Head Girl Suite">>
-<<set $HGSuiteNameCaps = "The Head Girl Suite">>
-<<set $fighterIDs = []>>
-<<set $pitBG = 0>>
-<<set $pitAnimal = 0>>
-<<set $pitAnimalType = 0>>
-<<set $pitAudience = "none">>
-<<set $pitLethal = 0>>
-<<set $pitVirginities = 0>>
-<<set $pitFought = 0>>
-<<set $pit = 0>>
-<<set $pitName = "the Pit">>
-<<set $pitNameCaps = "The Pit">>
-<<set $dojo = 0>>
-<<set $feeder = 0>>
-<<set $cockFeeder = 0>>
-<<set $suppository = 0>>
-<<set $weatherCladding = 0>>
-<<set $weatherAwareness = 0>>
-<<set $boobAccessibility = 0>>
-<<set $servantMilkers = 0>>
-<<set $servantMilkersMultiplier = 1>>
-
-<<set $studio = 0>>
-<<set $studioFeed = 0>>
-<<set $PCSlutContacts = 1>>
-
 /* Porn star counts (prestige 1) and ID's (prestige 3) */
-<<set $pornStars = {}>>
 <<for _genre range App.Porn.getAllGenres()>>
 	<<set $pornStars[_genre.fameVar] = { p1count: 0, p3ID: 0 }>>
 <</for>>
 
-<<set $pregInventor = 0>>
-<<set $pregInventorID = 0>>
-<<set $pregInventions = 0>>
-
-<<set $legendaryWhoreID = 0>>
-<<set $legendaryEntertainerID = 0>>
-<<set $legendaryCowID = 0>>
-<<set $legendaryBallsID = 0>>
-<<set $legendaryWombID = 0>>
-<<set $legendaryAbolitionistID = 0>>
-
-<<set $FSAnnounced = 0>>
-<<set $FSCredits = 0>>
-<<set $FSGotRepCredits = 0>>
-<<set $FSSingleSlaveRep = 10>>
-<<set $FSSpending = 0>>
-<<set $FSLockinLevel = 100>>
-<<set $applyLaw = 0>>
-<<set $FSPromenade = {Subjugationist: 0, Supremacist: 0, GenderRadicalist: 0, GenderFundamentalist: 0, Paternalist: 0, Degradationist: 0, BodyPurist: 0, TransformationFetishist: 0, YouthPreferentialist: 0, MaturityPreferentialist: 0, SlimnessEnthusiast: 0, AssetExpansionist: 0, Pastoralist: 0, PhysicalIdealist: 0, ChattelReligionist: 0, RomanRevivalist: 0, AztecRevivalist: 0, EgyptianRevivalist: 0, EdoRevivalist: 0, ArabianRevivalist: 0, ChineseRevivalist: 0, Repopulationist: 0, Eugenics: 0, Hedonism: 0, IntellectualDependency: 0, SlaveProfessionalism: 0, PetiteAdmiration: 0, StatuesqueGlorification: 0}>>
-
-/*new corporation variables*/
-<<set $newCorp = 1>>
-<<set $vanillaShareSplit = 1>>
-<<set $corpEcon = 0>>
-<<set $corpCashDividend = 0>>
-<<set $corpDiv = 0>>
-<<set $corpExpandToken = 0>>
-<<set $corpSpec = 0>>
-<<set $corpSpecToken = 0>>
-<<set $corpDivExtra = 0>>
-<<set $corpDivLegal = 0>>
-<<set $corpDivBreak = 0>>
-<<set $corpDivSurgery = 0>>
-<<set $corpDivTrain = 0>>
-<<set $corpDivArcade = 0>>
-<<set $corpDivMenial = 0>>
-<<set $corpDivDairy = 0>>
-<<set $corpDivWhore = 0>>
-<<set $corpDivExtraDev = 0>>
-<<set $corpDivLegalDev = 0>>
-<<set $corpDivBreakDev = 0>>
-<<set $corpDivSurgeryDev = 0>>
-<<set $corpDivTrainDev = 0>>
-<<set $corpDivArcadeDev = 0>>
-<<set $corpDivMenialDev = 0>>
-<<set $corpDivDairyDev = 0>>
-<<set $corpDivWhoreDev = 0>>
-<<set $corpSpecRaces = []>>
-
-<<set $corpAnnounced = 0>>
-<<set $corpIncorporated = 0>>
-<<set $corpMarket = 0>>
-
-/* Slave sexual services and goods variables */
-<<set $publicFuckdolls = 0>>
-<<set $classSatisfied = {lowerClass: 0, middleClass: 0, upperClass: 0, topClass: 0}>>
-<<set $whoreBudget = {lowerClass: 7, middleClass: 40, upperClass: 200, topClass: 1500}>>
-<<set $arcadePrice = 2>>
-<<set $clubSlaveSexAmount = 0>>
-
-<<set $shelterSlave = 0>>
-<<set $shelterSlaveBought = 0>>
-<<set $shelterAbuse = 0>>
-<<set $shelterSlaveGeneratedWeek = 0>>
-
-/* alternate clothing access variables */
-<<set $clothesBoughtBunny = 0>>
-<<set $clothesBoughtConservative = 0>>
-<<set $clothesBoughtChains = 0>>
-<<set $clothesBoughtWestern = 0>>
-<<set $clothesBoughtOil = 0>>
-<<set $clothesBoughtHabit = 0>>
-<<set $clothesBoughtToga = 0>>
-<<set $clothesBoughtHuipil = 0>>
-<<set $clothesBoughtKimono = 0>>
-<<set $clothesBoughtHarem = 0>>
-<<set $clothesBoughtQipao = 0>>
-<<set $clothesBoughtEgypt = 0>>
-<<set $clothesBoughtBelly = 0>>
-<<set $clothesBoughtMaternityDress = 0>>
-<<set $clothesBoughtMaternityLingerie = 0>>
-<<set $clothesBoughtLazyClothes = 0>>
-<<set $clothesBoughtBimbo = 0>>
-<<set $clothesBoughtCourtesan = 0>>
-<<set $shoesBoughtHeels = 0>>
-<<set $clothesBoughtPetite = 0>>
-/* non-fs */
-<<set $clothesBoughtMilitary = 0>>
-<<set $clothesBoughtCultural = 0>>
-<<set $clothesBoughtMiddleEastern = 0>>
-<<set $clothesBoughtPol = 0>>
-<<set $clothesBoughtCostume = 0>>
-<<set $clothesBoughtPantsu = 0>>
-<<set $clothesBoughtCareer = 0>>
-<<set $clothesBoughtDresses = 0>>
-<<set $clothesBoughtBodysuits = 0>>
-<<set $clothesBoughtCasual = 0>>
-<<set $clothesBoughtUnderwear = 0>>
-<<set $clothesBoughtSports = 0>>
-<<set $clothesBoughtPony = 0>>
-<<set $clothesBoughtSwimwear = 0>>
-<<set $toysBoughtDildos = 0>>
-<<set $toysBoughtGags = 0>>
-<<set $toysBoughtVaginalAttachments = 0>>
-<<set $toysBoughtButtPlugs = 0>>
-<<set $toysBoughtButtPlugTails = 0>>
-<<set $toysBoughtSmartVibes = 0>>
-<<set $buckets = 0>>
-
-/*pregmod variables */
-<<set $specialSlavesPriceOverride = 0>>
-<<set $pregAccessibility = 0>>
-<<set $dickAccessibility = 0>>
-<<set $ballsAccessibility = 0>>
-<<set $buttAccessibility = 0>>
-<<set $ageMode = 0>>
-<<set $enema = 0>>
-<<set $medicalEnema = 0>>
-<<set $dairyPiping = 0>>
-<<set $inflatedSlavesMilk = 0>>
-<<set $inflatedSlavesCum = 0>>
-<<set $milkPipeline = 0>>
-<<set $cumPipeline = 0>>
-<<set $wcPiping = 0>>
-<<set $burstee = 0>>
-<<set $slaveDeath = 0>>
-<<set $clinicInflateBelly = 0>>
-<<set $playerBred = 0>>
-<<set $propOutcome = 0>>
-<<set $EliteSires = ["crazy", "futa", "moves", "preggo", "quick", "virgin"]>>
-<<set $startingPoint = -1>>
-<<set $PhysicalRetirementAgePolicy = 0>>
-<<set $raped = -1>>
-<<set $children = []>>
-<<set $missingParentID = -10000>>
-<<set $startingSlaveRelative = 0>>
-<<set $mom = 0>>
-/*<<set $animalParts = 0>>*/
-<<set $originOveride = 0>>
-<<set $playerAging = 2>>
-<<set $pregSpeedControl = 0>>
-<<set $clinicSpeedGestation = 0>>
-<<set $playerSurgery = 0>>
-<<set $playerGetsMilked = 0>>
-<<set $bodyswapAnnounced = 0>>
-<<set $surnamesForbidden = 0>>
-<<set $menstruation = 0>>
-<<set $FCTVcount = 0>>
-<<set $FCTVrate = 4>>
-<<set $FCTVreceiver = 0>>
-<<set $receiverAvailable = 0>>
-<<set $FCTVshow = 0>>
-<<set $FCTVremote = 0>>
-<<set $lastShow = 0>>
-<<set $randShow = 0>>
-<<set $FCNNstation = 0>>
-<<set $MercenariesMessageSent = 0>>
-<<set $SpecialForcesMessageSent = 0>>
-<<set $BodyguardHasSucessfullyRecivedSignal = 0>>
-<<set $finalChoice = "none">>
-<<set $eliteTotal = 12>>
-<<set $eliteDead = 0>>
-<<set $eliteVegetable = 0>>
-<<set $eliteFate = 0>>
-<<set $swanSong = 0>>
-<<set $failedElite = 0>>
-<<set $eugenicsFullControl = 0>>
-<<set $badC = 0, $badB = 0>>
-
-<<set $schoolSuggestion = 0>>
-<<set $TSS = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>>
-<<set $GRI = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>>
-<<set $SCP = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>>
-<<set $LDE = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>>
-<<set $TGA = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>>
-<<set $TCR = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>>
-<<set $TFS = {farmUpgrade: 0, schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0, compromiseWeek: 0}>>
-<<set $futaAddiction = 0>>
-<<set $HA = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>>
-<<set $NUL = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>>
-
-<<set $IDNumber = 1>>
-<<set $nIDNumber = 1>>	/* tracks children in the nursery */
-
-<<set $week = 1>>
-
-<<set $weddingPlanned = 0>>
-<<set $personalAttention = "sex">>
-<<set $HeadGirl = 0>>
-<<set $HGTimeInGrade = 0>>
-<<set $HGEnergy = 0>>
-<<set $HGCum = 0>>
-<<set $Recruiter = 0>>
-<<set $recruiterTarget = "desperate whores">>
-<<set $recruiterProgress = 0>>
-<<set $recruiterIdleRule = "number">>
-<<set $recruiterIdleNumber = 20>>
-<<set $recruiterIOUs = 0>>
-<<set $bodyguardTrains = 1>>
-<<set $Bodyguard = 0>>
-<<set $Madam = 0>>
-<<set $DJ = 0>>
-<<set $Milkmaid = 0>>
-<<set $milkmaidImpregnates = 0>>
-<<set $Farmer = 0>>
-<<set $Collectrix = 0>>
-<<set $Stewardess = 0>>
-<<set $stewardessImpregnates = 0>>
-<<set $Schoolteacher = 0>>
-<<set $Attendant = 0>>
-<<set $Matron = 0>>
-<<set $Nurse = 0>>
-<<set $Wardeness = 0>>
-<<set $Concubine = 0>>
-<<set $economicUncertainty = 10>>
-
 <<run assistant.object()>>
-
-<<set $justiceEvents = ["slave deal", "slave training", "majority deal", "indenture deal", "virginity deal", "breeding deal"]>> /* not in setupVars because we remove events from this array as they occur */
-<<set $prisonCircuit = ["low tier criminals", "gangs and smugglers", "white collar", "military prison"]>>
-<<set $prisonCircuitIndex = random(0,$prisonCircuit.length-1)>>
-
-<<set $fixedNationality = 0>>
-<<set $fixedRace = 0>>
-<<set $ui = "start">>
-<<set $tooltipsEnabled = 0>>
-
-<<set $brandTarget = {primary: "buttock", secondary: "buttock", local: "buttock"}>>
-<<set $brandDesign = {primary: "your initials", official: "your initials", local: "your initials"}>>
-
-<<set $scarTarget = {primary: "left cheek", secondary: "left cheek", local: "left cheek"}>>
-<<set $scarDesign = {primary: "generic", local: "generic"}>>
-
-<<set $oralTotal = 0>>
-<<set $vaginalTotal = 0>>
-<<set $analTotal = 0>>
-<<set $mammaryTotal = 0>>
-<<set $penetrativeTotal = 0>>
-<<set $milkTotal = 0>>
-<<set $cumTotal = 0>>
-<<set $foodTotal = 0>>
-<<set $birthsTotal = 0>>
-<<set $pitKillsTotal = 0>>
-
-<<set $collaboration = 0>>
-<<set $traitor = 0>>
-<<set $traitorType = 0>>
-<<set $traitorWeeks = 0>>
-<<set $hackerSupport = 0>>
-<<set $hostage = 0>>
-<<set $hostageAnnounced = 0>>
-<<set $hostageRescued = 0>>
-<<set $hostageGiveIn = 0>>
-<<set $rivalSet = 0>>
-<<set $rivalryFS = 0>>
-<<set $rivalryFSAdopted = 0>>
-<<set $rivalryFSRace = 0>>
-<<set $rivalOwner = 0>>
-<<set $rivalOwnerEnslaved = 0>>
-<<set $rivalryPower = 0>>
-<<set $rivalryDuration = 0>>
-<<set $rivalRace = 0>>
-<<set $rivalGender = 0>>
-<<set $nationHate = 0>>
-<<set $slaveMedic = 0>>
-<<set $PShoot = 0>>
-<<set $PSnatch = 0>>
-<<set $PRaid = 0>>
-<<set $PAid = 0>>
-<<set $PPit = 0>>
-
-<<set $dispensary = 0>>
-<<set $dispensaryUpgrade = 0>>
-<<set $organFarmUpgrade = 0>>
-<<set $completedOrgans = []>>
-<<set $ImplantProductionUpgrade = 0>>
-<<set $permaPregImplant = 0>>
-<<set $injectionUpgrade = 0>>
-<<set $hormoneUpgradeMood = 0>>
-<<set $hormoneUpgradeShrinkage = 0>>
-<<set $hormoneUpgradePower = 0>>
-<<set $pubertyHormones = 0>>
-<<set $dietXXY = 0>>
-<<set $dietCleanse = 0>>
-<<set $cumProDiet = 0>>
-<<set $dietFertility = 0>>
-<<set $curativeUpgrade = 0>>
-<<set $growthStim = 0>>
-<<set $reproductionFormula = 0>>
-<<set $aphrodisiacUpgrade = 0>>
-<<set $aphrodisiacUpgradeRefine = 0>>
-<<set $healthyDrugsUpgrade = 0>>
-<<set $superFertilityDrugs = 0>>
-<<set $bellyImplants = 0>>
-<<set $cervixImplants = 0>>
-<<set $meshImplants = 0>>
-<<set $prostateImplants = 0>>
-<<set $youngerOvaries = 0>>
-<<set $sympatheticOvaries = 0>>
-<<set $fertilityImplant = 0>>
-<<set $asexualReproduction = 0>>
-<<set $animalOvaries = 0>> /*{pigOvaries: 0, canineOvaries: 0, horseOvaries: 0, cowOvaries: 0} currently unused*/
-<<set $animalTesticles = 0>> /*{pigTestes: 0, dogTestes: 0, horseTestes: 0, cowTestes: 0} currently unused*/
-<<set $animalMpreg = 0>> /*{pigMpreg: 0, dogMpreg: 0, horseMpreg: 0, cowMpreg: 0} currently unused*/
-<<set $geneticMappingUpgrade = 0>>
-<<set $pregnancyMonitoringUpgrade = 0>>
-<<set $cloningSystem = 0>>
-<<set $geneticFlawLibrary = 0>>
-
-<<set $surgeryUpgrade = 0>>
-
-<<set $barracks = 0>>
-<<set $mercenaries = 0>>
-<<set $mercenariesHelpCorp = 0>>
-<<set $personalArms = 0>>
-
-<<set $saleDescription = 0>>
-<<set $gingering = 0>>
-<<set $beforeGingering = 0>>
-<<set $gingeringDetected = 0>>
-<<set $gingeringDetection = 0>>
-<<set $surgeryDescription = 0>>
-<<set $encyclopedia = "How to Play">>
-<<set $showEncyclopedia = 1>>
-
-<<set $trinkets = []>>
-<<set $SPcost = 1000>>
-<<set $debtWarned = 0>>
-<<set $internationalTrade = 1>>
-<<set $internationalVariety = 0>>
-<<set $slaveCostFactor = 0.95>>
-<<set $menialDemandFactor = 0>>
-<<set $menialSupplyFactor = 0>>
-<<set $demandTimer = 0>>
-<<set $supplyTimer = 0>>
-<<set $elapsedDemandTimer = 0>>
-<<set $elapsedSupplyTimer = 0>>
-<<set $slaveCostRandom = 0>>
-<<set $deltaDemand = 0>>
-<<set $deltaDemandOld = 0>>
-<<set $deltaSupply = 0>>
-<<set $deltaSupplyOld = 0>>
-<<set $NPCSexSupply = {lowerClass: 3000, middleClass: 3000, upperClass: 3000, topClass: 3000}>>
-<<set $NPCMarketShare = {lowerClass: 1000, middleClass: 1000, upperClass: 1000, topClass: 1000}>>
-<<set $sexSubsidies = {lowerClass: 0, middleClass: 0, upperClass: 0, topClass: 0}>>
-<<set $sexSupplyBarriers = {lowerClass: 0, middleClass: 0, upperClass: 0, topClass: 0}>>
-<<set $minimumSlaveCost = 2500>>
-<<set $facilityCost = 100>>
-<<set $enduringRep = 1000>>
-<<set $rep = 0>>
 <<run repX(1000, "event")>>
-<<set $repLastWeek = 0>>
-
-<<set $arcologyUpgrade = {drones: 0, hydro: 0, apron: 0, grid: 0, spire: 0}>>
-
-<<set $AGrowth = 2>>
-<<set $ACitizens = 4250>>
-<<set $lowerClass = 3120>>
-<<set $LSCBase = 800>>
-<<set $visitors = 0>>
-<<set $rentDefaults = {lowerClass: 20, middleClass: 50, upperClass: 180, topClass: 650}>>
-<<set $rent = {lowerClass: 20, middleClass: 50, upperClass: 180, topClass: 650}>>
-<<set $rentEffectL = 1>>
-<<set $middleClass = 890>>
-<<set $MCBase = 200>>
-<<set $rentEffectM = 1>>
-<<set $upperClass = 200>>
-<<set $UCBase = 40>>
-<<set $rentEffectU = 1>>
-<<set $topClass = 40>>
-<<set $TCBase = 20>>
-<<set $rentEffectT = 1>>
-<<set $GDP = 278.6>>
-<<set $NPCSlaves = 900>>
-<<set $ASlaves = 900>>
-<<set $AProsperityCap = 0>>
-
-<<set $food = 50000>>
-<<set $foodLastWeek = 0>>
-<<set $foodProduced = 0>>
-<<set $foodStored = 0>>
-<<set $foodCost = 25>>
-<<set $foodMarket = 0>>
-<<set $foodRate = {slave: 2, lower: 1.8, middle: 2, upper: 2.2, top: 2.4}>>
-<<set $foodConsumption = (($lowerClass*$foodRate.lower) + ($middleClass*$foodRate.middle) + ($upperClass*$foodRate.upper) + ($topClass*$foodRate.top))>>	/* total amount food consumed per week */
-<<set $farmMenials = 0>>
-<<set $revealFoodEffects = 0>>
-<<set $rations = 0>>
-
 <<set $building = App.Arcology.defaultBuilding()>>
 <<set _sellable = $building.findCells(cell => cell.canBeSold())>>
 <<set _random12 = jsRandomMany(_sellable, 12)>>
 <<run _random12.forEach(cell => {cell.owner = 0})>>
-
-<<set $menials = 0>>
-<<set $fuckdolls = 0>>
-<<set $menialBioreactors = 0>>
-<<set $prestigeAuctioned = 0>>
-<<set $slaveMarketLimit = 20>>
-<<set $slavesSeen = 0>>
-
-<<set $slaveOrphanageTotal = 0>>
-<<set $citizenOrphanageTotal = 0>>
-<<set $privateOrphanageTotal = 0>>
-<<set $breederOrphanageTotal = 0>>
-
-<<set $alwaysSubsidizeRep = 0>>
-<<set $alwaysSubsidizeGrowth = 0>>
-<<set $ProImmigrationCash = 0>>
-<<set $ProImmigrationRep = 0>>
-<<set $AntiImmigrationCash = 0>>
-<<set $AntiImmigrationRep = 0>>
-<<set $ProEnslavementCash = 0>>
-<<set $ProEnslavementRep = 0>>
-<<set $AntiEnslavementCash = 0>>
-<<set $AntiEnslavementRep = 0>>
-<<set $BasicSMR = 1>>
-<<set $HealthInspectionSMR = 0>>
-<<set $EducationSMR = 0>>
-<<set $FrigiditySMR = 0>>
-<<set $BasicBeautySMR = 0>>
-<<set $QualityBeautySMR = 0>>
-<<set $BasicWeightSMR = 0>>
-<<set $BasicIntelligenceSMR = 0>>
-<<set $QualityIntelligenceSMR = 0>>
-<<set $BasicHeightSMR = 0>>
-<<set $AdvancedHeightSMR = 0>>
-<<set $IntelligenceEugenicsSMR = 0>>
-<<set $HeightEugenicsSMR = 0>>
-<<set $FaceEugenicsSMR = 0>>
-<<set $HonestySMR = 0>>
-<<set $ProRefugees = 0>>
-<<set $ProRecruitment = 0>>
-<<set $OralEncouragement = 0>>
-<<set $VaginalEncouragement = 0>>
-<<set $AnalEncouragement = 0>>
-<<set $OralDiscouragement = 0>>
-<<set $VaginalDiscouragement = 0>>
-<<set $AnalDiscouragement = 0>>
-<<set $CashForRep = 0>>
-<<set $RepForCash = 0>>
-<<set $Cash4Babies = 0>>
-<<set $RegularParties = 0>>
-<<set $PAPublic = 0>>
-<<set $CoursingAssociation = 0>>
-	<<set $Lurcher = 0>>
-	<<set $coursed = 0>>
-<<set $RaidingMercenaries = 0>>
-	<<set $raided = 0>>
-<<set $MixedMarriage = 0>>
-<<set $CulturalOpenness = 0>>
-<<set $goodImageCampaign = 0>>
-<<set $sexualOpeness = 0>>
-
-<<set $policyCost = 5000>>
-<<set $expiree = 0>>
-<<set $retiree = 0>>
-<<set $birthee = 0>>
-<<set $CustomRetirementAgePolicy = 0>>
-<<set $BioreactorRetirement = 0>>
-<<set $ArcadeRetirement = 0>>
-<<set $CitizenRetirement = 0>>
-<<set $citizenRetirementMenials = 0>>
-<<set $citizenRetirementTrigger = 0>>
-<<set $FSSupLawTrigger = 0>>
-<<set $FSSubLawTrigger = 0>>
-<<set $SexMilestoneRetirement = 0>>
-<<set $MilkMilestoneRetirement = 0>>
-<<set $CumMilestoneRetirement = 0>>
-<<set $BirthsMilestoneRetirement = 0>>
-<<set $KillsMilestoneRetirement = 0>>
-<<set $retirementSex = 10000>>
-<<set $retirementMilk = 50000>>
-<<set $retirementCum = 500000>>
-<<set $retirementBirths = 5>>
-<<set $retirementKills = 3>>
-<<set $nicaea = 0>>
-<<set $nicaeaAnnounceable = 0>>
-<<set $nicaeaAnnounced = 0>>
-<<set $nicaeaPreparation = 0>>
-<<set $nicaeaInvolvement = -2>>
-<<set $nicaeaPower = 0>>
-<<set $nicaeaHeld = 0>>
-<<set $peacekeepers = 0>>
-<<set $peacekeepersFate = 0>>
-<<set $mercRomeo = 0>>
-
-<<set $oralUseWeight = 5>>
-<<set $vaginalUseWeight = 5>>
-<<set $analUseWeight = 5>>
-
-<<set $childProtectionAct = 1>>
-
-<<set $niceWeather = [
-	{name: "Sunny", severity: 1},
-	{name: "Cloudy", severity: 1},
-	{name: "Partly Cloudy", severity: 1},
-	{name: "Overcast", severity: 1},
-	{name: "Light Wind", severity: 1},
-	{name: "Clear and Calm", severity: 1},
-	{name: "Light Rain", severity: 1},
-	{name: "Heavy Rain", severity: 1},
-	{name: "Smoke warning", severity: 1},
-]>>
-
-<<set $lightWeather = [
-	{name: "High Winds", severity: 2},
-	{name: "Acid Rain", severity: 2},
-	{name: "T-Storm Warning", severity: 2},
-	{name: "Flood Warning", severity: 2},
-	{name: "Tornado Warning", severity: 2},
-	{name: "Light Sandstorm", severity: 2},
-	{name: "High Heat", severity: 2},
-	{name: "Smoky", severity: 2},
-]>>
-
-<<set $heavyWeather = [
-	{name: "Extreme Winds", severity: 3},
-	{name: "Heavy Acid Rain", severity: 3},
-	{name: "Extreme T-storm", severity: 3},
-	{name: "Flooding", severity: 3},
-	{name: "Tornadoes", severity: 3},
-	{name: "Sandstorm", severity: 3},
-	{name: "Extreme Heat", severity: 3},
-	{name: "Dense Smoke", severity: 3},
-]>>
-
-<<set $extremeWeather = [
-	{name: "Solar Flare", severity: 4},
-	{name: "Ion Storm", severity: 4},
-	{name: "Cataclysmic Rains", severity: 4},
-	{name: "Cat 6 Hurricane", severity: 4},
-	{name: "Abrasive Sandstorm", severity: 4},
-	{name: "Radiological Warning", severity: 4},
-]>>
-
-<<set $weatherToday = $niceWeather.random()>>
-
-<<set $customSlaveOrdered = 0>>
-/* I am not a slave object! Do not treat me like one! */
-<<set $customSlave = new App.Entity.CustomSlaveOrder()>>
-
-<<set $huskSlaveOrdered = 0>>
-<<set $huskSlave = new App.Entity.CustomSlaveOrder()>>
-
-/*non-vanilla shit*/
-
-<<set $one_time_age_overrides_pedo_mode = 0>>
-<<set $activeSlaveOneTimeMinAge = 0>>
-<<set $activeSlaveOneTimeMaxAge = 999>>
-<<set $oneTimeDisableDisability = 0>>
-<<set $targetAge = $minimumSlaveAge>>
-<<set $pubertyLength = 5>>
-<<set $maxGrowthAge = 24>>
-
-/* Job Fulfillment Center */
-<<set $JFCOrder = 0, $Role = "">>
-
-<<set $cheatMode = 0>>
-<<set $cheatModeM = 1>>
-<<set $experimental = {
-	nursery: 0,
-	food: 0,
-	animalOvaries: 0,
-	dinnerParty: 0
-}>>
-<<set $NaNArray = []>>
-
-<<set $fcnn = []>>
-<<set $fcnn.push("...coming up at the top of the hour: Catgirl slaves, science fact or science fiction...")>>
-<<set $fcnn.push("...coming up at the top of the hour: Malnockestivi Smith, Free Cities' first MtFtMtFtH transgendered person...")>>
-<<set $fcnn.push("...new arcology construction up 23% worldwide this year, according to...")>>
-<<set $fcnn.push("...United States Congress spends 1,264th consecutive day gridlocked over post office...")>>
-<<set $fcnn.push("...coming up at the top of the hour: Arcology owners: oversexed oligarchs or attractive, oversexed oligarchs?...")>>
-<<set $fcnn.push("...coming up at the top of the hour: Anal sex: not just for sex any more...")>>
-<<set $fcnn.push("...coming up at the top of the hour: Oral sex: the new hello...")>>
-<<set $fcnn.push("...new book by prominent feminist suggests that women should not be used as sexual appliances...")>>
-<<set $fcnn.push("...just ahead, interview with Desha Moore, prominent advocate for compulsory female enslavement...")>>
-<<set $fcnn.push("...just ahead, Slave Market Trends: will the pierced anus be in again this year...")>>
-<<set $fcnn.push("...just ahead, Slave Market Trends: upstart slave trainers avoid implants...")>>
-<<set $fcnn.push("...implant technology firm BusTech notches successful initial public offering...")>>
-<<set $fcnn.push("...the upcoming shortage of authentic leather and what it means for the whip industry...")>>
-<<set $fcnn.push("...dairy conglomerate Creem Inc. denies allegations of adulterating breast milk with...")>>
-<<set $fcnn.push("...two-time award-winning actress Linda Loveless debuted new implants on the red carpet this...")>>
-<<set $fcnn.push("...dick size: are your slaves lying to you when they tell you you're too big...")>>
-<<set $fcnn.push("...just ahead, slave expert's opinion on best shemale slaves to use for double penetration...")>>
-<<set $fcnn.push("...Free Cities social conservatives criticize marriage, say your slaves should be enough...")>>
-<<set $fcnn.push("...councilman Taggart suggested in a public address that involuntary enslavement...")>>
-<<set $fcnn.push("...councilman Taggart denies allegations that he has remained faithful to his wife...")>>
-<<set $fcnn.push("...councilman Taggart presented evidence that regulation of the sex slave market would...")>>
-<<set $fcnn.push("...after a word from our sponsors. Creem Inc.: for all your dairy needs...")>>
-<<set $fcnn.push("...after a word from our sponsors. Horstmann Ltd, Free Cities' finest whipmakers...")>>
-<<set $fcnn.push("...after a word from our sponsors. Coming soon to theaters, Quintuple, the musical...")>>
-<<set $fcnn.push("...critical of low-end slave training corporation Wallerson & Sons for practices that they say...")>>
-<<set $fcnn.push("...training corporation Wallerson & Sons called a study on slave illness rates 'ludicrous,' but...")>>
-<<set $fcnn.push("...our tech correspondent: the possibilities of virally-administered gene therapy...")>>
-<<set $fcnn.push("...our tech correspondent: breakthrough in in-vitro drug treatments that promise to...")>>
-<<set $fcnn.push("...our tech correspondent: next year to see release of two competing aphrodisiacs...")>>
-<<set $fcnn.push("...our tech correspondent: the coming permanent aphrodisiac implants, and what they mean...")>>
-<<set $fcnn.push("...Sex Slaves in Space: what it takes to keep a mining crew happy for an 18-month contract...")>>
-<<set $fcnn.push("...the implant-drug balance: how much tissue growth is necessary to support larger...")>>
-<<set $fcnn.push("...the actress stated that the cut to full nudity in the script violated contractual...")>>
-<<set $fcnn.push("...doping scandal as Slave Games watchdog alleges champion used internal reservoir of lube...")>>
-<<set $fcnn.push("...next on Extreme Surgery: the mouthpussy experimenters and what they...")>>
-<<set $fcnn.push("...'A hole's a hole,' said CEO of upstart budget glory hole franchise...")>>
-<<set $fcnn.push("...underground slave pit fights step into the light this evening as...")>>
-<<set $fcnn.push("...underground slave pit fight champion, freed yesterday, sells herself back into...")>>
-<<set $fcnn.push("...with the lead designer of the MP17, the new machine pistol marketed specifically for bodyguards...")>>
-<<set $fcnn.push("...the new Aegis drone series: because your arcology's security is your most important possession...")>>
-<<set $fcnn.push("...the BAe Goshawk: because you deserve to travel at twice the speed of sound in the finest style...")>>
-<<set $fcnn.push("...this year's Goat.cx award for outstanding orifice innovation goes to...")>>
-<<set $fcnn.push("...public controversy over cannibalism. Decadence taken too far or an acceptable next step...")>>
-<<set $fcnn.push("...sixth day of street cleaners' strike. Spokesman for the strikers: 'It's getting too nasty...")>>
-<<set $fcnn.push("...debuts new book, 'So Long, And Thanks For All The Dicks', in which the recently retired sex slaves tell-all about...")>>
-<<set $fcnn.push("...cure for lactose intolerance, for which he was awarded the International Association of Pastoralist...")>>
-<<set $fcnn.push("...from the Free Cities have become increasingly common clientele for the black market...")>>
-<<set $fcnn.push("...a risky gamble on the three-hour-long hardcore sex scene, but the box office figures for just...")>>
-
-/* HACKY EVENT WORKAROUNDS */
-<<set $eventID = -1>>
-
-/* INCORPORATED MODS */
-
-/*SFVAR*/ <<set $SF = Object.assign({}, $SF, {Toggle:0, Active: -1}), $SF.Facility = Object.assign({}, $SF.Facility, {Toggle:0, Active:0})>>
-
-/* Misc mod variables */
-<<set $recruiterEugenics = 0>>
-
-<<if ndef $AgeEffectOnTrainerPricingPC>>
-	<<set $AgeEffectOnTrainerPricingPC = 1>>
-<</if>>
-<<if ndef $AgeEffectOnTrainerEffectivenessPC>>
-	<<set $AgeEffectOnTrainerEffectivenessPC = 1>>
-<</if>>
-<<if ndef $AgeTrainingUpperBoundPC>>
-	<<set $AgeTrainingUpperBoundPC = 14>>
-<</if>>
-<<if ndef $AgeTrainingLowerBoundPC>>
-	<<set $AgeTrainingLowerBoundPC = 12>>
-<</if>>
-<<if ndef $IsInPrimePC>>
-	<<set $IsInPrimePC = 3>>
-<</if>>
-<<if ndef $IsPastPrimePC>>
-	<<set $IsPastPrimePC = 5000>>
-<</if>>
-
-<<set $prostheticsUpgrade = 0>>
-<<set $adjustProstheticsCompleted = 0>>
-<<set $adjustProsthetics = []>> /*format: {id: string, workleft: int, slaveID: int}*/
-/*task: {type: "research"/"craft/craftFit", id: string, workLeft: int, [if constructFit] slaveID: int}*/
-<<set $researchLab = {
-	level: 0,
-	aiModule: 1,
-	tasks: [],
-	maxSpace: 0,
-	hired: 0,
-	menials: 0,
-}>>
-<<set $prosthetics = {}>>
 <<run setup.prostheticIDs.forEach(function(id) {
 	$prosthetics[id] = {amount: 0, research: 0};
 })>>
 
-<<set $merchantFSWares = ["AssetExpansionistResearch", "GenderRadicalistResearch", "HedonisticDecadenceResearch", "SlaveProfessionalismResearch", "SlimnessEnthusiastResearch", "TransformationFetishistResearch", "YouthPreferentialistResearch"]>>
-<<set $merchantIllegalWares = ["asexualReproduction", "childhoodFertilityInducedNCS", "PGHack", "RapidCellGrowthFormula", "sympatheticOvaries", "UterineRestraintMesh"]>> /* "AnimalOrgans" for future use */
-<<set $RapidCellGrowthFormula = 0>>
-<<set $UterineRestraintMesh = 0>>
-<<set $PGHack = 0>>
-
-<<set $diversePronouns = 0>>
-
-/* Security Expansion */
-<<set $wasToggledBefore = 0>>
-/* moved first build to post toggle */
-<<set $secExpEnabled = $secExpEnabled || 0>>
-
-/* Career-skill gain */
-<<set $masteredXP = 200>>
+/*SFVAR*/ <<set $SF = Object.assign({}, $SF, {Toggle:0, Active: -1}), $SF.Facility = Object.assign({}, $SF.Facility, {Toggle:0, Active:0})>>
 
-/* Weather effect on economy */
-<<set $antiWeatherFreeze = 0>>
-<<set $econWeatherDamage = 0>>
-<<set $disasterResponse = 0>>
+<<set $foodConsumption = (($lowerClass*$foodRate.lower) + ($middleClass*$foodRate.middle) + ($upperClass*$foodRate.upper) + ($topClass*$foodRate.top))>>	/* total amount food consumed per week */
 
-<<set $postSexCleanUp = 1>>
+<<set $weatherToday = App.Data.weather.nice.random()>>
+<<set $prisonCircuitIndex = random(0,$prisonCircuit.length-1)>>
 
-<<set $sideBarOptions = {compact:1, Cash:1, Upkeep:1, SexSlaveCount:1, roomPop:1, Rep:1, GSP:1, Authority:1, Security:1, Crime:1}>>
-<<set $DefaultBirthDestination = "individually decided fates">>
-<<set $abbreviateHormoneBalance = 2>>
+/* I am not a slave object! Do not treat me like one! */
+<<set $customSlave = new App.Entity.CustomSlaveOrder()>>
+<<set $huskSlave = new App.Entity.CustomSlaveOrder()>>
 
 <<= App.SF.Init()>>
 
diff --git a/src/js/wombJS.js b/src/js/wombJS.js
index 7deafe8bff514725589d8c470236e22de733e9e3..8e36eddced977b7255e6993b1c9d6adf713b2de9 100644
--- a/src/js/wombJS.js
+++ b/src/js/wombJS.js
@@ -891,9 +891,7 @@ window.WombGetLittersData = function(actor) {
 };
 
 window.BCReserveInit = function() {
-	let SV = State.variables;
-
-	SV.slaves.forEach(function(slave) {
+	V.slaves.forEach(function(slave) {
 		slave.womb.forEach(function(ft) {
 			if (typeof ft.reserve !== 'string') {
 				ft.reserve = "";
@@ -910,12 +908,12 @@ window.BCReserveInit = function() {
 		});
 	});
 
-	SV.PC.womb.forEach(function(ft) {
+	V.PC.womb.forEach(function(ft) {
 		if (typeof ft.reserve !== 'string') {
 			ft.reserve = "";
 		}
 		if (typeof ft.motherID !== 'number') {
-			ft.motherID = SV.PC.ID;
+			ft.motherID = V.PC.ID;
 		}
 		if (typeof ft.realAge !== 'number') { // setting missing chronological age
 			ft.realAge = ft.age;
diff --git a/src/pregmod/seFCTVinstall.tw b/src/pregmod/seFCTVinstall.tw
index ee92f954f3dd6ba04ddbf0b0688785bf17d0f662..fd94f788c5abc9fa6aff3eb4de9de7a6b528f95b 100644
--- a/src/pregmod/seFCTVinstall.tw
+++ b/src/pregmod/seFCTVinstall.tw
@@ -1,7 +1,6 @@
 :: SE FCTV Install [nobr]
 
 <<set $nextButton = "Continue", $nextLink = "Scheduled Event", $returnTo = "Scheduled Event", $showEncyclopedia = 1, $encyclopedia = "FCTV", $receiverAvailable = 1>>
-<<set $showOne = 0, $showTwo = 0, $showThree = 0, $showFour = 0, $showFive = 0, $showSix = 0, $showSeven = 0, $showEight = 0, $showNine = 0, $showTen = 0, $showEleven = 0, $showTwelve = 0, $showThirteen = 0, $showFourteen = 0, $randShow = 0, $lastShow = -1>>
 
 You've been sitting in your office into the early afternoon going over bothersome lease documents that need your approval. When you take a break to look out the window, $assistant.name speaks up. "<<= properTitle()>>, you have received an approval welcome packet from 8HGG Inc. in regards to Free Cities TV. It seems that they've determined that $arcologies[0].name is now sufficiently developed enough to warrant a FCTV-Citizen connection. All the details and contracts necessary are included in the packet. From there, a receiver will need to be built onto $arcologies[0].name in order to access FCTV."
 <br><br>
diff --git a/src/pregmod/seFCTVwatch.tw b/src/pregmod/seFCTVwatch.tw
index b694d865c09aa4d42ed54323598304bd7cccd357..56c351f1e75826ceb93b9d788160148860a58911 100644
--- a/src/pregmod/seFCTVwatch.tw
+++ b/src/pregmod/seFCTVwatch.tw
@@ -1,24 +1,7 @@
 :: SE FCTV Watch [nobr]
 
 <<set $nextButton = "Continue", $nextLink = "Scheduled Event", $returnTo = "Scheduled Event", $showEncyclopedia = 1, $encyclopedia = "FCTV", $randShow = "", $FCTVshow = 0>>
-<<if ndef $showEleven>>
-	<<set $showEleven = 0>>
-<</if>>
-<<if ndef $showTwelve>> /* Milkanon's channel */
-	<<set $showTwelve = 0>>
-<</if>>
-<<if ndef $showThirteen>> /* Channel13's work */
-	<<set $showThirteen = 0>>
-<</if>>
-<<if ndef $showFourteen>> /* anon's story channel */
-	<<set $showFourteen = 0>>
-<</if>>
-<<if ndef $showFifteen>> /* the pirate channel */
-	<<set $showFifteen = 0>>
-<</if>>
-<<if ndef $showSixteen>> /* Ages of Slavery channel */
-	<<set $showSixteen = 0>>
-<</if>>
+
 
 Tired after a long day, you tell <<if $Concubine != 0>>@@.pink;$Concubine.slaveName@@<<else>>$assistant.name<</if>> to turn on the TV and
 <<if $cheatMode == 1 || $debugMode == 1 || $FCTVremote > 0>>
diff --git a/src/pregmod/widgets/pregmodWidgets.tw b/src/pregmod/widgets/pregmodWidgets.tw
index 9a4e7f1d940c03719df48a55f1e112b867601ac9..b3ce049aef68a0ddcb2c3ceb1d719d0fa5702155 100644
--- a/src/pregmod/widgets/pregmodWidgets.tw
+++ b/src/pregmod/widgets/pregmodWidgets.tw
@@ -996,42 +996,3 @@ $activeSlave.slaveName is up for review:
 	<<set $AgeTrainingLowerBoundPC = 3, $AgeTrainingUpperBoundPC = 5, $AgeEffectOnTrainerPricingPC = 1.08, $AgeEffectOnTrainerEffectivenessPC = 1.08>>
 <</switch>>
 <</widget>>
-
-<<widget "HeroSlavesCleanup">>
-<<run $heroSlaves.forEach(function(s) {
-	/* Nationalities, races, surnames random fill */
-	if(!s.nationality) {
-		/* Check for a pre-set race and if the nationality fits, else regenerate */
-		if(s.race && setup.filterRacesLowercase.includes(s.race)) {
-				raceToNationality(s);
-		} else {
-			s.nationality = hashChoice($nationalities);
-		}
-	}
-	if(!s.race || !setup.filterRacesLowercase.includes(s.race)) {
-		nationalityToRace(s);
-	}
-	if(!s.birthSurname && s.birthSurname !== "") {
-		s.birthSurname = (setup.surnamePoolSelector[s.nationality + "." + s.race]
-			|| setup.surnamePoolSelector[s.nationality]
-			|| setup.whiteAmericanSlaveSurnames).random();
-	}
-	if(!s.birthName && s.birthName !== "") {
-		s.birthName = (setup.namePoolSelector[s.nationality + "." + s.race]
-			|| setup.namePoolSelector[s.nationality]
-			|| setup.whiteAmericanSlaveNames).random();
-	}
-	generatePronouns(s);
-	if(s.geneMods == undefined) {
-		s.geneMods = {NCS: 0, rapidCellGrowth: 0};
-	} else {
-		if(s.geneMods.NCS == undefined) {
-			s.geneMods.NCS = 0;
-		}
-		if(s.geneMods.rapidCellGrowth == undefined) {
-			s.geneMods.rapidCellGrowth = 0;
-		}
-	}
-	/*WombInit(s);*/
-})>>
-<</widget>>
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
deleted file mode 100644
index 5e8cd896355618f0aefa9ca9415ef6e97b4a9531..0000000000000000000000000000000000000000
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ /dev/null
@@ -1,3754 +0,0 @@
-:: Backwards Compatibility [nobr]
-
-/* no-usedOnce disabling checking for only used once instances in this file */
-<<set $nextButton = "Continue", $nextLink = "Main", $returnTo = "Main">>
-
-<<if $releaseID == 1021 || $releaseID == 1020 || $releaseID == 1019 || $releaseID == 2022>>
-	<<set $releaseID = 1022>>
-<</if>>
-
-<<if $releaseID < 1055>>
-	<<if $disableLisping == 0>>
-		<<set $disableLisping = 1>>
-	<<else>>
-		<<set $disableLisping = 0>>
-	<</if>>
-<</if>>
-
-<<if Array.isArray($nationalities)>>
-	<<set $nationalities = weightedArray2HashMap($nationalities)>>
-<</if>>
-
-<<if def $brothelSlaves>>
-	<<unset $brothelSlaves>>
-<</if>>
-<<if def $clubSlaves>>
-	<<unset $clubSlaves>>
-<</if>>
-<<if def $arcadeSlaves>>
-	<<unset $arcadeSlaves>>
-<</if>>
-<<if def $dairySlaves>>
-	<<unset $dairySlaves>>
-<</if>>
-<<if def $servantsQuartersSlaves>>
-	<<unset $servantsQuartersSlaves>>
-<</if>>
-<<if def $masterSuiteSlaves>>
-	<<unset $masterSuiteSlaves>>
-<</if>>
-<<if def $HGSuiteSlaves>>
-	<<unset $HGSuiteSlaves>>
-<</if>>
-<<if def $farmyardSlaves>>
-	<<unset $farmyardSlaves>>
-<</if>>
-<<if def $cellblockSlaves>>
-	<<unset $cellblockSlaves>>
-<</if>>
-<<if def $schoolroomSlaves>>
-	<<unset $schoolroomSlaves>>
-<</if>>
-<<if def $spaSlaves>>
-	<<unset $spaSlaves>>
-<</if>>
-<<if ndef $spaSpots>>
-	<<set $spaSpots = 0>>
-<</if>>
-<<if def $nurserySlaves>>
-	<<unset $nurserySlaves>>
-<</if>>
-
-<<if def $hostageCost>>
-	<<unset $hostageCost>>
-<</if>>
-
-<<if def $youngCareers>>
-	<<unset $youngCareers, $educatedCareers, $uneducatedCareers, $gratefulCareers, $menialCareers, $entertainmentCareers, $whoreCareers, $HGCareers, $madamCareers, $DJCareers, $bodyguardCareers, $wardenessCareers, $nurseCareers, $attendantCareers, $matronCareers, $milkmaidCareers, $farmerCareers, $stewardessCareers, $schoolteacherCareers>>
-
-	<<unset $whiteNationalities, $asianNationalities, $latinaNationalities, $middleeasternNationalities, $blackNationalities, $indoaryanNationalities, $pacificislanderNationalities, $malayNationalities, $amerindianNationalities, $southerneuropeanNationalities, $semiticNationalities>>
-
-	<<unset $whiteAmericanSlaveNames, $africanAmericanSlaveNames, $asianAmericanSlaveNames, $latinaSlaveNames, $russianSlaveNames, $egyptianSlaveNames, $brazilianSlaveNames, $chineseSlaveNames, $koreanSlaveNames, $indianSlaveNames, $indonesianSlaveNames, $bangladeshiSlaveNames, $japaneseSlaveNames, $nigerianSlaveNames, $pakistaniSlaveNames, $mexicanSlaveNames, $filipinaSlaveNames, $ethiopianSlaveNames, $germanSlaveNames, $saudiSlaveNames, $turkishSlaveNames, $colombianSlaveNames, $argentinianSlaveNames, $vietnameseSlaveNames, $iranianSlaveNames, $congoleseSlaveNames, $frenchSlaveNames, $thaiSlaveNames, $britishSlaveNames, $italianSlaveNames, $spanishSlaveNames, $kenyanSlaveNames, $ukrainianSlaveNames, $canadianSlaveNames, $peruvianSlaveNames, $venezuelanSlaveNames, $irishSlaveNames, $icelandicSlaveNames, $finnishSlaveNames, $newZealanderSlaveNames, $polishSlaveNames, $greekSlaveNames, $israeliSlaveNames, $armenianSlaveNames, $moroccanSlaveNames, $romanianSlaveNames, $swedishSlaveNames, $lithuanianSlaveNames, $bolivianSlaveNames, $haitianSlaveNames, $cubanSlaveNames, $whiteSouthAfricanSlaveNames, $blackSouthAfricanSlaveNames, $chileanSlaveNames, $belgianSlaveNames, $danishSlaveNames, $norwegianSlaveNames, $hungarianSlaveNames, $estonianSlaveNames, $slovakSlaveNames, $kazakhSlaveNames, $zimbabweanSlaveNames, $ugandanSlaveNames, $tanzanianSlaveNames, $dutchSlaveNames, $austrianSlaveNames, $swissSlaveNames, $puertoRicanSlaveNames, $czechSlaveNames, $portugueseSlaveNames, $jamaicanSlaveNames, $malaysianSlaveNames, $guatemalanSlaveNames, $ghananSlaveNames, $serbianSlaveNames, $australianSlaveNames, $burmeseSlaveNames, $algerianSlaveNames, $sudaneseSlaveNames, $iraqiSlaveNames, $uzbekSlaveNames, $nepaleseSlaveNames, $afghanSlaveNames, $yemeniSlaveNames, $lebaneseSlaveNames, $tunisianSlaveNames, $emiratiSlaveNames, $libyanSlaveNames, $jordanianSlaveNames, $omaniSlaveNames, $malianSlaveNames, $sammarineseSlaveNames, $marshalleseSlaveNames, $syrianSlaveNames, $bermudianSlaveNames, $uruguayanSlaveNames, $monegasqueSlaveNames, $montenegrinSlaveNames, $cambodianSlaveNames, $cameroonianSlaveNames, $gaboneseSlaveNames, $djiboutianSlaveNames, $greenlandicSlaveNames, $tuvaluanSlaveNames, $zambianSlaveNames, $albanianSlaveNames, $bruneianSlaveNames, $singaporeanSlaveNames>>
-
-	<<unset $cowSlaveNames, $chattelReligionistSlaveNames, $romanSlaveNames, $aztecSlaveNames, $ancientEgyptianSlaveNames, $edoSlaveNames>>
-
-	<<unset $ArcologyNamesSupremacistWhite, $ArcologyNamesSupremacistAsian, $ArcologyNamesSupremacistLatina, $ArcologyNamesSupremacistMiddleEastern, $ArcologyNamesSupremacistBlack, $ArcologyNamesSupremacistIndoAryan, $ArcologyNamesSupremacistPacificIslander, $ArcologyNamesSupremacistMalay, $ArcologyNamesSupremacistAmerindian, $ArcologyNamesSupremacistSouthernEuropean, $ArcologyNamesSupremacistSemitic, $ArcologyNamesSupremacistMixedRace>>
-
-	<<unset $ArcologyNamesSubjugationistWhite, $ArcologyNamesSubjugationistAsian, $ArcologyNamesSubjugationistLatina, $ArcologyNamesSubjugationistMiddleEastern, $ArcologyNamesSubjugationistBlack, $ArcologyNamesSubjugationistIndoAryan, $ArcologyNamesSubjugationistPacificIslander, $ArcologyNamesSubjugationistMalay, $ArcologyNamesSubjugationistAmerindian, $ArcologyNamesSubjugationistSouthernEuropean, $ArcologyNamesSubjugationistSemitic, $ArcologyNamesSubjugationistMixedRace>>
-
-	<<unset $ArcologyNamesGenderRadicalist, $ArcologyNamesGenderFundamentalist, $ArcologyNamesPaternalist, $ArcologyNamesDegradationist, $ArcologyNamesBodyPurist, $ArcologyNamesTransformationFetishist, $ArcologyNamesYouthPreferentialist, $ArcologyNamesMaturityPreferentialist, $ArcologyNamesSlimnessEnthusiast, $ArcologyNamesAssetExpansionist, $ArcologyNamesPastoralist, $ArcologyNamesPhysicalIdealist, $ArcologyNamesChattelReligionist, $ArcologyNamesRomanRevivalist, $ArcologyNamesAztecRevivalist, $ArcologyNamesEgyptianRevivalist, $ArcologyNamesEdoRevivalist, $ArcologyNamesArabianRevivalist, $ArcologyNamesChineseRevivalist>>
-
-	/* pregmod-exclusive variables below */
-	<<unset $veryYoungCareers, $recruiterCareers>>
-	<<unset $northamericaNationalities, $southamericaNationalities, $europeNationalities, $asiaNationalities, $middleeastNationalities, $africaNationalities, $australiaNationalities>>
-	<<unset $belarusianSlaveNames, $dominicanSlaveNames, $scottishSlaveNames>>
-	<<unset $ArcologyNamesEugenics, $ArcologyNamesRepopulationist, $ArcologyNamesHedonisticDecadence>>
-	<<unset $drugs, $harshCollars, $shoes, $bellyAccessories, $vaginalAccessories, $dickAccessories, $buttplugs>>
-<</if>>
-
-<<if def $Flag>>
-	<<unset $Flag>>
-<</if>>
-
-<<if typeof $brandTarget == "string">>
-	<<set $brandTarget = {primary: $brandTarget, secondary: "buttock", local: "buttock"}>>
-<<elseif typeof $brandTarget != "object">>
-	<<set $brandTarget = {primary: "buttock", secondary: "buttock", local: "buttock"}>>
-<</if>>
-
-<<if typeof $brandDesign == "string">>
-	<<set $brandDesign = {primary: $brandDesign, official: $brandDesign, local: $brandDesign}>>
-<<elseif typeof $brandDesign != "object">>
-	<<set $brandDesign = {primary: "your initials", official: "your initials", local: "your initials"}>>
-<</if>>
-
-<<if ndef $brandDesign.official>>
-	<<set $brandDesign.official = "your personal symbol">>
-<</if>>
-
-<<if ndef $scarTarget>>
-	<<set $scarTarget = {primary: "left cheek", secondary: "left cheek", local: "left cheek"}>>
-<</if>>
-<<if ndef $scarDesign>>
-	<<set $scarDesign = {primary: "generic", local: "generic"}>>
-<</if>>
-
-<<if def $servantMilkersJobs>>
-	<<unset $servantMilkersJobs>>
-<</if>>
-
-<<if def $fakeBellies>>
-	<<unset $fakeBellies>>
-<</if>>
-
-<<if def $badWords>>
-	<<unset $badWords>>
-<</if>>
-
-<<if def $badNames>>
-	<<unset $badNames>>
-<</if>>
-
-<<if (def $origin) || (def $origins)>>
-	<<unset $origin, $origins>>
-<</if>>
-
-<<if (def $hare1) || (def $hareSpeed1)>>
-	<<unset $hare1, $hare2, $hare3, $hareSpeed, $hareSpeed1, $hareSpeed2, $hareSpeed3, $origin1, $origin2, $origin3, $LurcherSpeed>>
-<</if>>
-
-<<if def $basenationalities>>
-	<<unset $basenationalities>>
-<</if>>
-
-<<if (ndef $marrying.length) || (ndef $marrying)>>
-	<<set $marrying = []>>
-<</if>>
-<<if (ndef $weddingPlanned) || (ndef $marrying) || (ndef $marrying.length) || ($marrying.length < 1)>>
-	<<set $weddingPlanned = 0>>
-<</if>>
-
-<<if def $weddingSlaveID>>
-	<<unset $weddingSlaveID>>
-	<<set $weddingPlanned = 0>>
-<</if>>
-
-<<if ndef $reminders>>
-	<<set $reminders = []>>
-<<elseif !Array.isArray($reminders)>>
-	<<set _r = $reminders, $reminders = []>>
-	<<for _i = 0; _i < _r.entries.length; _i++>>
-		<<run App.Reminders.add(_r.entries[_i], $week + Number(_r.weeks[_i]))>>
-	<</for>>
-	<<for _i = 0; _i < _r.overdue.length; _i++>>
-		<<set _s = _r.overdue[_i].split(" ")>>
-		<<run _s.splice(_s.length-5, 5)>>
-		<<set _s = _s.join(" ")>>
-		<<run App.Reminders.add(_s, $week - 1)>>
-	<</for>>
-<</if>>
-
-<<if $releaseID < 1057>>
-	<<if ndef $PC.name>>
-		<<if def $PCName>>
-			<<set $PC.name = $PCName>>
-			<<unset $PCName>>
-		<</if>>
-	<</if>>
-	<<if ndef $PC.surname>>
-		<<set $PC.surname = 0>>
-	<</if>>
-	<<if ndef $PC.faceShape>>
-		<<set $PC.faceShape = "normal">>
-	<</if>>
-<</if>>
-<<if ndef $bodyguardTrains>>
-	<<set $bodyguardTrains = 1>>
-<</if>>
-<<if ndef $recruiterIOUs>>
-	<<set $recruiterIOUs = 0>>
-<</if>>
-<<if ndef $summaryStats>>
-	<<set $summaryStats = 0>>
-<</if>>
-<<if ndef $verticalizeArcologyLinks>>
-	<<set $verticalizeArcologyLinks = 0>>
-<</if>>
-<<if ndef $positionMainLinks>>
-	<<set $positionMainLinks = -1>>
-<</if>>
-<<if ndef $seeImages>>
-	<<set $seeImages = 0>>
-<</if>>
-<<if ndef $imageChoice>>
-	<<set $imageChoice = 0>>
-<</if>>
-<<if ndef $seeMainFetishes>>
-	<<set $seeMainFetishes = 0>>
-<</if>>
-<<if ndef $seeSummaryImages>>
-	<<set $seeSummaryImages = 1>>
-<</if>>
-<<if ndef $seeReportImages>>
-	<<set $seeReportImages = 1>>
-<</if>>
-<<if ndef $universalRulesBirthing>>
-	<<set $universalRulesBirthing = 0>>
-<</if>>
-<<if ndef $HGSeverity>>
-	<<set $HGSeverity = 0>>
-<</if>>
-<<if def $recruiters>>
-	<<unset $recruiters>>
-<</if>>
-<<if ndef $fixedNationality>>
-	<<set $fixedNationality = 0>>
-<</if>>
-<<if ndef $fixedRace>>
-	<<set $fixedRace = 0>>
-<</if>>
-<<if ndef $RaidingMercenaries>>
-	<<set $RaidingMercenaries = 0>>
-<</if>>
-<<if ndef $raided>>
-	<<set $raided = 0>>
-<</if>>
-<<if ndef $slaveOrphanageTotal>>
-	<<set $slaveOrphanageTotal = 0>>
-<</if>>
-<<if ndef $citizenOrphanageTotal>>
-	<<set $citizenOrphanageTotal = 0>>
-<</if>>
-<<if ndef $privateOrphanageTotal>>
-	<<set $privateOrphanageTotal = 0>>
-<</if>>
-<<if ndef $peacekeepers>>
-	<<set $peacekeepers = 0>>
-<</if>>
-<<if def $modestClothes>>
-	<<unset $modestClothes>>
-<</if>>
-<<if ndef $completedOrgans>>
-	<<set $completedOrgans = []>>
-<</if>>
-<<if def $eventSlaves>>
-	<<unset $eventSlaves>>
-<</if>>
-<<if def $place>>
-	<<unset $place>>
-<</if>>
-<<if (def $assayedSlave) || (def $assayedSlaveAvailable) || def $assayType>>
-	<<unset $assayedSlave, $assayedSlaveAvailable, $assayType>>
-<</if>>
-<<if (def $RERepressedAnalVirginSub) || (def $REBoobCollisionSub) || (def $REIfYouEnjoyItSub) || (def $RESadisticDescriptionSub) || def $REShowerForceSub>>
-	<<unset $RERepressedAnalVirginSub, $REBoobCollisionSub, $REIfYouEnjoyItSub, $RESadisticDescriptionSub, $REShowerForceSub>>
-<</if>>
-<<if (def $unmodded) || (def $modded) || (def $XX) || (def $XY) || (def $old) || (def $young) || (def $pregYes) || (def $pregNo) || (def $implanted) || (def $slimPass) || (def $slim) || def $stacked>>
-	<<unset $unmodded, $modded, $XX, $XY, $old, $young, $pregYes, $pregNo, $implanted, $slimPass, $slim, $stacked>>
-<</if>>
-<<if (def $recruiterMother) || def $recruiterSister>>
-	<<unset $recruiterMother, $recruiterSister>>
-<</if>>
-<<if def $relations>>
-	<<unset $relations>>
-<</if>>
-<<if def $milfSlave>>
-	<<unset $milfSlave>>
-<</if>>
-<<if def $vignettes>>
-	<<unset $vignettes>>
-<</if>>
-<<if def $piercingLocation>>
-	<<unset $piercingLocation>>
-<</if>>
-<<if (def $target1) || (def $target2) || def $target3>>
-	<<unset $target1, $target2, $target3>>
-<</if>>
-<<if (def $targetEscape1) || (def $targetEscape2) || def $targetEscape3>>
-	<<unset $targetEscape1, $targetEscape2, $targetEscape3>>
-<</if>>
-<<if (def $oralCount) || (def $vaginalCount) || def $analCount>>
-	<<unset $oralCount, $vaginalCount, $analCount>>
-<</if>>
-<<if (def $fighterOne) || def $fighterTwo>>
-	<<unset $fighterOne, $fighterTwo>>
-<</if>>
-<<if (def $fighterOneDeadliness) || def $fighterTwoDeadliness>>
-	<<unset $fighterOneDeadliness, $fighterTwoDeadliness>>
-<</if>>
-<<if def $adopted>>
-	<<unset $adopted>>
-<</if>>
-<<if def $fetishChangeChance>>
-	<<unset $fetishChangeChance>>
-<</if>>
-<<if (def $titles) || (def $schoolsPresent) || (def $schoolsPerfected) || def $schoolTitle>>
-	<<unset $titles, $schoolsPresent, $schoolsPerfected, $schoolTitle>>
-<</if>>
-<<if def $appraiserGender>>
-	<<unset $appraiserGender>>
-<</if>>
-<<if (def $assetDirection) || def $assetAffected>>
-	<<unset $assetDirection, $assetAffected>>
-<</if>>
-<<if def $rents>>
-	<<unset $rents>>
-<</if>>
-<<if ndef $rent>>
-	<<set $rent = {}>>
-<</if>>
-<<if ndef $rentDefaults>>
-	<<set $rentDefaults = {}>>
-<</if>>
-<<if def $LCRent>>
-	<<set $rent.lowerClass = $LCRent>>
-	<<unset $LCRent>>
-<</if>>
-<<if def $MCRent>>
-	<<set $rent.middleClass = $MCRent>>
-	<<unset $MCRent>>
-<</if>>
-<<if def $UCRent>>
-	<<set $rent.upperClass = $UCRent>>
-	<<unset $UCRent>>
-<</if>>
-<<if def $TCRent>>
-	<<set $rent.topClass = $TCRent>>
-	<<unset $TCRent>>
-<</if>>
-<<if def $space>>
-	<<unset $space>>
-<</if>>
-<<if def $vaginaTotal>>
-	<<unset $vaginaTotal>>
-<</if>>
-<<set $enduringTrust = Number($enduringTrust) || 0>>
-<<set $enduringDevotion = Number($enduringDevotion) || 0>>
-<<set $averageTrust = Number($averageTrust) || 0>>
-<<set $averageDevotion = Number($averageDevotion) || 0>>
-<<if def $limbsComplete>>
-	<<unset $limbsComplete>>
-<</if>>
-<<if def $minimumChildAge>>
-	<<unset $minimumChildAge>>
-<</if>>
-<<if def $customValue>>
-	<<unset $customValue>>
-<</if>>
-<<if ndef $tabChoice>>
-	<<set $tabChoice = {Main: "all"}>>
-<</if>>
-
-/* pregmod stuff */
-
-<<if $releaseID < 1057>>
-	<<if ndef $PC.actualAge>>
-		<<if $PC.age === 1>>
-			<<set $PC.actualAge = 20>>
-		<<elseif $PC.age === 3>>
-			<<set $PC.actualAge = 50>>
-		<<else>>
-			<<set $PC.actualAge = 35>>
-		<</if>>
-	<</if>>
-	<<if ndef $PC.markings>>
-		<<set $PC.markings = "none">>
-	<</if>>
-	<<if ndef $PC.pronoun>>
-		<<run generatePlayerPronouns($PC)>>
-	<</if>>
-	<<if ndef $PC.pregKnown>>
-		<<if $PC.preg > 0>>
-			<<set $PC.pregKnown = 1>>
-		<<else>>
-			<<set $PC.pregKnown = 0>>
-		<</if>>
-	<</if>>
-	<<if ndef $PC.pregWeek>>
-		<<if $PC.preg > 0>>
-			<<set $PC.pregWeek = $PC.preg>>
-		<<else>>
-			<<set $PC.pregWeek = 0>>
-		<</if>>
-	<</if>>
-	<<if ndef $PC.pregType>>
-		<<if $PC.preg > 0>>
-			<<set $PC.pregType = 1>>
-		<<else>>
-			<<set $PC.pregType = 0>>
-		<</if>>
-	<</if>>
-	<<if ndef $PC.belly>>
-		<<if $PC.preg > 0>>
-			<<set $PC.belly = getPregBellySize($PC)>>
-		<<else>>
-			<<set $PC.belly = 0>>
-		<</if>>
-	<</if>>
-	<<if ndef $PC.skin>>
-		<<set $PC.skin = "light">>
-	<</if>>
-	<<if ndef $PC.origSkin>>
-		<<set $PC.origSkin = $PC.skin>>
-	<</if>>
-	<<if ndef $PC.eyeColor>>
-		<<set $PC.eyeColor = "blue">>
-	<</if>>
-	<<if ndef $PC.origEye>>
-		<<set $PC.origEye = $PC.eyeColor>>
-	<</if>>
-	<<if ndef $PC.pupil>>
-		<<if $PC.eyeColor == "catlike">>
-			<<set $PC.pupil = "catlike">>
-			<<set $PC.eyeColor = "blue">>
-		<<elseif $PC.eyeColor == "serpent-like">>
-			<<set $PC.pupil = "serpent-like">>
-			<<set $PC.eyeColor = "blue">>
-		<<elseif $PC.eyeColor == "devilish">>
-			<<set $PC.pupil = "devilish">>
-			<<set $PC.eyeColor = "blue">>
-		<<elseif $PC.eyeColor == "demonic">>
-			<<set $PC.pupil = "demonic">>
-			<<set $PC.eyeColor = "blue">>
-		<<elseif $PC.eyeColor == "hypnotic">>
-			<<set $PC.pupil = "hypnotic">>
-			<<set $PC.eyeColor = "blue">>
-		<<elseif $PC.eyeColor == "heart-shaped">>
-			<<set $PC.pupil = "heart-shaped">>
-			<<set $PC.eyeColor = "blue">>
-		<<elseif $PC.eyeColor == "wide-eyed">>
-			<<set $PC.pupil = "wide-eyed">>
-			<<set $PC.eyeColor = "blue">>
-		<<elseif $PC.eyeColor == "almond-shaped">>
-			<<set $PC.pupil = "almond-shaped">>
-			<<set $PC.eyeColor = "blue">>
-		<<elseif $PC.eyeColor == "bright">>
-			<<set $PC.pupil = "bright">>
-			<<set $PC.eyeColor = "blue">>
-		<<elseif $PC.eyeColor == "teary">>
-			<<set $PC.pupil = "teary">>
-			<<set $PC.eyeColor = "blue">>
-		<<elseif $PC.eyeColor == "vacant">>
-			<<set $PC.pupil = "vacant">>
-			<<set $PC.eyeColor = "blue">>
-		<<else>>
-			<<set $PC.pupil = "circular">>
-		<</if>>
-	<</if>>
-	<<if ndef $PC.sclerae>>
-		<<set $PC.sclerae = "white">>
-	<</if>>
-	<<if ndef $PC.race>>
-		<<set $PC.race = "white">>
-	<</if>>
-	<<if ndef $PC.origRace>>
-		<<set $PC.origRace = $PC.race>>
-	<</if>>
-	<<if ndef $PC.hColor>>
-		<<set $PC.hColor = "blonde">>
-	<</if>>
-	<<if ndef $PC.origHColor>>
-		<<set $PC.origHColor = $PC.hColor>>
-	<</if>>
-	<<if ndef $PC.nationality>>
-		<<set $PC.nationality = "Stateless">>
-	<</if>>
-	<<if $PC.boobsBonus == -0.5>>
-		<<set $PC.boobsBonus = -1>>
-	<</if>>
-	<<if ndef $PC.sclerae>>
-		<<set $PC.sclerae = "white">>
-	<</if>>
-	<<if ndef $PC.fetish>>
-		<<set $PC.fetish = "none">>
-	<</if>>
-	<<if ndef $PC.behavioralFlaw>>
-		<<set $PC.behavioralFlaw = "none">>
-	<</if>>
-	<<if ndef $PC.behavioralQuirk>>
-		<<set $PC.behavioralQuirk = "none">>
-	<</if>>
-	<<if ndef $PC.sexualFlaw>>
-		<<set $PC.sexualFlaw = "none">>
-	<</if>>
-	<<if ndef $PC.sexualQuirk>>
-		<<set $PC.sexualQuirk = "none">>
-	<</if>>
-	<<if ndef $PC.pubicHStyle>>
-		<<set $PC.pubicHStyle = "hairless">>
-	<</if>>
-	<<if ndef $PC.underArmHStyle>>
-		<<set $PC.underArmHStyle = "hairless">>
-	<</if>>
-	<<if ndef $PC.eggType>>
-		<<set $PC.eggType = "human">>
-	<</if>>
-	<<if ndef $PC.ballType>>
-		<<set $PC.ballType = "human">>
-	<</if>>
-	<<if ndef $PC.geneticQuirks>>
-		<<set $PC.geneticQuirks = {macromastia: 0, gigantomastia: 0, fertility: 0, hyperFertility: 0, superfetation: 0, gigantism: 0, dwarfism: 0, pFace: 0, uFace: 0, albinism: 0, heterochromia: 0, rearLipedema: 0, wellHung: 1, wGain: 0, wLoss: 0, mGain: 0, mLoss: 0, androgyny: 0, girlsOnly: 0}>>
-		<<if $PC.birthMaster > 0>>
-			<<set $PC.geneticQuirks.fertility = 2>>
-		<<elseif $PC.career == "servant">>
-			<<set $PC.geneticQuirks.fertility = 1>>
-		<</if>>
-	<<else>>
-		<<if ndef $PC.geneticQuirks.heterochromia>>
-			<<set $PC.geneticQuirks.heterochromia = 0>>
-		<</if>>
-		<<if ndef $PC.geneticQuirks.girlsOnly>>
-			<<set $PC.geneticQuirks.girlsOnly = 0>>
-		<</if>>
-		<<if ndef $PC.geneticQuirks.mGain>>
-			<<set $PC.geneticQuirks.mGain = 0>>
-		<</if>>
-		<<if ndef $PC.geneticQuirks.mLoss>>
-			<<set $PC.geneticQuirks.mLoss = 0>>
-		<</if>>
-	<</if>>
-	<<if $releaseID < 1032>>
-		<<if $PC.pregSource == -1>>
-			<<set $PC.pregSource = -6>>
-		<<elseif $PC.pregSource == -2>>
-			<<set $PC.pregSource = -5>>
-		<<elseif $PC.pregSource == -6>>
-			<<set $PC.pregSource = -1>>
-		<<elseif $PC.pregSource == -5>>
-			<<set $PC.pregSource = -2>>
-		<</if>>
-	<</if>>
-	<<if ndef $PC.genes>>
-		<<if $PC.title == 1>>
-			<<set $PC.genes = "XY">>
-		<<else>>
-			<<set $PC.genes = "XX">>
-		<</if>>
-	<</if>>
-
-	/* player object converter */
-	<<set _newPC = basePlayer()>>
-	<<set _newPC.slaveName = $PC.name>>
-	<<set _newPC.slaveSurname = $PC.surname>>
-	<<set _newPC.birthName = $PC.name>>
-	<<if $PC.slaveSurname>>
-		<<set _newPC.birthSurname = $PC.surname>>
-	<<else>>
-		<<set _newPC.birthSurname = "">>
-	<</if>>
-	<<set _newPC.title = $PC.title>>
-	<<set _newPC.genes = $PC.genes>>
-	<<set _newPC.career = $PC.career>>
-	<<set _newPC.rumor = $PC.rumor>>
-	<<set _newPC.birthWeek = $PC.birthWeek>>
-	<<set _newPC.refreshment = $PC.refreshment>>
-	<<set _newPC.refreshmentType = $PC.refreshmentType>>
-	<<set _newPC.actualAge = $PC.actualAge>>
-	<<set _newPC.physicalAge = $PC.physicalAge>>
-	<<set _newPC.visualAge = $PC.visualAge>>
-	<<set _newPC.ovaryAge = $PC.ovaryAge>>
-	<<set _newPC.ageImplant = $PC.ageImplant>>
-	<<set _newPC.nationality = $PC.nationality>>
-	<<set _newPC.race = $PC.race>>
-	<<set _newPC.origRace = $PC.origRace>>
-	<<set _newPC.skin = $PC.skin>>
-	<<set _newPC.origSkin = $PC.origSkin>>
-	<<set _newPC.markings = $PC.markings>>
-	<<set _newPC.hColor = $PC.hColor>>
-	<<set _newPC.origHColor = $PC.origHColor>>
-	<<set _newPC.origEye = $PC.origEye>> /* needed for compatibility currently */
-	<<set _newPC.eye.origColor = $PC.origEye>>
-	<<set _newPC.eye.left.iris = $PC.eyeColor>>
-	<<set _newPC.eye.left.pupil = $PC.pupil>>
-	<<set _newPC.eye.left.sclera = $PC.sclerae>>
-	<<set _newPC.eye.right.iris = $PC.eyeColor>>
-	<<set _newPC.eye.right.pupil = $PC.pupil>>
-	<<set _newPC.eye.right.sclera = $PC.sclerae>>
-	<<set _newPC.faceShape = $PC.faceShape>>
-	<<set _newPC.skill.trading = $PC.trading>>
-	<<set _newPC.skill.warfare = $PC.warfare>>
-	<<set _newPC.skill.hacking = $PC.hacking>>
-	<<set _newPC.skill.slaving = $PC.slaving>>
-	<<set _newPC.skill.engineering = $PC.engineering>>
-	<<set _newPC.skill.medicine = $PC.medicine>>
-	<<set _newPC.skill.cumTap = $PC.cumTap>>
-	<<set _newPC.father = $PC.father>>
-	<<set _newPC.mother = $PC.mother>>
-	<<set _newPC.sisters = $PC.sisters>>
-	<<set _newPC.daughters = $PC.daughters>>
-	<<set _newPC.counter.birthsTotal = $PC.births>>
-	<<set _newPC.counter.birthElite = $PC.birthElite>>
-	<<set _newPC.counter.birthMaster = $PC.birthMaster>>
-	<<set _newPC.counter.birthDegenerate = $PC.birthDegenerate>>
-	<<set _newPC.counter.birthClient = $PC.birthClient>>
-	<<set _newPC.counter.birthArcOwner = $PC.birthArcOwner>>
-	<<set _newPC.counter.birthCitizen = $PC.birthCitizen>>
-	<<set _newPC.counter.birthFutaSis = $PC.birthFutaSis>>
-	<<set _newPC.counter.birthSelf = $PC.birthSelf>>
-	<<set _newPC.counter.birthLab = $PC.birthLab>>
-	<<set _newPC.counter.birthOther = $PC.birthOther>>
-	<<if def $PC.laborCount>>
-		<<set _newPC.counter.laborCount = $PC.laborCount>>
-	<</if>>
-	<<set _newPC.counter.slavesFathered = $PC.slavesFathered>>
-	<<set _newPC.counter.slavesKnockedUp = $PC.slavesKnockedUp>>
-	<<set _newPC.sexualEnergy = $PC.sexualEnergy>>
-	<<set _newPC.staminaPills = $PC.staminaPills>>
-	<<set _newPC.preg = $PC.preg>>
-	<<set _newPC.pregType = $PC.pregType>>
-	<<set _newPC.pregWeek = $PC.pregWeek>>
-	<<set _newPC.pregKnown = $PC.pregKnown>>
-	<<set _newPC.fertKnown = $PC.fertKnown>>
-	<<set _newPC.fertPeak = $PC.fertPeak>>
-	<<set _newPC.fertDrugs = $PC.fertDrugs>>
-	<<set _newPC.forcedFertDrugs = $PC.forcedFertDrugs>>
-	<<set _newPC.belly = $PC.belly>>
-	<<set _newPC.bellyPreg = $PC.bellyPreg>>
-	<<set _newPC.pregSource = $PC.pregSource>>
-	<<set _newPC.pregMood = $PC.pregMood>>
-	<<set _newPC.labor = $PC.labor>>
-	<<set _newPC.degeneracy = $PC.degeneracy>>
-	<<set _newPC.pubicHStyle = $PC.pubicHStyle>>
-	<<set _newPC.underArmHStyle = $PC.underArmHStyle>>
-	<<if $PC.dick == 1>>
-		<<set _newPC.dick = 4>>
-		<<set _newPC.prostate = 1>>
-		<<if $PC.ballsImplant == 4 || $PC.balls == 4>>
-			<<set _newPC.balls = 30>>
-			<<set _newPC.scrotum = 7>>
-		<<elseif $PC.ballsImplant == 3 || $PC.balls == 3>>
-			<<set _newPC.balls = 14>>
-			<<set _newPC.scrotum = 6>>
-		<<elseif $PC.ballsImplant == 2 || $PC.balls == 2>>
-			<<set _newPC.balls = 9>>
-			<<set _newPC.scrotum = 5>>
-		<<elseif $PC.ballsImplant == 1 || $PC.balls == 1>>
-			<<set _newPC.balls = 5>>
-			<<set _newPC.scrotum = 4>>
-		<<else>>
-			<<set _newPC.balls = 3>>
-			<<set _newPC.scrotum = 3>>
-		<</if>>
-		<<if $PC.ballsImplant > 0>>
-			<<set _newPC.ballsImplant = _newPC.balls-3>>
-		<</if>>
-	<<else>>
-		<<set _newPC.dick = 0>>
-		<<set _newPC.prostate = 0>>
-		<<set _newPC.balls = 0>>
-		<<set _newPC.scrotum = 0>>
-	<</if>>
-	<<set _newPC.newVag = $PC.newVag>>
-	<<if $PC.vagina == 1>>
-		<<set _newPC.ovaries = 1>>
-		<<set _newPC.vaginaLube = 1>>
-		<<if $PC.newVag == 1>>
-			<<set _newPC.vagina = 1>>
-		<<elseif $PC.career == "escort" || $PC.birthsTotal >= 10 || $PC.career == "servant">>
-			<<set _newPC.vagina = 4>>
-		<<elseif $PC.birthsTotal > 2>>
-			<<set _newPC.vagina = 3>>
-		<<elseif $PC.career == "gang" || $PC.career == "celebrity" || $PC.career == "wealth" || $PC.birthsTotal > 0>>
-			<<set _newPC.vagina = 2>>
-		<<else>>
-			<<set _newPC.vagina = 1>>
-		<</if>>
-	<</if>>
-	<<if $PC.boobs == 1>>
-		<<if $PC.boobsBonus == -3>>
-			<<set _newPC.boobs = 400>>
-		<<elseif $PC.boobsBonus == -2>>
-			<<set _newPC.boobs = 500>>
-		<<elseif $PC.boobsBonus == -1>>
-			<<set _newPC.boobs = 700>>
-		<<elseif $PC.boobsBonus == 1>>
-			<<set _newPC.boobs = 1100>>
-		<<elseif $PC.boobsBonus == 2>>
-			<<set _newPC.boobs = 1300>>
-		<<elseif $PC.boobsBonus == 3>>
-			<<set _newPC.boobs = 1500>>
-		<<else>>
-			<<set _newPC.boobs = 900>>
-		<</if>>
-	<<elseif $PC.genes == "XX">>
-		<<set _newPC.boobs = 200>>
-	<<else>>
-		<<set _newPC.boobs = 100>>
-	<</if>>
-	<<if $PC.boobsImplant == 1>>
-		<<set _newPC.boobsImplant = _newPC.boobs-900>>
-	<</if>>
-	<<set _newPC.lactation = $PC.lactation>>
-	<<set _newPC.lactationDuration = $PC.lactationDuration>>
-	<<set _newPC.genes = $PC.genes>>
-	<<if $PC.butt == 3>>
-		<<set _newPC.butt = 5>>
-	<<elseif $PC.butt == 2>>
-		<<set _newPC.butt = 4>>
-	<<elseif $PC.butt == 1>>
-		<<set _newPC.butt = 3>>
-	<<else>>
-		<<set _newPC.butt = 2>>
-	<</if>>
-	<<if $PC.buttImplant == 1>>
-		<<set _newPC.buttImplant = _newPC.butt-2>>
-	<</if>>
-	<<set _newPC.reservedChildren = $PC.reservedChildren>>
-	<<set _newPC.reservedChildrenNursery = $PC.reservedChildrenNursery>>
-	<<set _newPC.geneticQuirks = clone($PC.geneticQuirks)>>
-	<<if $arcologies[0].FSPhysicalIdealist != "unset">>
-		<<set _newPC.muscles = 100>>
-	<<elseif $PC.title == 1>>
-		<<set _newPC.muscles = 50>>
-	<<else>>
-		<<set _newPC.muscles = 30>>
-	<</if>>
-	<<if $PC.title == 0>>
-		<<set _newPC.hLength = 15>>
-		<<set _newPC.waist = -20>>
-		<<set _newPC.voice = 2>>
-		<<set _newPC.shoulders = -1>>
-		<<set _newPC.hips = 1>>
-	<</if>>
-	<<if $PC.career == "escort">>
-		<<set _newPC.anus = 1>>
-		<<set _newPC.clothes = "a slutty outfit">>
-		<<set _newPC.intelligenceImplant = 15>>
-	<<elseif $PC.career == "servant">>
-		<<set _newPC.clothes = "a nice maid outfit">>
-		<<set _newPC.intelligenceImplant = 0>>
-	<</if>>
-	<<if def $PCWounded>>
-		<<set _newPC.majorInjury = $PCWounded>>
-		<<unset $PCWounded>>
-	<</if>>
-	<<if def $girls>>
-		<<if $girls == 1>>
-			<<set _newPC.rules.living = "spare">>
-		<<elseif $girls == 2>>
-			<<set _newPC.rules.living = "normal">>
-		<<else>>
-			<<set _newPC.rules.living = "luxurious">>
-		<</if>>
-		<<unset $girls>>
-	<</if>>
-	<<if def $playerGetsMilked>>
-		<<if $playerGetsMilked == 2>>
-			<<set $PC.rules.lactation = "sell">>
-		<<elseif $playerGetsMilked == 1>>
-			<<set $PC.rules.lactation = "maintain">>
-		<</if>>
-		<<unset $playerGetsMilked>>
-	<</if>>
-
-	<<set WombInit(_newPC)>>
-
-	<<set $PC = clone(_newPC)>>
-	Standardizing player object... Done!<br>
-<</if>>
-
-<<run PCDatatypeCleanup()>>
-
-<<run BCReserveInit()>>
-
-<<if ndef $universalRulesImmobileSlavesMaintainMuscles>>
-	<<set $universalRulesImmobileSlavesMaintainMuscles = 0>>
-<</if>>
-<<if ndef $universalRulesChildrenBecomeBreeders>>
-	<<set $universalRulesChildrenBecomeBreeders = 0>>
-<</if>>
-<<if ndef $surnamesForbidden>>
-	<<set $surnamesForbidden = 0>>
-<</if>>
-<<if ndef $FSNamePref>>
-	<<set $FSNamePref = 0>>
-<</if>>
-<<if ndef $meshImplants>>
-	<<set $meshImplants = 0>>
-<</if>>
-<<if ndef $BasicWeightSMR>>
-	<<set $BasicWeightSMR = 0>>
-<</if>>
-<<if def $BasicTallSMR>>
-	<<unset $BasicTallSMR>>
-	<<set $BasicHeightSMR = 1>>
-<</if>>
-<<if def $BasicShortSMR>>
-	<<unset $BasicShortSMR>>
-	<<set $BasicHeightSMR = -1>>
-<</if>>
-<<if ndef $BasicHeightSMR>>
-	<<set $BasicHeightSMR = 0>>
-<</if>>
-<<if ndef $AdvancedHeightSMR>>
-	<<set $AdvancedHeightSMR = 0>>
-<</if>>
-<<if ndef $toysBoughtDildos>>
-	<<set $toysBoughtDildos = 0>>
-<</if>>
-<<if ndef $toysBoughtGags>>
-	<<set $toysBoughtGags = 0>>
-<</if>>
-<<if ndef $toysBoughtVaginalAttachments>>
-	<<set $toysBoughtVaginalAttachments = 0>>
-<</if>>
-<<if ndef $toysBoughtButtPlugs>>
-	<<set $toysBoughtButtPlugs = 0>>
-<</if>>
-<<if ndef $toysBoughtButtPlugTails>>
-	<<set $toysBoughtButtPlugTails = 0>>
-<</if>>
-<<if ndef $toysBoughtSmartVibes>>
-	<<set $toysBoughtSmartVibes = 0>>
-<</if>>
-<<if ndef $buckets>>
-	<<set $buckets = 0>>
-<</if>>
-<<if ndef $menstruation>>
-	<<set $menstruation = 0>>
-<</if>>
-<<if ndef $FCTVenable>>
-	<<set $FCTVenable = 1>>
-<</if>>
-<<if ndef $FCTVreceiver>>
-	<<set $FCTVreceiver = 0>>
-<</if>>
-<<if ndef $receiverAvailable>>
-	<<set $receiverAvailable = 0>>
-<</if>>
-<<if ndef $FCTVshow>>
-	<<set $FCTVshow = 0>>
-<</if>>
-<<if ndef $FCTVremote>>
-	<<set $FCTVremote = 0>>
-<</if>>
-<<if ndef $FCTVrate>>
-	<<set $FCTVrate = 2>>
-<</if>>
-<<if ndef $FCTVcount>>
-	<<set $FCTVcount = 0>>
-<</if>>
-<<if ndef $lastShow>>
-	<<set $lastShow = -1>>
-<</if>>
-<<if ndef $purchasedSagBGone>>
-	<<set $purchasedSagBGone = 0>>
-<</if>>
-<<if ndef $FCNNstation>>
-	<<set $FCNNstation = 0>>
-<</if>>
-<<if ndef $breederOrphanageTotal>>
-	<<set $breederOrphanageTotal = 0>>
-<</if>>
-<<if ndef $newDescriptions>>
-	<<set $newDescriptions = 0>>
-<</if>>
-<<if ndef $specialSlavesPriceOverride>>
-	<<set $specialSlavesPriceOverride = 0>>
-<</if>>
-<<if ndef $pregAccessibility>>
-	<<set $pregAccessibility = 0>>
-<</if>>
-<<if ndef $dickAccessibility>>
-	<<set $dickAccessibility = 0>>
-<</if>>
-<<if ndef $ballsAccessibility>>
-	<<set $ballsAccessibility = 0>>
-<</if>>
-<<if ndef $buttAccessibility>>
-	<<set $buttAccessibility = 0>>
-<</if>>
-<<if ndef $loliGrow>>
-	<<set $loliGrow = 0>>
-<</if>>
-<<if ndef $ageMode>>
-	<<set $ageMode = 0>>
-<</if>>
-<<if ndef $enema>>
-	<<set $enema = 0>>
-<</if>>
-<<if ndef $medicalEnema>>
-	<<set $medicalEnema = 0>>
-<</if>>
-<<if ndef $dairyPiping>>
-	<<set $dairyPiping = 0>>
-<</if>>
-<<if ndef $inflatedSlavesMilk>>
-	<<set $inflatedSlavesMilk = 0>>
-<</if>>
-<<if ndef $inflatedSlavesCum>>
-	<<set $inflatedSlavesCum = 0>>
-<</if>>
-<<if ndef $milkPipeline>>
-	<<set $milkPipeline = 0>>
-<</if>>
-<<if ndef $cumPipeline>>
-	<<set $cumPipeline = 0>>
-<</if>>
-<<if ndef $wcPiping>>
-	<<set $wcPiping = 0>>
-<</if>>
-<<if ndef $burstee>>
-	<<set $burstee = 0>>
-<</if>>
-<<if ndef $slaveDeath>>
-	<<set $slaveDeath = 0>>
-<</if>>
-<<if ndef $playerBred>>
-	<<set $playerBred = 0>>
-<</if>>
-<<if ndef $propOutcome>>
-	<<set $propOutcome = 0>>
-<</if>>
-<<if ndef $EliteSires>>
-	<<set $EliteSires = ["crazy", "futa", "moves", "preggo", "quick", "virgin"]>>
-<</if>>
-<<if ndef $startingPoint>>
-	<<set $startingPoint = -1>>
-<</if>>
-<<if ndef $raped>>
-	<<set $raped = -1>>
-<</if>>
-<<if ndef $familyTesting>>
-	<<set $familyTesting = 0>>
-<</if>>
-<<if ndef $children>>
-	<<set $children = []>>
-<</if>>
-<<if ndef $missingParentID>>
-	<<set $missingParentID = -10000>>
-<</if>>
-<<if def $startingSlaveRelative>>
-	<<unset $startingSlaveRelative>>
-<</if>>
-<<if ndef $mom>>
-	<<set $mom = 0>>
-<</if>>
-<<if def $animalParts>>
-	<<unset $animalParts = 0>>
-<</if>>
-<<if def $showBestiality>>
-	<<unset $showBestiality>>
-<</if>>
-<<if ndef $seeBestiality>>
-	<<set $seeBestiality = 0>>
-<</if>>
-<<if ndef $seePee>>
-	<<set $seePee = 1>>
-<</if>>
-<<if ndef $seeIncest>>
-	<<set $seeIncest = 1>>
-<</if>>
-<<if ndef $extremeUnderage>>
-	<<set $extremeUnderage = 0>>
-<</if>>
-<<if ndef $inbreeding>>
-	<<set $inbreeding = 1>>
-<</if>>
-<<if ndef $originOveride>>
-	<<set $originOveride = 0>>
-<</if>>
-<<if ndef $playerAging>>
-	<<set $playerAging = 2>>
-<</if>>
-<<if ndef $pregSpeedControl>>
-	<<set $pregSpeedControl = 0>>
-<</if>>
-<<if ndef $playerSurgery>>
-	<<set $playerSurgery = 0>>
-<</if>>
-<<if ndef $bodyswapAnnounced>>
-	<<set $bodyswapAnnounced = 0>>
-<</if>>
-<<if ndef $allowFamilyTitles>>
-	<<set $allowFamilyTitles = 0>>
-<</if>>
-<<if ndef $randShow>>
-	<<set $randShow = 0>>
-<</if>>
-<<if ndef $genePool>>
-	<<set $genePool = []>>
-<</if>>
-<<if ndef $useSummaryCache>>
-	<<set $useSummaryCache = true>>
-<</if>>
-<<if ndef $seeHyperPreg>>
-	<<set $seeHyperPreg = 0>>
-<</if>>
-<<if ndef $seePreg>>
-	<<set $seePreg = 1>>
-<</if>>
-<<if ndef $adamPrinciple>>
-	<<set $adamPrinciple = 0>>
-<</if>>
-<<if ndef $seeDicksAffectsPregnancy>>
-	<<set $seeDicksAffectsPregnancy = 1>>
-<</if>>
-<<if ndef $dangerousPregnancy>>
-	<<set $dangerousPregnancy = 1>>
-<</if>>
-<<if def $dangerousPregancy>>
-	<<unset $dangerousPregancy>>
-<</if>>
-<<if ndef $retainCareer>>
-	<<set $retainCareer = 1>>
-<</if>>
-<<if ndef $freshPC>>
-	<<set $freshPC = 0>>
-<</if>>
-<<if ndef $killChoice>>
-	<<set $killChoice = -1>>
-<</if>>
-<<if ndef $schoolroomRemodelBimbo>>
-	<<set $schoolroomRemodelBimbo = 0>>
-<</if>>
-<<if ndef $incubator>>
-	<<set $incubator = 0>>
-<</if>>
-<<if ndef $incubatorSlaves>>
-	<<set $incubatorSlaves = 0>>
-<</if>>
-<<if ndef $incubatorOrgans>>
-	<<set $incubatorOrgans = []>>
-<</if>>
-<<if ndef $incubatorOldID>>
-	<<set $incubatorOldID = 0>>
-<</if>>
-<<if ndef $incubatorUpgradeSpeed>>
-	<<set $incubatorUpgradeSpeed = 5>>
-<</if>>
-<<if ndef $incubatorUpgradeWeight>>
-	<<set $incubatorUpgradeWeight = 0>>
-<</if>>
-<<if ndef $incubatorUpgradeMuscles>>
-	<<set $incubatorUpgradeMuscles = 0>>
-<</if>>
-<<if ndef $incubatorUpgradeReproduction>>
-	<<set $incubatorUpgradeReproduction = 0>>
-<</if>>
-<<if ndef $incubatorUpgradeGrowthStims>>
-	<<set $incubatorUpgradeGrowthStims = 0>>
-<</if>>
-<<if ndef $incubatorUpgradeOrgans>>
-	<<set $incubatorUpgradeOrgans = 0>>
-<</if>>
-<<if ndef $incubatorImprintSetting>>
-	<<set $incubatorImprintSetting = 0>>
-<</if>>
-<<if ndef $incubatorWeightSetting>>
-	<<set $incubatorWeightSetting = 0>>
-<</if>>
-<<if ndef $incubatorMusclesSetting>>
-	<<set $incubatorMusclesSetting = 0>>
-<</if>>
-<<if ndef $incubatorReproductionSetting>>
-	<<set $incubatorReproductionSetting = 0>>
-<</if>>
-<<if ndef $incubatorGrowthStimsSetting>>
-	<<set $incubatorGrowthStimsSetting = 0>>
-<</if>>
-<<if ndef $reservedChildren>>
-	<<set $reservedChildren = 0>>
-<</if>>
-<<if ndef $tanks>>
-	<<set $tanks = []>>
-<</if>>
-/% Nursery Subsection %/
-<<if ndef $nursery>>
-	<<set $nursery = 0>>
-<</if>>
-<<if ndef $nIDNumber>>
-	<<set $nIDNumber = 1>>
-<</if>>
-<<if ndef $nurseryNannies>>
-	<<set $nurseryNannies = 0>>
-<</if>>
-<<if ndef $nurseryBabies>>
-	<<set $nurseryBabies = 0>>
-<</if>>
-<<if ndef $Matron>>
-	<<set $Matron = 0>>
-<</if>>
-<<if ndef $activeChild>>
-	<<set $activeChild = 0>>
-<</if>>
-<<if ndef $nannyInfluence>>
-	<<set $nannyInfluence = 0>>
-<</if>>
-<<if ndef $MatronInfluence>>
-	<<set $MatronInfluence = 0>>
-<</if>>
-<<if ndef $nurseryWeight>>
-	<<set $nurseryWeight = 0>>
-<</if>>
-<<if ndef $nurseryMuscles>>
-	<<set $nurseryMuscles = 0>>
-<</if>>
-<<if ndef $nurseryHormones>>
-	<<set $nurseryHormones = 0>>
-<</if>>
-<<if ndef $nurseryOrgans>>
-	<<set $nurseryOrgans = 0>>
-<</if>>
-<<if ndef $nurseryImprintSetting>>
-	<<set $nurseryImprintSetting = 0>>
-<</if>>
-<<if ndef $nurseryWeightSetting>>
-	<<set $nurseryWeightSetting = 0>>
-<</if>>
-<<if ndef $nurseryMusclesSetting>>
-	<<set $nurseryMusclesSetting = 0>>
-<</if>>
-<<if ndef $nurseryHormonesSetting>>
-	<<set $nurseryHormonesSetting = 0>>
-<</if>>
-<<if ndef $nurseryGrowthStimsSetting>>
-	<<set $nurseryGrowthStimsSetting = 0>>
-<</if>>
-<<if ndef $reservedChildrenNursery>>
-	<<set $reservedChildrenNursery = 0>>
-<</if>>
-<<if ndef $cribs>>
-	<<set $cribs = []>>
-<</if>>
-<<if ndef $cribsFreed>>
-	<<set $cribsFreed = []>>
-<</if>>
-<<if ndef $childSex>>
-	<<set $childSex = 0>>
-<</if>>
-<<if ndef $childProtectionAct>>
-	<<set $childProtectionAct = 1>>
-<</if>>
-
-/% Farmyard Subsection %/
-<<if ndef $Farmer>>
-	<<set $Farmer = 0>>
-<</if>>
-<<if ndef $farmyard>>
-	<<set $farmyard = 0>>
-<</if>>
-<<if ndef $farmyardShowgirls>>
-	<<set $farmyardShowgirls = []>>
-<</if>>
-<<if ndef $farmyardFarmers>>
-	<<set $farmyardFarmers = []>>
-<</if>>
-<<if ndef $farmMenials>>
-	<<set $farmMenials = 0>>
-<</if>>
-<<if ndef $farmMenialsSpace>>
-	<<set $farmMenialsSpace = 0>>
-<</if>>
-<<if ndef $farmyardUpgrade>>
-	<<set $farmyardUpgrade = {pump: 0, fertilizer: 0, hydroponics: 0, machinery: 0, seeds: 0, lab: 0}>>
-<</if>>
-<<if def $farmyardUpgradeList>>
-	<<unset $farmyardUpgradeList = []>>
-<</if>>
-<<if ndef $farmyardCrops>>
-	<<set $farmyardCrops = 0>>
-<</if>>
-<<if ndef $farmyardKennels>>
-	<<set $farmyardKennels = 0>>
-<</if>>
-<<if ndef $farmyardStable>>
-	<<set $farmyardStable = 0>>
-<</if>>
-<<if ndef $farmyardCages>>
-	<<set $farmyardCages = 0>>
-<</if>>
-<<if ndef $farmyardLab>>
-	<<set $farmyardLab = 0>>
-<</if>>
-<<if ndef $farmyardLabUpgrades>>
-	<<set $farmyardLabUpgrades = {animalOvaries: 0, animalTesticles: 0, animalMpreg: 0}>>
-<</if>>
-<<if ndef $animalsBought>>
-	<<set $animalsBought = {}>>
-<</if>>
-<<set _animalsBought = ["canines", "hooved", "felines", "labradorRetrievers", "germanShepherds", "goldenRetrievers", "frenchBulldogs", "bulldogs", "beagles", "poodles", "rottweilers", "yorkshireTerriers", "siberianHuskies", "horses", "bulls", "pigs", "siameses", "persians", "maineCoons", "ragdolls", "bengals", "abbysinians", "birmans", "orientalShorthairs", "sphynxes", "russianBlues", "wolves", "foxes", "jackals", "dingos", "zebras", "cougars", "jaguars", "pumas", "lynx", "leopards", "lions", "tigers"]>>
-<<run _animalsBought.forEach(function(species) { $animalsBought[species] = $animalsBought[species] || 0 ; })>>
-<<if ndef $canines>>
-	<<set $canines = []>>
-<</if>>
-<<if ndef $hooved>>
-	<<set $hooved = []>>
-<</if>>
-<<if ndef $felines>>
-	<<set $felines = []>>
-<</if>>
-<<if def $boughtCanines>>
-	<<unset $boughtCanines>>
-<</if>>
-<<if def $boughtFelines>>
-	<<unset $boughtFelines>>
-<</if>>
-<<if def $defaultCanine>>
-	<<unset $defaultCanine = "wolf">>
-<</if>>
-<<if def $defaultHooved>>
-	<<unset $defaultHooved = "horse">>
-<</if>>
-<<if def $defaultFeline>>
-	<<unset $defaultFeline = "cougar">>
-<</if>>
-<<if def $defaultCaninePlural>>
-	<<unset $defaultCaninePlural = "wolves">>
-<</if>>
-<<if def $defaultHoovedPlural>>
-	<<unset $defaultHoovedPlural = "horses">>
-<</if>>
-<<if def $defaultFelinePlural>>
-	<<unset $defaultFelinePlural = "cougars">>
-<</if>>
-<<if ndef $activeCanine>>
-	<<set $activeCanine = 0>>
-<</if>>
-<<if ndef $activeHooved>>
-	<<set $activeHooved = 0>>
-<</if>>
-<<if ndef $activeFeline>>
-	<<set $activeFeline = 0>>
-<</if>>
-<<if def $boughtWolves>>
-	<<unset $boughtWolves>>
-<</if>>
-<<if def $boughtFoxes>>
-	<<unset $boughtFoxes>>
-<</if>>
-<<if def $boughtJackals>>
-	<<unset $boughtJackals>>
-<</if>>
-<<if def $boughtDingos>>
-	<<unset $boughtDingos>>
-<</if>>
-<<if def $boughtCougars>>
-	<<unset $boughtCougars>>
-<</if>>
-<<if def $boughtJaguars>>
-	<<unset $boughtJaguars>>
-<</if>>
-<<if def $boughtPumas>>
-	<<unset $boughtPumas>>
-<</if>>
-<<if def $boughtLynx>>
-	<<unset $boughtLynx>>
-<</if>>
-<<if def $boughtLeopards>>
-	<<unset $boughtLeopards>>
-<</if>>
-<<if def $boughtLions>>
-	<<unset $boughtLions>>
-<</if>>
-<<if def $boughtTigers>>
-	<<unset $boughtTigers>>
-<</if>>
-
-<<if ndef $legendaryWombID>>
-	<<set $legendaryWombID = 0>>
-<</if>>
-<<if ndef $FSCreditCount>>
-	<<set $FSCreditCount = 5>>
-<</if>>
-<<if def $FSCreditCountString>>
-	<<unset $FSCreditCountString>>
-<</if>>
-<<if ndef $FSGotRepCredits>>
-	<<if $FSGotRepCreditSix == 1>>
-		<<set $FSGotRepCredits = 7>>
-	<<elseif $FSGotRepCreditFive == 1>>
-		<<set $FSGotRepCredits = 6>>
-	<<elseif $FSGotRepCreditFour == 1>>
-		<<set $FSGotRepCredits = 5>>
-	<<elseif $FSGotRepCreditThree == 1>>
-		<<set $FSGotRepCredits = 4>>
-	<<elseif $FSGotRepCreditTwo == 1>>
-		<<set $FSGotRepCredits = 3>>
-	<<elseif $FSGotRepCreditOne == 1>>
-		<<set $FSGotRepCredits = 2>>
-	<<elseif $FSAnnounced == 1>>
-		<<set $FSGotRepCredits = 1>>
-	<<else>>
-		<<set $FSGotRepCredits = 0>>
-	<</if>>
-<</if>>
-<<if def $FSGotRepCreditSix>>
-	<<unset $FSGotRepCreditSix>>
-<</if>>
-<<if def $FSGotRepCreditFive>>
-	<<unset $FSGotRepCreditFive>>
-<</if>>
-<<if def $FSGotRepCreditFour>>
-	<<unset $FSGotRepCreditFour>>
-<</if>>
-<<if def $FSGotRepCreditThree>>
-	<<unset $FSGotRepCreditThree>>
-<</if>>
-<<if def $FSGotRepCreditTwo>>
-	<<unset $FSGotRepCreditTwo>>
-<</if>>
-<<if def $FSGotRepCreditOne>>
-	<<unset $FSGotRepCreditOne>>
-<</if>>
-<<if ndef $makeDicks>>
-	<<set $makeDicks = 0>>
-<</if>>
-<<if ndef $showEconomicDetails>>
-	<<set $showEconomicDetails = 0>>
-<</if>>
-<<if def $assignFilter>>
-	<<unset $assignFilter>>
-<</if>>
-<<if ndef $personalAttention>>
-	<<set $personalAttention = "sex">>
-<</if>>
-<<if def $trainingRegimen>>
-	<<if typeof $personalAttention == "number">>
-		<<set $personalAttention = [{ID: $personalAttention, trainingRegimen: $trainingRegimen}]>>
-	<</if>>
-	<<unset $trainingRegimen, $personalAttentionChanged>>
-<</if>>
-
-<<if ndef $huskSlaveOrdered>>
-	<<set $huskSlaveOrdered = 0>>
-<</if>>
-<<if ndef $huskSlave>>
-	<<set $huskSlave = new App.Entity.CustomSlaveOrder()>>
-<</if>>
-<<run App.Update.CustomSlaveOrder($huskSlave)>>
-<<run App.Update.CustomSlaveOrder($customSlave)>>
-
-<<if ndef $pedo_mode>>
-	<<set $pedo_mode = 0>>
-<</if>>
-<<if ndef $one_time_age_overrides_pedo_mode>>
-	<<set $one_time_age_overrides_pedo_mode = 0>>
-<</if>>
-<<if ndef $minimumSlaveAge>>
-	<<set $minimumSlaveAge = 16>>
-<</if>>
-<<if ndef $fertilityAge>>
-	<<set $fertilityAge = 13>>
-<</if>>
-<<if ndef $potencyAge>>
-	<<set $potencyAge = 13>>
-<</if>>
-<<if ndef $activeSlaveOneTimeMinAge>>
-	<<set $activeSlaveOneTimeMinAge = 0>>
-<</if>>
-<<if ndef $activeSlaveOneTimeMaxAge>>
-	<<set $activeSlaveOneTimeMaxAge = 999>>
-<</if>>
-<<if ndef $oneTimeDisableDisability>>
-	<<set $oneTimeDisableDisability = 0>>
-<</if>>
-<<if ndef $AgePenalty>>
-	<<set $AgePenalty = 1>>
-<</if>>
-<<if ndef $precociousPuberty>>
-	<<set $precociousPuberty = 0>>
-<</if>>
-<<if ndef $targetAge>>
-	<<set $targetAge = $minimumSlaveAge>>
-<</if>>
-<<if ndef $disableLisping>>
-	<<set $disableLisping = 0>>
-<</if>>
-<<if ndef $cheatModeM>>
-	<<set $cheatModeM = 1>>
-<</if>>
-<<if ndef $experimental>>
-	<<set $experimental = {
-		nursery: 0,
-		food: 0,
-		animalOvaries: 0,
-		dinnerParty: 0
-	}>>
-<</if>>
-<<if ndef $MercenariesMessageSent>>
-	<<set $MercenariesMessageSent = 0>>
-<</if>>
-<<if ndef $SpecialForcesMessageSent>>
-	<<set $SpecialForcesMessageSent = 0>>
-<</if>>
-<<if ndef $BodyguardHasSucessfullyRecivedSignal>>
-	<<set $BodyguardHasSucessfullyRecivedSignal = 0>>
-<</if>>
-<<if ndef $finalChoice>>
-	<<set $finalChoice = "none">>
-<</if>>
-<<if ndef $eliteTotal>>
-	<<set $eliteTotal = 12>>
-<</if>>
-<<if ndef $eliteDead>>
-	<<set $eliteDead = 0>>
-<</if>>
-<<if ndef $eliteVegetable>>
-	<<set $eliteVegetable = 0>>
-<</if>>
-<<if ndef $eliteFate>>
-	<<set $eliteFate = 0>>
-<</if>>
-<<if ndef $eliteFail>>
-	<<set $eliteFail = 0>>
-<</if>>
-<<if ndef $eliteFailTimer>>
-	<<set $eliteFailTimer = 0>>
-<</if>>
-<<if ndef $failedElite>>
-	<<set $failedElite = 0>>
-<</if>>
-<<if ndef $eugenicsFullControl>>
-	<<set $eugenicsFullControl = 0>>
-<</if>>
-<<if ndef $merchantFSWares>>
-	<<set $merchantFSWares = ["AssetExpansionistResearch", "GenderRadicalistResearch", "HedonisticDecadenceResearch", "SlaveProfessionalismResearch", "SlimnessEnthusiastResearch", "TransformationFetishistResearch", "YouthPreferentialistResearch"]>>
-<<elseif $merchantFSWares.length == 0>>
-	<<set $merchantFSWares.push("AssetExpansionistResearch")>>
-	<<set $merchantFSWares.push("GenderRadicalistResearch")>>
-	<<set $merchantFSWares.push("HedonisticDecadenceResearch")>>
-	<<set $merchantFSWares.push("SlaveProfessionalismResearch")>>
-	<<set $merchantFSWares.push("SlimnessEnthusiastResearch")>>
-	<<set $merchantFSWares.push("TransformationFetishistResearch")>>
-	<<set $merchantFSWares.push("YouthPreferentialistResearch")>>
-<</if>>
-<<if ndef $merchantIllegalWares>>
-	<<set $merchantIllegalWares = ["asexualReproduction", "childhoodFertilityInducedNCS", "PGHack", "RapidCellGrowthFormula", "sympatheticOvaries", "UterineRestraintMesh"]>>
-<<elseif $merchantIllegalWares.length == 0>>
-	<<set $merchantIllegalWares.push("childhoodFertilityInducedNCS")>>
-	<<set $merchantIllegalWares.push("UterineRestraintMesh")>>
-	<<set $merchantIllegalWares.push("RapidCellGrowthFormula")>>
-	<<set $merchantIllegalWares.push("PGHack")>>
-	<<set $merchantIllegalWares.push("sympatheticOvaries")>>
-	<<set $merchantIllegalWares.push("asexualReproduction")>>
-<</if>>
-<<if ndef $arcologies[0].childhoodFertilityInducedNCSResearch>>
-	<<set $arcologies[0].childhoodFertilityInducedNCSResearch = 0>>
-<</if>>
-<<if $arcologies[0].childFertilityInducedNCSResearch>>
-	<<unset $arcologies[0].childFertilityInducedNCSResearch>>
-<</if>>
-<<if ndef $UterineRestraintMesh>>
-	<<set $UterineRestraintMesh = 0>>
-<</if>>
-<<if ndef $RapidCellGrowthFormula>>
-	<<set $RapidCellGrowthFormula = 0>>
-<</if>>
-<<if ndef $PGHack>>
-	<<set $PGHack = 0>>
-<</if>>
-<<if ndef $adamPrinciple>>
-	<<set $adamPrinciple = 0>>
-<</if>>
-<<if ndef $showInches || $showInches === 0>>
-	<<set $showInches = 1>>
-<</if>>
-<<if ndef $showNumbers>>
-	<<set $showNumbers = 2>>
-<</if>>
-<<if ndef $showNumbersMax>>
-	<<set $showNumbersMax = 20>>
-<</if>>
-<<if def $showWardrobe>>
-	<<unset $showWardrobe>>
-<</if>>
-<<if def $showMainClothing>>
-	<<unset $showMainClothing>>
-<</if>>
-<<if ndef $surnameOrder>>
-	<<set $surnameOrder = 0>>
-<</if>>
-<<if ndef $prisonCircuit>>
-	<<set $prisonCircuit = ["low tier criminals", "gangs and smugglers", "white collar", "military prison"]>>
-	<<set $prisonCircuitIndex = random(0,$prisonCircuit.length-1)>>
-<</if>>
-<<if $captureUpgradeRace === "">>
-	<<set $generalUpgradeBreaking = "unselected">>
-	<<set $generalUpgradeWeight = "unselected">>
-	<<set $generalUpgradeMuscle = "unselected">>
-	<<set $entrapmentUpgradeDevotionOne = "unselected">>
-	<<set $entrapmentUpgradeDevotionTwo = "unselected">>
-	<<set $entrapmentUpgradeIntelligence = "unselected">>
-	<<set $captureUpgradeGender = "unselected">>
-	<<set $surgicalUpgradeGenitalia = "unselected">>
-	<<set $captureUpgradeAge = "unselected">>
-	<<set $captureUpgradeRace = "unselected">>
-	<<set $trainingUpgradeAccent = "unselected">>
-	<<set $trainingUpgradeEducation = "unselected">>
-	<<set $trainingUpgradeSexEd = "unselected">>
-	<<set $surgicalUpgradeCosmetics = "unselected">>
-	<<set $surgicalUpgradeImplants = "unselected">>
-	<<set $drugUpgradeHormones = "unselected">>
-	<<set $drugUpgradeInjectionOne = "unselected">>
-	<<set $drugUpgradeInjectionTwo = "unselected">>
-<</if>>
-<<if ndef $traitorType>>
-	<<set $traitorType = "standard">>
-<</if>>
-
-<<= App.SF.BC()>>
-
-<<if ndef $useSlaveSummaryTabs>>
-	<<set $useSlaveSummaryTabs = 0>>
-<</if>>
-<<if ndef $useSlaveSummaryOverviewTab>>
-	<<set $useSlaveSummaryOverviewTab = 0>>
-<</if>>
-<<if ndef $useSlaveListInPageJSNavigation>>
-	<<set $useSlaveListInPageJSNavigation = 0>>
-<</if>>
-
-<<if ndef $arcologies[0].FSAztecRevivalist>>
-	<<for _bci = 0; _bci < $arcologies.length; _bci++>>
-		<<set $arcologies[_bci].FSAztecRevivalist = "unset", $arcologies[_bci].FSAztecRevivalistDecoration = 0>>
-	<</for>>
-	<<set $arcologies[0].FSAztecRevivalistLaw = 0, $arcologies[0].FSAztecRevivalistSMR = 0>>
-<</if>>
-<<if ndef $arcologies[0].FSHedonisticDecadence>>
-	<<for _bci = 0; _bci < $arcologies.length; _bci++>>
-		<<set $arcologies[_bci].FSHedonisticDecadence = "unset", $arcologies[_bci].FSHedonisticDecadenceDecoration = 0>>
-	<</for>>
-	<<set $arcologies[0].FSHedonisticDecadenceLaw = 0, $arcologies[0].FSHedonisticDecadenceLaw2 = 0, $arcologies[0].FSHedonisticDecadenceSMR = 0, $arcologies[0].FSHedonisticDecadenceResearch = 0>>
-<</if>>
-<<if ndef $arcologies[0].FSHedonisticDecadenceDietResearch>>
-	<<set $arcologies[0].FSHedonisticDecadenceDietResearch = 0>>
-<</if>>
-<<if ndef $arcologies[0].FSPhysicalIdealistStrongFat>>
-	<<set $arcologies[0].FSPhysicalIdealistStrongFat = 0>>
-<</if>>
-<<if ndef $arcologies[0].FSHedonisticDecadenceStrongFat>>
-	<<set $arcologies[0].FSHedonisticDecadenceStrongFat = 0>>
-<</if>>
-<<if ndef $arcologies[0].FSIntellectualDependency>>
-	<<for _bci = 0; _bci < $arcologies.length; _bci++>>
-		<<set $arcologies[_bci].FSIntellectualDependency = "unset", $arcologies[_bci].FSIntellectualDependencyDecoration = 0>>
-	<</for>>
-	<<set $arcologies[0].FSIntellectualDependencyLaw = 0, $arcologies[0].FSIntellectualDependencyLawBeauty = 0, $arcologies[0].FSIntellectualDependencySMR = 0, $arcologies[0].FSIntellectualDependencyResearch = 0>>
-<</if>>
-<<if ndef $arcologies[0].FSSlaveProfessionalism>>
-	<<for _bci = 0; _bci < $arcologies.length; _bci++>>
-		<<set $arcologies[_bci].FSSlaveProfessionalism = "unset", $arcologies[_bci].FSSlaveProfessionalismDecoration = 0>>
-	<</for>>
-	<<set $arcologies[0].FSSlaveProfessionalismLaw = 0, $arcologies[0].FSSlaveProfessionalismSMR = 0, $arcologies[0].FSSlaveProfessionalismResearch = 0>>
-<</if>>
-<<if ndef $arcologies[0].FSPetiteAdmiration>>
-	<<for _bci = 0; _bci < $arcologies.length; _bci++>>
-		<<set $arcologies[_bci].FSPetiteAdmiration = "unset", $arcologies[_bci].FSPetiteAdmirationDecoration = 0>>
-	<</for>>
-	<<set $arcologies[0].FSPetiteAdmirationLaw = 0, $arcologies[0].FSPetiteAdmirationLaw2 = 0, $arcologies[0].FSPetiteAdmirationSMR = 0, $arcologies[0].FSPetiteAdmirationResearch = 0>>
-<</if>>
-<<if ndef $arcologies[0].FSStatuesqueGlorification>>
-	<<for _bci = 0; _bci < $arcologies.length; _bci++>>
-		<<set $arcologies[_bci].FSStatuesqueGlorification = "unset", $arcologies[_bci].FSStatuesqueGlorificationDecoration = 0>>
-	<</for>>
-	<<set $arcologies[0].FSStatuesqueGlorificationLaw = 0, $arcologies[0].FSStatuesqueGlorificationLaw2 = 0, $arcologies[0].FSStatuesqueGlorificationSMR = 0, $arcologies[0].FSStatuesqueGlorificationResearch = 0>>
-<</if>>
-<<if ndef $arcologies[0].FSCummunism>>
-	<<for _bci = 0; _bci < $arcologies.length; _bci++>>
-		<<set $arcologies[_bci].FSCummunism = "unset", $arcologies[_bci].FSCummunismDecoration = 0>>
-	<</for>>
-	<<set $arcologies[0].FSCummunismResearch = 0>>
-<</if>>
-<<if ndef $arcologies[0].FSIncestFetishist>>
-	<<for _bci = 0; _bci < $arcologies.length; _bci++>>
-		<<set $arcologies[_bci].FSIncestFetishist = "unset", $arcologies[_bci].FSIncestFetishistDecoration = 0>>
-	<</for>>
-	<<set $arcologies[0].FSIncestFetishistResearch = 0>>
-<</if>>
-<<for _bci = 0; _bci < $arcologies.length; _bci++>>
-	<<if $arcologies[_bci].FSHedonisticDecadence == 0>>
-		<<set $arcologies[_bci].FSHedonisticDecadence = "unset", $arcologies[_bci].FSHedonisticDecadenceDecoration = 0>>
-	<</if>>
-<</for>>
-<<if ndef $arcologies[0].FSPhysicalIdealistLaw>>
-	<<set $arcologies[0].FSPhysicalIdealistLaw = 0>>
-<</if>>
-
-<<if ndef $FSPromenade>>
-	<<set $FSPromenade = {Subjugationist: 0, Supremacist: 0, GenderRadicalist: 0, GenderFundamentalist: 0, Paternalist: 0, Degradationist: 0, BodyPurist: 0, TransformationFetishist: 0, YouthPreferentialist: 0, MaturityPreferentialist: 0, SlimnessEnthusiast: 0, AssetExpansionist: 0, Pastoralist: 0, PhysicalIdealist: 0, ChattelReligionist: 0, RomanRevivalist: 0, AztecRevivalist: 0, EgyptianRevivalist: 0, EdoRevivalist: 0, ArabianRevivalist: 0, ChineseRevivalist: 0, Repopulationist: 0, Eugenics: 0, Hedonism: 0, IntellectualDependency: 0, SlaveProfessionalism: 0, PetiteAdmiration: 0, StatuesqueGlorification: 0}>>
-<</if>>
-
-<<if ndef $arcologyUpgrade>>
-	<<set $arcologyUpgrade = {drones: 0, hydro: 0, apron: 0, grid: 0, spire: 0}>>
-	<<set $arcologyUpgrade.drones = ($AProsperityCap > 60) ? 1 : 0>>
-	<<set $arcologyUpgrade.hydro = ($AProsperityCap > 80) ? 1 : 0>>
-	<<set $arcologyUpgrade.apron = ($AProsperityCap > 100) ? 1 : 0>>
-	<<set $arcologyUpgrade.grid = ($AProsperityCap > 120) ? 1 : 0>>
-	<<set $arcologyUpgrade.spire = ($AProsperityCap > 240) ? 1 : 0>>
-<</if>>
-
-<<if def $AMenials>>
-	<<set $ASlaves += Math.trunc($AMenials / 2)>>
-	<<unset $AMenials>>
-<</if>>
-
-<<if def $helots>>
-	<<set $menials = $helots>>
-	<<unset $helots>>
-<</if>>
-<<if def $TradeShowHelots>>
-	<<set $TradeShowMenials = $TradeShowHelots>>
-	<<unset $TradeShowHelots>>
-<</if>>
-
-<<if ndef $seeBuilding>>
-	<<set $seeBuilding = $seeArcology>>
-<</if>>
-
-<<if def $year>>
-	<<unset $year>>
-<</if>>
-<<if def $day>>
-	<<unset $day>>
-<</if>>
-<<if def $month>>
-	<<unset $month>>
-<</if>>
-
-<<if ndef $arcologies>>
-	<<set $arcologies = []>>
-	<<set $arcologies[0] = {name: "Arcology X-", direction: 0, government: 1, honeymoon: 0, prosperity: 50, FSSupremacist: "unset", FSSupremacistRace: 0, FSSubjugationist: "unset", FSSubjugationistRace: 0, FSGenderRadicalist: "unset", FSGenderFundamentalist: "unset", FSPaternalist: "unset", FSDegradationist: "unset", FSBodyPurist: "unset", FSTransformationFetishist: "unset", FSYouthPreferentialist: "unset", FSMaturityPreferentialist: "unset", FSSlimnessEnthusiast: "unset", FSAssetExpansionist: "unset", FSPastoralist: "unset", FSPhysicalIdealist: "unset", FSChattelReligionist: "unset", FSRomanRevivalist: "unset", FSEgyptianRevivalist: "unset", FSEdoRevivalist: "unset", FSArabianRevivalist: "unset", FSChineseRevivalist: "unset", FSNull: "unset", FSRepopulationFocus: "unset", FSRestart: "unset", FSHedonisticDecadence: "unset", FSIntellectualDependency: "unset", FSSlaveProfessionalism: "unset", FSPetiteAdmiration: "unset", FSStatuesqueGlorification: "unset", embargo: 1, embargoTarget: -1, influenceTarget: -1, influenceBonus: 0, rival: 0}>>
-<</if>>
-
-<<if def $arcologyName>>
-	<<set $arcologies[0].name = $arcologyName>>
-	<<unset $arcologyName>>
-<<elseif ndef $arcologies[0].name>>
-	<<set $arcologies[0].name = "Arcology X-4">>
-<</if>>
-
-<<if ndef $arcologies[0].ownership>>
-	<<set $arcologies[0].ownership = 50>>
-<</if>>
-<<if ndef $arcologies[0].minority>>
-	<<set $arcologies[0].minority = 20>>
-<</if>>
-<<if ndef $arcologies[0].embargo>>
-	<<set $arcologies[0].embargo = 1>>
-<</if>>
-<<if ndef $arcologies[0].embargoTarget>>
-	<<set $arcologies[0].embargoTarget = -1>>
-<</if>>
-<<if ndef $arcologies[0].hackingEconomic>>
-	<<set $arcologies[0].hackingEconomic = 1>>
-<</if>>
-<<if ndef $arcologies[0].hackingEconomicTarget>>
-	<<set $arcologies[0].hackingEconomicTarget = -1>>
-<</if>>
-<<if ndef $arcologies[0].hackingReputationTarget>>
-	<<set $arcologies[0].hackingReputationTarget = -1>>
-<</if>>
-<<if ndef $arcologies[0].hackingReputation>>
-	<<set $arcologies[0].hackingReputation = 1>>
-<</if>>
-<<if ndef $arcologies[0].influenceTarget>>
-	<<set $arcologies[0].influenceTarget = -1>>
-<</if>>
-<<if ndef $arcologies[0].influenceBonus>>
-	<<set $arcologies[0].influenceBonus = -1>>
-<</if>>
-<<if ndef $arcologies[0].CyberEconomic>>
-	<<set $arcologies[0].CyberEconomic = 1>>
-<</if>>
-<<if ndef $arcologies[0].CyberEconomicTarget>>
-	<<set $arcologies[0].CyberEconomicTarget = -1>>
-<</if>>
-<<if ndef $arcologies[0].CyberReputation>>
-	<<set $arcologies[0].CyberReputation = 1>>
-<</if>>
-<<if ndef $arcologies[0].CyberReputationTarget>>
-	<<set $arcologies[0].CyberReputationTarget = -1>>
-<</if>>
-<<if ndef $arcologies[0].rival>>
-	<<set $arcologies[0].rival = 0>>
-<</if>>
-<<if ndef $arcologies[0].FSNull>>
-	<<set $arcologies[0].FSNull = "unset">>
-<</if>>
-<<if ndef $arcologies[0].FSRepopulationFocus>>
-	<<set $arcologies[0].FSRepopulationFocus = "unset">>
-<</if>>
-<<if ndef $arcologies[0].FSRepopulationFocusPregPolicy>>
-	<<set $arcologies[0].FSRepopulationFocusPregPolicy = 0>>
-<</if>>
-<<if ndef $arcologies[0].FSRepopulationFocusMilfPolicy>>
-	<<set $arcologies[0].FSRepopulationFocusMilfPolicy = 0>>
-<</if>>
-<<if ndef $arcologies[0].FSRepopulationFocusInterest>>
-	<<set $arcologies[0].FSRepopulationFocusInterest = 0>>
-<</if>>
-<<if ndef $arcologies[0].FSRestart>>
-	<<set $arcologies[0].FSRestart = "unset">>
-<</if>>
-<<if ndef $arcologies[0].FSEugenicsChastityPolicy>>
-	<<set $arcologies[0].FSEugenicsChastityPolicy = 0>>
-<</if>>
-<<if ndef $arcologies[0].FSEugenicsSterilizationPolicy>>
-	<<set $arcologies[0].FSEugenicsSterilizationPolicy = 0>>
-<</if>>
-<<if ndef $arcologies[0].FSEugenicsInterest>>
-	<<set $arcologies[0].FSEugenicsInterest = 0>>
-<</if>>
-<<if ndef $arcologies[0].PCminority>>
-	<<set $arcologies[0].PCminority = 0>>
-<</if>>
-<<if ndef $arcologies[0].demandFactor>>
-	<<set $arcologies[0].demandFactor = 250>>
-<</if>>
-<<if ndef $arcologies[0].leaderID>>
-	<<set $arcologies[0].leaderID = 0>>
-<</if>>
-
-<<if (def $FSSupremacist) && $FSSupremacist != "unset">>
-	<<set $arcologies[0].FSSupremacist = $FSSupremacist>>
-	<<set $arcologies[0].FSSupremacistRace = $FSSupremacistRace>>
-	<<unset $FSSupremacist>>
-	<<unset $FSSupremacistRace>>
-<<elseif ndef $arcologies[0].FSSupremacist>>
-	<<set $arcologies[0].FSSupremacist = "unset">>
-<</if>>
-<<if (def $FSSupremacistLawME) && $FSSupremacistLawME != 0>>
-	<<set $arcologies[0].FSSupremacistLawME = $FSSupremacistLawME>>
-	<<unset $FSSupremacistLawME>>
-<<elseif ndef $arcologies[0].FSSupremacistLawME>>
-	<<set $arcologies[0].FSSupremacistLawME = 0>>
-<</if>>
-<<if $arcologies[0].FSSupremacistRace == "middle">>
-	<<set $arcologies[0].FSSupremacistRace = "middle eastern">>
-<<elseif $arcologies[0].FSSupremacistRace == "pacific">>
-	<<set $arcologies[0].FSSupremacistRace = "pacific islander">>
-<<elseif $arcologies[0].FSSupremacistRace == "southern">>
-	<<set $arcologies[0].FSSupremacistRace = "southern european">>
-<<elseif $arcologies[0].FSSupremacistRace == "mixed">>
-	<<set $arcologies[0].FSSupremacistRace = "mixed race">>
-<</if>>
-
-<<if (def $FSSubjugationist) && $FSSubjugationist != "unset">>
-	<<set $arcologies[0].FSSubjugationist = $FSSubjugationist>>
-	<<set $arcologies[0].FSSubjugationistRace = $FSSubjugationistRace>>
-	<<unset $FSSubjugationist>>
-	<<unset $FSSubjugationistRace>>
-<<elseif ndef $arcologies[0].FSSubjugationist>>
-	<<set $arcologies[0].FSSubjugationist = "unset">>
-<</if>>
-<<if (def $FSSubjugationistLawME) && $FSSubjugationistLawME != 0>>
-	<<set $arcologies[0].FSSubjugationistLawME = $FSSubjugationistLawME>>
-	<<unset $FSSubjugationistLawME>>
-<<elseif ndef $arcologies[0].FSSubjugationistLawME>>
-	<<set $arcologies[0].FSSubjugationistLawME = 0>>
-<</if>>
-<<if $arcologies[0].FSSubjugationistRace == "middle">>
-	<<set $arcologies[0].FSSubjugationistRace = "middle eastern">>
-<<elseif $arcologies[0].FSSubjugationistRace == "pacific">>
-	<<set $arcologies[0].FSSubjugationistRace = "pacific islander">>
-<<elseif $arcologies[0].FSSubjugationistRace == "southern">>
-	<<set $arcologies[0].FSSubjugationistRace = "southern european">>
-<<elseif $arcologies[0].FSSubjugationistRace == "mixed">>
-	<<set $arcologies[0].FSSubjugationistRace = "mixed race">>
-<</if>>
-
-<<if (def $FSDegradationist) && $FSDegradationist != "unset">>
-	<<set $arcologies[0].FSDegradationist = $FSDegradationist>>
-	<<unset $FSDegradationist>>
-<<elseif ndef $arcologies[0].FSDegradationist>>
-	<<set $arcologies[0].FSDegradationist = "unset">>
-<</if>>
-
-<<if (def $FSDegradationistLaw) && $FSDegradationistLaw != 0>>
-	<<set $arcologies[0].FSDegradationistLaw = $FSDegradationistLaw>>
-	<<unset $FSDegradationistLaw>>
-<<elseif ndef $arcologies[0].FSDegradationistLaw>>
-	<<set $arcologies[0].FSDegradationistLaw = 0>>
-<</if>>
-
-<<if (def $FSPaternalist) && $FSPaternalist != "unset">>
-	<<set $arcologies[0].FSPaternalist = $FSPaternalist>>
-	<<unset $FSPaternalist>>
-<<elseif ndef $arcologies[0].FSPaternalist>>
-	<<set $arcologies[0].FSPaternalist = "unset">>
-<</if>>
-
-<<if (def $FSPaternalistLaw) && $FSPaternalistLaw != 0>>
-	<<set $arcologies[0].FSPaternalistLaw = $FSPaternalistLaw>>
-	<<unset $FSPaternalistLaw>>
-<<elseif ndef $arcologies[0].FSPaternalistLaw>>
-	<<set $arcologies[0].FSPaternalistLaw = 0>>
-<</if>>
-
-<<if (def $FSGenderFundamentalist) && $FSGenderFundamentalist != "unset">>
-	<<set $arcologies[0].FSGenderFundamentalist = $FSGenderFundamentalist>>
-	<<unset $FSGenderFundamentalist>>
-<<elseif ndef $arcologies[0].FSGenderFundamentalist>>
-	<<set $arcologies[0].FSGenderFundamentalist = "unset">>
-<</if>>
-
-<<if (def $FSGenderFundamentalistSMR) && $FSGenderFundamentalistSMR != 0>>
-	<<set $arcologies[0].FSGenderFundamentalistSMR = $FSGenderFundamentalistSMR>>
-	<<unset $FSGenderFundamentalistSMR>>
-<<elseif ndef $arcologies[0].FSGenderFundamentalistSMR>>
-	<<set $arcologies[0].FSGenderFundamentalistSMR = 0>>
-<</if>>
-<<if def $arcologies[0].FSGenderFundamentalistLaw>>
-	<<run delete $arcologies[0].FSGenderFundamentalistLaw>>
-<</if>>
-
-<<if (def $FSGenderRadicalist) && $FSGenderRadicalist != "unset">>
-	<<set $arcologies[0].FSGenderRadicalist = $FSGenderRadicalist>>
-	<<unset $FSGenderRadicalist>>
-<<elseif ndef $arcologies[0].FSGenderRadicalist>>
-	<<set $arcologies[0].FSGenderRadicalist = "unset">>
-<</if>>
-<<if def $FSGenderRadicalistLaw>>
-	<<unset $FSGenderRadicalistLaw>>
-<</if>>
-<<if ndef $arcologies[0].FSGenderRadicalistLawBeauty>>
-	<<set $arcologies[0].FSGenderRadicalistLawBeauty = 0>>
-<</if>>
-<<if ndef $arcologies[0].FSGenderRadicalistLawFuta>>
-	<<set $arcologies[0].FSGenderRadicalistLawFuta = 0>>
-<</if>>
-<<if def $arcologies[0].FSGenderRadicalistLawDicks>>
-	<<run delete $arcologies[0].FSGenderRadicalistLawDicks>>
-<</if>>
-<<if def $arcologies[0].FSGenderRadicalistSMR>>
-	<<run delete $arcologies[0].FSGenderRadicalistSMR>>
-<</if>>
-
-<<if (def $FSBodyPurist) && $FSBodyPurist != "unset">>
-	<<set $arcologies[0].FSBodyPurist = $FSBodyPurist>>
-	<<unset $FSBodyPurist>>
-<<elseif ndef $arcologies[0].FSBodyPurist>>
-	<<set $arcologies[0].FSBodyPurist = "unset">>
-<</if>>
-
-<<if (def $FSBodyPuristLaw) && $FSBodyPuristLaw != 0>>
-	<<set $arcologies[0].FSBodyPuristLaw = $FSBodyPuristLaw>>
-	<<unset $FSBodyPuristLaw>>
-<<elseif ndef $arcologies[0].FSBodyPuristLaw>>
-	<<set $arcologies[0].FSBodyPuristLaw = 0>>
-<</if>>
-
-<<if (def $FSPhysicalIdealist) && $FSPhysicalIdealist != "unset">>
-	<<set $arcologies[0].FSPhysicalIdealist = $FSPhysicalIdealist>>
-	<<unset $FSPhysicalIdealist>>
-<<elseif ndef $arcologies[0].FSPhysicalIdealist>>
-	<<set $arcologies[0].FSPhysicalIdealist = "unset">>
-<</if>>
-
-<<if (def $FSPhysicalIdealistSMR) && $FSPhysicalIdealistSMR != 0>>
-	<<set $arcologies[0].FSPhysicalIdealistSMR = $FSPhysicalIdealistSMR>>
-	<<unset $FSPhysicalIdealistSMR>>
-<<elseif ndef $arcologies[0].FSPhysicalIdealistSMR>>
-	<<set $arcologies[0].FSPhysicalIdealistSMR = 0>>
-<</if>>
-
-<<if (def $FSTransformationFetishist) && $FSTransformationFetishist != "unset">>
-	<<set $arcologies[0].FSTransformationFetishist = $FSTransformationFetishist>>
-	<<unset $FSTransformationFetishist>>
-<<elseif ndef $arcologies[0].FSTransformationFetishist>>
-	<<set $arcologies[0].FSTransformationFetishist = "unset">>
-<</if>>
-
-<<if (def $FSTransformationFetishistSMR) && $FSTransformationFetishistSMR != 0>>
-	<<set $arcologies[0].FSTransformationFetishistSMR = $FSTransformationFetishistSMR>>
-	<<unset $FSTransformationFetishistSMR>>
-<<elseif ndef $arcologies[0].FSTransformationFetishistSMR>>
-	<<set $arcologies[0].FSTransformationFetishistSMR = 0>>
-<</if>>
-<<if def $arcologies[0].FSTransformationFetishistLaw>>
-	<<run delete $arcologies[0].FSTransformationFetishistLaw>>
-<</if>>
-
-<<if (def $FSAssetExpansionist) && $FSAssetExpansionist != "unset">>
-	<<set $arcologies[0].FSAssetExpansionist = $FSAssetExpansionist>>
-	<<unset $FSAssetExpansionist>>
-<<elseif ndef $arcologies[0].FSAssetExpansionist>>
-	<<set $arcologies[0].FSAssetExpansionist = "unset">>
-<</if>>
-
-<<if (def $FSAssetExpansionistSMR) && $FSAssetExpansionistSMR != 0>>
-	<<set $arcologies[0].FSAssetExpansionistSMR = $FSAssetExpansionistSMR>>
-	<<unset $FSAssetExpansionistSMR>>
-<<elseif ndef $arcologies[0].FSAssetExpansionistSMR>>
-	<<set $arcologies[0].FSAssetExpansionistSMR = 0>>
-<</if>>
-<<if def $arcologies[0].FSAssetExpansionistLaw>>
-	<<run delete $arcologies[0].FSAssetExpansionistLaw>>
-<</if>>
-
-<<if (def $FSSlimnessEnthusiast) && $FSSlimnessEnthusiast != "unset">>
-	<<set $arcologies[0].FSSlimnessEnthusiast = $FSSlimnessEnthusiast>>
-	<<unset $FSSlimnessEnthusiast>>
-<<elseif ndef $arcologies[0].FSSlimnessEnthusiast>>
-	<<set $arcologies[0].FSSlimnessEnthusiast = "unset">>
-<</if>>
-
-<<if (def $FSSlimnessEnthusiastSMR) && $FSSlimnessEnthusiastSMR != 0>>
-	<<set $arcologies[0].FSSlimnessEnthusiastSMR = $FSSlimnessEnthusiastSMR>>
-	<<unset $FSSlimnessEnthusiastSMR>>
-<<elseif ndef $arcologies[0].FSSlimnessEnthusiastSMR>>
-	<<set $arcologies[0].FSSlimnessEnthusiastSMR = 0>>
-<</if>>
-
-<<if (def $FSMaturityPreferentialist) && $FSMaturityPreferentialist != "unset">>
-	<<set $arcologies[0].FSMaturityPreferentialist = $FSMaturityPreferentialist>>
-	<<unset $FSMaturityPreferentialist>>
-<<elseif ndef $arcologies[0].FSMaturityPreferentialist>>
-	<<set $arcologies[0].FSMaturityPreferentialist = "unset">>
-<</if>>
-
-<<if (def $FSMaturityPreferentialistLaw) && $FSMaturityPreferentialistLaw != 0>>
-	<<set $arcologies[0].FSMaturityPreferentialistLaw = $FSMaturityPreferentialistLaw>>
-	<<unset $FSMaturityPreferentialistLaw>>
-<<elseif ndef $arcologies[0].FSMaturityPreferentialistLaw>>
-	<<set $arcologies[0].FSMaturityPreferentialistLaw = 0>>
-<</if>>
-
-<<if (def $FSYouthPreferentialist) && $FSYouthPreferentialist != "unset">>
-	<<set $arcologies[0].FSYouthPreferentialist = $FSYouthPreferentialist>>
-	<<unset $FSYouthPreferentialist>>
-<<elseif ndef $arcologies[0].FSYouthPreferentialist>>
-	<<set $arcologies[0].FSYouthPreferentialist = "unset">>
-<</if>>
-
-<<if (def $FSYouthPreferentialistLaw) && $FSYouthPreferentialistLaw != 0>>
-	<<set $arcologies[0].FSYouthPreferentialistLaw = $FSYouthPreferentialistLaw>>
-	<<unset $FSYouthPreferentialistLaw>>
-<<elseif ndef $arcologies[0].FSYouthPreferentialistLaw>>
-	<<set $arcologies[0].FSYouthPreferentialistLaw = 0>>
-<</if>>
-
-<<if (def $FSPastoralist) && $FSPastoralist != "unset">>
-	<<set $arcologies[0].FSPastoralist = $FSPastoralist>>
-	<<unset $FSPastoralist>>
-<<elseif ndef $arcologies[0].FSPastoralist>>
-	<<set $arcologies[0].FSPastoralist = "unset">>
-<</if>>
-
-<<if (def $FSPastoralistLaw) && $FSPastoralistLaw != 0>>
-	<<set $arcologies[0].FSPastoralistLaw = $FSPastoralistLaw>>
-	<<unset $FSPastoralistLaw>>
-<<elseif ndef $arcologies[0].FSPastoralistLaw>>
-	<<set $arcologies[0].FSPastoralistLaw = 0>>
-<</if>>
-
-<<if (def $FSChattelReligionist) && $FSChattelReligionist != "unset">>
-	<<set $arcologies[0].FSChattelReligionist = $FSChattelReligionist>>
-	<<unset $FSChattelReligionist>>
-<<elseif ndef $arcologies[0].FSChattelReligionist>>
-	<<set $arcologies[0].FSChattelReligionist = "unset">>
-<</if>>
-
-<<if (def $FSChattelReligionistLaw) && $FSChattelReligionistLaw != 0>>
-	<<set $arcologies[0].FSChattelReligionistLaw = $FSChattelReligionistLaw>>
-	<<unset $FSChattelReligionistLaw>>
-<<elseif ndef $arcologies[0].FSChattelReligionistLaw>>
-	<<set $arcologies[0].FSChattelReligionistLaw = 0>>
-<</if>>
-
-<<if (def $FSRomanRevivalist) && $FSRomanRevivalist != "unset">>
-	<<set $arcologies[0].FSRomanRevivalist = $FSRomanRevivalist>>
-	<<unset $FSRomanRevivalist>>
-<<elseif ndef $arcologies[0].FSRomanRevivalist>>
-	<<set $arcologies[0].FSRomanRevivalist = "unset">>
-<</if>>
-
-<<if (def $FSRomanRevivalistLaw) && $FSRomanRevivalistLaw != 0>>
-	<<set $arcologies[0].FSRomanRevivalistLaw = $FSRomanRevivalistLaw>>
-	<<unset $FSRomanRevivalistLaw>>
-<<elseif ndef $arcologies[0].FSRomanRevivalistLaw>>
-	<<set $arcologies[0].FSRomanRevivalistLaw = 0>>
-<</if>>
-
-<<if (def $FSEgyptianRevivalist) && $FSEgyptianRevivalist != "unset">>
-	<<set $arcologies[0].FSEgyptianRevivalist = $FSEgyptianRevivalist>>
-	<<unset $FSEgyptianRevivalist>>
-<<elseif ndef $arcologies[0].FSEgyptianRevivalist>>
-	<<set $arcologies[0].FSEgyptianRevivalist = "unset">>
-<</if>>
-
-<<if (def $FSEgyptianRevivalistLaw) && $FSEgyptianRevivalistLaw != 0>>
-	<<set $arcologies[0].FSEgyptianRevivalistLaw = $FSEgyptianRevivalistLaw>>
-	<<unset $FSEgyptianRevivalistLaw>>
-<<elseif ndef $arcologies[0].FSEgyptianRevivalistLaw>>
-	<<set $arcologies[0].FSEgyptianRevivalistLaw = 0>>
-<</if>>
-
-<<if ndef $arcologies[0].FSEgyptianRevivalistIncestPolicy>>
-	<<set $arcologies[0].FSEgyptianRevivalistIncestPolicy = 0>>
-<</if>>
-<<if ndef $arcologies[0].FSEgyptianRevivalistInterest>>
-	<<set $arcologies[0].FSEgyptianRevivalistInterest = 0>>
-<</if>>
-
-<<if (def $FSEdoRevivalist) && $FSEdoRevivalist != "unset">>
-	<<set $arcologies[0].FSEdoRevivalist = $FSEdoRevivalist>>
-	<<unset $FSEdoRevivalist>>
-<<elseif ndef $arcologies[0].FSEdoRevivalist>>
-	<<set $arcologies[0].FSEdoRevivalist = "unset">>
-<</if>>
-
-<<if (def $FSEdoRevivalistLaw) && $FSEdoRevivalistLaw != 0>>
-	<<set $arcologies[0].FSEdoRevivalistLaw = $FSEdoRevivalistLaw>>
-	<<unset $FSEdoRevivalistLaw>>
-<<elseif ndef $arcologies[0].FSEdoRevivalistLaw>>
-	<<set $arcologies[0].FSEdoRevivalistLaw = 0>>
-<</if>>
-
-<<if (def $FSArabianRevivalist) && $FSArabianRevivalist != "unset">>
-	<<set $arcologies[0].FSArabianRevivalist = $FSArabianRevivalist>>
-	<<unset $FSArabianRevivalist>>
-<<elseif ndef $arcologies[0].FSArabianRevivalist>>
-	<<set $arcologies[0].FSArabianRevivalist = "unset">>
-<</if>>
-
-<<if (def $FSArabianRevivalistLaw) && $FSArabianRevivalistLaw != 0>>
-	<<set $arcologies[0].FSArabianRevivalistLaw = $FSArabianRevivalistLaw>>
-	<<unset $FSArabianRevivalistLaw>>
-<<elseif ndef $arcologies[0].FSArabianRevivalistLaw>>
-	<<set $arcologies[0].FSArabianRevivalistLaw = 0>>
-<</if>>
-
-<<if (def $FSChineseRevivalist) && $FSChineseRevivalist != "unset">>
-	<<set $arcologies[0].FSChineseRevivalist = $FSChineseRevivalist>>
-	<<unset $FSChineseRevivalist>>
-<<elseif ndef $arcologies[0].FSChineseRevivalist>>
-	<<set $arcologies[0].FSChineseRevivalist = "unset">>
-<</if>>
-
-<<if (def $FSChineseRevivalistLaw) && $FSChineseRevivalistLaw != 0>>
-	<<set $arcologies[0].FSChineseRevivalistLaw = $FSChineseRevivalistLaw>>
-	<<unset $FSChineseRevivalistLaw>>
-<<elseif ndef $arcologies[0].FSChineseRevivalistLaw>>
-	<<set $arcologies[0].FSChineseRevivalistLaw = 0>>
-<</if>>
-
-<<if def $arcologies[0].FSNullLaw>>
-	<<run delete $arcologies[0].FSNullLaw>>
-<</if>>
-
-<<silently>>
-<<include "MOD_Edit FS Cheat Datatype Cleanup">>
-<<include "MOD_Edit Neighbor Arcology Cheat Datatype Cleanup">>
-<</silently>>
-
-Setting missing global variables:
-
-<<if typeof $assistant == "number">>
-	<<run assistant.BC()>>
-<<else>>
-	<<run assistant.object()>>
-<</if>>
-
-<<if ndef $CulturalOpenness>>
-	<<set $CulturalOpenness = 0>>
-<</if>>
-
-<<if ndef $displayAssignments>>
-	<<set $displayAssignments = 1>>
-<</if>>
-
-<<if ndef $universalRulesImpregnation>>
-	<<set $universalRulesImpregnation = "none">>
-<</if>>
-
-<<if ndef $abbreviateNationality>>
-	<<set $abbreviateNationality = 0>>
-<</if>>
-
-<<if ndef $language>>
-	<<set $language = "English">>
-<</if>>
-
-<<if ndef $terrain>>
-	<<set $terrain = "rural">>
-<</if>>
-
-<<if ndef $nicaeaAnnounceable>>
-	<<set $nicaeaAnnounceable = 0>>
-<</if>>
-<<if ndef $nicaeaAnnounced>>
-	<<set $nicaeaAnnounced = 0>>
-<</if>>
-<<if ndef $nicaeaPreparation>>
-	<<set $nicaeaPreparation = 0>>
-<</if>>
-<<if ndef $nicaeaInvolvement>>
-	<<set $nicaeaInvolvement = -1>>
-<</if>>
-<<if ndef $nicaeaPower>>
-	<<set $nicaeaPower = 0>>
-<</if>>
-<<if ndef $nicaeaHeld>>
-	<<set $nicaeaHeld = 0>>
-<</if>>
-
-<<if ndef $REFeminizationCheckinIDs>>
-	<<set $REFeminizationCheckinIDs = []>>
-<</if>>
-<<if ndef $REMILFCheckinIDs>>
-	<<set $REMILFCheckinIDs = []>>
-<</if>>
-<<if ndef $REOrientationCheckinIDs>>
-	<<set $REOrientationCheckinIDs = []>>
-<</if>>
-<<if ndef $REUglyCheckinIDs>>
-	<<set $REUglyCheckinIDs = []>>
-<</if>>
-<<if ndef $REButtholeCheckinIDs>>
-	<<set $REButtholeCheckinIDs = []>>
-<</if>>
-<<if ndef $REFutaSisterCheckinIDs>>
-	<<set $REFutaSisterCheckinIDs = []>>
-<</if>>
-<<if ndef $REReductionCheckinIDs>>
-	<<set $REReductionCheckinIDs = []>>
-<</if>>
-<<if def $RERelationshipSlave>>
-	<<unset $RERelationshipSlave>>
-<</if>>
-<<if ndef $dormitory>>
-	<<set $dormitory = 20>>
-<</if>>
-<<if ndef $dormitoryPopulation>>
-	<<set $dormitoryPopulation = 0>>
-<</if>>
-<<if ndef $rooms>>
-	<<set $rooms = 5>>
-<</if>>
-<<if ndef $roomsPopulation>>
-	<<set $roomsPopulation = 0>>
-<</if>>
-
-<<if ndef $universalHGImpregnateMasterSuiteToggle>>
-	<<set $universalHGImpregnateMasterSuiteToggle = 0>>
-<</if>>
-
-<<run FacilityDatatypeCleanup()>>
-
-<<if ndef $fighterIDs>>
-	<<set $fighterIDs = []>>
-<</if>>
-<<if ndef $pitVirginities>>
-	<<set $pitVirginities = 0>>
-<</if>>
-<<if ndef $pitBG>>
-	<<set $pitBG = 0>>
-<</if>>
-<<if ndef $slaveFightingBG>>
-	<<set $slaveFightingBG = 0>>
-<</if>>
-<<if ndef $pitAnimal>>
-	<<set $pitAnimal = 0>>
-<</if>>
-<<if ndef $pitAnimalType>>
-	<<set $pitAnimalType = 0>>
-<</if>>
-
-<<if ndef $verboseDescriptions>>
-	<<set $verboseDescriptions = 0>>
-<</if>>
-<<if ndef $clothesBoughtBunny>>
-	<<set $clothesBoughtBunny = 0>>
-<</if>>
-<<if ndef $clothesBoughtConservative>>
-	<<set $clothesBoughtConservative = 0>>
-<</if>>
-<<if ndef $clothesBoughtChains>>
-	<<set $clothesBoughtChains = 0>>
-<</if>>
-<<if ndef $clothesBoughtWestern>>
-	<<set $clothesBoughtWestern = 0>>
-<</if>>
-<<if ndef $clothesBoughtOil>>
-	<<set $clothesBoughtOil = 0>>
-<</if>>
-<<if ndef $clothesBoughtHabit>>
-	<<set $clothesBoughtHabit = 0>>
-<</if>>
-<<if ndef $clothesBoughtToga>>
-	<<set $clothesBoughtToga = 0>>
-<</if>>
-<<if ndef $clothesBoughtKimono>>
-	<<set $clothesBoughtKimono = 0>>
-<</if>>
-<<if ndef $clothesBoughtHarem>>
-	<<set $clothesBoughtHarem = 0>>
-<</if>>
-<<if ndef $clothesBoughtQipao>>
-	<<set $clothesBoughtQipao = 0>>
-<</if>>
-<<if ndef $clothesBoughtEgypt>>
-	<<set $clothesBoughtEgypt = 0>>
-<</if>>
-<<if ndef $clothesBoughtBimbo>>
-	<<set $clothesBoughtBimbo = 0>>
-<</if>>
-<<if ndef $clothesBoughtCourtesan>>
-	<<set $clothesBoughtCourtesan = 0>>
-<</if>>
-<<if ndef $shoesBoughtHeels>>
-	<<set $shoesBoughtHeels = 0>>
-<</if>>
-<<if ndef $clothesBoughtPetite>>
-	<<set $clothesBoughtPetite = 0>>
-<</if>>
-<<if ndef $clothesBoughtMilitary>>
-	<<set $clothesBoughtMilitary = 0>>
-<</if>>
-<<if ndef $clothesBoughtCultural>>
-	<<set $clothesBoughtCultural = 0>>
-<</if>>
-<<if ndef $clothesBoughtMiddleEastern>>
-	<<set $clothesBoughtMiddleEastern = 0>>
-<</if>>
-<<if ndef $clothesBoughtPol>>
-	<<set $clothesBoughtPol = 0>>
-<</if>>
-<<if ndef $clothesBoughtCostume>>
-	<<set $clothesBoughtCostume = 0>>
-<</if>>
-<<if ndef $clothesBoughtPantsu>>
-	<<set $clothesBoughtPantsu = 0>>
-<</if>>
-<<if ndef $clothesBoughtCareer>>
-	<<set $clothesBoughtCareer = 0>>
-<</if>>
-<<if ndef $clothesBoughtDresses>>
-	<<set $clothesBoughtDresses = 0>>
-<</if>>
-<<if ndef $clothesBoughtBodysuits>>
-	<<set $clothesBoughtBodysuits = 0>>
-<</if>>
-<<if ndef $clothesBoughtCasual>>
-	<<set $clothesBoughtCasual = 0>>
-<</if>>
-<<if ndef $clothesBoughtUnderwear>>
-	<<set $clothesBoughtUnderwear = 0>>
-<</if>>
-<<if ndef $clothesBoughtSports>>
-	<<set $clothesBoughtSports = 0>>
-<</if>>
-<<if ndef $clothesBoughtPony>>
-	<<set $clothesBoughtPony = 0>>
-<</if>>
-<<if ndef $clothesBoughtSwimwear>>
-	<<set $clothesBoughtSwimwear = 0>>
-<</if>>
-<<if ndef $clothesBoughtMaternityDress>>
-	<<set $clothesBoughtMaternityDress = 0>>
-<</if>>
-<<if ndef $clothesBoughtMaternityLingerie>>
-	<<set $clothesBoughtMaternityLingerie = 0>>
-<</if>>
-<<if ndef $clothesBoughtLazyClothes>>
-	<<set $clothesBoughtLazyClothes = 0>>
-<</if>>
-<<if ndef $buckets>>
-	<<set $buckets = 0>>
-<</if>>
-
-<<if ndef $universalRulesRest>>
-	<<set $universalRulesRest = 0>>
-<</if>>
-<<if ndef $universalRulesNewSlavesRA>>
-	<<set $universalRulesNewSlavesRA = 1>>
-<</if>>
-
-<<if ndef $hormoneUpgradeMood>>
-	<<set $hormoneUpgradeMood = 0>>
-<</if>>
-<<if ndef $hormoneUpgradeShrinkage>>
-	<<set $hormoneUpgradeShrinkage = 0>>
-<</if>>
-<<if ndef $hormoneUpgradePower>>
-	<<set $hormoneUpgradePower = 0>>
-<</if>>
-
-<<if ndef $schoolSuggestion>>
-	<<set $schoolSuggestion = 0>>
-<</if>>
-
-<<if ndef $prostheticsUpgrade>>
-	<<set $prostheticsUpgrade = 0>>
-<</if>>
-<<if ndef $dispensaryUpgrade>>
-	<<set $dispensaryUpgrade = 0>>
-<</if>>
-<<if ndef $growthStim>>
-	<<set $growthStim = 0>>
-<</if>>
-<<if ndef $pubertyLength>>
-	<<set $pubertyLength = 5>>
-<</if>>
-<<if ndef $maxGrowthAge>>
-	<<set $maxGrowthAge = 24>>
-<</if>>
-<<if ndef $ImplantProductionUpgrade>>
-	<<set $ImplantProductionUpgrade = 0>>
-<</if>>
-<<if ndef $geneticMappingUpgrade>>
-	<<set $geneticMappingUpgrade = 0>>
-<</if>>
-<<if ndef $pregnancyMonitoringUpgrade>>
-	<<set $pregnancyMonitoringUpgrade = 0>>
-<</if>>
-<<if ndef $permaPregImplant>>
-	<<set $permaPregImplant = 0>>
-<</if>>
-<<if ndef $pubertyHormones>>
-	<<set $pubertyHormones = 0>>
-<</if>>
-<<if ndef $dietXXY>>
-	<<set $dietXXY = 0>>
-<</if>>
-<<if ndef $dietCleanse>>
-	<<set $dietCleanse = 0>>
-<</if>>
-<<if ndef $dietFertility>>
-	<<set $dietFertility = 0>>
-<</if>>
-<<if ndef $cumProDiet>>
-	<<set $cumProDiet = 0>>
-<</if>>
-<<if ndef $aphrodisiacUpgradeRefine>>
-	<<set $aphrodisiacUpgradeRefine = 0>>
-<</if>>
-<<if ndef $healthyDrugsUpgrade>>
-	<<set $healthyDrugsUpgrade = 0>>
-<</if>>
-<<if ndef $reproductionFormula>>
-	<<set $reproductionFormula = 0>>
-<</if>>
-<<if ndef $superFertilityDrugs>>
-	<<set $superFertilityDrugs = 0>>
-<</if>>
-<<if ndef $bellyImplants>>
-	<<set $bellyImplants = 0>>
-<</if>>
-<<if ndef $cervixImplants>>
-	<<set $cervixImplants = 0>>
-<</if>>
-<<if ndef $prostateImplants>>
-	<<set $prostateImplants = 0>>
-<</if>>
-<<if ndef $sympatheticOvaries>>
-	<<set $sympatheticOvaries = 0>>
-<</if>>
-<<if ndef $fertilityImplant>>
-	<<set $fertilityImplant = 0>>
-<</if>>
-<<if ndef $asexualReproduction>>
-	<<set $asexualReproduction = 0>>
-<</if>>
-<<if ndef $shelterSlaveGeneratedWeek || $shelterSlaveGeneratedWeek > $week>>
-	<<set $shelterSlaveGeneratedWeek = 0>>
-<</if>>
-<<if ndef $goodImageCampaign>>
-	<<set $goodImageCampaign = 0>>
-<</if>>
-<<if ndef $sexualOpeness>>
-	<<set $sexualOpeness = 0>>
-<</if>>
-<<if ndef $youngerOvaries>>
-	<<set $youngerOvaries = 0>>
-<</if>>
-<<if ndef $animalOvaries>>
-	<<set $animalOvaries = 0>>
-<</if>>
-<<if ndef $animalTesticles>>
-	<<set $animalTesticles = 0>>
-<</if>>
-<<if ndef $animalMpreg>>
-	<<set $animalMpreg = 0>>
-<</if>>
-<<if ndef $cloningSystem>>
-	<<set $cloningSystem = 0>>
-<</if>>
-<<if ndef $geneticFlawLibrary>>
-	<<set $geneticFlawLibrary = 0>>
-<</if>>
-
-<<if ndef $pregInventor>>
-	<<set $pregInventor = 0>>
-<</if>>
-<<if ndef $pregInventorID>>
-	<<set $pregInventorID = 0>>
-<</if>>
-<<if ndef $pregInventions>>
-	<<set $pregInventions = 0>>
-<</if>>
-<<if ndef $traitorWeeks>>
-	<<set $traitorWeeks = 0>>
-<</if>>
-<<if def $taitorWeeks>>
-	<<set $traitorWeeks = $taitorWeeks>>
-	<<unset $taitorWeeks>>
-<</if>>
-<<if ndef $rivalGender>>
-	<<if ($rivalOwner > 0)>>
-		<<if random(0,99) <= $seeDicks>>
-			<<set $rivalGender = 2>>
-		<<else>>
-			<<set $rivalGender = 1>>
-		<</if>>
-	<<else>>
-		<<set $rivalGender = 0>>
-	<</if>>
-<</if>>
-<<if ndef $realRoyalties>>
-	<<set $realRoyalties = 0>>
-<</if>>
-
-/* Job Fulfillment Center */
-<<if ndef $JFCOrder>>
-	<<set $JFCOrder = 0>>
-<</if>>
-<<if ndef $Role>>
-	<<set $Role = "">>
-<</if>>
-
-<<if ndef $trinkets>>
-	<<set $trinkets = []>>
-
-	<<if $PC.career == "wealth">>
-		<<set $trinkets.push("a collection of diplomas from expensive schools")>>
-	<<elseif $PC.career == "capitalist">>
-		<<set $trinkets.push("a framed low denomination piece of paper money from your native country")>>
-	<<elseif $PC.career == "mercenary">>
-		<<set $trinkets.push("a battered old assault rifle")>>
-	<<elseif $PC.career == "slaver">>
-		<<set $trinkets.push("a framed picture of a slave with her sale price scrawled across the bottom")>>
-	<<elseif $PC.career == "engineer">>
-		<<set $trinkets.push("an artist's impression of an early arcology design")>>
-	<<elseif $PC.career == "medicine">>
-		<<set $trinkets.push("a framed postsurgical x-ray")>>
-	<<elseif $PC.career == "celebrity">>
-		<<set $trinkets.push("a framed copy of the first news story featuring yourself")>>
-	<<elseif $PC.career == "arcology owner">>
-		<<set $trinkets.push("a miniature model of your first arcology")>>
-	<<elseif $PC.career == "escort">>
-		<<set $trinkets.push("a copy of the first porno you starred in")>>
-	<<elseif $PC.career == "servant">>
-		<<set $trinkets.push("a framed picture of your late Master")>>
-	<<elseif $PC.career == "gang">>
-		<<set $trinkets.push("your favorite handgun, whose sight has instilled fear in many")>>
-	<<elseif $PC.career == "BlackHat">>
-		<<set $trinkets.push("a news clipping of your first successful live hack")>>
-	<</if>>
-<</if>>
-
-<<if ndef $TSS>>
-	<<set $TSS = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>>
-<</if>>
-<<if ndef $GRI>>
-	<<set $GRI = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>>
-<</if>>
-<<if ndef $SCP>>
-	<<set $SCP = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>>
-<</if>>
-<<if ndef $LDE>>
-	<<set $LDE = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>>
-<</if>>
-<<if ndef $TGA>>
-	<<set $TGA = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>>
-<</if>>
-<<if ndef $TCR>>
-	<<set $TCR = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>>
-<</if>>
-<<if ndef $TFS>>
-	<<set $TFS = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0, compromiseWeek: 0, farmUpgrade: 0}>>
-<</if>>
-<<if ndef $TFS.compromiseWeek>>
-	<<set $TFS.compromiseWeek = 0>>
-<</if>>
-<<if ndef $HA>>
-	<<set $HA = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>>
-<</if>>
-<<if ndef $NUL>>
-	<<set $NUL = {schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0}>>
-<</if>>
-
-<<if ndef $birthee>>
-	<<set $birthee = 0>>
-<</if>>
-
-<<if ndef $alwaysSubsidizeRep>>
-	<<set $alwaysSubsidizeRep = 0>>
-<</if>>
-<<if ndef $alwaysSubsidizeGrowth>>
-	<<set $alwaysSubsidizeGrowth = 0>>
-<</if>>
-<<if ndef $ProImmigrationCash>>
-	<<set $ProImmigrationCash = 0>>
-<</if>>
-<<if ndef $ProImmigrationRep>>
-	<<set $ProImmigrationRep = 0>>
-<</if>>
-<<if ndef $AntiImmigrationCash>>
-	<<set $AntiImmigrationCash = 0>>
-<</if>>
-<<if ndef $AntiImmigrationRep>>
-	<<set $AntiImmigrationRep = 0>>
-<</if>>
-<<if ndef $ProEnslavementCash>>
-	<<set $ProEnslavementCash = 0>>
-<</if>>
-<<if ndef $ProEnslavementRep>>
-	<<set $ProEnslavementRep = 0>>
-<</if>>
-<<if ndef $AntiEnslavementCash>>
-	<<set $AntiEnslavementCash = 0>>
-<</if>>
-<<if ndef $AntiEnslavementRep>>
-	<<set $AntiEnslavementRep = 0>>
-<</if>>
-<<if ndef $BasicSMR>>
-	<<set $BasicSMR = 1>>
-<</if>>
-<<if ndef $HealthInspectionSMR>>
-	<<set $HealthInspectionSMR = 0>>
-<</if>>
-<<if ndef $EducationSMR>>
-	<<set $EducationSMR = 0>>
-<</if>>
-<<if ndef $FrigiditySMR>>
-	<<set $FrigiditySMR = 0>>
-<</if>>
-<<if ndef $BasicBeautySMR>>
-	<<set $BasicBeautySMR = 0>>
-<</if>>
-<<if ndef $QualityBeautySMR>>
-	<<set $QualityBeautySMR = 0>>
-<</if>>
-<<if ndef $BasicWeightSMR>>
-	<<set $BasicWeightSMR = 0>>
-<</if>>
-<<if ndef $BasicIntelligenceSMR>>
-	<<set $BasicIntelligenceSMR = 0>>
-<</if>>
-<<if ndef $QualityIntelligenceSMR>>
-	<<set $QualityIntelligenceSMR = 0>>
-<</if>>
-<<if ndef $BasicHeightSMR>>
-	<<set $BasicHeightSMR = 0>>
-<</if>>
-<<if ndef $AdvancedHeightSMR>>
-	<<set $AdvancedHeightSMR = 0>>
-<</if>>
-<<if ndef $IntelligenceEugenicsSMR>>
-	<<set $IntelligenceEugenicsSMR = 0>>
-<</if>>
-<<if ndef $HeightEugenicsSMR>>
-	<<set $HeightEugenicsSMR = 0>>
-<</if>>
-<<if ndef $FaceEugenicsSMR>>
-	<<set $FaceEugenicsSMR = 0>>
-<</if>>
-<<if ndef $HonestySMR>>
-	<<set $HonestySMR = 0>>
-<</if>>
-<<if ndef $ProRefugees>>
-	<<set $ProRefugees = 0>>
-<</if>>
-<<if ndef $ProRecruitment>>
-	<<set $ProRecruitment = 0>>
-<</if>>
-<<if ndef $OralEncouragement>>
-	<<set $OralEncouragement = 0>>
-<</if>>
-<<if ndef $VaginalEncouragement>>
-	<<set $VaginalEncouragement = 0>>
-<</if>>
-<<if ndef $AnalEncouragement>>
-	<<set $AnalEncouragement = 0>>
-<</if>>
-<<if ndef $OralDiscouragement>>
-	<<set $OralDiscouragement = 0>>
-<</if>>
-<<if ndef $VaginalDiscouragement>>
-	<<set $VaginalDiscouragement = 0>>
-<</if>>
-<<if ndef $AnalDiscouragement>>
-	<<set $AnalDiscouragement = 0>>
-<</if>>
-<<if ndef $CashForRep>>
-	<<set $CashForRep = 0>>
-<</if>>
-<<if ndef $RepForCash>>
-	<<set $RepForCash = 0>>
-<</if>>
-<<if ndef $Cash4Babies>>
-	<<set $Cash4Babies = 0>>
-<</if>>
-<<if ndef $PAPublic>>
-	<<set $PAPublic = 0>>
-<</if>>
-<<if ndef $CoursingAssociation>>
-	<<set $CoursingAssociation = 0>>
-<</if>>
-<<if ndef $Lurcher>>
-	<<set $Lurcher = 0>>
-<</if>>
-<<if ndef $coursed>>
-	<<set $coursed = 0>>
-<</if>>
-<<if ndef $MixedMarriage>>
-	<<set $MixedMarriage = 0>>
-<</if>>
-
-<<if ndef $expiree>>
-	<<set $expiree = 0>>
-<</if>>
-<<if ndef $retiree>>
-<<set $retiree = 0>>
-	<</if>>
-<<if ndef $retirementAge>>
-	<<set $retirementAge = 45>>
-<</if>>
-<<if ndef $customRetirementAge>>
-	<<set $customRetirementAge = 45>>
-<</if>>
-<<if ndef $customMenialRetirementAge>>
-	<<set $customMenialRetirementAge = 65>>
-<</if>>
-<<if ndef $retirementCum>>
-	<<set $retirementCum = 500000>>
-<</if>>
-<<if ndef $CustomRetirementAgePolicy>>
-	<<set $CustomRetirementAgePolicy = 0>>
-<</if>>
-<<if ndef $PhysicalRetirementAgePolicy>>
-	<<set $PhysicalRetirementAgePolicy = 0>>
-<</if>>
-<<if ndef $CumMilestoneRetirement>>
-	<<set $CumMilestoneRetirement = 0>>
-<</if>>
-<<if ndef $BioreactorRetirement>>
-	<<set $BioreactorRetirement = 0>>
-<</if>>
-<<if ndef $ArcadeRetirement>>
-	<<set $ArcadeRetirement = 0>>
-<</if>>
-<<if ndef $CitizenRetirement>>
-	<<set $CitizenRetirement = 0>>
-<</if>>
-<<if ndef $citizenRetirementMenials>>
-	<<set $citizenRetirementMenials = 0>>
-<</if>>
-<<if ndef $citizenRetirementTrigger>>
-	<<set $citizenRetirementTrigger = $CitizenRetirementTrigger || 0>>
-	<<unset $CitizenRetirementTrigger>>
-<</if>>
-<<if ndef $FSSupLawTrigger>>
-	<<set $FSSupLawTrigger = 0>>
-<</if>>
-<<if ndef $FSSubLawTrigger>>
-	<<set $FSSubLawTrigger = 0>>
-<</if>>
-<<if ndef $FSSlaveProfLawTrigger>>
-	<<set $FSSlaveProfLawTrigger = 0>>
-<</if>>
-<<if def $manuallyRetired>>
-	<<unset $manuallyRetired>>
-<</if>>
-
-<<if ndef $justiceEvents>>
-	<<set $justiceEvents = ["indenture deal", "majority deal", "slave deal", "slave training", "virginity deal"]>>
-<</if>>
-
-<<if (($ver.startsWith("0.6") && !$ver.startsWith("10.6")) || ($ver.startsWith("0.7")) || ($ver.startsWith("0.8")) || ($ver == "0.9"))>>
-	<<if $seeDicks == 2>>
-		<<set $seeDicks = 100>>
-	<<elseif $seeDicks == 1>>
-		<<set $seeDicks = 25>>
-	<</if>>
-<</if>>
-<<set $seeDicks = Math.clamp($seeDicks, 0, 100)>>
-
-<<if ndef $PC.ID>>
-	<<set $PC.ID = -1>>
-<</if>>
-<<if ndef $PC.counter.oral>>
-	<<set $PC.counter.oral = 0>>
-<</if>>
-<<if ndef $PC.counter.vaginal>>
-	<<set $PC.counter.vaginal = 0>>
-<</if>>
-<<if ndef $PC.counter.anal>>
-	<<set $PC.counter.anal = 0>>
-<</if>>
-<<if ndef $PC.counter.mammary>>
-	<<set $PC.counter.mammary = 0>>
-<</if>>
-<<if ndef $PC.counter.penetrative>>
-	<<set $PC.counter.penetrative = 0>>
-<</if>>
-
-<<if !($ver.startsWith("0.10"))>>
-	<<if $PC.refreshment == "cigar">>
-		<<set $PC.refreshmentType = 0>>
-	<<else>>
-		<<set $PC.refreshmentType = 1>>
-	<</if>>
-<</if>>
-<<set WombInit($PC)>>
-
-<<if ndef $pornStars>>
-	<<set $studioFeed = 0>>
-	<<set $PCSlutContacts = 1>>
-
-	/* create but don't populate (that happens later) */
-	<<set $pornStars = {}>>
-<</if>>
-
-/* migrate to new genre-driven pornstar object */
-<<if typeof $pornStars === "number">>
-	<<set _oldPornStars = $pornStars>>
-
-	<<set $pornStars = {}>>
-	<<set $pornStars.general = { p1count: _oldPornStars, p3ID: $pornStarID }>>
-	<<set $pornStars.fuckdoll = { p1count: $pornStarFuckdolls, p3ID: $pornStarFuckdollID }>>
-	<<set $pornStars.rape = { p1count: $pornStarRapees, p3ID: $pornStarRapeID }>>
-	<<set $pornStars.preggo = { p1count: $pornStarPreggos, p3ID: $pornStarPreggoID }>>
-	<<set $pornStars.BBW = { p1count: $pornStarBBWs, p3ID: $pornStarBBWID }>>
-	<<set $pornStars.gainer = { p1count: $pornStarGainers, p3ID: $pornStarGainerID }>>
-	<<set $pornStars.stud = { p1count: $pornStarStuds, p3ID: $pornStarStudID }>>
-	<<set $pornStars.loli = { p1count: $pornStarLolis, p3ID: $pornStarLoliID }>>
-	<<set $pornStars.deepThroat = { p1count: $pornStarDeepThroats, p3ID: $pornStarDeepThroatID }>>
-	<<set $pornStars.struggleFuck = { p1count: $pornStarStruggleFucks, p3ID: $pornStarStruggleFuckID }>>
-	<<set $pornStars.painal = { p1count: $pornStarPainals, p3ID: $pornStarPainalID }>>
-	<<set $pornStars.tease = { p1count: $pornStarTeases, p3ID: $pornStarTeaseID }>>
-	<<set $pornStars.romantic = { p1count: $pornStarRomantics, p3ID: $pornStarRomanticID }>>
-	<<set $pornStars.pervert = { p1count: $pornStarPerverts, p3ID: $pornStarPervertID }>>
-	<<set $pornStars.caring = { p1count: $pornStarCarings, p3ID: $pornStarCaringID }>>
-	<<set $pornStars.unflinching = { p1count: $pornStarUnflinchings, p3ID: $pornStarUnflinchingID }>>
-	<<set $pornStars.sizeQueen = { p1count: $pornStarSizeQueens, p3ID: $pornStarSizeQueenID }>>
-	<<set $pornStars.neglectful = { p1count: $pornStarNeglectfuls, p3ID: $pornStarNeglectfulID }>>
-	<<set $pornStars.cumAddict = { p1count: $pornStarCumAddicts, p3ID: $pornStarCumAddictID }>>
-	<<set $pornStars.analAddict = { p1count: $pornStarAnalAddicts, p3ID: $pornStarAnalAddictID }>>
-	<<set $pornStars.attentionWhore = { p1count: $pornStarAttentionWhores, p3ID: $pornStarAttentionWhoreID }>>
-	<<set $pornStars.breastGrowth = { p1count: $pornStarBreastGrowths, p3ID: $pornStarBreastGrowthID }>>
-	<<set $pornStars.abusive = { p1count: $pornStarAbusives, p3ID: $pornStarAbusiveID }>>
-	<<set $pornStars.malicious = { p1count: $pornStarMalicious, p3ID: $pornStarMaliciousID }>>
-	<<set $pornStars.selfHating = { p1count: $pornStarSelfHatings, p3ID: $pornStarSelfHatingID }>>
-	<<set $pornStars.breeder = { p1count: $pornStarBreeders, p3ID: $pornStarBreederID }>>
-	<<set $pornStars.sub = { p1count: $pornStarSubs, p3ID: $pornStarSubID }>>
-	<<set $pornStars.cumSlut = { p1count: $pornStarCumSluts, p3ID: $pornStarCumSlutID }>>
-	<<set $pornStars.anal = { p1count: $pornStarAnals, p3ID: $pornStarAnalID }>>
-	<<set $pornStars.humiliation = { p1count: $pornStarHumiliations, p3ID: $pornStarHumiliationID }>>
-	<<set $pornStars.boobs = { p1count: $pornStarBoobs, p3ID: $pornStarBoobsID }>>
-	<<set $pornStars.dom = { p1count: $pornStarDoms, p3ID: $pornStarDomID }>>
-	<<set $pornStars.sadist = { p1count: $pornStarSadists, p3ID: $pornStarSadistID }>>
-	<<set $pornStars.masochist = { p1count: $pornStarMasochists, p3ID: $pornStarMasochistID }>>
-	<<set $pornStars.pregnancy = { p1count: $pornStarPregnancySluts, p3ID: $pornStarPregnancyID }>>
-
-	/* Reset all the old porn type counts */
-	<<unset $pornStarFuckdolls>>
-	<<unset $pornStarRapees>>
-	<<unset $pornStarPreggos>>
-	<<unset $pornStarBBWs>>
-	<<unset $pornStarGainers>>
-	<<unset $pornStarStuds>>
-	<<unset $pornStarLolis>>
-	<<unset $pornStarDeepThroats>>
-	<<unset $pornStarStruggleFucks>>
-	<<unset $pornStarPainals>>
-	<<unset $pornStarTeases>>
-	<<unset $pornStarRomantics>>
-	<<unset $pornStarPerverts>>
-	<<unset $pornStarCarings>>
-	<<unset $pornStarUnflinchings>>
-	<<unset $pornStarSizeQueens>>
-	<<unset $pornStarNeglectfuls>>
-	<<unset $pornStarCumAddicts>>
-	<<unset $pornStarAnalAddicts>>
-	<<unset $pornStarAttentionWhores>>
-	<<unset $pornStarBreastGrowths>>
-	<<unset $pornStarAbusives>>
-	<<unset $pornStarMalicious>>
-	<<unset $pornStarSelfHatings>>
-	<<unset $pornStarBreeders>>
-	<<unset $pornStarSubs>>
-	<<unset $pornStarCumSluts>>
-	<<unset $pornStarAnals>>
-	<<unset $pornStarHumiliations>>
-	<<unset $pornStarBoobs>>
-	<<unset $pornStarDoms>>
-	<<unset $pornStarSadists>>
-	<<unset $pornStarMasochists>>
-	<<unset $pornStarPregnancySluts>>
-
-	/* Reset old level 3 prestige variables */
-	<<unset $pornStarID>>
-	<<unset $pornStarFuckdollID>>
-	<<unset $pornStarRapeID>>
-	<<unset $pornStarPreggoID>>
-	<<unset $pornStarBBWID>>
-	<<unset $pornStarGainerID>>
-	<<unset $pornStarStudID>>
-	<<unset $pornStarLoliID>>
-	<<unset $pornStarDeepThroatID>>
-	<<unset $pornStarStruggleFuckID>>
-	<<unset $pornStarPainalID>>
-	<<unset $pornStarTeaseID>>
-	<<unset $pornStarRomanticID>>
-	<<unset $pornStarPervertID>>
-	<<unset $pornStarCaringID>>
-	<<unset $pornStarUnflinchingID>>
-	<<unset $pornStarSizeQueenID>>
-	<<unset $pornStarNeglectfulID>>
-	<<unset $pornStarCumAddictID>>
-	<<unset $pornStarAnalAddictID>>
-	<<unset $pornStarAttentionWhoreID>>
-	<<unset $pornStarBreastGrowthID>>
-	<<unset $pornStarAbusiveID>>
-	<<unset $pornStarMaliciousID>>
-	<<unset $pornStarSelfHatingID>>
-	<<unset $pornStarBreederID>>
-	<<unset $pornStarSubID>>
-	<<unset $pornStarCumSlutID>>
-	<<unset $pornStarAnalID>>
-	<<unset $pornStarHumiliationID>>
-	<<unset $pornStarBoobsID>>
-	<<unset $pornStarDomID>>
-	<<unset $pornStarSadistID>>
-	<<unset $pornStarMasochistID>>
-	<<unset $pornStarPregnancyID>>
-
-<</if>>
-
-/* make sure that any new genres get added correctly (and populate $pornStars for very old games) */
-<<for _genre range App.Porn.getAllGenres()>>
-	<<if ndef $pornStars[_genre.fameVar]>>
-		<<set $pornStars[_genre.fameVar] = { p1count: 0, p3ID: 0 }>>
-	<</if>>
-<</for>>
-
-<<if $PCSlutContacts == 0>>
-	<<set $PCSlutContacts = 1>>
-<</if>>
-
-<<if ndef $seeVectorArtHighlights>>
-	<<set $seeVectorArtHighlights = 1>>
-<</if>>
-<<if ndef $seeFaces>>
-	<<set $seeFaces = 1>>
-<</if>>
-<<if ndef $seeAvatar>>
-	<<set $seeAvatar = 1>>
-<</if>>
-<<if ndef $seeHeight>>
-	<<set $seeHeight = 0>>
-<</if>>
-
-/* Economy Mod */
-<<if $economy == 0.5>>
-	<<set $economy = 200>>
-<<elseif $economy == 1>>
-	<<set $economy = 100>>
-<<elseif $economy == 1.5>>
-	<<set $economy = 67>>
-<</if>>
-/*<<if ndef $baseDifficulty>>
-	<<if $economy > 125>>
-		<<set $baseDifficulty = 1>>
-	<<elseif $economy > 100>>
-		<<set $baseDifficulty = 2>>
-	<<elseif $economy > 80>>
-		<<set $baseDifficulty = 3>>
-	<<elseif $economy > 67>>
-		<<set $baseDifficulty = 4>>
-	<<else>>
-		<<set $baseDifficulty = 5>>
-	<</if>>
-<</if>> */
-<<if ndef $NPCSlaves>>
-	<<set $NPCSlaves = $ASlaves,
-	$ASlaves += $menials + $fuckdolls + $menialBioreactors>>
-<</if>>
-<<if (def $ACitizenLimit) || def $ASlaveLimit>>
-	<<unset $ACitizenLimit, $ASlaveLimit>>
-<</if>>
-<<if (def $welfare) || (def $slaveDemandU) || def $slaveDemandT|| (def $slaveProductivity) || (def $enslaveChance) || def $slaveExpiration>>
-	<<unset $welfare, $slaveDemandU, $slaveDemandT, $slaveProductivity, $enslaveChance, $slaveExpiration>>
-<</if>>
-
-/*Corporation variables added*/
-<<if ndef $vanillaShareSplit>>
-	<<set $vanillaShareSplit = 1>>
-<</if>>
-<<if ndef $corpCashDividend>>
-	<<set $corpCashDividend = 0>>
-<</if>>
-<<if ndef $corpDiv>>
-	<<set $corpDiv = 0>>
-<</if>>
-<<if def $corpExpand>>
-	<<unset $corpExpand>>
-<</if>>
-<<if ndef $corpExpandToken>>
-	<<set $corpExpandToken = 0>>
-<</if>>
-<<if $corpExpandToken > 1>>
-	<<set $corpExpandToken = 1>>
-<</if>>
-<<if ndef $corpSpec>>
-	<<set $corpSpec = 0>>
-<</if>>
-<<if ndef $corpSpecToken>>
-	<<set $corpSpecToken = 0>>
-<</if>>
-<<if ndef $corpDivExtra>>
-	<<set $corpDivExtra = 0>>
-<</if>>
-<<if ndef $corpDivLegal>>
-	<<set $corpDivLegal = 0>>
-<</if>>
-<<if ndef $corpDivBreak>>
-	<<set $corpDivBreak = 0>>
-<</if>>
-<<if ndef $corpDivSurgery>>
-	<<set $corpDivSurgery = 0>>
-<</if>>
-<<if ndef $corpDivTrain>>
-	<<set $corpDivTrain = 0>>
-<</if>>
-<<if ndef $corpDivArcade>>
-	<<set $corpDivArcade = 0>>
-<</if>>
-<<if ndef $corpDivMenial>>
-	<<set $corpDivMenial = 0>>
-<</if>>
-<<if ndef $corpDivDairy>>
-	<<set $corpDivDairy = 0>>
-<</if>>
-<<if ndef $corpDivWhore>>
-	<<set $corpDivWhore = 0>>
-<</if>>
-<<if ndef $corpDivExtraDev>>
-	<<set $corpDivExtraDev = 0>>
-<</if>>
-<<if ndef $corpDivLegalDev>>
-	<<set $corpDivLegalDev = 0>>
-<</if>>
-<<if ndef $corpDivBreakDev>>
-	<<set $corpDivBreakDev = 0>>
-<</if>>
-<<if ndef $corpDivSurgeryDev>>
-	<<set $corpDivSurgeryDev = 0>>
-<</if>>
-<<if ndef $corpDivTrainDev>>
-	<<set $corpDivTrainDev = 0>>
-<</if>>
-<<if ndef $corpDivArcadeDev>>
-	<<set $corpDivArcadeDev = 0>>
-<</if>>
-<<if ndef $corpDivMenialDev>>
-	<<set $corpDivMenialDev = 0>>
-<</if>>
-<<if ndef $corpDivDairyDev>>
-	<<set $corpDivDairyDev = 0>>
-<</if>>
-<<if ndef $corpDivWhoreDev>>
-	<<set $corpDivWhoreDev = 0>>
-<</if>>
-<<if ndef $corpSpecRaces>>
-	<<set $corpSpecRaces = []>>
-<</if>>
-<<if def $corpEasy>>
-	<<unset $corpEasy>>
-<</if>>
-<<set $dividendTimer = $dividendTimer || 13>>
-<<if ndef $corpEcon>>
-	<<set $corpEcon = 0>>
-<</if>>
-
-/*Removing the old Corp from save*/
-<<if ndef $newCorp>>
-	<<set $newCorp = 1>>
-	<<set $corpIncorporated = 0>>
-	<<run cashX(Math.min(Math.trunc(($corpValue / ($publicShares + $personalShares)) * $personalShares), 1000000), "stocksTraded")>> /*Paying the player for his old corporation, so they can get the new one started with haste. It should perhaps have a message going with it*/
-	<<set $mercenariesHelpCorp = 0>>
-	<<set $corpMarket = 0>>
-	<<unset $corpPeopleEnslaved, $slaveAssets, $slaveAssetPrice, $corpProfit, $corpCash, $corpValue, $sharePrice, $oldSharePrice, $personalShares, $publicShares, $generalAssetPrice, $generalAssets, $entrapmentAssets, $entrapmentAssetPrice, $captureAssets, $captureAssetPrice, $trainingAssets, $trainingAssetPrice, $surgicalAssets, $surgicalAssetPrice, $drugAssets, $drugAssetPrice, $generalUpgradeBreaking, $generalUpgradeWeight, $generalUpgradeMuscle, $entrapmentUpgradeDevotionOne, $entrapmentUpgradeDevotionTwo, $entrapmentUpgradeIntelligence, $captureUpgradeGender, $surgicalUpgradeGenitalia, $captureUpgradeAge, $captureUpgradeRace, $trainingUpgradeAccent, $trainingUpgradeEducation, $trainingUpgradeSexEd, $surgicalUpgradeCosmetics, $surgicalUpgradeImplants, $drugUpgradeHormones, $drugUpgradeInjectionOne, $drugUpgradeInjectionTwo>>
-	<<if def $sectors>>
-		<<for _i = 0; _i < $sectors.length; _i++>>
-			<<if $sectors[_i].type == "CorporateMarket">><<set $sectors[_i].type = "Markets">><<break>><</if>>
-		<</for>>
-	<</if>>
-<</if>>
-
-/*Slave services and goods variables*/
-<<if ndef $publicFuckdolls>>
-	<<set $publicFuckdolls = 0>>
-<</if>>
-<<if def $lowerClassSexDemand>>
-	<<unset $lowerClassSexDemand>>
-<</if>>
-<<if ndef $classSatisfied>>
-	<<set $classSatisfied = {}>>
-<</if>>
-<<if def $lowerClassSatisfied>>
-	<<set $classSatisfied.lowerClass = $lowerClassSatisfied>>
-	<<unset $lowerClassSatisfied>>
-<</if>>
-<<if def $middleClassSexDemand>>
-	<<unset $middleClassSexDemand>>
-<</if>>
-<<if def $upperClassSexDemand>>
-	<<unset $upperClassSexDemand>>
-<</if>>
-<<if def $topClassSexDemand>>
-	<<unset $topClassSexDemand>>
-<</if>>
-<<if ndef $sexSubsidies>>
-	<<set $sexSubsidies = {}>>
-<</if>>
-<<if def $sexSubsidiesLC>>
-	<<set $sexSubsidies.lowerClass = $sexSubsidiesLC>>
-	<<unset $sexSubsidiesLC>>
-<</if>>
-<<if ndef $sexSupplyBarriers>>
-	<<set $sexSupplyBarriers = {}>>
-<</if>>
-<<if def $sexSupplyBarriersLC>>
-	<<set $sexSupplyBarriers.lowerClass = $sexSupplyBarriersLC>>
-	<<unset $sexSupplyBarriersLC>>
-<</if>>
-<<if ndef $arcadePrice>>
-	<<set $arcadePrice = 2>>
-<</if>>
-<<if ndef $clubSlaveSexAmount>>
-	<<set $clubSlaveSexAmount = 0>>
-<</if>>
-
-<<if ndef $food>>
-	<<set $food = 50000>>
-<</if>>
-<<if ndef $foodLastWeek>>
-	<<set $foodLastWeek = 0>>
-<</if>>
-<<if ndef $foodTotal>>
-	<<set $foodTotal = 0>>
-<</if>>
-<<if ndef $foodProduced>>
-	<<set $foodProduced = 0>>
-<</if>>
-<<if ndef $foodStored>>
-	<<set $foodStored = 0>>
-<</if>>
-<<if ndef $foodCost>>
-	<<set $foodCost = 25>>
-<</if>>
-<<if ndef $foodMarket>>
-	<<set $foodMarket = 0>>
-<</if>>
-<<if ndef $foodRate>>
-	<<set $foodRate = {slave: 2, lower: 1.8, middle: 2, upper: 2.2, top: 2.4}>>
-<</if>>
-<<if ndef $foodConsumption>>
-	<<set $foodConsumption = (($lowerClass*$foodRate.lower) + ($middleClass*$foodRate.middle) + ($upperClass*$foodRate.upper) + ($topClass*$foodRate.top))>>	/* total amount food consumed per week */
-<</if>>
-<<if ndef $revealFoodEffects>>
-	<<set $revealFoodEffects = 0>>
-<</if>>
-<<if ndef $rations>>
-	<<set $rations = 0>>
-<</if>>
-<<if def $slaveRate>>
-	<<unset $slaveRate>>
-<</if>>
-<<if def $lowerRate>>
-	<<unset $lowerRate>>
-<</if>>
-<<if def $middleRate>>
-	<<unset $middleRate>>
-<</if>>
-<<if def $upperRate>>
-	<<unset $upperRate>>
-<</if>>
-<<if def $topRate>>
-	<<unset $topRate>>
-<</if>>
-
-<<if ndef $lastWeeksCashIncome>>
-	<<setupLastWeeksCash>>
-<</if>>
-<<if ndef $lastWeeksRepIncome>>
-	<<setupLastWeeksRep>>
-<</if>>
-
-<<run EconomyDatatypeCleanup()>>
-<<run ArcologyDatatypeCleanup()>>
-
-Done!
-
-<br><br>
-Setting missing slave variables:
-/* Adding a new variable? Consider putting it in datatypeCleanupJS.tw instead of here */
-<<for _bci = 0; _bci < $slaves.length; _bci++>>
-	<<set _Slave = $slaves[_bci]>>
-
-	<<if typeof _Slave != "object">>
-		<<set $slaves.deleteAt(_bci), _bci-->>
-		<<continue>>
-	<</if>>
-
-	<<run App.Update.Slave(_Slave)>>
-
-	<<set $slaves[_bci] = _Slave>>
-<</for>>
-
-<br> Checking and fixing slave records...
-<<for _Slave range $slaves>>
-	<<run App.Entity.Utils.SlaveDataSchemeCleanup(_Slave)>>
-	<<run SlaveDatatypeCleanup(_Slave)>>
-	<<set _leaderIdx = $leaders.findIndex(function(s) { return s.ID === _Slave.ID; })>>
-	<<if _leaderIdx !== -1>>
-		<<set $leaders[_leaderIdx] = _Slave>>
-	<</if>>
-<</for>>
-<<if $hostage !== 0>>
-	<<run App.Update.Slave($hostage)>>
-	<<run App.Entity.Utils.SlaveDataSchemeCleanup($hostage)>>
-	<<run SlaveDatatypeCleanup($hostage)>>
-<</if>>
-<<if def $slaveAfterRA>>
-	<<run App.Update.Slave($slaveAfterRA)>>
-	<<run App.Entity.Utils.SlaveDataSchemeCleanup($slaveAfterRA)>>
-	<<run SlaveDatatypeCleanup($slaveAfterRA)>>
-<</if>>
-<<if $boomerangSlave !== 0>>
-	<<run App.Update.Slave($boomerangSlave)>>
-	<<run App.Entity.Utils.SlaveDataSchemeCleanup($boomerangSlave)>>
-	<<run SlaveDatatypeCleanup($boomerangSlave)>>
-<</if>>
-<<if $traitor !== 0>>
-	<<run App.Update.Slave($traitor)>>
-	<<run App.Entity.Utils.SlaveDataSchemeCleanup($traitor)>>
-	<<run SlaveDatatypeCleanup($traitor)>>
-<</if>>
-<<if ndef $assignmentRecords>>
-	<<set $assignmentRecords = {}>>
-<</if>>
-
-Done<br>
-
-<<if $tanks.length > 0>>
-	Checking and fixing records for incubator tanks...
-	<<for _Slave range $tanks>>
-		<<run App.Update.Slave(_Slave)>>
-		<<run App.Entity.Utils.SlaveDataSchemeCleanup(_Slave)>>
-		<<run SlaveDatatypeCleanup(_Slave, true)>> /* pass second argument as true so that slaveAgeDatatypeCleanup is not run */
-	<</for>>
-	Done<br>
-<</if>>
-
-<<if $cribs.length > 0>>
-	Checking and fixing records for nursery cribs...
-	<<for _Child range $cribs>>
-		<<if _Child.actualAge < 3>>
-			<<run App.Facilities.Nursery.InfantDatatypeCleanup(_Child)>>
-		<<else>>
-			<<run App.Entity.Utils.SlaveDataSchemeCleanup(_Child, true)>>
-			<<run App.Facilities.Nursery.ChildDatatypeCleanup(_Child)>>
-		<</if>>
-	<</for>>
-	<<set $cribsIndices = App.Facilities.Nursery.cribsToIndices()>>
-	Done<br>
-<</if>>
-
-<<if $heroSlaves.length > 0>>
-	Checking and fixing special slave records...
-	<<for _Slave range $heroSlaves>>
-		<<run App.Entity.Utils.SlaveDataSchemeCleanup(_Slave)>>
-		/% No SlaveDatatypeCleanup() call as hero slaves are not SlaveState objects %/
-	<</for>>
-	Done<br>
-<</if>>
-
-<<if $releaseID === 1043>>
-	<<run $slaves.forEach(s => { s.skill.whoring = s.skill.whore/2; })>>
-	<<run $tanks.forEach(s => { s.skill.whoring = s.skill.whore/2; })>>
-	<<run $cribs.forEach(s => { s.skill.whoring = s.skill.whore/2; })>>
-	<<run $heroSlaves.forEach(hs => {
-			if (hs.hasOwnProperty("skill") && hs.skill.hasOwnProperty("whore")) {
-				hs.skill.whoring = hs.skill.whore;
-				delete hs.skill.whore;
-			}
-		});>>
-<</if>>
-
-
-<<set $slavesOriginal = []>> /* not used by pregmod */
-
-Updating gene pool records:
-<<for _bci = 0; _bci < $genePool.length; _bci++>>
-	<<set _Slave = $genePool[_bci]>>
-
-	<<run App.Update.Slave(_Slave)>>
-
-	<<if $genePool.map(function(s) { return s.ID; }).count(_Slave.ID) > 1>> /* first check for duplicate IDs, keep the first entry and delete the others */
-		<<for _bci2 = _bci + 1; _bci2 < $genePool.length; _bci2++>>
-			<<if $genePool[_bci2].ID == _Slave.ID>>
-				<<set $genePool.deleteAt(_bci2), _bci2-->>
-			<</if>>
-		<</for>>
-	<</if>>
-	<<set _dontDeleteMe = 0>>
-	<<if def $slaveIndices[_Slave.ID]>> /* are we still in the $slaves array? */
-		<<set _dontDeleteMe = 1>>
-	<</if>>
-	<<if $traitor != 0>>
-		<<if isImpregnatedBy($traitor, _Slave) || $traitor.ID == _Slave.ID>> /* did we impregnate the traitor, or are we the traitor? */
-			<<set _dontDeleteMe = 1>>
-		<</if>>
-	<</if>>
-	<<if $boomerangSlave != 0>>
-		<<if isImpregnatedBy($boomerangSlave, _Slave) || $boomerangSlave.ID == _Slave.ID>> /* did we impregnate the boomerang, or are we the boomerang? */
-			<<set _dontDeleteMe = 1>>
-		<</if>>
-	<</if>>
-	<<if isImpregnatedBy($PC, _Slave)>> /* did we impregnate the PC */
-		<<set _dontDeleteMe = 1>>
-	<</if>>
-	<<if _dontDeleteMe == 0>> /* avoid going through this loop if possible */
-		<<for _bci2 = 0; _bci2 < $slaves.length; _bci2++>>
-			<<if isImpregnatedBy($slaves[_bci2], _Slave)>> /* have we impregnated a slave on the slaves array? */
-				<<set _dontDeleteMe = 1>>
-				<<break>>
-			<</if>>
-		<</for>>
-	<</if>>
-	<<if _dontDeleteMe == 0>>
-		<<set $genePool.deleteAt(_bci), _bci-->>
-		<<continue>>
-	<</if>>
-
-	<<if ndef _Slave.origSkin>><<set _Slave.origSkin = _Slave.skin>><</if>>
-	<<if ndef _Slave.origRace>><<set _Slave.origRace = _Slave.race>><</if>>
-
-	<<if $releaseID < 1059>>
-		<<if ndef _Slave.eyesImplant>>
-			<<set _Slave.eyesImplant = 0>>
-		<</if>>
-		<<if _Slave.origEye == "implant">>
-			<<set _Slave.eyesImplant = 1>>
-			<<set _oldEyes = $genePool.find(function(s) { return s.ID = _Slave.ID; })>>
-			<<set _Slave.origEye = _oldEyes.origEye>>
-		<</if>>
-		<<if _Slave.origEye == "none">>
-			<<set _Slave.eyes = -3>>
-			<<set _oldEyes = $genePool.find(function(s) { return s.ID = _Slave.ID; })>>
-			<<set _Slave.origEye = _oldEyes.origEye>>
-		<</if>>
-		<<if _Slave.eyeColor == "empty">>
-			<<set _Slave.eyeColor = _Slave.origEye>>
-			<<set _Slave.eyes = -4>>
-		<</if>>
-	<</if>>
-
-	<<if ndef _Slave.custom>> <<set _Slave.custom = {}>> <</if>>
-	<<set _Slave.custom.tattoo = _Slave.customTat || "">>
-	<<set _Slave.custom.label = _Slave.custom.label || "">>
-	<<set _Slave.custom.desc = _Slave.custom.desc || "">>
-	<<set _Slave.custom.title = _Slave.custom.title || "">>
-	<<set _Slave.custom.titleLisp = _Slave.custom.titleLisp || "">>
-	<<set _Slave.custom.hairVector = _Slave.custom.hairVector || 0>>
-	<<set _Slave.custom.image = _Slave.custom.image || null>>
-
-	<<run App.Entity.Utils.GenePoolRecordCleanup(_Slave)>>
-	<<set $genePool[_bci] = _Slave>>
-
-<</for>>
-
-<<if $nurseryNannies > 0>>
-	<<for _bci = 0; _bci < $cribs.length; _bci++>>
-		<<run App.Update.Slave($cribs[_bci])>>
-		<<set _nurseryChild = $cribs[_bci]>>
-	<</for>>
-<</if>>
-
-<<set $AgeEffectOnTrainerPricingPC = 1>>
-<<set $AgeEffectOnTrainerEffectivenessPC = 1>>
-<<set $AgeTrainingUpperBoundPC = 14>>
-<<set $AgeTrainingLowerBoundPC = 12>>
-<<set $IsInPrimePC = 3>>
-<<set $IsPastPrimePC = 5000>>
-
-<<HeroSlavesCleanup>>
-<<run $heroSlaves.forEach(function(s) {if (s.pregType > 0 && Array.isArray(s.womb)) delete s.womb;})>>
-<<set $activeSlave = BaseSlave()>>
-<<set $baseHeroSlave = clone($activeSlave)>>
-Done<br>
-
-Updating Rules Assistant data...
-<<set $defaultRules = $defaultRules.map(rule => App.Entity.Utils.RARuleDatatypeCleanup(rule))>>
-Done<br>
-
-/* Sec Exp */
-<<= App.SecExp.Check.general()>>
-<<if $secExpEnabled == 1>>
-	<br> <<include "SecExpBackwardCompatibility">>
-<</if>>
-
-<<if ndef $masteredXP>>
-	<<set $masteredXP = 200>>
-<</if>>
-
-<<if $clubAdsSpending > 0 && $club == 0>>
-	<<set $clubAdsSpending = 0>>
-<</if>>
-<<if $brothelAdsSpending > 0 && $brothel == 0>>
-	<<set $brothelAdsSpending = 0>>
-<</if>>
-
-<<if ndef $missingTable>>
-	<<set $missingTable = {}>>
-<</if>>
-<<if ndef $showMissingSlaves>>
-	<<set $showMissingSlaves = false>>
-<</if>>
-<<if ndef $showMissingSlavesSD>>
-	<<set $showMissingSlavesSD = false>>
-<</if>>
-
-<<if ndef $postSexCleanUp>>
-	<<set $postSexCleanUp = 1>>
-<</if>>
-
-<<if def $individualCosts>>
-	<<unset $individualCosts>>
-<</if>>
-<<if def $sissy>>
-	<<unset $sissy>>
-<</if>>
-<<if ((ndef $DefaultBirthDestination) || ($DefaultBirthDestination === "") || ($DefaultBirthDestination == "anywhere"))>>
-	<<set $DefaultBirthDestination = "individually decided fates">>
-<</if>>
-<<if ndef $abbreviateHormoneBalance>>
-	<<set $abbreviateHormoneBalance = 2>>
-<</if>>
-<<if def $skillIncrease>>
-	<<unset $skillIncrease>>
-<</if>>
-
-<<if $releaseID < 1043>>
-	<<for _rule range $defaultRules>>
-		<<if _rule.condition.excludeSpecialSlaves>>
-			<<set _rule.condition.specialSlaves = 0>>
-		<<else>>
-			<<set _rule.condition.specialSlaves = -1>>
-		<</if>>
-		<<run delete _rule.condition.excludeSpecialSlaves>>
-	<</for>>
-<</if>>
-
-<<if $releaseID < 1045>>
-/* unify cybermod & vanilla */
-/* limbs */
-<<if def $limbs>>
-	<<set $adjustProsthetics = []>>
-	<<for _l range $limbs>>
-		<<switch _l.type>>
-		<<case "simple">>
-			<<set $adjustProsthetics.push({id: "basicL", workLeft: _l.weeksToCompletion * 10, slaveID: _l.ID})>>
-		<<case "sex">>
-			<<set $adjustProsthetics.push({id: "sexL", workLeft: _l.weeksToCompletion * 10, slaveID: _l.ID})>>
-		<<case "beauty">>
-			<<set $adjustProsthetics.push({id: "beautyL", workLeft: _l.weeksToCompletion * 10, slaveID: _l.ID})>>
-		<<case "combat">>
-			<<set $adjustProsthetics.push({id: "combatL", workLeft: _l.weeksToCompletion * 10, slaveID: _l.ID})>>
-		<<case "cyber">>
-			<<set $adjustProsthetics.push({id: "cyberneticL", workLeft: _l.weeksToCompletion * 10, slaveID: _l.ID})>>
-		<</switch>>
-	<</for>>
-	<<unset $limbs>>
-<</if>>
-<<if def $limbsCompleted>>
-	<<set $adjustProstheticsCompleted = $limbsCompleted>>
-	<<unset $limbsCompleted>>
-<</if>>
-
-/* lab */
-<<if ndef $researchLab>>
-	<<set $researchLab = {
-		aiModule: 1,
-		tasks: [],
-		maxSpace: 0,
-		hired: 0,
-		menials: 0,
-	}>>
-<</if>>
-<<if ndef $researchLab.level>>
-	<<set $researchLab.level = 0>>
-	<<if def $researchLab.built>>
-		<<if $researchLab.built == "true">>
-			<<set $researchLab.level = 1>>
-			<<if $prostheticsUpgrade == 0>>
-				<<set $prostheticsUpgrade = 1>>
-			<</if>>
-		<</if>>
-		<<run delete $researchLab.built>>
-	<</if>>
-<</if>>
-<<if ndef $researchLab.speed>>
-	<<set $researchLab.speed = (($researchLab.hired * 3) + $researchLab.menials) * $researchLab.aiModule>>
-<</if>>
-<<if ndef $researchLab.tasks>>
-	<<set $researchLab.tasks = []>>
-<</if>>
-<<if def $researchLab.research>>
-	<<if $researchLab.research != "none">>
-		<<switch $researchLab.research>>
-		<<case "Basic prosthetics interface">>
-			<<set _id = "interfaceP1">>
-		<<case "Advanced prosthetics interface">>
-			<<set _id = "interfaceP2">>
-		<<case "Basic prosthetic limbs">>
-			<<set _id = "basicL">>
-		<<case "Advanced sex limbs">>
-			<<set _id = "sexL">>
-		<<case "Advanced beauty limbs">>
-			<<set _id = "beautyL">>
-		<<case "Advanced combat limbs">>
-			<<set _id = "combatL">>
-		<<case "Cybernetic limbs">>
-			<<set _id = "cyberneticL">>
-		<<case "Ocular implants">>
-			<<set _id = "ocular">>
-		<<case "Cochlear implants">>
-			<<set _id = "cochlear">>
-		<<case "Electrolarynx">>
-			<<set _id = "electrolarynx">>
-		<</switch>>
-		<<set $researchLab.tasks.push({type: "research", id: _id, workLeft: $researchLab.productionTime})>>
-	<</if>>
-	<<run delete $researchLab.research>>
-<</if>>
-<<if def $researchLab.manufacture>>
-	<<if $researchLab.manufacture != "none">>
-		<<switch $researchLab.manufacture>>
-		<<case "Basic prosthetics interface">>
-			<<set _id = "interfaceP1">>
-		<<case "Advanced prosthetics interface">>
-			<<set _id = "interfaceP2">>
-		<<case "Basic prosthetic limbs">>
-			<<set _id = "basicL">>
-		<<case "Advanced sex limbs">>
-			<<set _id = "sexL">>
-		<<case "Advanced beauty limbs">>
-			<<set _id = "beautyL">>
-		<<case "Advanced combat limbs">>
-			<<set _id = "combatL">>
-		<<case "Cybernetic limbs">>
-			<<set _id = "cyberneticL">>
-		<<case "Ocular implants">>
-			<<set _id = "ocular">>
-		<<case "Cochlear implants">>
-			<<set _id = "cochlear">>
-		<<case "Electrolarynx">>
-			<<set _id = "electrolarynx">>
-		<</switch>>
-		<<set $researchLab.tasks.push({type: "craft", id: _id, workLeft: $researchLab.productionTime})>>
-	<</if>>
-	<<run delete $researchLab.manufacture>>
-<</if>>
-<<if def $researchLab.productionTime>>
-	<<run delete $researchLab.productionTime>>
-<</if>>
-
-/* stockpile */
-<<if ndef $prosthetics>>
-	<<if ndef $stockpile>>
-		<<set $prosthetics = {}>>
-		<<run setup.prostheticIDs.forEach(function(id) {
-			$prosthetics[id] = {amount: 0, research: 0};
-		})>>
-	<<else>>
-		<<if ndef $stockpile.cochlearImplant>>
-			<<set $stockpile.cochlearImplant = 0>>
-		<</if>>
-		<<if ndef $stockpile.electrolarynx>>
-			<<set $stockpile.electrolarynx = 0>>
-		<</if>>
-		<<if ndef $stockpile.interfacePTail>>
-			<<set $stockpile.interfacePTail = 0>>
-		<</if>>
-		<<if ndef $stockpile.modPTail>>
-			<<set $stockpile.modPTail = 0>>
-		<</if>>
-		<<if ndef $stockpile.warPTail>>
-			<<set $stockpile.warPTail = 0>>
-		<</if>>
-		<<if ndef $stockpile.sexPTail>>
-			<<set $stockpile.sexPTail = 0>>
-		<</if>>
-		<<set $prosthetics = {
-			interfaceP1: {amount: $stockpile.basicPLimbInterface, research: $researchLab.basicPLimbInterface},
-			interfaceP2: {amount: $stockpile.advPLimbInterface, research: $researchLab.advPLimbInterface},
-			basicL: {amount: $stockpile.basicPLimb, research: $researchLab.basicPLimb},
-			sexL: {amount: $stockpile.advSexPLimb, research: $researchLab.advSexPLimb},
-			beautyL: {amount: $stockpile.advGracePLimb, research: $researchLab.advGracePLimb},
-			combatL: {amount: $stockpile.advCombatPLimb, research: $researchLab.advCombatPLimb},
-			cyberneticL: {amount: $stockpile.cyberneticPLimb, research: $researchLab.cyberneticPLimb},
-			ocular: {amount: $stockpile.ocularImplant, research: $researchLab.ocularImplant},
-			cochlear: {amount: $stockpile.cochlearImplant, research: $researchLab.cochlearImplant},
-			electrolarynx: {amount: $stockpile.electrolarynx, research: $researchLab.electrolarynx},
-			interfaceTail: {amount: $stockpile.interfacePTail, research: 0},
-			modT: {amount: $stockpile.modPTail, research: 0},
-			combatT: {amount: $stockpile.warPTail, research: 0},
-			sexT: {amount: $stockpile.sexPTail, research: 0},
-			erectile: {amount: $stockpile.erectileImplant, research: $researchLab.erectileImplant}
-		}>>
-		<<run delete $stockpile>>
-		<<run delete $researchLab.basicPLimbInterface>>
-		<<run delete $researchLab.advPLimbInterface>>
-		<<run delete $researchLab.basicPLimb>>
-		<<run delete $researchLab.advSexPLimb>>
-		<<run delete $researchLab.advGracePLimb>>
-		<<run delete $researchLab.advCombatPLimb>>
-		<<run delete $researchLab.cyberneticPLimb>>
-		<<run delete $researchLab.ocularImplant>>
-		<<run delete $researchLab.cochlearImplant>>
-		<<run delete $researchLab.electrolarynx>>
-		<<run delete $researchLab.erectileImplant>>
-	<</if>>
-<</if>>
-<<if def $cyberMod>>
-	<<unset $cyberMod>>
-<</if>>
-/* unify cybermod & vanilla finished*/
-
-<<if def $buyArcologyDirection>>
-	<<run delete $buyArcologyDirection>>
-<</if>>
-<<if def $sellArcologyDirection>>
-	<<run delete $sellArcologyDirection>>
-<</if>>
-<<if def $transaction>>
-	<<run delete $transaction>>
-<</if>>
-
-<<unset $SlaveSummaryFiler>>
-<</if>> /* release 1044 */
-
-<<if $releaseID < 1047>>
-	<<if $loliGrow > 0>>
-		<<set $loliGrow = 1>>
-	<<else>>
-		<<set $loliGrow = 0>>
-	<</if>>
-<</if>>
-
-<<if def $activeArcology>>
-	<<unset $activeArcology>>
-<</if>>
-
-<<set $HackingSkillMultiplier = upgradeMultiplier('hacking')>>
-<<set $upgradeMultiplierArcology = upgradeMultiplier('engineering')>>
-<<set $upgradeMultiplierMedicine = upgradeMultiplier('medicine')>>
-<<set $upgradeMultiplierTrade = upgradeMultiplier('trading')>>
-
-<<if ndef $sideBarOptions>>
-	<<set $sideBarOptions = {compact:1, Cash:1, Upkeep:1, SexSlaveCount:1, roomPop:1, Rep:1, GSP:1, Authority:1, Security:1, Crime:1}>>
-<</if>>
-<<if ndef $sideBarOptions.roomPop>>
-	<<set $sideBarOptions.roomPop = 1>>
-<</if>>
-<<if ndef $sideBarOptions.compact>> <<set $sideBarOptions.compact = 1>> <</if>>
-
-<<set $JobIDArray = resetJobIDArray()>>
-
-<<if $arcologies[0].FSSubjugationist !== "unset" && !Number.isFinite($arcologies[0].FSSubjugationist)>>
-	<<set $arcologies[0].FSSubjugationist = 10>>
-	<br>Fixed NaN FS value for FSSubjugationist
-<</if>>
-<<if $arcologies[0].FSGenderRadicalist !== "unset" && !Number.isFinite($arcologies[0].FSGenderRadicalist)>>
-	<<set $arcologies[0].FSGenderRadicalist = 10>>
-	<br>Fixed NaN FS value for FSGenderRadicalist
-<</if>>
-<<if $arcologies[0].FSRestart !== "unset" && !Number.isFinite($arcologies[0].FSRestart)>>
-	<<set $arcologies[0].FSRestart = 10>>
-	<br>Fixed NaN FS value for FSRestart
-<</if>>
-<<if $arcologies[0].FSRepopulationFocus !== "unset" && !Number.isFinite($arcologies[0].FSRepopulationFocus)>>
-	<<set $arcologies[0].FSRepopulationFocus = 10>>
-	<br>Fixed NaN FS value for FSRepopulationFocus
-<</if>>
-<<if $arcologies[0].FSSupremacist !== "unset" && !Number.isFinite($arcologies[0].FSSupremacist)>>
-	<<set $arcologies[0].FSSupremacist = 10>>
-	<br>Fixed NaN FS value for FSSupremacist
-<</if>>
-<<if $arcologies[0].FSBodyPurist !== "unset" && !Number.isFinite($arcologies[0].FSBodyPurist)>>
-	<<set $arcologies[0].FSBodyPurist = 10>>
-	<br>Fixed NaN FS value for FSBodyPurist
-<</if>>
-<<if $arcologies[0].FSPaternalist !== "unset" && !Number.isFinite($arcologies[0].FSPaternalist)>>
-	<<set $arcologies[0].FSPaternalist = 10>>
-	<br>Fixed NaN FS value for FSPaternalist
-<</if>>
-<<if $arcologies[0].FSSlimnessEnthusiast !== "unset" && !Number.isFinite($arcologies[0].FSSlimnessEnthusiast)>>
-	<<set $arcologies[0].FSSlimnessEnthusiast = 10>>
-	<br>Fixed NaN FS value for FSSlimnessEnthusiast
-<</if>>
-<<if $arcologies[0].FSGenderFundamentalist !== "unset" && !Number.isFinite($arcologies[0].FSGenderFundamentalist)>>
-	<<set $arcologies[0].FSGenderFundamentalist = 10>>
-	<br>Fixed NaN FS value for FSGenderFundamentalist
-<</if>>
-<<if $arcologies[0].FSMaturityPreferentialist !== "unset" && !Number.isFinite($arcologies[0].FSMaturityPreferentialist)>>
-	<<set $arcologies[0].FSMaturityPreferentialist = 10>>
-	<br>Fixed NaN FS value for FSMaturityPreferentialist
-<</if>>
-<<if $arcologies[0].FSYouthPreferentialist !== "unset" && !Number.isFinite($arcologies[0].FSYouthPreferentialist)>>
-	<<set $arcologies[0].FSYouthPreferentialist = 10>>
-	<br>Fixed NaN FS value for FSYouthPreferentialist
-<</if>>
-<<if $arcologies[0].FSTransformationFetishist !== "unset" && !Number.isFinite($arcologies[0].FSTransformationFetishist)>>
-	<<set $arcologies[0].FSTransformationFetishist = 10>>
-	<br>Fixed NaN FS value for FSTransformationFetishist
-<</if>>
-<<if $arcologies[0].FSHedonisticDecadence !== "unset" && !Number.isFinite($arcologies[0].FSHedonisticDecadence)>>
-	<<set $arcologies[0].FSHedonisticDecadence = 10>>
-	<br>Fixed NaN FS value for FSHedonisticDecadence
-<</if>>
-<<if $arcologies[0].FSPhysicalIdealist !== "unset" && !Number.isFinite($arcologies[0].FSPhysicalIdealist)>>
-	<<set $arcologies[0].FSPhysicalIdealist = 10>>
-	<br>Fixed NaN FS value for FSPhysicalIdealist
-<</if>>
-<<if $arcologies[0].FSPastoralist !== "unset" && !Number.isFinite($arcologies[0].FSPastoralist)>>
-	<<set $arcologies[0].FSPastoralist = 10>>
-	<br>Fixed NaN FS value for FSPastoralist
-<</if>>
-<<if $arcologies[0].FSAssetExpansionist !== "unset" && !Number.isFinite($arcologies[0].FSAssetExpansionist)>>
-	<<set $arcologies[0].FSAssetExpansionist = 10>>
-	<br>Fixed NaN FS value for FSAssetExpansionist
-<</if>>
-<<if $arcologies[0].FSDegradationist !== "unset" && !Number.isFinite($arcologies[0].FSDegradationist)>>
-	<<set $arcologies[0].FSDegradationist = 10>>
-	<br>Fixed NaN FS value for FSDegradationist
-<</if>>
-<<if $arcologies[0].FSRomanRevivalist !== "unset" && !Number.isFinite($arcologies[0].FSRomanRevivalist)>>
-	<<set $arcologies[0].FSRomanRevivalist = 10>>
-	<br>Fixed NaN FS value for FSRomanRevivalist
-<</if>>
-<<if $arcologies[0].FSChattelReligionist !== "unset" && !Number.isFinite($arcologies[0].FSChattelReligionist)>>
-	<<set $arcologies[0].FSChattelReligionist = 10>>
-	<br>Fixed NaN FS value for FSChattelReligionist
-<</if>>
-<<if $arcologies[0].FSChineseRevivalist !== "unset" && !Number.isFinite($arcologies[0].FSChineseRevivalist)>>
-	<<set $arcologies[0].FSChineseRevivalist = 10>>
-	<br>Fixed NaN FS value for FSChineseRevivalist
-<</if>>
-<<if $arcologies[0].FSArabianRevivalist !== "unset" && !Number.isFinite($arcologies[0].FSArabianRevivalist)>>
-	<<set $arcologies[0].FSArabianRevivalist = 10>>
-	<br>Fixed NaN FS value for FSArabianRevivalist
-<</if>>
-<<if $arcologies[0].FSEdoRevivalist !== "unset" && !Number.isFinite($arcologies[0].FSEdoRevivalist)>>
-	<<set $arcologies[0].FSEdoRevivalist = 10>>
-	<br>Fixed NaN FS value for FSEdoRevivalist
-<</if>>
-<<if $arcologies[0].FSEgyptianRevivalist !== "unset" && !Number.isFinite($arcologies[0].FSEgyptianRevivalist)>>
-	<<set $arcologies[0].FSEgyptianRevivalist = 10>>
-	<br>Fixed NaN FS value for FSEgyptianRevivalist
-<</if>>
-<<if $arcologies[0].FSAztecRevivalist !== "unset" && !Number.isFinite($arcologies[0].FSAztecRevivalist)>>
-	<<set $arcologies[0].FSAztecRevivalist = 10>>
-	<br>Fixed NaN FS value for FSAztecRevivalist
-<</if>>
-<<if $arcologies[0].FSIntellectualDependency !== "unset" && !Number.isFinite($arcologies[0].FSIntellectualDependency)>>
-	<<set $arcologies[0].FSIntellectualDependency = 10>>
-	<br>Fixed NaN FS value for FSIntellectualDependency
-<</if>>
-<<if $arcologies[0].FSSlaveProfessionalism !== "unset" && !Number.isFinite($arcologies[0].FSSlaveProfessionalism)>>
-	<<set $arcologies[0].FSSlaveProfessionalism = 10>>
-	<br>Fixed NaN FS value for FSSlaveProfessionalism
-<</if>>
-<<if $arcologies[0].FSPetiteAdmiration !== "unset" && !Number.isFinite($arcologies[0].FSPetiteAdmiration)>>
-	<<set $arcologies[0].FSPetiteAdmiration = 10>>
-	<br>Fixed NaN FS value for FSPetiteAdmiration
-<</if>>
-<<if $arcologies[0].FSStatuesqueGlorification !== "unset" && !Number.isFinite($arcologies[0].FSStatuesqueGlorification)>>
-	<<set $arcologies[0].FSStatuesqueGlorification = 10>>
-	<br>Fixed NaN FS value for FSStatuesqueGlorification
-<</if>>
-<<run App.Corporate.Backcompat() >>
-
-<<if $sortSlavesBy === "income" || $sortSlavesBy === "lastWeeksCashIncome">>
-	<<set $sortSlavesBy = "weeklyIncome">>
-<</if>>
-
-<<if ndef $tooltipsEnabled>>
-	<<set $tooltipsEnabled = 0>>
-<</if>>
-
-<<set _newOrgans = []>>
-<<run $organs.forEach(o => {
-	if (o.type === "eyes") {
-		_newOrgans.push({type: "leftEye", weeksToCompletion: o.weeksToCompletion, ID: o.ID});
-		_newOrgans.push({type: "rightEye", weeksToCompletion: o.weeksToCompletion, ID: o.ID});
-	} else {
-		_newOrgans.push(o);
-	}
-})>>
-<<set $organs = _newOrgans>>
-
-<<set _newOrgans = []>>
-<<run $completedOrgans.forEach(o => {
-	if (o.type === "eyes") {
-		_newOrgans.push({type: "leftEye", ID: o.ID});
-		_newOrgans.push({type: "rightEye", ID: o.ID});
-	} else {
-		_newOrgans.push(o);
-	}
-})>>
-<<set $completedOrgans = _newOrgans>>
-
-<<if def $organsCompleted>>
-	<<unset $organsCompleted>>
-<</if>>
-
-<<if ($PC.customTitle == "")>>
-	<<set $PC.customTitle = undefined, $PC.customTitleLisp = undefined>>
-<</if>>
-
-<<if ndef $building>>
-	<<if def $sectors>>
-		<<run App.Update.sectorsToBuilding()>>
-	<<else>>
-		<<set $building = App.Arcology.defaultBuilding()>>
-	<</if>>
-<</if>>
-
-<<if ndef $slavePanelStyle>>
-	<<set $slavePanelStyle = $lineSeparations>>
-<</if>>
-
-/* leave this at the bottom of BC */
-<<if $releaseID < App.Version.release>>
-	<<set $releaseID = App.Version.release>>
-<</if>>
-/* reset NaNArray after BC is run */
-<<set $NaNArray = findNaN()>>
diff --git a/src/uncategorized/arcmgmt.tw b/src/uncategorized/arcmgmt.tw
index 590f069749ede3135875b8fd24446b12f77ec39b..5595f0200ba1f28fd460cc89c1710c4069079a29 100644
--- a/src/uncategorized/arcmgmt.tw
+++ b/src/uncategorized/arcmgmt.tw
@@ -799,14 +799,14 @@ $menialBioreactors -= _expirationBR>>
 <<if $arcologies[0].honeymoon > 0>>
 	<<set _honeymoon = 10 * $arcologies[0].honeymoon>>
 <</if>>
-<<set $oldVisitors = $visitors,
+<<set _oldVisitors = $visitors,
 $visitors = Math.trunc((($arcologies[0].prosperity + _FSScore * 5 + _honeymoon) * _transportHub * _terrain * _crime) * ($localEcon / 100))>>
 <<if $visitors < 50>>
 	<<set $visitors = normalRandInt(50, 2)>>
 <</if>>
 <<if isNaN($visitors)>>
 	<br>@@.red;Visitors is NaN, report this issue!@@
-	<<set $visitors = $oldVisitors>>
+	<<set $visitors = _oldVisitors>>
 <</if>>
 <br>@@.green;<<print $visitors>> traders and tourists@@ visited your arcology this week.
 
diff --git a/src/uncategorized/initRules.tw b/src/uncategorized/initRules.tw
index 6c38817e0aa0a4160d23a8d03ec92c8849d76c62..bf4b5a1d76aa497178465653052c1dbfb4ae8f8d 100644
--- a/src/uncategorized/initRules.tw
+++ b/src/uncategorized/initRules.tw
@@ -1,7 +1,6 @@
 :: Init Rules
 
 <<silently>>
-<<set $defaultRules = []>>
 
 <<set _activeRule = emptyDefaultRule()>>
 <<set _activeRule.name = "Obedient Slaves">>
diff --git a/src/uncategorized/nextWeek.tw b/src/uncategorized/nextWeek.tw
index 1bb4a6ff0ffc8adff0df75c3e7a1039d72d761cc..3ab4871a051ce622581ea41c32e0eb51bcc3d4c9 100644
--- a/src/uncategorized/nextWeek.tw
+++ b/src/uncategorized/nextWeek.tw
@@ -292,35 +292,35 @@
 <<set _seed = random(1,10)>>
 <<if $week < 25>>
 	<<if _seed > 4>>
-		<<set $weatherToday = $niceWeather.random()>>
+		<<set $weatherToday = App.Data.weather.nice.random()>>
 	<<else>>
-		<<set $weatherToday = $lightWeather.random()>>
+		<<set $weatherToday = App.Data.weather.light.random()>>
 	<</if>>
 <<elseif $week < 50>>
 	<<if _seed > 4>>
-		<<set $weatherToday = $niceWeather.random()>>
+		<<set $weatherToday = App.Data.weather.nice.random()>>
 	<<elseif _seed > 2>>
-		<<set $weatherToday = $lightWeather.random()>>
+		<<set $weatherToday = App.Data.weather.light.random()>>
 	<<else>>
-		<<set $weatherToday = $heavyWeather.random()>>
+		<<set $weatherToday = App.Data.weather.heavy.random()>>
 	<</if>>
 <<elseif $week < 75>>
 	<<if _seed > 6>>
-		<<set $weatherToday = $niceWeather.random()>>
+		<<set $weatherToday = App.Data.weather.nice.random()>>
 	<<elseif _seed > 3>>
-		<<set $weatherToday = $lightWeather.random()>>
+		<<set $weatherToday = App.Data.weather.light.random()>>
 	<<else>>
-		<<set $weatherToday = $heavyWeather.random()>>
+		<<set $weatherToday = App.Data.weather.heavy.random()>>
 	<</if>>
 <<else>>
 	<<if _seed > 8>>
-		<<set $weatherToday = $niceWeather.random()>>
+		<<set $weatherToday = App.Data.weather.nice.random()>>
 	<<elseif _seed > 6>>
-		<<set $weatherToday = $lightWeather.random()>>
+		<<set $weatherToday = App.Data.weather.light.random()>>
 	<<elseif _seed > 2>>
-		<<set $weatherToday = $heavyWeather.random()>>
+		<<set $weatherToday = App.Data.weather.heavy.random()>>
 	<<else>>
-		<<set $weatherToday = $extremeWeather.random()>>
+		<<set $weatherToday = App.Data.weather.extreme.random()>>
 	<</if>>
 <</if>>
 
diff --git a/src/uncategorized/randomNonindividualEvent.tw b/src/uncategorized/randomNonindividualEvent.tw
index 9eb5b09156549f54a51a2b3c846ca8ecd042a1d2..2b07f23227b2be8349786d65dd3ed0567737200c 100644
--- a/src/uncategorized/randomNonindividualEvent.tw
+++ b/src/uncategorized/randomNonindividualEvent.tw
@@ -777,7 +777,7 @@
 			<<set $events.push("RE relative recruiter")>>
 			<<set $recruiterSlave = $recruiterSlave.ID>>
 			<<break>>
-		<<else>> /* no matching slave object in the slavesOriginal array -- bug? */
+		<<else>> /* no matching slave object in the array -- bug? */
 			<<set $i = $slaveIndices[$recruiterSlave.ID]>>
 			<<set $slaves[$i].canRecruit = 0>>
 			<<set $recruiterSlave = -1>>
diff --git a/src/uncategorized/slaveMarkets.tw b/src/uncategorized/slaveMarkets.tw
index 8aa8fd387d2bf7e62e6acd7563bc8c8482ae5523..219e66cc40a73d5316a0b1c80cad05cd5f092fa7 100644
--- a/src/uncategorized/slaveMarkets.tw
+++ b/src/uncategorized/slaveMarkets.tw
@@ -141,7 +141,7 @@ You visit the slave markets off the arcology plaza. It's always preferable to ex
 	You're in the area of the slave market that specializes in slaves from within the Free City, viewing slaves from ''<<print "$arcologies[$numArcology].name">>''. Some were trained there, specifically for sale, while others are simply being sold.
 	<<set _opinion = arcologyOpinion($arcologies[0], $arcologies[$numArcology])>>
 	<<if _opinion != 0>>
-		<<set _slaveCost -= Math.trunc(_slaveCost*$opinion*0.05)>>
+		<<set _slaveCost -= Math.trunc(_slaveCost*_opinion*0.05)>>
 		<<if _opinion > 2>>
 			Your cultural ties with '' $arcologies[$numArcology].name'' helps keep the price reasonable.
 		<<elseif _opinion < -2>>