diff --git a/js/003-data/policiesData.js b/js/003-data/policiesData.js
index eb9e647c25a79abf25f1cffb5a9352c280e10081..c5db6e1406c376dd927da710ba422863eb59cdab 100644
--- a/js/003-data/policiesData.js
+++ b/js/003-data/policiesData.js
@@ -5,7 +5,7 @@
  * @property {string} [activatedTitle] The title of the policy if the policy is active. Param "title" is used as a fallback.
  * @property {string} text Text that describes the policy in detail. No initial cap, ends with punctuation.
  * @property {string} [activatedText] Text that describes an active policy in detail. Uses param "text" as a fallback.
- * @property {function(void):boolean} [requirements] Function to determine if a policy can be enabled.
+ * @property {boolean} [requirements] Function to determine if a policy can be enabled.
  * @property {function(void):void} [onImplementation] Beyond applying the policy itself and billing the player, are there other values to change? This allows a shortstack FS policy to revoke some generic tall policies, for example.
  * @property {function(void):void} [onRepeal] same as onImplementation, but fires when a policy is repealed.
  * @property {number|string} [enable] Value to enable a policy. Defaults to 1 if not defined.
@@ -151,7 +151,7 @@ App.Data.Policies.Selection = {
 			{
 				title: "Basic Beauty Standards",
 				text: "no unattractive slaves may be sold in the slave markets.",
-				requirements: function() { return (V.policies.SMR.beauty.qualitySMR === 0); },
+				get requirements() { return (V.policies.SMR.beauty.qualitySMR === 0); },
 				note: "This will raise the price of slaves"
 			}
 		],
@@ -160,7 +160,7 @@ App.Data.Policies.Selection = {
 			{
 				title: "Quality Beauty Standards",
 				text: "only attractive slaves may be sold in the slave markets.",
-				requirements: function() { return (V.policies.SMR.beauty.basicSMR === 0); },
+				get requirements() { return (V.policies.SMR.beauty.basicSMR === 0); },
 				note: "This will raise the price of slaves"
 			}
 		],
@@ -178,14 +178,14 @@ App.Data.Policies.Selection = {
 				title: "Basic Height Standards (Tall)",
 				text: "tall slaves will be favored in the slave markets and those not quite tall enough will undergo height increasing surgery. This will not preclude the sale of short slaves, just the care of them.",
 				activatedText: "tall slaves are favored in the slave market, short slaves capable of meeting height standards via surgery must undergo it.",
-				requirements: function() { return (V.policies.SMR.height.advancedSMR === 0); },
+				get requirements() { return (V.policies.SMR.height.advancedSMR === 0); },
 				note: "This will raise the price of slaves"
 			},
 			{
 				title: "Basic Height Standards (Short)",
 				text: "short slaves are favored in the slave market, tall slaves capable of meeting height standards via surgery must undergo it.",
 				activatedText: "short slaves will be favored in the slave markets and those just above the cut off will undergo height reducing surgery. This will not preclude the sale of tall slaves, just the care of them.",
-				requirements: function() { return (V.policies.SMR.height.advancedSMR === 0); },
+				get requirements() { return (V.policies.SMR.height.advancedSMR === 0); },
 				enable: -1,
 				note: "This will raise the price of slaves"
 			}
