From f4e7ff50f583154b17eb78dec3dc35e1687868fd Mon Sep 17 00:00:00 2001
From: lowercasedonkey <lowercasedonkey@gmail.com>
Date: Thu, 29 Oct 2020 02:00:44 -0400
Subject: [PATCH] make i local

---
 src/endWeek/economics/neighborsDevelopment.js | 1616 ++++++++---------
 1 file changed, 808 insertions(+), 808 deletions(-)

diff --git a/src/endWeek/economics/neighborsDevelopment.js b/src/endWeek/economics/neighborsDevelopment.js
index 366b7d9bc2d..50d5fbe069a 100644
--- a/src/endWeek/economics/neighborsDevelopment.js
+++ b/src/endWeek/economics/neighborsDevelopment.js
@@ -14,11 +14,11 @@ App.EndWeek.neighborsDevelopment = function() {
 	let _prosperityDiff;
 	let _redHanded; // TODO: may be used too much and not properly reset.
 	let desc;
-	for (V.i = 0; V.i < V.arcologies.length; V.i++) {
-		if (V.arcologies[V.i].prosperity < 10) {
-			V.arcologies[V.i].prosperity = 10;
+	for (let i = 0; i < V.arcologies.length; i++) {
+		if (V.arcologies[i].prosperity < 10) {
+			V.arcologies[i].prosperity = 10;
 		}
-		V.averageProsperity += V.arcologies[V.i].prosperity;
+		V.averageProsperity += V.arcologies[i].prosperity;
 	}
 	V.averageProsperity = V.averageProsperity/V.arcologies.length;
 
@@ -30,50 +30,50 @@ App.EndWeek.neighborsDevelopment = function() {
 		// __Arcologies in the Free City__
 	}
 
-	for (V.i = 0; V.i < V.arcologies.length; V.i++) {
+	for (let i = 0; i < V.arcologies.length; i++) {
 	// <br>
-		r.push(`'' ${V.arcologies[V.i].name}'', your `);
-		if (V.arcologies[V.i].direction === 0) {
+		r.push(`'' ${V.arcologies[i].name}'', your `);
+		if (V.arcologies[i].direction === 0) {
 			r.push(`arcology`);
 		} else {
-			r.push(`neighbor to the ${V.arcologies[V.i].direction}`);
+			r.push(`neighbor to the ${V.arcologies[i].direction}`);
 		}
 		r.push(`,`);
 
 		/* PROSPERITY */
 
-		if (V.arcologies[V.i].direction !== 0) {
-			switch (V.arcologies[V.i].government) {
+		if (V.arcologies[i].direction !== 0) {
+			switch (V.arcologies[i].government) {
 				case "elected officials":
-					V.arcologies[V.i].prosperity += random(-1, 1);
+					V.arcologies[i].prosperity += random(-1, 1);
 					break;
 				case "a corporation":
 				case "an oligarchy":
-					V.arcologies[V.i].prosperity += random(-1, 2);
+					V.arcologies[i].prosperity += random(-1, 2);
 					break;
 				case "a committee":
 				case "your trustees":
-					V.arcologies[V.i].prosperity += random(0, 2);
+					V.arcologies[i].prosperity += random(0, 2);
 					break;
 				case "an individual":
-					V.arcologies[V.i].prosperity += random(0, 3);
+					V.arcologies[i].prosperity += random(0, 3);
 					break;
 				case "your agent":
-					_agentBonus = agentBonus(V.i);
-					V.arcologies[V.i].prosperity += random(0, 3) + _agentBonus;
+					_agentBonus = agentBonus(i);
+					V.arcologies[i].prosperity += random(0, 3) + _agentBonus;
 					break;
 				default:
-					V.arcologies[V.i].prosperity += random(-1, 1);
+					V.arcologies[i].prosperity += random(-1, 1);
 			}
-			V.arcologies[V.i].prosperity = Math.clamp(V.arcologies[V.i].prosperity, 1, 300);
+			V.arcologies[i].prosperity = Math.clamp(V.arcologies[i].prosperity, 1, 300);
 		}
 
-		if (V.arcologies[V.i].honeymoon > 0) {
-			V.arcologies[V.i].honeymoon -= 1;
+		if (V.arcologies[i].honeymoon > 0) {
+			V.arcologies[i].honeymoon -= 1;
 		}
 		let _agentIndex;
-		if (V.arcologies[V.i].government === "your agent") {
-			const _Agent = App.currentAgent(V.i);
+		if (V.arcologies[i].government === "your agent") {
+			const _Agent = App.currentAgent(i);
 			({his} = getPronouns(_Agent));
 			r.push(`is being run by your agent <span class="deeppink">${SlaveFullName(_Agent)}.</span>`);
 			_agentIndex = V.slaveIndices[_Agent.ID];
@@ -85,17 +85,17 @@ App.EndWeek.neighborsDevelopment = function() {
 				r.push(`<span class="green">${He} does an excellent job this week.</span>`);
 			}
 			r.push(`The arcology`);
-		} else if (V.arcologies[V.i].government === "your trustees") {
+		} else if (V.arcologies[i].government === "your trustees") {
 			r.push(`is being run by <span class="mediumseagreen">your trustees.</span> The arcology`);
 		}
 
-		if (V.arcologies[V.i].direction === 0) {
+		if (V.arcologies[i].direction === 0) {
 			_error = 5;
 		} else {
 			_error = 10;
 		}
 		_error -= Math.min(2*V.assistant.power, _error);
-		const _prosperity = (Math.trunc((0.1*V.arcologies[V.i].prosperity*random(100-_error, 100+_error))/100));
+		const _prosperity = (Math.trunc((0.1*V.arcologies[i].prosperity*random(100-_error, 100+_error))/100));
 		r.push(`has an estimated GSP of <span class="yellowgreen">${cashFormat(_prosperity)}`);
 		if (V.showNumbers !== 2) {
 			if (V.showNumbers === 1 && _prosperity > V.showNumbersMax) {
@@ -108,11 +108,11 @@ App.EndWeek.neighborsDevelopment = function() {
 		}
 		r.push(`,</span>`);
 
-		if (V.arcologies[V.i].rival === 1 && V.arcologies[V.i].government !== "an individual") {
+		if (V.arcologies[i].rival === 1 && V.arcologies[i].government !== "an individual") {
 			r.push(`but it is undergoing some internal turmoil. <span class="red">Resentment that has been quietly building among the arcology's elite turns into open rebellion!</span>`);
-			if (V.arcologies[V.i].PCminority > 0) {
-				r.push(`<span class="red">Your ownership interest in ${V.arcologies[V.i].name} has been annulled!</span>`);
-				V.arcologies[V.i].PCminority = 0;
+			if (V.arcologies[i].PCminority > 0) {
+				r.push(`<span class="red">Your ownership interest in ${V.arcologies[i].name} has been annulled!</span>`);
+				V.arcologies[i].PCminority = 0;
 			}
 			r.push(`<span class="yellow">After a brief power struggle, it undergoes a change of government.</span>`);
 			if (_agentIndex && _agentIndex !== -1) {
@@ -122,109 +122,109 @@ App.EndWeek.neighborsDevelopment = function() {
 				assignJob(V.slaves[_agentIndex], "rest"); // this takes care of necessary cleanup for agent and agent companion (if any)
 			}
 			r.push(`A controlling interest has been taken by a single individual, leaving the arcology ruled like yours is.`);
-			V.arcologies[V.i].government = "an individual";
-			V.arcologies[V.i].ownership = random(51, 61);
-			V.arcologies[V.i].minority = 100 - V.arcologies[V.i].ownership - random(1, 19);
-			V.arcologies[V.i].honeymoon += 10;
-		} else if ((V.arcologies[V.i].government !== "your trustees") && (V.arcologies[V.i].government !== "your agent") && (V.arcologies[V.i].ownership < V.arcologies[V.i].PCminority) && (V.arcologies[V.i].direction !== 0) && (V.arcologies[V.i].rival !== 1)) {
+			V.arcologies[i].government = "an individual";
+			V.arcologies[i].ownership = random(51, 61);
+			V.arcologies[i].minority = 100 - V.arcologies[i].ownership - random(1, 19);
+			V.arcologies[i].honeymoon += 10;
+		} else if ((V.arcologies[i].government !== "your trustees") && (V.arcologies[i].government !== "your agent") && (V.arcologies[i].ownership < V.arcologies[i].PCminority) && (V.arcologies[i].direction !== 0) && (V.arcologies[i].rival !== 1)) {
 			r.push(`undergoing a leadership struggle in which you are deeply concerned, since you now own more of it than its current leadership.`);
-			if (random(0, 10) < V.arcologies[V.i].PCminority - V.arcologies[V.i].ownership) {
+			if (random(0, 10) < V.arcologies[i].PCminority - V.arcologies[i].ownership) {
 				r.push(`<span class="yellow">You successfully execute a hostile takeover and now control the arcology.</span> Trustees from among its leading citizens will exercise local control at your direction until you make other arrangements.`);
-				V.arcologies[V.i].honeymoon += 10;
-				V.arcologies[V.i].ownership = 0;
-				V.arcologies[V.i].government = "your trustees";
+				V.arcologies[i].honeymoon += 10;
+				V.arcologies[i].ownership = 0;
+				V.arcologies[i].government = "your trustees";
 			} else {
 				r.push(`The current leadership has not yet exhausted its legalistic recourses, and retains control for the moment, causing considerable disruption.`);
-				V.arcologies[V.i].prosperity -= 3;
+				V.arcologies[i].prosperity -= 3;
 			}
-		} else if ((V.arcologies[V.i].ownership === 0) && (V.arcologies[V.i].PCminority > 0) && (V.arcologies[V.i].minority > V.arcologies[V.i].PCminority)) {
+		} else if ((V.arcologies[i].ownership === 0) && (V.arcologies[i].PCminority > 0) && (V.arcologies[i].minority > V.arcologies[i].PCminority)) {
 			r.push(`undergoing a leadership struggle in which you are deeply concerned, since your ownership share has diminished to a dangerously low point.`);
-			if (random(0, 10) < V.arcologies[V.i].minority - V.arcologies[V.i].PCminority) {
+			if (random(0, 10) < V.arcologies[i].minority - V.arcologies[i].PCminority) {
 				r.push(`<span class="yellow">It undergoes a change of government.</span>`);
-				V.arcologies[V.i].honeymoon += 10;
-				V.arcologies[V.i].ownership = V.arcologies[V.i].minority;
-				V.arcologies[V.i].minority = 0;
-				switch (V.arcologies[V.i].government) {
+				V.arcologies[i].honeymoon += 10;
+				V.arcologies[i].ownership = V.arcologies[i].minority;
+				V.arcologies[i].minority = 0;
+				switch (V.arcologies[i].government) {
 					case "your trustees":
 						if (random(0, 2) === 0) {
 							r.push(`Its leading citizens form a corporation to run the arcology more efficiently.`);
-							V.arcologies[V.i].government = "a corporation";
+							V.arcologies[i].government = "a corporation";
 						} else {
 							r.push(`A power struggle is won by a single individual, leaving the arcology ruled like yours is.`);
-							V.arcologies[V.i].government = "an individual";
+							V.arcologies[i].government = "an individual";
 						}
 						break;
 					default:
 						if (random(0, 2) === 0) {
 							r.push(`The failed individual who led it is run out and replaced by direct democracy.`);
-							V.arcologies[V.i].government = "direct democracy";
+							V.arcologies[i].government = "direct democracy";
 						} else {
 							r.push(`The failed individual who led it is bought out by a corporation.`);
-							V.arcologies[V.i].government = "a corporation";
+							V.arcologies[i].government = "a corporation";
 						}
 				}
 			} else {
 				r.push(`The arcology is paralyzed by dissension over how to respond.`);
-				V.arcologies[V.i].prosperity -= 3;
+				V.arcologies[i].prosperity -= 3;
 			}
-		} else if ((V.arcologies[V.i].ownership !== 0) && ((V.arcologies[V.i].ownership < V.arcologies[V.i].minority) || (V.arcologies[V.i].ownership < 10)) && (V.arcologies[V.i].direction !== 0) && (V.arcologies[V.i].rival !== 1)) {
+		} else if ((V.arcologies[i].ownership !== 0) && ((V.arcologies[i].ownership < V.arcologies[i].minority) || (V.arcologies[i].ownership < 10)) && (V.arcologies[i].direction !== 0) && (V.arcologies[i].rival !== 1)) {
 			r.push(`undergoing a leadership struggle, since its current government owns less of it than its largest rival for control.`);
-			if (random(0, 10) < V.arcologies[V.i].minority - V.arcologies[V.i].ownership) {
+			if (random(0, 10) < V.arcologies[i].minority - V.arcologies[i].ownership) {
 				r.push(`<span class="yellow">It undergoes a change of government.</span>`);
-				V.arcologies[V.i].honeymoon += 10;
-				V.arcologies[V.i].ownership = V.arcologies[V.i].minority;
-				V.arcologies[V.i].minority = 0;
-				switch (V.arcologies[V.i].government) {
+				V.arcologies[i].honeymoon += 10;
+				V.arcologies[i].ownership = V.arcologies[i].minority;
+				V.arcologies[i].minority = 0;
+				switch (V.arcologies[i].government) {
 					case "elected officials":
 						if (random(0, 2) === 0) {
 							r.push(`Its elected officials surrender power to a small group of leading citizens.`);
-							V.arcologies[V.i].government = "an oligarchy";
+							V.arcologies[i].government = "an oligarchy";
 						} else {
 							r.push(`Its elected officials are forced to give way to a committee of public safety.`);
-							V.arcologies[V.i].government = "a committee";
+							V.arcologies[i].government = "a committee";
 						}
 						break;
 					case "a committee":
 						if (random(0, 2) === 0) {
 							r.push(`Its ruling committee forms it into a corporation in the hope this will spur growth.`);
-							V.arcologies[V.i].government = "a corporation";
+							V.arcologies[i].government = "a corporation";
 						} else {
 							r.push(`A power struggle within its ruling committee leaves only a few leading citizens in power.`);
-							V.arcologies[V.i].government = "an oligarchy";
+							V.arcologies[i].government = "an oligarchy";
 						}
 						break;
 					case "an oligarchy":
 						if (random(0, 2) === 0) {
 							r.push(`Its leading citizens form a corporation to run the arcology more efficiently.`);
-							V.arcologies[V.i].government = "a corporation";
+							V.arcologies[i].government = "a corporation";
 						} else {
 							r.push(`A power struggle is won by a single individual, leaving the arcology ruled like yours is.`);
-							V.arcologies[V.i].government = "an individual";
+							V.arcologies[i].government = "an individual";
 						}
 						break;
 					case "an individual":
 						if (random(0, 2) === 0) {
 							r.push(`The failed individual who led it is run out and replaced by direct democracy.`);
-							V.arcologies[V.i].government = "direct democracy";
+							V.arcologies[i].government = "direct democracy";
 						} else {
 							r.push(`The failed individual who led it is bought out by a corporation.`);
-							V.arcologies[V.i].government = "a corporation";
+							V.arcologies[i].government = "a corporation";
 						}
 						break;
 					case "a corporation":
 						if (random(0, 2) === 0) {
 							r.push(`A power struggle within the corporation that runs it is won by a single person.`);
-							V.arcologies[V.i].government = "an individual";
+							V.arcologies[i].government = "an individual";
 						} else {
 							r.push(`The corporation that runs it collapses and is replaced by an oligarchy of rich shareholders.`);
-							V.arcologies[V.i].government = "an oligarchy";
+							V.arcologies[i].government = "an oligarchy";
 						}
 						break;
 					default:
 						r.push(`Its direct democracy votes to empower some elected officials in the hope they can lead the arcology out of its problems.`);
-						V.arcologies[V.i].government = "elected officials";
+						V.arcologies[i].government = "elected officials";
 				}
-				_desc = FutureSocieties.decay(V.i).map((fs) => FutureSocieties.displayName(fs));
+				_desc = FutureSocieties.decay(i).map((fs) => FutureSocieties.displayName(fs));
 				if (_desc.length > 2) {
 					r.push(`Its citizens take the opportunity to make radical social changes, <span class="cyan">purging the `);
 					_desc.reduce((res, ch, i, arr) => res + (i === arr.length - 1 ? ' and ' : ', ') + ch);
@@ -236,94 +236,94 @@ App.EndWeek.neighborsDevelopment = function() {
 				}
 			} else {
 				r.push(`The arcology is paralyzed by internal dissension over how to respond.`);
-				V.arcologies[V.i].prosperity -= 3;
+				V.arcologies[i].prosperity -= 3;
 			}
-		} else if (V.arcologies[V.i].prosperity >= 300) {
+		} else if (V.arcologies[i].prosperity >= 300) {
 			r.push(`at the maximum possible prosperity.`);
-		} else if (V.arcologies[V.i].prosperity > V.averageProsperity + 10) {
+		} else if (V.arcologies[i].prosperity > V.averageProsperity + 10) {
 			r.push(`much more prosperous than the rest of the Free City, limiting its economic development.`);
-			V.arcologies[V.i].prosperity -= 1;
-		} else if (V.arcologies[V.i].prosperity >= V.averageProsperity - 10) {
+			V.arcologies[i].prosperity -= 1;
+		} else if (V.arcologies[i].prosperity >= V.averageProsperity - 10) {
 			r.push(`about as prosperous as the rest of the Free City.`);
 		} else {
-			if (V.arcologies[V.i].honeymoon > 0) {
+			if (V.arcologies[i].honeymoon > 0) {
 				r.push(`far behind the rest of the Free City, making it a good investment and spurring its economic development. It remains in the <span class="lightgreen">honeymoon period</span> after its recent change of government, suppressing dissension and further encouraging growth.`);
-				V.arcologies[V.i].prosperity += 2;
-				if (V.arcologies[V.i].ownership !== 0 && V.arcologies[V.i].ownership < 40) {
-					V.arcologies[V.i].ownership += 1;
+				V.arcologies[i].prosperity += 2;
+				if (V.arcologies[i].ownership !== 0 && V.arcologies[i].ownership < 40) {
+					V.arcologies[i].ownership += 1;
 				}
 			} else {
 				r.push(`not as prosperous as the rest of the Free City, spurring its economic development.`);
-				V.arcologies[V.i].prosperity += 1;
+				V.arcologies[i].prosperity += 1;
 			}
 		}
 
 		/* NATURAL CHANGES TO MINORITY SHARE */
-		if ((V.arcologies[V.i].government === "your agent") || (V.arcologies[V.i].government === "your trustees")) {
-			V.arcologies[V.i].ownership = 0;
+		if ((V.arcologies[i].government === "your agent") || (V.arcologies[i].government === "your trustees")) {
+			V.arcologies[i].ownership = 0;
 		}
-		let _owned = V.arcologies[V.i].minority+V.arcologies[V.i].ownership+V.arcologies[V.i].PCminority;
-		if (V.arcologies[V.i].minority < 10) {
-			V.arcologies[V.i].minority = 0;
-		} else if (V.arcologies[V.i].minority < V.arcologies[V.i].PCminority) {
-			V.arcologies[V.i].minority = 0;
+		let _owned = V.arcologies[i].minority+V.arcologies[i].ownership+V.arcologies[i].PCminority;
+		if (V.arcologies[i].minority < 10) {
+			V.arcologies[i].minority = 0;
+		} else if (V.arcologies[i].minority < V.arcologies[i].PCminority) {
+			V.arcologies[i].minority = 0;
 		} else if (_owned >= 95) {
-			V.arcologies[V.i].minority -= random(3, 5);
-		} else if (V.arcologies[V.i].minority > (100 - _owned)*5) {
-			V.arcologies[V.i].minority -= random(3, 5);
-		} else if (V.arcologies[V.i].minority < (100 - _owned)*4) {
-			if (V.arcologies[V.i].minority < 10) {
-				if (V.arcologies[V.i].ownership + V.arcologies[V.i].PCminority <= 90) {
-					V.arcologies[V.i].minority = 10;
+			V.arcologies[i].minority -= random(3, 5);
+		} else if (V.arcologies[i].minority > (100 - _owned)*5) {
+			V.arcologies[i].minority -= random(3, 5);
+		} else if (V.arcologies[i].minority < (100 - _owned)*4) {
+			if (V.arcologies[i].minority < 10) {
+				if (V.arcologies[i].ownership + V.arcologies[i].PCminority <= 90) {
+					V.arcologies[i].minority = 10;
 				}
 			} else {
-				if (V.arcologies[V.i].ownership + V.arcologies[V.i].PCminority <= 98) {
-					if (V.arcologies[V.i].prosperity < random(0, 300)) {
-						V.arcologies[V.i].minority += random(0, 2);
+				if (V.arcologies[i].ownership + V.arcologies[i].PCminority <= 98) {
+					if (V.arcologies[i].prosperity < random(0, 300)) {
+						V.arcologies[i].minority += random(0, 2);
 					}
 				}
 			}
 		}
 
-		if (V.arcologies[V.i].direction !== 0) {
+		if (V.arcologies[i].direction !== 0) {
 			/* AI ARCOLOGY SHARE BUYING AND SELLING */
-			const _economicUncertainty = App.Utils.economicUncertainty(V.i);
-			if (V.arcologies[V.i].government !== "your agent") {
-				if (V.arcologies[V.i].government !== "your trustees") {
-					if (V.arcologies[V.i].minority + V.arcologies[V.i].ownership + V.arcologies[V.i].PCminority < 100) {
-						_prosperityDiff = V.arcologies[V.i].prosperity-V.averageProsperity;
+			const _economicUncertainty = App.Utils.economicUncertainty(i);
+			if (V.arcologies[i].government !== "your agent") {
+				if (V.arcologies[i].government !== "your trustees") {
+					if (V.arcologies[i].minority + V.arcologies[i].ownership + V.arcologies[i].PCminority < 100) {
+						_prosperityDiff = V.arcologies[i].prosperity-V.averageProsperity;
 						if (_prosperityDiff > random(-10, 50)) {
 							r.push(`Its leadership acquires an increased share of its ownership.`);
-							V.arcologies[V.i].ownership += 1;
-							V.arcologies[V.i].prosperity -= 5;
-							r.push(`This places its government in control of approximately <span class="orange">${Math.trunc(V.arcologies[V.i].ownership*_economicUncertainty)}%</span> of the arcology`);
-							if (V.arcologies[V.i].minority > 0) {
-								r.push(`, against its most prominent competition with a <span class="tan">${Math.trunc(V.arcologies[V.i].minority*_economicUncertainty)}%</span> share`);
+							V.arcologies[i].ownership += 1;
+							V.arcologies[i].prosperity -= 5;
+							r.push(`This places its government in control of approximately <span class="orange">${Math.trunc(V.arcologies[i].ownership*_economicUncertainty)}%</span> of the arcology`);
+							if (V.arcologies[i].minority > 0) {
+								r.push(`, against its most prominent competition with a <span class="tan">${Math.trunc(V.arcologies[i].minority*_economicUncertainty)}%</span> share`);
 							}
 							r.push(`.`);
 						} else if (_prosperityDiff < random(-50, 10)) {
-							if (V.arcologies[V.i].ownership > 0) {
-								if (V.arcologies[V.i].rival !== 1 || (V.arcologies[V.i].rival === 1 && V.arcologies[V.i].ownership > 51 && random(1, 2) === 1)) {
+							if (V.arcologies[i].ownership > 0) {
+								if (V.arcologies[i].rival !== 1 || (V.arcologies[i].rival === 1 && V.arcologies[i].ownership > 51 && random(1, 2) === 1)) {
 									r.push(`Its leadership sells off some of its ownership to stay afloat.`);
-									V.arcologies[V.i].ownership -= 1;
-									V.arcologies[V.i].prosperity += 5;
-									r.push(`This leaves its government in control of approximately <span class="orange">${Math.trunc(V.arcologies[V.i].ownership*_economicUncertainty)}%</span> of the arcology`);
+									V.arcologies[i].ownership -= 1;
+									V.arcologies[i].prosperity += 5;
+									r.push(`This leaves its government in control of approximately <span class="orange">${Math.trunc(V.arcologies[i].ownership*_economicUncertainty)}%</span> of the arcology`);
 
-									if (V.arcologies[V.i].minority > 0) {
-										r.push(`, against its most prominent competition, with a <span class="tan">${Math.trunc(V.arcologies[V.i].minority*_economicUncertainty)}%</span> share`);
+									if (V.arcologies[i].minority > 0) {
+										r.push(`, against its most prominent competition, with a <span class="tan">${Math.trunc(V.arcologies[i].minority*_economicUncertainty)}%</span> share`);
 									}
 									r.push(`.`);
 								}
 							}
 						}
-						if (V.arcologies[V.i].minority+V.arcologies[V.i].ownership > 100) {
-							V.arcologies[V.i].minority = 100-V.arcologies[V.i].ownership;
+						if (V.arcologies[i].minority+V.arcologies[i].ownership > 100) {
+							V.arcologies[i].minority = 100-V.arcologies[i].ownership;
 						}
 					} else {
-						if (((V.arcologies[V.i].ownership + V.arcologies[V.i].PCminority) >= 99) && V.arcologies[V.i].rival !== 1) {
-							V.arcologies[V.i].ownership = 98 - V.arcologies[V.i].PCminority;
+						if (((V.arcologies[i].ownership + V.arcologies[i].PCminority) >= 99) && V.arcologies[i].rival !== 1) {
+							V.arcologies[i].ownership = 98 - V.arcologies[i].PCminority;
 						} else {
-							V.arcologies[V.i].minority = Math.clamp(98 - V.arcologies[V.i].ownership - V.arcologies[V.i].PCminority, 0, 98);
+							V.arcologies[i].minority = Math.clamp(98 - V.arcologies[i].ownership - V.arcologies[i].PCminority, 0, 98);
 						}
 					}
 				}
@@ -331,14 +331,14 @@ App.EndWeek.neighborsDevelopment = function() {
 
 			/* AI ARCOLOGY RENTS TO PC */
 
-			if (V.arcologies[V.i].PCminority > 0) {
-				const _rents = (V.arcologies[V.i].prosperity*V.arcologies[V.i].PCminority*2)+random(1, 100);
+			if (V.arcologies[i].PCminority > 0) {
+				const _rents = (V.arcologies[i].prosperity*V.arcologies[i].PCminority*2)+random(1, 100);
 				cashX(_rents, "rents");
 				r.push(`This week, you made <span class="yellowgreen">${cashFormat(_rents)}</span> from your holdings in this arcology.`);
 			}
 
 			/* CYBER ECONOMIC WARFARE */
-			if (V.arcologies[V.i].direction === V.arcologies[0].CyberEconomicTarget) {
+			if (V.arcologies[i].direction === V.arcologies[0].CyberEconomicTarget) {
 				let _Catchchance;
 				if (V.PC.skill.hacking === -100) {
 					_Catchchance = 10;
@@ -360,9 +360,9 @@ App.EndWeek.neighborsDevelopment = function() {
 					_Catchchance = 100;
 				}
 				const _weekModifier = Math.max(1, (100-(V.week*2)));
-				V.arcologies[V.i].prosperity -= V.arcologies[0].CyberEconomic*2;
-				const _WarSpoils = Math.ceil(10+Math.max(((100/_weekModifier)*V.arcologies[V.i].prosperity*V.arcologies[0].CyberEconomic), 0));
-				V.arcologies[V.i].prosperity = Math.clamp(V.arcologies[V.i].prosperity, 1, V.AProsperityCap);
+				V.arcologies[i].prosperity -= V.arcologies[0].CyberEconomic*2;
+				const _WarSpoils = Math.ceil(10+Math.max(((100/_weekModifier)*V.arcologies[i].prosperity*V.arcologies[0].CyberEconomic), 0));
+				V.arcologies[i].prosperity = Math.clamp(V.arcologies[i].prosperity, 1, V.AProsperityCap);
 				if (random(0, 100) >= _Catchchance-(10*V.arcologies[0].CyberEconomic)) {
 					V.arcologies[0].prosperity -= V.arcologies[0].CyberEconomic*3;
 					_redHanded = 1;
@@ -373,7 +373,7 @@ App.EndWeek.neighborsDevelopment = function() {
 					}
 					V.arcologies[0].prosperity = Math.clamp(V.arcologies[0].prosperity, 1, V.AProsperityCap);
 				}
-				r.push(`You target ${V.arcologies[V.i].name} for <span class="yellow">digital economic warfare,</span> successfully raiding its coffers for <span class="yellowgreen">${cashFormat(_WarSpoils)}</span> this week.`);
+				r.push(`You target ${V.arcologies[i].name} for <span class="yellow">digital economic warfare,</span> successfully raiding its coffers for <span class="yellowgreen">${cashFormat(_WarSpoils)}</span> this week.`);
 				cashX(_WarSpoils, "war");
 				if (_redHanded === 1) {
 					r.push(`A successful trace back to your arcology has exposed your actions, <span class="red">damaging your reputation</span> and <span class="red">scaring away potential investors.</span>`);
@@ -381,7 +381,7 @@ App.EndWeek.neighborsDevelopment = function() {
 						r.push(`To add insult to injury, <span class="red">your authority has been weakened</span> and your actions have painted your arcology as a <span class="red">haven for crime.</span>`);
 					}
 				}
-			} else if (V.arcologies[V.i].direction === V.arcologies[0].CyberReputationTarget) {
+			} else if (V.arcologies[i].direction === V.arcologies[0].CyberReputationTarget) {
 				/* REPUTATION WARFARE */
 				let _Catchchance;
 				if (V.PC.skill.hacking === -100) {
@@ -403,12 +403,12 @@ App.EndWeek.neighborsDevelopment = function() {
 				} else if (V.PC.skill.hacking >= 100) {
 					_Catchchance = 100;
 				}
-				V.arcologies[V.i].prosperity -= V.arcologies[0].CyberReputation;
-				if (V.arcologies[V.i].rival !== 1) {
-					V.arcologies[V.i].ownership -= V.arcologies[0].CyberReputation;
+				V.arcologies[i].prosperity -= V.arcologies[0].CyberReputation;
+				if (V.arcologies[i].rival !== 1) {
+					V.arcologies[i].ownership -= V.arcologies[0].CyberReputation;
 				}
-				V.arcologies[V.i].prosperity = Math.clamp(V.arcologies[V.i].prosperity, 1, 300);
-				V.arcologies[V.i].ownership = Math.clamp(V.arcologies[V.i].ownership, 0, 100);
+				V.arcologies[i].prosperity = Math.clamp(V.arcologies[i].prosperity, 1, 300);
+				V.arcologies[i].ownership = Math.clamp(V.arcologies[i].ownership, 0, 100);
 				_redHanded;
 				if (random(0, 100) >= _Catchchance-(10*V.arcologies[0].CyberReputation)) {
 					V.arcologies[0].prosperity -= V.arcologies[0].CyberReputation*3;
@@ -420,7 +420,7 @@ App.EndWeek.neighborsDevelopment = function() {
 					}
 					V.arcologies[0].prosperity = Math.clamp(V.arcologies[0].prosperity, 1, 300);
 				}
-				r.push(`You target ${V.arcologies[V.i].name}'s leadership for <span class="yellow">character assassination</span> in an attempt to destabilize the arcology.`);
+				r.push(`You target ${V.arcologies[i].name}'s leadership for <span class="yellow">character assassination</span> in an attempt to destabilize the arcology.`);
 				if (_redHanded === 1) {
 					r.push(`A successful trace back to your arcology has exposed your actions, <span class="red">damaging your reputation</span> and <span class="red">scaring away potential investors.</span>`);
 					if (V.secExpEnabled > 0) {
@@ -432,11 +432,11 @@ App.EndWeek.neighborsDevelopment = function() {
 
 			/* AI ARCOLOGY RENAMING */
 			for (let j = 0; j < V.arcologies.length; j++) {
-				if (V.arcologies[V.i].direction !== V.arcologies[j].direction) {
-					if (V.arcologies[V.i].name === V.arcologies[j].name) {
-						V.arcologies[V.i].name = "Arcology X-"+(V.i < 4 ? V.i : V.i + 1);
+				if (V.arcologies[i].direction !== V.arcologies[j].direction) {
+					if (V.arcologies[i].name === V.arcologies[j].name) {
+						V.arcologies[i].name = "Arcology X-"+(i < 4 ? i : i + 1);
 						/* X-4 is reserved for player's arcology, so X-1 is available */
-						r.push(`It resumes its original name, '' ${V.arcologies[V.i].name}'', since the arcology to the V.arcologies[V.i].direction of yours is also named V.arcologies[j].name.`);
+						r.push(`It resumes its original name, '' ${V.arcologies[i].name}'', since the arcology to the V.arcologies[i].direction of yours is also named V.arcologies[j].name.`);
 						break;
 					}
 				}
@@ -446,21 +446,21 @@ App.EndWeek.neighborsDevelopment = function() {
 		/* ECONOMIC WARFARE */
 
 		for (let j = 0; j < V.arcologies.length; j++) {
-			if (V.arcologies[V.i].direction === V.arcologies[j].embargoTarget) {
-				V.arcologies[V.i].prosperity -= V.arcologies[j].embargo*2;
+			if (V.arcologies[i].direction === V.arcologies[j].embargoTarget) {
+				V.arcologies[i].prosperity -= V.arcologies[j].embargo*2;
 				if (V.arcologies[j].direction !== 0) {
 					V.arcologies[j].prosperity -= V.arcologies[j].embargo*2;
 				}
-				V.arcologies[V.i].prosperity = Math.clamp(V.arcologies[V.i].prosperity, 1, 300);
-				r.push(`${V.arcologies[j].name} targets ${V.arcologies[V.i].name} for <span class="red">economic warfare.</span>`);
+				V.arcologies[i].prosperity = Math.clamp(V.arcologies[i].prosperity, 1, 300);
+				r.push(`${V.arcologies[j].name} targets ${V.arcologies[i].name} for <span class="red">economic warfare.</span>`);
 			}
 		}
 
 		/* FUTURE SOCIETY PROGRESS */
 
-		const _societiesAdopted = FutureSocieties.activeCount(V.i);
+		const _societiesAdopted = FutureSocieties.activeCount(i);
 		let _efficiency;
-		switch (V.arcologies[V.i].government) {
+		switch (V.arcologies[i].government) {
 			case "elected officials":
 				_efficiency = random(-2, 2);
 				break;
@@ -484,975 +484,975 @@ App.EndWeek.neighborsDevelopment = function() {
 				_efficiency = random(-3, 3);
 		}
 
-		if (V.arcologies[V.i].rival === 1) {
+		if (V.arcologies[i].rival === 1) {
 			_efficiency += random(0, 2);
 		}
 
-		if (V.arcologies[V.i].direction !== 0) {
-			FutureSocieties.applyBroadProgress(V.i, _efficiency);
+		if (V.arcologies[i].direction !== 0) {
+			FutureSocieties.applyBroadProgress(i, _efficiency);
 		}
-		const _passive = new App.Neighbor.PassiveFSInfluence(V.i);
-		if (V.arcologies[V.i].FSSupremacist !== "unset") {
+		const _passive = new App.Neighbor.PassiveFSInfluence(i);
+		if (V.arcologies[i].FSSupremacist !== "unset") {
 			r.push(`${_passive.output("FSSupremacist")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSSupremacist >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
-						r.push(`Racial Supremacy for ${V.arcologies[V.i].FSSupremacistRace} people has reached stability and acceptance there. The arcology has been renamed`);
-						switch (V.arcologies[V.i].FSSupremacistRace) {
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSSupremacist >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+						r.push(`Racial Supremacy for ${V.arcologies[i].FSSupremacistRace} people has reached stability and acceptance there. The arcology has been renamed`);
+						switch (V.arcologies[i].FSSupremacistRace) {
 							case "white":
-								V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSupremacistWhite);
+								V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSupremacistWhite);
 								break;
 							case "asian":
-								V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSupremacistAsian);
+								V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSupremacistAsian);
 								break;
 							case "latina":
-								V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSupremacistLatina);
+								V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSupremacistLatina);
 								break;
 							case "middle eastern":
-								V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSupremacistMiddleEastern);
+								V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSupremacistMiddleEastern);
 								break;
 							case "black":
-								V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSupremacistBlack);
+								V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSupremacistBlack);
 								break;
 							case "indo-aryan":
-								V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSupremacistIndoAryan);
+								V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSupremacistIndoAryan);
 								break;
 							case "pacific islander":
-								V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSupremacistPacificIslander);
+								V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSupremacistPacificIslander);
 								break;
 							case "malay":
-								V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSupremacistMalay);
+								V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSupremacistMalay);
 								break;
 							case "amerindian":
-								V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSupremacistAmerindian);
+								V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSupremacistAmerindian);
 								break;
 							case "southern european":
-								V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSupremacistSouthernEuropean);
+								V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSupremacistSouthernEuropean);
 								break;
 							case "semitic":
-								V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSupremacistSemitic);
+								V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSupremacistSemitic);
 								break;
 							default:
-								V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSupremacistMixedRace);
+								V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSupremacistMixedRace);
 						}
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSSupremacist < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on V.arcologies[V.i].FSSupremacistRace Supremacy.`);
-					V.arcologies[V.i].FSSupremacist = "unset";
+				} else if (V.arcologies[i].FSSupremacist < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on V.arcologies[i].FSSupremacistRace Supremacy.`);
+					V.arcologies[i].FSSupremacist = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSSupremacist !== "unset") {
+			if (V.arcologies[i].FSSupremacist !== "unset") {
 				if (V.corp.Incorporated === 1) {
-					if (!V.corp.SpecRaces.includes(V.arcologies[V.i].FSSupremacistRace)) {
+					if (!V.corp.SpecRaces.includes(V.arcologies[i].FSSupremacistRace)) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's racially inferior slaves, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSSupremacist += 1;
+						V.arcologies[i].FSSupremacist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 				}
 			}
 		}
 
-		if (V.arcologies[V.i].FSSubjugationist !== "unset") {
+		if (V.arcologies[i].FSSubjugationist !== "unset") {
 			r.push(`${_passive.output("FSSubjugationist")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSSubjugationist >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
-						r.push(`Racial Subjugationism of ${V.arcologies[V.i].FSSubjugationistRace} people has reached stability and acceptance there. The arcology has been renamed`);
-						switch (V.arcologies[V.i].FSSubjugationistRace) {
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSSubjugationist >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+						r.push(`Racial Subjugationism of ${V.arcologies[i].FSSubjugationistRace} people has reached stability and acceptance there. The arcology has been renamed`);
+						switch (V.arcologies[i].FSSubjugationistRace) {
 							case "white":
-								V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSubjugationistWhite);
+								V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSubjugationistWhite);
 								break;
 							case "asian":
-								V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSubjugationistAsian);
+								V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSubjugationistAsian);
 								break;
 							case "latina":
-								V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSubjugationistLatina);
+								V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSubjugationistLatina);
 								break;
 							case "middle eastern":
-								V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSubjugationistMiddleEastern);
+								V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSubjugationistMiddleEastern);
 								break;
 							case "black":
-								V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSubjugationistBlack);
+								V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSubjugationistBlack);
 								break;
 							case "indo-aryan":
-								V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSubjugationistIndoAryan);
+								V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSubjugationistIndoAryan);
 								break;
 							case "pacific islander":
-								V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSubjugationistPacificIslander);
+								V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSubjugationistPacificIslander);
 								break;
 							case "malay":
-								V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSubjugationistMalay);
+								V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSubjugationistMalay);
 								break;
 							case "amerindian":
-								V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSubjugationistAmerindian);
+								V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSubjugationistAmerindian);
 								break;
 							case "southern european":
-								V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSubjugationistSouthernEuropean);
+								V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSubjugationistSouthernEuropean);
 								break;
 							case "semitic":
-								V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSubjugationistSemitic);
+								V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSubjugationistSemitic);
 								break;
 							default:
-								V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSubjugationistMixedRace);
+								V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSubjugationistMixedRace);
 						}
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSSubjugationist < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on V.arcologies[V.i].FSSubjugationistRace Subjugationism.`);
-					V.arcologies[V.i].FSSubjugationist = "unset";
+				} else if (V.arcologies[i].FSSubjugationist < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on V.arcologies[i].FSSubjugationistRace Subjugationism.`);
+					V.arcologies[i].FSSubjugationist = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSSubjugationist !== "unset") {
+			if (V.arcologies[i].FSSubjugationist !== "unset") {
 				if (V.corp.Incorporated === 1) {
-					if (V.corp.SpecRaces.includes(V.arcologies[V.i].FSSubjugationistRace)) {
-						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's ${V.arcologies[V.i].FSSubjugationistRace} slaves, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSSubjugationist += 1;
+					if (V.corp.SpecRaces.includes(V.arcologies[i].FSSubjugationistRace)) {
+						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's ${V.arcologies[i].FSSubjugationistRace} slaves, improving sales and helping social progress.`);
+						V.arcologies[i].FSSubjugationist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 				}
 			}
 		}
 
-		if (V.arcologies[V.i].FSRepopulationFocus !== "unset") {
+		if (V.arcologies[i].FSRepopulationFocus !== "unset") {
 			r.push(`${_passive.output("FSRepopulationFocus")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSRepopulationFocus >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSRepopulationFocus >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
 						r.push(`Repopulationism has reached stability and acceptance there. The arcology has been renamed`);
-						V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesRepopulationist);
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesRepopulationist);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSRepopulationFocus < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Repopulationism.`);
-					V.arcologies[V.i].FSRepopulationFocus = "unset";
+				} else if (V.arcologies[i].FSRepopulationFocus < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Repopulationism.`);
+					V.arcologies[i].FSRepopulationFocus = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSRepopulationFocus !== "unset") {
+			if (V.arcologies[i].FSRepopulationFocus !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if (V.corp.SpecMilk > 0) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's milky cows, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSRepopulationFocus += 1;
+						V.arcologies[i].FSRepopulationFocus += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					} else if (V.corp.SpecAge === 1) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's youthful captures, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSRepopulationFocus += 1;
+						V.arcologies[i].FSRepopulationFocus += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					} else if (V.corp.SpecInjection === 5) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's milky cows, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSRepopulationFocus += 1;
+						V.arcologies[i].FSRepopulationFocus += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 				}
 			}
-		} else if (V.arcologies[V.i].FSRestart !== "unset") {
+		} else if (V.arcologies[i].FSRestart !== "unset") {
 			r.push(`${_passive.output("FSRestart")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSRestart >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
-						V.arcologies[V.i].FSRestartResearch = 1;
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSRestart >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+						V.arcologies[i].FSRestartResearch = 1;
 						r.push(`Eugenics has reached stability and acceptance there. The arcology has been renamed`);
-						V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesEugenics);
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesEugenics);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSRestart < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Eugenics.`);
-					V.arcologies[V.i].FSRestart = "unset";
+				} else if (V.arcologies[i].FSRestart < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Eugenics.`);
+					V.arcologies[i].FSRestart = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSRestart !== "unset") {
+			if (V.arcologies[i].FSRestart !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if (V.corp.SpecBalls === -1) {
 						r.push(`It's an <span class="lightgreen">excellent market</span> for your corporation's neutered slavegirls, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSRestart += 2;
+						V.arcologies[i].FSRestart += 2;
 						App.Corporate.earnRevenue(_corpBonus*2, 'foreign');
 					} else if (V.corp.SpecSexEd === 2) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's well trained toys, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSRestart += 1;
+						V.arcologies[i].FSRestart += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					} else if (V.corp.SpecIntelligence === 3) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's smarter captures, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSRestart += 1;
+						V.arcologies[i].FSRestart += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 				}
 			}
 		}
 
-		if (V.arcologies[V.i].FSGenderRadicalist !== "unset") {
+		if (V.arcologies[i].FSGenderRadicalist !== "unset") {
 			r.push(`${_passive.output("FSGenderRadicalist")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSGenderRadicalist >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
-						V.arcologies[V.i].FSGenderRadicalistResearch = 1;
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSGenderRadicalist >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+						V.arcologies[i].FSGenderRadicalistResearch = 1;
 						r.push(`Gender Radicalism has reached stability and acceptance there. The arcology has been renamed`);
-						V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesGenderRadicalist);
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesGenderRadicalist);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSGenderRadicalist < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Gender Radicalism.`);
-					V.arcologies[V.i].FSGenderRadicalist = "unset";
+				} else if (V.arcologies[i].FSGenderRadicalist < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Gender Radicalism.`);
+					V.arcologies[i].FSGenderRadicalist = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSGenderRadicalist !== "unset") {
+			if (V.arcologies[i].FSGenderRadicalist !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if (V.corp.SpecHormones > 0) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's hormonally treated slaves, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSGenderRadicalist += 1;
+						V.arcologies[i].FSGenderRadicalist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 					if (V.corp.SpecPussy === 1 && V.corp.SpecDick === 1) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's beautiful futanari, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSGenderRadicalist += 1;
+						V.arcologies[i].FSGenderRadicalist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					} else if (V.corp.SpecBalls === -1) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's clipped buttsluts, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSGenderRadicalist += 1;
+						V.arcologies[i].FSGenderRadicalist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 					if ((V.corp.SpecGender === 2) || (V.seeDicks === 100)) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's feminized slaves, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSGenderRadicalist += 1;
+						V.arcologies[i].FSGenderRadicalist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 				}
 			}
-		} else if (V.arcologies[V.i].FSGenderFundamentalist !== "unset") {
+		} else if (V.arcologies[i].FSGenderFundamentalist !== "unset") {
 			r.push(`${_passive.output("FSGenderFundamentalist")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSGenderFundamentalist >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSGenderFundamentalist >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
 						r.push(`Gender Fundamentalism has reached stability and acceptance there. The arcology has been renamed`);
-						V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesGenderFundamentalist);
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesGenderFundamentalist);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSGenderFundamentalist < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Gender Fundamentalism.`);
-					V.arcologies[V.i].FSGenderFundamentalist = "unset";
+				} else if (V.arcologies[i].FSGenderFundamentalist < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Gender Fundamentalism.`);
+					V.arcologies[i].FSGenderFundamentalist = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSGenderFundamentalist !== "unset") {
+			if (V.arcologies[i].FSGenderFundamentalist !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if ((V.corp.SpecGender === 1) || (V.seeDicks === 0)) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's enslaved females, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSGenderFundamentalist += 1;
+						V.arcologies[i].FSGenderFundamentalist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 				}
 			}
 		}
 
-		if (V.arcologies[V.i].FSPaternalist !== "unset") {
+		if (V.arcologies[i].FSPaternalist !== "unset") {
 			r.push(`${_passive.output("FSPaternalist")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSPaternalist >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSPaternalist >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
 						r.push(`Paternalism has reached stability and acceptance there. The arcology has been renamed`);
-						V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesPaternalist);
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesPaternalist);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSPaternalist < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Paternalism.`);
-					V.arcologies[V.i].FSPaternalist = "unset";
+				} else if (V.arcologies[i].FSPaternalist < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Paternalism.`);
+					V.arcologies[i].FSPaternalist = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSPaternalist !== "unset") {
+			if (V.arcologies[i].FSPaternalist !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if (V.corp.SpecTrust > 3) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's well-treated companions, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSPaternalist += 1;
+						V.arcologies[i].FSPaternalist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 					if (V.corp.SpecCosmetics === 1) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's meticulously beautified ladies, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSPaternalist += 1;
+						V.arcologies[i].FSPaternalist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					} else if (V.corp.SpecEducation > 0) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's educated ladies, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSPaternalist += 1;
+						V.arcologies[i].FSPaternalist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 				}
 			}
-		} else if (V.arcologies[V.i].FSDegradationist !== "unset") {
+		} else if (V.arcologies[i].FSDegradationist !== "unset") {
 			r.push(`${_passive.output("FSDegradationist")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSDegradationist >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSDegradationist >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
 						r.push(`Degradationism has reached stability and acceptance there. The arcology has been renamed`);
-						V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesDegradationist);
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesDegradationist);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSDegradationist < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Degradationism.`);
-					V.arcologies[V.i].FSDegradationist = "unset";
+				} else if (V.arcologies[i].FSDegradationist < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Degradationism.`);
+					V.arcologies[i].FSDegradationist = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSDegradationist !== "unset") {
+			if (V.arcologies[i].FSDegradationist !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if (V.corp.SpecTrust < 3) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's thoroughly terrified slaves, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSDegradationist += 1;
+						V.arcologies[i].FSDegradationist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 					if (V.corp.SpecIntelligence === 1) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's idiotic sluts, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSDegradationist += 1;
+						V.arcologies[i].FSDegradationist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					} else if (V.corp.SpecAmputee === 1) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's human sex toys, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSDegradationist += 1;
+						V.arcologies[i].FSDegradationist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 				}
 			}
 		}
 
-		if (V.arcologies[V.i].FSIntellectualDependency !== "unset") {
+		if (V.arcologies[i].FSIntellectualDependency !== "unset") {
 			r.push(`${_passive.output("FSIntellectualDependency")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSIntellectualDependency >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSIntellectualDependency >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
 						r.push(`Intellectual Dependency has reached stability and acceptance there. The arcology has been renamed`);
-						V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesIntellectualDependency);
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesIntellectualDependency);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSIntellectualDependency < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Intellectual Dependency.`);
-					V.arcologies[V.i].FSIntellectualDependency = "unset";
+				} else if (V.arcologies[i].FSIntellectualDependency < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Intellectual Dependency.`);
+					V.arcologies[i].FSIntellectualDependency = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSIntellectualDependency !== "unset") {
+			if (V.arcologies[i].FSIntellectualDependency !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if (V.corp.SpecIntelligence === 1) {
 						r.push(`It's an <span class="lightgreen">excellent market</span> for your corporation's idiotic sluts, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSIntellectualDependency += 2;
+						V.arcologies[i].FSIntellectualDependency += 2;
 						App.Corporate.earnRevenue(_corpBonus*2, 'foreign');
 					} else if (V.corp.SpecEducation === 0) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's uneducated slaves, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSIntellectualDependency += 1;
+						V.arcologies[i].FSIntellectualDependency += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 				}
 			}
-		} else if (V.arcologies[V.i].FSSlaveProfessionalism !== "unset") {
+		} else if (V.arcologies[i].FSSlaveProfessionalism !== "unset") {
 			r.push(`${_passive.output("FSSlaveProfessionalism")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSSlaveProfessionalism >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
-						V.arcologies[V.i].FSSlaveProfessionalismResearch = 1;
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSSlaveProfessionalism >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+						V.arcologies[i].FSSlaveProfessionalismResearch = 1;
 						r.push(`Slave Professionalism has reached stability and acceptance there. The arcology has been renamed`);
-						V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSlaveProfessionalism);
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSlaveProfessionalism);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSSlaveProfessionalism < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Slave Professionalism.`);
-					V.arcologies[V.i].FSSlaveProfessionalism = "unset";
+				} else if (V.arcologies[i].FSSlaveProfessionalism < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Slave Professionalism.`);
+					V.arcologies[i].FSSlaveProfessionalism = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSSlaveProfessionalism !== "unset") {
+			if (V.arcologies[i].FSSlaveProfessionalism !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if (V.corp.SpecIntelligence === 3) {
 						r.push(`It's an <span class="lightgreen">excellent market</span> for your corporation's smarter captures, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSSlaveProfessionalism += 2;
+						V.arcologies[i].FSSlaveProfessionalism += 2;
 						App.Corporate.earnRevenue(_corpBonus*2, 'foreign');
 					}
 					if (V.corp.SpecEducation > 1) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's well educated ladies, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSSlaveProfessionalism += 2;
+						V.arcologies[i].FSSlaveProfessionalism += 2;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					} else if (V.corp.SpecEducation > 0) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's educated ladies, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSSlaveProfessionalism += 1;
+						V.arcologies[i].FSSlaveProfessionalism += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 					if (V.corp.SpecSexEd === 2) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's well trained toys, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSSlaveProfessionalism += 1;
+						V.arcologies[i].FSSlaveProfessionalism += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					} else if (V.corp.SpecAccent === 2) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's linguistically perfect slaves, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSSlaveProfessionalism += 1;
+						V.arcologies[i].FSSlaveProfessionalism += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 				}
 			}
 		}
 
-		if (V.arcologies[V.i].FSBodyPurist !== "unset") {
+		if (V.arcologies[i].FSBodyPurist !== "unset") {
 			r.push(`${_passive.output("FSBodyPurist")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSBodyPurist >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSBodyPurist >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
 						r.push(`Body Purism has reached stability and acceptance there. The arcology has been renamed`);
-						V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesBodyPurist);
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesBodyPurist);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSBodyPurist < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Body Purism.`);
-					V.arcologies[V.i].FSBodyPurist = "unset";
+				} else if (V.arcologies[i].FSBodyPurist < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Body Purism.`);
+					V.arcologies[i].FSBodyPurist = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSBodyPurist !== "unset") {
+			if (V.arcologies[i].FSBodyPurist !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if (V.corp.SpecImplants === 0) {
 						if (V.corp.SpecAmputee !== 1) {
 							r.push(`It's a <span class="lightgreen">good market</span> for your corporation's implant-free slaves, improving sales and helping social progress.`);
-							V.arcologies[V.i].FSBodyPurist += 1;
+							V.arcologies[i].FSBodyPurist += 1;
 							App.Corporate.earnRevenue(_corpBonus, 'foreign');
 						}
 					}
 				}
 			}
-		} else if (V.arcologies[V.i].FSTransformationFetishist !== "unset") {
+		} else if (V.arcologies[i].FSTransformationFetishist !== "unset") {
 			r.push(`${_passive.output("FSTransformationFetishist")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSTransformationFetishist >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
-						V.arcologies[V.i].FSTransformationFetishistResearch = 1;
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSTransformationFetishist >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+						V.arcologies[i].FSTransformationFetishistResearch = 1;
 						r.push(`Transformation Fetishism has reached stability and acceptance there. The arcology has been renamed`);
-						V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesTransformationFetishist);
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesTransformationFetishist);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSTransformationFetishist < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Transformation Fetishism.`);
-					V.arcologies[V.i].FSTransformationFetishist = "unset";
+				} else if (V.arcologies[i].FSTransformationFetishist < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Transformation Fetishism.`);
+					V.arcologies[i].FSTransformationFetishist = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSTransformationFetishist !== "unset") {
+			if (V.arcologies[i].FSTransformationFetishist !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if (V.corp.SpecImplants === 1) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's implanted slaves, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSTransformationFetishist += 1;
+						V.arcologies[i].FSTransformationFetishist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					} else if (V.corp.SpecImplants === 2) {
 						r.push(`It's an <span class="lightgreen">excellent market</span> for your corporation's absurdly implanted slaves, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSTransformationFetishist += 2;
+						V.arcologies[i].FSTransformationFetishist += 2;
 						App.Corporate.earnRevenue(_corpBonus*2, 'foreign');
 					}
 				}
 			}
 		}
 
-		if (V.arcologies[V.i].FSYouthPreferentialist !== "unset") {
+		if (V.arcologies[i].FSYouthPreferentialist !== "unset") {
 			r.push(`${_passive.output("FSYouthPreferentialist")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSYouthPreferentialist >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSYouthPreferentialist >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
 						r.push(`Youth Preferentialism has reached stability and acceptance there. The arcology has been renamed`);
 						if (V.pedo_mode === 1 || V.minimumSlaveAge < 6) {
-							V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesYouthPreferentialistLow);
+							V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesYouthPreferentialistLow);
 						} else if (V.minimumSlaveAge < 14) {
-							V.arcologies[V.i].name = either(setup.ArcologyNamesYouthPreferentialist, setup.ArcologyNamesYouthPreferentialistLow);
+							V.arcologies[i].name = either(setup.ArcologyNamesYouthPreferentialist, setup.ArcologyNamesYouthPreferentialistLow);
 						} else {
-							V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesYouthPreferentialist);
+							V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesYouthPreferentialist);
 						}
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
-						V.arcologies[V.i].FSYouthPreferentialistResearch = 1;
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
+						V.arcologies[i].FSYouthPreferentialistResearch = 1;
 					}
-				} else if (V.arcologies[V.i].FSYouthPreferentialist < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Youth Preferentialism.`);
-					V.arcologies[V.i].FSYouthPreferentialist = "unset";
+				} else if (V.arcologies[i].FSYouthPreferentialist < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Youth Preferentialism.`);
+					V.arcologies[i].FSYouthPreferentialist = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSYouthPreferentialist !== "unset") {
+			if (V.arcologies[i].FSYouthPreferentialist !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if (V.corp.SpecAge === 1) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's young slaves, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSYouthPreferentialist += 1;
+						V.arcologies[i].FSYouthPreferentialist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 				}
 			}
-		} else if (V.arcologies[V.i].FSMaturityPreferentialist !== "unset") {
+		} else if (V.arcologies[i].FSMaturityPreferentialist !== "unset") {
 			r.push(`${_passive.output("FSMaturityPreferentialist")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSMaturityPreferentialist >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSMaturityPreferentialist >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
 						r.push(`Maturity Preferentialism has reached stability and acceptance there. The arcology has been renamed`);
-						V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesMaturityPreferentialist);
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesMaturityPreferentialist);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSMaturityPreferentialist < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Maturity Preferentialism.`);
-					V.arcologies[V.i].FSMaturityPreferentialist = "unset";
+				} else if (V.arcologies[i].FSMaturityPreferentialist < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Maturity Preferentialism.`);
+					V.arcologies[i].FSMaturityPreferentialist = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSMaturityPreferentialist !== "unset") {
+			if (V.arcologies[i].FSMaturityPreferentialist !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if (V.corp.SpecAge === 3) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's enslaved MILFs, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSMaturityPreferentialist += 1;
+						V.arcologies[i].FSMaturityPreferentialist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 				}
 			}
 		}
 
-		if (V.arcologies[V.i].FSPetiteAdmiration !== "unset") {
+		if (V.arcologies[i].FSPetiteAdmiration !== "unset") {
 			r.push(`${_passive.output("FSPetiteAdmiration")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSPetiteAdmiration >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSPetiteAdmiration >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
 						r.push(`Petite Admiration has reached stability and acceptance there. The arcology has been renamed`);
-						V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesPetiteAdmiration);
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesPetiteAdmiration);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSPetiteAdmiration < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Petite Admiration.`);
-					V.arcologies[V.i].FSPetiteAdmiration = "unset";
+				} else if (V.arcologies[i].FSPetiteAdmiration < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Petite Admiration.`);
+					V.arcologies[i].FSPetiteAdmiration = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSPetiteAdmiration !== "unset") {
+			if (V.arcologies[i].FSPetiteAdmiration !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if (V.corp.SpecHeight === 1) {
 						r.push(`It's an <span class="lightgreen">excellent market</span> for your corporation's minuscule slaves, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSPetiteAdmiration += 2;
+						V.arcologies[i].FSPetiteAdmiration += 2;
 						App.Corporate.earnRevenue(_corpBonus*2, 'foreign');
 					} else if (V.corp.SpecHeight === 2) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's shorter captures, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSPetiteAdmiration += 1;
+						V.arcologies[i].FSPetiteAdmiration += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 				}
 			}
-		} else if (V.arcologies[V.i].FSStatuesqueGlorification !== "unset") {
+		} else if (V.arcologies[i].FSStatuesqueGlorification !== "unset") {
 			r.push(`${_passive.output("FSStatuesqueGlorification")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSStatuesqueGlorification >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSStatuesqueGlorification >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
 						r.push(`Statuesque Glorification has reached stability and acceptance there. The arcology has been renamed`);
-						V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesStatuesqueGlorification);
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesStatuesqueGlorification);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSStatuesqueGlorification < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Statuesque Glorification.`);
-					V.arcologies[V.i].FSStatuesqueGlorification = "unset";
+				} else if (V.arcologies[i].FSStatuesqueGlorification < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Statuesque Glorification.`);
+					V.arcologies[i].FSStatuesqueGlorification = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSStatuesqueGlorification !== "unset") {
+			if (V.arcologies[i].FSStatuesqueGlorification !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if (V.corp.SpecHeight === 5) {
 						r.push(`It's an <span class="lightgreen">excellent market</span> for your corporation's gigantic slaves, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSStatuesqueGlorification += 2;
+						V.arcologies[i].FSStatuesqueGlorification += 2;
 						App.Corporate.earnRevenue(_corpBonus*2, 'foreign');
 					} else if (V.corp.SpecHeight === 4) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's taller captures, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSStatuesqueGlorification += 1;
+						V.arcologies[i].FSStatuesqueGlorification += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 				}
 			}
 		}
 
-		if (V.arcologies[V.i].FSSlimnessEnthusiast !== "unset") {
+		if (V.arcologies[i].FSSlimnessEnthusiast !== "unset") {
 			r.push(`${_passive.output("FSSlimnessEnthusiast")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSSlimnessEnthusiast >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSSlimnessEnthusiast >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
 						r.push(`Slimness Enthusiasm has reached stability and acceptance there. The arcology has been renamed`);
-						V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSlimnessEnthusiast);
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
-						V.arcologies[V.i].FSSlimnessEnthusiastResearch = 1;
+						V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesSlimnessEnthusiast);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
+						V.arcologies[i].FSSlimnessEnthusiastResearch = 1;
 					}
-				} else if (V.arcologies[V.i].FSSlimnessEnthusiast < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Slimness Enthusiasm.`);
-					V.arcologies[V.i].FSSlimnessEnthusiast = "unset";
+				} else if (V.arcologies[i].FSSlimnessEnthusiast < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Slimness Enthusiasm.`);
+					V.arcologies[i].FSSlimnessEnthusiast = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSSlimnessEnthusiast !== "unset") {
+			if (V.arcologies[i].FSSlimnessEnthusiast !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if (V.corp.SpecInjection < 2) {
 						if (V.corp.SpecWeight < 3) {
 							r.push(`It's a <span class="lightgreen">good market</span> for your corporation's trim slaves, improving sales and helping social progress.`);
-							V.arcologies[V.i].FSSlimnessEnthusiast += 1;
+							V.arcologies[i].FSSlimnessEnthusiast += 1;
 							App.Corporate.earnRevenue(_corpBonus, 'foreign');
 						}
 					}
 				}
 			}
-		} else if (V.arcologies[V.i].FSAssetExpansionist !== "unset") {
+		} else if (V.arcologies[i].FSAssetExpansionist !== "unset") {
 			r.push(`${_passive.output("FSAssetExpansionist")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSAssetExpansionist >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
-						V.arcologies[V.i].FSAssetExpansionistResearch = 1;
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSAssetExpansionist >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+						V.arcologies[i].FSAssetExpansionistResearch = 1;
 						r.push(`Asset Expansionism has reached stability and acceptance there. The arcology has been renamed`);
-						V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesAssetExpansionist);
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesAssetExpansionist);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSAssetExpansionist < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Asset Expansionism.`);
-					V.arcologies[V.i].FSAssetExpansionist = "unset";
+				} else if (V.arcologies[i].FSAssetExpansionist < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Asset Expansionism.`);
+					V.arcologies[i].FSAssetExpansionist = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSAssetExpansionist !== "unset") {
+			if (V.arcologies[i].FSAssetExpansionist !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if (V.corp.SPecInjection === 4) {
 						r.push(`It's an <span class="lightgreen">excellent market</span> for your corporation's world-class tits and ass, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSAssetExpansionist += 2;
+						V.arcologies[i].FSAssetExpansionist += 2;
 						App.Corporate.earnRevenue(_corpBonus*2, 'foreign');
 					} else if (V.corp.SpecInjection === 5) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's hugely endowed cows, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSAssetExpansionist += 1;
+						V.arcologies[i].FSAssetExpansionist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					} else if (V.corp.SPecInjection === 3) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's stacked slaves, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSAssetExpansionist += 1;
+						V.arcologies[i].FSAssetExpansionist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 				}
 			}
 		}
 
-		if (V.arcologies[V.i].FSPastoralist !== "unset") {
+		if (V.arcologies[i].FSPastoralist !== "unset") {
 			r.push(`${_passive.output("FSPastoralist")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSPastoralist >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSPastoralist >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
 						r.push(`Pastoralism has reached stability and acceptance there. The arcology has been renamed`);
-						V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesPastoralist);
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesPastoralist);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSPastoralist < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Pastoralism.`);
-					V.arcologies[V.i].FSPastoralist = "unset";
+				} else if (V.arcologies[i].FSPastoralist < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Pastoralism.`);
+					V.arcologies[i].FSPastoralist = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSPastoralist !== "unset") {
+			if (V.arcologies[i].FSPastoralist !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if (V.corp.SpecInjection === 5) {
 						r.push(`It's an <span class="lightgreen">excellent market</span> for your corporation's world-class milk producers, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSPastoralist += 2;
+						V.arcologies[i].FSPastoralist += 2;
 						App.Corporate.earnRevenue(_corpBonus*2, 'foreign');
 					} else if (V.corp.SpecMilk > 0) {
 						r.push(`It's an <span class="lightgreen">excellent market</span> for your corporation's world-class milk producers, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSPastoralist += 2;
+						V.arcologies[i].FSPastoralist += 2;
 						App.Corporate.earnRevenue(_corpBonus*2, 'foreign');
 					}
 				}
 			}
-		} else if (V.arcologies[V.i].FSCummunism !== "unset") {
+		} else if (V.arcologies[i].FSCummunism !== "unset") {
 			r.push(`${_passive.output("FSCummunism")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSCummunism >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSCummunism >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
 						r.push(`Cummunism has reached stability and acceptance there. The arcology has been renamed`);
-						V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesCummunism);
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesCummunism);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSCummunism < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Cummunism.`);
-					V.arcologies[V.i].FSCummunism = "unset";
+				} else if (V.arcologies[i].FSCummunism < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Cummunism.`);
+					V.arcologies[i].FSCummunism = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSCummunism !== "unset") {
+			if (V.arcologies[i].FSCummunism !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if (V.corp.SpecInjection === 5) {
 						r.push(`It's an <span class="lightgreen">excellent market</span> for your corporation's world-class cum producers, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSCummunism += 2;
+						V.arcologies[i].FSCummunism += 2;
 						App.Corporate.earnRevenue(_corpBonus*2, 'foreign');
 					} else if (V.corp.SpecHormones === 2) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's masculinized slaves, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSCummunism += 1;
+						V.arcologies[i].FSCummunism += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					} else if (V.corp.SpecDick === 1 && V.corp.SpecBalls === 1) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's slaves standard dicks and balls, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSCummunism += 1;
+						V.arcologies[i].FSCummunism += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 				}
 			}
 		}
 
-		if (V.arcologies[V.i].FSPhysicalIdealist !== "unset") {
+		if (V.arcologies[i].FSPhysicalIdealist !== "unset") {
 			r.push(`${_passive.output("FSPhysicalIdealist")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSPhysicalIdealist >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSPhysicalIdealist >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
 						r.push(`Physical Idealism has reached stability and acceptance there. The arcology has been renamed`);
-						V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesPhysicalIdealist);
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesPhysicalIdealist);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSPhysicalIdealist < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Physical Idealism.`);
-					V.arcologies[V.i].FSPhysicalIdealist = "unset";
+				} else if (V.arcologies[i].FSPhysicalIdealist < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Physical Idealism.`);
+					V.arcologies[i].FSPhysicalIdealist = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSPhysicalIdealist !== "unset") {
+			if (V.arcologies[i].FSPhysicalIdealist !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if (V.corp.SpecMuscle === 5 ) {
 						r.push(`It's an <span class="lightgreen">excellent market</span> for your corporation's ripped chicks, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSPhysicalIdealist += 2;
+						V.arcologies[i].FSPhysicalIdealist += 2;
 						App.Corporate.earnRevenue(_corpBonus*2, 'foreign');
 					} else if (V.corp.SpecMuscle === 4) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's toned ladies, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSPhysicalIdealist += 1;
+						V.arcologies[i].FSPhysicalIdealist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					} else if (V.corp.SpecHeight > 3) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's tall ladies, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSPhysicalIdealist += 1;
+						V.arcologies[i].FSPhysicalIdealist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 				}
 			}
-		} else if (V.arcologies[V.i].FSHedonisticDecadence !== "unset") {
+		} else if (V.arcologies[i].FSHedonisticDecadence !== "unset") {
 			r.push(`${_passive.output("FSHedonisticDecadence")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSHedonisticDecadence >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
-						V.arcologies[V.i].FSHedonisticDecadenceResearch = 1;
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSHedonisticDecadence >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+						V.arcologies[i].FSHedonisticDecadenceResearch = 1;
 						r.push(`Decadent Hedonism has reached stability and acceptance there. The arcology has been renamed`);
-						V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesHedonisticDecadence);
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesHedonisticDecadence);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSHedonisticDecadence < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Decadent Hedonism.`);
-					V.arcologies[V.i].FSHedonisticDecadence = "unset";
+				} else if (V.arcologies[i].FSHedonisticDecadence < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Decadent Hedonism.`);
+					V.arcologies[i].FSHedonisticDecadence = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSHedonisticDecadence !== "unset") {
+			if (V.arcologies[i].FSHedonisticDecadence !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if (V.corp.SpecTrust > 3) {
 						r.push(`It's an <span class="lightgreen">excellent market</span> for your corporation's well kept, happy slaves, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSHedonisticDecadence += 2;
+						V.arcologies[i].FSHedonisticDecadence += 2;
 						App.Corporate.earnRevenue(_corpBonus*2, 'foreign');
 					} else if (V.corp.SpecSexEd === 2) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's skilled slaves, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSHedonisticDecadence += 1;
+						V.arcologies[i].FSHedonisticDecadence += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 				}
 			}
 		}
 
-		if (V.arcologies[V.i].FSIncestFetishist !== "unset") {
+		if (V.arcologies[i].FSIncestFetishist !== "unset") {
 			r.push(`${_passive.output("FSIncestFetishist")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSIncestFetishist >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSIncestFetishist >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
 						r.push(`Incest Fetishism has reached stability and acceptance there. The arcology has been renamed`);
-						V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesIncestFetishist);
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesIncestFetishist);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSIncestFetishist < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Incest Fetishism.`);
-					V.arcologies[V.i].FSIncestFetishist = "unset";
+				} else if (V.arcologies[i].FSIncestFetishist < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Incest Fetishism.`);
+					V.arcologies[i].FSIncestFetishist = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSIncestFetishist !== "unset") {
+			if (V.arcologies[i].FSIncestFetishist !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if (V.corp.SpecAge === 3) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's motherly slaves, especially those that look like peoples mothers, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSIncestFetishist += 1;
+						V.arcologies[i].FSIncestFetishist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 				}
 			}
 		}
 
-		if (V.arcologies[V.i].FSChattelReligionist !== "unset") {
+		if (V.arcologies[i].FSChattelReligionist !== "unset") {
 			r.push(`${_passive.output("FSChattelReligionist")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSChattelReligionist >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSChattelReligionist >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
 						r.push(`Chattel Religionism has reached stability and acceptance there. The arcology has been renamed`);
-						V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesChattelReligionist);
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesChattelReligionist);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSChattelReligionist < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Chattel Religionism.`);
-					V.arcologies[V.i].FSChattelReligionist = "unset";
+				} else if (V.arcologies[i].FSChattelReligionist < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Chattel Religionism.`);
+					V.arcologies[i].FSChattelReligionist = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSChattelReligionist !== "unset") {
+			if (V.arcologies[i].FSChattelReligionist !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if (V.corp.SpecSexEd === 2) {
 						r.push(`It's an <span class="lightgreen">excellent market</span> for your corporation's holy sex slaves, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSChattelReligionist += 2;
+						V.arcologies[i].FSChattelReligionist += 2;
 						App.Corporate.earnRevenue(_corpBonus*2, 'foreign');
 					} else if (V.corp.SpecSexEd === 1) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's aspiring sexual acolytes, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSChattelReligionist += 1;
+						V.arcologies[i].FSChattelReligionist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 				}
 			}
 		}
 
-		if (V.arcologies[V.i].FSRomanRevivalist !== "unset") {
+		if (V.arcologies[i].FSRomanRevivalist !== "unset") {
 			r.push(`${_passive.output("FSRomanRevivalist")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSRomanRevivalist >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSRomanRevivalist >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
 						r.push(`Roman Revivalism has reached stability and acceptance there. The arcology has been renamed`);
-						V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesRomanRevivalist);
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesRomanRevivalist);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSRomanRevivalist < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Roman Revivalism.`);
-					V.arcologies[V.i].FSRomanRevivalist = "unset";
+				} else if (V.arcologies[i].FSRomanRevivalist < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Roman Revivalism.`);
+					V.arcologies[i].FSRomanRevivalist = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSRomanRevivalist !== "unset") {
+			if (V.arcologies[i].FSRomanRevivalist !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if (V.corp.SpecEducation > 0) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's properly educated slaves, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSRomanRevivalist += 1;
+						V.arcologies[i].FSRomanRevivalist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 				}
 			}
-		} else if (V.arcologies[V.i].FSNeoImperialist !== "unset") {
+		} else if (V.arcologies[i].FSNeoImperialist !== "unset") {
 			r.push(`${_passive.output("FSNeoImperialist")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSNeoImperialist >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSNeoImperialist >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
 						r.push(`Neo-Imperialism has reached stability and acceptance there. The arcology has been renamed`);
-						V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesNeoImperialist);
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesNeoImperialist);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSNeoImperialist < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Neo-Imperialism.`);
-					V.arcologies[V.i].FSNeoImperialist = "unset";
+				} else if (V.arcologies[i].FSNeoImperialist < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Neo-Imperialism.`);
+					V.arcologies[i].FSNeoImperialist = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSNeoImperialist !== "unset") {
+			if (V.arcologies[i].FSNeoImperialist !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if (V.corp.SpecEducation > 0) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's properly educated slaves, improving sales and helping advocate for a hierarchical Imperial society.`);
-						V.arcologies[V.i].FSNeoImperialist += 1;
+						V.arcologies[i].FSNeoImperialist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 				}
 			}
-		} else if (V.arcologies[V.i].FSAztecRevivalist !== "unset") {
+		} else if (V.arcologies[i].FSAztecRevivalist !== "unset") {
 			r.push(`${_passive.output("FSAztecRevivalist")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSAztecRevivalist >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSAztecRevivalist >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
 						r.push(`Aztec Revivalism has reached stability and acceptance there. The arcology has been renamed`);
-						V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesAztecRevivalist);
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesAztecRevivalist);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSAztecRevivalist < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Aztec Revivalism.`);
-					V.arcologies[V.i].FSAztecRevivalist = "unset";
+				} else if (V.arcologies[i].FSAztecRevivalist < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Aztec Revivalism.`);
+					V.arcologies[i].FSAztecRevivalist = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSAztecRevivalist !== "unset") {
+			if (V.arcologies[i].FSAztecRevivalist !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if (V.corp.SpecAccent === 1) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's lovely mix of slave accents, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSAztecRevivalist += 1;
+						V.arcologies[i].FSAztecRevivalist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 				}
 			}
-		} else if (V.arcologies[V.i].FSEgyptianRevivalist !== "unset") {
+		} else if (V.arcologies[i].FSEgyptianRevivalist !== "unset") {
 			r.push(`${_passive.output("FSEgyptianRevivalist")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSEgyptianRevivalist >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSEgyptianRevivalist >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
 						r.push(`Egyptian Revivalism has reached stability and acceptance there. The arcology has been renamed`);
-						V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesEgyptianRevivalist);
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesEgyptianRevivalist);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSEgyptianRevivalist < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Egyptian Revivalism.`);
-					V.arcologies[V.i].FSEgyptianRevivalist = "unset";
+				} else if (V.arcologies[i].FSEgyptianRevivalist < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Egyptian Revivalism.`);
+					V.arcologies[i].FSEgyptianRevivalist = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSEgyptianRevivalist !== "unset") {
+			if (V.arcologies[i].FSEgyptianRevivalist !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if (V.corp.SpecAccent === 1) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's lovely mix of slave accents, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSEgyptianRevivalist += 1;
+						V.arcologies[i].FSEgyptianRevivalist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 				}
 			}
-		} else if (V.arcologies[V.i].FSEdoRevivalist !== "unset") {
+		} else if (V.arcologies[i].FSEdoRevivalist !== "unset") {
 			r.push(`${_passive.output("FSEdoRevivalist")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSEdoRevivalist >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSEdoRevivalist >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
 						r.push(`Edo Revivalism has reached stability and acceptance there. The arcology has been renamed`);
-						V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesEdoRevivalist);
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesEdoRevivalist);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSEdoRevivalist < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Edo Revivalism.`);
-					V.arcologies[V.i].FSEdoRevivalist = "unset";
+				} else if (V.arcologies[i].FSEdoRevivalist < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Edo Revivalism.`);
+					V.arcologies[i].FSEdoRevivalist = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSEdoRevivalist !== "unset") {
+			if (V.arcologies[i].FSEdoRevivalist !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if (V.corp.SpecAccent === 2) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's linguistically perfect slaves, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSEdoRevivalist += 1;
+						V.arcologies[i].FSEdoRevivalist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 				}
 			}
-		} else if (V.arcologies[V.i].FSArabianRevivalist !== "unset") {
+		} else if (V.arcologies[i].FSArabianRevivalist !== "unset") {
 			r.push(`${_passive.output("FSArabianRevivalist")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSArabianRevivalist >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSArabianRevivalist >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
 						r.push(`Arabian Revivalism has reached stability and acceptance there. The arcology has been renamed`);
-						V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesArabianRevivalist);
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesArabianRevivalist);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSArabianRevivalist < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Arabian Revivalism.`);
-					V.arcologies[V.i].FSArabianRevivalist = "unset";
+				} else if (V.arcologies[i].FSArabianRevivalist < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Arabian Revivalism.`);
+					V.arcologies[i].FSArabianRevivalist = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSArabianRevivalist !== "unset") {
+			if (V.arcologies[i].FSArabianRevivalist !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if (V.corp.SpecDevotion === 5) {
 						r.push(`It's an <span class="lightgreen">excellent market</span> for your corporation's harem-ready devotees, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSArabianRevivalist += 2;
+						V.arcologies[i].FSArabianRevivalist += 2;
 						App.Corporate.earnRevenue(_corpBonus*2, 'foreign');
 					} else if (V.corp.SpecDevotion === 4) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's properly broken girls, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSArabianRevivalist += 1;
+						V.arcologies[i].FSArabianRevivalist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 				}
 			}
-		} else if (V.arcologies[V.i].FSChineseRevivalist !== "unset") {
+		} else if (V.arcologies[i].FSChineseRevivalist !== "unset") {
 			r.push(`${_passive.output("FSChineseRevivalist")}`);
-			if (V.arcologies[V.i].direction !== 0) {
-				if (V.arcologies[V.i].FSChineseRevivalist >= V.FSLockinLevel) {
-					if ((V.arcologies[V.i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
+			if (V.arcologies[i].direction !== 0) {
+				if (V.arcologies[i].FSChineseRevivalist >= V.FSLockinLevel) {
+					if ((V.arcologies[i].name.indexOf("Arcology") !== -1) && (random(0, 2) === 0)) {
 						r.push(`Chinese Revivalism has reached stability and acceptance there. The arcology has been renamed`);
-						V.arcologies[V.i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesChineseRevivalist);
-						r.push(`'' ${V.arcologies[V.i].name}'' to mark the occasion.`);
+						V.arcologies[i].name = App.Neighbor.getUnusedName(setup.ArcologyNamesChineseRevivalist);
+						r.push(`'' ${V.arcologies[i].name}'' to mark the occasion.`);
 					}
-				} else if (V.arcologies[V.i].FSChineseRevivalist < 0) {
-					r.push(`${V.arcologies[V.i].name} <span class="cyan">has given up</span> on Chinese Revivalism.`);
-					V.arcologies[V.i].FSChineseRevivalist = "unset";
+				} else if (V.arcologies[i].FSChineseRevivalist < 0) {
+					r.push(`${V.arcologies[i].name} <span class="cyan">has given up</span> on Chinese Revivalism.`);
+					V.arcologies[i].FSChineseRevivalist = "unset";
 				}
 			}
-			if (V.arcologies[V.i].FSChineseRevivalist !== "unset") {
+			if (V.arcologies[i].FSChineseRevivalist !== "unset") {
 				if (V.corp.Incorporated === 1) {
 					if (V.corp.SpecIntelligence === 3) {
 						r.push(`It's a <span class="lightgreen">good market</span> for your corporation's intelligent Head Girl prospects, improving sales and helping social progress.`);
-						V.arcologies[V.i].FSChineseRevivalist += 1;
+						V.arcologies[i].FSChineseRevivalist += 1;
 						App.Corporate.earnRevenue(_corpBonus, 'foreign');
 					}
 				}
 			}
 		}
-		FutureSocieties.overflowToInfluence(V.i);
+		FutureSocieties.overflowToInfluence(i);
 
 		/* FUTURE SOCIETY ADOPTION */
 
-		if (V.arcologies[V.i].direction !== 0) {
+		if (V.arcologies[i].direction !== 0) {
 			if (_societiesAdopted < V.FSCreditCount) {
-				if ((V.arcologies[V.i].rival === 1) || (_societiesAdopted < (V.arcologies[V.i].prosperity/25)+(V.week/25)-3)) {
+				if ((V.arcologies[i].rival === 1) || (_societiesAdopted < (V.arcologies[i].prosperity/25)+(V.week/25)-3)) {
 					r.push(App.UI.DOM.renderPassage("Neighbors FS Adoption"));
 				}
 			}
@@ -1461,488 +1461,488 @@ App.EndWeek.neighborsDevelopment = function() {
 		/* INFLUENCE RECEPTION */
 
 		for (let j = 0; j < V.arcologies.length; j++) {
-			if (V.arcologies[j].direction !== V.arcologies[V.i].direction) {
-				if (V.arcologies[j].influenceTarget === V.arcologies[V.i].direction) {
+			if (V.arcologies[j].direction !== V.arcologies[i].direction) {
+				if (V.arcologies[j].influenceTarget === V.arcologies[i].direction) {
 					V.arcologies[j].influenceBonus = Math.clamp(V.arcologies[j].influenceBonus, 0, V.FSLockinLevel);
 					let _appliedInfluenceBonus = Math.trunc(V.arcologies[j].influenceBonus*0.1);
 					V.arcologies[j].influenceBonus -= _appliedInfluenceBonus*2;
 					if (V.policies.culturalOpenness === 1) {
-						if ((V.arcologies[V.i].direction === 0) || (V.arcologies[j].direction === 0)) {
+						if ((V.arcologies[i].direction === 0) || (V.arcologies[j].direction === 0)) {
 							_appliedInfluenceBonus *= 2;
 						}
 					} else if (V.policies.culturalOpenness === -1) {
-						if ((V.arcologies[V.i].direction === 0) || (V.arcologies[j].direction === 0)) {
+						if ((V.arcologies[i].direction === 0) || (V.arcologies[j].direction === 0)) {
 							_appliedInfluenceBonus /= 2;
 						}
 					}
-					if (V.arcologies[V.i].ownership >= 100) {
+					if (V.arcologies[i].ownership >= 100) {
 						_appliedInfluenceBonus /= 2;
 					}
 					desc = [];
 					let _alignment = 0;
 
 					if (V.arcologies[j].FSSubjugationist > 60) {
-						if (V.arcologies[V.i].FSSubjugationist !== "unset") {
-							if (V.arcologies[j].FSSubjugationistRace === V.arcologies[V.i].FSSubjugationistRace) {
-								V.arcologies[V.i].FSSubjugationist += Math.trunc((V.arcologies[j].FSSubjugationist-60)/4)+_appliedInfluenceBonus;
-								if (V.arcologies[V.i].FSSubjugationist > V.FSLockinLevel) {
+						if (V.arcologies[i].FSSubjugationist !== "unset") {
+							if (V.arcologies[j].FSSubjugationistRace === V.arcologies[i].FSSubjugationistRace) {
+								V.arcologies[i].FSSubjugationist += Math.trunc((V.arcologies[j].FSSubjugationist-60)/4)+_appliedInfluenceBonus;
+								if (V.arcologies[i].FSSubjugationist > V.FSLockinLevel) {
 									_alignment += 1;
 								}
 								desc.push("helping to advance its racially aligned Subjugationism");
 							} else {
-								V.arcologies[V.i].FSSubjugationist -= Math.trunc((V.arcologies[j].FSSubjugationist-60)/4)+_appliedInfluenceBonus;
+								V.arcologies[i].FSSubjugationist -= Math.trunc((V.arcologies[j].FSSubjugationist-60)/4)+_appliedInfluenceBonus;
 								desc.push("attacking its incompatible Subjugationism");
 							}
-						} else if ((V.arcologies[V.i].FSSupremacist !== "unset") && (V.arcologies[j].FSSubjugationistRace === V.arcologies[V.i].FSSupremacistRace)) {
-							V.arcologies[V.i].FSSupremacist -= Math.trunc((V.arcologies[j].FSSubjugationist-60)/4)+_appliedInfluenceBonus;
+						} else if ((V.arcologies[i].FSSupremacist !== "unset") && (V.arcologies[j].FSSubjugationistRace === V.arcologies[i].FSSupremacistRace)) {
+							V.arcologies[i].FSSupremacist -= Math.trunc((V.arcologies[j].FSSubjugationist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its opposing Supremacism");
 						}
 					}
 					if (V.arcologies[j].FSSupremacist > 60) {
-						if (V.arcologies[V.i].FSSupremacist !== "unset") {
-							if (V.arcologies[j].FSSupremacistRace === V.arcologies[V.i].FSSupremacistRace) {
-								V.arcologies[V.i].FSSupremacist += Math.trunc((V.arcologies[j].FSSupremacist-60)/4)+_appliedInfluenceBonus;
-								if (V.arcologies[V.i].FSSupremacist > V.FSLockinLevel) {
+						if (V.arcologies[i].FSSupremacist !== "unset") {
+							if (V.arcologies[j].FSSupremacistRace === V.arcologies[i].FSSupremacistRace) {
+								V.arcologies[i].FSSupremacist += Math.trunc((V.arcologies[j].FSSupremacist-60)/4)+_appliedInfluenceBonus;
+								if (V.arcologies[i].FSSupremacist > V.FSLockinLevel) {
 									_alignment += 1;
 								}
 								desc.push("helping to advance its racially aligned Supremacism");
 							} else {
-								V.arcologies[V.i].FSSupremacist -= Math.trunc((V.arcologies[j].FSSupremacist-60)/4)+_appliedInfluenceBonus;
+								V.arcologies[i].FSSupremacist -= Math.trunc((V.arcologies[j].FSSupremacist-60)/4)+_appliedInfluenceBonus;
 								desc.push("attacking its incompatible Supremacism");
 							}
-						} else if ((V.arcologies[V.i].FSSubjugationist !== "unset") && (V.arcologies[j].FSSupremacistRace === V.arcologies[V.i].FSSubjugationistRace)) {
-							V.arcologies[V.i].FSSubjugationist -= Math.trunc((V.arcologies[j].FSSupremacist-60)/4)+_appliedInfluenceBonus;
+						} else if ((V.arcologies[i].FSSubjugationist !== "unset") && (V.arcologies[j].FSSupremacistRace === V.arcologies[i].FSSubjugationistRace)) {
+							V.arcologies[i].FSSubjugationist -= Math.trunc((V.arcologies[j].FSSupremacist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its opposing Subjugationism");
 						}
 					}
 					if (V.arcologies[j].FSRepopulationFocus > 60) {
-						if (V.arcologies[V.i].FSRepopulationFocus !== "unset") {
-							V.arcologies[V.i].FSRepopulationFocus += Math.trunc((V.arcologies[j].FSRepopulationFocus-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSRepopulationFocus > V.FSLockinLevel) {
+						if (V.arcologies[i].FSRepopulationFocus !== "unset") {
+							V.arcologies[i].FSRepopulationFocus += Math.trunc((V.arcologies[j].FSRepopulationFocus-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSRepopulationFocus > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Repopulationism");
-						} else if (V.arcologies[V.i].FSRestart !== "unset") {
-							V.arcologies[V.i].FSRestart -= Math.trunc((V.arcologies[j].FSRepopulationFocus-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSRestart !== "unset") {
+							V.arcologies[i].FSRestart -= Math.trunc((V.arcologies[j].FSRepopulationFocus-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its Eugenics");
 						}
 					} else if (V.arcologies[j].FSRestart > 60) {
-						if (V.arcologies[V.i].FSRestart !== "unset") {
-							V.arcologies[V.i].FSRestart += Math.trunc((V.arcologies[j].FSRestart-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSRestart > V.FSLockinLevel) {
+						if (V.arcologies[i].FSRestart !== "unset") {
+							V.arcologies[i].FSRestart += Math.trunc((V.arcologies[j].FSRestart-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSRestart > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Eugenics");
-						} else if (V.arcologies[V.i].FSRepopulationFocus !== "unset") {
-							V.arcologies[V.i].FSRepopulationFocus -= Math.trunc((V.arcologies[j].FSRestart-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSRepopulationFocus !== "unset") {
+							V.arcologies[i].FSRepopulationFocus -= Math.trunc((V.arcologies[j].FSRestart-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its Repopulation Efforts");
 						}
 					}
 					if (V.arcologies[j].FSGenderRadicalist > 60) {
-						if (V.arcologies[V.i].FSGenderRadicalist !== "unset") {
-							V.arcologies[V.i].FSGenderRadicalist += Math.trunc((V.arcologies[j].FSGenderRadicalist-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSGenderRadicalist > V.FSLockinLevel) {
+						if (V.arcologies[i].FSGenderRadicalist !== "unset") {
+							V.arcologies[i].FSGenderRadicalist += Math.trunc((V.arcologies[j].FSGenderRadicalist-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSGenderRadicalist > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Gender Radicalism");
-						} else if (V.arcologies[V.i].FSGenderFundamentalist !== "unset") {
-							V.arcologies[V.i].FSGenderFundamentalist -= Math.trunc((V.arcologies[j].FSGenderRadicalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSGenderFundamentalist !== "unset") {
+							V.arcologies[i].FSGenderFundamentalist -= Math.trunc((V.arcologies[j].FSGenderRadicalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its Gender Fundamentalism");
 						}
 					} else if (V.arcologies[j].FSGenderFundamentalist > 60) {
-						if (V.arcologies[V.i].FSGenderFundamentalist !== "unset") {
-							V.arcologies[V.i].FSGenderFundamentalist += Math.trunc((V.arcologies[j].FSGenderFundamentalist-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSGenderFundamentalist > V.FSLockinLevel) {
+						if (V.arcologies[i].FSGenderFundamentalist !== "unset") {
+							V.arcologies[i].FSGenderFundamentalist += Math.trunc((V.arcologies[j].FSGenderFundamentalist-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSGenderFundamentalist > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Gender Fundamentalism");
-						} else if (V.arcologies[V.i].FSGenderRadicalist !== "unset") {
-							V.arcologies[V.i].FSGenderRadicalist -= Math.trunc((V.arcologies[j].FSGenderFundamentalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSGenderRadicalist !== "unset") {
+							V.arcologies[i].FSGenderRadicalist -= Math.trunc((V.arcologies[j].FSGenderFundamentalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its Gender Radicalism");
 						}
 					}
 					if (V.arcologies[j].FSPaternalist > 60) {
-						if (V.arcologies[V.i].FSPaternalist !== "unset") {
-							V.arcologies[V.i].FSPaternalist += Math.trunc((V.arcologies[j].FSPaternalist-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSPaternalist > V.FSLockinLevel) {
+						if (V.arcologies[i].FSPaternalist !== "unset") {
+							V.arcologies[i].FSPaternalist += Math.trunc((V.arcologies[j].FSPaternalist-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSPaternalist > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Paternalism");
-						} else if (V.arcologies[V.i].FSDegradationist !== "unset") {
-							V.arcologies[V.i].FSDegradationist -= Math.trunc((V.arcologies[j].FSPaternalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSDegradationist !== "unset") {
+							V.arcologies[i].FSDegradationist -= Math.trunc((V.arcologies[j].FSPaternalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its Degradationism");
 						}
 					} else if (V.arcologies[j].FSDegradationist > 60) {
-						if (V.arcologies[V.i].FSDegradationist !== "unset") {
-							V.arcologies[V.i].FSDegradationist += Math.trunc((V.arcologies[j].FSDegradationist-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSDegradationist > V.FSLockinLevel) {
+						if (V.arcologies[i].FSDegradationist !== "unset") {
+							V.arcologies[i].FSDegradationist += Math.trunc((V.arcologies[j].FSDegradationist-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSDegradationist > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Degradationism");
-						} else if (V.arcologies[V.i].FSPaternalist !== "unset") {
-							V.arcologies[V.i].FSPaternalist -= Math.trunc((V.arcologies[j].FSDegradationist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSPaternalist !== "unset") {
+							V.arcologies[i].FSPaternalist -= Math.trunc((V.arcologies[j].FSDegradationist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its Paternalism");
 						}
 					}
 					if (V.arcologies[j].FSIntellectualDependency > 60) {
-						if (V.arcologies[V.i].FSIntellectualDependency !== "unset") {
-							V.arcologies[V.i].FSIntellectualDependency += Math.trunc((V.arcologies[j].FSIntellectualDependency-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSIntellectualDependency > V.FSLockinLevel) {
+						if (V.arcologies[i].FSIntellectualDependency !== "unset") {
+							V.arcologies[i].FSIntellectualDependency += Math.trunc((V.arcologies[j].FSIntellectualDependency-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSIntellectualDependency > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Intellectual Dependency");
-						} else if (V.arcologies[V.i].FSSlaveProfessionalism !== "unset") {
-							V.arcologies[V.i].FSSlaveProfessionalism -= Math.trunc((V.arcologies[j].FSIntellectualDependency-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSSlaveProfessionalism !== "unset") {
+							V.arcologies[i].FSSlaveProfessionalism -= Math.trunc((V.arcologies[j].FSIntellectualDependency-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its Slave Professionalism");
 						}
 					} else if (V.arcologies[j].FSSlaveProfessionalism > 60) {
-						if (V.arcologies[V.i].FSSlaveProfessionalism !== "unset") {
-							V.arcologies[V.i].FSSlaveProfessionalism += Math.trunc((V.arcologies[j].FSSlaveProfessionalism-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSSlaveProfessionalism > V.FSLockinLevel) {
+						if (V.arcologies[i].FSSlaveProfessionalism !== "unset") {
+							V.arcologies[i].FSSlaveProfessionalism += Math.trunc((V.arcologies[j].FSSlaveProfessionalism-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSSlaveProfessionalism > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Slave Professionalism");
-						} else if (V.arcologies[V.i].FSIntellectualDependency !== "unset") {
-							V.arcologies[V.i].FSIntellectualDependency -= Math.trunc((V.arcologies[j].FSSlaveProfessionalism-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSIntellectualDependency !== "unset") {
+							V.arcologies[i].FSIntellectualDependency -= Math.trunc((V.arcologies[j].FSSlaveProfessionalism-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its Intellectual Dependency");
 						}
 					}
 					if (V.arcologies[j].FSBodyPurist > 60) {
-						if (V.arcologies[V.i].FSBodyPurist !== "unset") {
-							V.arcologies[V.i].FSBodyPurist += Math.trunc((V.arcologies[j].FSBodyPurist-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSBodyPurist > V.FSLockinLevel) {
+						if (V.arcologies[i].FSBodyPurist !== "unset") {
+							V.arcologies[i].FSBodyPurist += Math.trunc((V.arcologies[j].FSBodyPurist-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSBodyPurist > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Body Purism");
-						} else if (V.arcologies[V.i].FSTransformationFetishist !== "unset") {
-							V.arcologies[V.i].FSTransformationFetishist -= Math.trunc((V.arcologies[j].FSBodyPurist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSTransformationFetishist !== "unset") {
+							V.arcologies[i].FSTransformationFetishist -= Math.trunc((V.arcologies[j].FSBodyPurist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its Transformation Fetishism");
 						}
 					} else if (V.arcologies[j].FSTransformationFetishist > 60) {
-						if (V.arcologies[V.i].FSTransformationFetishist !== "unset") {
-							V.arcologies[V.i].FSTransformationFetishist += Math.trunc((V.arcologies[j].FSTransformationFetishist-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSTransformationFetishist > V.FSLockinLevel) {
+						if (V.arcologies[i].FSTransformationFetishist !== "unset") {
+							V.arcologies[i].FSTransformationFetishist += Math.trunc((V.arcologies[j].FSTransformationFetishist-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSTransformationFetishist > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Transformation Fetishism");
-						} else if (V.arcologies[V.i].FSBodyPurist !== "unset") {
-							V.arcologies[V.i].FSBodyPurist -= Math.trunc((V.arcologies[j].FSTransformationFetishist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSBodyPurist !== "unset") {
+							V.arcologies[i].FSBodyPurist -= Math.trunc((V.arcologies[j].FSTransformationFetishist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its Body Purism");
 						}
 					}
 					if (V.arcologies[j].FSYouthPreferentialist > 60) {
-						if (V.arcologies[V.i].FSYouthPreferentialist !== "unset") {
-							V.arcologies[V.i].FSYouthPreferentialist += Math.trunc((V.arcologies[j].FSYouthPreferentialist-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSYouthPreferentialist > V.FSLockinLevel) {
+						if (V.arcologies[i].FSYouthPreferentialist !== "unset") {
+							V.arcologies[i].FSYouthPreferentialist += Math.trunc((V.arcologies[j].FSYouthPreferentialist-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSYouthPreferentialist > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Youth Preferentialism");
-						} else if (V.arcologies[V.i].FSMaturityPreferentialist !== "unset") {
-							V.arcologies[V.i].FSMaturityPreferentialist -= Math.trunc((V.arcologies[j].FSYouthPreferentialist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSMaturityPreferentialist !== "unset") {
+							V.arcologies[i].FSMaturityPreferentialist -= Math.trunc((V.arcologies[j].FSYouthPreferentialist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its Maturity Preferentialism");
 						}
 					} else if (V.arcologies[j].FSMaturityPreferentialist > 60) {
-						if (V.arcologies[V.i].FSMaturityPreferentialist !== "unset") {
-							V.arcologies[V.i].FSMaturityPreferentialist += Math.trunc((V.arcologies[j].FSMaturityPreferentialist-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSMaturityPreferentialist > V.FSLockinLevel) {
+						if (V.arcologies[i].FSMaturityPreferentialist !== "unset") {
+							V.arcologies[i].FSMaturityPreferentialist += Math.trunc((V.arcologies[j].FSMaturityPreferentialist-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSMaturityPreferentialist > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Maturity Preferentialism");
-						} else if (V.arcologies[V.i].FSYouthPreferentialist !== "unset") {
-							V.arcologies[V.i].FSYouthPreferentialist -= Math.trunc((V.arcologies[j].FSMaturityPreferentialist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSYouthPreferentialist !== "unset") {
+							V.arcologies[i].FSYouthPreferentialist -= Math.trunc((V.arcologies[j].FSMaturityPreferentialist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its Youth Preferentialism");
 						}
 					}
 					if (V.arcologies[j].FSPetiteAdmiration > 60) {
-						if (V.arcologies[V.i].FSPetiteAdmiration !== "unset") {
-							V.arcologies[V.i].FSPetiteAdmiration += Math.trunc((V.arcologies[j].FSPetiteAdmiration-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSPetiteAdmiration > V.FSLockinLevel) {
+						if (V.arcologies[i].FSPetiteAdmiration !== "unset") {
+							V.arcologies[i].FSPetiteAdmiration += Math.trunc((V.arcologies[j].FSPetiteAdmiration-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSPetiteAdmiration > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Petite Admiration");
-						} else if (V.arcologies[V.i].FSStatuesqueGlorification !== "unset") {
-							V.arcologies[V.i].FSStatuesqueGlorification -= Math.trunc((V.arcologies[j].FSPetiteAdmiration-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSStatuesqueGlorification !== "unset") {
+							V.arcologies[i].FSStatuesqueGlorification -= Math.trunc((V.arcologies[j].FSPetiteAdmiration-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its Statuesque Glorification");
 						}
 					} else if (V.arcologies[j].FSStatuesqueGlorification > 60) {
-						if (V.arcologies[V.i].FSStatuesqueGlorification !== "unset") {
-							V.arcologies[V.i].FSStatuesqueGlorification += Math.trunc((V.arcologies[j].FSStatuesqueGlorification-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSStatuesqueGlorification > V.FSLockinLevel) {
+						if (V.arcologies[i].FSStatuesqueGlorification !== "unset") {
+							V.arcologies[i].FSStatuesqueGlorification += Math.trunc((V.arcologies[j].FSStatuesqueGlorification-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSStatuesqueGlorification > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Statuesque Glorification");
-						} else if (V.arcologies[V.i].FSPetiteAdmiration !== "unset") {
-							V.arcologies[V.i].FSPetiteAdmiration -= Math.trunc((V.arcologies[j].FSStatuesqueGlorification-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSPetiteAdmiration !== "unset") {
+							V.arcologies[i].FSPetiteAdmiration -= Math.trunc((V.arcologies[j].FSStatuesqueGlorification-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its Petite Admiration");
 						}
 					}
 					if (V.arcologies[j].FSSlimnessEnthusiast > 60) {
-						if (V.arcologies[V.i].FSSlimnessEnthusiast !== "unset") {
-							V.arcologies[V.i].FSSlimnessEnthusiast += Math.trunc((V.arcologies[j].FSSlimnessEnthusiast-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSSlimnessEnthusiast > V.FSLockinLevel) {
+						if (V.arcologies[i].FSSlimnessEnthusiast !== "unset") {
+							V.arcologies[i].FSSlimnessEnthusiast += Math.trunc((V.arcologies[j].FSSlimnessEnthusiast-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSSlimnessEnthusiast > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Slimness Enthusiasm");
-						} else if (V.arcologies[V.i].FSAssetExpansionist !== "unset") {
-							V.arcologies[V.i].FSAssetExpansionist -= Math.trunc((V.arcologies[j].FSSlimnessEnthusiast-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSAssetExpansionist !== "unset") {
+							V.arcologies[i].FSAssetExpansionist -= Math.trunc((V.arcologies[j].FSSlimnessEnthusiast-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its Asset Expansionism");
 						}
 					} else if (V.arcologies[j].FSAssetExpansionist > 60) {
-						if (V.arcologies[V.i].FSAssetExpansionist !== "unset") {
-							V.arcologies[V.i].FSAssetExpansionist += Math.trunc((V.arcologies[j].FSAssetExpansionist-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSAssetExpansionist > V.FSLockinLevel) {
+						if (V.arcologies[i].FSAssetExpansionist !== "unset") {
+							V.arcologies[i].FSAssetExpansionist += Math.trunc((V.arcologies[j].FSAssetExpansionist-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSAssetExpansionist > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Asset Expansionism");
-						} else if (V.arcologies[V.i].FSSlimnessEnthusiast !== "unset") {
-							V.arcologies[V.i].FSSlimnessEnthusiast -= Math.trunc((V.arcologies[j].FSAssetExpansionist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSSlimnessEnthusiast !== "unset") {
+							V.arcologies[i].FSSlimnessEnthusiast -= Math.trunc((V.arcologies[j].FSAssetExpansionist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its Slimness Enthusiasm");
 						}
 					}
 					if (V.arcologies[j].FSPastoralist > 60) {
-						if (V.arcologies[V.i].FSPastoralist !== "unset") {
-							V.arcologies[V.i].FSPastoralist += Math.trunc((V.arcologies[j].FSPastoralist-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSPastoralist > V.FSLockinLevel) {
+						if (V.arcologies[i].FSPastoralist !== "unset") {
+							V.arcologies[i].FSPastoralist += Math.trunc((V.arcologies[j].FSPastoralist-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSPastoralist > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Pastoralism");
-						} else if (V.arcologies[V.i].FSCummunism !== "unset") {
-							V.arcologies[V.i].FSCummunism -= Math.trunc((V.arcologies[j].FSPastoralist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSCummunism !== "unset") {
+							V.arcologies[i].FSCummunism -= Math.trunc((V.arcologies[j].FSPastoralist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its Cummunism");
 						}
 					} else if (V.arcologies[j].FSCummunism > 60) {
-						if (V.arcologies[V.i].FSCummunism !== "unset") {
-							V.arcologies[V.i].FSCummunism += Math.trunc((V.arcologies[j].FSCummunism-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSCummunism > V.FSLockinLevel) {
+						if (V.arcologies[i].FSCummunism !== "unset") {
+							V.arcologies[i].FSCummunism += Math.trunc((V.arcologies[j].FSCummunism-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSCummunism > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Cummunism");
-						} else if (V.arcologies[V.i].FSPastoralist !== "unset") {
-							V.arcologies[V.i].FSPastoralist -= Math.trunc((V.arcologies[j].FSCummunism-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSPastoralist !== "unset") {
+							V.arcologies[i].FSPastoralist -= Math.trunc((V.arcologies[j].FSCummunism-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its Pastoralism");
 						}
 					}
 					if (V.arcologies[j].FSPhysicalIdealist > 60) {
-						if (V.arcologies[V.i].FSPhysicalIdealist !== "unset") {
-							V.arcologies[V.i].FSPhysicalIdealist += Math.trunc((V.arcologies[j].FSPhysicalIdealist-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSPhysicalIdealist > V.FSLockinLevel) {
+						if (V.arcologies[i].FSPhysicalIdealist !== "unset") {
+							V.arcologies[i].FSPhysicalIdealist += Math.trunc((V.arcologies[j].FSPhysicalIdealist-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSPhysicalIdealist > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Physical Idealism");
-						} else if (V.arcologies[V.i].FSHedonisticDecadence !== "unset") {
-							V.arcologies[V.i].FSHedonisticDecadence -= Math.trunc((V.arcologies[j].FSPhysicalIdealist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSHedonisticDecadence !== "unset") {
+							V.arcologies[i].FSHedonisticDecadence -= Math.trunc((V.arcologies[j].FSPhysicalIdealist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its Hedonism");
 						}
 					} else if (V.arcologies[j].FSHedonisticDecadence > 60) {
-						if (V.arcologies[V.i].FSHedonisticDecadence !== "unset") {
-							V.arcologies[V.i].FSHedonisticDecadence += Math.trunc((V.arcologies[j].FSHedonisticDecadence-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSHedonisticDecadence > V.FSLockinLevel) {
+						if (V.arcologies[i].FSHedonisticDecadence !== "unset") {
+							V.arcologies[i].FSHedonisticDecadence += Math.trunc((V.arcologies[j].FSHedonisticDecadence-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSHedonisticDecadence > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Hedonism");
-						} else if (V.arcologies[V.i].FSPhysicalIdealist !== "unset") {
-							V.arcologies[V.i].FSPhysicalIdealist -= Math.trunc((V.arcologies[j].FSHedonisticDecadence-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSPhysicalIdealist !== "unset") {
+							V.arcologies[i].FSPhysicalIdealist -= Math.trunc((V.arcologies[j].FSHedonisticDecadence-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its Physical Idealism");
 						}
 					}
 					if (V.arcologies[j].FSIncestFetishist > 60) {
-						if (V.arcologies[V.i].FSIncestFetishist !== "unset") {
-							V.arcologies[V.i].FSIncestFetishist += Math.trunc((V.arcologies[j].FSIncestFetishist-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSIncestFetishist > V.FSLockinLevel) {
+						if (V.arcologies[i].FSIncestFetishist !== "unset") {
+							V.arcologies[i].FSIncestFetishist += Math.trunc((V.arcologies[j].FSIncestFetishist-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSIncestFetishist > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Incest Fetishism");
 						}
 					}
 					if (V.arcologies[j].FSChattelReligionist > 60) {
-						if (V.arcologies[V.i].FSChattelReligionist !== "unset") {
-							V.arcologies[V.i].FSChattelReligionist += Math.trunc((V.arcologies[j].FSChattelReligionist-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSChattelReligionist > V.FSLockinLevel) {
+						if (V.arcologies[i].FSChattelReligionist !== "unset") {
+							V.arcologies[i].FSChattelReligionist += Math.trunc((V.arcologies[j].FSChattelReligionist-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSChattelReligionist > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Chattel Religionism");
 						}
 					}
 					if (V.arcologies[j].FSRomanRevivalist > 60) {
-						if (V.arcologies[V.i].FSRomanRevivalist !== "unset") {
-							V.arcologies[V.i].FSRomanRevivalist += Math.trunc((V.arcologies[j].FSRomanRevivalist-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSRomanRevivalist > V.FSLockinLevel) {
+						if (V.arcologies[i].FSRomanRevivalist !== "unset") {
+							V.arcologies[i].FSRomanRevivalist += Math.trunc((V.arcologies[j].FSRomanRevivalist-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSRomanRevivalist > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Roman Revivalism");
-						} else if (V.arcologies[V.i].FSNeoImperialist !== "unset") {
-							V.arcologies[V.i].FSNeoImperialist -= Math.trunc((V.arcologies[j].FSRomanRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSNeoImperialist !== "unset") {
+							V.arcologies[i].FSNeoImperialist -= Math.trunc((V.arcologies[j].FSRomanRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Imperialism");
-						} else if (V.arcologies[V.i].FSAztecRevivalist !== "unset") {
-							V.arcologies[V.i].FSAztecRevivalist -= Math.trunc((V.arcologies[j].FSRomanRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSAztecRevivalist !== "unset") {
+							V.arcologies[i].FSAztecRevivalist -= Math.trunc((V.arcologies[j].FSRomanRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSEgyptianRevivalist !== "unset") {
-							V.arcologies[V.i].FSEgyptianRevivalist -= Math.trunc((V.arcologies[j].FSRomanRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSEgyptianRevivalist !== "unset") {
+							V.arcologies[i].FSEgyptianRevivalist -= Math.trunc((V.arcologies[j].FSRomanRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSEdoRevivalist !== "unset") {
-							V.arcologies[V.i].FSEdoRevivalist -= Math.trunc((V.arcologies[j].FSRomanRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSEdoRevivalist !== "unset") {
+							V.arcologies[i].FSEdoRevivalist -= Math.trunc((V.arcologies[j].FSRomanRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSArabianRevivalist !== "unset") {
-							V.arcologies[V.i].FSArabianRevivalist -= Math.trunc((V.arcologies[j].FSRomanRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSArabianRevivalist !== "unset") {
+							V.arcologies[i].FSArabianRevivalist -= Math.trunc((V.arcologies[j].FSRomanRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSChineseRevivalist !== "unset") {
-							V.arcologies[V.i].FSChineseRevivalist -= Math.trunc((V.arcologies[j].FSRomanRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSChineseRevivalist !== "unset") {
+							V.arcologies[i].FSChineseRevivalist -= Math.trunc((V.arcologies[j].FSRomanRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
 						}
 					} else if (V.arcologies[j].FSAztecRevivalist > 60) {
-						if (V.arcologies[V.i].FSAztecRevivalist !== "unset") {
-							V.arcologies[V.i].FSAztecRevivalist += Math.trunc((V.arcologies[j].FSAztecRevivalist-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSAztecRevivalist > V.FSLockinLevel) {
+						if (V.arcologies[i].FSAztecRevivalist !== "unset") {
+							V.arcologies[i].FSAztecRevivalist += Math.trunc((V.arcologies[j].FSAztecRevivalist-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSAztecRevivalist > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Aztec Revivalism");
-						} else if (V.arcologies[V.i].FSNeoImperialist !== "unset") {
-							V.arcologies[V.i].FSNeoImperialist -= Math.trunc((V.arcologies[j].FSAztecRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSNeoImperialist !== "unset") {
+							V.arcologies[i].FSNeoImperialist -= Math.trunc((V.arcologies[j].FSAztecRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Imperialism");
-						} else if (V.arcologies[V.i].FSRomanRevivalist !== "unset") {
-							V.arcologies[V.i].FSRomanRevivalist -= Math.trunc((V.arcologies[j].FSAztecRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSRomanRevivalist !== "unset") {
+							V.arcologies[i].FSRomanRevivalist -= Math.trunc((V.arcologies[j].FSAztecRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSEgyptianRevivalist !== "unset") {
-							V.arcologies[V.i].FSEgyptianRevivalist -= Math.trunc((V.arcologies[j].FSAztecRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSEgyptianRevivalist !== "unset") {
+							V.arcologies[i].FSEgyptianRevivalist -= Math.trunc((V.arcologies[j].FSAztecRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSEdoRevivalist !== "unset") {
-							V.arcologies[V.i].FSEdoRevivalist -= Math.trunc((V.arcologies[j].FSAztecRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSEdoRevivalist !== "unset") {
+							V.arcologies[i].FSEdoRevivalist -= Math.trunc((V.arcologies[j].FSAztecRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSArabianRevivalist !== "unset") {
-							V.arcologies[V.i].FSArabianRevivalist -= Math.trunc((V.arcologies[j].FSAztecRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSArabianRevivalist !== "unset") {
+							V.arcologies[i].FSArabianRevivalist -= Math.trunc((V.arcologies[j].FSAztecRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSChineseRevivalist !== "unset") {
-							V.arcologies[V.i].FSChineseRevivalist -= Math.trunc((V.arcologies[j].FSAztecRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSChineseRevivalist !== "unset") {
+							V.arcologies[i].FSChineseRevivalist -= Math.trunc((V.arcologies[j].FSAztecRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
 						}
 					} else if (V.arcologies[j].FSEgyptianRevivalist > 60) {
-						if (V.arcologies[V.i].FSEgyptianRevivalist !== "unset") {
-							V.arcologies[V.i].FSEgyptianRevivalist += Math.trunc((V.arcologies[j].FSEgyptianRevivalist-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSEgyptianRevivalist > V.FSLockinLevel) {
+						if (V.arcologies[i].FSEgyptianRevivalist !== "unset") {
+							V.arcologies[i].FSEgyptianRevivalist += Math.trunc((V.arcologies[j].FSEgyptianRevivalist-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSEgyptianRevivalist > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Egyptian Revivalism");
-						} else if (V.arcologies[V.i].FSRomanRevivalist !== "unset") {
-							V.arcologies[V.i].FSRomanRevivalist -= Math.trunc((V.arcologies[j].FSEgyptianRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSRomanRevivalist !== "unset") {
+							V.arcologies[i].FSRomanRevivalist -= Math.trunc((V.arcologies[j].FSEgyptianRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSNeoImperialist !== "unset") {
-							V.arcologies[V.i].FSNeoImperialist -= Math.trunc((V.arcologies[j].FSEgyptianRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSNeoImperialist !== "unset") {
+							V.arcologies[i].FSNeoImperialist -= Math.trunc((V.arcologies[j].FSEgyptianRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Imperialism");
-						} else if (V.arcologies[V.i].FSAztecRevivalist !== "unset") {
-							V.arcologies[V.i].FSAztecRevivalist -= Math.trunc((V.arcologies[j].FSEgyptianRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSAztecRevivalist !== "unset") {
+							V.arcologies[i].FSAztecRevivalist -= Math.trunc((V.arcologies[j].FSEgyptianRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSEdoRevivalist !== "unset") {
-							V.arcologies[V.i].FSEdoRevivalist -= Math.trunc((V.arcologies[j].FSEgyptianRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSEdoRevivalist !== "unset") {
+							V.arcologies[i].FSEdoRevivalist -= Math.trunc((V.arcologies[j].FSEgyptianRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSArabianRevivalist !== "unset") {
-							V.arcologies[V.i].FSArabianRevivalist -= Math.trunc((V.arcologies[j].FSEgyptianRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSArabianRevivalist !== "unset") {
+							V.arcologies[i].FSArabianRevivalist -= Math.trunc((V.arcologies[j].FSEgyptianRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSChineseRevivalist !== "unset") {
-							V.arcologies[V.i].FSChineseRevivalist -= Math.trunc((V.arcologies[j].FSEgyptianRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSChineseRevivalist !== "unset") {
+							V.arcologies[i].FSChineseRevivalist -= Math.trunc((V.arcologies[j].FSEgyptianRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
 						}
 					} else if (V.arcologies[j].FSEdoRevivalist > 60) {
-						if (V.arcologies[V.i].FSEdoRevivalist !== "unset") {
-							V.arcologies[V.i].FSEdoRevivalist += Math.trunc((V.arcologies[j].FSEdoRevivalist-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSEdoRevivalist > V.FSLockinLevel) {
+						if (V.arcologies[i].FSEdoRevivalist !== "unset") {
+							V.arcologies[i].FSEdoRevivalist += Math.trunc((V.arcologies[j].FSEdoRevivalist-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSEdoRevivalist > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Edo Revivalism");
-						} else if (V.arcologies[V.i].FSEgyptianRevivalist !== "unset") {
-							V.arcologies[V.i].FSEgyptianRevivalist -= Math.trunc((V.arcologies[j].FSEdoRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSEgyptianRevivalist !== "unset") {
+							V.arcologies[i].FSEgyptianRevivalist -= Math.trunc((V.arcologies[j].FSEdoRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSNeoImperialist !== "unset") {
-							V.arcologies[V.i].FSNeoImperialist -= Math.trunc((V.arcologies[j].FSEdoRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSNeoImperialist !== "unset") {
+							V.arcologies[i].FSNeoImperialist -= Math.trunc((V.arcologies[j].FSEdoRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Imperialism");
-						} else if (V.arcologies[V.i].FSRomanRevivalist !== "unset") {
-							V.arcologies[V.i].FSRomanRevivalist -= Math.trunc((V.arcologies[j].FSEdoRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSRomanRevivalist !== "unset") {
+							V.arcologies[i].FSRomanRevivalist -= Math.trunc((V.arcologies[j].FSEdoRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSAztecRevivalist !== "unset") {
-							V.arcologies[V.i].FSAztecRevivalist -= Math.trunc((V.arcologies[j].FSEdoRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSAztecRevivalist !== "unset") {
+							V.arcologies[i].FSAztecRevivalist -= Math.trunc((V.arcologies[j].FSEdoRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSArabianRevivalist !== "unset") {
-							V.arcologies[V.i].FSArabianRevivalist -= Math.trunc((V.arcologies[j].FSEdoRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSArabianRevivalist !== "unset") {
+							V.arcologies[i].FSArabianRevivalist -= Math.trunc((V.arcologies[j].FSEdoRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSChineseRevivalist !== "unset") {
-							V.arcologies[V.i].FSChineseRevivalist -= Math.trunc((V.arcologies[j].FSEdoRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSChineseRevivalist !== "unset") {
+							V.arcologies[i].FSChineseRevivalist -= Math.trunc((V.arcologies[j].FSEdoRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
 						}
 					} else if (V.arcologies[j].FSArabianRevivalist > 60) {
-						if (V.arcologies[V.i].FSArabianRevivalist !== "unset") {
-							V.arcologies[V.i].FSArabianRevivalist += Math.trunc((V.arcologies[j].FSArabianRevivalist-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSArabianRevivalist > V.FSLockinLevel) {
+						if (V.arcologies[i].FSArabianRevivalist !== "unset") {
+							V.arcologies[i].FSArabianRevivalist += Math.trunc((V.arcologies[j].FSArabianRevivalist-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSArabianRevivalist > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Arabian Revivalism");
-						} else if (V.arcologies[V.i].FSEgyptianRevivalist !== "unset") {
-							V.arcologies[V.i].FSEgyptianRevivalist -= Math.trunc((V.arcologies[j].FSArabianRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSEgyptianRevivalist !== "unset") {
+							V.arcologies[i].FSEgyptianRevivalist -= Math.trunc((V.arcologies[j].FSArabianRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSNeoImperialist !== "unset") {
-							V.arcologies[V.i].FSNeoImperialist -= Math.trunc((V.arcologies[j].FSArabianRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSNeoImperialist !== "unset") {
+							V.arcologies[i].FSNeoImperialist -= Math.trunc((V.arcologies[j].FSArabianRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Imperialism");
-						} else if (V.arcologies[V.i].FSEdoRevivalist !== "unset") {
-							V.arcologies[V.i].FSEdoRevivalist -= Math.trunc((V.arcologies[j].FSArabianRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSEdoRevivalist !== "unset") {
+							V.arcologies[i].FSEdoRevivalist -= Math.trunc((V.arcologies[j].FSArabianRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSRomanRevivalist !== "unset") {
-							V.arcologies[V.i].FSRomanRevivalist -= Math.trunc((V.arcologies[j].FSArabianRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSRomanRevivalist !== "unset") {
+							V.arcologies[i].FSRomanRevivalist -= Math.trunc((V.arcologies[j].FSArabianRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSAztecRevivalist !== "unset") {
-							V.arcologies[V.i].FSAztecRevivalist -= Math.trunc((V.arcologies[j].FSArabianRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSAztecRevivalist !== "unset") {
+							V.arcologies[i].FSAztecRevivalist -= Math.trunc((V.arcologies[j].FSArabianRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSChineseRevivalist !== "unset") {
-							V.arcologies[V.i].FSChineseRevivalist -= Math.trunc((V.arcologies[j].FSArabianRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSChineseRevivalist !== "unset") {
+							V.arcologies[i].FSChineseRevivalist -= Math.trunc((V.arcologies[j].FSArabianRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
 						}
 					} else if (V.arcologies[j].FSChineseRevivalist > 60) {
-						if (V.arcologies[V.i].FSChineseRevivalist !== "unset") {
-							V.arcologies[V.i].FSChineseRevivalist += Math.trunc((V.arcologies[j].FSChineseRevivalist-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSChineseRevivalist > V.FSLockinLevel) {
+						if (V.arcologies[i].FSChineseRevivalist !== "unset") {
+							V.arcologies[i].FSChineseRevivalist += Math.trunc((V.arcologies[j].FSChineseRevivalist-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSChineseRevivalist > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Chinese Revivalism");
-						} else if (V.arcologies[V.i].FSEgyptianRevivalist !== "unset") {
-							V.arcologies[V.i].FSEgyptianRevivalist -= Math.trunc((V.arcologies[j].FSChineseRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSEgyptianRevivalist !== "unset") {
+							V.arcologies[i].FSEgyptianRevivalist -= Math.trunc((V.arcologies[j].FSChineseRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSNeoImperialist !== "unset") {
-							V.arcologies[V.i].FSNeoImperialist -= Math.trunc((V.arcologies[j].FSChineseRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSNeoImperialist !== "unset") {
+							V.arcologies[i].FSNeoImperialist -= Math.trunc((V.arcologies[j].FSChineseRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Imperialism");
-						} else if (V.arcologies[V.i].FSEdoRevivalist !== "unset") {
-							V.arcologies[V.i].FSEdoRevivalist -= Math.trunc((V.arcologies[j].FSChineseRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSEdoRevivalist !== "unset") {
+							V.arcologies[i].FSEdoRevivalist -= Math.trunc((V.arcologies[j].FSChineseRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSArabianRevivalist !== "unset") {
-							V.arcologies[V.i].FSArabianRevivalist -= Math.trunc((V.arcologies[j].FSChineseRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSArabianRevivalist !== "unset") {
+							V.arcologies[i].FSArabianRevivalist -= Math.trunc((V.arcologies[j].FSChineseRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSRomanRevivalist !== "unset") {
-							V.arcologies[V.i].FSRomanRevivalist -= Math.trunc((V.arcologies[j].FSChineseRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSRomanRevivalist !== "unset") {
+							V.arcologies[i].FSRomanRevivalist -= Math.trunc((V.arcologies[j].FSChineseRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSAztecRevivalist !== "unset") {
-							V.arcologies[V.i].FSAztecRevivalist -= Math.trunc((V.arcologies[j].FSChineseRevivalist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSAztecRevivalist !== "unset") {
+							V.arcologies[i].FSAztecRevivalist -= Math.trunc((V.arcologies[j].FSChineseRevivalist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
 						}
 					} else if (V.arcologies[j].FSNeoImperialist > 60) {
-						if (V.arcologies[V.i].FSNeoImperialist !== "unset") {
-							V.arcologies[V.i].FSNeoImperialist += Math.trunc((V.arcologies[j].FSNeoImperialist-60)/4)+_appliedInfluenceBonus;
-							if (V.arcologies[V.i].FSNeoImperialist > V.FSLockinLevel) {
+						if (V.arcologies[i].FSNeoImperialist !== "unset") {
+							V.arcologies[i].FSNeoImperialist += Math.trunc((V.arcologies[j].FSNeoImperialist-60)/4)+_appliedInfluenceBonus;
+							if (V.arcologies[i].FSNeoImperialist > V.FSLockinLevel) {
 								_alignment += 1;
 							}
 							desc.push("helping to advance its Neo-Imperialism");
-						} else if (V.arcologies[V.i].FSEgyptianRevivalist !== "unset") {
-							V.arcologies[V.i].FSEgyptianRevivalist -= Math.trunc((V.arcologies[j].FSNeoImperialist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSEgyptianRevivalist !== "unset") {
+							V.arcologies[i].FSEgyptianRevivalist -= Math.trunc((V.arcologies[j].FSNeoImperialist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSChineseRevivalist !== "unset") {
-							V.arcologies[V.i].FSChineseRevivalist -= Math.trunc((V.arcologies[j].FSNeoImperialist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSChineseRevivalist !== "unset") {
+							V.arcologies[i].FSChineseRevivalist -= Math.trunc((V.arcologies[j].FSNeoImperialist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSEdoRevivalist !== "unset") {
-							V.arcologies[V.i].FSEdoRevivalist -= Math.trunc((V.arcologies[j].FSNeoImperialist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSEdoRevivalist !== "unset") {
+							V.arcologies[i].FSEdoRevivalist -= Math.trunc((V.arcologies[j].FSNeoImperialist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSArabianRevivalist !== "unset") {
-							V.arcologies[V.i].FSArabianRevivalist -= Math.trunc((V.arcologies[j].FSNeoImperialist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSArabianRevivalist !== "unset") {
+							V.arcologies[i].FSArabianRevivalist -= Math.trunc((V.arcologies[j].FSNeoImperialist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSRomanRevivalist !== "unset") {
-							V.arcologies[V.i].FSRomanRevivalist -= Math.trunc((V.arcologies[j].FSNeoImperialist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSRomanRevivalist !== "unset") {
+							V.arcologies[i].FSRomanRevivalist -= Math.trunc((V.arcologies[j].FSNeoImperialist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
-						} else if (V.arcologies[V.i].FSAztecRevivalist !== "unset") {
-							V.arcologies[V.i].FSAztecRevivalist -= Math.trunc((V.arcologies[j].FSNeoImperialist-60)/4)+_appliedInfluenceBonus;
+						} else if (V.arcologies[i].FSAztecRevivalist !== "unset") {
+							V.arcologies[i].FSAztecRevivalist -= Math.trunc((V.arcologies[j].FSNeoImperialist-60)/4)+_appliedInfluenceBonus;
 							desc.push("attacking its incompatible Revivalism");
 						}
 					}
@@ -1950,7 +1950,7 @@ App.EndWeek.neighborsDevelopment = function() {
 					if (desc.length === 0) {
 						r.push(`'' ${V.arcologies[j].name}'' attempts to influence it, but has no significant impacts.`);
 					} else if (desc.length > 2) {
-						r.push(`'' ${V.arcologies[j].name}'''s mature culture influences V.arcologies[V.i].name, desc[0],`);
+						r.push(`'' ${V.arcologies[j].name}'''s mature culture influences V.arcologies[i].name, desc[0],`);
 						for (let _k = 1; _k < desc.length; _k++) {
 							if (_k < desc.length-1) {
 								r.push(`${desc[_k]},`);
@@ -1959,9 +1959,9 @@ App.EndWeek.neighborsDevelopment = function() {
 							}
 						}
 					} else if (desc.length === 2) {
-						r.push(`'' ${V.arcologies[j].name}'''s culture influences V.arcologies[V.i].name's desc[0] and desc[1].`);
+						r.push(`'' ${V.arcologies[j].name}'''s culture influences V.arcologies[i].name's desc[0] and desc[1].`);
 					} else {
-						r.push(`'' ${V.arcologies[j].name}'''s culture is beginning to influence V.arcologies[V.i].name's desc[0].`);
+						r.push(`'' ${V.arcologies[j].name}'''s culture is beginning to influence V.arcologies[i].name's desc[0].`);
 					}
 
 					if (_appliedInfluenceBonus > 0) {
@@ -1971,11 +1971,11 @@ App.EndWeek.neighborsDevelopment = function() {
 							r.push(`${V.arcologies[j].name} is societally fanatical, lending it great influence.`);
 						}
 					}
-					if (V.arcologies[V.i].ownership >= 100) {
+					if (V.arcologies[i].ownership >= 100) {
 						if (_appliedInfluenceBonus > 0) {
 							r.push(`However, `);
 						}
-						r.push(`${V.arcologies[V.i].name} is under completely unified control, making it resistant to change.`);
+						r.push(`${V.arcologies[i].name} is under completely unified control, making it resistant to change.`);
 					}
 
 					if (V.arcologies[j].direction !== 0) {
@@ -1983,7 +1983,7 @@ App.EndWeek.neighborsDevelopment = function() {
 							r.push(`'' ${V.arcologies[j].name}'' is not satisfied with the impact its directed influence is having, and withdraws it with the intention of targeting it elsewhere.`);
 							V.arcologies[j].influenceTarget = -1;
 						} else if (_alignment >= 4) {
-							r.push(`'' ${V.arcologies[j].name}'' is satisfied that its influence has brought V.arcologies[V.i].name into alignment, and withdraws its direct influence with the intention of targeting it elsewhere.`);
+							r.push(`'' ${V.arcologies[j].name}'' is satisfied that its influence has brought V.arcologies[i].name into alignment, and withdraws its direct influence with the intention of targeting it elsewhere.`);
 							V.arcologies[j].influenceTarget = -1;
 						}
 					}
@@ -1991,26 +1991,26 @@ App.EndWeek.neighborsDevelopment = function() {
 			}
 		}/* CLOSES INFLUENCE RECEPTION */
 
-		if (V.arcologies[V.i].direction !== 0) {
-			if (V.arcologies[V.i].influenceTarget === -1) {
-				App.Neighbor.selectInfluenceTarget(V.i);
+		if (V.arcologies[i].direction !== 0) {
+			if (V.arcologies[i].influenceTarget === -1) {
+				App.Neighbor.selectInfluenceTarget(i);
 			}
 		}
 
-		if (V.arcologies[V.i].direction !== 0) {
-			V.arcologies[V.i].prosperity = Math.clamp(V.arcologies[V.i].prosperity, 1, 300);
-			V.arcologies[V.i].ownership = Math.clamp(V.arcologies[V.i].ownership, 0, 100);
-			V.arcologies[V.i].PCminority = Math.clamp(V.arcologies[V.i].PCminority, 0, 100);
-			V.arcologies[V.i].minority = Math.clamp(V.arcologies[V.i].minority, 0, 100);
-			_owned = V.arcologies[V.i].ownership + V.arcologies[V.i].PCminority + V.arcologies[V.i].minority;
-			if (V.arcologies[V.i].government !== "your agent" && V.arcologies[V.i].government !== "your trustees" && V.arcologies[V.i].rival !== 1) {
+		if (V.arcologies[i].direction !== 0) {
+			V.arcologies[i].prosperity = Math.clamp(V.arcologies[i].prosperity, 1, 300);
+			V.arcologies[i].ownership = Math.clamp(V.arcologies[i].ownership, 0, 100);
+			V.arcologies[i].PCminority = Math.clamp(V.arcologies[i].PCminority, 0, 100);
+			V.arcologies[i].minority = Math.clamp(V.arcologies[i].minority, 0, 100);
+			_owned = V.arcologies[i].ownership + V.arcologies[i].PCminority + V.arcologies[i].minority;
+			if (V.arcologies[i].government !== "your agent" && V.arcologies[i].government !== "your trustees" && V.arcologies[i].rival !== 1) {
 				if (_owned < 10) {
-					V.arcologies[V.i].ownership += 10;
+					V.arcologies[i].ownership += 10;
 					/* Someone needs to own something */
 				} else if (_owned > 100) {
-					V.arcologies[V.i].minority = Math.clamp(100 - V.arcologies[V.i].ownership - V.arcologies[V.i].PCminority, 0, 100);
-					if (V.arcologies[V.i].ownership + V.arcologies[V.i].PCminority > 100) {
-						V.arcologies[V.i].ownership = 100 - V.arcologies[V.i].PCminority;
+					V.arcologies[i].minority = Math.clamp(100 - V.arcologies[i].ownership - V.arcologies[i].PCminority, 0, 100);
+					if (V.arcologies[i].ownership + V.arcologies[i].PCminority > 100) {
+						V.arcologies[i].ownership = 100 - V.arcologies[i].PCminority;
 					}
 				}
 			}
-- 
GitLab