diff --git a/src/js/futureSocietyJS.js b/src/js/futureSocietyJS.js
index 0b33a2d0674bf95b602ec0880ce66bdc669988f6..6c9a4b2454229bf1ccf93f98f11eb5faf56c2fe5 100644
--- a/src/js/futureSocietyJS.js
+++ b/src/js/futureSocietyJS.js
@@ -38,6 +38,7 @@ window.FutureSocieties = (function() {
 	return {
 		activeCount: activeCount,
 		applyBroadProgress: applyBroadProgress,
+		overflowToInfluence: overflowToInfluence,
 		remove: removeFS,
 		DecorationCleanup: DecorationCleanup,
 		Change: FSChange,
@@ -59,9 +60,21 @@ window.FutureSocieties = (function() {
 
 	// call as FutureSocieties.applyBroadProgress(arcologyID, progress)
 	function applyBroadProgress(arcologyID, progress) {
-		activeFSes(arcologyID).forEach((fs) => {
+		for (fs of activeFSes(arcologyID)) {
 			V.arcologies[arcologyID][fs] += progress;
-		});
+		}
+	}
+
+	// call as FutureSocieties.overflowToInfluence(arcologyID)
+	// converts excess progress into influence bonus
+	function overflowToInfluence(arcologyID) {
+		const arcology = V.arcologies[arcologyID];
+		for (fs of activeFSes(arcologyID)) {
+			if (arcology[fs] > V.FSLockinLevel) {
+				arcology.influenceBonus += arcology[fs] - V.FSLockinLevel;
+				arcology[fs] = V.FSLockinLevel;
+			}
+		}
 	}
 
 	// call as FutureSocieties.remove(FS)
diff --git a/src/uncategorized/fsDevelopments.tw b/src/uncategorized/fsDevelopments.tw
index 181252fbd6a17055cf36696a7e45362e1443a6bb..aa72630b77093dfdd83230bf427aea3005b96490 100644
--- a/src/uncategorized/fsDevelopments.tw
+++ b/src/uncategorized/fsDevelopments.tw
@@ -497,106 +497,7 @@
 <</if>>
 
 /* Progress overflow into influence */
-<<if $arcologies[0].FSSupremacist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSSupremacist - $FSLockinLevel>>
-	<<set $arcologies[0].FSSupremacist = $FSLockinLevel>>
-<</if>>
-<<if $arcologies[0].FSSubjugationist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSSubjugationist - $FSLockinLevel>>
-	<<set $arcologies[0].FSSubjugationist = $FSLockinLevel>>
-<</if>>
-<<if $arcologies[0].FSGenderRadicalist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSGenderRadicalist - $FSLockinLevel>>
-	<<set $arcologies[0].FSGenderRadicalist = $FSLockinLevel>>
-<<elseif $arcologies[0].FSGenderFundamentalist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSGenderFundamentalist - $FSLockinLevel>>
-	<<set $arcologies[0].FSGenderFundamentalist = $FSLockinLevel>>
-<</if>>
-<<if $arcologies[0].FSPaternalist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSPaternalist - $FSLockinLevel>>
-	<<set $arcologies[0].FSPaternalist = $FSLockinLevel>>
-<<elseif $arcologies[0].FSPaternalist != "unset">>
-	<<set $arcologies[0].FSPaternalist += _broadProgress>>
-<<elseif $arcologies[0].FSDegradationist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSDegradationist - $FSLockinLevel>>
-	<<set $arcologies[0].FSDegradationist = $FSLockinLevel>>
-<</if>>
-<<if $arcologies[0].FSIntellectualDependency > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSIntellectualDependency - $FSLockinLevel>>
-	<<set $arcologies[0].FSIntellectualDependency = $FSLockinLevel>>
-<<elseif $arcologies[0].FSSlaveProfessionalism > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSSlaveProfessionalism - $FSLockinLevel>>
-	<<set $arcologies[0].FSSlaveProfessionalism = $FSLockinLevel>>
-<</if>>
-<<if $arcologies[0].FSBodyPurist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSBodyPurist - $FSLockinLevel>>
-	<<set $arcologies[0].FSBodyPurist = $FSLockinLevel>>
-<<elseif $arcologies[0].FSTransformationFetishist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSTransformationFetishist - $FSLockinLevel>>
-	<<set $arcologies[0].FSTransformationFetishist = $FSLockinLevel>>
-<</if>>
-<<if $arcologies[0].FSPastoralist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSPastoralist - $FSLockinLevel>>
-	<<set $arcologies[0].FSPastoralist = $FSLockinLevel>>
-<</if>>
-<<if $arcologies[0].FSPhysicalIdealist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSPhysicalIdealist - $FSLockinLevel>>
-	<<set $arcologies[0].FSPhysicalIdealist = $FSLockinLevel>>
-<<elseif $arcologies[0].FSHedonisticDecadence > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSHedonisticDecadence - $FSLockinLevel>>
-	<<set $arcologies[0].FSHedonisticDecadence = $FSLockinLevel>>
-<</if>>
-<<if $arcologies[0].FSMaturityPreferentialist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSMaturityPreferentialist - $FSLockinLevel>>
-	<<set $arcologies[0].FSMaturityPreferentialist = $FSLockinLevel>>
-<<elseif $arcologies[0].FSYouthPreferentialist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSYouthPreferentialist - $FSLockinLevel>>
-	<<set $arcologies[0].FSYouthPreferentialist = $FSLockinLevel>>
-<</if>>
-<<if $arcologies[0].FSPetiteAdmiration > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSPetiteAdmiration - $FSLockinLevel>>
-	<<set $arcologies[0].FSPetiteAdmiration = $FSLockinLevel>>
-<<elseif $arcologies[0].FSStatuesqueGlorification > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSStatuesqueGlorification - $FSLockinLevel>>
-	<<set $arcologies[0].FSStatuesqueGlorification = $FSLockinLevel>>
-<</if>>
-<<if $arcologies[0].FSSlimnessEnthusiast > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSSlimnessEnthusiast - $FSLockinLevel>>
-	<<set $arcologies[0].FSSlimnessEnthusiast = $FSLockinLevel>>
-<<elseif $arcologies[0].FSAssetExpansionist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSAssetExpansionist - $FSLockinLevel>>
-	<<set $arcologies[0].FSAssetExpansionist = $FSLockinLevel>>
-<</if>>
-<<if $arcologies[0].FSChattelReligionist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSChattelReligionist - $FSLockinLevel>>
-	<<set $arcologies[0].FSChattelReligionist = $FSLockinLevel>>
-<</if>>
-<<if $arcologies[0].FSRomanRevivalist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSRomanRevivalist - $FSLockinLevel>>
-	<<set $arcologies[0].FSRomanRevivalist = $FSLockinLevel>>
-<<elseif $arcologies[0].FSAztecRevivalist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSAztecRevivalist - $FSLockinLevel>>
-	<<set $arcologies[0].FSAztecRevivalist = $FSLockinLevel>>
-<<elseif $arcologies[0].FSEgyptianRevivalist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSEgyptianRevivalist - $FSLockinLevel>>
-	<<set $arcologies[0].FSEgyptianRevivalist = $FSLockinLevel>>
-<<elseif $arcologies[0].FSEdoRevivalist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSEdoRevivalist - $FSLockinLevel>>
-	<<set $arcologies[0].FSEdoRevivalist = $FSLockinLevel>>
-<<elseif $arcologies[0].FSArabianRevivalist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSArabianRevivalist - $FSLockinLevel>>
-	<<set $arcologies[0].FSArabianRevivalist = $FSLockinLevel>>
-<<elseif $arcologies[0].FSChineseRevivalist > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSChineseRevivalist - $FSLockinLevel>>
-	<<set $arcologies[0].FSChineseRevivalist = $FSLockinLevel>>
-<</if>>
-<<if $arcologies[0].FSRepopulationFocus > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSRepopulationFocus - $FSLockinLevel>>
-	<<set $arcologies[0].FSRepopulationFocus = $FSLockinLevel>>
-<<elseif $arcologies[0].FSRestart > $FSLockinLevel>>
-	<<set $arcologies[0].influenceBonus += $arcologies[0].FSRestart - $FSLockinLevel>>
-	<<set $arcologies[0].FSRestart = $FSLockinLevel>>
-<</if>>
+<<run FutureSocieties.overflowToInfluence(0)>>
 
 /* warm up policy influence */
 <<if $arcologies[0].FSEgyptianRevivalistIncestPolicy == 1 && $arcologies[0].FSEgyptianRevivalistInterest < 26>>
diff --git a/src/uncategorized/neighborsDevelopment.tw b/src/uncategorized/neighborsDevelopment.tw
index 031517ae46dd9e20d675def69acb59292f886d8d..ad12e9105429aa45cee7000aa79a7dc03c718cb8 100644
--- a/src/uncategorized/neighborsDevelopment.tw
+++ b/src/uncategorized/neighborsDevelopment.tw
@@ -681,10 +681,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSSupremacist >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSSupremacist - $FSLockinLevel>>
-			<<set $arcologies[$i].FSSupremacist = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				Racial Supremacy for $arcologies[$i].FSSupremacistRace people has reached stability and acceptance there. The arcology has been renamed
 				<<switch $arcologies[$i].FSSupremacistRace>>
 				<<case "white">>
@@ -744,10 +741,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSSubjugationist >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSSubjugationist - $FSLockinLevel>>
-			<<set $arcologies[$i].FSSubjugationist = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				Racial Subjugationism of $arcologies[$i].FSSubjugationistRace people has reached stability and acceptance there. The arcology has been renamed
 				<<switch $arcologies[$i].FSSubjugationistRace>>
 				<<case "white">>
@@ -807,10 +801,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSRepopulationFocus >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSRepopulationFocus - $FSLockinLevel>>
-			<<set $arcologies[$i].FSRepopulationFocus = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				Repopulationism has reached stability and acceptance there. The arcology has been renamed
 				<<set $arcologies[$i].name to setup.ArcologyNamesRepopulationist.random()>>
 				'' $arcologies[$i].name'' to mark the occasion.
@@ -851,10 +842,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSRestart >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSRestart - $FSLockinLevel>>
-			<<set $arcologies[$i].FSRestart = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				<<set $arcologies[$i].FSRestartResearch = 1>>
 				Eugenics has reached stability and acceptance there. The arcology has been renamed
 				<<set $arcologies[$i].name = setup.ArcologyNamesEugenics.random()>>
@@ -898,10 +886,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSGenderRadicalist >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSGenderRadicalist - $FSLockinLevel>>
-			<<set $arcologies[$i].FSGenderRadicalist = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				<<set $arcologies[$i].FSGenderRadicalistResearch = 1>>
 				Gender Radicalism has reached stability and acceptance there. The arcology has been renamed
 				<<set $arcologies[$i].name = setup.ArcologyNamesGenderRadicalist.random()>>
@@ -949,10 +934,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSGenderFundamentalist >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSGenderFundamentalist - $FSLockinLevel>>
-			<<set $arcologies[$i].FSGenderFundamentalist = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				Gender Fundamentalism has reached stability and acceptance there. The arcology has been renamed
 				<<set $arcologies[$i].name = setup.ArcologyNamesGenderFundamentalist.random()>>
 				'' $arcologies[$i].name'' to mark the occasion.
@@ -987,10 +969,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSPaternalist >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSPaternalist - $FSLockinLevel>>
-			<<set $arcologies[$i].FSPaternalist = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				Paternalism has reached stability and acceptance there. The arcology has been renamed
 				<<set $arcologies[$i].name = setup.ArcologyNamesPaternalist.random()>>
 				'' $arcologies[$i].name'' to mark the occasion.
@@ -1032,10 +1011,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSDegradationist >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSDegradationist - $FSLockinLevel>>
-			<<set $arcologies[$i].FSDegradationist = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				Degradationism has reached stability and acceptance there. The arcology has been renamed
 				<<set $arcologies[$i].name = setup.ArcologyNamesDegradationist.random()>>
 				'' $arcologies[$i].name'' to mark the occasion.
@@ -1079,10 +1055,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSIntellectualDependency >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSIntellectualDependency - $FSLockinLevel>>
-			<<set $arcologies[$i].FSIntellectualDependency = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				Intellectual Dependency has reached stability and acceptance there. The arcology has been renamed
 				<<set $arcologies[$i].name = setup.ArcologyNamesIntellectualDependency.random()>>
 				'' $arcologies[$i].name'' to mark the occasion.
@@ -1119,10 +1092,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSSlaveProfessionalism >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSSlaveProfessionalism - $FSLockinLevel>>
-			<<set $arcologies[$i].FSSlaveProfessionalism = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				<<set $arcologies[$i].FSSlaveProfessionalismResearch = 1>>
 				Slave Professionalism has reached stability and acceptance there. The arcology has been renamed
 				<<set $arcologies[$i].name = setup.ArcologyNamesSlaveProfessionalism.random()>>
@@ -1176,10 +1146,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSBodyPurist >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSBodyPurist - $FSLockinLevel>>
-			<<set $arcologies[$i].FSBodyPurist = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				Body Purism has reached stability and acceptance there. The arcology has been renamed
 				<<set $arcologies[$i].name = setup.ArcologyNamesBodyPurist.random()>>
 				'' $arcologies[$i].name'' to mark the occasion.
@@ -1214,10 +1181,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSTransformationFetishist >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSTransformationFetishist - $FSLockinLevel>>
-			<<set $arcologies[$i].FSTransformationFetishist = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				<<set $arcologies[$i].FSTransformationFetishistResearch = 1>>
 				Transformation Fetishism has reached stability and acceptance there. The arcology has been renamed
 				<<set $arcologies[$i].name = setup.ArcologyNamesTransformationFetishist.random()>>
@@ -1257,10 +1221,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSYouthPreferentialist >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSYouthPreferentialist - $FSLockinLevel>>
-			<<set $arcologies[$i].FSYouthPreferentialist = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				Youth Preferentialism has reached stability and acceptance there. The arcology has been renamed
 				<<if $pedo_mode == 1 || $minimumSlaveAge < 6>>
 					<<set $arcologies[$i].name = setup.ArcologyNamesYouthPreferentialistLow.random()>>
@@ -1300,10 +1261,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSMaturityPreferentialist >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSMaturityPreferentialist - $FSLockinLevel>>
-			<<set $arcologies[$i].FSMaturityPreferentialist = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				Maturity Preferentialism has reached stability and acceptance there. The arcology has been renamed
 				<<set $arcologies[$i].name = setup.ArcologyNamesMaturityPreferentialist.random()>>
 				'' $arcologies[$i].name'' to mark the occasion.
@@ -1338,10 +1296,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSPetiteAdmiration >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSPetiteAdmiration - $FSLockinLevel>>
-			<<set $arcologies[$i].FSPetiteAdmiration = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				Petite Admiration has reached stability and acceptance there. The arcology has been renamed
 				<<set $arcologies[$i].name = setup.ArcologyNamesPetiteAdmiration.random()>>
 				'' $arcologies[$i].name'' to mark the occasion.
@@ -1378,10 +1333,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSStatuesqueGlorification >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSStatuesqueGlorification - $FSLockinLevel>>
-			<<set $arcologies[$i].FSStatuesqueGlorification = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				Statuesque Glorification has reached stability and acceptance there. The arcology has been renamed
 				<<set $arcologies[$i].name = setup.ArcologyNamesStatuesqueGlorification.random()>>
 				'' $arcologies[$i].name'' to mark the occasion.
@@ -1420,10 +1372,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSSlimnessEnthusiast >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSSlimnessEnthusiast - $FSLockinLevel>>
-			<<set $arcologies[$i].FSSlimnessEnthusiast = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				Slimness Enthusiasm has reached stability and acceptance there. The arcology has been renamed
 				<<set $arcologies[$i].name = setup.ArcologyNamesSlimnessEnthusiast.random()>>
 				'' $arcologies[$i].name'' to mark the occasion.
@@ -1459,10 +1408,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSAssetExpansionist >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSAssetExpansionist - $FSLockinLevel>>
-			<<set $arcologies[$i].FSAssetExpansionist = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				<<set $arcologies[$i].FSAssetExpansionistResearch = 1>>
 				Asset Expansionism has reached stability and acceptance there. The arcology has been renamed
 				<<set $arcologies[$i].name = setup.ArcologyNamesAssetExpansionist.random()>>
@@ -1503,10 +1449,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSPastoralist >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSPastoralist - $FSLockinLevel>>
-			<<set $arcologies[$i].FSPastoralist = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				Pastoralism has reached stability and acceptance there. The arcology has been renamed
 				<<set $arcologies[$i].name = setup.ArcologyNamesPastoralist.random()>>
 				'' $arcologies[$i].name'' to mark the occasion.
@@ -1543,10 +1486,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSCummunism >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSCummunism - $FSLockinLevel>>
-			<<set $arcologies[$i].FSCummunism = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				Cummunism has reached stability and acceptance there. The arcology has been renamed
 				<<set $arcologies[$i].name = setup.ArcologyNamesCummunism.random()>>
 				'' $arcologies[$i].name'' to mark the occasion.
@@ -1589,10 +1529,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSPhysicalIdealist >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSPhysicalIdealist - $FSLockinLevel>>
-			<<set $arcologies[$i].FSPhysicalIdealist = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				Physical Idealism has reached stability and acceptance there. The arcology has been renamed
 				<<set $arcologies[$i].name = setup.ArcologyNamesPhysicalIdealist.random()>>
 				'' $arcologies[$i].name'' to mark the occasion.
@@ -1633,10 +1570,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSHedonisticDecadence >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSHedonisticDecadence - $FSLockinLevel>>
-			<<set $arcologies[$i].FSHedonisticDecadence = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				<<set $arcologies[$i].FSHedonisticDecadenceResearch = 1>>
 				Decadent Hedonism has reached stability and acceptance there. The arcology has been renamed
 				<<set $arcologies[$i].name = setup.ArcologyNamesHedonisticDecadence.random()>>
@@ -1673,10 +1607,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSIncestFetishist >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSIncestFetishist - $FSLockinLevel>>
-			<<set $arcologies[$i].FSIncestFetishist = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				Incest Fetishism has reached stability and acceptance there. The arcology has been renamed
 				<<set $arcologies[$i].name = setup.ArcologyNamesIncestFetishist.random()>>
 				'' $arcologies[$i].name'' to mark the occasion.
@@ -1708,10 +1639,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSChattelReligionist >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSChattelReligionist - $FSLockinLevel>>
-			<<set $arcologies[$i].FSChattelReligionist = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				Chattel Religionism has reached stability and acceptance there. The arcology has been renamed
 				<<set $arcologies[$i].name = setup.ArcologyNamesChattelReligionist.random()>>
 				'' $arcologies[$i].name'' to mark the occasion.
@@ -1762,10 +1690,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSRomanRevivalist >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSRomanRevivalist - $FSLockinLevel>>
-			<<set $arcologies[$i].FSRomanRevivalist = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				Roman Revivalism has reached stability and acceptance there. The arcology has been renamed
 				<<set $arcologies[$i].name = setup.ArcologyNamesRomanRevivalist.random()>>
 				'' $arcologies[$i].name'' to mark the occasion.
@@ -1810,10 +1735,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSAztecRevivalist >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSAztecRevivalist - $FSLockinLevel>>
-			<<set $arcologies[$i].FSAztecRevivalist = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				Aztec Revivalism has reached stability and acceptance there. The arcology has been renamed
 				<<set $arcologies[$i].name = setup.ArcologyNamesAztecRevivalist.random()>>
 				'' $arcologies[$i].name'' to mark the occasion.
@@ -1858,10 +1780,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSEgyptianRevivalist >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSEgyptianRevivalist - $FSLockinLevel>>
-			<<set $arcologies[$i].FSEgyptianRevivalist = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				Egyptian Revivalism has reached stability and acceptance there. The arcology has been renamed
 				<<set $arcologies[$i].name = setup.ArcologyNamesEgyptianRevivalist.random()>>
 				'' $arcologies[$i].name'' to mark the occasion.
@@ -1906,10 +1825,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSEdoRevivalist >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSEdoRevivalist - $FSLockinLevel>>
-			<<set $arcologies[$i].FSEdoRevivalist = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				Edo Revivalism has reached stability and acceptance there. The arcology has been renamed
 				<<set $arcologies[$i].name = setup.ArcologyNamesEdoRevivalist.random()>>
 				'' $arcologies[$i].name'' to mark the occasion.
@@ -1954,10 +1870,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSArabianRevivalist >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSArabianRevivalist - $FSLockinLevel>>
-			<<set $arcologies[$i].FSArabianRevivalist = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				Arabian Revivalism has reached stability and acceptance there. The arcology has been renamed
 				<<set $arcologies[$i].name = setup.ArcologyNamesArabianRevivalist.random()>>
 				'' $arcologies[$i].name'' to mark the occasion.
@@ -2006,10 +1919,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 	<</for>>
 	<<if $arcologies[$i].direction != 0>>
 		<<if $arcologies[$i].FSChineseRevivalist >= $FSLockinLevel>>
-			<<set $arcologies[$i].influenceBonus += $arcologies[$i].FSChineseRevivalist - $FSLockinLevel>>
-			<<set $arcologies[$i].FSChineseRevivalist = $FSLockinLevel>>
-			<<set $toSearch = $arcologies[$i].name>>
-			<<if ($toSearch.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
+			<<if ($arcologies[$i].name.indexOf("Arcology") != -1) && (random(0,2) == 0)>>
 				Chinese Revivalism has reached stability and acceptance there. The arcology has been renamed
 				<<set $arcologies[$i].name = setup.ArcologyNamesChineseRevivalist.random()>>
 				'' $arcologies[$i].name'' to mark the occasion.
@@ -2029,6 +1939,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(_prosperity)>><<if $sh
 		<</if>>
 	<</if>>
 <</if>>
+<<run FutureSocieties.overflowToInfluence($i)>>
 
 /* FUTURE SOCIETY ADOPTION */