@@ -196,7 +196,7 @@ App.Data.Policies.Selection = {
 				title: "Quality Height Standards (Tall)",
 				text: "only slaves of above average height for their age may be sold in the slave markets.",
 				activatedText: "no slaves of below average height for their age may be sold in the slave markets.",
-				requirements: function() {
+				get requirements() {
 					return (
 						V.policies.SMR.height.basicSMR === 0 &&
 						V.arcologies[0].FSPetiteAdmirationSMR === 0 &&
@@ -209,7 +209,7 @@ App.Data.Policies.Selection = {
 				title: "Quality Height Standards (Short)",
 				text: "no slaves of above average height for their age may be sold in the slave markets.",
 				activatedText: "no slaves of average average height for their age may be sold in the slave markets.",
-				requirements: function() {
+				get requirements() {
 					return (
 						V.policies.SMR.height.basicSMR === 0 &&
 						V.arcologies[0].FSPetiteAdmirationSMR === 0 &&
@@ -225,7 +225,7 @@ App.Data.Policies.Selection = {
 			{
 				title: "Basic Intelligence Standards",
 				text: "no stupid slaves may be sold in the slave markets.",
-				requirements: function() {
+				get requirements() {
 					return (
 						V.arcologies[0].FSIntellectualDependencySMR === 0 &&
 						V.policies.SMR.intelligence.qualitySMR === 0
@@ -239,7 +239,7 @@ App.Data.Policies.Selection = {
 			{
 				title: "Quality Intelligence Standards",
 				text: "only intelligent slaves may be sold in the slave markets.",
-				requirements: function() {
+				get requirements() {
 					return (
 						V.arcologies[0].FSIntellectualDependencySMR === 0 &&
 						V.policies.SMR.intelligence.basicSMR === 0
@@ -308,7 +308,7 @@ App.Data.Policies.Selection = {
 				title: "Child Protection Act",
 				text: "underage slaves enjoy protections only against penetrative sex.",
 				activatedText: "underage slaves enjoy protections against molestation and rape.",
-				requirements: function() { return (V.extremeUnderage === 1); },
+				get requirements() { return (V.extremeUnderage === 1); },
 			}
 		],
 		"arcologies[0].FSEgyptianRevivalistIncestPolicy": [
@@ -316,7 +316,7 @@ App.Data.Policies.Selection = {
 				title: "Incest Encouragement",
 				text: "you will use your personal influence to spur interest in incest.",
 				activatedText: "you are using your personal influence to spur interest in incest.",
-				requirements: function() { return (V.arcologies[0].FSEgyptianRevivalist === "unset"); },
+				get requirements() { return (V.arcologies[0].FSEgyptianRevivalist === "unset"); },
 			}
 		],
 		"policies.bestialityOpenness": [
@@ -324,7 +324,7 @@ App.Data.Policies.Selection = {
 				title: "Bestiality Acceptance",
 				text: "you will use your personal influence to spur acceptance of bestiality.",
 				activatedText: "you are using your personal influence to spur the acceptance of bestiality.",
-				requirements: function() { return (V.seeBestiality === 1); },
+				get requirements() { return (V.seeBestiality === 1); },
 			}
 		]
 	},
@@ -334,7 +334,7 @@ App.Data.Policies.Selection = {
 				title: "Encourage Refugee Servitude",
 				text: "the image of slavery in your arcology will be softened, encouraging old world refugees to consider slavery.",
 				activatedText: "the image of slavery in your arcology is being softened, encouraging old world refugees to consider becoming menial slaves.",
-				requirements: function() { return (V.arcologies[0].FSDegradationist === "unset"); },
+				get requirements() { return (V.arcologies[0].FSDegradationist === "unset"); },
 				note: "Will increase immigration of refugees to become menial slaves"
 			}
 		],
@@ -510,7 +510,7 @@ App.Data.Policies.Selection = {
 				title: "Raiding Mercenaries",
 				text: "you will allow your mercenaries to occasionally conduct a raid directly for your benefit.",
 				activatedText: "you are allowing your mercenaries to occasionally raid for your direct benefit.",
-				requirements: function() { return (V.mercenaries > 0) && (V.mercenariesHelpCorp > 0); },
+				get requirements() { return (V.mercenaries > 0) && (V.mercenariesHelpCorp > 0); },
 				get note() { return `Will cost ${cashFormat(policies.cost())} weekly to maintain`; }
 			}
 		],
@@ -527,7 +527,7 @@ App.Data.Policies.Selection = {
 				title: "Marriage between Owners and Slaves",
 				text: "you will provide a legal basis for citizens to marry their slaves without impacting their rights as slaveowners.",
 				activatedText: "you are providing a legal basis for citizens to marry their slaves without impacting their rights as slaveowners.",
-				requirements: function() { return (V.arcologies[0].FSDegradationist === "unset"); },
+				get requirements() { return (V.arcologies[0].FSDegradationist === "unset"); },
 				get note() {
 					if (V.arcologies[0].FSPaternalist >= 60) {
 						return `Will not damage your reputation due to your arcology's advanced Paternalism`;
@@ -544,14 +544,14 @@ App.Data.Policies.Selection = {
 				title: "The Slave School subsidy",
 				text: "you will subsidize this school's branch campus in your arcology.",
 				activatedText: "you are subsidizing this school's branch campus in your arcology.",
-				requirements: function() { return (V.TSS.schoolProsperity < 10 && V.TSS.schoolPresent === 1); },
+				get requirements() { return (V.TSS.schoolProsperity < 10 && V.TSS.schoolPresent === 1); },
 				get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; },
 			},
 			{
 				title: "Undermine The Slave School",
 				text: "you will covertly hurt this school's branch campus in your arcology.",
 				activatedText: "you are covertly hurting this school's branch campus in your arcology.",
-				requirements: function() { return (V.TSS.schoolPresent === 1); },
+				get requirements() { return (V.TSS.schoolPresent === 1); },
 				get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; },
 			}
 		],
@@ -560,14 +560,14 @@ App.Data.Policies.Selection = {
 				title: "The Utopian Orphanage subsidy",
 				text: "you will subsidize this school's branch campus in your arcology.",
 				activatedText: "you are subsidizing this school's branch campus in your arcology.",
-				requirements: function() { return (V.TUO.schoolProsperity < 10 && V.TUO.schoolPresent === 1); },
+				get requirements() { return (V.TUO.schoolProsperity < 10 && V.TUO.schoolPresent === 1); },
 				get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; },
 			},
 			{
 				title: "Undermine The Utopian Orphanage",
 				text: "you will covertly hurt this school's branch campus in your arcology.",
 				activatedText: "you are covertly hurting this school's branch campus in your arcology.",
-				requirements: function() { return (V.TUO.schoolPresent === 1); },
+				get requirements() { return (V.TUO.schoolPresent === 1); },
 				get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; },
 			}
 		],
@@ -576,14 +576,14 @@ App.Data.Policies.Selection = {
 				title: "The Growth Research Institute subsidy",
 				text: "you will subsidize this school's branch campus in your arcology.",
 				activatedText: "you are subsidizing this school's branch campus in your arcology.",
-				requirements: function() { return (V.GRI.schoolProsperity < 10 && V.GRI.schoolPresent === 1); },
+				get requirements() { return (V.GRI.schoolProsperity < 10 && V.GRI.schoolPresent === 1); },
 				get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; },
 			},
 			{
 				title: "Undermine the Growth Research Institute",
 				text: "you will covertly hurt this school's branch campus in your arcology.",
 				activatedText: "you are covertly hurting this school's branch campus in your arcology.",
-				requirements: function() { return (V.GRI.schoolPresent === 1); },
+				get requirements() { return (V.GRI.schoolPresent === 1); },
 				get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; },
 			}
 		],
@@ -592,14 +592,14 @@ App.Data.Policies.Selection = {
 				title: "St. Claver Preparatory subsidy",
 				text: "you will subsidize this school's branch campus in your arcology.",
 				activatedText: "you are subsidizing this school's branch campus in your arcology.",
-				requirements: function() { return (V.SCP.schoolProsperity < 10 && V.SCP.schoolPresent === 1); },
+				get requirements() { return (V.SCP.schoolProsperity < 10 && V.SCP.schoolPresent === 1); },
 				get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; },
 			},
 			{
 				title: "Undermine St. Claver Preparatory",
 				text: "you will covertly hurt this school's branch campus in your arcology.",
 				activatedText: "you are covertly hurting this school's branch campus in your arcology.",
-				requirements: function() { return (V.SCP.schoolPresent === 1); },
+				get requirements() { return (V.SCP.schoolPresent === 1); },
 				get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; },
 			}
 		],
@@ -608,14 +608,14 @@ App.Data.Policies.Selection = {
 				title: "L'École des Enculées subsidy",
 				text: "you will subsidize this school's branch campus in your arcology.",
 				activatedText: "you are subsidizing this school's branch campus in your arcology.",
-				requirements: function() { return (V.LDE.schoolProsperity < 10 && V.LDE.schoolPresent === 1); },
+				get requirements() { return (V.LDE.schoolProsperity < 10 && V.LDE.schoolPresent === 1); },
 				get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; },
 			},
 			{
 				title: "Undermine L'École des Enculées",
 				text: "you will covertly hurt this school's branch campus in your arcology.",
 				activatedText: "you are covertly hurting this school's branch campus in your arcology.",
-				requirements: function() { return (V.LDE.schoolPresent === 1); },
+				get requirements() { return (V.LDE.schoolPresent === 1); },
 				get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; },
 			}
 		],
@@ -624,14 +624,14 @@ App.Data.Policies.Selection = {
 				title: "The Gymnasium-Academy subsidy",
 				text: "you will subsidize this school's branch campus in your arcology.",
 				activatedText: "you are subsidizing this school's branch campus in your arcology.",
-				requirements: function() { return (V.TGA.schoolProsperity < 10 && V.TGA.schoolPresent === 1); },
+				get requirements() { return (V.TGA.schoolProsperity < 10 && V.TGA.schoolPresent === 1); },
 				get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; },
 			},
 			{
 				title: "Undermine the Gymnasium-Academy",
 				text: "you will covertly hurt this school's branch campus in your arcology.",
 				activatedText: "you are covertly hurting this school's branch campus in your arcology.",
-				requirements: function() { return (V.TGA.schoolPresent === 1); },
+				get requirements() { return (V.TGA.schoolPresent === 1); },
 				get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; },
 			}
 		],
