diff --git a/src/facilities/ads.js b/src/facilities/ads.js
index 794a20664839b54bc409b3e5f41c97512adcd570..a0532baa26017bf764311d5789dfc21489566715 100644
--- a/src/facilities/ads.js
+++ b/src/facilities/ads.js
@@ -1221,53 +1221,67 @@ App.Ads.report = function(building, preview) {
 	function links(building, category) {
 		let r = ``;
 		let passage = (capFirstChar(building) + " Advertisement");
+
+		function radioLink(name, variable, value, last) {
+			let r = ``;
+			if (V[variable] !== value) {
+				r += App.UI.passageLink(name, passage, `$${variable} = ${value}`);
+			} else {
+				r += name;
+			}
+			if (!last) {
+				r += " | ";
+			}
+			return r;
+		}
+
 		switch (category) {
 			case "stacked":
 				r+= `<div>`;
-				r+= `<<if $${building}AdsStacked != 1>><<link "Stacked">><<set $${building}AdsStacked = 1>><<goto "${passage}">><</link>> | <<else>>Stacked | <</if>>`;
-				r+= `<<if $${building}AdsStacked != -1>><<link "Slim">><<set $${building}AdsStacked = -1>><<goto "${passage}">><</link>> | <<else>>Slim | <</if>>`;
-				r+= `<<if $${building}AdsStacked != 0>><<link "Variety">><<set $${building}AdsStacked = 0>><<goto "${passage}">><</link>><<else>>Variety<</if>>`;
+				r+= radioLink("Stacked", `${building}AdsStacked`, 1, false);
+				r+= radioLink("Slim", `${building}AdsStacked`, -1, false);
+				r+= radioLink("Variety", `${building}AdsStacked`, 0, true);
 				r+= `</div>`;
 				return r;
 			case "preg":
 				r+= `<div>`;
-				r+= `<<if $${building}AdsPreg != 1>><<link "Gravid">><<set $${building}AdsPreg = 1>><<goto "${passage}">><</link>> | <<else>>Gravid | <</if>>`;
-				r+= `<<if $${building}AdsPreg != -1>><<link "None">><<set $${building}AdsPreg = -1>><<goto "${passage}">><</link>> | <<else>>None | <</if>>`;
-				r+= `<<if $${building}AdsPreg != 0>><<link "Variety">><<set $${building}AdsPreg = 0>><<goto "${passage}">><</link>><<else>>Variety<</if>>`;
+				r+= radioLink("Gravid", `${building}AdsPreg`, 1, false);
+				r+= radioLink("None", `${building}AdsPreg`, -1, false);
+				r+= radioLink("Variety", `${building}AdsPreg`, 0, true);
 				r+= `</div>`;
 				return r;
 			case "modded":
 				r+= `<div>`;
-				r+= `<<if $${building}AdsModded != 1>><<link "Modded">><<set $${building}AdsModded = 1>><<goto "${passage}">><</link>> | <<else>>Modded | <</if>>`;
-				r+= `<<if $${building}AdsModded != -1>><<link "Unmodded">><<set $${building}AdsModded = -1>><<goto "${passage}">><</link>> | <<else>>Unmodded | <</if>>`;
-				r+= `<<if $${building}AdsModded != 0>><<link "Variety">><<set $${building}AdsModded = 0>><<goto "${passage}">><</link>><<else>>Variety<</if>>`;
+				r+= radioLink("Modded", `${building}AdsModded`, 1, false);
+				r+= radioLink("Unmodded", `${building}AdsModded`, -1, false);
+				r+= radioLink("Variety", `${building}AdsModded`, 0, true);
 				r+= `</div>`;
 				return r;
 			case "implanted":
 				r+= `<div>`;
-				r+= `<<if $${building}AdsImplanted != 1>><<link "Implants">><<set $${building}AdsImplanted = 1>><<goto "${passage}">><</link>> | <<else>>Implants | <</if>>`;
-				r+= `<<if $${building}AdsImplanted != -1>><<link "All natural">><<set $${building}AdsImplanted = -1>><<goto "${passage}">><</link>> | <<else>>All natural | <</if>>`;
-				r+= `<<if $${building}AdsImplanted != 0>><<link "Variety">><<set $${building}AdsImplanted = 0>><<goto "${passage}">><</link>><<else>>Variety<</if>>`;
+				r+= radioLink("Implants", `${building}AdsImplanted`, 1, false);
+				r+= radioLink("All natural", `${building}AdsImplanted`, -1, false);
+				r+= radioLink("Variety", `${building}AdsImplanted`, 0, true);
 				r+= `</div>`;
 				return r;
 			case "XX":
 				r+= `<div>`;
-				r+= `<<if $${building}AdsXX != 1>><<link "Pussies">><<set $${building}AdsXX = 1>><<goto "${passage}">><</link>> | <<else>>Pussies | <</if>>`;
-				r+= `<<if $${building}AdsXX != -1>><<link "Dicks">><<set $${building}AdsXX = -1>><<goto "${passage}">><</link>> | <<else>>Dicks | <</if>>`;
-				r+= `<<if $${building}AdsXX != 0>><<link "Variety">><<set $${building}AdsXX = 0>><<goto "${passage}">><</link>> <<else>>Variety<</if>>`;
+				r+= radioLink("Pussies", `${building}AdsXX`, 1, false);
+				r+= radioLink("Dicks", `${building}AdsXX`, -1, false);
+				r+= radioLink("Variety", `${building}AdsXX`, 0, true);
 				r+= `</div>`;
 				return r;
 			case "age":
 				r+= `<div>`;
-				r+= `<<if $${building}AdsOld != 1>><<link "MILF">><<set $${building}AdsOld = 1>><<goto "${passage}">><</link>> | <<else>>MILF | <</if>>`;
-				r+= `<<if $${building}AdsOld != -1>><<link "Young">><<set $${building}AdsOld = -1>><<goto "${passage}">><</link>> | <<else>>Young | <</if>>`;
+				r+= radioLink("MILF", `${building}AdsOld`, 1, false);
+				r+= radioLink("Young", `${building}AdsOld`, -1, false);
 				if (V.minimumSlaveAge < 18) {
-					r+= `<<if $${building}AdsOld != -2>><<link "Teen">><<set $${building}AdsOld = -2>><<goto "${passage}">><</link>> | <<else>>Teen | <</if>>`;
+					r+= radioLink("Teen", `${building}AdsOld`, -2, false);
 				}
 				if (V.minimumSlaveAge < 13) {
-					r+= `<<if $${building}AdsOld != -3>><<link "Loli">><<set $${building}AdsOld = -3>><<goto "${passage}">><</link>> | <<else>>Loli | <</if>>`;
+					r+= radioLink("Loli", `${building}AdsOld`, -3, false);
 				}
-				r+= `<<if $${building}AdsOld != 0>><<link "Variety">><<set $${building}AdsOld = 0>><<goto "${passage}">><</link>> <<else>>Variety<</if>>`;
+				r+= radioLink("Variety", `${building}AdsOld`, 0, true);
 				r+= `</div>`;
 				return r;
 			default: