diff --git a/src/endWeek/economics/fsDevelopments.js b/src/endWeek/economics/fsDevelopments.js
index 703bc5959c530cb6a3900dacf05771ea8cbff68c..7db5f1332a54bd44ac001c35fdbe6670189a6ae8 100644
--- a/src/endWeek/economics/fsDevelopments.js
+++ b/src/endWeek/economics/fsDevelopments.js
@@ -1,6 +1,7 @@
 App.EndWeek.FSDevelopments = function() {
 	const el = document.createElement("div");
 	let r = [];
+	const arc = V.arcologies[0];
 	if (V.useTabs === 0) {
 		App.UI.DOM.appendNewElement("h2", el, "Society");
 	}
@@ -14,7 +15,7 @@ App.EndWeek.FSDevelopments = function() {
 	const FSRepDescriptors = ["solid", "high", "remarkable", "great", "excellent", "unparalleled"];
 	const ordinalNames = ["second", "third", "fourth", "fifth", "sixth", "seventh", "eighth"];
 	if (FutureSocieties.availCredits() > 0) {
-		r.push(`<span class="yellow">${V.arcologies[0].name}'s society is ready to begin accepting a new societal direction.</span>`);
+		r.push(`<span class="yellow">${arc.name}'s society is ready to begin accepting a new societal direction.</span>`);
 	}
 
 	if (V.FSAnnounced === 1 && V.FSGotRepCredits < V.FSCreditCount && V.rep >= FSRepCreditsRep[V.FSCreditCount - 4][V.FSGotRepCredits - 1]) {
@@ -23,12 +24,12 @@ App.EndWeek.FSDevelopments = function() {
 		if (V.FSGotRepCredits === V.FSCreditCount - 1) {
 			ordinalName += " and final";
 		}
-		r.push(`<span class="yellow">Your reputation is so ${descriptor} that ${V.arcologies[0].name}'s society is ready to begin accepting a ${ordinalName} societal direction.</span>`);
+		r.push(`<span class="yellow">Your reputation is so ${descriptor} that ${arc.name}'s society is ready to begin accepting a ${ordinalName} societal direction.</span>`);
 		V.FSGotRepCredits += 1;
 	}
 
 	/* Count adopted FS */
-	const societies = FutureSocieties.activeCount(V.arcologies[0]);
+	const societies = FutureSocieties.activeCount(arc);
 
 	/* Spending, terrain, rep effects */
 	let broadProgress = 0;
@@ -41,7 +42,7 @@ App.EndWeek.FSDevelopments = function() {
 	}
 	if (V.FSSpending > 1) {
 		r.push(`Your <span class="yellowgreen">societal spending</span> helps forward your goals for the arcology's future.`);
-		broadProgress += Math.trunc(V.FSSpending / (1000 - (500 * V.arcologies[0].FSEdoRevivalistLaw) - (250 * V.arcologies[0].FSArabianRevivalistLaw)));
+		broadProgress += Math.trunc(V.FSSpending / (1000 - (500 * arc.FSEdoRevivalistLaw) - (250 * arc.FSArabianRevivalistLaw)));
 	}
 	if (V.FCTV.receiver === 3) {
 		r.push(`Your customized <span class="yellowgreen">FCTV programming</span> strongly influences your citizens, greatly helping define your arcology's culture.`);
@@ -75,18 +76,18 @@ App.EndWeek.FSDevelopments = function() {
 	broadProgress += propagandaEffects.effect;
 
 	if (V.terrain === "urban") {
-		r.push(`The <span class="yellow">urban location</span> of the arcology naturally promotes cultural interchange, holding back ${V.arcologies[0].name}'s cultural independence.`);
+		r.push(`The <span class="yellow">urban location</span> of the arcology naturally promotes cultural interchange, holding back ${arc.name}'s cultural independence.`);
 		broadProgress -= 3;
 	} else if (V.terrain === "rural") {
-		r.push(`The <span class="yellow">rural location</span> of the arcology naturally limits cultural interchange, allowing ${V.arcologies[0].name} to slowly develop its own culture.`);
+		r.push(`The <span class="yellow">rural location</span> of the arcology naturally limits cultural interchange, allowing ${arc.name} to slowly develop its own culture.`);
 		broadProgress -= 2;
 	} else if (V.terrain === "marine") {
-		r.push(`The <span class="yellow">marine location</span> of the arcology strongly limits cultural interchange, allowing ${V.arcologies[0].name} to quickly develop its own culture.`);
+		r.push(`The <span class="yellow">marine location</span> of the arcology strongly limits cultural interchange, allowing ${arc.name} to quickly develop its own culture.`);
 		broadProgress -= 1;
 	} else if (V.terrain === "ravine") {
-		r.push(`The <span class="yellow">near subterranean location</span> of the arcology almost eliminates cultural interchange, allowing ${V.arcologies[0].name} to independently develop its culture.`);
+		r.push(`The <span class="yellow">near subterranean location</span> of the arcology almost eliminates cultural interchange, allowing ${arc.name} to independently develop its culture.`);
 	} else {
-		r.push(`The <span class="yellow">oceanic location</span> of the arcology almost eliminates cultural interchange, allowing ${V.arcologies[0].name} to independently develop its culture.`);
+		r.push(`The <span class="yellow">oceanic location</span> of the arcology almost eliminates cultural interchange, allowing ${arc.name} to independently develop its culture.`);
 	}
 	if (V.rep < 3000 - V.enduringRep) {
 		r.push(`<span class="red">Your weak reputation</span> reflects badly on your social projects.`);
@@ -231,273 +232,273 @@ App.EndWeek.FSDevelopments = function() {
 	/* PA FS bonuses */
 	if (V.policies.publicPA === 1 && V.assistant.appearance !== "normal") {
 		let seed = 0;
-		if (V.arcologies[0].FSSupremacist !== "unset") {
+		if (arc.FSSupremacist !== "unset") {
 			if (["amazon", "monstergirl", "succubus"].includes(V.assistant.appearance)) {
-				V.arcologies[0].FSSupremacist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSSupremacist += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "supremacist") {
-				V.arcologies[0].FSSupremacist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSSupremacist += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
 
-		if (V.arcologies[0].FSSubjugationist !== "unset") {
+		if (arc.FSSubjugationist !== "unset") {
 			if (["amazon", "businesswoman", "imp"].includes(V.assistant.appearance)) {
-				V.arcologies[0].FSSubjugationist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSSubjugationist += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "subjugationist") {
-				V.arcologies[0].FSSubjugationist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSSubjugationist += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
-		if (V.arcologies[0].FSGenderRadicalist !== "unset") {
+		if (arc.FSGenderRadicalist !== "unset") {
 			if (["incubus", "monstergirl", "shemale", "succubus", "witch"].includes(V.assistant.appearance)) {
-				V.arcologies[0].FSGenderRadicalist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSGenderRadicalist += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "gender radicalist") {
-				V.arcologies[0].FSGenderRadicalist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSGenderRadicalist += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
-		if (V.arcologies[0].FSRepopulationFocus !== "unset") {
+		if (arc.FSRepopulationFocus !== "unset") {
 			if (["goddess", "hypergoddess", "preggololi", "pregnant fairy", "succubus", "witch"].includes(V.assistant.appearance)) {
-				V.arcologies[0].FSRepopulationFocus += 0.1 * V.FSSingleSlaveRep;
+				arc.FSRepopulationFocus += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "repopulation focus") {
-				V.arcologies[0].FSRepopulationFocus += 0.1 * V.FSSingleSlaveRep;
+				arc.FSRepopulationFocus += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
-		if (V.arcologies[0].FSRestart !== "unset") {
+		if (arc.FSRestart !== "unset") {
 			if (["angel", "businesswoman", "goddess", "incubus", "loli", "schoolgirl", "succubus", "witch"].includes(V.assistant.appearance)) {
-				V.arcologies[0].FSRestart += 0.1 * V.FSSingleSlaveRep;
+				arc.FSRestart += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "eugenics") {
-				V.arcologies[0].FSRestart += 0.1 * V.FSSingleSlaveRep;
+				arc.FSRestart += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
 
-		if (V.arcologies[0].FSGenderFundamentalist !== "unset") {
+		if (arc.FSGenderFundamentalist !== "unset") {
 			if (["angel", "cherub", "fairy", "goddess", "hypergoddess", "loli", "preggololi", "pregnant fairy", "schoolgirl", "succubus", "witch"].includes(V.assistant.appearance)) {
-				V.arcologies[0].FSGenderFundamentalist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSGenderFundamentalist += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "gender fundamentalist") {
-				V.arcologies[0].FSGenderFundamentalist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSGenderFundamentalist += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
-		if (V.arcologies[0].FSPaternalist !== "unset") {
+		if (arc.FSPaternalist !== "unset") {
 			if (["angel", "cherub", "fairy", "goddess", "hypergoddess", "loli", "preggololi", "pregnant fairy", "schoolgirl"].includes(V.assistant.appearance)) {
-				V.arcologies[0].FSPaternalist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSPaternalist += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "paternalist") {
-				V.arcologies[0].FSPaternalist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSPaternalist += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
-		if (V.arcologies[0].FSDegradationist !== "unset") {
+		if (arc.FSDegradationist !== "unset") {
 			if (["businesswoman", "imp", "incubus", "monstergirl", "preggololi", "succubus"].includes(V.assistant.appearance)) {
-				V.arcologies[0].FSDegradationist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSDegradationist += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "degradationist") {
-				V.arcologies[0].FSDegradationist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSDegradationist += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
-		if (V.arcologies[0].FSIntellectualDependency !== "unset") {
+		if (arc.FSIntellectualDependency !== "unset") {
 			if (["shemale", "succubus", "witch"].includes(V.assistant.appearance)) {
-				V.arcologies[0].FSIntellectualDependency += 0.1 * V.FSSingleSlaveRep;
+				arc.FSIntellectualDependency += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "intellectual dependency") {
-				V.arcologies[0].FSIntellectualDependency += 0.1 * V.FSSingleSlaveRep;
+				arc.FSIntellectualDependency += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
 
-		if (V.arcologies[0].FSSlaveProfessionalism !== "unset") {
+		if (arc.FSSlaveProfessionalism !== "unset") {
 			if (["angel", "businesswoman", "incubus", "goddess", "schoolgirl", "succubus"].includes(V.assistant.appearance)) {
-				V.arcologies[0].FSSlaveProfessionalism += 0.1 * V.FSSingleSlaveRep;
+				arc.FSSlaveProfessionalism += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "slave professionalism") {
-				V.arcologies[0].FSSlaveProfessionalism += 0.1 * V.FSSingleSlaveRep;
+				arc.FSSlaveProfessionalism += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
-		if (V.arcologies[0].FSBodyPurist !== "unset") {
+		if (arc.FSBodyPurist !== "unset") {
 			if (["amazon", "angel", "fairy", "goddess", "incubus", "loli", "pregnant fairy", "succubus", "witch"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSBodyPurist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSBodyPurist += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "body purist") {
-				V.arcologies[0].FSBodyPurist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSBodyPurist += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
-		if (V.arcologies[0].FSTransformationFetishist !== "unset") {
+		if (arc.FSTransformationFetishist !== "unset") {
 			if (["businesswoman", "ERROR_1606_APPEARANCE_FILE_CORRUPT", "incubus", "shemale", "succubus", "witch"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSTransformationFetishist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSTransformationFetishist += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "transformation fetishist") {
-				V.arcologies[0].FSTransformationFetishist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSTransformationFetishist += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
-		if (V.arcologies[0].FSMaturityPreferentialist !== "unset") {
+		if (arc.FSMaturityPreferentialist !== "unset") {
 			if (["angel", "businesswoman", "goddess", "incubus", "succubus", "witch"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSMaturityPreferentialist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSMaturityPreferentialist += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "maturity preferentialist") {
-				V.arcologies[0].FSMaturityPreferentialist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSMaturityPreferentialist += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
 
-		if (V.arcologies[0].FSYouthPreferentialist !== "unset") {
+		if (arc.FSYouthPreferentialist !== "unset") {
 			if (["angel", "cherub", "imp", "loli", "preggololi", "schoolgirl", "shemale", "succubus", "witch"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSYouthPreferentialist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSYouthPreferentialist += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "youth preferentialist") {
-				V.arcologies[0].FSYouthPreferentialist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSYouthPreferentialist += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
-		if (V.arcologies[0].FSPetiteAdmiration !== "unset") {
+		if (arc.FSPetiteAdmiration !== "unset") {
 			if (["cherub", "fairy", "imp", "incubus", "loli", "preggololi", "pregnant fairy", "schoolgirl", "succubus", "witch"].includes(V.assistant.appearance)) {
-				V.arcologies[0].FSPetiteAdmiration += 0.1 * V.FSSingleSlaveRep;
+				arc.FSPetiteAdmiration += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "petite admiration") {
-				V.arcologies[0].FSPetiteAdmiration += 0.1 * V.FSSingleSlaveRep;
+				arc.FSPetiteAdmiration += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
-		if (V.arcologies[0].FSStatuesqueGlorification !== "unset") {
+		if (arc.FSStatuesqueGlorification !== "unset") {
 			if (["amazon", "goddess", "incubus", "succubus", "witch"].includes(V.assistant.appearance)) {
-				V.arcologies[0].FSStatuesqueGlorification += 0.1 * V.FSSingleSlaveRep;
+				arc.FSStatuesqueGlorification += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "statuesque glorification") {
-				V.arcologies[0].FSStatuesqueGlorification += 0.1 * V.FSSingleSlaveRep;
+				arc.FSStatuesqueGlorification += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
-		if (V.arcologies[0].FSSlimnessEnthusiast !== "unset") {
+		if (arc.FSSlimnessEnthusiast !== "unset") {
 			if (["cherub", "imp", "loli", "schoolgirl", "shemale", "succubus", "witch"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSSlimnessEnthusiast += 0.1 * V.FSSingleSlaveRep;
+				arc.FSSlimnessEnthusiast += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "slimness enthusiast") {
-				V.arcologies[0].FSSlimnessEnthusiast += 0.1 * V.FSSingleSlaveRep;
+				arc.FSSlimnessEnthusiast += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
 
-		if (V.arcologies[0].FSAssetExpansionist !== "unset") {
+		if (arc.FSAssetExpansionist !== "unset") {
 			if (["businesswoman", "hypergoddess", "incubus", "shemale", "succubus", "witch"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSAssetExpansionist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSAssetExpansionist += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "asset expansionist") {
-				V.arcologies[0].FSAssetExpansionist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSAssetExpansionist += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
-		if (V.arcologies[0].FSPastoralist !== "unset") {
+		if (arc.FSPastoralist !== "unset") {
 			if (["goddess", "hypergoddess", "incubus", "shemale", "succubus", "witch"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSPastoralist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSPastoralist += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "pastoralist") {
-				V.arcologies[0].FSPastoralist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSPastoralist += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
-		if (V.arcologies[0].FSPhysicalIdealist !== "unset") {
+		if (arc.FSPhysicalIdealist !== "unset") {
 			if (["amazon", "incubus", "shemale", "succubus", "witch"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSPhysicalIdealist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSPhysicalIdealist += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "physical idealist") {
-				V.arcologies[0].FSPhysicalIdealist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSPhysicalIdealist += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
-		if (V.arcologies[0].FSHedonisticDecadence !== "unset") {
+		if (arc.FSHedonisticDecadence !== "unset") {
 			if (["goddess", "hypergoddess", "imp", "incubus", "preggololi", "succubus", "witch"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSHedonisticDecadence += 0.1 * V.FSSingleSlaveRep;
+				arc.FSHedonisticDecadence += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "hedonistic decadence") {
-				V.arcologies[0].FSHedonisticDecadence += 0.1 * V.FSSingleSlaveRep;
+				arc.FSHedonisticDecadence += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
 
-		if (V.arcologies[0].FSChattelReligionist !== "unset") {
+		if (arc.FSChattelReligionist !== "unset") {
 			if (["angel", "cherub", "goddess", "imp", "incubus", "monstergirl", "succubus", "witch"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSChattelReligionist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSChattelReligionist += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "chattel religionist") {
-				V.arcologies[0].FSChattelReligionist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSChattelReligionist += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
 
-		if (V.arcologies[0].FSRomanRevivalist !== "unset") {
+		if (arc.FSRomanRevivalist !== "unset") {
 			if (["amazon", "businesswoman", "incubus", "succubus"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSRomanRevivalist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSRomanRevivalist += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "roman revivalist") {
-				V.arcologies[0].FSRomanRevivalist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSRomanRevivalist += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
 
-		if (V.arcologies[0].FSNeoImperialist !== "unset") {
+		if (arc.FSNeoImperialist !== "unset") {
 			if (["amazon", "businesswoman", "incubus", "shemale", "angel"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSNeoImperialist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSNeoImperialist += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "neoimperialist") {
-				V.arcologies[0].FSNeoImperialist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSNeoImperialist += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
 
-		if (V.arcologies[0].FSAztecRevivalist !== "unset") {
+		if (arc.FSAztecRevivalist !== "unset") {
 			if (["amazon", "businesswoman", "incubus", "succubus"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSAztecRevivalist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSAztecRevivalist += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "aztec revivalist") {
-				V.arcologies[0].FSAztecRevivalist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSAztecRevivalist += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
-		if (V.arcologies[0].FSEgyptianRevivalist !== "unset") {
+		if (arc.FSEgyptianRevivalist !== "unset") {
 			if (["goddess", "incubus", "monstergirl", "succubus"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSEgyptianRevivalist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSEgyptianRevivalist += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "egyptian revivalist") {
-				V.arcologies[0].FSEgyptianRevivalist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSEgyptianRevivalist += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
-		if (V.arcologies[0].FSEdoRevivalist !== "unset") {
+		if (arc.FSEdoRevivalist !== "unset") {
 			if (["amazon", "incubus", "kitsune", "loli", "monstergirl", "succubus"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSEdoRevivalist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSEdoRevivalist += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "edo revivalist") {
-				V.arcologies[0].FSEdoRevivalist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSEdoRevivalist += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
-		if (V.arcologies[0].FSArabianRevivalist !== "unset") {
+		if (arc.FSArabianRevivalist !== "unset") {
 			if (["businesswoman", "incubus", "schoolgirl", "succubus"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSArabianRevivalist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSArabianRevivalist += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "arabian revivalist") {
-				V.arcologies[0].FSArabianRevivalist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSArabianRevivalist += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
-		if (V.arcologies[0].FSChineseRevivalist !== "unset") {
+		if (arc.FSChineseRevivalist !== "unset") {
 			if (["incubus", "monstergirl", "schoolgirl", "succubus"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSChineseRevivalist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSChineseRevivalist += 0.1 * V.FSSingleSlaveRep;
 				seed = 1;
 			} else if (V.assistant.fsAppearance === "chinese revivalist") {
-				V.arcologies[0].FSChineseRevivalist += 0.1 * V.FSSingleSlaveRep;
+				arc.FSChineseRevivalist += 0.1 * V.FSSingleSlaveRep;
 				seed = 2;
 			}
 		}
@@ -518,524 +519,543 @@ App.EndWeek.FSDevelopments = function() {
 	FutureSocieties.overflowToInfluence(0);
 
 	/* warm up policy influence */
-	if (V.arcologies[0].FSEgyptianRevivalistIncestPolicy === 1 && V.arcologies[0].FSEgyptianRevivalistInterest < 26) {
-		V.arcologies[0].FSEgyptianRevivalistInterest += V.arcologies[0].FSEgyptianRevivalistIncestPolicy;
-	} else if (V.arcologies[0].FSEgyptianRevivalistIncestPolicy === 0 && V.arcologies[0].FSEgyptianRevivalistInterest > 0) {
-		V.arcologies[0].FSEgyptianRevivalistInterest--;
+	if (arc.FSEgyptianRevivalistIncestPolicy === 1 && arc.FSEgyptianRevivalistInterest < 26) {
+		arc.FSEgyptianRevivalistInterest += arc.FSEgyptianRevivalistIncestPolicy;
+	} else if (arc.FSEgyptianRevivalistIncestPolicy === 0 && arc.FSEgyptianRevivalistInterest > 0) {
+		arc.FSEgyptianRevivalistInterest--;
 	}
 
-	if ((V.arcologies[0].FSRepopulationFocusPregPolicy === 1 || V.arcologies[0].FSRepopulationFocusMilfPolicy === 1) && V.arcologies[0].FSRepopulationFocusInterest < 26) {
-		V.arcologies[0].FSRepopulationFocusInterest += V.arcologies[0].FSRepopulationFocusPregPolicy + V.arcologies[0].FSRepopulationFocusMilfPolicy;
-		if (V.arcologies[0].FSEugenicsInterest > 0) {
-			V.arcologies[0].FSEugenicsInterest--;
+	if ((arc.FSRepopulationFocusPregPolicy === 1 || arc.FSRepopulationFocusMilfPolicy === 1) && arc.FSRepopulationFocusInterest < 26) {
+		arc.FSRepopulationFocusInterest += arc.FSRepopulationFocusPregPolicy + arc.FSRepopulationFocusMilfPolicy;
+		if (arc.FSEugenicsInterest > 0) {
+			arc.FSEugenicsInterest--;
 		}
-	} else if (V.arcologies[0].FSRepopulationFocusPregPolicy === 0 && V.arcologies[0].FSRepopulationFocusMilfPolicy === 0 && V.arcologies[0].FSRepopulationFocusInterest > 0) {
-		V.arcologies[0].FSRepopulationFocusInterest--;
+	} else if (arc.FSRepopulationFocusPregPolicy === 0 && arc.FSRepopulationFocusMilfPolicy === 0 && arc.FSRepopulationFocusInterest > 0) {
+		arc.FSRepopulationFocusInterest--;
 	}
 
-	if ([V.arcologies[0].FSSupremacistSMR, V.arcologies[0].FSSubjugationistSMR, V.arcologies[0].FSGenderFundamentalistSMR, V.arcologies[0].FSPaternalistSMR, V.arcologies[0].FSDegradationistSMR, V.arcologies[0].FSBodyPuristSMR, V.arcologies[0].FSTransformationFetishistSMR, V.arcologies[0].FSYouthPreferentialistSMR, V.arcologies[0].FSMaturityPreferentialistSMR, V.arcologies[0].FSSlimnessEnthusiastSMR, V.arcologies[0].FSAssetExpansionistSMR, V.arcologies[0].FSPastoralistSMR, V.arcologies[0].FSPhysicalIdealistSMR, V.arcologies[0].FSChattelReligionistSMR, V.arcologies[0].FSRomanRevivalistSMR, V.arcologies[0].FSAztecRevivalistSMR, V.arcologies[0].FSEgyptianRevivalistSMR, V.arcologies[0].FSEdoRevivalistSMR, V.arcologies[0].FSRepopulationFocusSMR, V.arcologies[0].FSRestartSMR, V.arcologies[0].FSHedonisticDecadenceSMR, V.arcologies[0].FSIntellectualDependencySMR, V.arcologies[0].FSSlaveProfessionalismSMR, V.arcologies[0].FSPetiteAdmirationSMR, V.arcologies[0].FSStatuesqueGlorificationSMR, V.arcologies[0].FSArabianRevivalistSMR, V.arcologies[0].FSChineseRevivalistSMR, V.arcologies[0].FSNeoImperialistSMR, V.arcologies[0].FSGenderRadicalistSMR].some((SMR) => SMR > 0)) { // RadicalistSMR was unused since vanilla, but maybe some day....
+	if ([arc.FSSupremacistSMR, arc.FSSubjugationistSMR, arc.FSGenderFundamentalistSMR, arc.FSPaternalistSMR, arc.FSDegradationistSMR, arc.FSBodyPuristSMR, arc.FSTransformationFetishistSMR, arc.FSYouthPreferentialistSMR, arc.FSMaturityPreferentialistSMR, arc.FSSlimnessEnthusiastSMR, arc.FSAssetExpansionistSMR, arc.FSPastoralistSMR, arc.FSPhysicalIdealistSMR, arc.FSChattelReligionistSMR, arc.FSRomanRevivalistSMR, arc.FSAztecRevivalistSMR, arc.FSEgyptianRevivalistSMR, arc.FSEdoRevivalistSMR, arc.FSRepopulationFocusSMR, arc.FSRestartSMR, arc.FSHedonisticDecadenceSMR, arc.FSIntellectualDependencySMR, arc.FSSlaveProfessionalismSMR, arc.FSPetiteAdmirationSMR, arc.FSStatuesqueGlorificationSMR, arc.FSArabianRevivalistSMR, arc.FSChineseRevivalistSMR, arc.FSNeoImperialistSMR, arc.FSGenderRadicalistSMR].some((SMR) => SMR > 0)) { // RadicalistSMR was unused since vanilla, but maybe some day....
 		r.push(`The slave market regulations help ensure the arcology's slaves fit within its society.`);
 	}
 
-	if (V.arcologies[0].FSSupremacist !== "unset") {
+	for (const FS of App.Data.FutureSociety.playerFSNames) {
+		if (arc.FSRestart !== "unset") {
+			r.push(arcSupport("FSRestart"));
+			if (arc.FSRestart < 0 && arc.FSRestartDecoration !== 100) {
+				r.push(removeFS("FSRestart"));
+			} else if (arc.FSRestart > arc.FSRestartDecoration) {
+				arc.FSRestart = arc.FSRestartDecoration;
+			}
+			if (arc.FSRestartDecoration < V.FSLockinLevel) {
+				if (arc.FSRestart === arc.FSRestartDecoration) {
+					r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
+					V.FSReminder = 1;
+				} else if (arc.FSRestartSMR === 1) {
+					arc.FSRestart += 0.1 * V.FSSingleSlaveRep;
+				}
+			}
+		}
+	}
+
+	if (arc.FSSupremacist !== "unset") {
 		r.push(arcSupport("FSSupremacist"));
-		if (V.arcologies[0].FSSupremacist >= V.FSLockinLevel * 0.6) {
+		if (arc.FSSupremacist >= V.FSLockinLevel * 0.6) {
 			V.independenceDay = 1;
 		}
-		if (V.arcologies[0].FSSupremacist < 0) {
+		if (arc.FSSupremacist < 0) {
 			r.push(removeFS("FSSupremacist"));
-		} else if (V.arcologies[0].FSSupremacist > V.arcologies[0].FSSupremacistDecoration) {
-			V.arcologies[0].FSSupremacist = V.arcologies[0].FSSupremacistDecoration;
+		} else if (arc.FSSupremacist > arc.FSSupremacistDecoration) {
+			arc.FSSupremacist = arc.FSSupremacistDecoration;
 		}
-		if (V.arcologies[0].FSSupremacistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSSupremacist === V.arcologies[0].FSSupremacistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSSupremacistDecoration < V.FSLockinLevel) {
+			if (arc.FSSupremacist === arc.FSSupremacistDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSSupremacistSMR === 1) {
-				V.arcologies[0].FSSupremacist += 0.1 * V.FSSingleSlaveRep;
+			} else if (arc.FSSupremacistSMR === 1) {
+				arc.FSSupremacist += 0.1 * V.FSSingleSlaveRep;
 			}
 		}
 	}
 
-	if (V.arcologies[0].FSSubjugationist !== "unset") {
+	if (arc.FSSubjugationist !== "unset") {
 		r.push(arcSupport("FSSubjugationist"));
-		if (V.arcologies[0].FSSubjugationist < 0) {
+		if (arc.FSSubjugationist < 0) {
 			r.push(removeFS("FSSubjugationist"));
-		} else if (V.arcologies[0].FSSubjugationist > V.arcologies[0].FSSubjugationistDecoration) {
-			V.arcologies[0].FSSubjugationist = V.arcologies[0].FSSubjugationistDecoration;
+		} else if (arc.FSSubjugationist > arc.FSSubjugationistDecoration) {
+			arc.FSSubjugationist = arc.FSSubjugationistDecoration;
 		}
-		if (V.arcologies[0].FSSubjugationistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSSubjugationist === V.arcologies[0].FSSubjugationistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSSubjugationistDecoration < V.FSLockinLevel) {
+			if (arc.FSSubjugationist === arc.FSSubjugationistDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSSubjugationistSMR === 1) {
-				V.arcologies[0].FSSubjugationist += 0.1 * V.FSSingleSlaveRep;
+			} else if (arc.FSSubjugationistSMR === 1) {
+				arc.FSSubjugationist += 0.1 * V.FSSingleSlaveRep;
 			}
 		}
 	}
 
-	if (V.arcologies[0].FSRepopulationFocus !== "unset") {
+	if (arc.FSRepopulationFocus !== "unset") {
 		r.push(arcSupport("FSRepopulationFocus"));
-		if (V.arcologies[0].FSRepopulationFocus < 0) {
+		if (arc.FSRepopulationFocus < 0) {
 			r.push(removeFS("FSRepopulationFocus"));
-		} else if (V.arcologies[0].FSRepopulationFocus > V.arcologies[0].FSRepopulationFocusDecoration) {
-			V.arcologies[0].FSRepopulationFocus = V.arcologies[0].FSRepopulationFocusDecoration;
+		} else if (arc.FSRepopulationFocus > arc.FSRepopulationFocusDecoration) {
+			arc.FSRepopulationFocus = arc.FSRepopulationFocusDecoration;
 		}
-		if (V.arcologies[0].FSRepopulationFocusDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSRepopulationFocus === V.arcologies[0].FSRepopulationFocusDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSRepopulationFocusDecoration < V.FSLockinLevel) {
+			if (arc.FSRepopulationFocus === arc.FSRepopulationFocusDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSRepopulationFocusSMR === 1) {
-				V.arcologies[0].FSRepopulationFocus += 0.1 * V.FSSingleSlaveRep;
+			} else if (arc.FSRepopulationFocusSMR === 1) {
+				arc.FSRepopulationFocus += 0.1 * V.FSSingleSlaveRep;
 			}
 		}
 	}
 
-	if (V.arcologies[0].FSRestart !== "unset") {
+	if (arc.FSRestart !== "unset") {
 		r.push(arcSupport("FSRestart"));
-		if (V.arcologies[0].FSRestart < 0 && V.arcologies[0].FSRestartDecoration !== 100) {
+		if (arc.FSRestart < 0 && arc.FSRestartDecoration !== 100) {
 			r.push(removeFS("FSRestart"));
-		} else if (V.arcologies[0].FSRestart > V.arcologies[0].FSRestartDecoration) {
-			V.arcologies[0].FSRestart = V.arcologies[0].FSRestartDecoration;
+		} else if (arc.FSRestart > arc.FSRestartDecoration) {
+			arc.FSRestart = arc.FSRestartDecoration;
 		}
-		if (V.arcologies[0].FSRestartDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSRestart === V.arcologies[0].FSRestartDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSRestartDecoration < V.FSLockinLevel) {
+			if (arc.FSRestart === arc.FSRestartDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSRestartSMR === 1) {
-				V.arcologies[0].FSRestart += 0.1 * V.FSSingleSlaveRep;
+			} else if (arc.FSRestartSMR === 1) {
+				arc.FSRestart += 0.1 * V.FSSingleSlaveRep;
 			}
 		}
 	}
 
-	if (V.arcologies[0].FSGenderRadicalist !== "unset") {
+	if (arc.FSGenderRadicalist !== "unset") {
 		r.push(arcSupport("FSGenderRadicalist"));
-		if (V.arcologies[0].FSGenderRadicalist < 0) {
+		if (arc.FSGenderRadicalist < 0) {
 			r.push(removeFS("FSGenderRadicalist"));
-		} else if (V.arcologies[0].FSGenderRadicalist > V.arcologies[0].FSGenderRadicalistDecoration) {
-			V.arcologies[0].FSGenderRadicalist = V.arcologies[0].FSGenderRadicalistDecoration;
+		} else if (arc.FSGenderRadicalist > arc.FSGenderRadicalistDecoration) {
+			arc.FSGenderRadicalist = arc.FSGenderRadicalistDecoration;
 		}
-		if (V.arcologies[0].FSGenderRadicalistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSGenderRadicalist === V.arcologies[0].FSGenderRadicalistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSGenderRadicalistDecoration < V.FSLockinLevel) {
+			if (arc.FSGenderRadicalist === arc.FSGenderRadicalistDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
 			}
 			// RadicalistSMR was unused since vanilla, but maybe some day....
 			/*
-			else if (V.arcologies[0].FSGenderRadicalistSMR === 1) {
-				V.arcologies[0].FSGenderRadicalist += 0.1 * V.FSSingleSlaveRep;
+			else if (arc.FSGenderRadicalistSMR === 1) {
+				arc.FSGenderRadicalist += 0.1 * V.FSSingleSlaveRep;
 			}
 			*/
 		}
 	}
 
-	if (V.arcologies[0].FSGenderFundamentalist !== "unset") {
+	if (arc.FSGenderFundamentalist !== "unset") {
 		r.push(arcSupport("FSGenderFundamentalist"));
-		if (V.arcologies[0].FSGenderFundamentalist < 0) {
+		if (arc.FSGenderFundamentalist < 0) {
 			r.push(removeFS("FSGenderFundamentalist"));
-		} else if (V.arcologies[0].FSGenderFundamentalist > V.arcologies[0].FSGenderFundamentalistDecoration) {
-			V.arcologies[0].FSGenderFundamentalist = V.arcologies[0].FSGenderFundamentalistDecoration;
+		} else if (arc.FSGenderFundamentalist > arc.FSGenderFundamentalistDecoration) {
+			arc.FSGenderFundamentalist = arc.FSGenderFundamentalistDecoration;
 		}
-		if (V.arcologies[0].FSGenderFundamentalistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSGenderFundamentalist === V.arcologies[0].FSGenderFundamentalistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSGenderFundamentalistDecoration < V.FSLockinLevel) {
+			if (arc.FSGenderFundamentalist === arc.FSGenderFundamentalistDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSGenderFundamentalistSMR === 1) {
-				V.arcologies[0].FSGenderFundamentalist += 0.1 * V.FSSingleSlaveRep;
+			} else if (arc.FSGenderFundamentalistSMR === 1) {
+				arc.FSGenderFundamentalist += 0.1 * V.FSSingleSlaveRep;
 			}
 		}
 	}
 
-	if (V.arcologies[0].FSPaternalist !== "unset") {
+	if (arc.FSPaternalist !== "unset") {
 		r.push(arcSupport("FSPaternalist"));
-		if (V.arcologies[0].FSPaternalist < 0) {
+		if (arc.FSPaternalist < 0) {
 			r.push(removeFS("FSPaternalist"));
-		} else if (V.arcologies[0].FSPaternalist > V.arcologies[0].FSPaternalistDecoration) {
-			V.arcologies[0].FSPaternalist = V.arcologies[0].FSPaternalistDecoration;
+		} else if (arc.FSPaternalist > arc.FSPaternalistDecoration) {
+			arc.FSPaternalist = arc.FSPaternalistDecoration;
 		}
-		if (V.arcologies[0].FSPaternalistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSPaternalist === V.arcologies[0].FSPaternalistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSPaternalistDecoration < V.FSLockinLevel) {
+			if (arc.FSPaternalist === arc.FSPaternalistDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSPaternalistSMR === 1) {
-				V.arcologies[0].FSPaternalist += 0.1 * V.FSSingleSlaveRep;
+			} else if (arc.FSPaternalistSMR === 1) {
+				arc.FSPaternalist += 0.1 * V.FSSingleSlaveRep;
 			}
 		}
 	}
 
-	if (V.arcologies[0].FSDegradationist !== "unset") {
+	if (arc.FSDegradationist !== "unset") {
 		r.push(arcSupport("FSDegradationist"));
-		if (V.arcologies[0].FSDegradationist < 0) {
+		if (arc.FSDegradationist < 0) {
 			r.push(removeFS("FSDegradationist"));
-		} else if (V.arcologies[0].FSDegradationist > V.arcologies[0].FSDegradationistDecoration) {
-			V.arcologies[0].FSDegradationist = V.arcologies[0].FSDegradationistDecoration;
+		} else if (arc.FSDegradationist > arc.FSDegradationistDecoration) {
+			arc.FSDegradationist = arc.FSDegradationistDecoration;
 		}
-		if (V.arcologies[0].FSDegradationistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSDegradationist === V.arcologies[0].FSDegradationistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSDegradationistDecoration < V.FSLockinLevel) {
+			if (arc.FSDegradationist === arc.FSDegradationistDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSDegradationistSMR === 1) {
-				V.arcologies[0].FSDegradationist += 0.1 * V.FSSingleSlaveRep;
+			} else if (arc.FSDegradationistSMR === 1) {
+				arc.FSDegradationist += 0.1 * V.FSSingleSlaveRep;
 			}
 		}
 	}
 
-	if (V.arcologies[0].FSIntellectualDependency !== "unset") {
+	if (arc.FSIntellectualDependency !== "unset") {
 		r.push(arcSupport("FSIntellectualDependency"));
-		if (V.arcologies[0].FSIntellectualDependency < 0) {
+		if (arc.FSIntellectualDependency < 0) {
 			r.push(removeFS("FSIntellectualDependency"));
-		} else if (V.arcologies[0].FSIntellectualDependency > V.arcologies[0].FSIntellectualDependencyDecoration) {
-			V.arcologies[0].FSIntellectualDependency = V.arcologies[0].FSIntellectualDependencyDecoration;
+		} else if (arc.FSIntellectualDependency > arc.FSIntellectualDependencyDecoration) {
+			arc.FSIntellectualDependency = arc.FSIntellectualDependencyDecoration;
 		}
-		if (V.arcologies[0].FSIntellectualDependencyDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSIntellectualDependency === V.arcologies[0].FSIntellectualDependencyDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSIntellectualDependencyDecoration < V.FSLockinLevel) {
+			if (arc.FSIntellectualDependency === arc.FSIntellectualDependencyDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSIntellectualDependencySMR === 1) {
-				V.arcologies[0].FSIntellectualDependency += 0.1 * V.FSSingleSlaveRep;
+			} else if (arc.FSIntellectualDependencySMR === 1) {
+				arc.FSIntellectualDependency += 0.1 * V.FSSingleSlaveRep;
 			}
 		}
 	}
 
-	if (V.arcologies[0].FSSlaveProfessionalism !== "unset") {
+	if (arc.FSSlaveProfessionalism !== "unset") {
 		r.push(arcSupport("FSSlaveProfessionalism"));
-		if (V.arcologies[0].FSSlaveProfessionalism < 0) {
+		if (arc.FSSlaveProfessionalism < 0) {
 			r.push(removeFS("FSSlaveProfessionalism"));
-		} else if (V.arcologies[0].FSSlaveProfessionalism > V.arcologies[0].FSSlaveProfessionalismDecoration) {
-			V.arcologies[0].FSSlaveProfessionalism = V.arcologies[0].FSSlaveProfessionalismDecoration;
+		} else if (arc.FSSlaveProfessionalism > arc.FSSlaveProfessionalismDecoration) {
+			arc.FSSlaveProfessionalism = arc.FSSlaveProfessionalismDecoration;
 		}
-		if (V.arcologies[0].FSSlaveProfessionalismDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSSlaveProfessionalism === V.arcologies[0].FSSlaveProfessionalismDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSSlaveProfessionalismDecoration < V.FSLockinLevel) {
+			if (arc.FSSlaveProfessionalism === arc.FSSlaveProfessionalismDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSSlaveProfessionalismSMR === 1) {
-				V.arcologies[0].FSSlaveProfessionalism += 0.1 * V.FSSingleSlaveRep;
+			} else if (arc.FSSlaveProfessionalismSMR === 1) {
+				arc.FSSlaveProfessionalism += 0.1 * V.FSSingleSlaveRep;
 			}
 		}
 	}
 
-	if (V.arcologies[0].FSBodyPurist !== "unset") {
+	if (arc.FSBodyPurist !== "unset") {
 		r.push(arcSupport("FSBodyPurist"));
-		if (V.arcologies[0].FSBodyPurist < 0) {
+		if (arc.FSBodyPurist < 0) {
 			r.push(removeFS("FSBodyPurist"));
-		} else if (V.arcologies[0].FSBodyPurist > V.arcologies[0].FSBodyPuristDecoration) {
-			V.arcologies[0].FSBodyPurist = V.arcologies[0].FSBodyPuristDecoration;
+		} else if (arc.FSBodyPurist > arc.FSBodyPuristDecoration) {
+			arc.FSBodyPurist = arc.FSBodyPuristDecoration;
 		}
-		if (V.arcologies[0].FSBodyPuristDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSBodyPurist === V.arcologies[0].FSBodyPuristDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSBodyPuristDecoration < V.FSLockinLevel) {
+			if (arc.FSBodyPurist === arc.FSBodyPuristDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSBodyPuristSMR === 1) {
-				V.arcologies[0].FSBodyPurist += 0.1 * V.FSSingleSlaveRep;
+			} else if (arc.FSBodyPuristSMR === 1) {
+				arc.FSBodyPurist += 0.1 * V.FSSingleSlaveRep;
 			}
 		}
 	}
 
-	if (V.arcologies[0].FSTransformationFetishist !== "unset") {
+	if (arc.FSTransformationFetishist !== "unset") {
 		r.push(arcSupport("FSTransformationFetishist"));
-		if (V.arcologies[0].FSTransformationFetishist < 0) {
+		if (arc.FSTransformationFetishist < 0) {
 			r.push(removeFS("FSTransformationFetishist"));
-		} else if (V.arcologies[0].FSTransformationFetishist > V.arcologies[0].FSTransformationFetishistDecoration) {
-			V.arcologies[0].FSTransformationFetishist = V.arcologies[0].FSTransformationFetishistDecoration;
+		} else if (arc.FSTransformationFetishist > arc.FSTransformationFetishistDecoration) {
+			arc.FSTransformationFetishist = arc.FSTransformationFetishistDecoration;
 		}
-		if (V.arcologies[0].FSTransformationFetishistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSTransformationFetishist === V.arcologies[0].FSTransformationFetishistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSTransformationFetishistDecoration < V.FSLockinLevel) {
+			if (arc.FSTransformationFetishist === arc.FSTransformationFetishistDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSTransformationFetishistSMR === 1) {
-				V.arcologies[0].FSTransformationFetishist += 0.1 * V.FSSingleSlaveRep;
+			} else if (arc.FSTransformationFetishistSMR === 1) {
+				arc.FSTransformationFetishist += 0.1 * V.FSSingleSlaveRep;
 			}
 		}
 	}
 
-	if (V.arcologies[0].FSMaturityPreferentialist !== "unset") {
+	if (arc.FSMaturityPreferentialist !== "unset") {
 		r.push(arcSupport("FSMaturityPreferentialist"));
-		if (V.arcologies[0].FSMaturityPreferentialist < 0) {
+		if (arc.FSMaturityPreferentialist < 0) {
 			r.push(removeFS("FSMaturityPreferentialist"));
-		} else if (V.arcologies[0].FSMaturityPreferentialist > V.arcologies[0].FSMaturityPreferentialistDecoration) {
-			V.arcologies[0].FSMaturityPreferentialist = V.arcologies[0].FSMaturityPreferentialistDecoration;
+		} else if (arc.FSMaturityPreferentialist > arc.FSMaturityPreferentialistDecoration) {
+			arc.FSMaturityPreferentialist = arc.FSMaturityPreferentialistDecoration;
 		}
-		if (V.arcologies[0].FSMaturityPreferentialistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSMaturityPreferentialist === V.arcologies[0].FSMaturityPreferentialistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSMaturityPreferentialistDecoration < V.FSLockinLevel) {
+			if (arc.FSMaturityPreferentialist === arc.FSMaturityPreferentialistDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSMaturityPreferentialistSMR === 1) {
-				V.arcologies[0].FSMaturityPreferentialist += 0.1 * V.FSSingleSlaveRep;
+			} else if (arc.FSMaturityPreferentialistSMR === 1) {
+				arc.FSMaturityPreferentialist += 0.1 * V.FSSingleSlaveRep;
 			}
 		}
 	}
 
-	if (V.arcologies[0].FSYouthPreferentialist !== "unset") {
+	if (arc.FSYouthPreferentialist !== "unset") {
 		r.push(arcSupport("FSYouthPreferentialist"));
-		if (V.arcologies[0].FSYouthPreferentialist < 0) {
+		if (arc.FSYouthPreferentialist < 0) {
 			r.push(removeFS("FSYouthPreferentialist"));
-		} else if (V.arcologies[0].FSYouthPreferentialist > V.arcologies[0].FSYouthPreferentialistDecoration) {
-			V.arcologies[0].FSYouthPreferentialist = V.arcologies[0].FSYouthPreferentialistDecoration;
+		} else if (arc.FSYouthPreferentialist > arc.FSYouthPreferentialistDecoration) {
+			arc.FSYouthPreferentialist = arc.FSYouthPreferentialistDecoration;
 		}
-		if (V.arcologies[0].FSYouthPreferentialistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSYouthPreferentialist === V.arcologies[0].FSYouthPreferentialistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSYouthPreferentialistDecoration < V.FSLockinLevel) {
+			if (arc.FSYouthPreferentialist === arc.FSYouthPreferentialistDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSYouthPreferentialistSMR === 1) {
-				V.arcologies[0].FSYouthPreferentialist += 0.1 * V.FSSingleSlaveRep;
+			} else if (arc.FSYouthPreferentialistSMR === 1) {
+				arc.FSYouthPreferentialist += 0.1 * V.FSSingleSlaveRep;
 			}
 		}
 	}
 
-	if (V.arcologies[0].FSPetiteAdmiration !== "unset") {
+	if (arc.FSPetiteAdmiration !== "unset") {
 		r.push(arcSupport("FSPetiteAdmiration"));
-		if (V.arcologies[0].FSPetiteAdmiration < 0) {
+		if (arc.FSPetiteAdmiration < 0) {
 			r.push(removeFS("FSPetiteAdmiration"));
-		} else if (V.arcologies[0].FSPetiteAdmiration > V.arcologies[0].FSPetiteAdmirationDecoration) {
-			V.arcologies[0].FSPetiteAdmiration = V.arcologies[0].FSPetiteAdmirationDecoration;
+		} else if (arc.FSPetiteAdmiration > arc.FSPetiteAdmirationDecoration) {
+			arc.FSPetiteAdmiration = arc.FSPetiteAdmirationDecoration;
 		}
-		if (V.arcologies[0].FSPetiteAdmirationDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSPetiteAdmiration === V.arcologies[0].FSPetiteAdmirationDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSPetiteAdmirationDecoration < V.FSLockinLevel) {
+			if (arc.FSPetiteAdmiration === arc.FSPetiteAdmirationDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSPetiteAdmirationSMR === 1) {
-				V.arcologies[0].FSPetiteAdmiration += 0.1 * V.FSSingleSlaveRep;
+			} else if (arc.FSPetiteAdmirationSMR === 1) {
+				arc.FSPetiteAdmiration += 0.1 * V.FSSingleSlaveRep;
 			}
 		}
 	}
 
-	if (V.arcologies[0].FSStatuesqueGlorification !== "unset") {
+	if (arc.FSStatuesqueGlorification !== "unset") {
 		r.push(arcSupport("FSStatuesqueGlorification"));
-		if (V.arcologies[0].FSStatuesqueGlorification < 0) {
+		if (arc.FSStatuesqueGlorification < 0) {
 			r.push(removeFS("FSStatuesqueGlorification"));
-		} else if (V.arcologies[0].FSStatuesqueGlorification > V.arcologies[0].FSStatuesqueGlorificationDecoration) {
-			V.arcologies[0].FSStatuesqueGlorification = V.arcologies[0].FSStatuesqueGlorificationDecoration;
+		} else if (arc.FSStatuesqueGlorification > arc.FSStatuesqueGlorificationDecoration) {
+			arc.FSStatuesqueGlorification = arc.FSStatuesqueGlorificationDecoration;
 		}
-		if (V.arcologies[0].FSStatuesqueGlorificationDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSStatuesqueGlorification === V.arcologies[0].FSStatuesqueGlorificationDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSStatuesqueGlorificationDecoration < V.FSLockinLevel) {
+			if (arc.FSStatuesqueGlorification === arc.FSStatuesqueGlorificationDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSStatuesqueGlorificationSMR === 1) {
-				V.arcologies[0].FSStatuesqueGlorification += 0.1 * V.FSSingleSlaveRep;
+			} else if (arc.FSStatuesqueGlorificationSMR === 1) {
+				arc.FSStatuesqueGlorification += 0.1 * V.FSSingleSlaveRep;
 			}
 		}
 	}
 
-	if (V.arcologies[0].FSSlimnessEnthusiast !== "unset") {
+	if (arc.FSSlimnessEnthusiast !== "unset") {
 		r.push(arcSupport("FSSlimnessEnthusiast"));
-		if (V.arcologies[0].FSSlimnessEnthusiast < 0) {
+		if (arc.FSSlimnessEnthusiast < 0) {
 			r.push(removeFS("FSSlimnessEnthusiast"));
-		} else if (V.arcologies[0].FSSlimnessEnthusiast > V.arcologies[0].FSSlimnessEnthusiastDecoration) {
-			V.arcologies[0].FSSlimnessEnthusiast = V.arcologies[0].FSSlimnessEnthusiastDecoration;
+		} else if (arc.FSSlimnessEnthusiast > arc.FSSlimnessEnthusiastDecoration) {
+			arc.FSSlimnessEnthusiast = arc.FSSlimnessEnthusiastDecoration;
 		}
-		if (V.arcologies[0].FSSlimnessEnthusiastDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSSlimnessEnthusiast === V.arcologies[0].FSSlimnessEnthusiastDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSSlimnessEnthusiastDecoration < V.FSLockinLevel) {
+			if (arc.FSSlimnessEnthusiast === arc.FSSlimnessEnthusiastDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSSlimnessEnthusiastSMR === 1) {
-				V.arcologies[0].FSSlimnessEnthusiast += 0.1 * V.FSSingleSlaveRep;
+			} else if (arc.FSSlimnessEnthusiastSMR === 1) {
+				arc.FSSlimnessEnthusiast += 0.1 * V.FSSingleSlaveRep;
 			}
 		}
 	}
 
-	if (V.arcologies[0].FSAssetExpansionist !== "unset") {
+	if (arc.FSAssetExpansionist !== "unset") {
 		r.push(arcSupport("FSAssetExpansionist"));
-		if (V.arcologies[0].FSAssetExpansionist < 0) {
+		if (arc.FSAssetExpansionist < 0) {
 			r.push(removeFS("FSAssetExpansionist"));
-		} else if (V.arcologies[0].FSAssetExpansionist > V.arcologies[0].FSAssetExpansionistDecoration) {
-			V.arcologies[0].FSAssetExpansionist = V.arcologies[0].FSAssetExpansionistDecoration;
+		} else if (arc.FSAssetExpansionist > arc.FSAssetExpansionistDecoration) {
+			arc.FSAssetExpansionist = arc.FSAssetExpansionistDecoration;
 		}
-		if (V.arcologies[0].FSAssetExpansionistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSAssetExpansionist === V.arcologies[0].FSAssetExpansionistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSAssetExpansionistDecoration < V.FSLockinLevel) {
+			if (arc.FSAssetExpansionist === arc.FSAssetExpansionistDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSAssetExpansionistSMR === 1) {
-				V.arcologies[0].FSAssetExpansionist += 0.1 * V.FSSingleSlaveRep;
+			} else if (arc.FSAssetExpansionistSMR === 1) {
+				arc.FSAssetExpansionist += 0.1 * V.FSSingleSlaveRep;
 			}
 		}
 	}
 
-	if (V.arcologies[0].FSPastoralist !== "unset") {
+	if (arc.FSPastoralist !== "unset") {
 		r.push(arcSupport("FSPastoralist"));
-		if (V.arcologies[0].FSPastoralist < 0) {
+		if (arc.FSPastoralist < 0) {
 			r.push(removeFS("FSPastoralist"));
-		} else if (V.arcologies[0].FSPastoralist > V.arcologies[0].FSPastoralistDecoration) {
-			V.arcologies[0].FSPastoralist = V.arcologies[0].FSPastoralistDecoration;
+		} else if (arc.FSPastoralist > arc.FSPastoralistDecoration) {
+			arc.FSPastoralist = arc.FSPastoralistDecoration;
 		}
-		if (V.arcologies[0].FSPastoralistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSPastoralist === V.arcologies[0].FSPastoralistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSPastoralistDecoration < V.FSLockinLevel) {
+			if (arc.FSPastoralist === arc.FSPastoralistDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSPastoralistSMR === 1) {
-				V.arcologies[0].FSPastoralist += 0.1 * V.FSSingleSlaveRep;
+			} else if (arc.FSPastoralistSMR === 1) {
+				arc.FSPastoralist += 0.1 * V.FSSingleSlaveRep;
 			}
 		}
 	}
 
-	if (V.arcologies[0].FSPhysicalIdealist !== "unset") {
+	if (arc.FSPhysicalIdealist !== "unset") {
 		r.push(arcSupport("FSPhysicalIdealist"));
-		if (V.arcologies[0].FSPhysicalIdealist < 0) {
+		if (arc.FSPhysicalIdealist < 0) {
 			r.push(removeFS("FSPhysicalIdealist"));
-		} else if (V.arcologies[0].FSPhysicalIdealist > V.arcologies[0].FSPhysicalIdealistDecoration) {
-			V.arcologies[0].FSPhysicalIdealist = V.arcologies[0].FSPhysicalIdealistDecoration;
+		} else if (arc.FSPhysicalIdealist > arc.FSPhysicalIdealistDecoration) {
+			arc.FSPhysicalIdealist = arc.FSPhysicalIdealistDecoration;
 		}
-		if (V.arcologies[0].FSPhysicalIdealistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSPhysicalIdealist === V.arcologies[0].FSPhysicalIdealistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSPhysicalIdealistDecoration < V.FSLockinLevel) {
+			if (arc.FSPhysicalIdealist === arc.FSPhysicalIdealistDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSPhysicalIdealistSMR === 1) {
-				V.arcologies[0].FSPhysicalIdealist += 0.1 * V.FSSingleSlaveRep;
+			} else if (arc.FSPhysicalIdealistSMR === 1) {
+				arc.FSPhysicalIdealist += 0.1 * V.FSSingleSlaveRep;
 			}
 		}
 	}
 
-	if (V.arcologies[0].FSHedonisticDecadence !== "unset") {
+	if (arc.FSHedonisticDecadence !== "unset") {
 		r.push(arcSupport("FSHedonisticDecadence"));
-		if (V.arcologies[0].FSHedonisticDecadence < 0) {
+		if (arc.FSHedonisticDecadence < 0) {
 			r.push(removeFS("FSHedonisticDecadence"));
-		} else if (V.arcologies[0].FSHedonisticDecadence > V.arcologies[0].FSHedonisticDecadenceDecoration) {
-			V.arcologies[0].FSHedonisticDecadence = V.arcologies[0].FSHedonisticDecadenceDecoration;
+		} else if (arc.FSHedonisticDecadence > arc.FSHedonisticDecadenceDecoration) {
+			arc.FSHedonisticDecadence = arc.FSHedonisticDecadenceDecoration;
 		}
-		if (V.arcologies[0].FSHedonisticDecadenceDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSHedonisticDecadence === V.arcologies[0].FSHedonisticDecadenceDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSHedonisticDecadenceDecoration < V.FSLockinLevel) {
+			if (arc.FSHedonisticDecadence === arc.FSHedonisticDecadenceDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSHedonisticDecadenceSMR === 1) {
-				V.arcologies[0].FSHedonisticDecadence += 0.1 * V.FSSingleSlaveRep;
+			} else if (arc.FSHedonisticDecadenceSMR === 1) {
+				arc.FSHedonisticDecadence += 0.1 * V.FSSingleSlaveRep;
 			}
 		}
 	}
 
-	if (V.arcologies[0].FSChattelReligionist !== "unset") {
+	if (arc.FSChattelReligionist !== "unset") {
 		r.push(arcSupport("FSChattelReligionist"));
-		if (V.arcologies[0].FSChattelReligionist >= V.FSLockinLevel) {
+		if (arc.FSChattelReligionist >= V.FSLockinLevel) {
 			V.nicaea.announceable = 1;
 		}
-		if (V.arcologies[0].FSChattelReligionist < 0) {
+		if (arc.FSChattelReligionist < 0) {
 			r.push(removeFS("FSChattelReligionist"));
-		} else if (V.arcologies[0].FSChattelReligionist > V.arcologies[0].FSChattelReligionistDecoration) {
-			V.arcologies[0].FSChattelReligionist = V.arcologies[0].FSChattelReligionistDecoration;
+		} else if (arc.FSChattelReligionist > arc.FSChattelReligionistDecoration) {
+			arc.FSChattelReligionist = arc.FSChattelReligionistDecoration;
 		}
-		if (V.arcologies[0].FSChattelReligionistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSChattelReligionist === V.arcologies[0].FSChattelReligionistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSChattelReligionistDecoration < V.FSLockinLevel) {
+			if (arc.FSChattelReligionist === arc.FSChattelReligionistDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSChattelReligionistSMR === 1) {
-				V.arcologies[0].FSChattelReligionist += 0.1 * V.FSSingleSlaveRep;
+			} else if (arc.FSChattelReligionistSMR === 1) {
+				arc.FSChattelReligionist += 0.1 * V.FSSingleSlaveRep;
 			}
 		}
 	}
 
-	if (V.arcologies[0].FSRomanRevivalist !== "unset") {
+	if (arc.FSRomanRevivalist !== "unset") {
 		r.push(arcSupport("FSRomanRevivalist"));
-		if (V.arcologies[0].FSRomanRevivalist < 0) {
+		if (arc.FSRomanRevivalist < 0) {
 			r.push(removeFS("FSRomanRevivalist"));
-		} else if (V.arcologies[0].FSRomanRevivalist > V.arcologies[0].FSRomanRevivalistDecoration) {
-			V.arcologies[0].FSRomanRevivalist = V.arcologies[0].FSRomanRevivalistDecoration;
+		} else if (arc.FSRomanRevivalist > arc.FSRomanRevivalistDecoration) {
+			arc.FSRomanRevivalist = arc.FSRomanRevivalistDecoration;
 		}
-		if (V.arcologies[0].FSRomanRevivalistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSRomanRevivalist === V.arcologies[0].FSRomanRevivalistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSRomanRevivalistDecoration < V.FSLockinLevel) {
+			if (arc.FSRomanRevivalist === arc.FSRomanRevivalistDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSRomanRevivalistSMR === 1) {
-				V.arcologies[0].FSRomanRevivalist += 0.1 * V.FSSingleSlaveRep;
+			} else if (arc.FSRomanRevivalistSMR === 1) {
+				arc.FSRomanRevivalist += 0.1 * V.FSSingleSlaveRep;
 			}
 		}
 	}
 
-	if (V.arcologies[0].FSNeoImperialist !== "unset") {
+	if (arc.FSNeoImperialist !== "unset") {
 		r.push(arcSupport("FSNeoImperialist"));
-		if (V.arcologies[0].FSNeoImperialist < 0) {
+		if (arc.FSNeoImperialist < 0) {
 			r.push(removeFS("FSNeoImperialist"));
-		} else if (V.arcologies[0].FSNeoImperialist > V.arcologies[0].FSNeoImperialistDecoration) {
-			V.arcologies[0].FSNeoImperialist = V.arcologies[0].FSNeoImperialistDecoration;
+		} else if (arc.FSNeoImperialist > arc.FSNeoImperialistDecoration) {
+			arc.FSNeoImperialist = arc.FSNeoImperialistDecoration;
 		}
-		if (V.arcologies[0].FSNeoImperialistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSNeoImperialist === V.arcologies[0].FSNeoImperialistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSNeoImperialistDecoration < V.FSLockinLevel) {
+			if (arc.FSNeoImperialist === arc.FSNeoImperialistDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSNeoImperialistSMR === 1) {
-				V.arcologies[0].FSNeoImperialist += 0.1 * V.FSSingleSlaveRep;
+			} else if (arc.FSNeoImperialistSMR === 1) {
+				arc.FSNeoImperialist += 0.1 * V.FSSingleSlaveRep;
 			}
 		}
 	}
 
-	if (V.arcologies[0].FSAztecRevivalist !== "unset") {
+	if (arc.FSAztecRevivalist !== "unset") {
 		r.push(arcSupport("FSAztecRevivalist"));
-		if (V.arcologies[0].FSAztecRevivalist < 0) {
+		if (arc.FSAztecRevivalist < 0) {
 			r.push(removeFS("FSAztecRevivalist"));
-		} else if (V.arcologies[0].FSAztecRevivalist > V.arcologies[0].FSAztecRevivalistDecoration) {
-			V.arcologies[0].FSAztecRevivalist = V.arcologies[0].FSAztecRevivalistDecoration;
+		} else if (arc.FSAztecRevivalist > arc.FSAztecRevivalistDecoration) {
+			arc.FSAztecRevivalist = arc.FSAztecRevivalistDecoration;
 		}
-		if (V.arcologies[0].FSAztecRevivalistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSAztecRevivalist === V.arcologies[0].FSAztecRevivalistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSAztecRevivalistDecoration < V.FSLockinLevel) {
+			if (arc.FSAztecRevivalist === arc.FSAztecRevivalistDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSAztecRevivalistSMR === 1) {
-				V.arcologies[0].FSAztecRevivalist += 0.1 * V.FSSingleSlaveRep;
+			} else if (arc.FSAztecRevivalistSMR === 1) {
+				arc.FSAztecRevivalist += 0.1 * V.FSSingleSlaveRep;
 			}
 		}
 	}
 
-	if (V.arcologies[0].FSEgyptianRevivalist !== "unset") {
+	if (arc.FSEgyptianRevivalist !== "unset") {
 		r.push(arcSupport("FSEgyptianRevivalist"));
-		if (V.arcologies[0].FSEgyptianRevivalist < 0) {
+		if (arc.FSEgyptianRevivalist < 0) {
 			r.push(removeFS("FSEgyptianRevivalist"));
-		} else if (V.arcologies[0].FSEgyptianRevivalist > V.arcologies[0].FSEgyptianRevivalistDecoration) {
-			V.arcologies[0].FSEgyptianRevivalist = V.arcologies[0].FSEgyptianRevivalistDecoration;
+		} else if (arc.FSEgyptianRevivalist > arc.FSEgyptianRevivalistDecoration) {
+			arc.FSEgyptianRevivalist = arc.FSEgyptianRevivalistDecoration;
 		}
-		if (V.arcologies[0].FSEgyptianRevivalistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSEgyptianRevivalist === V.arcologies[0].FSEgyptianRevivalistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSEgyptianRevivalistDecoration < V.FSLockinLevel) {
+			if (arc.FSEgyptianRevivalist === arc.FSEgyptianRevivalistDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSEgyptianRevivalistSMR === 1) {
-				V.arcologies[0].FSEgyptianRevivalist += 0.1 * V.FSSingleSlaveRep;
+			} else if (arc.FSEgyptianRevivalistSMR === 1) {
+				arc.FSEgyptianRevivalist += 0.1 * V.FSSingleSlaveRep;
 			}
 		}
 	}
 
-	if (V.arcologies[0].FSEdoRevivalist !== "unset") {
+	if (arc.FSEdoRevivalist !== "unset") {
 		r.push(arcSupport("FSEdoRevivalist"));
-		if (V.arcologies[0].FSEdoRevivalist < 0) {
+		if (arc.FSEdoRevivalist < 0) {
 			r.push(removeFS("FSEdoRevivalist"));
-		} else if (V.arcologies[0].FSEdoRevivalist > V.arcologies[0].FSEdoRevivalistDecoration) {
-			V.arcologies[0].FSEdoRevivalist = V.arcologies[0].FSEdoRevivalistDecoration;
+		} else if (arc.FSEdoRevivalist > arc.FSEdoRevivalistDecoration) {
+			arc.FSEdoRevivalist = arc.FSEdoRevivalistDecoration;
 		}
-		if (V.arcologies[0].FSEdoRevivalistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSEdoRevivalist === V.arcologies[0].FSEdoRevivalistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSEdoRevivalistDecoration < V.FSLockinLevel) {
+			if (arc.FSEdoRevivalist === arc.FSEdoRevivalistDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSEdoRevivalistSMR === 1) {
-				V.arcologies[0].FSEdoRevivalist += 0.1 * V.FSSingleSlaveRep;
+			} else if (arc.FSEdoRevivalistSMR === 1) {
+				arc.FSEdoRevivalist += 0.1 * V.FSSingleSlaveRep;
 			}
 		}
 	}
 
-	if (V.arcologies[0].FSArabianRevivalist !== "unset") {
+	if (arc.FSArabianRevivalist !== "unset") {
 		r.push(arcSupport("FSArabianRevivalist"));
-		if (V.arcologies[0].FSArabianRevivalist < 0) {
+		if (arc.FSArabianRevivalist < 0) {
 			r.push(removeFS("FSArabianRevivalist"));
-		} else if (V.arcologies[0].FSArabianRevivalist > V.arcologies[0].FSArabianRevivalistDecoration) {
-			V.arcologies[0].FSArabianRevivalist = V.arcologies[0].FSArabianRevivalistDecoration;
+		} else if (arc.FSArabianRevivalist > arc.FSArabianRevivalistDecoration) {
+			arc.FSArabianRevivalist = arc.FSArabianRevivalistDecoration;
 		}
-		if (V.arcologies[0].FSArabianRevivalistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSArabianRevivalist === V.arcologies[0].FSArabianRevivalistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSArabianRevivalistDecoration < V.FSLockinLevel) {
+			if (arc.FSArabianRevivalist === arc.FSArabianRevivalistDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSArabianRevivalistSMR === 1) {
-				V.arcologies[0].FSArabianRevivalist += 0.1 * V.FSSingleSlaveRep;
+			} else if (arc.FSArabianRevivalistSMR === 1) {
+				arc.FSArabianRevivalist += 0.1 * V.FSSingleSlaveRep;
 			}
 		}
 	}
 
-	if (V.arcologies[0].FSChineseRevivalist !== "unset") {
+	if (arc.FSChineseRevivalist !== "unset") {
 		r.push(arcSupport("FSChineseRevivalist"));
-		if (V.arcologies[0].FSChineseRevivalist < 0) {
+		if (arc.FSChineseRevivalist < 0) {
 			r.push(removeFS("FSChineseRevivalist"));
-		} else if (V.arcologies[0].FSChineseRevivalist > V.arcologies[0].FSChineseRevivalistDecoration) {
-			V.arcologies[0].FSChineseRevivalist = V.arcologies[0].FSChineseRevivalistDecoration;
+		} else if (arc.FSChineseRevivalist > arc.FSChineseRevivalistDecoration) {
+			arc.FSChineseRevivalist = arc.FSChineseRevivalistDecoration;
 		}
-		if (V.arcologies[0].FSChineseRevivalistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSChineseRevivalist === V.arcologies[0].FSChineseRevivalistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
+		if (arc.FSChineseRevivalistDecoration < V.FSLockinLevel) {
+			if (arc.FSChineseRevivalist === arc.FSChineseRevivalistDecoration) {
+				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
 				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSChineseRevivalistSMR === 1) {
-				V.arcologies[0].FSChineseRevivalist += 0.1 * V.FSSingleSlaveRep;
+			} else if (arc.FSChineseRevivalistSMR === 1) {
+				arc.FSChineseRevivalist += 0.1 * V.FSSingleSlaveRep;
 			}
 		}
 	}
@@ -1045,7 +1065,7 @@ App.EndWeek.FSDevelopments = function() {
 	return el;
 
 	function arcSupport(FS) {
-		if (V.arcologies[0][FS] >= V.FSLockinLevel * 0.6) {
+		if (arc[FS] >= V.FSLockinLevel * 0.6) {
 			V.independenceDay = 1;
 		}
 		return FutureSocieties.arcSupport(FS);