@@ -640,14 +640,14 @@ App.Data.Policies.Selection = {
 				title: "The Cattle Ranch subsidy",
 				text: "you will subsidize this school's branch campus in your arcology.",
 				activatedText: "you are subsidizing this school's branch campus in your arcology.",
-				requirements: function() { return (V.TCR.schoolProsperity < 10 && V.TCR.schoolPresent === 1); },
+				get requirements() { return (V.TCR.schoolProsperity < 10 && V.TCR.schoolPresent === 1); },
 				get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; },
 			},
 			{
 				title: "Undermine The Cattle Ranch",
 				text: "you will covertly hurt this school's branch campus in your arcology.",
 				activatedText: "you are covertly hurting this school's branch campus in your arcology.",
-				requirements: function() { return (V.TCR.schoolPresent === 1); },
+				get requirements() { return (V.TCR.schoolPresent === 1); },
 				get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; },
 			}
 		],
@@ -656,14 +656,14 @@ App.Data.Policies.Selection = {
 				title: "Futanari Sisters subsidy",
 				text: "you will subsidize this school's branch campus in your arcology.",
 				activatedText: "you are subsidizing this school's branch campus in your arcology.",
-				requirements: function() { return (V.TFS.schoolProsperity < 10 && V.TFS.schoolPresent === 1); },
+				get requirements() { return (V.TFS.schoolProsperity < 10 && V.TFS.schoolPresent === 1); },
 				get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; },
 			},
 			{
 				title: "Undermine the Futanari Sisters",
 				text: "you will covertly hurt this school's branch campus in your arcology.",
 				activatedText: "you are covertly hurting this school's branch campus in your arcology.",
-				requirements: function() { return (V.TFS.schoolPresent === 1); },
+				get requirements() { return (V.TFS.schoolPresent === 1); },
 				get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; },
 			}
 		],
@@ -672,14 +672,14 @@ App.Data.Policies.Selection = {
 				title: "Hippolyta Academy subsidy",
 				text: "you will subsidize this school's branch campus in your arcology.",
 				activatedText: "you are subsidizing this school's branch campus in your arcology.",
-				requirements: function() { return (V.HA.schoolProsperity < 10 && V.HA.schoolPresent === 1); },
+				get requirements() { return (V.HA.schoolProsperity < 10 && V.HA.schoolPresent === 1); },
 				get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; },
 			},
 			{
 				title: "Undermine the Hippolyta Academy",
 				text: "you will covertly hurt this school's branch campus in your arcology.",
 				activatedText: "you are covertly hurting this school's branch campus in your arcology.",
-				requirements: function() { return (V.HA.schoolPresent === 1); },
+				get requirements() { return (V.HA.schoolPresent === 1); },
 				get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; },
 			}
 		],
@@ -688,14 +688,14 @@ App.Data.Policies.Selection = {
 				title: "Nueva Universidad de Libertad subsidy",
 				text: "you will subsidize this school's branch campus in your arcology.",
 				activatedText: "you are subsidizing this school's branch campus in your arcology.",
-				requirements: function() { return (V.NUL.schoolProsperity < 10 && V.NUL.schoolPresent === 1); },
+				get requirements() { return (V.NUL.schoolProsperity < 10 && V.NUL.schoolPresent === 1); },
 				get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; },
 			},
 			{
 				title: "Undermine Nueva Universidad de Libertad",
 				text: "you will covertly hurt this school's branch campus in your arcology.",
 				activatedText: "you are covertly hurting this school's branch campus in your arcology.",
-				requirements: function() { return (V.NUL.schoolPresent === 1); },
+				get requirements() { return (V.NUL.schoolPresent === 1); },
 				get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; },
 			}
 		],
@@ -727,7 +727,7 @@ App.Data.Policies.Selection = {
 				},
 				get activatedText() { return `you have set your arcology's standard retirement age for sex slaves at ${V.retirementAge}.`; },
 				onRepeal: function() { V.retirementAge = 45; },
