diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt
index 13a5d1ea4ecaab61201aa56c655fc9337e068a09..2e437822ed09fc8eaebd1f8ac750abbbc2eee7f0 100644
--- a/devNotes/twine JS.txt	
+++ b/devNotes/twine JS.txt	
@@ -35531,140 +35531,141 @@ window.SFBC = function() {
 		delete V.securityForceHeavyAmphibiousTransport;
 	}
 
-	if (V.SF == undefined) {
-		if (V.securityForceEventSeen < 1) { V.securityForceActive = -1 } else { V.securityForceActive = 2 };
-		V.SF = {Toggle:V.SFMODToggle, Active:V.securityForceActive}; Init();
-		if (V.securityForceName === undefined) V.securityForceName = "the special force";
-		if (V.SF.Active >= 1) {
-			Object.assign(V.SF, {
-				Depravity:V.securityForceDepravity,
-				Size:V.SFAO,
-				Upgrade:V.securityForceUpgradeToken,
-				Gift:V.securityForceGiftToken,
-				UC:{Assign:V.SF.SpecOps, Lock:V.SF.SpecOpsLock},
-				ROE:V.securityForceRulesOfEngagement,
-				Target:V.securityForceFocus,
-				Regs:V.securityForceAccountability,
-				Caps:"The Special Force",
-				Lower:V.securityForceName,
-				Subsidy:V.SubsidyActive}); Main();
-			if (V.SF.Lower !== "the special force") V.SF.Caps = V.SF.Lower.replace("the ", "The ");
-
-			if (V.ColonelCore === undefined) V.ColonelCore = "";
-			if (V.ColonelDiscussion === undefined) V.ColonelDiscussion = 0;
-			if (V.ColonelSexed === undefined) V.ColonelSexed = 0;
-			V.SF.Colonel = {
-				Core:V.ColonelCore,
-				Talk:V.securityForceColonelToken,
-				Fun:V.securityForceColonelSexed,
-				Status:V.ColonelRelationship}; Colonel();
-
-			if (V.TradeShowIncome === undefined) V.TradeShowIncome = 0;
-			if (V.TotalTradeShowIncome === undefined) V.TotalTradeShowIncome = 0;
-			if (V.TradeShowHelots === undefined) V.TradeShowHelots = 0;
-			if (V.TotalTradeShowHelots === undefined) V.TotalTradeShowHelots = 0;
-			V.SF.MercCon = {
-				History:V.OverallTradeShowAttendance,
-				CanAttend:V.CurrentTradeShowAttendance,
-				Income:V.TradeShowIncome,
-				Revenue:V.TotalTradeShowIncome,
-				Helots:V.TradeShowHelots,
-				TotalHelots:V.TotalTradeShowHelots,
-				Mercs:0,
-				TotalMercs:0}; TradeShow();
-			if (V.SF.MercCon.History > 0) V.SF.MercCon.View = 1;
-
-			if (V.securityForceHeavyBattleTank === undefined) V.securityForceHeavyBattleTank = 0;
-			if (V.securityForceSpacePlanePower === undefined) V.securityForceSpacePlanePower = 0;
-			if (V.securityForceAC130 === undefined) V.securityForceAC130 = 0;
-			if (V.securityForceSatellitePower === undefined) V.securityForceSatellitePower = 0;
-			if (V.securityForceGiantRobot === undefined) V.securityForceGiantRobot = 0;
-			if (V.securityForceMissileSilo === undefined) V.securityForceMissileSilo = 0;
-			if (V.securityForceAircraftCarrier === undefined) V.securityForceAircraftCarrier = 0;
-			if (V.securityForceSubmarine === undefined) V.securityForceSubmarine = 0;
-			if (V.securityForceHeavyAmphibiousTransport === undefined) V.securityForceHeavyAmphibiousTransport = 0;
-			V.SF.Squad = {
-				Troops:V.securityForcePersonnel,
-				Armoury:V.securityForceInfantryPower,
-				Firebase:V.securityForceArcologyUpgrades,
-				AV:V.securityForceVehiclePower,
-				TV:V.securityForceVehiclePower,
-				Drones:V.securityForceDronePower,
-				Drugs:V.securityForceStimulantPower,
-				PGT:V.securityForceHeavyBattleTank,
-				AA:V.securityForceAircraftPower,
-				TA:V.securityForceAircraftPower,
-				SpacePlane:V.securityForceSpacePlanePower,
-				GunS:V.securityForceAC130,
-				Satellite:{lv:V.securityForceSatellitePower, InOrbit:0},
-				GiantRobot:V.securityForceGiantRobot,
-				MissileSilo:V.securityForceMissileSilo,
-				AircraftCarrier:V.securityForceAircraftCarrier,
-				Sub:V.securityForceSubmarine,
-				HAT:V.securityForceHeavyAmphibiousTransport}; Units();
+	if ( (V.SF.Toggle || V.SFMODToggle) > 0) {
+		if (V.SF == undefined) {
+			if (V.securityForceEventSeen < 1) { V.securityForceActive = -1 } else { V.securityForceActive = 2 };
+			V.SF = {Toggle:V.SFMODToggle, Active:V.securityForceActive}; Init();
+			if (V.securityForceName === undefined) V.securityForceName = "the special force";
+			if (V.SF.Active >= 1) {
+				Object.assign(V.SF, {
+					Depravity:V.securityForceDepravity,
+					Size:V.SFAO,
+					Upgrade:V.securityForceUpgradeToken,
+					Gift:V.securityForceGiftToken,
+					UC:{Assign:V.SF.SpecOps, Lock:V.SF.SpecOpsLock},
+					ROE:V.securityForceRulesOfEngagement,
+					Target:V.securityForceFocus,
+					Regs:V.securityForceAccountability,
+					Caps:"The Special Force",
+					Lower:V.securityForceName,
+					Subsidy:V.SubsidyActive}); Main();
+				if (V.SF.Lower !== "the special force") V.SF.Caps = V.SF.Lower.replace("the ", "The ");
+
+				if (V.ColonelCore === undefined) V.ColonelCore = "";
+				if (V.ColonelDiscussion === undefined) V.ColonelDiscussion = 0;
+				if (V.ColonelSexed === undefined) V.ColonelSexed = 0;
+				V.SF.Colonel = {
+					Core:V.ColonelCore,
+					Talk:V.securityForceColonelToken,
+					Fun:V.securityForceColonelSexed,
+					Status:V.ColonelRelationship}; Colonel();
+
+				if (V.TradeShowIncome === undefined) V.TradeShowIncome = 0;
+				if (V.TotalTradeShowIncome === undefined) V.TotalTradeShowIncome = 0;
+				if (V.TradeShowHelots === undefined) V.TradeShowHelots = 0;
+				if (V.TotalTradeShowHelots === undefined) V.TotalTradeShowHelots = 0;
+				V.SF.MercCon = {
+					History:V.OverallTradeShowAttendance,
+					CanAttend:V.CurrentTradeShowAttendance,
+					Income:V.TradeShowIncome,
+					Revenue:V.TotalTradeShowIncome,
+					Helots:V.TradeShowHelots,
+					TotalHelots:V.TotalTradeShowHelots,
+					Mercs:0,
+					TotalMercs:0}; TradeShow();
+				if (V.SF.MercCon.History > 0) V.SF.MercCon.View = 1;
+
+				if (V.securityForceHeavyBattleTank === undefined) V.securityForceHeavyBattleTank = 0;
+				if (V.securityForceSpacePlanePower === undefined) V.securityForceSpacePlanePower = 0;
+				if (V.securityForceAC130 === undefined) V.securityForceAC130 = 0;
+				if (V.securityForceSatellitePower === undefined) V.securityForceSatellitePower = 0;
+				if (V.securityForceGiantRobot === undefined) V.securityForceGiantRobot = 0;
+				if (V.securityForceMissileSilo === undefined) V.securityForceMissileSilo = 0;
+				if (V.securityForceAircraftCarrier === undefined) V.securityForceAircraftCarrier = 0;
+				if (V.securityForceSubmarine === undefined) V.securityForceSubmarine = 0;
+				if (V.securityForceHeavyAmphibiousTransport === undefined) V.securityForceHeavyAmphibiousTransport = 0;
+				V.SF.Squad = {
+					Troops:V.securityForcePersonnel,
+					Armoury:V.securityForceInfantryPower,
+					Firebase:V.securityForceArcologyUpgrades,
+					AV:V.securityForceVehiclePower,
+					TV:V.securityForceVehiclePower,
+					Drones:V.securityForceDronePower,
+					Drugs:V.securityForceStimulantPower,
+					PGT:V.securityForceHeavyBattleTank,
+					AA:V.securityForceAircraftPower,
+					TA:V.securityForceAircraftPower,
+					SpacePlane:V.securityForceSpacePlanePower,
+					GunS:V.securityForceAC130,
+					Satellite:{lv:V.securityForceSatellitePower, InOrbit:0},
+					GiantRobot:V.securityForceGiantRobot,
+					MissileSilo:V.securityForceMissileSilo,
+					AircraftCarrier:V.securityForceAircraftCarrier,
+					Sub:V.securityForceSubmarine,
+					HAT:V.securityForceHeavyAmphibiousTransport}; Units();
+			} else {
+				V.SF = {Depravity:0, Size:0, Upgrade:0, Gift:0, UC:{Assign:V.SF.SpecOps, Lock:V.SF.SpecOpsLock}, ROE:"hold", Target:"recruit", Regs:"strict", Caps:"The Special Force", Lower:"the special force", Subsidy:1};
+				V.SF.Squad = {Troops:40, Armoury:0, Firebase:0, AV:0, TV:0, Drones:0, Drugs:0, PGT:0, AA:0, TA:0, SpacePlane:0, GunS:0, Satellite:{lv:0, InOrbit:0}, GiantRobot:0, MissileSilo:0, AircraftCarrier:0, Sub:0, HAT:0};
+				V.arcologies[0].SFRaid = 1,V.arcologies[0].SFRaidTarget = -1;
+				V.SF.Colonel = {Core:"", Talk:0, Fun:0, Status:0};
+				V.SF.MercCon = {History:0, CanAttend:0, Income:0, Revenue:0, Helots:0, TotalHelots:0, Mercs:0, TotalMercs:0};
+				if (V.securityForceName) {
+					Init(); Main(); Colonel(); TradeShow(); Units();
+				}
+			}
+			V.SF.Facility = {Toggle:0, Active:0, LC:0, Workers:0, Max:5, Caps:"Special force support facility", Lower:"special force support facility", Decoration:"standard", Speed:0, Upgrade:0, IDs:[]};
 		} else {
-			V.SF = {Depravity:0, Size:0, Upgrade:0, Gift:0, UC:{Assign:V.SF.SpecOps, Lock:V.SF.SpecOpsLock}, ROE:"hold", Target:"recruit", Regs:"strict", Caps:"The Special Force", Lower:"the special force", Subsidy:1};
-			V.SF.Squad = {Troops:40, Armoury:0, Firebase:0, AV:0, TV:0, Drones:0, Drugs:0, PGT:0, AA:0, TA:0, SpacePlane:0, GunS:0, Satellite:{lv:0, InOrbit:0}, GiantRobot:0, MissileSilo:0, AircraftCarrier:0, Sub:0, HAT:0};
-			V.arcologies[0].SFRaid = 1,V.arcologies[0].SFRaidTarget = -1;
-			V.SF.Colonel = {Core:"", Talk:0, Fun:0, Status:0};
-			V.SF.MercCon = {History:0, CanAttend:0, Income:0, Revenue:0, Helots:0, TotalHelots:0, Mercs:0, TotalMercs:0};
-			if (V.securityForceName) {
-				Init(); Main(); Colonel(); TradeShow(); Units();
+			if (V.SF.MWU) {
+				delete V.SF.MWU;
 			}
-		}
-		V.SF.Facility = {Toggle:0, Active:0, LC:0, Workers:0, Max:5, Caps:"Special force support facility", Lower:"special force support facility", Decoration:"standard", Speed:0, Upgrade:0, IDs:[]};
-	} else {
-		if (V.SF.MWU) {
-			delete V.SF.MWU;
-		}
-		if (V.SpecOpsLock != undefined) {
-			V.SF.SpecOpsLock = V.SpecOpsLock; delete V.SpecOpsLock;
-		}
-		if (V.SF.UC == undefined) {
-			if (V.SF.SpecOps != undefined && V.SF.SpecOpsLock != undefined) {
-				V.SF.UC = {Assign:V.SF.SpecOps, Lock:V.SF.SpecOpsLock}; delete V.SF.SpecOps;
-				delete V.SF.SpecOpsLock;
-			} else if (V.SF.UC == {}) {
-				V.SF.UC = {Assign:0, Lock:0};
+			if (V.SpecOpsLock != undefined) {
+				V.SF.SpecOpsLock = V.SpecOpsLock; delete V.SpecOpsLock;
+			}
+			if (V.SF.UC == undefined) {
+				if (V.SF.SpecOps != undefined && V.SF.SpecOpsLock != undefined) {
+					V.SF.UC = {Assign:V.SF.SpecOps, Lock:V.SF.SpecOpsLock}; delete V.SF.SpecOps;
+					delete V.SF.SpecOpsLock;
+				} else if (V.SF.UC == {}) {
+					V.SF.UC = {Assign:0, Lock:0};
+				}
+			}
+			if (V.SF.U != undefined) {
+				V.SF.Upgrade = V.SF.U; delete V.SF.U;
+			}
+			if (V.SF.WG != undefined) {
+				V.SF.Gift = V.SF.WG; delete V.SF.WG;
+			}
+			if (V.SF.Facility == undefined) {
+				V.SF.Facility = {Toggle:0, Active:0, LC:0, Workers:0, Max:5, Caps:"Special force support facility", Lower:"special force support facility", Decoration:"standard", Speed:0, Upgrade:0, IDs:[]};
+			}
+			if (V.SF.Bonus == undefined) {
+				V.SF.Bonus = 0;
+			}
+			if (V.SF.Depravity < 0) {
+				V.SF.Depravity = 0;
+			}
+			if (V.SF.Size == undefined) {
+				V.SF.Size = V.SF.Units; delete V.SF.Units;
+			}
+			if (V.SFUnit != undefined) {
+				if (V.SFUnit.AT != undefined) {
+					delete V.SFUnit.AT; V.SFUnitTA = 0;
+				}
+				V.SF.Squad = V.SFUnit;
+				delete V.SFUnit;
+				V.SF.Squad.Sat = {lv:V.SF.Squad.Satellite, InOrbit:V.SatLaunched};
+				delete V.SatLaunched;
+				V.SF.Squad.Satellite = V.SF.Squad.Sat; delete V.SF.Squad.Sat;
+			if (V.SFTradeShow != undefined) V.SF.MercCon = V.SFTradeShow; delete V.SFTradeShow;
+			if (V.SFColonel != undefined) V.SF.Colonel = V.SFColonel; delete V.SFColonel;
+			if (V.securityForceName) Init(); Main(); Colonel(); TradeShow(); Units();
+			if (V.SF.BadOutcome === undefined) V.SF.BadOutcome = "";
+			if (V.SF.Squad.Satellite != undefined && V.SatLaunched == undefined) {
+				delete V.SFUnit;
+				V.SF.Squad.Sat = {lv:0, InOrbit:0};
+				delete V.SatLaunched;
+				V.SF.Squad.Satellite = V.SF.Squad.Sat; delete V.SF.Squad.Sat;
 			}
-		}
-		if (V.SF.U != undefined) {
-			V.SF.Upgrade = V.SF.U; delete V.SF.U;
-		}
-		if (V.SF.WG != undefined) {
-			V.SF.Gift = V.SF.WG; delete V.SF.WG;
-		}
-		if (V.SF.Facility == undefined) {
-			V.SF.Facility = {Toggle:0, Active:0, LC:0, Workers:0, Max:5, Caps:"Special force support facility", Lower:"special force support facility", Decoration:"standard", Speed:0, Upgrade:0, IDs:[]};
-		}
-		if (V.SF.Bonus == undefined) {
-			V.SF.Bonus = 0;
-		}
-		if (V.SF.Depravity < 0) {
-			V.SF.Depravity = 0;
-		}
-		if (V.SF.Size == undefined) {
-			V.SF.Size = V.SF.Units; delete V.SF.Units;
-		}
-		if (V.SFUnit != undefined) {
-			if (V.SFUnit.AT != undefined) {
-				delete V.SFUnit.AT; V.SFUnitTA = 0;
-			}
-			V.SF.Squad = V.SFUnit;
-			delete V.SFUnit;
-			V.SF.Squad.Sat = {lv:V.SF.Squad.Satellite, InOrbit:V.SatLaunched};
-			delete V.SatLaunched;
-			V.SF.Squad.Satellite = V.SF.Squad.Sat; delete V.SF.Squad.Sat;
-		}
-		if (V.SFTradeShow != undefined) V.SF.MercCon = V.SFTradeShow; delete V.SFTradeShow;
-		if (V.SFColonel != undefined) V.SF.Colonel = V.SFColonel; delete V.SFColonel;
-		if (V.securityForceName) Init(); Main(); Colonel(); TradeShow(); Units();
-		if (V.SF.BadOutcome === undefined) V.SF.BadOutcome = "";
-		if (V.SF.Squad.Satellite != undefined && V.SatLaunched == undefined) {
-			delete V.SFUnit;
-			V.SF.Squad.Sat = {lv:0, InOrbit:0};
-			delete V.SatLaunched;
-			V.SF.Squad.Satellite = V.SF.Squad.Sat; delete V.SF.Squad.Sat;
 		}
 	}
 };
diff --git a/src/SpecialForce/JS.js b/src/SpecialForce/JS.js
index 8ade2dc3d1666a3a1bf874bdfa660eb25887c187..504d097ffeb0cf9a8131bd6e4d56d8c3b693682c 100644
--- a/src/SpecialForce/JS.js
+++ b/src/SpecialForce/JS.js
@@ -1,7 +1,7 @@
 /*SecForceEX JS*/
 window.SFC = function() {
 	const V = State.variables;
-	if (V.SF.MercCon.CanAttend === -1) {return `The Colonel`;} 
+	if (V.SF.MercCon.CanAttend === -1) {return `The Colonel`;}
 	else {
 		if (V.SF.Facility.LCActive > 0) {return `Lieutenant Colonel <<= SlaveFullName(V.SF.Facility.LC)>>`;}
 		else {return `a designated soldier`;}}
@@ -66,9 +66,9 @@ window.Count = function() {
 	if (V.SF.Facility.Toggle > 0) {
 		T.Base += T.SFF, T.max += T.SFFU;
 	}
-	
+
 	if (V.terrain !== "oceanic") { T.LBU += T.GRU, T.LB += S.GiantRobot, T.Base += T.G, T.max += T.GU;
-	T.max += T.LBU, T.Base += T.LB;} 
+	T.max += T.LBU, T.Base += T.LB;}
 	if (V.terrain === "oceanic" || V.terrain === "marine") {
 		T.NY = S.AircraftCarrier + S.Sub + S.HAT, T.Base += T.NY;
 		T.NYU = T.ACU + T.SubU + T.HATU, T.max += T.NYU;}
@@ -125,7 +125,7 @@ window.Armoury = function() {
 window.Drugs = function() {
 	const V = State.variables, S = V.SF.Squad;
 	var amphet = ``, phen = ``, steroid = ``, downer = ``, concen = ``, stimpack = ``, stabilizer = ``;
-	
+
 	if (S.Drugs >= 1) amphet = `Amphetamines have been added to the cocktail at a low dosage to act as a stimulant, physical performance enhancer, cognition control enhancer. Some side-effects exist.`;
 	if (S.Drugs >= 2) phen = `Phencyclidine has been added to the cocktail at a low dosage as a dissociative psychotropic for soldiers in battle to introduce feelings of detachment, strength and invincibility, and aggression. Some side-effects reduce the tolerable dosage before soldiers go on uncontrollable violent outbreaks.`;
 	if (S.Drugs >= 3) steroid = `Testosterone is being produced for soldiers in training as a natural muscle growth stimulant and to invoke aggression.`;
@@ -384,32 +384,32 @@ window.HAT = function() {
 window.Interactions = function() {
 	const V = State.variables, C = V.SF.Colonel, T = State.temporary;
 	var choice = ``, time = ``;
-	
+
 	if (V.SF.Gift > 0){
 		if (V.choice == 1){
 			choice = `$SF.Caps is turning over spare capital in tribute this week. `;
 			if (V.SF.MercCon.CanAttend === -1 && (C.Talk + C.Fun !== 1)) {
 			choice += `"I think I can find @@.yellowgreen;<<print cashFormat(Math.ceil($CashGift))>>@@ for you, boss."`;}
-			else { 
+			else {
 			choice += `"We can spare@@.yellowgreen;<<print cashFormat(Math.ceil($CashGift))>>@@ in tribute this week, `;
 			if (V.PC.title != 1){choice += `sir."`;}else{choice += `ma'am."`;}}}
 		else if (V.choice == 2){
 			choice = `$SF.Caps will be throwing a military parade this week. `;
 			if (V.SF.MercCon.CanAttend === -1 && (C.Talk + C.Fun !== 1)) {
 			choice += `"I expect the @@.green;public to enjoy@@ the parade, boss."`;}
-			else { 
+			else {
 			choice += `"I'll have plans for an @@.green;popular parade@@ on your desk, `;
 			if (V.PC.title != 1){choice += `sir."`;}else{choice += `ma'am."`;}}}
 		else if (V.choice == 3){
 			choice = `$SF.Caps will be conducting corporate sabotage on rival arcologies' businesses. `;
 			if (V.SF.MercCon.CanAttend === -1 && (C.Talk + C.Fun !== 1)) {
 			choice += `"Our interests should see a @@.yellowgreen;big boost,@@ boss."`;}
-			else { 
+			else {
 			choice += `"Your @@.yellowgreen;arcology's business prospects should see an improvement@@ this week, <<= properTitle()>>.`;
 			}}}
 
 	if (C.Talk + C.Fun > 0) time = `The Colonel is busy for the rest of the week, so the Lieutenant Colonel will assist you.`;
-	
+
 	return `${time} <br>${choice}`;
 };
 
@@ -520,141 +520,142 @@ window.SFBC = function() {
 		delete V.securityForceSubmarine;
 		delete V.securityForceHeavyAmphibiousTransport;
 	}
-	
-	if (V.SF == undefined) {
-		if (V.securityForceEventSeen < 1) { V.securityForceActive = -1 } else { V.securityForceActive = 2 };
-		V.SF = {Toggle:V.SFMODToggle, Active:V.securityForceActive}; Init();
-		if (V.securityForceName === undefined) V.securityForceName = "the special force";
-		if (V.SF.Active >= 1) {
-			Object.assign(V.SF, {
-				Depravity:V.securityForceDepravity,
-				Size:V.SFAO,
-				Upgrade:V.securityForceUpgradeToken,
-				Gift:V.securityForceGiftToken,
-				UC:{Assign:V.SF.SpecOps, Lock:V.SF.SpecOpsLock},
-				ROE:V.securityForceRulesOfEngagement,
-				Target:V.securityForceFocus,
-				Regs:V.securityForceAccountability,
-				Caps:"The Special Force",
-				Lower:V.securityForceName,
-				Subsidy:V.SubsidyActive}); Main();
-			if (V.SF.Lower !== "the special force") V.SF.Caps = V.SF.Lower.replace("the ", "The ");
-
-			if (V.ColonelCore === undefined) V.ColonelCore = "";
-			if (V.ColonelDiscussion === undefined) V.ColonelDiscussion = 0;
-			if (V.ColonelSexed === undefined) V.ColonelSexed = 0;
-			V.SF.Colonel = {
-				Core:V.ColonelCore,
-				Talk:V.securityForceColonelToken,
-				Fun:V.securityForceColonelSexed,
-				Status:V.ColonelRelationship}; Colonel();
-
-			if (V.TradeShowIncome === undefined) V.TradeShowIncome = 0;
-			if (V.TotalTradeShowIncome === undefined) V.TotalTradeShowIncome = 0;
-			if (V.TradeShowHelots === undefined) V.TradeShowHelots = 0;
-			if (V.TotalTradeShowHelots === undefined) V.TotalTradeShowHelots = 0;
-			V.SF.MercCon = {
-				History:V.OverallTradeShowAttendance,
-				CanAttend:V.CurrentTradeShowAttendance,
-				Income:V.TradeShowIncome,
-				Revenue:V.TotalTradeShowIncome,
-				Helots:V.TradeShowHelots,
-				TotalHelots:V.TotalTradeShowHelots,
-				Mercs:0,
-				TotalMercs:0}; TradeShow();
-			if (V.SF.MercCon.History > 0) V.SF.MercCon.View = 1;
-
-			if (V.securityForceHeavyBattleTank === undefined) V.securityForceHeavyBattleTank = 0;
-			if (V.securityForceSpacePlanePower === undefined) V.securityForceSpacePlanePower = 0;
-			if (V.securityForceAC130 === undefined) V.securityForceAC130 = 0;
-			if (V.securityForceSatellitePower === undefined) V.securityForceSatellitePower = 0;
-			if (V.securityForceGiantRobot === undefined) V.securityForceGiantRobot = 0;
-			if (V.securityForceMissileSilo === undefined) V.securityForceMissileSilo = 0;
-			if (V.securityForceAircraftCarrier === undefined) V.securityForceAircraftCarrier = 0;
-			if (V.securityForceSubmarine === undefined) V.securityForceSubmarine = 0;
-			if (V.securityForceHeavyAmphibiousTransport === undefined) V.securityForceHeavyAmphibiousTransport = 0;
-			V.SF.Squad = {
-				Troops:V.securityForcePersonnel,
-				Armoury:V.securityForceInfantryPower,
-				Firebase:V.securityForceArcologyUpgrades,
-				AV:V.securityForceVehiclePower,
-				TV:V.securityForceVehiclePower,
-				Drones:V.securityForceDronePower,
-				Drugs:V.securityForceStimulantPower,
-				PGT:V.securityForceHeavyBattleTank,
-				AA:V.securityForceAircraftPower,
-				TA:V.securityForceAircraftPower,
-				SpacePlane:V.securityForceSpacePlanePower,
-				GunS:V.securityForceAC130,
-				Satellite:{lv:V.securityForceSatellitePower, InOrbit:0},
-				GiantRobot:V.securityForceGiantRobot,
-				MissileSilo:V.securityForceMissileSilo,
-				AircraftCarrier:V.securityForceAircraftCarrier,
-				Sub:V.securityForceSubmarine,
-				HAT:V.securityForceHeavyAmphibiousTransport}; Units();
+
+	if ( (V.SF.Toggle || V.SFMODToggle) > 0) {
+		if (V.SF == undefined) {
+			if (V.securityForceEventSeen < 1) { V.securityForceActive = -1 } else { V.securityForceActive = 2 };
+			V.SF = {Toggle:V.SFMODToggle, Active:V.securityForceActive}; Init();
+			if (V.securityForceName === undefined) V.securityForceName = "the special force";
+			if (V.SF.Active >= 1) {
+				Object.assign(V.SF, {
+					Depravity:V.securityForceDepravity,
+					Size:V.SFAO,
+					Upgrade:V.securityForceUpgradeToken,
+					Gift:V.securityForceGiftToken,
+					UC:{Assign:V.SF.SpecOps, Lock:V.SF.SpecOpsLock},
+					ROE:V.securityForceRulesOfEngagement,
+					Target:V.securityForceFocus,
+					Regs:V.securityForceAccountability,
+					Caps:"The Special Force",
+					Lower:V.securityForceName,
+					Subsidy:V.SubsidyActive}); Main();
+				if (V.SF.Lower !== "the special force") V.SF.Caps = V.SF.Lower.replace("the ", "The ");
+
+				if (V.ColonelCore === undefined) V.ColonelCore = "";
+				if (V.ColonelDiscussion === undefined) V.ColonelDiscussion = 0;
+				if (V.ColonelSexed === undefined) V.ColonelSexed = 0;
+				V.SF.Colonel = {
+					Core:V.ColonelCore,
+					Talk:V.securityForceColonelToken,
+					Fun:V.securityForceColonelSexed,
+					Status:V.ColonelRelationship}; Colonel();
+
+				if (V.TradeShowIncome === undefined) V.TradeShowIncome = 0;
+				if (V.TotalTradeShowIncome === undefined) V.TotalTradeShowIncome = 0;
+				if (V.TradeShowHelots === undefined) V.TradeShowHelots = 0;
+				if (V.TotalTradeShowHelots === undefined) V.TotalTradeShowHelots = 0;
+				V.SF.MercCon = {
+					History:V.OverallTradeShowAttendance,
+					CanAttend:V.CurrentTradeShowAttendance,
+					Income:V.TradeShowIncome,
+					Revenue:V.TotalTradeShowIncome,
+					Helots:V.TradeShowHelots,
+					TotalHelots:V.TotalTradeShowHelots,
+					Mercs:0,
+					TotalMercs:0}; TradeShow();
+				if (V.SF.MercCon.History > 0) V.SF.MercCon.View = 1;
+
+				if (V.securityForceHeavyBattleTank === undefined) V.securityForceHeavyBattleTank = 0;
+				if (V.securityForceSpacePlanePower === undefined) V.securityForceSpacePlanePower = 0;
+				if (V.securityForceAC130 === undefined) V.securityForceAC130 = 0;
+				if (V.securityForceSatellitePower === undefined) V.securityForceSatellitePower = 0;
+				if (V.securityForceGiantRobot === undefined) V.securityForceGiantRobot = 0;
+				if (V.securityForceMissileSilo === undefined) V.securityForceMissileSilo = 0;
+				if (V.securityForceAircraftCarrier === undefined) V.securityForceAircraftCarrier = 0;
+				if (V.securityForceSubmarine === undefined) V.securityForceSubmarine = 0;
+				if (V.securityForceHeavyAmphibiousTransport === undefined) V.securityForceHeavyAmphibiousTransport = 0;
+				V.SF.Squad = {
+					Troops:V.securityForcePersonnel,
+					Armoury:V.securityForceInfantryPower,
+					Firebase:V.securityForceArcologyUpgrades,
+					AV:V.securityForceVehiclePower,
+					TV:V.securityForceVehiclePower,
+					Drones:V.securityForceDronePower,
+					Drugs:V.securityForceStimulantPower,
+					PGT:V.securityForceHeavyBattleTank,
+					AA:V.securityForceAircraftPower,
+					TA:V.securityForceAircraftPower,
+					SpacePlane:V.securityForceSpacePlanePower,
+					GunS:V.securityForceAC130,
+					Satellite:{lv:V.securityForceSatellitePower, InOrbit:0},
+					GiantRobot:V.securityForceGiantRobot,
+					MissileSilo:V.securityForceMissileSilo,
+					AircraftCarrier:V.securityForceAircraftCarrier,
+					Sub:V.securityForceSubmarine,
+					HAT:V.securityForceHeavyAmphibiousTransport}; Units();
+			} else {
+				V.SF = {Depravity:0, Size:0, Upgrade:0, Gift:0, UC:{Assign:V.SF.SpecOps, Lock:V.SF.SpecOpsLock}, ROE:"hold", Target:"recruit", Regs:"strict", Caps:"The Special Force", Lower:"the special force", Subsidy:1};
+				V.SF.Squad = {Troops:40, Armoury:0, Firebase:0, AV:0, TV:0, Drones:0, Drugs:0, PGT:0, AA:0, TA:0, SpacePlane:0, GunS:0, Satellite:{lv:0, InOrbit:0}, GiantRobot:0, MissileSilo:0, AircraftCarrier:0, Sub:0, HAT:0};
+				V.arcologies[0].SFRaid = 1,V.arcologies[0].SFRaidTarget = -1;
+				V.SF.Colonel = {Core:"", Talk:0, Fun:0, Status:0};
+				V.SF.MercCon = {History:0, CanAttend:0, Income:0, Revenue:0, Helots:0, TotalHelots:0, Mercs:0, TotalMercs:0};
+				if (V.securityForceName) {
+					Init(); Main(); Colonel(); TradeShow(); Units();
+				}
+			}
+			V.SF.Facility = {Toggle:0, Active:0, LC:0, Workers:0, Max:5, Caps:"Special force support facility", Lower:"special force support facility", Decoration:"standard", Speed:0, Upgrade:0, IDs:[]};
 		} else {
-			V.SF = {Depravity:0, Size:0, Upgrade:0, Gift:0, UC:{Assign:V.SF.SpecOps, Lock:V.SF.SpecOpsLock}, ROE:"hold", Target:"recruit", Regs:"strict", Caps:"The Special Force", Lower:"the special force", Subsidy:1};
-			V.SF.Squad = {Troops:40, Armoury:0, Firebase:0, AV:0, TV:0, Drones:0, Drugs:0, PGT:0, AA:0, TA:0, SpacePlane:0, GunS:0, Satellite:{lv:0, InOrbit:0}, GiantRobot:0, MissileSilo:0, AircraftCarrier:0, Sub:0, HAT:0};
-			V.arcologies[0].SFRaid = 1,V.arcologies[0].SFRaidTarget = -1;
-			V.SF.Colonel = {Core:"", Talk:0, Fun:0, Status:0};
-			V.SF.MercCon = {History:0, CanAttend:0, Income:0, Revenue:0, Helots:0, TotalHelots:0, Mercs:0, TotalMercs:0};
-			if (V.securityForceName) {
-				Init(); Main(); Colonel(); TradeShow(); Units();
+			if (V.SF.MWU) {
+				delete V.SF.MWU;
 			}
-		}
-		V.SF.Facility = {Toggle:0, Active:0, LC:0, Workers:0, Max:5, Caps:"Special force support facility", Lower:"special force support facility", Decoration:"standard", Speed:0, Upgrade:0, IDs:[]};
-	} else {
-		if (V.SF.MWU) {
-			delete V.SF.MWU;
-		}
-		if (V.SpecOpsLock != undefined) {
-			V.SF.SpecOpsLock = V.SpecOpsLock; delete V.SpecOpsLock;
-		}
-		if (V.SF.UC == undefined) {
-			if (V.SF.SpecOps != undefined && V.SF.SpecOpsLock != undefined) {
-				V.SF.UC = {Assign:V.SF.SpecOps, Lock:V.SF.SpecOpsLock}; delete V.SF.SpecOps;
-				delete V.SF.SpecOpsLock;
-			} else if (V.SF.UC == {}) {
-				V.SF.UC = {Assign:0, Lock:0};
+			if (V.SpecOpsLock != undefined) {
+				V.SF.SpecOpsLock = V.SpecOpsLock; delete V.SpecOpsLock;
 			}
-		}
-		if (V.SF.U != undefined) {
-			V.SF.Upgrade = V.SF.U; delete V.SF.U;
-		}
-		if (V.SF.WG != undefined) {
-			V.SF.Gift = V.SF.WG; delete V.SF.WG;
-		}
-		if (V.SF.Facility == undefined) {
-			V.SF.Facility = {Toggle:0, Active:0, LC:0, Workers:0, Max:5, Caps:"Special force support facility", Lower:"special force support facility", Decoration:"standard", Speed:0, Upgrade:0, IDs:[]};
-		}
-		if (V.SF.Bonus == undefined) {
-			V.SF.Bonus = 0;
-		}
-		if (V.SF.Depravity < 0) {
-			V.SF.Depravity = 0;
-		}
-		if (V.SF.Size == undefined) {
-			V.SF.Size = V.SF.Units; delete V.SF.Units;
-		}
-		if (V.SFUnit != undefined) {
-			if (V.SFUnit.AT != undefined) {
-				delete V.SFUnit.AT; V.SFUnitTA = 0;
+			if (V.SF.UC == undefined) {
+				if (V.SF.SpecOps != undefined && V.SF.SpecOpsLock != undefined) {
+					V.SF.UC = {Assign:V.SF.SpecOps, Lock:V.SF.SpecOpsLock}; delete V.SF.SpecOps;
+					delete V.SF.SpecOpsLock;
+				} else if (V.SF.UC == {}) {
+					V.SF.UC = {Assign:0, Lock:0};
+				}
+			}
+			if (V.SF.U != undefined) {
+				V.SF.Upgrade = V.SF.U; delete V.SF.U;
+			}
+			if (V.SF.WG != undefined) {
+				V.SF.Gift = V.SF.WG; delete V.SF.WG;
+			}
+			if (V.SF.Facility == undefined) {
+				V.SF.Facility = {Toggle:0, Active:0, LC:0, Workers:0, Max:5, Caps:"Special force support facility", Lower:"special force support facility", Decoration:"standard", Speed:0, Upgrade:0, IDs:[]};
+			}
+			if (V.SF.Bonus == undefined) {
+				V.SF.Bonus = 0;
+			}
+			if (V.SF.Depravity < 0) {
+				V.SF.Depravity = 0;
+			}
+			if (V.SF.Size == undefined) {
+				V.SF.Size = V.SF.Units; delete V.SF.Units;
+			}
+			if (V.SFUnit != undefined) {
+				if (V.SFUnit.AT != undefined) {
+					delete V.SFUnit.AT; V.SFUnitTA = 0;
+				}
+				V.SF.Squad = V.SFUnit;
+				delete V.SFUnit;
+				V.SF.Squad.Sat = {lv:V.SF.Squad.Satellite, InOrbit:V.SatLaunched};
+				delete V.SatLaunched;
+				V.SF.Squad.Satellite = V.SF.Squad.Sat; delete V.SF.Squad.Sat;
+			if (V.SFTradeShow != undefined) V.SF.MercCon = V.SFTradeShow; delete V.SFTradeShow;
+			if (V.SFColonel != undefined) V.SF.Colonel = V.SFColonel; delete V.SFColonel;
+			if (V.securityForceName) Init(); Main(); Colonel(); TradeShow(); Units();
+			if (V.SF.BadOutcome === undefined) V.SF.BadOutcome = "";
+			if (V.SF.Squad.Satellite != undefined && V.SatLaunched == undefined) {
+				delete V.SFUnit;
+				V.SF.Squad.Sat = {lv:0, InOrbit:0};
+				delete V.SatLaunched;
+				V.SF.Squad.Satellite = V.SF.Squad.Sat; delete V.SF.Squad.Sat;
 			}
-			V.SF.Squad = V.SFUnit;
-			delete V.SFUnit;
-			V.SF.Squad.Sat = {lv:V.SF.Squad.Satellite, InOrbit:V.SatLaunched};
-			delete V.SatLaunched;
-			V.SF.Squad.Satellite = V.SF.Squad.Sat; delete V.SF.Squad.Sat;
-		}
-		if (V.SFTradeShow != undefined) V.SF.MercCon = V.SFTradeShow; delete V.SFTradeShow;
-		if (V.SFColonel != undefined) V.SF.Colonel = V.SFColonel; delete V.SFColonel;
-		if (V.securityForceName) Init(); Main(); Colonel(); TradeShow(); Units();
-		if (V.SF.BadOutcome === undefined) V.SF.BadOutcome = "";
-		if (V.SF.Squad.Satellite != undefined && V.SatLaunched == undefined) {
-			delete V.SFUnit;
-			V.SF.Squad.Sat = {lv:0, InOrbit:0};
-			delete V.SatLaunched;
-			V.SF.Squad.Satellite = V.SF.Squad.Sat; delete V.SF.Squad.Sat;
 		}
 	}
 };
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index 1a747b3d6ac00e2016c63ae29758af7de6d9d472..6799abcdb721fa1355f6bd7062a36237307a49d9 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -390,9 +390,9 @@
 <</if>>
 <<if ndef $PC.genes>>
 	<<if $PC.title == 1>>
-		<<set $PC.genes == "XY">>
+		<<set $PC.genes = "XY">>
 	<<else>>
-		<<set $PC.genes == "XX">>
+		<<set $PC.genes = "XX">>
 	<</if>>
 <</if>>
 <<run PCDatatypeCleanup()>>