From bc2cbc5ff82a32c4273ad84aa6e219d52688116e Mon Sep 17 00:00:00 2001
From: lowercasedonkey <lowercasedonkey@gmail.com>
Date: Mon, 2 Mar 2020 21:43:23 -0500
Subject: [PATCH] recover the sorting init had

---
 src/init/storyInit.js | 1305 ++++++++++++++++++++---------------------
 1 file changed, 645 insertions(+), 660 deletions(-)

diff --git a/src/init/storyInit.js b/src/init/storyInit.js
index 8b6c1a9dbd5..ba6cb9e5217 100644
--- a/src/init/storyInit.js
+++ b/src/init/storyInit.js
@@ -25,551 +25,17 @@ App.Data.defaultGameStateVariables = {
 	returnTo: "init",
 	nextButton: "Continue",
 	nextLink: "Alpha disclaimer",
-
-
-
-
-	shelterGirlsIDs: [], // Only needed in endweek loop
-	PCTitle: "",
-	lastWeeksCashErrors: "",
-	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,
-	coursed: 0,
-	eventDescription: 0,
-	pitFought: 0,
-	prestigeAuctioned: 0,
-	eliteAuctioned: 0,
-	shelterSlave: 0,
-	shelterSlaveBought: 0,
-	slaveMarketLimit: 0,
-	slavesSeen: 0,
-	slavesSacrificedThisWeek: 0,
-	subSlaves: 0,
-
-	PopCap: 0,
-	ver: 0,
-	pmodVer: 0,
-	releaseID: 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,
-	wasToggledBefore: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,
-	randShow: 0,
-	lastShow: -1,
-	reminderEntry: "",
-	reminderWeek: "",
-	lastWeeksCashIncome: {},
-	lastWeeksCashExpenses: {},
-	lastWeeksCashProfits: {},
-	lastWeeksRepIncome: {},
-	lastWeeksRepExpenses: {},
-	lastWeeksRepProfits: {},
-	PC: {},
-	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,
-	HGEnergy: 0,
-	HGCum: 0,
-	HGSlaveSuccess: 0,
-	HeadGirl: 0,
-	Recruiter: 0,
-	Madam: 0,
-	unMadam: 0,
-	madamCashBonus: 0,
-	whorePriceAdjustment: {},
-	DJ: 0,
-	unDJ: 0,
-	DJRepBonus: 0,
-	Milkmaid: 0,
-	Farmer: 0,
-	Collectrix: 0,
-	Stewardess: 0,
-	Schoolteacher: 0,
-	Wardeness: 0,
-	Concubine: 0,
-	Attendant: 0,
-	Matron: 0,
-	Nurse: 0,
-	Bodyguard: 0,
-	fuckSlaves: 0,
-	freeSexualEnergy: 0,
-	publicServants: 0,
-	cumSlaves: 0,
-	averageDick: 0,
-	slavesWithWorkingDicks: 0,
-	slaveJobValues: {},
-
-	goodImageCampaign: 0,
-	sexualOpeness: 0,
-	CulturalOpenness: 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,
-	PAPublic: 0,
-	CoursingAssociation: 0,
-	Lurcher: 0,
-	MixedMarriage: 0,
-	retirementAge: 45,
-	customRetirementAge: 45,
-	customMenialRetirementAge: 65,
-	retirementCum: 500000,
-	CustomRetirementAgePolicy: 0,
-	PhysicalRetirementAgePolicy: 0,
-	CumMilestoneRetirement: 0,
-	BioreactorRetirement: 0,
-	ArcadeRetirement: 0,
-	CitizenRetirement: 0,
-	citizenRetirementMenials: 0,
-	FSSupLawTrigger: 0,
-	FSSubLawTrigger: 0,
-	FSSlaveProfLawTrigger: 0,
-
-	fluid: 0,
-	cumSale: 0,
-	showClothingErection: true,
-	revivalistLanguage: 0,
-	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,
-	corpOpCost: 0,
-	corpNeighborBonus: 0,
-	corpOverhead: 0,
-	corpEconBonus: 0,
-	corpNeighborBonusOld: 0,
-	corpEconBonusOld: 0,
-	corpEconOld: 0,
-	assignmentRecords: {},
-	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: {},
-	desc: 0,
-	piercingScore: 0,
-	tatScore: 0,
-	brandScore: 0,
-	scarScore: 0,
-	modScore: 0,
-	bellyAccessory: 0,
-	skinDesc: 0,
-	JobIDArray: {},
-	averageTrust: 0,
-	averageDevotion: 0,
-	enduringTrust: 0,
-	enduringDevotion: 0,
-	pornStars: {},
-	defaultRules: [],
-	slaves: [],
-	genePool: [],
-	slaveIndices: {},
+	ver: 0,
+	pmodVer: 0,
+	releaseID: 0,
+	slaveIndices: 0,
+	genePool: {},
 	missingTable: {},
+	slaves: [],
 	showMissingSlaves: false,
 	showMissingSlavesSD: false,
-	saveImported: 0,
-	marrying: [], /* array of slave being married this week*/
+	marrying: [],
+	// array of slave being married this week
 	organs: [],
 	ArcadeiIDs: [],
 	BrothiIDs: [],
@@ -584,6 +50,8 @@ App.Data.defaultGameStateVariables = {
 	ServQiIDs: [],
 	SpaiIDs: [],
 	NurseryiIDs: [],
+	saveImported: 0,
+	PC: {},
 	freshPC: 0,
 	cheater: 0,
 	cash: 0,
@@ -697,6 +165,16 @@ App.Data.defaultGameStateVariables = {
 	useSlaveSummaryOverviewTab: 0,
 	useSlaveListInPageJSNavigation: 0,
 	killChoice: -1,
+	assignmentRecords: {},
+	verboseDescriptions: 0,
+	useAccordion: 0,
+	debugMode: 0,
+	showNeighborDetails: 1,
+	useTabs: 0,
+	tabChoice: {},
+	formatNumbers: 1,
+	makeDicks: 0,
+	showEconomicDetails: 0,
 	allowMaleSlaveNames: false,
 	profiler: 0,
 	economy: 100,
@@ -709,12 +187,9 @@ App.Data.defaultGameStateVariables = {
 	inbreeding: 1,
 	allowFamilyTitles: 0,
 	surnameOrder: 0,
-	useAccordion: 0,
-	debugMode: 0,
-	showNeighborDetails: 1,
-	useTabs: 0,
-	tabChoice: {Main: "all"},
-	formatNumbers: 1,
+	disableLisping: 0,
+	weightAffectsAssets: 1,
+	curativeSideEffects: 1,
 	// eslint-disable-next-line camelcase
 	pedo_mode: 0,
 	minimumSlaveAge: 18,
@@ -723,15 +198,92 @@ App.Data.defaultGameStateVariables = {
 	AgePenalty: 1,
 	precociousPuberty: 0,
 	loliGrow: 0,
+	retirementAge: 45,
+	customRetirementAge: 45,
+	customMenialRetirementAge: 65,
 	FSCreditCount: 5,
-	disableLisping: 0,
-	weightAffectsAssets: 1,
-	curativeSideEffects: 1,
-	verboseDescriptions: 0,
-	makeDicks: 0,
-	showEconomicDetails: 0,
+	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: {},
+	REFeminizationCheckinIDs: [],
+	REMILFCheckinIDs: [],
+	REOrientationCheckinIDs: [],
+	REUglyCheckinIDs: [],
+	REButtholeCheckinIDs: [],
+	REFutaSisterCheckinIDs: [],
+	REReductionCheckinIDs: [],
 	activeSlave: 0,
 	activeChild: 0,
+	reminders: [],
 	boomerangSlave: 0,
 	boomerangWeeks: 0,
 	boomerangBuyer: 0,
@@ -788,6 +340,7 @@ App.Data.defaultGameStateVariables = {
 	dairyName: "the Dairy",
 	dairyNameCaps: "The Dairy",
 	dairy: 0,
+	cumSlaves: 0,
 	clubDecoration: "standard",
 	clubUpgradePDAs: 0,
 	clubAdsSpending: 0,
@@ -820,7 +373,6 @@ App.Data.defaultGameStateVariables = {
 	spaFix: 0,
 	spaName: "the Spa",
 	spaNameCaps: "The Spa",
-
 	// Incubator Subsection
 	incubator: 0,
 	incubatorSlaves: 0,
@@ -841,6 +393,7 @@ App.Data.defaultGameStateVariables = {
 	incubatorName: "the Incubator",
 	incubatorNameCaps: "The Incubator",
 	reservedChildren: 0,
+	tanks: [],
 	clinicDecoration: "standard",
 	clinic: 0,
 	clinicUpgradeFilters: 0,
@@ -865,27 +418,26 @@ App.Data.defaultGameStateVariables = {
 	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? */
+	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 */
+	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 */
+	nurseryOrgans: 0,					// not currently in use
 	nurseryImprintSetting: 0,
 	nurseryWeightSetting: 0,
 	nurseryMusclesSetting: 0,
@@ -893,15 +445,18 @@ App.Data.defaultGameStateVariables = {
 	nurseryName: "the Nursery",
 	nurseryNameCaps: "The Nursery",
 	reservedChildrenNursery: 0,
-	childToSlave: -1,					/* number of total children that have become slaves */
+	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: {},
 	farmyardCrops: 0,
 	farmyardStable: 0,
 	farmyardKennels: 0,
@@ -910,9 +465,13 @@ App.Data.defaultGameStateVariables = {
 	activeHooved: 0,
 	activeFeline: 0,
 	farmyardLab: 0,
+	farmyardLabUpgrades: {},
+	animalsBought: {},
+	canines: [],
+	hooved: [],
+	felines: [],
 	farmyardName: "the Farmyard",
 	farmyardNameCaps: "The Farmyard",
-
 	HGSuite: 0,
 	HGSuiteSurgery: 1,
 	HGSuiteDrugs: 1,
@@ -920,12 +479,14 @@ App.Data.defaultGameStateVariables = {
 	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",
@@ -938,22 +499,20 @@ App.Data.defaultGameStateVariables = {
 	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,
@@ -961,7 +520,7 @@ App.Data.defaultGameStateVariables = {
 	FSSpending: 0,
 	FSLockinLevel: 100,
 	applyLaw: 0,
-
+	FSPromenade: {},
 	// new corporation variables
 	newCorp: 1,
 	vanillaShareSplit: 1,
@@ -988,16 +547,21 @@ App.Data.defaultGameStateVariables = {
 	corpDivMenialDev: 0,
 	corpDivDairyDev: 0,
 	corpDivWhoreDev: 0,
+	corpSpecRaces: [],
 	corpAnnounced: 0,
 	corpIncorporated: 0,
 	corpMarket: 0,
-	/* Slave sexual services and goods variables */
+	// Slave sexual services and goods variables
 	publicFuckdolls: 0,
+	classSatisfied: {},
+	whoreBudget: {},
 	arcadePrice: 2,
 	clubSlaveSexAmount: 0,
+	shelterSlave: 0,
+	shelterSlaveBought: 0,
 	shelterAbuse: 0,
 	shelterSlaveGeneratedWeek: 0,
-	/* alternate clothing access variables */
+	// alternate clothing access variables
 	clothesBoughtBunny: 0,
 	clothesBoughtConservative: 0,
 	clothesBoughtChains: 0,
@@ -1018,7 +582,7 @@ App.Data.defaultGameStateVariables = {
 	clothesBoughtCourtesan: 0,
 	shoesBoughtHeels: 0,
 	clothesBoughtPetite: 0,
-	/* non-fs */
+	// non-fs
 	clothesBoughtMilitary: 0,
 	clothesBoughtCultural: 0,
 	clothesBoughtMiddleEastern: 0,
@@ -1040,6 +604,7 @@ App.Data.defaultGameStateVariables = {
 	toysBoughtButtPlugTails: 0,
 	toysBoughtSmartVibes: 0,
 	buckets: 0,
+	// pregmod variables
 	specialSlavesPriceOverride: 0,
 	pregAccessibility: 0,
 	dickAccessibility: 0,
@@ -1059,8 +624,11 @@ App.Data.defaultGameStateVariables = {
 	clinicInflateBelly: 0,
 	playerBred: 0,
 	propOutcome: 0,
+	EliteSires: [],
 	startingPoint: -1,
+	PhysicalRetirementAgePolicy: 0,
 	raped: -1,
+	children: [],
 	missingParentID: -10000,
 	startingSlaveRelative: 0,
 	mom: 0,
@@ -1080,6 +648,8 @@ App.Data.defaultGameStateVariables = {
 	receiverAvailable: 0,
 	FCTVshow: 0,
 	FCTVremote: 0,
+	lastShow: 0,
+	randShow: 0,
 	FCNNstation: 0,
 	MercenariesMessageSent: 0,
 	SpecialForcesMessageSent: 0,
@@ -1095,26 +665,60 @@ App.Data.defaultGameStateVariables = {
 	badC: 0,
 	badB: 0,
 	schoolSuggestion: 0,
+	TSS: {},
+	GRI: {},
+	SCP: {},
+	LDE: {},
+	TGA: {},
+	TCR: {},
+	TFS: {},
 	futaAddiction: 0,
+	HA: {},
+	NUL: {},
 	IDNumber: 1,
-	nIDNumber: 1,	/* tracks children in the nursery */
+	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: [],
+	// not in setupVars because we remove events from this array as they occur
+	prisonCircuit: [],
+	prisonCircuitIndex: 0,
 	fixedNationality: 0,
 	fixedRace: 0,
 	ui: "start",
 	tooltipsEnabled: 0,
+	brandTarget: {},
+	brandDesign: {},
+	scarTarget: {},
+	scarDesign: {},
 	oralTotal: 0,
 	vaginalTotal: 0,
 	analTotal: 0,
@@ -1154,6 +758,7 @@ App.Data.defaultGameStateVariables = {
 	dispensary: 0,
 	dispensaryUpgrade: 0,
 	organFarmUpgrade: 0,
+	completedOrgans: [],
 	ImplantProductionUpgrade: 0,
 	permaPregImplant: 0,
 	injectionUpgrade: 0,
@@ -1180,12 +785,19 @@ App.Data.defaultGameStateVariables = {
 	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,
@@ -1196,6 +808,7 @@ App.Data.defaultGameStateVariables = {
 	surgeryDescription: 0,
 	encyclopedia: "How to Play",
 	showEncyclopedia: 1,
+	trinkets: [],
 	SPcost: 1000,
 	debtWarned: 0,
 	internationalTrade: 1,
@@ -1212,16 +825,23 @@ App.Data.defaultGameStateVariables = {
 	deltaDemandOld: 0,
 	deltaSupply: 0,
 	deltaSupplyOld: 0,
+	NPCSexSupply: {},
+	NPCMarketShare: {},
+	sexSubsidies: {},
+	sexSupplyBarriers: {},
 	minimumSlaveCost: 2500,
 	facilityCost: 100,
 	enduringRep: 1000,
 	rep: 0,
 	repLastWeek: 0,
+	arcologyUpgrade: {},
 	AGrowth: 2,
 	ACitizens: 4250,
 	lowerClass: 3120,
 	LSCBase: 800,
 	visitors: 0,
+	rentDefaults: {},
+	rent: {},
 	rentEffectL: 1,
 	middleClass: 890,
 	MCBase: 200,
@@ -1242,29 +862,88 @@ App.Data.defaultGameStateVariables = {
 	foodStored: 0,
 	foodCost: 25,
 	foodMarket: 0,
+	foodRate: {},
+	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,
@@ -1281,8 +960,17 @@ App.Data.defaultGameStateVariables = {
 	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,
@@ -1291,15 +979,19 @@ App.Data.defaultGameStateVariables = {
 	targetAge: 18,
 	pubertyLength: 5,
 	maxGrowthAge: 24,
-	/* Job Fulfillment Center */
+	// Job Fulfillment Center
 	JFCOrder: 0,
 	Role: "",
 	cheatMode: 0,
 	cheatModeM: 1,
-	/* HACKY EVENT WORKAROUNDS */
+	experimental: {},
+	NaNArray: [],
+	fcnn: [],
+	// HACKY EVENT WORKAROUNDS
 	eventID: -1,
-	/* INCORPORATED MODS */
-	/* Misc mod variables */
+	// INCORPORATED MODS
+	// SFVAR SF: {}
+	// Misc mod variables
 	recruiterEugenics: 0,
 	AgeEffectOnTrainerPricingPC: 1,
 	AgeEffectOnTrainerEffectivenessPC: 1,
@@ -1309,98 +1001,391 @@ App.Data.defaultGameStateVariables = {
 	IsPastPrimePC: 5000,
 	prostheticsUpgrade: 0,
 	adjustProstheticsCompleted: 0,
+	adjustProsthetics: [],
+	// format: {}
+	// task: {}
+	researchLab: {},
+	prosthetics: {},
+	merchantFSWares: [],
+	merchantIllegalWares: [],
+	// "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 */
+	// Career-skill gain
 	masteredXP: 200,
-	/* Weather effect on economy */
+	// Weather effect on economy
 	antiWeatherFreeze: 0,
 	econWeatherDamage: 0,
 	disasterResponse: 0,
 	postSexCleanUp: 1,
+	sideBarOptions: {},
 	DefaultBirthDestination: "individually decided fates",
 	abbreviateHormoneBalance: 2,
-	completedOrgans: [],
-	trinkets: [],
-	children: [],
-	NaNArray: [],
-	prosthetics: {},
-	canines: [],
-	hooved: [],
-	felines: [],
-	fighterIDs: [],
-	tanks: [],
-	REFeminizationCheckinIDs: [],
-	REMILFCheckinIDs: [],
-	REOrientationCheckinIDs: [],
-	REUglyCheckinIDs: [],
-	REButtholeCheckinIDs: [],
-	REFutaSisterCheckinIDs: [],
-	REReductionCheckinIDs: [],
-	reminders: [],
-	cribs: [],							/* array of children in the nursery */
-	cribsFreed: [],					/* array of children that have been freed */
-	farmyardShowgirls: [],			/* array of farmhands putting on shows */
-	farmyardFarmers: [],
-	corpSpecRaces: [],
-	fcnn: [],
-	/* array of farmhands farming */
-	farmyardUpgrade: {},
-	farmyardLabUpgrades: {},
-	animalsBought: {},
+	// END OLD INIT VARIABLES SECTION, after this, variables were being created in other places in the game
+
+	shelterGirlsIDs: [], // Only needed in endweek loop
+	PCTitle: "",
+	lastWeeksCashErrors: "",
+	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,
 
-	targetArcology: {},
-	FSPromenade: {},
-	experimental: {},
-	// SFVAR
-	SF: {},
-	adjustProsthetics: [],
-	researchLab: {},
-	sideBarOptions: {},
-	classSatisfied: {},
-	whoreBudget: {},
-	TSS: {},
-	GRI: {},
-	SCP: {},
-	LDE: {},
-	TGA: {},
-	TCR: {},
-	TFS: {},
-	HA: {},
-	NUL: {},
-	brandTarget: {},
-	brandDesign: {},
+	/* 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,
 
-	scarTarget: {},
-	scarDesign: {},
-	animalOvaries: 0,
-	animalTesticles: 0,
-	animalMpreg: 0,
-	NPCSexSupply: {},
-	NPCMarketShare: {},
-	sexSubsidies: {},
-	sexSupplyBarriers: {},
-	arcologyUpgrade: {},
-	rentDefaults: {},
-	rent: {},
-	foodRate: {},
-	foodConsumption: 0,	/* total amount food consumed per week */
+	/* 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,
 
-	weatherToday: {},
-	merchantFSWares: [],
-	merchantIllegalWares: [], /* "AnimalOrgans" for future use */
-	EliteSires: [],
-	justiceEvents: [], /* not in setupVars because we remove events from this array as they occur */
-	prisonCircuit: [],
-	prisonCircuitIndex: 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:{},
 
-	building: {},
-	/* I am not a slave object! Do not treat me like one! */
-	customSlave: {},
-	huskSlave: {},
+	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: [],
 };
-- 
GitLab