-				requirements: function() { return (V.policies.retirement.physicalAgePolicy === 0); },
+				get requirements() { return (V.policies.retirement.physicalAgePolicy === 0); },
 				note: "Set age before implementing"
 			}
 		],
@@ -780,14 +780,14 @@ App.Data.Policies.Selection = {
 					text += `production.`;
 					return text;
 				},
-				requirements: function() { return (V.arcologies[0].FSPaternalist === "unset"); },
+				get requirements() { return (V.arcologies[0].FSPaternalist === "unset"); },
 				enable: "bioreactor"
 			},
 			{
 				title: "Public Arcade Retirement",
 				text: "once reaching mandatory retirement age, slaves will be placed in cheap public arcades to be used until useless.",
 				activatedText: "once reaching mandatory retirement age, slaves are placed in cheap public arcades to be used until useless.",
-				requirements: function() { return (V.arcologies[0].FSPaternalist === "unset"); },
+				get requirements() { return (V.arcologies[0].FSPaternalist === "unset"); },
 				enable: "arcade"
 			},
 			{
@@ -827,7 +827,7 @@ App.Data.Policies.Selection = {
 					return el;
 				},
 				enable: 10000,
-				requirements: function() { return (V.policies.retirement.fate === "citizen"); },
+				get requirements() { return (V.policies.retirement.fate === "citizen"); },
 			}
 		],
 		"policies.retirement.milk": [
@@ -858,7 +858,7 @@ App.Data.Policies.Selection = {
 					return el;
 				},
 				enable: 50000,
-				requirements: function() { return (V.policies.retirement.fate === "citizen"); },
+				get requirements() { return (V.policies.retirement.fate === "citizen"); },
 			}
 		],
 		"policies.retirement.cum": [
@@ -889,7 +889,7 @@ App.Data.Policies.Selection = {
 					return el;
 				},
 				enable: 500000,
-				requirements: function() { return (V.policies.retirement.fate === "citizen" && (V.seeDicks > 0 || V.makeDicks)); },
+				get requirements() { return (V.policies.retirement.fate === "citizen" && (V.seeDicks > 0 || V.makeDicks)); },
 			}
 		],
 		"policies.retirement.births": [
@@ -920,7 +920,7 @@ App.Data.Policies.Selection = {
 					return el;
 				},
 				enable: 5,
-				requirements: function() { return (V.policies.retirement.fate === "citizen"); },
+				get requirements() { return (V.policies.retirement.fate === "citizen"); },
 			}
 		],
 		"policies.retirement.kills": [
@@ -951,7 +951,7 @@ App.Data.Policies.Selection = {
 					return el;
 				},
 				enable: 3,
-				requirements: function() { return (V.policies.retirement.fate === "citizen"); },
+				get requirements() { return (V.policies.retirement.fate === "citizen"); },
 			}
 		],
 	},
@@ -1007,7 +1007,7 @@ App.Data.Policies.Selection = {
 				activatedTitle: "Mandatory Menial Retirement Age",
 				text: `all slaveowners will be required to pay into accounts to support their slaves as lower-class citizens in retirement.`,
 				get activatedText() { return `you have set your arcology's retirement age for menial slaves at ${V.customMenialRetirementAge}.`; },
-				requirements: function() { return (V.arcologies[0].FSDegradationist === "unset"); },
+				get requirements() { return (V.arcologies[0].FSDegradationist === "unset"); },
 				note: `Will add upkeep to all menial slaves`,
 				onImplementation: function() { if (V.citizenRetirementTrigger === 0) { V.citizenRetirementTrigger = 1; } },
 				onRepeal: function() { V.customMenialRetirementAge = 45; }
@@ -1020,13 +1020,13 @@ App.Data.Policies.Selection = {
 				title: "Cultural Openness",
 				text: "you will promote the exchange of ideas between arcologies, increasing cultural crossover between your arcology and its neighbors.",
 				activatedText: "you are promoting the exchange of ideas between arcologies, increasing cultural crossover between your arcology and its neighbors.",
-				requirements: function() { return (V.arcologies.length > 1); },
+				get requirements() { return (V.arcologies.length > 1); },
 			},
 			{
 				title: "Cultural Defensiveness",
 				text: "you will do your best to suppress the exchange of ideas between arcologies, reducing cultural crossover between your arcology and its neighbors.",
 				activatedText: " you are doing your best to suppress the exchange of ideas between arcologies, reducing cultural crossover between your arcology and its neighbors.",
-				requirements: function() { return (V.arcologies.length > 1); },
+				get requirements() { return (V.arcologies.length > 1); },
 				enable: -1,
 			},
 		],
@@ -1038,7 +1038,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "you will do your best to start a fashion for elegant girls with just the right amount of T&A.",
 				activatedText: "you are doing your best to maintain a fashion for elegant girls with just the right amount of T&A.",
-				requirements: function() {
+				get requirements() {
 					return (
 						V.arcologies[0].FSSlimnessEnthusiastLaw === 0 &&
 						V.arcologies[0].FSHedonisticDecadenceLaw2 === 0 &&
@@ -1060,7 +1060,7 @@ App.Data.Policies.Selection = {
 				title: "Mandatory Feminization SMR",
 				titleClass: "lime",
 				text: "in order to be sold in the arcology, slaves with dicks must have their balls removed.",
-				requirements: function() { return (V.arcologies[0].FSGenderFundamentalist >= 40); },
+				get requirements() { return (V.arcologies[0].FSGenderFundamentalist >= 40); },
 				note: `Will help advance Gender Fundamentalism`
 			}
 		],
@@ -1072,7 +1072,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "you will do your best to start a fashion for turning slaves into elegant girls with just the right amount of T&A.",
 				activatedText: "you are doing your best to maintain a fashion for turning slaves into elegant girls with just the right amount of T&A.",
-				requirements: function() {
+				get requirements() {
 					return (
 						V.arcologies[0].FSSlimnessEnthusiastLaw === 0 &&
 						V.arcologies[0].FSHedonisticDecadenceLaw2 === 0 &&
@@ -1088,7 +1088,7 @@ App.Data.Policies.Selection = {
 				text: "you will encourage veneration of slaves with both dicks and pussies.",
 				activatedText: "you are encouraging Gender Radicalism towards veneration of slaves with both dicks and pussies.",
 				enable: 1,
-				requirements: function() { return (V.seeDicks !== 0); },
+				get requirements() { return (V.seeDicks !== 0); },
 				note: `Will affect citizens' appreciation of futas`
 			},
 			{
@@ -1097,7 +1097,7 @@ App.Data.Policies.Selection = {
 				text: "you will encourage an appreciation for stiff dicks and swinging balls.",
 				activatedText: "you are encouraging Gender Radicalism towards an appreciation for stiff dicks and swinging balls.",
 				enable: 2,
-				requirements: function() { return (V.seeDicks !== 0); },
+				get requirements() { return (V.seeDicks !== 0); },
 				note: `Will affect slaves' attractiveness to citizens`
 			},
 			{
@@ -1106,7 +1106,7 @@ App.Data.Policies.Selection = {
 				text: "you will encourage an appreciation for broad hips, plush asses, big buttholes, and skilled sphincters.",
 				activatedText: "you are encouraging an appreciation for broad hips, plush asses, big buttholes, and skilled sphincters.",
 				enable: 3,
-				requirements: function() { return (V.seeDicks !== 0); },
+				get requirements() { return (V.seeDicks !== 0); },
 				note: `Will affect slaves' attractiveness to citizens`
 			},
 			{
@@ -1115,7 +1115,7 @@ App.Data.Policies.Selection = {
 				text: "you will encourage an appreciation for cute, flat chested slaves with small male genitals and no vagina.",
 				activatedText: "you are encouraging an appreciation for cute, flat chested slaves with small male genitals and no vagina.",
 				enable: 4,
-				requirements: function() { return (V.seeDicks !== 0); },
+				get requirements() { return (V.seeDicks !== 0); },
 				note: `Will affect slaves' attractiveness to citizens`
 			},
 		],
@@ -1127,7 +1127,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "the slave markets will be required to treat incoming slaves reasonably well.",
 				activatedText: "the slave markets are required to treat incoming slaves reasonably well.",
-				requirements: function() { return (V.arcologies[0].FSDegradationistSMR === 0); },
+				get requirements() { return (V.arcologies[0].FSDegradationistSMR === 0); },
 				note: `Will reduce the arcology's prosperity and help advance Paternalism`
 			}
 		],
@@ -1137,7 +1137,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "slaveowners who treat their slaves well will be offered reduced rent.",
 				activatedText: "slaveowners who treat their slaves well are offered reduced rent.",
-				requirements: function() { return (V.arcologies[0].FSPaternalist >= 60); },
+				get requirements() { return (V.arcologies[0].FSPaternalist >= 60); },
 				note: `Will reduce your rental income`
 			}
 		],
@@ -1149,7 +1149,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "slave markets will be required to punish new slaves severely simply to introduce them to pain.",
 				activatedText: "slave markets are required to punish new slaves severely simply to introduce them to pain.",
-				requirements: function() { return (V.arcologies[0].FSPaternalistSMR === 0); },
+				get requirements() { return (V.arcologies[0].FSPaternalistSMR === 0); },
 				note: `Will help advance Degradationism`
 			}
 		],
@@ -1159,7 +1159,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "slaveowners will be required to allow their menial slaves to use the sex arcades.",
 				activatedText: "slaveowners are required to allow their menial slaves to use the sex arcades.",
-				requirements: function() { return (V.arcologies[0].FSDegradationist >= 90); },
+				get requirements() { return (V.arcologies[0].FSDegradationist >= 90); },
 				note: `Will reduce labor efficiency, damaging the arcology's prosperity and adds a cost to each menial slave`
 			}
 		],
@@ -1171,7 +1171,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "in order to be sold in the arcology, slaves will need to fail a simple intelligence test.",
 				activatedText: "in order to be sold in the arcology, slaves must fail a simple intelligence test.",
-				requirements: function() { return (V.arcologies[0].FSSlaveProfessionalismSMR === 0); },
+				get requirements() { return (V.arcologies[0].FSSlaveProfessionalismSMR === 0); },
 				onImplementation: function() {
 					V.policies.SMR.intelligence.basicSMR = 0;
 					V.policies.SMR.intelligence.qualitySMR = 0;
@@ -1191,7 +1191,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "you will do your best to start an appreciation for stereotypical bimbo bodies.",
 				activatedText: "you are encouraging an appreciation for the stereotypical bimbo body.",
-				requirements: function() { return (V.arcologies[0].FSIntellectualDependency >= 60); },
+				get requirements() { return (V.arcologies[0].FSIntellectualDependency >= 60); },
 				note: `Will greatly affect society's views on slave beauty`
 			}
 		],
@@ -1200,7 +1200,7 @@ App.Data.Policies.Selection = {
 				title: "Invalid Protection Act",
 				titleClass: "lime",
 				text: "by law, anyone unable to pass a standardized test of intelligence and not already a dependant will be enslaved for their own well being.",
-				requirements: function() { return (V.arcologies[0].FSIntellectualDependency >= 80); },
+				get requirements() { return (V.arcologies[0].FSIntellectualDependency >= 80); },
 				note: `Will convert some immigrants to menial slaves and give a small boost to reputation`
 			}
 		],
@@ -1211,7 +1211,7 @@ App.Data.Policies.Selection = {
 				title: "Head Start SMR",
 				titleClass: "lime",
 				text: "in order to be sold in the arcology, slaves must pass a rigorous course designed to bring their skills and poise up to standard.",
-				requirements: function() { return (V.arcologies[0].FSIntellectualDependencySMR === 0); },
+				get requirements() { return (V.arcologies[0].FSIntellectualDependencySMR === 0); },
 				note: `Will help advance Slave Professionalism`
 			}
 		],
@@ -1221,7 +1221,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "citizens will be required to pass regular intelligence tests or face expulsion from the arcology.",
 				activatedText: "citizens must pass regular intelligence tests or face expulsion from the arcology.",
-				requirements: function() { return (V.arcologies[0].FSSlaveProfessionalism >= 90); },
+				get requirements() { return (V.arcologies[0].FSSlaveProfessionalism >= 90); },
 				onImplementation: function() {
 					if (V.FSSlaveProfLawTrigger === 0) {
 						V.FSSlaveProfLawTrigger = 1;
@@ -1247,7 +1247,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "all drugs in the arcology will be subjected to rigorous testing for purity.",
 				activatedText: "all drugs in the arcology must pass rigorous testing for purity.",
-				requirements: function() { return (V.arcologies[0].FSBodyPurist >= 90); },
+				get requirements() { return (V.arcologies[0].FSBodyPurist >= 90); },
 				note: `Will reduce slaving profits, damaging the arcology's prosperity`
 			}
 		],
@@ -1279,7 +1279,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "young citizens will be offered reduced rent.",
 				activatedText: "young citizens are offered reduced rent.",
-				requirements: function() { return (V.arcologies[0].FSYouthPreferentialist >= 90); },
+				get requirements() { return (V.arcologies[0].FSYouthPreferentialist >= 90); },
 				note: `Will reduce your rental income`
 			}
 		],
@@ -1300,7 +1300,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "older citizens will be offered reduced rent.",
 				activatedText: "older citizens are offered reduced rent.",
-				requirements: function() { return (V.arcologies[0].FSMaturityPreferentialist >= 90); },
+				get requirements() { return (V.arcologies[0].FSMaturityPreferentialist >= 90); },
 				note: `Will reduce your rental income`
 			}
 		],
@@ -1312,7 +1312,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "in order to be sold in the arcology, slaves will have to pass height requirements.",
 				activatedText: "in order to be sold in the arcology, slaves must pass height requirements.",
-				requirements: function() { return (V.arcologies[0].FSStatuesqueGlorificationSMR === 0); },
+				get requirements() { return (V.arcologies[0].FSStatuesqueGlorificationSMR === 0); },
 				onImplementation: function() {
 					if (V.policies.SMR.height.advancedSMR > 0) {
 						V.policies.SMR.height.advancedSMR = 0;
@@ -1336,7 +1336,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "you will do your best to push a taste for relative height rather than a strict cut-off.",
 				activatedText: "beauty standards are based off of relative expected height as opposed to a strict cutoff.",
-				requirements: function() { return (V.arcologies[0].FSPetiteAdmiration >= 60); },
+				get requirements() { return (V.arcologies[0].FSPetiteAdmiration >= 60); },
 				note: `Will weaken beauty standards by making them more easily attainable but may flush out cheaters`
 			}
 		],
@@ -1346,7 +1346,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "citizens will be offered reduced rent for keeping slaves and taking partners far shorter than themselves.",
 				activatedText: "citizens are offered reduced rent for keeping slaves far shorter than themselves.",
-				requirements: function() { return (V.arcologies[0].FSPetiteAdmiration >= 90); },
+				get requirements() { return (V.arcologies[0].FSPetiteAdmiration >= 90); },
 				note: `Will reduce your rental income`
 			}
 		],
@@ -1381,7 +1381,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "you will do your best to push focus on to relative height rather than a strict cutoff.",
 				activatedText: "beauty standards are based off of relative expected height as opposed to a strict cutoff.",
-				requirements: function() { return (V.arcologies[0].FSStatuesqueGlorification >= 60); },
+				get requirements() { return (V.arcologies[0].FSStatuesqueGlorification >= 60); },
 				note: `Will weaken beauty standards by making them more easily attainable`
 			}
 		],
@@ -1391,7 +1391,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "tall citizens will be offered reduced rent at short citizens' expense.",
 				activatedText: "tall citizens are offered reduced rent at short citizens' expense.",
-				requirements: function() { return (V.arcologies[0].FSStatuesqueGlorification >= 90); },
+				get requirements() { return (V.arcologies[0].FSStatuesqueGlorification >= 90); },
 			}
 		],
 	},
@@ -1410,7 +1410,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "you will do your best to start a fashion for elegant girls with just the right amount of T&A, none!",
 				activatedText: "you are doing your best to maintain a fashion for elegant girls with just the right amount of T&A, none!",
-				requirements: function() {
+				get requirements() {
 					return (
 						V.arcologies[0].FSGenderRadicalistLawBeauty === 0 &&
 						V.arcologies[0].FSGenderFundamentalistLawBeauty === 0 &&
@@ -1449,7 +1449,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "animal products that compete with slave fluids will be banned.",
 				activatedText: "animal products that compete with slave fluids are banned.",
-				requirements: function() { return (V.arcologies[0].FSPastoralist >= 90); },
+				get requirements() { return (V.arcologies[0].FSPastoralist >= 90); },
 				note: `Will reduce market freedom, damaging the arcology's prosperity`
 			}
 		],
@@ -1486,7 +1486,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "you will do your best to start a fashion for fit, healthy girls with just the right amount of muscle definition.",
 				activatedText: "you are doing your best to maintain a fashion for fit, healthy girls with just the right amount of muscle definition.",
-				requirements: function() {
+				get requirements() {
 					return (
 						V.arcologies[0].FSHedonisticDecadenceLaw2 === 0 &&
 						V.arcologies[0].FSSlimnessEnthusiastLaw === 0 &&
@@ -1505,7 +1505,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "you will do your best to start a fashion for strong girls with a thick layer of fat over their muscles.",
 				activatedText: "you are doing your best to maintain a fashion for strong girls with a thick layer of fat over their muscles.",
-				requirements: function() { return (V.arcologies[0].FSPhysicalIdealist >= 60); },
+				get requirements() { return (V.arcologies[0].FSPhysicalIdealist >= 60); },
 				note: `Will greatly affect society's views on slave beauty`
 			}
 		],
@@ -1526,7 +1526,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "you will do your best to start a fashion for thick girls with soft bellies, big butts and luscious tits.",
 				activatedText: "you are doing your best to maintain a fashion for thick girls with soft bellies, big butts and luscious tits.",
-				requirements: function() {
+				get requirements() {
 					return (
 						V.arcologies[0].FSSlimnessEnthusiastLaw === 0 &&
 						V.arcologies[0].FSGenderRadicalistLawBeauty === 0 &&
@@ -1545,7 +1545,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "you will do your best to start a fashion for thick girls with plenty of muscle under their fat.",
 				activatedText: "you are doing your best to maintain a fashion for thick, strong girls.",
-				requirements: function() { return (V.arcologies[0].FSHedonisticDecadence >= 60); },
+				get requirements() { return (V.arcologies[0].FSHedonisticDecadence >= 60); },
 				note: `Will greatly affect society's views on slave beauty`
 			}
 		],
@@ -1555,7 +1555,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "food vendors will be offered reduced rent and operating expenses.",
 				activatedText: "food vendors are offered reduced rent and operating expenses.",
-				requirements: function() { return (V.arcologies[0].FSHedonisticDecadence >= 90); },
+				get requirements() { return (V.arcologies[0].FSHedonisticDecadence >= 90); },
 				note: `Will improve prosperity but decrease rental income — tailors may see increased business`
 			}
 		],
@@ -1576,7 +1576,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "you will be enshrined as the prophet of a vibrant slaveowning religion.",
 				activatedText: "you are enshrined as the prophet of a vibrant slaveowning religion.",
-				requirements: function() { return (V.arcologies[0].FSChattelReligionist >= 90); },
+				get requirements() { return (V.arcologies[0].FSChattelReligionist >= 90); },
 				note: `Will increase your renown`
 			}
 		],
@@ -1672,7 +1672,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "all citizens of stature will be required to participate personally in the defense of the state.",
 				activatedText: "all citizens of stature are required to participate personally in the defense of the state.",
-				requirements: function() { return (V.arcologies[0].FSRomanRevivalist >= 90); },
+				get requirements() { return (V.arcologies[0].FSRomanRevivalist >= 90); },
 				note: `Will improve your arcology's combat power during crises`
 			}
 		],
@@ -1693,7 +1693,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "to inherit or receive a trade a citizen will have to pass a mandatory course in one of the academies.",
 				activatedText: "to inherit or receive a trade a citizen must pass a mandatory course in one of the academies.",
-				requirements: function() { return (V.arcologies[0].FSAztecRevivalist >= 90); },
+				get requirements() { return (V.arcologies[0].FSAztecRevivalist >= 90); },
 				note: `Will improve your arcology's combat power during crises`
 			}
 		],
@@ -1721,7 +1721,7 @@ App.Data.Policies.Selection = {
 						return `though you do not currently have a Head Girl, they would hold legal status as your Consort, increasing their prominence.`;
 					}
 				},
-				requirements: function() { return (V.arcologies[0].FSEgyptianRevivalist >= 90); },
+				get requirements() { return (V.arcologies[0].FSEgyptianRevivalist >= 90); },
 				note: `Will increase your Head Girl's prominence`
 			}
 		],
@@ -1742,7 +1742,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "will protect the arcology from old world influences.",
 				activatedText: "protects the arcology from old world influences, speeding the acceptance of all future societies.",
-				requirements: function() { return (V.arcologies[0].FSEdoRevivalist >= 90); },
+				get requirements() { return (V.arcologies[0].FSEdoRevivalist >= 90); },
 				note: `Will speed the acceptance of all future societies`
 			}
 		],
@@ -1763,7 +1763,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "will raise the rents of unassimilated citizens, speeding the acceptance of all future societies.",
 				activatedText: "raises the rents of unassimilated citizens, speeding the acceptance of all future societies.",
-				requirements: function() { return (V.arcologies[0].FSArabianRevivalist >= 90); },
+				get requirements() { return (V.arcologies[0].FSArabianRevivalist >= 90); },
 				note: `Will moderately increase rental income and improve acceptance of all future societies`
 			}
 		],
@@ -1798,7 +1798,7 @@ App.Data.Policies.Selection = {
 						return `affords a Head Girl considerable legal power, allowing them to accomplish even more slave training.`;
 					}
 				},
-				requirements: function() { return (V.arcologies[0].FSChineseRevivalist >= 90); },
+				get requirements() { return (V.arcologies[0].FSChineseRevivalist >= 90); },
 			}
 		],
 	},
@@ -1809,7 +1809,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "in order to be sold in the arcology, slaves will be made capable of pregnancy, if they are not, and subsequently impregnated.",
 				activatedText: "in order to be sold in the arcology, slaves must be pregnant.",
-				requirements: function() { return (V.arcologies[0].FSRepopulationFocusDecoration >= 40); },
+				get requirements() { return (V.arcologies[0].FSRepopulationFocusDecoration >= 40); },
 				note: `Will help advance repopulation efforts. Due to surgery costs, male slaves will become less common`
 			}
 		],
@@ -1819,7 +1819,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "pregnant citizens will be offered reduced rent.",
 				activatedText: "all pregnant citizens are offered reduced rent.",
-				requirements: function() { return (V.arcologies[0].FSRepopulationFocusDecoration >= 90); },
+				get requirements() { return (V.arcologies[0].FSRepopulationFocusDecoration >= 90); },
 				note: `Will reduce your rental income`
 			}
 		],
@@ -1831,7 +1831,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "in order to be sold in the arcology, slaves of inferior races with dicks must have their balls removed to prevent racial pollution.",
 				activatedText: "in order to be sold in the arcology, slaves of inferior races with dicks will have to have their balls removed to prevent racial pollution.",
-				requirements: function() { return (V.seeDicks !== 0 && V.arcologies[0].FSSupremacist >= 40); },
+				get requirements() { return (V.seeDicks !== 0 && V.arcologies[0].FSSupremacist >= 40); },
 				note: `Will help advance racial Supremacy`
 			}
 		],
@@ -1841,7 +1841,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				get text() { return `will force anyone not of the ${V.arcologies[0].FSSupremacistRace} race to emigrate or accept enslavement, and make sex with non-${V.arcologies[0].FSSupremacistRace} people such an expectation that the appetite for all such slaves will increase slightly.`; },
 				get activatedText() { return `by law, anyone not of the ${V.arcologies[0].FSSupremacistRace} in your arcology is a slave`; },
-				requirements: function() { return (V.seeDicks !== 0 && V.arcologies[0].FSSupremacist >= 40); },
+				get requirements() { return (V.seeDicks !== 0 && V.arcologies[0].FSSupremacist >= 40); },
 				onImplementation: function() { V.FSSupLawTrigger = 1; },
 				note: `Will affect the slave market and arcology drastically`
 			}
@@ -1852,7 +1852,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "in order to be sold in the arcology, subhumans with dicks will have to have their balls removed to prevent racial pollution.",
 				activatedText: "in order to be sold in the arcology, subhumans with dicks must have their balls removed to prevent racial pollution.",
-				requirements: function() { return (V.seeDicks !== 0 && V.arcologies[0].FSSubjugationist >= 40); },
+				get requirements() { return (V.seeDicks !== 0 && V.arcologies[0].FSSubjugationist >= 40); },
 				note: `Will help advance racial Subjugation`
 			}
 		],
@@ -1862,7 +1862,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				get text() { return `will force slavery on all ${V.arcologies[0].FSSubjugationistRace} subhumans in your arcology, and make sex with ${V.arcologies[0].FSSubjugationistRace} people such an expectation that the appetite for all such slaves will increase slightly.`; },
 				get activatedText() { return `by law, all ${V.arcologies[0].FSSubjugationistRace} subhumans in your arcology are slaves`; },
-				requirements: function() { return (V.arcologies[0].FSSubjugationist >= 90); },
+				get requirements() { return (V.arcologies[0].FSSubjugationist >= 90); },
 				onImplementation: function() {
 					if (V.FSSubLawTrigger === 0) {
 						V.FSSubLawTrigger = 1;
@@ -1878,7 +1878,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "in order to be sold in the arcology, slave ovaries and testicles will be removed.",
 				activatedText: "in order to be sold in the arcology, slaves must be infertile.",
-				requirements: function() { return (V.arcologies[0].FSRestartDecoration >= 90); },
+				get requirements() { return (V.arcologies[0].FSRestartDecoration >= 90); },
 				note: `Will help advance starting society over`
 			}
 		],
@@ -1888,7 +1888,7 @@ App.Data.Policies.Selection = {
 				titleClass: "lime",
 				text: "fertile civilians, who are not part of society's Elite, will face increased taxation.",
 				activatedText: "all fertile lower class citizens pay increased taxes.",
-				requirements: function() { return (V.arcologies[0].FSRestartDecoration >= 90); },
+				get requirements() { return (V.arcologies[0].FSRestartDecoration >= 90); },
 				note: `Will increase your rental income, but the lower class will dislike you`
 			}
 		],
@@ -1897,7 +1897,7 @@ App.Data.Policies.Selection = {
 				title: "Elite Breeder Eligibility",
 				titleClass: "lime",
 				text: "slaves that pass very strict tests may be permitted for use by the Societal Elite to bear their children.",
-				requirements: function() { return (V.arcologies[0].FSRestartDecoration >= 100 && V.rep >= 5000); },
+				get requirements() { return (V.arcologies[0].FSRestartDecoration >= 100 && V.rep >= 5000); },
 				onImplementation: function() {
 					repX(-4000, "policies");
 					SugarCube.Engine.play("Breeder Proposal");
@@ -1911,7 +1911,7 @@ App.Data.Policies.Selection = {
 				title: "Pregnancy Encouragement",
 				text: "you will use your personal influence to spur interest in pregnancy.",
 				activatedText: "you are using your personal influence to spur interest in pregnancy.",
-				requirements: function() {
+				get requirements() {
 					return (
 						V.arcologies[0].FSRepopulationFocus === "unset" &&
 						V.arcologies[0].FSRestart === "unset" &&
@@ -1925,7 +1925,7 @@ App.Data.Policies.Selection = {
 				title: "Motherly Preference",
 				text: "you will use your personal influence to spur interest in MILFs.",
 				activatedText: "you are using your personal influence to spur interest in MILFs.",
-				requirements: function() {
+				get requirements() {
 					return (
 						V.arcologies[0].FSRepopulationFocus === "unset" &&
 						V.arcologies[0].FSRestart === "unset"
diff --git a/src/interaction/policies/policies.js b/src/interaction/policies/policies.js
index 6ef1341ffbdfb6440bdeb349ddf877b7c7b438c4..841b82e1132a819de03167e792e9490ae86df256 100644
--- a/src/interaction/policies/policies.js
+++ b/src/interaction/policies/policies.js
@@ -47,7 +47,7 @@ globalThis.policy = function(category) {
 			for (let i = 0; i < policyObject.length; i++) {
 				const p = policyObject[i];
 				const enable = p.enable || 1;
-				if (p.hasOwnProperty("requirements") && p.requirements() === false) {
+				if (p.hasOwnProperty("requirements") && p.requirements === false) {
 					continue;
 				}
 				div = document.createElement("div");
@@ -69,8 +69,7 @@ globalThis.policy = function(category) {
 				// link
 				if (!(p.hasOwnProperty("hide") && p.hide.button === 1)) {
 					if (p.hasOwnProperty("requirements")) {
-						const req = p.requirements();
-						if (req === true) {
+						if (p.requirements === true) {
 							div.append(implement(p, enable));
 						} else {
 							link = App.UI.DOM.disabledLink("Implement", [`You do not meet the requirements, or passed a conflicting policy already`]);