diff --git a/devNotes/twine CSS b/devNotes/twine CSS
index 39e646cedfe25ebed9c196a0f0c18c6c75cd2f93..ddf1b25561a2705ef105aa96a5e21e63d645e6e6 100644
--- a/devNotes/twine CSS	
+++ b/devNotes/twine CSS	
@@ -1,5 +1,3 @@
-/*:: Main stylesheet [stylesheet]*/
-
 body {
 	overflow-x: hidden;
 }
@@ -304,7 +302,6 @@ white-space: normal;
 }
 .rajs-section h1:hover { text-decoration: underline; }
 
-/*:: accordionStyleSheet [stylesheet]*/
 /* Accordion 000-250-006 */
 
 button.accordion {
@@ -389,87 +386,6 @@ div.accordion.active:before {
 	content: "\2212";
 }
 
-/* begin efmCSS */
-
-#graph .linage {
-	fill: none;
-	stroke: white;
-}
-#graph .marriage {
-	fill: none;
-	stroke: white;
-}
-#graph .node {
-	background-color: lightblue;
-	border-style: solid;
-	border-width: 1px;
-}
-#graph .nodeText{
-	font: 10px sans-serif;
-	margin: 0;
-	padding: 0;
-	color: black;
-}
-#graph {
-	font: 10px sans-serif;
-	margin: -20px 0;
-	padding: 0;
-	color: black;
-}
-
-#graph div {
-	border-style: solid;
-	border-width: 1px;
-}
-
-#graph .XY {
-	background-color: lightblue;
-}
-
-#graph div.XX {
-	background-color: pink;
-}
-
-#graph div.unknown {
-	background-color: gray;
-}
-
-#graph div.unknownXY {
-	background-color: #808080;
-}
-
-#graph div.unknownXX {
-	background-color: #808080;
-}
-
-#graph .you {
-	background-color: red;
-}
-
-#graph .emphasis {
-	font-style: italic;
-	font-weight: bold;
-	margin: 0;
-	background: #ffffff88;
-	border: 2px solid Gold;
-	white-space: nowrap;
-}
-
-#editFamily {
-	display: flex;
-	flex-wrap: wrap;
-	align-items: center;
-}
-
-#editFamily #familyTable {
-}
-
-/* end extended family css */
-
-config.history.tracking = false;
-
-/*:: Quick List stylesheet [stylesheet]*/
-
 .hidden
 {
 	display:none;
@@ -572,60 +488,6 @@ div.quicklist button
 	white-space: nowrap;
 }
 
-div.tab {
-	overflow: hidden;
-}
-
-div.tab button {
-	background-color: #252525;
-	border: solid 2px #252525;
-	color: #68d;
-	float: left;
-	outline: none;
-	cursor: pointer;
-	padding: 1ex 1ex;
-	transition: 0.3s;
-	font-size: large;
-}
-
-div.tab button:hover {
-	background-color: #414141;
-}
-
-div.tab button.active {
-	background-color: #050505;
-	color: #c7cedf;
-}
-
-.tabcontent {
-	display: none;
-	padding: 6px 12px;
-	-webkit-animation: fadeEffect 1s;
-	animation: fadeEffect 1s;
-}
-
-@-webkit-keyframes fadeEffect {
-	from {
-		opacity: 0;
-	}
-
-	to {
-		opacity: 1;
-	}
-}
-
-@keyframes fadeEffect {
-	from {
-		opacity: 0;
-	}
-
-	to {
-		opacity: 1;
-	}
-}
-
-/*:: Options Macro [stylesheet]*/
-
 .optionMacro {
 	margin-top: 8px;
 	display: inline-block;
@@ -691,6 +553,14 @@ div.tab button.active {
 	background: #2F2F2F;
 }
 
+body.lightTheme .optionMacroOption:hover {
+	background: #DDDDDD;
+}
+
+body.lightTheme .optionMacroSelected {
+	background: #DDDDDD;
+}
+
 .optionMacroSelected {
 	background: #2F2F2F;
 	padding: 0 10px;
@@ -738,3 +608,102 @@ div.tab button.active {
 	color: rgb(255,240,240);
 	background-image: linear-gradient(rgba(255, 100, 0, 0.2), transparent);
 }
+
+/* Stylesheet for WardrobeUse.tw */
+
+#passage-wardrobe-use .optionMacro {
+	display: inline;
+}
+
+#passage-wardrobe-use .optionDescription {
+	width: unset;
+	text-align: left;
+}
+
+#passage-wardrobe-use .optionValue {
+	display: flex;
+}
+
+#passage-wardrobe-use .optionMacroOption {
+	flex-grow: 1;
+}
+
+/* Last line shouldn't grow */
+#passage-wardrobe-use .optionValue::after {
+    flex-grow: 1000000000;
+    content: '';
+}
+
+
+#graph .linage {
+	fill: none;
+	stroke: white;
+}
+#graph .marriage {
+	fill: none;
+	stroke: white;
+}
+#graph .node {
+	background-color: lightblue;
+	border-style: solid;
+	border-width: 1px;
+}
+#graph .nodeText{
+	font: 10px sans-serif;
+	margin: 0;
+	padding: 0;
+	color: black;
+}
+#graph {
+	font: 10px sans-serif;
+	margin: -20px 0;
+	padding: 0;
+	color: black;
+}
+
+#graph div {
+	border-style: solid;
+	border-width: 1px;
+}
+
+#graph .XY {
+	background-color: lightblue;
+}
+
+#graph div.XX {
+	background-color: pink;
+}
+
+#graph div.unknown {
+	background-color: gray;
+}
+
+#graph div.unknownXY {
+	background-color: #808080;
+}
+
+#graph div.unknownXX {
+	background-color: #808080;
+}
+
+#graph .you {
+	background-color: red;
+}
+
+#graph .emphasis {
+	font-style: italic;
+	font-weight: bold;
+	margin: 0;
+	background: #ffffff88;
+	border: 2px solid Gold;
+	white-space: nowrap;
+}
+
+#editFamily {
+	display: flex;
+	flex-wrap: wrap;
+	align-items: center;
+}
+
+#editFamily #familyTable {
+}
diff --git a/src/SecExp/attackHandler.tw b/src/SecExp/attackHandler.tw
index d89d2e535c50500fa308b23a95794ba0966a8b09..df87defe51f01341cbeb3d75cc17ceee9c6dde08 100644
--- a/src/SecExp/attackHandler.tw
+++ b/src/SecExp/attackHandler.tw
@@ -174,7 +174,7 @@
 		/* 80% chance of increasing warfare */
 		<<if $PC.warfare < 100 && random(1,100) <= 80>>
 			<<set $gainedWarfare = 1>>
-			<<set $PC.warfare += 10>>
+			<<= IncreasePCSkills('warfare',  10)>>
 			<<set $PC.warfare = Math.clamp($PC.warfare,-100,100)>>
 		<</if>>
 			/* does the PC get wounded? */
diff --git a/src/SecExp/attackReport.tw b/src/SecExp/attackReport.tw
index d36aff21bcfe8eadd0e72a1d0041fa84b6650af9..9d492f8c20e10ea5e32a424e4249cba5c39b06f6 100644
--- a/src/SecExp/attackReport.tw
+++ b/src/SecExp/attackReport.tw
@@ -436,7 +436,7 @@
 	<<run cashX(_loot, "war")>>
 	<br>
 	Damage to the infrastructure was @@.yellow;virtually non-existent,@@ costing only pocket cash to bring the structure back to normal. The inhabitants as well reported little to no injuries, because of this the prosperity of the arcology did not suffer.
-	<<set $PC.engineering += .1>>
+	<<= IncreasePCSkills('engineering',  0.1)>>
 	<<run cashX(forceNeg(1000 * _majorBattleMod), "war")>>
 	<<if $PCvictoryStreak >= 3>>
 		It seems your victories over the constant threats directed your way is having @@.green;a positive effect on the prosperity of the arcology,@@ due to the security your leadership affords.
@@ -459,7 +459,7 @@
 	<</if>>
 	<br>
 	In the raiding following the battle @@.red;the arcology sustained heavy damage,@@ which will cost quite the amount of cash to fix. Reports of @@.red;citizens or slaves killed or missing@@ flood your office for a few days following the defeat.
-	<<set $PC.engineering += .1>>
+	<<= IncreasePCSkills('engineering',  0.1)>>
 	<<run cashX(forceNeg(5000 * _majorBattleMod), "war")>>
 	<<if $week <= 30>>
 		<<set $lowerClass -= random(100) * _majorBattleMod>>
@@ -545,7 +545,7 @@
 	<<run cashX(_loot, "war")>>
 	<br>
 	Damage to the city was @@.red;limited,@@ it won't take much to rebuild. Very few citizens or slaves were involved in the fight and even fewer met their end, safeguarding the prosperity of the arcology.
-	<<set $PC.engineering += .1>>
+	<<= IncreasePCSkills('engineering',  0.1)>>
 	<<run cashX(forceNeg(2000 * _majorBattleMod), "war")>>
 	<<set $lowerClass -= random(10) * _majorBattleMod>>
 	<<set _lostSlaves = random(20) * _majorBattleMod,
@@ -571,7 +571,7 @@
 	<br>
 	The enemy did not have the strength to raid the arcology for long, still @@.red;the arcology sustained some damage,@@ which will cost a moderate amount of cash to fix. Some citizens and slaves found themselves on the wrong end of a gun and met their demise.
 	Some business sustained heavy damage, slightly impacting the arcology's prosperity.
-	<<set $PC.engineering += .1>>
+	<<= IncreasePCSkills('engineering',  0.1)>>
 	<<run cashX(forceNeg(3000 * _majorBattleMod), "war")>>
 	<<if $week <= 30>>
 		<<set $lowerClass -= random(50) * _majorBattleMod>>
@@ -631,7 +631,7 @@
 	<</if>>
 	<br>
 	The surrender allows the arcology to survive @@.red;mostly intact,@@ however reports of @@.red;mass looting and killing of citizens@@ flood your office for a few days.
-	<<set $PC.engineering += .1>>
+	<<= IncreasePCSkills('engineering',  0.1)>>
 	<<run cashX(forceNeg(1000 * _majorBattleMod), "war")>>
 	<<if $week <= 30>>
 		<<set $lowerClass -= random(80) * _majorBattleMod>>
@@ -692,7 +692,7 @@
 	<</if>>
 	<br>
 	Fortunately the arcology survives @@.yellow;mostly intact,@@ however reports of @@.red;mass looting and killing of citizens@@ flood your office for a few days.
-	<<set $PC.engineering += .1>>
+	<<= IncreasePCSkills('engineering',  0.1)>>
 	<<run cashX(-1000, "war")>>
 	<<if $week <= 30>>
 		<<set $lowerClass -= random(80) * _majorBattleMod>>
diff --git a/src/SecExp/propagandaHub.tw b/src/SecExp/propagandaHub.tw
index 3da4c9800781444d952c97ed85f88c9dc38d8b82..434f602e5439cb6e02513ab916f755cf135bc2a3 100644
--- a/src/SecExp/propagandaHub.tw
+++ b/src/SecExp/propagandaHub.tw
@@ -82,7 +82,7 @@ The propaganda hub is a surprisingly inconspicuous building, dimly lit from the
 		<<link "Invest more resources in the propaganda machine" "propagandaHub">>
 			<<run cashX(forceNeg(5000 * $upgradeMultiplierArcology * ($propCampaign + 1) * _HistoryDiscount*$HackingSkillMultiplier), "capEx")>>
 			<<set $propCampaign += 1>>
-			<<set $PC.hacking += .5>>
+			<<= IncreasePCSkills('hacking',  0.5)>>
 			<<set $propHubUpkeep += $upgradeUpkeep>>
 		<</link>>
 		<br>Invest more resources into the project to increase its effectiveness.
@@ -133,7 +133,7 @@ The propaganda hub is a surprisingly inconspicuous building, dimly lit from the
 		<<link "Institute controlled leaks protocols" "propagandaHub">>
 			<<set $controlLeaks = 1>>
 			<<run cashX(forceNeg(10000*$upgradeMultiplierArcology*_HistoryDiscount*$HackingSkillMultiplier), "capEx")>>
-			<<set $PC.hacking += 1>>
+			<<= IncreasePCSkills('hacking',  1)>>
 			<<set $propHubUpkeep += $upgradeUpkeep>>
 		<</link>>
 		<br>Institute a system able to release erroneous, but plausible, information about your business, leading your competitors to prepared financial traps.
diff --git a/src/SecExp/rebellionReport.tw b/src/SecExp/rebellionReport.tw
index 14f6afe00876564fc23bcca407dbd4f110f137d5..964ee58c50b476dfbcd4a63a1485e00db5a94f00 100644
--- a/src/SecExp/rebellionReport.tw
+++ b/src/SecExp/rebellionReport.tw
@@ -347,7 +347,7 @@
 	<<if $engageRule == 0>>
 		Since you ordered your troops to limit their weaponry to low caliber or non lethal, the arcology reported only @@.red;minor damage.@@ Most citizens and non involved slaves remained unharmed, though some casualties between the civilians were inevitable.
 		A few businesses were looted and burned, but the damage was pretty limited.
-		<<set $arcRepairTime += 3, $PC.engineering += .1>>
+		<<set $arcRepairTime += 3, IncreasePCSkills('engineering',  0.1)>>
 		<<if $week <= 30>>
 			<<set $lowerClass -= random(40)>>
 			<<set _lostSlaves = random(65),
@@ -392,7 +392,7 @@
 	<<elseif $engageRule == 1>>
 		You ordered your troops to limit their weaponry to non-heavy, non-explosive, because of this the arcology reported @@.red;moderate damage.@@ Most citizens and non involved slaves remained unharmed or only lightly wounded, but many others did not make it. Unfortunately casualties between the civilians were inevitable.
 		A few businesses were looted and burned, but the damage was pretty limited.
-		<<set $arcRepairTime += 5, $PC.engineering += .1>>
+		<<set $arcRepairTime += 5, IncreasePCSkills('engineering',  0.1)>>
 		<<if $week <= 30>>
 			<<set $lowerClass -= random(60)>>
 			<<set _lostSlaves = random(85),
@@ -437,7 +437,7 @@
 	<<elseif $engageRule == 2>>
 		Since you did not apply any restriction on the weapons your forces should use, the arcology reported @@.red;heavy damage.@@ Many citizens and uninvolved slaves are reported killed or missing. Casualties between the civilians were inevitable.
 		Many businesses were damaged during the battle either by the fight itself, by fires which spread unchecked for hours or by looters.
-		<<set $arcRepairTime += 7, $PC.engineering += .1>>
+		<<set $arcRepairTime += 7, IncreasePCSkills('engineering',  0.1)>>
 		<<if $week <= 30>>
 			<<set $lowerClass -= random(100)>>
 			<<set _lostSlaves = random(150),
@@ -482,7 +482,7 @@
 	<<else>>
 		Thanks to the advance riot control weaponry developed by your experts, the rebels were mostly subdued or killed with @@.yellow;little to no collateral damage to the arcology@@ and its inhabitants.
 		A few businesses were looted, but the damage was very limited.
-		<<set $arcRepairTime += 2, $PC.engineering += .1>>
+		<<set $arcRepairTime += 2, IncreasePCSkills('engineering',  0.1)>>
 		<<run cashX(-1000, "war")>>
 		<<if $week <= 30>>
 			<<set $lowerClass -= random(20)>>
@@ -539,7 +539,7 @@
 	<<if random(1,100) <= (75 - ($fort.reactor * 25))>>
 		Unfortunately during the fighting a group of slaves infiltrated the reactor complex and sabotaged it, causing massive power fluctuations and blackouts.
 		It will take @@.red;time and money to repair the damage@@.
-		<<set $garrison.reactorTime = $repairTime + random(1) - $fort.reactor, $PC.engineering += .1>>
+		<<set $garrison.reactorTime = $repairTime + random(1) - $fort.reactor, IncreasePCSkills('engineering',  0.1)>>
 		<<run cashX(-2000, "war")>>
 	<<else>>
 		While the reactor was left defenseless without a garrison, there was no attempt at sabotage. Let's hope we'll always be this lucky.
@@ -551,7 +551,7 @@
 	<<if random(1,100) <= (75 - ($fort.waterway * 25))>>
 		Unfortunately during the fighting a group of slaves infiltrated the water management complex and sabotaged it, causing huge water leaks throughout the arcology and severely limiting the water supply.
 		It will take @@.red;time and money to repair the damage@@.
-		<<set $garrison.waterwayTime = $repairTime + random(1) - $fort.waterway, $PC.engineering += .1>>
+		<<set $garrison.waterwayTime = $repairTime + random(1) - $fort.waterway, IncreasePCSkills('engineering',  0.1)>>
 		<<run cashX(-2000, "war")>>
 	<<else>>
 		While the water management complex was left defenseless without a garrison, there was no attempt at sabotage. Let's hope we'll always be this lucky.
@@ -563,7 +563,7 @@
 	<<if random(1,100) <= (75 - ($fort.assistant * 25))>>
 		Unfortunately during the fighting a group of slaves infiltrated the facility housing $assistantName's mainframe and sabotaged it. Without its AI the arcology will be next to impossible to manage.
 		It will take @@.red;time and money to repair the damage@@.
-		<<set $garrison.assistantTime = $repairTime + random(1) - $fort.assistant, $PC.engineering += .1>>
+		<<set $garrison.assistantTime = $repairTime + random(1) - $fort.assistant, IncreasePCSkills('engineering',  0.1)>>
 		<<run cashX(-2000, "war")>>
 	<<else>>
 		While the $assistantName's mainframe was left defenseless without a garrison, there was no attempt at sabotage. Let's hope we'll always be this lucky.
@@ -740,7 +740,7 @@
 			<</if>>
 		<</if>>
 		The damage to the structure will be @@.red;costly to repair@@.
-		<<set $PC.engineering += .1>>
+		<<= IncreasePCSkills('engineering',  0.1)>>
 		<<run cashX(-2000, "war")>>
 	<<else>>
 		While the penthouse was left without a sizable garrison, there was no dangerous assault against it. Let's hope we'll always be this lucky.
@@ -850,7 +850,7 @@
 			<</if>>
 		<</if>>
 		The damage to the structure will be @@.red;costly to repair@@.
-		<<set $PC.engineering += .1>>
+		<<= IncreasePCSkills('engineering',  0.1)>>
 		<<run cashX(-2000, "war")>>
 	<<else>>
 		There was no sizable assault against the penthouse. Let's hope we'll always be this lucky.
diff --git a/src/SecExp/riotControlCenter.tw b/src/SecExp/riotControlCenter.tw
index 36caeff0ea4c9bfb1852c8a38502a02dc247aa10..e38298cd3875bed6e0e2199b04def5663e13fa3f 100644
--- a/src/SecExp/riotControlCenter.tw
+++ b/src/SecExp/riotControlCenter.tw
@@ -25,7 +25,7 @@ The riot control center opens its guarded doors to you. The great chamber inside
 		<br><<link "Invest more resources in the free media project" "riotControlCenter">>
 			<<set $riotUpgrades.freeMedia += 1>>
 			<<run cashX(forceNeg(((5000 * $upgradeMultiplierArcology * ($riotUpgrades.freeMedia + 1)*$HackingSkillMultiplier))), "capEx")>>
-			<<set $PC.hacking += .5>>
+			<<= IncreasePCSkills('hacking',  0.5)>>
 			<<set $riotUpkeep += $upgradeUpkeep>>
 		<</link>>
 		<br>Invest more resources into the project to increase its effectiveness.
@@ -150,7 +150,7 @@ The riot control center opens its guarded doors to you. The great chamber inside
 		<<link "Invest more resources in the brain implant project" "riotControlCenter">>
 			<<set $brainImplantProject += 1>>
 			<<run cashX(forceNeg(50000 * $upgradeMultiplierArcology * $brainImplantProject*$HackingSkillMultiplier), "capEx")>>
-			<<set $PC.hacking += 1>>
+			<<= IncreasePCSkills('hacking',  1)>>
 			<<set $riotUpkeep += 5000>>
 		<</link>>
 		<br>Invest more resources into the project to increase its speed.
diff --git a/src/SecExp/securityReport.tw b/src/SecExp/securityReport.tw
index fbf23c814c13e3067e5e48d4629b37c89b8d67fd..50c8232374dcdf652c9d2404de1b4e9eedda2c73 100644
--- a/src/SecExp/securityReport.tw
+++ b/src/SecExp/securityReport.tw
@@ -159,7 +159,7 @@
 	It will still take <<if $garrison.assistantTime> 1>>$garrison.assistantTime weeks<<else>>a week<</if>> to finish repair works.
 	<<set _secGrowth-->>
 	<<set _crimeGrowth++>>
-	<<set $garrison.assistantTime--, $PC.engineering += .1>>
+	<<set $garrison.assistantTime--, IncreasePCSkills('engineering',  0.1)>>
 <</if>>
 
 <<if $SF.Toggle && $SF.Active >= 1>>
diff --git a/src/SpecialForce/TrickShotNight.tw b/src/SpecialForce/TrickShotNight.tw
index 043c6d854cd80ca937d1b2c35b9b1e7204435f60..00a2452f3d741b3f535adaef82b8b7eae56c8824 100644
--- a/src/SpecialForce/TrickShotNight.tw
+++ b/src/SpecialForce/TrickShotNight.tw
@@ -44,7 +44,7 @@ Despite your direct elevator, interaction with the majority of your security for
 <<else>> /* cash >= 50000 */
 
 <br><<link "Attend the trick shot night">>
-	<<replace "#result">> <<set $PC.warfare += 1>>
+	<<replace "#result">>
 		You instruct $assistantName to inform $SF.Lower that you will be attending their trick shot night, and after settling your affairs in the penthouse you head down to the firebase. The atmosphere in the firebase is casual, especially in comparison to the usual situations you meet them, though your security force still maintain some measure of decorum towards you as their employer. Eventually, you settle in at the table with a handful of $SF.Lower officers and turn your @@.yellowgreen;<<print cashFormat(50000)>>@@ into bullets. All that remains is to decide your strategy for the night.
 		<br><br> <span id="bountyresult">
 
@@ -141,6 +141,7 @@ Despite your direct elevator, interaction with the majority of your security for
 							<br>
 							<<include "New Slave Intro">>
 						<</if>>
+						<<= IncreasePCSkills('warfare',  1)>>
 					<</replace>>
 				<</link>>
 
@@ -155,6 +156,7 @@ Despite your direct elevator, interaction with the majority of your security for
 							<<run repX(10000, "event")>>
 							<<run cashX(50000, "event")>>
 						<</if>>
+						<<= IncreasePCSkills('warfare',  1)>>
 					<</replace>>
 				<</link>>
 
diff --git a/src/SpecialForce/WeeklyChoices.tw b/src/SpecialForce/WeeklyChoices.tw
index 26472dc61a7ac6e83cb0b98968e414e522de7e86..389d665def029a98a39409bb536230871f9275c9 100644
--- a/src/SpecialForce/WeeklyChoices.tw
+++ b/src/SpecialForce/WeeklyChoices.tw
@@ -130,17 +130,17 @@
 			<<set $SF.Colonel.Status +=3>>
 			<<switch random(1,6)>>
 			<<case 1>>
-				<<set $PC.medicine += 1>><<set $PC.trading += 1>><<set $PC.slaving += 1>>
+				<<= IncreasePCSkills('medicine',  1)>> <<= IncreasePCSkills('trading',  1)>> <<= IncreasePCSkills('slaving', 1)>>
 			<<case 2>>
-				<<set $PC.trading += 1>><<set $PC.slaving += 1>><<set $PC.engineering += 1>>
+				<<= IncreasePCSkills('trading',  1)>> <<= IncreasePCSkills('slaving', 1)>> <<= IncreasePCSkills('engineering',  1)>>
 			<<case 3>>
-				<<set $PC.slaving += 1>><<set $PC.engineering += 1>><<set $PC.hacking += 1>>
+				<<= IncreasePCSkills('slaving', 1)>> <<= IncreasePCSkills('engineering',  1)>> <<= IncreasePCSkills('hacking',  1)>>
 			<<case 4>>
-				<<set $PC.engineering += 1>><<set $PC.hacking += 1>><<set $PC.warfare += 1>>
+				<<= IncreasePCSkills('engineering',  1)>> <<= IncreasePCSkills('hacking',  1)>> <<= IncreasePCSkills('warfare',  1)>>
 			<<case 5>>
-				<<set $PC.hacking += 1>><<set $PC.warfare += 1>><<set $PC.medicine += 1>>
+				<<= IncreasePCSkills('hacking',  1)>> <<= IncreasePCSkills('warfare',  1)>> <<= IncreasePCSkills('medicine',  1)>>
 			<<case 6>>
-				<<set $PC.warfare += 1>><<set $PC.medicine += 1>><<set $PC.trading += 1>>
+				<<= IncreasePCSkills('warfare',  1)>> <<= IncreasePCSkills('medicine',  1)>> <<= IncreasePCSkills('trading',  1)>>
 			<</switch>>
 		<</replace>><</link>>
 
@@ -150,22 +150,22 @@
 			<<switch random(1,6)>>
 			<<case 1>>
 				used field medicine to save another merc's life, teaching you some medical procedures in the process.
-				<<set $PC.medicine += 5>>
+				<<= IncreasePCSkills('medicine', 5)>>
 			<<case 2>>
 				haggled for necessary gear with a stingy quartermaster, teaching you how to get what you want from traders.
-				<<set $PC.trading += 5>>
+				<<= IncreasePCSkills('trading', 5)>>
 			<<case 3>>
 				found a load of human chattel in a raid and had to manage them before they could later be unloaded, teaching you how to better care for your slaves.
-				<<set $PC.slaving += 5>>
+				<<= IncreasePCSkills('slaving', 5)>>
 			<<case 4>>
 				was responsible for rebuilding a fort she had seized, teaching you how to better manage construction in your arcology.
-				<<set $PC.engineering += 5>>
+				<<= IncreasePCSkills('engineering', 5)>>
 			<<case 5>>
 				was forced to hack her way out of a trap, teaching you how to better penetrate digital security.
-				<<set $PC.hacking += 5>>
+				<<= IncreasePCSkills('hacking', 5)>>
 			<<case 6>>
 				fought off an entire battalion with only a small squad, teaching you how to think tactically in battle.
-				<<set $PC.warfare += 5>>
+				<<= IncreasePCSkills('warfare', 5)>>
 			<</switch>>
 		<</replace>> <</link>>
 
diff --git a/src/gui/Encyclopedia/encyclopedia.tw b/src/gui/Encyclopedia/encyclopedia.tw
index 266dbff0e8a68a233f8564f0f7df09b842560379..dd1aa2ded71cb24cb9659037d7a04cf2194e4fab 100644
--- a/src/gui/Encyclopedia/encyclopedia.tw
+++ b/src/gui/Encyclopedia/encyclopedia.tw
@@ -128,24 +128,24 @@ Design Your Master
 		upgrades in the propaganda hub will be @@.yellowgreen;[[cheaper|Encyclopedia][$encyclopedia = "Money"]]@@ and
 	<</if>>
 	your starting slaves will have a free level of prostitution skill available.
-	Starts having already mastered [[Trading|Encyclopedia][$encyclopedia = "Trading"]].
+	Starts having already mastered [[Trading|Encyclopedia][$encyclopedia = "PC Skills"]].
 
 	<br><br>''private security contractor'' (also referred to as a //mercenary background//) greatly reduces the cost of keeping mercenaries in your employ.
 	<<if $showSecExp == 1>>
 		Upgrades in the security HQ will be @@.yellowgreen;[[cheaper|Encyclopedia][$encyclopedia = "Money"]]@@.
 	<</if>>
 	Your starting slaves will have free @@.mediumaquamarine;[[trust|Encyclopedia][$encyclopedia = "Trust"]]@@ available.
-	Starts having already mastered [[Warfare|Encyclopedia][$encyclopedia = "warfare"]].
+	Starts having already mastered [[Warfare|Encyclopedia][$encyclopedia = "PC Skills"]].
 
 	<br><br>''slave driver'' enhances slave-focused personal attention, adding bonus @@.hotpink;[[devotion|Encyclopedia][$encyclopedia = "From Rebellious to Devoted"]]@@ or @@.mediumaquamarine;[[trust|Encyclopedia][$encyclopedia = "Trust"]]@@ to many training applications or preventing their loss.
 	<<if $showSecExp == 1>>
 		@@.darkviolet;[[authority|Encyclopedia][$encyclopedia = "Security Expansion"]]@@ will be easier to maintain. Plus upgrades in the security HQ will be @@.yellowgreen;[[cheaper|Encyclopedia][$encyclopedia = "Money"]]@@.
 	<</if>>
-	Starting slaves will be cheaper, in addition having already mastered [[Slaving|Encyclopedia][$encyclopedia = "slaving"]].
+	Starting slaves will be cheaper, in addition having already mastered [[Slaving|Encyclopedia][$encyclopedia = "PC Skills"]].
 
-	<br><br>''arcology engineer'' provides a significant discount on many @@.yellowgreen;arcology upgrades and expansions.@@ In addition to the arcology starting off with @@.green;basic economic upgrades@@ already installed. Starts having already mastered [[Engineering|Encyclopedia][$encyclopedia = "engineering"]].
+	<br><br>''arcology engineer'' provides a significant discount on many @@.yellowgreen;arcology upgrades and expansions.@@ In addition to the arcology starting off with @@.green;basic economic upgrades@@ already installed. Starts having already mastered [[Engineering|Encyclopedia][$encyclopedia = "PC Skills"]].
 
-	<br><br>''doctor'' allows the player character to perform surgery personally, providing a @@.yellowgreen;discount on surgery costs@@ and a @@.green;reduction to resulting health damage.@@ Additionally, slaves may react differently to surgery if the player character performs it and starting slaves will have free implants available. Starts having already mastered [[Medicine|Encyclopedia][$encyclopedia = "medicine"]].
+	<br><br>''doctor'' allows the player character to perform surgery personally, providing a @@.yellowgreen;discount on surgery costs@@ and a @@.green;reduction to resulting health damage.@@ Additionally, slaves may react differently to surgery if the player character performs it and starting slaves will have free implants available. Starts having already mastered [[Medicine|Encyclopedia][$encyclopedia = "PC Skills"]].
 
 	<br><br>''escort'' provides a one-time bonus to a slave's entertainment, whoring, and two sexual skills when a new slave is acquired. Furthermore, society will not take lightly to being run by an ex-whore, and you will receive heavy @@.green;[[reputation|Encyclopedia][$encyclopedia = "Arcologies and Reputation"]]@@
 	<<if $showSecExp == 1>>
@@ -176,7 +176,7 @@ Design Your Master
 	<<if $showSecExp == 1>>
 		, but you will find @@.darkviolet;[[authority|Encyclopedia][$encyclopedia = "Security Expansion"]]@@ quite hard to maintain
 	<</if>>.
-	Starts having already mastered [[Hacking|Encyclopedia][$encyclopedia = "Hacking"]].
+	Starts having already mastered [[Hacking|Encyclopedia][$encyclopedia = "PC Skills"].
 
 	<br><br>
 	<<if $showSecExp == 0>>
@@ -333,17 +333,24 @@ PC Skills
 	<br><br>Choose a more particular entry below:
 
 	<br><br>''Trading'' signifies how efficient you are at making exchanges. Provides more passive income the higher it is.
+	Can be increased through acquiring slaves.
 
 	<br>''Warfare'' is an indication your combat prowess. Cuts cost of housing mercs in half.
+	Can be increased through use in relevant situations.
 
-	<br>''Hacking'' is an indication of your effectives at manipulating computer systems. Higher levels make technological upgrades @@.yellowgreen;[[cheaper|Encyclopedia][$encyclopedia = "Money"]]@@ or free.
+	<br>''Hacking'' is an indication of your effectiveness at manipulating computer systems. Higher levels make technological upgrades @@.yellowgreen;[[cheaper|Encyclopedia][$encyclopedia = "Money"]]@@ or free, provides a boost situations where fame is measured digitally.
+	Can be increased through choosing to 'Sell your intrusion services to the highest bidder' once the option becomes available after having 'some' skill and purchasing technological upgrades.
 
-	<br>''Slaving'' improves your effectiveness as a slave driver. At max level it allows you to more easily spot [[gingering|Encyclopedia][$encyclopedia = "Gingering"]]
+	<br>''Slaving'' improves your effectiveness as a slave driver. At max level it allows you to more easily spot [[gingering|Encyclopedia][$encyclopedia = "Gingering"]].
+	Can be increased through acquiring performing the duties of a slave driver.
 
 	<br>''Engineering'' is a sign of how effective you are building and maintenance. Mastering the skill reduces the cost of @@.yellowgreen;arcology upgrades and expansions@@.
+	Can be increased through purchasing arcology upgrades or expanding facility capacity<<if $showSecExp > 0>> and repairing your arcology<</if>>.
 
 	<br>''Medicine'' shows how effective you are treating wounds. Max level reduces a slave's health and @@.mediumaquamarine;[[trust|Encyclopedia][$encyclopedia = "Trust"]]@@ loss during surgery.
 
+	In addition to the above methods of increasing a skill (if any), all of them can be learnt by retaining a trainer<<if $SF.Toggle && $SF.Active >= 1>> or by talking to/learning from The Colonel<</if>>.
+
 /**********
 SLAVES
 **********/
@@ -2565,7 +2572,7 @@ LORE: INTERVIEWS
 	<br>''Unknown modder'' who did betterRA mod for old 0.9.5.4 version of original FC.
 	<br>''brpregmodfan'' for Brazilian start and slave gen.
 	<br>''fcanon'' for various fixes, massive improvements to the RA and wrangling my inabilty to spll gud.
-	<br>''stuffedgameanon'' for fixes, streamlining the starting girls family code, family trees, unbelievable improvements to the games functionality, the sanityChecker, a tag checker and above ALL else; Improving the game's speed by an obscene amount. I swear this guy is a wizard.
+	<br>''stuffedgameanon'' for fixes, streamlining the starting girls family code, family trees, unbelievable improvements to the games functionality, the sanityChecker, a tag checker and above ALL else; Improving the game's speed by an obscene amount. I swear this guy is a wizard. Now overhauling the UI as well.
 	<br>''anon'' for a prototype foot job scene.
 	<br>''Preglocke'' for cleaning and expanding the foot job scene and various little content additions and corrections.
 	<br>''anon'' for writing forced marriages, extra escape outcomes, new recruits and events, a story for FCTV and more player refreshment types.
diff --git a/src/interaction/cyberConfig.tw b/src/interaction/cyberConfig.tw
index eacceaf73b8e5ed7146bd85b92e3be3fa92335d1..49ee44e440dfb0aa5e7f235b756e0af9edd02b0e 100644
--- a/src/interaction/cyberConfig.tw
+++ b/src/interaction/cyberConfig.tw
@@ -32,52 +32,52 @@
 		Swap out $his lenses:
 		<br>
 		Iris Color:
-		[[Blue|cyberConfig][$activeSlave.eyeColor = "blue",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Black|cyberConfig][$activeSlave.eyeColor = "black",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Brown|cyberConfig][$activeSlave.eyeColor = "brown",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Green|cyberConfig][$activeSlave.eyeColor = "green",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Turquoise|cyberConfig][$activeSlave.eyeColor = "turquoise",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Sky-Blue|cyberConfig][$activeSlave.eyeColor = "sky-blue",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Hazel|cyberConfig][$activeSlave.eyeColor = "hazel",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Pale-Grey|cyberConfig][$activeSlave.eyeColor = "pale-grey",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[White|cyberConfig][$activeSlave.eyeColor = "white",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Pink|cyberConfig][$activeSlave.eyeColor = "pink",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Amber|cyberConfig][$activeSlave.eyeColor = "amber",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Red|cyberConfig][$activeSlave.eyeColor = "red",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Yellow|cyberConfig][$activeSlave.eyeColor = "yellow",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Orange|cyberConfig][$activeSlave.eyeColor = "orange",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
+		[[Blue|cyberConfig][$activeSlave.eyeColor = "blue",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Black|cyberConfig][$activeSlave.eyeColor = "black",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Brown|cyberConfig][$activeSlave.eyeColor = "brown",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Green|cyberConfig][$activeSlave.eyeColor = "green",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Turquoise|cyberConfig][$activeSlave.eyeColor = "turquoise",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Sky-Blue|cyberConfig][$activeSlave.eyeColor = "sky-blue",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Hazel|cyberConfig][$activeSlave.eyeColor = "hazel",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Pale-Grey|cyberConfig][$activeSlave.eyeColor = "pale-grey",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[White|cyberConfig][$activeSlave.eyeColor = "white",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Pink|cyberConfig][$activeSlave.eyeColor = "pink",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Amber|cyberConfig][$activeSlave.eyeColor = "amber",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Red|cyberConfig][$activeSlave.eyeColor = "red",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Yellow|cyberConfig][$activeSlave.eyeColor = "yellow",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Orange|cyberConfig][$activeSlave.eyeColor = "orange",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
 		<br>
 		Pupil Shape:
-		<br>[[Circular|cyberConfig][$activeSlave.pupil = "circular",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Catlike|cyberConfig][$activeSlave.pupil = "catlike",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Serpent-Like|cyberConfig][$activeSlave.pupil = "serpent-like",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Devilish|cyberConfig][$activeSlave.pupil = "devilish",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Demonic|cyberConfig][$activeSlave.pupil = "demonic",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Hypnotic|cyberConfig][$activeSlave.pupil = "hypnotic",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Heart-Shaped|cyberConfig][$activeSlave.pupil = "heart-shaped",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Wide-Eyed|cyberConfig][$activeSlave.pupil = "wide-eyed",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Almond-Shaped|cyberConfig][$activeSlave.pupil = "almond-shaped",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Bright|cyberConfig][$activeSlave.pupil = "bright",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Teary|cyberConfig][$activeSlave.pupil = "teary",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Vacant|cyberConfig][$activeSlave.pupil = "vacant",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Star-Shaped|cyberConfig][$activeSlave.pupil = "star-shaped",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Goat-Like|cyberConfig][$activeSlave.pupil = "goat-like",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
+		<br>[[Circular|cyberConfig][$activeSlave.pupil = "circular",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Catlike|cyberConfig][$activeSlave.pupil = "catlike",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Serpent-Like|cyberConfig][$activeSlave.pupil = "serpent-like",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Devilish|cyberConfig][$activeSlave.pupil = "devilish",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Demonic|cyberConfig][$activeSlave.pupil = "demonic",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Hypnotic|cyberConfig][$activeSlave.pupil = "hypnotic",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Heart-Shaped|cyberConfig][$activeSlave.pupil = "heart-shaped",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Wide-Eyed|cyberConfig][$activeSlave.pupil = "wide-eyed",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Almond-Shaped|cyberConfig][$activeSlave.pupil = "almond-shaped",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Bright|cyberConfig][$activeSlave.pupil = "bright",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Teary|cyberConfig][$activeSlave.pupil = "teary",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Vacant|cyberConfig][$activeSlave.pupil = "vacant",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Star-Shaped|cyberConfig][$activeSlave.pupil = "star-shaped",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Goat-Like|cyberConfig][$activeSlave.pupil = "goat-like",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
 		<br>
 		Sclera Colors:
-		[[White|cyberConfig][$activeSlave.sclerae = "white",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Blue|cyberConfig][$activeSlave.sclerae = "blue",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Black|cyberConfig][$activeSlave.sclerae = "black",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Brown|cyberConfig][$activeSlave.sclerae = "brown",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Green|cyberConfig][$activeSlave.sclerae = "green",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Turquoise|cyberConfig][$activeSlave.sclerae = "turquoise",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Sky-Blue|cyberConfig][$activeSlave.sclerae = "sky-blue",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Hazel|cyberConfig][$activeSlave.sclerae = "hazel",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Pale-Grey|cyberConfig][$activeSlave.sclerae = "pale-grey",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Pink|cyberConfig][$activeSlave.sclerae = "pink",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Amber|cyberConfig][$activeSlave.sclerae = "amber",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Red|cyberConfig][$activeSlave.sclerae = "red",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Yellow|cyberConfig][$activeSlave.sclerae = "yellow",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Orange|cyberConfig][$activeSlave.sclerae = "orange",$temp = 2,cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
+		[[White|cyberConfig][$activeSlave.sclerae = "white",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Blue|cyberConfig][$activeSlave.sclerae = "blue",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Black|cyberConfig][$activeSlave.sclerae = "black",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Brown|cyberConfig][$activeSlave.sclerae = "brown",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Green|cyberConfig][$activeSlave.sclerae = "green",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Turquoise|cyberConfig][$activeSlave.sclerae = "turquoise",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Sky-Blue|cyberConfig][$activeSlave.sclerae = "sky-blue",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Hazel|cyberConfig][$activeSlave.sclerae = "hazel",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Pale-Grey|cyberConfig][$activeSlave.sclerae = "pale-grey",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Pink|cyberConfig][$activeSlave.sclerae = "pink",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Amber|cyberConfig][$activeSlave.sclerae = "amber",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Red|cyberConfig][$activeSlave.sclerae = "red",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Yellow|cyberConfig][$activeSlave.sclerae = "yellow",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Orange|cyberConfig][$activeSlave.sclerae = "orange",$temp = 2,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
 	<</if>>
 
 	<<if $activeSlave.earImplant == 1>><br><br>&nbsp;
@@ -177,12 +177,12 @@
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
 
 		Modify $his tail's appearance:<br>
-		[[Cat|cyberConfig][$activeSlave.tailShape = "neko",cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Dog|cyberConfig][$activeSlave.tailShape = "inu",cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Fox|cyberConfig][$activeSlave.tailShape = "kit",cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Kitsune|cyberConfig][$activeSlave.tailShape = "kitsune",cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Tanuki|cyberConfig][$activeSlave.tailShape = "tanuki",cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
-		| [[Bovine|cyberConfig][$activeSlave.tailShape = "ushi",cashX(forceNeg($modCost), "slaveSurgery", $activeSlave)]]
+		[[Cat|cyberConfig][$activeSlave.tailShape = "neko",cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Dog|cyberConfig][$activeSlave.tailShape = "inu",cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Fox|cyberConfig][$activeSlave.tailShape = "kit",cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Kitsune|cyberConfig][$activeSlave.tailShape = "kitsune",cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Tanuki|cyberConfig][$activeSlave.tailShape = "tanuki",cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
+		| [[Bovine|cyberConfig][$activeSlave.tailShape = "ushi",cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]
 	<</if>>
 <<case 1>>
 	<<set $temp = 0, $nextButton = "Continue", $nextLink = "cyberConfig">>
diff --git a/src/js/utilJS.js b/src/js/utilJS.js
index a23fad97f2d5fcf8fc1dfa4d1a01cc523687a4f7..0e4e61a472e921aab621dd69367d90fb928a3720 100644
--- a/src/js/utilJS.js
+++ b/src/js/utilJS.js
@@ -1211,7 +1211,7 @@ window.SkillIncrease = (function() {
 	function OralSkillIncrease(slave, skillIncrease) {
 		const He = capFirstChar(slave.pronoun);
 		const his = slave.possessivePronoun;
-		let r;
+		let r = '';
 		skillIncrease = skillIncrease || State.variables.skillIncrease || 1;
 
 		if (slave.oralSkill <= 10) {
@@ -1239,7 +1239,7 @@ window.SkillIncrease = (function() {
 	/** @param {App.Entity.SlaveState} slave */
 	function VaginalSkillIncrease(slave, skillIncrease) {
 		const He = capFirstChar(slave.pronoun);
-		let r;
+		let r = '';
 		skillIncrease = skillIncrease || State.variables.skillIncrease || 1;
 
 		if (slave.vaginalSkill <= 10) {
@@ -1268,7 +1268,7 @@ window.SkillIncrease = (function() {
 	function AnalSkillIncrease(slave, skillIncrease) {
 		const He = capFirstChar(slave.pronoun);
 		const his = slave.possessivePronoun;
-		let r;
+		let r ='';
 		skillIncrease = skillIncrease || State.variables.skillIncrease || 1;
 
 		if (slave.analSkill <= 10) {
@@ -1297,7 +1297,7 @@ window.SkillIncrease = (function() {
 	function WhoreSkillIncrease(slave, skillIncrease) {
 		const He = capFirstChar(slave.pronoun);
 		const his = slave.possessivePronoun;
-		let r;
+		let r ='';
 		skillIncrease = skillIncrease || State.variables.skillIncrease || 1;
 
 		if (slave.whoreSkill <= 10) {
@@ -1325,7 +1325,7 @@ window.SkillIncrease = (function() {
 	/** @param {App.Entity.SlaveState} slave */
 	function EntertainSkillIncrease(slave, skillIncrease) {
 		const He = capFirstChar(slave.pronoun);
-		let r;
+		let r ='';
 		skillIncrease = skillIncrease || State.variables.skillIncrease || 1;
 
 		if (slave.entertainSkill <= 10) {
@@ -1505,3 +1505,26 @@ window.resyncSlaveToAge = function(slave) {
 	}
 	slave.career = randomCareer(slave);
 }
+
+window.IncreasePCSkills = function(input, increase) {
+	"use strict"; const player = State.variables.PC, oldSkill = player[input];
+	increase = increase || 1;
+	player[input] += increase;
+	if (oldSkill <= 10) {
+		if (player[input] >= 10) {
+			return ` <span class='green'> <br>You have gained basic knowlege in ${input}.</span>`;
+		}
+	} else if (oldSkill <= 30) {
+		if (player[input] >= 30) {
+			return ` <span class='green'> <br>You have gained some knowlege in ${input}.</span>`;
+		}
+	} else if (oldSkill <= 60) {
+		if (player[input] >= 60) {
+			return ` <span class='green'> <br>You have become an expert in ${input}.</span>`;
+		}
+	} else if (oldSkill < 100) {
+		if (player[input] >= 100) {
+			return ` <span class='green'> <br>You have mastered ${input}.</span>`;
+		}
+	}
+};
\ No newline at end of file
diff --git a/src/npc/abort.tw b/src/npc/abort.tw
index 8e702f0eb302c3d2772bb4c87c577f337051835d..aa35a0583a0cafc0a1c241785a15a9a0b3f7469a 100644
--- a/src/npc/abort.tw
+++ b/src/npc/abort.tw
@@ -39,7 +39,7 @@ The remote surgery makes aborting a pregnancy quick and efficient.
 <<if $activeSlave.abortionTat > -1>>
 	The temporary tattoo of a child has been replaced with $his <<= ordinalSuffix($activeSlave.abortionTat)>> crossed out infant.
 	<<set $activeSlave.abortionTat++>>
-	<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>>
+	<<run cashX(forceNeg($modCost), "slaveMod", $activeSlave)>>
 <</if>>
 
 <<if lastPregRule($activeSlave,$defaultRules)>><<set $activeSlave.preg = -1>><<else>><<set $activeSlave.preg = 0>><</if>>
diff --git a/src/pregmod/csec.tw b/src/pregmod/csec.tw
index fa303a024ed9cd634df1e616b998d0ae460ec64e..a97ccd54a9109201cebb9c8a13cc93965b3fa721 100644
--- a/src/pregmod/csec.tw
+++ b/src/pregmod/csec.tw
@@ -236,7 +236,7 @@ Performing a cesarean section is trivial for the remote surgery to carry out. $a
 		<<elseif $activeSlave.devotion > 20>>
 			will naturally miss $his child<<if _curBabies > 1>>ren<</if>>, but will is broken enough to hope that $his offspring will have a better life, or at least an enjoyable one.
 		<<else>>
-			will of course @@.mediumorchid;hate you for this.@@ The mere thought of $his $fertilityAge year old daughter<<if _curBabies > 1>>s<</if>> swollen with life, and proud of it, fills $him with @@.gold;disdain.@@
+			will of course @@.mediumorchid;hate you for this.@@ The mere thought of $his <<if $minimumSlaveAge > $fertilityAge>>$minimumSlaveAge<<else>>$fertilityAge<</if>> year old daughter<<if _curBabies > 1>>s<</if>> swollen with life, and proud of it, fills $him with @@.gold;disdain.@@
 			<<set $activeSlave.devotion -= 4, $activeSlave.trust -= 4>>
 		<</if>>
 		<<set $breederOrphanageTotal += _curBabies>>
@@ -293,7 +293,7 @@ Performing a cesarean section is trivial for the remote surgery to carry out. $a
 					<<elseif $activeSlave.devotion > 20>>
 						will naturally miss $his child<<if _curBabies > 1>>ren<</if>>, but will is broken enough to hope that $his offspring will have a better life, or at least an enjoyable one.
 					<<else>>
-						will of course @@.mediumorchid;hate you for this.@@ The mere thought of $his $fertilityAge year old daughter<<if _curBabies > 1>>s<</if>> swollen with life, and proud of it, fills $him with @@.gold;disdain.@@
+						will of course @@.mediumorchid;hate you for this.@@ The mere thought of $his <<if $minimumSlaveAge > $fertilityAge>>$minimumSlaveAge<<else>>$fertilityAge<</if>> year old daughter<<if _curBabies > 1>>s<</if>> swollen with life, and proud of it, fills $him with @@.gold;disdain.@@
 						<<set $activeSlave.devotion -= 4, $activeSlave.trust -= 4>>
 					<</if>>
 					<<set $breederOrphanageTotal += _curBabies>>
@@ -393,7 +393,7 @@ Performing a cesarean section is trivial for the remote surgery to carry out. $a
 						<<elseif $activeSlave.devotion > 20>>
 							will naturally miss $his child<<if _curBabies > 1>>ren<</if>>, but will is broken enough to hope that $his offspring will have a better life, or at least an enjoyable one.
 						<<else>>
-							will of course @@.mediumorchid;hate you for this.@@ The mere thought of $his $fertilityAge year old daughter<<if _curBabies > 1>>s<</if>> swollen with life, and proud of it, fills $him with @@.gold;disdain.@@
+							will of course @@.mediumorchid;hate you for this.@@ The mere thought of $his <<if $minimumSlaveAge > $fertilityAge>>$minimumSlaveAge<<else>>$fertilityAge<</if>> year old daughter<<if _curBabies > 1>>s<</if>> swollen with life, and proud of it, fills $him with @@.gold;disdain.@@
 							<<set $activeSlave.devotion -= 4, $activeSlave.trust -= 4>>
 						<</if>>
 						<<set $breederOrphanageTotal += _curBabies>>
diff --git a/src/pregmod/saClothes.tw b/src/pregmod/saClothes.tw
index 9b36e290b7a0ea1bf3ee12c1e496048dae36c650..32f4642090985d28484b96c7ff6259b0249c5efa 100644
--- a/src/pregmod/saClothes.tw
+++ b/src/pregmod/saClothes.tw
@@ -460,7 +460,7 @@
 			<<if $slaves[$i].abortionTat > -1>>
 				The temporary tattoo of a child has been replaced with $his <<= ordinalSuffix($slaves[$i].abortionTat)>> crossed out infant.
 				<<set $slaves[$i].abortionTat++>>
-				<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $slaves[$i])>>
+				<<run cashX(forceNeg($modCost), "slaveMod", $slaves[$i])>>
 			<</if>>
 		<<else>>
 			<<if $slaves[$i].waist <= -95>>
@@ -823,7 +823,7 @@
 				<<if $slaves[$i].abortionTat > -1>>
 					The temporary tattoo of a child has been replaced with $his <<= ordinalSuffix($slaves[$i].abortionTat)>> crossed out infant.
 					<<set $slaves[$i].abortionTat++>>
-					<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $slaves[$i])>>
+					<<run cashX(forceNeg($modCost), "slaveMod", $slaves[$i])>>
 				<</if>>
 			<</if>>
 		<</if>>
diff --git a/src/pregmod/saPorn.tw b/src/pregmod/saPorn.tw
index d42bce6793666b0cbc889cef21b06fd6416af378..de8f3f29c53061bc54e2862ad869724613df1123 100644
--- a/src/pregmod/saPorn.tw
+++ b/src/pregmod/saPorn.tw
@@ -38,9 +38,6 @@
 	<<set _viewership = Math.trunc(_viewership)>>
 	<<set _adjustedViewership = _viewership>>
 	<<set _oldFame = $slaves[$i].pornFame>>
-	<<if $PC.hacking < 0>>
-		<<set $PC.hacking += 0.1>>
-	<</if>>
 
 	The studio regularly releases clips of $his daily affairs.
 
@@ -99,6 +96,7 @@
 	<<elseif $PC.hacking < 0>>
 		With your lack of skill with computers you manage to misidentify $his content, complicating searches.
 	<</if>>
+	<<= IncreasePCSkills('hacking',  0.1)>>
 
 	/*Paraphilias have the highest take of viewers*/
 	<<if $slaves[$i].sexualFlaw == "neglectful">>
diff --git a/src/pregmod/sePlayerBirth.tw b/src/pregmod/sePlayerBirth.tw
index f2fa9d2e02fbd60d55ffc1d7a938d0f52644a82a..c5700cdcf5a57a0bdebee5006a2793c571f011fb 100644
--- a/src/pregmod/sePlayerBirth.tw
+++ b/src/pregmod/sePlayerBirth.tw
@@ -601,13 +601,13 @@ You arrange yourself to give birth, relaxing until your body urges you to begin
 			Of course, there are also the @@.orange;breeding schools,@@ where your
 			<<if _curBabies == 1>>
 				<<if _gender == "XX">>
-					daughter will be taught the joys of motherhood up until she is around $fertilityAge years old, when she will be impregnated with her first child.
+					daughter will be taught the joys of motherhood up until she is around <<if $minimumSlaveAge > $fertilityAge>>$minimumSlaveAge<<else>>$fertilityAge<</if>> years old, when she will be impregnated with her first child.
 				<<else>>
 					son will be taught it is his duty to fuck every slavegirl he sees without a baby bump pregnant.
 				<</if>>
 			<<else>>
 				<<if _gender == "XX">>
-					daughters will be taught the joys of motherhood up until they are around $fertilityAge years old, when they will be impregnated for the first time.<<if _curBabies > 1>> They say multiples run in families, so your daughters should blossom into quite the fertile breeders.<</if>>
+					daughters will be taught the joys of motherhood up until they are around <<if $minimumSlaveAge > $fertilityAge>>$minimumSlaveAge<<else>>$fertilityAge<</if>> years old, when they will be impregnated for the first time.<<if _curBabies > 1>> They say multiples run in families, so your daughters should blossom into quite the fertile breeders.<</if>>
 				<<else>>
 					sons will be taught it is their duty to fuck every slavegirl they sees without a baby bump pregnant.
 				<</if>>
diff --git a/src/pregmod/widgets/seBirthWidgets.tw b/src/pregmod/widgets/seBirthWidgets.tw
index 76cfb114020445baff089da27d85db9d5afb55c0..a46c7bad5039d5eee694eea07a3a77960933d473 100644
--- a/src/pregmod/widgets/seBirthWidgets.tw
+++ b/src/pregmod/widgets/seBirthWidgets.tw
@@ -420,7 +420,7 @@ This decriptions can be expanded with more outcomes later. But it's not practica
 			<<set _fathers.push("your own design")>>
 		<<elseif $slaves[$i].curBabies[_seb].fatherID == -8>>
 			<<set _fathers.push("one of your animals")>>
-		<<elseif $slaves[$i].curBabies[_cb].fatherID == -9>>
+		<<elseif $slaves[$i].curBabies[_seb].fatherID == -9>>
 			<<set _fathers.push("a Futanari Sister")>>
 		<<else>>
 			<<set _babyDaddy = findFather($slaves[$i].curBabies[_seb].fatherID)>>
@@ -943,7 +943,7 @@ All in all,
 		<<elseif $slaves[$i].devotion > 20>>
 			will naturally miss $his child<<if _count > 1>>ren<</if>>, but will is broken enough to hope that $his offspring will have a better life, or at least an enjoyable one.
 		<<else>>
-			will of course @@.mediumorchid;hate you for this.@@ The mere thought of $his $fertilityAge year old daughter<<if _count > 1>>s<</if>> swollen with life, and proud of it, fills $him with @@.gold;disdain.@@
+			will of course @@.mediumorchid;hate you for this.@@ The mere thought of $his <<if $minimumSlaveAge > $fertilityAge>>$minimumSlaveAge<<else>>$fertilityAge<</if>> year old daughter<<if _count > 1>>s<</if>> swollen with life, and proud of it, fills $him with @@.gold;disdain.@@
 			<<set $slaves[$i].devotion -= 4, $slaves[$i].trust -= 4>>
 		<</if>>
 		<<set $breederOrphanageTotal += _count, $slaveOrphanageTotal -= _count>>
@@ -977,7 +977,7 @@ All in all,
 					<<elseif $slaves[$i].devotion > 20>>
 						will naturally miss $his child<<if _count > 1>>ren<</if>>, but will is broken enough to hope that $his offspring will have a better life, or at least an enjoyable one.
 					<<else>>
-						will of course @@.mediumorchid;hate you for this.@@ The mere thought of $his $fertilityAge year old daughter<<if _count > 1>>s<</if>> swollen with life, and proud of it, fills $him with @@.gold;disdain.@@
+						will of course @@.mediumorchid;hate you for this.@@ The mere thought of $his <<if $minimumSlaveAge > $fertilityAge>>$minimumSlaveAge<<else>>$fertilityAge<</if>> year old daughter<<if _count > 1>>s<</if>> swollen with life, and proud of it, fills $him with @@.gold;disdain.@@
 						<<set $slaves[$i].devotion -= 4, $slaves[$i].trust -= 4>>
 					<</if>>
 					<<set $breederOrphanageTotal += _count, $slaveOrphanageTotal -= _count>>
diff --git a/src/uncategorized/arcmgmt.tw b/src/uncategorized/arcmgmt.tw
index f6bce3e54467d37bb95fb52f288d5b488229062f..00e663d8038207b1f80e1f67c3db7c9d6c2c5cf5 100644
--- a/src/uncategorized/arcmgmt.tw
+++ b/src/uncategorized/arcmgmt.tw
@@ -1374,7 +1374,7 @@ earning you @@.yellowgreen;<<print cashFormat(_menialEarnings + _bioreactorEarni
 			The damage to the reactor caused by the last rebellion is extensive. Businesses and private citizens struggle to operate with the unreliable and limited energy production offered by the auxiliary generators.
 			It will still take <<if $garrison.reactorTime> 1>>$garrison.reactorTime weeks<<else>>a week<</if>> to finish repair works.
 			<<set _AWeekGrowth -= random(1,2)>>
-			<<set $garrison.reactorTime--, $PC.engineering += .1>>
+			<<set $garrison.reactorTime--, IncreasePCSkills('engineering',  0.1)>>
 		<</if>>
 	<</if>>
 	<<set _AWeekGrowth = Math.trunc(0.5*_AWeekGrowth)>>
diff --git a/src/uncategorized/bodyModification.tw b/src/uncategorized/bodyModification.tw
index 9e77734b1200cdcdca3e954ff67859c5820c5f60..a888abedc597c4e83e54abdd456f8171bd6f8f2d 100644
--- a/src/uncategorized/bodyModification.tw
+++ b/src/uncategorized/bodyModification.tw
@@ -413,31 +413,31 @@ Choose piercing style:
 		<<goto "Body Modification">>
 	<</link>>
 
-	<<if $activeSlave.earPiercing != 1>>		| [[Ear|Body Modification][$activeSlave.earPiercing = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)]]<</if>>
-	<<if $activeSlave.nosePiercing != 1>>		| [[Nose|Body Modification][$activeSlave.nosePiercing = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)]]<</if>>
-	<<if $activeSlave.eyebrowPiercing != 1>>	| [[Eyebrow|Body Modification][$activeSlave.eyebrowPiercing = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)]]<</if>>
-	<<if $activeSlave.lipsPiercing != 1>>		| [[Lips|Body Modification][$activeSlave.lipsPiercing = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)]]<</if>>
-	<<if $activeSlave.tonguePiercing != 1>>	| [[Tongue|Body Modification][$activeSlave.tonguePiercing = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)]]<</if>>
+	<<if $activeSlave.earPiercing != 1>>		| [[Ear|Body Modification][$activeSlave.earPiercing = 1, cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]<</if>>
+	<<if $activeSlave.nosePiercing != 1>>		| [[Nose|Body Modification][$activeSlave.nosePiercing = 1, cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]<</if>>
+	<<if $activeSlave.eyebrowPiercing != 1>>	| [[Eyebrow|Body Modification][$activeSlave.eyebrowPiercing = 1, cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]<</if>>
+	<<if $activeSlave.lipsPiercing != 1>>		| [[Lips|Body Modification][$activeSlave.lipsPiercing = 1, cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]<</if>>
+	<<if $activeSlave.tonguePiercing != 1>>	| [[Tongue|Body Modification][$activeSlave.tonguePiercing = 1, cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]<</if>>
 	<<if $activeSlave.nipples != "fuckable">>
-	<<if $activeSlave.nipplesPiercing != 1>>	| [[Nipples|Body Modification][$activeSlave.nipplesPiercing = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)]]<</if>>
+	<<if $activeSlave.nipplesPiercing != 1>>	| [[Nipples|Body Modification][$activeSlave.nipplesPiercing = 1, cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]<</if>>
 	<</if>>
-	<<if $activeSlave.areolaePiercing != 1>>	| [[Areolae|Body Modification][$activeSlave.areolaePiercing = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)]]<</if>>
-	<<if $activeSlave.corsetPiercing != 1>>	| [[Corset|Body Modification][$activeSlave.corsetPiercing = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)]]<</if>>
-	<<if $activeSlave.navelPiercing != 1>>		| [[Navel|Body Modification][$activeSlave.navelPiercing = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)]]<</if>>
+	<<if $activeSlave.areolaePiercing != 1>>	| [[Areolae|Body Modification][$activeSlave.areolaePiercing = 1, cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]<</if>>
+	<<if $activeSlave.corsetPiercing != 1>>	| [[Corset|Body Modification][$activeSlave.corsetPiercing = 1, cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]<</if>>
+	<<if $activeSlave.navelPiercing != 1>>		| [[Navel|Body Modification][$activeSlave.navelPiercing = 1, cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]<</if>>
 	<<if ($activeSlave.vagina != -1) || ($activeSlave.dick != 0)>>
 		<<if $activeSlave.vagina != -1>>
-			<<if $activeSlave.clitPiercing != 1>>	| [[Clit|Body Modification][$activeSlave.clitPiercing = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)]]<</if>>
+			<<if $activeSlave.clitPiercing != 1>>	| [[Clit|Body Modification][$activeSlave.clitPiercing = 1, cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]<</if>>
 		<<else>>
-			<<if $activeSlave.clitPiercing != 1>>	| [[Dickhead|Body Modification][$activeSlave.clitPiercing = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)]]<</if>>
+			<<if $activeSlave.clitPiercing != 1>>	| [[Dickhead|Body Modification][$activeSlave.clitPiercing = 1, cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]<</if>>
 		<</if>>
 	<</if>>
 	<<if ($activeSlave.vagina != -1)>>
-		<<if $activeSlave.vaginaPiercing != 1>> | [[Vagina|Body Modification][$activeSlave.vaginaPiercing = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)]]<</if>>
+		<<if $activeSlave.vaginaPiercing != 1>> | [[Vagina|Body Modification][$activeSlave.vaginaPiercing = 1, cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]<</if>>
 	<</if>>
 	<<if ($activeSlave.dick > 0)>>
-		<<if $activeSlave.dickPiercing != 1>>	| [[Dick|Body Modification][$activeSlave.dickPiercing = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)]]<</if>>
+		<<if $activeSlave.dickPiercing != 1>>	| [[Dick|Body Modification][$activeSlave.dickPiercing = 1, cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]<</if>>
 	<</if>>
-	<<if $activeSlave.anusPiercing != 1>>		| [[Anus|Body Modification][$activeSlave.anusPiercing = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)]]<</if>>
+	<<if $activeSlave.anusPiercing != 1>>		| [[Anus|Body Modification][$activeSlave.anusPiercing = 1, cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]<</if>>
 <</if>>
 
 <<if $piercingLevel == 2>>
@@ -445,55 +445,55 @@ Choose piercing style:
 	''Heavily'' pierce $his:
 
 	<<link "Entire body">>
-		<<if $activeSlave.earPiercing != 2>><<set $activeSlave.earPiercing = 2>>			<<set cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $degradation += 1>><</if>>
-		<<if $activeSlave.nosePiercing != 2>><<set $activeSlave.nosePiercing = 2>>			<<set cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $degradation += 1>><</if>>
-		<<if $activeSlave.eyebrowPiercing != 2>><<set $activeSlave.eyebrowPiercing = 2>>	<<set cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $degradation += 1>><</if>>
-		<<if $activeSlave.lipsPiercing != 2>><<set $activeSlave.lipsPiercing = 2>>			<<set cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $degradation += 1>><</if>>
-		<<if $activeSlave.tonguePiercing != 2>><<set $activeSlave.tonguePiercing = 2>>		<<set cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $degradation += 1>><</if>>
+		<<if $activeSlave.earPiercing != 2>><<set $activeSlave.earPiercing = 2>>			<<set cashX(forceNeg($modCost), "slaveMod", $activeSlave), $degradation += 1>><</if>>
+		<<if $activeSlave.nosePiercing != 2>><<set $activeSlave.nosePiercing = 2>>			<<set cashX(forceNeg($modCost), "slaveMod", $activeSlave), $degradation += 1>><</if>>
+		<<if $activeSlave.eyebrowPiercing != 2>><<set $activeSlave.eyebrowPiercing = 2>>	<<set cashX(forceNeg($modCost), "slaveMod", $activeSlave), $degradation += 1>><</if>>
+		<<if $activeSlave.lipsPiercing != 2>><<set $activeSlave.lipsPiercing = 2>>			<<set cashX(forceNeg($modCost), "slaveMod", $activeSlave), $degradation += 1>><</if>>
+		<<if $activeSlave.tonguePiercing != 2>><<set $activeSlave.tonguePiercing = 2>>		<<set cashX(forceNeg($modCost), "slaveMod", $activeSlave), $degradation += 1>><</if>>
 		<<if $activeSlave.nipples != "fuckable">>
-		<<if $activeSlave.nipplesPiercing != 2>><<set $activeSlave.nipplesPiercing = 2>>	<<set cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $degradation += 1>><</if>>
+		<<if $activeSlave.nipplesPiercing != 2>><<set $activeSlave.nipplesPiercing = 2>>	<<set cashX(forceNeg($modCost), "slaveMod", $activeSlave), $degradation += 1>><</if>>
 		<</if>>
-		<<if $activeSlave.areolaePiercing != 2>><<set $activeSlave.areolaePiercing = 2>>	<<set cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $degradation += 1>><</if>>
-		<<if $activeSlave.corsetPiercing != 2>><<set $activeSlave.corsetPiercing = 2>>		<<set cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $degradation += 1>><</if>>
-		<<if $activeSlave.navelPiercing != 2>><<set $activeSlave.navelPiercing = 2>>		<<set cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $degradation += 1>><</if>>
+		<<if $activeSlave.areolaePiercing != 2>><<set $activeSlave.areolaePiercing = 2>>	<<set cashX(forceNeg($modCost), "slaveMod", $activeSlave), $degradation += 1>><</if>>
+		<<if $activeSlave.corsetPiercing != 2>><<set $activeSlave.corsetPiercing = 2>>		<<set cashX(forceNeg($modCost), "slaveMod", $activeSlave), $degradation += 1>><</if>>
+		<<if $activeSlave.navelPiercing != 2>><<set $activeSlave.navelPiercing = 2>>		<<set cashX(forceNeg($modCost), "slaveMod", $activeSlave), $degradation += 1>><</if>>
 		<<if ($activeSlave.vagina != -1) || ($activeSlave.dick != 0)>>
-			<<if $activeSlave.clitPiercing != 2>><<set $activeSlave.clitPiercing = 2>>		<<set cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $degradation += 1>><</if>>
+			<<if $activeSlave.clitPiercing != 2>><<set $activeSlave.clitPiercing = 2>>		<<set cashX(forceNeg($modCost), "slaveMod", $activeSlave), $degradation += 1>><</if>>
 		<</if>>
 		<<if ($activeSlave.vagina != -1)>>
-			<<if $activeSlave.vaginaPiercing != 2>><<set $activeSlave.vaginaPiercing = 2>>	<<set cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $degradation += 1>><</if>>
+			<<if $activeSlave.vaginaPiercing != 2>><<set $activeSlave.vaginaPiercing = 2>>	<<set cashX(forceNeg($modCost), "slaveMod", $activeSlave), $degradation += 1>><</if>>
 		<</if>>
 		<<if ($activeSlave.dick > 0)>>
-			<<if $activeSlave.dickPiercing != 2>><<set $activeSlave.dickPiercing = 2>>		<<set cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $degradation += 1>><</if>>
+			<<if $activeSlave.dickPiercing != 2>><<set $activeSlave.dickPiercing = 2>>		<<set cashX(forceNeg($modCost), "slaveMod", $activeSlave), $degradation += 1>><</if>>
 		<</if>>
-		<<if $activeSlave.anusPiercing != 2>><<set $activeSlave.anusPiercing = 2>>			<<set cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $degradation += 1>><</if>>
+		<<if $activeSlave.anusPiercing != 2>><<set $activeSlave.anusPiercing = 2>>			<<set cashX(forceNeg($modCost), "slaveMod", $activeSlave), $degradation += 1>><</if>>
 		<<goto "Body Modification">>
 	<</link>>
 
-	<<if $activeSlave.earPiercing != 2>>		| [[Ear|Body Modification][$activeSlave.earPiercing = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$degradation += 1]]<</if>>
-	<<if $activeSlave.nosePiercing != 2>>		| [[Nose|Body Modification][$activeSlave.nosePiercing = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$degradation += 1]]<</if>>
-	<<if $activeSlave.eyebrowPiercing != 2>>	| [[Eyebrow|Body Modification][$activeSlave.eyebrowPiercing = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$degradation += 1]]<</if>>
-	<<if $activeSlave.lipsPiercing != 2>>		| [[Lips|Body Modification][$activeSlave.lipsPiercing = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$degradation += 1]]<</if>>
-	<<if $activeSlave.tonguePiercing != 2>>	| [[Tongue|Body Modification][$activeSlave.tonguePiercing = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$degradation += 1]]<</if>>
+	<<if $activeSlave.earPiercing != 2>>		| [[Ear|Body Modification][$activeSlave.earPiercing = 2, cashX(forceNeg($modCost), "slaveMod", $activeSlave),$degradation += 1]]<</if>>
+	<<if $activeSlave.nosePiercing != 2>>		| [[Nose|Body Modification][$activeSlave.nosePiercing = 2, cashX(forceNeg($modCost), "slaveMod", $activeSlave),$degradation += 1]]<</if>>
+	<<if $activeSlave.eyebrowPiercing != 2>>	| [[Eyebrow|Body Modification][$activeSlave.eyebrowPiercing = 2, cashX(forceNeg($modCost), "slaveMod", $activeSlave),$degradation += 1]]<</if>>
+	<<if $activeSlave.lipsPiercing != 2>>		| [[Lips|Body Modification][$activeSlave.lipsPiercing = 2, cashX(forceNeg($modCost), "slaveMod", $activeSlave),$degradation += 1]]<</if>>
+	<<if $activeSlave.tonguePiercing != 2>>	| [[Tongue|Body Modification][$activeSlave.tonguePiercing = 2, cashX(forceNeg($modCost), "slaveMod", $activeSlave),$degradation += 1]]<</if>>
 	<<if $activeSlave.nipples != "fuckable">>
-	<<if $activeSlave.nipplesPiercing != 2>>	| [[Nipples|Body Modification][$activeSlave.nipplesPiercing = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$degradation += 1]]<</if>>
+	<<if $activeSlave.nipplesPiercing != 2>>	| [[Nipples|Body Modification][$activeSlave.nipplesPiercing = 2, cashX(forceNeg($modCost), "slaveMod", $activeSlave),$degradation += 1]]<</if>>
 	<</if>>
-	<<if $activeSlave.areolaePiercing != 2>>	| [[Areolae|Body Modification][$activeSlave.areolaePiercing = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$degradation += 1]]<</if>>
-	<<if $activeSlave.corsetPiercing != 2>>	| [[Corset|Body Modification][$activeSlave.corsetPiercing = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$degradation += 1]]<</if>>
-	<<if $activeSlave.navelPiercing != 2>>		| [[Navel|Body Modification][$activeSlave.navelPiercing = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$degradation += 1]]<</if>>
+	<<if $activeSlave.areolaePiercing != 2>>	| [[Areolae|Body Modification][$activeSlave.areolaePiercing = 2, cashX(forceNeg($modCost), "slaveMod", $activeSlave),$degradation += 1]]<</if>>
+	<<if $activeSlave.corsetPiercing != 2>>	| [[Corset|Body Modification][$activeSlave.corsetPiercing = 2, cashX(forceNeg($modCost), "slaveMod", $activeSlave),$degradation += 1]]<</if>>
+	<<if $activeSlave.navelPiercing != 2>>		| [[Navel|Body Modification][$activeSlave.navelPiercing = 2, cashX(forceNeg($modCost), "slaveMod", $activeSlave),$degradation += 1]]<</if>>
 	<<if ($activeSlave.vagina != -1) || ($activeSlave.dick != 0)>>
 		<<if $activeSlave.vagina != -1>>
-			<<if $activeSlave.clitPiercing != 2>> | [[Clit|Body Modification][$activeSlave.clitPiercing = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$degradation += 1]]<</if>>
+			<<if $activeSlave.clitPiercing != 2>> | [[Clit|Body Modification][$activeSlave.clitPiercing = 2, cashX(forceNeg($modCost), "slaveMod", $activeSlave),$degradation += 1]]<</if>>
 		<<else>>
-			<<if $activeSlave.clitPiercing != 2>> | [[Dickhead|Body Modification][$activeSlave.clitPiercing = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$degradation += 1]]<</if>>
+			<<if $activeSlave.clitPiercing != 2>> | [[Dickhead|Body Modification][$activeSlave.clitPiercing = 2, cashX(forceNeg($modCost), "slaveMod", $activeSlave),$degradation += 1]]<</if>>
 		<</if>>
 	<</if>>
 	<<if ($activeSlave.vagina != -1)>>
-		<<if $activeSlave.vaginaPiercing != 2>> | [[Vagina|Body Modification][$activeSlave.vaginaPiercing = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$degradation += 1]]<</if>>
+		<<if $activeSlave.vaginaPiercing != 2>> | [[Vagina|Body Modification][$activeSlave.vaginaPiercing = 2, cashX(forceNeg($modCost), "slaveMod", $activeSlave),$degradation += 1]]<</if>>
 	<</if>>
 	<<if ($activeSlave.dick > 0)>>
-		<<if $activeSlave.dickPiercing != 2>>	| [[Dick|Body Modification][$activeSlave.dickPiercing = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$degradation += 1]]<</if>>
+		<<if $activeSlave.dickPiercing != 2>>	| [[Dick|Body Modification][$activeSlave.dickPiercing = 2, cashX(forceNeg($modCost), "slaveMod", $activeSlave),$degradation += 1]]<</if>>
 	<</if>>
-	<<if $activeSlave.anusPiercing != 2>>		| [[Anus|Body Modification][$activeSlave.anusPiercing = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$degradation += 1]]<</if>>
+	<<if $activeSlave.anusPiercing != 2>>		| [[Anus|Body Modification][$activeSlave.anusPiercing = 2, cashX(forceNeg($modCost), "slaveMod", $activeSlave),$degradation += 1]]<</if>>
 <</if>>
 
 <<if $piercingLevel == 3>>
@@ -531,23 +531,23 @@ Choose piercing style:
 
 	<</link>>
 
-	<<if $activeSlave.earPiercing > 0>>		| [[Ear|Body Modification][$activeSlave.earPiercing = 0, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)]]<</if>>
-	<<if $activeSlave.nosePiercing > 0>>		| [[Nose|Body Modification][$activeSlave.nosePiercing = 0, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)]]<</if>>
-	<<if $activeSlave.eyebrowPiercing > 0>>	| [[Eyebrow|Body Modification][$activeSlave.eyebrowPiercing = 0, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)]]<</if>>
-	<<if $activeSlave.lipsPiercing > 0>>		| [[Lips|Body Modification][$activeSlave.lipsPiercing = 0, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)]]<</if>>
-	<<if $activeSlave.tonguePiercing > 0>>		| [[Tongue|Body Modification][$activeSlave.tonguePiercing = 0, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)]]<</if>>
-	<<if $activeSlave.nipplesPiercing > 0>>	| [[Nipples|Body Modification][$activeSlave.nipplesPiercing = 0, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)]]<</if>>
-	<<if $activeSlave.areolaePiercing > 0>>	| [[Areolae|Body Modification][$activeSlave.areolaePiercing = 0, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)]]<</if>>
-	<<if $activeSlave.corsetPiercing > 0>>		| [[Corset|Body Modification][$activeSlave.corsetPiercing = 0, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)]]<</if>>
-	<<if $activeSlave.navelPiercing > 0>>		| [[Navel|Body Modification][$activeSlave.navelPiercing = 0, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)]]<</if>>
+	<<if $activeSlave.earPiercing > 0>>		| [[Ear|Body Modification][$activeSlave.earPiercing = 0, cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]<</if>>
+	<<if $activeSlave.nosePiercing > 0>>		| [[Nose|Body Modification][$activeSlave.nosePiercing = 0, cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]<</if>>
+	<<if $activeSlave.eyebrowPiercing > 0>>	| [[Eyebrow|Body Modification][$activeSlave.eyebrowPiercing = 0, cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]<</if>>
+	<<if $activeSlave.lipsPiercing > 0>>		| [[Lips|Body Modification][$activeSlave.lipsPiercing = 0, cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]<</if>>
+	<<if $activeSlave.tonguePiercing > 0>>		| [[Tongue|Body Modification][$activeSlave.tonguePiercing = 0, cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]<</if>>
+	<<if $activeSlave.nipplesPiercing > 0>>	| [[Nipples|Body Modification][$activeSlave.nipplesPiercing = 0, cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]<</if>>
+	<<if $activeSlave.areolaePiercing > 0>>	| [[Areolae|Body Modification][$activeSlave.areolaePiercing = 0, cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]<</if>>
+	<<if $activeSlave.corsetPiercing > 0>>		| [[Corset|Body Modification][$activeSlave.corsetPiercing = 0, cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]<</if>>
+	<<if $activeSlave.navelPiercing > 0>>		| [[Navel|Body Modification][$activeSlave.navelPiercing = 0, cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]<</if>>
 	<<if $activeSlave.vagina != -1>>
-		<<if $activeSlave.clitPiercing > 0>>	| [[Clit|Body Modification][$activeSlave.clitPiercing = 0, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)]]<</if>>
+		<<if $activeSlave.clitPiercing > 0>>	| [[Clit|Body Modification][$activeSlave.clitPiercing = 0, cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]<</if>>
 	<<else>>
-		<<if $activeSlave.clitPiercing > 0>>	| [[Dickhead|Body Modification][$activeSlave.clitPiercing = 0, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)]]<</if>>
+		<<if $activeSlave.clitPiercing > 0>>	| [[Dickhead|Body Modification][$activeSlave.clitPiercing = 0, cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]<</if>>
 	<</if>>
-	<<if $activeSlave.vaginaPiercing > 0>>		| [[Vagina|Body Modification][$activeSlave.vaginaPiercing = 0, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)]]<</if>>
-	<<if $activeSlave.dickPiercing > 0>>		| [[Dick|Body Modification][$activeSlave.dickPiercing = 0, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)]]<</if>>
-	<<if $activeSlave.anusPiercing > 0>>		| [[Anus|Body Modification][$activeSlave.anusPiercing = 0, cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)]]<</if>>
+	<<if $activeSlave.vaginaPiercing > 0>>		| [[Vagina|Body Modification][$activeSlave.vaginaPiercing = 0, cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]<</if>>
+	<<if $activeSlave.dickPiercing > 0>>		| [[Dick|Body Modification][$activeSlave.dickPiercing = 0, cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]<</if>>
+	<<if $activeSlave.anusPiercing > 0>>		| [[Anus|Body Modification][$activeSlave.anusPiercing = 0, cashX(forceNeg($modCost), "slaveMod", $activeSlave)]]<</if>>
 <</if>>
 
 <br><br>
diff --git a/src/uncategorized/brothel.tw b/src/uncategorized/brothel.tw
index 93dd74920920bdf9dc7d126eb0f46b35d6a6f170..f1c2752c26338cc51572335f310b9bdba27faa1b 100644
--- a/src/uncategorized/brothel.tw
+++ b/src/uncategorized/brothel.tw
@@ -183,8 +183,8 @@ $brothelNameCaps
 <<elseif $brothelUpgradeDrugs == 0.1>>
 	It has been upgraded with aphrodisiac injection systems that monitor the whores and adjust dosage to keep them healthy but desperately horny and hopelessly addicted. The systems are currently disabled. [[Enable them|Brothel][$brothelUpgradeDrugs = 1]] //Will increase upkeep costs//
 <<else>>
-	<<set _Tmult1 = Math.trunc(10000*$upgradeMultiplierArcology)>>
-	It is a standard brothel. [[Upgrade the brothel with aphrodisiac injection systems|Brothel][cashX(forceNeg(_Tmult1), "capEx"), $brothelUpgradeDrugs = 0.1]] //Costs <<print cashFormat(_Tmult1)>> and will increase upkeep costs//
+	<<set _Tmult1 = Math.trunc(10000*$upgradeMultiplierArcology*$HackingSkillMultiplier)>>
+	It is a standard brothel. [[Upgrade the brothel with aphrodisiac injection systems|Brothel][cashX(forceNeg(_Tmult1), "capEx"), $brothelUpgradeDrugs = 0.1, $PC.hacking += 0.1]] //Costs <<print cashFormat(_Tmult1)>> and will increase upkeep costs//
 <</if>>
 
 <br>$brothelNameCaps
diff --git a/src/uncategorized/cellblock.tw b/src/uncategorized/cellblock.tw
index edcfb43724cdf7febb695521a574b69cb27f33be..4841d4e129dd6a8f3b50aba0ee7314b813d6c58a 100644
--- a/src/uncategorized/cellblock.tw
+++ b/src/uncategorized/cellblock.tw
@@ -94,8 +94,8 @@ $cellblockNameCaps
 <<if $cellblockUpgrade == 1>>
 	Its compliance systems have been upgraded to allow slaves no mental respite, painstakingly correcting the tiniest misbehaviors to soften flaws into quirks at the cost of considerable anguish to inmates denied any rest from correction.
 <<else>>
-	<<set _Tmult1 = Math.trunc(20000*$upgradeMultiplierArcology)>>
-	Its compliance systems are standard. [[Upgrade them to soften slave flaws|Cellblock][cashX(forceNeg(_Tmult1), "capEx"), $cellblockUpgrade = 1]] //Costs <<print cashFormat(_Tmult1)>>//
+	<<set _Tmult1 = Math.trunc(20000*$upgradeMultiplierArcology*$HackingSkillMultiplier)>>
+	Its compliance systems are standard. [[Upgrade them to soften slave flaws|Cellblock][cashX(forceNeg(_Tmult1), "capEx"), $cellblockUpgrade = 1], $PC.engineering += 0.1, $PC.hacking += 0.1] //Costs <<print cashFormat(_Tmult1)>>//
 <</if>>
 
 <<if $Wardeness != 0 && canPenetrate($Warden)>>
diff --git a/src/uncategorized/clinic.tw b/src/uncategorized/clinic.tw
index 2d8fa676cdf558c6de10a774c9a4ebc77572e605..1180023b4e6897bc0d69d74128ca3d118632c0dc 100644
--- a/src/uncategorized/clinic.tw
+++ b/src/uncategorized/clinic.tw
@@ -94,8 +94,8 @@ $clinicNameCaps
 <<if $clinicUpgradeScanner == 1>>
 	$clinicNameCaps's scanners have been upgraded with a sampling system that can estimate carcinogenic damage to a slave's body.
 <<else>>
-	<<set _Tmult1 = Math.trunc(10000*$upgradeMultiplierArcology)>>
-	It mounts powerful medical scanning technology. [[Upgrade the scanners to help detect genomic damage|Clinic][cashX(forceNeg(_Tmult1), "capEx"), $clinicUpgradeScanner = 1]] //Costs <<print cashFormat(_Tmult1)>>//
+	<<set _Tmult1 = Math.trunc(10000*$upgradeMultiplierArcology*Math.min($upgradeMultiplierMedicine, $HackingSkillMultiplier))>>
+	It mounts powerful medical scanning technology. [[Upgrade the scanners to help detect genomic damage|Clinic][cashX(forceNeg(_Tmult1), "capEx"), $clinicUpgradeScanner = 1, $PC.hacking += 0.1]] //Costs <<print cashFormat(_Tmult1)>>//
 <</if>>
 
 <br>
@@ -103,15 +103,15 @@ $clinicNameCaps
 	<<if $clinicUpgradePurge == 1>>
 		The entire floor beneath $clinicName is occupied by a huge filtration plant that constantly cycles out the patients' blood to remove impurities. The blood is intensely cleaned to greatly decrease the presence of impurities at the cost of compatibility. Patients will likely be ill for the duration of the treatment.
 	<<else>>
-		<<set _Tmult3 = Math.trunc(150000*$upgradeMultiplierArcology)>>
-		The entire floor beneath $clinicName is occupied by a huge filtration plant that constantly cycles out the patients' blood to remove impurities. [[Increase the effectiveness of the impurity purging|Clinic][cashX(forceNeg(_Tmult3), "capEx"), $clinicUpgradePurge = 1]] //Costs <<print cashFormat(_Tmult3)>> and may cause health problems in slaves//
+		<<set _Tmult3 = Math.trunc(150000*$upgradeMultiplierArcology*Math.min($upgradeMultiplierMedicine, $HackingSkillMultiplier))>>
+		The entire floor beneath $clinicName is occupied by a huge filtration plant that constantly cycles out the patients' blood to remove impurities. [[Increase the effectiveness of the impurity purging|Clinic][cashX(forceNeg(_Tmult3), "capEx"), $clinicUpgradePurge = 1, $PC.hacking += 0.1]] //Costs <<print cashFormat(_Tmult3)>> and may cause health problems in slaves//
 	<</if>>
 	<<if $Nurse == 0>>
 		<br>However, without a nurse in attendance, the @@.yellow;blood treatment equipment remains idle.@@
 	<</if>>
 <<else>>
-	<<set _Tmult2 = Math.trunc(50000*$upgradeMultiplierArcology)>>
-	It includes standard dialysis equipment. [[Install advanced blood treatment equipment to help address drug side effects|Clinic][cashX(forceNeg(_Tmult2), "capEx"), $clinicUpgradeFilters = 1]] //Costs <<print cashFormat(_Tmult2)>>//
+	<<set _Tmult2 = Math.trunc(50000*$upgradeMultiplierArcology*Math.min($upgradeMultiplierMedicine, $HackingSkillMultiplier))>>
+	It includes standard dialysis equipment. [[Install advanced blood treatment equipment to help address drug side effects|Clinic][cashX(forceNeg(_Tmult2), "capEx"), $clinicUpgradeFilters = 1, $PC.hacking += 0.1]] //Costs <<print cashFormat(_Tmult2)>>//
 <</if>>
 
 <br>
diff --git a/src/uncategorized/club.tw b/src/uncategorized/club.tw
index 62a9a48f809bf3183c6c5daab817bb9b0bac70c3..1231f6018d1c489d4edbcfbb79ba71cdc84ffbf0 100644
--- a/src/uncategorized/club.tw
+++ b/src/uncategorized/club.tw
@@ -225,8 +225,8 @@ $clubNameCaps
 <<if $clubUpgradePDAs == 1>>
 	$clubNameCaps has been wired for unobtrusive personal data assistants to let your sluts pass tips about enslaveable people to your recruiter.
 <<else>>
-	<<set _Tmult1 = Math.trunc(10000*$upgradeMultiplierArcology)>>
-	The rooms are standard. [[Upgrade them with PDAs to help your recruiter|Club][cashX(forceNeg(_Tmult1), "capEx"), $clubUpgradePDAs = 1]] //Costs <<print cashFormat(_Tmult1)>> and will increase upkeep costs//
+	<<set _Tmult1 = Math.trunc(10000*$upgradeMultiplierArcology*$HackingSkillMultiplier)>>
+	The rooms are standard. [[Upgrade them with PDAs to help your recruiter|Club][cashX(forceNeg(_Tmult1), "capEx"), $clubUpgradePDAs = 1, $PC.hacking += 0.1]] //Costs <<print cashFormat(_Tmult1)>> and will increase upkeep costs//
 <</if>>
 
 <<if $DJ != 0>>
diff --git a/src/uncategorized/dairy.tw b/src/uncategorized/dairy.tw
index b2724f12dda02ed73c16b74b0e21414177031114..7941c7f5aeffa5e919214b67e49692a4cda1dd77 100644
--- a/src/uncategorized/dairy.tw
+++ b/src/uncategorized/dairy.tw
@@ -337,7 +337,7 @@ $dairyNameCaps
 		''inactive.'' [[Active|Dairy][$dairyFeedersSetting = 1]]
 	<</if>>
 <<else>>
-	$dairyNameCaps is equipped to feed and clean slaves normally. [[Upgrade the milking machines with intubators|Dairy][cashX(forceNeg(_Tmult1), "capEx"), $dairyFeedersUpgrade = 1]] //Costs <<print cashFormat(_Tmult1)>> and will increase upkeep costs//
+	$dairyNameCaps is equipped to feed and clean slaves normally. [[Upgrade the milking machines with intubators|Dairy][cashX(forceNeg(_Tmult1), "capEx"), $dairyFeedersUpgrade = 1, $PC.engineering += 0.1]] //Costs <<print cashFormat(_Tmult1)>> and will increase upkeep costs//
 
 <</if>>
 
@@ -373,7 +373,7 @@ $dairyNameCaps
 		''inactive.'' [[Activate|Dairy][$dairyStimulatorsSetting = 1]]
 	<</if>>
 <<else>>
-	$dairyNameCaps does not automatically sodomize. [[Upgrade the cockmilking machines with sodomizers|Dairy][cashX(forceNeg(_Tmult1), "capEx"), $dairyStimulatorsUpgrade = 1]] //Costs <<print cashFormat(_Tmult1)>> and will increase upkeep costs//
+	$dairyNameCaps does not automatically sodomize. [[Upgrade the cockmilking machines with sodomizers|Dairy][cashX(forceNeg(_Tmult1), "capEx"), $dairyStimulatorsUpgrade = 1, $PC.engineering += 0.1]] //Costs <<print cashFormat(_Tmult1)>> and will increase upkeep costs//
 <</if>>
 
 <<set _Tmult2 = Math.trunc(5000*$upgradeMultiplierArcology)>>
@@ -382,7 +382,7 @@ $dairyNameCaps
 <<if $dairyPrepUpgrade == 1>>
 	$dairyNameCaps features a preparatory raper designed to gape slaves for integration.
 <<else>>
-	$dairyNameCaps's industrial machines can only accept slaves with loose holes. [[Install a preparatory raper|Dairy][cashX(forceNeg(_Tmult2), "capEx"), $dairyPrepUpgrade = 1]] //Costs <<print cashFormat(_Tmult2)>>//
+	$dairyNameCaps's industrial machines can only accept slaves with loose holes. [[Install a preparatory raper|Dairy][cashX(forceNeg(_Tmult2), "capEx"), $dairyPrepUpgrade = 1, $PC.engineering += 0.1]] //Costs <<print cashFormat(_Tmult2)>>//
 <</if>>
 <</if>>
 
@@ -429,7 +429,7 @@ $dairyNameCaps
 			$dairyNameCaps is currently set to normal operation, and will allow the breasts of slimmer slaves to expand due to milking. [[Set milkers to preserve small breast sizes|Dairy][$dairySlimMaintain = 1]] //NOTE: This will NOT remove existing lactation implants//
 		<</if>>
 	<<else>>
-		Dairy cows' breasts will expand normally as a result of the milking process. [[Optimize the milking process to preserve small breast sizes|Dairy][cashX(forceNeg(_Tmult2), "capEx"), $dairySlimMaintainUpgrade = 1, $dairySlimMaintain = 1]] //Costs <<print cashFormat(_Tmult2)>>//
+		Dairy cows' breasts will expand normally as a result of the milking process. [[Optimize the milking process to preserve small breast sizes|Dairy][cashX(forceNeg(_Tmult2), "capEx"), $dairySlimMaintainUpgrade = 1, $dairySlimMaintain = 1, $PC.engineering += 0.1]] //Costs <<print cashFormat(_Tmult2)>>//
 	<</if>>
 <<elseif $arcologies[0].FSSlimnessEnthusiast > 20>>
 	<br>
@@ -441,7 +441,7 @@ $dairyNameCaps
 			$dairyNameCaps is currently set to normal operation, and will allow the breasts of slimmer slaves to expand due to milking. [[Set milkers to preserve small breast sizes|Dairy][$dairySlimMaintain = 1]] //NOTE: This will NOT remove existing lactation implants//
 		<</if>>
 	<<else>>
-		Dairy cows' breasts will expand normally as a result of the milking process. [[Optimize the milking process to preserve small breast sizes|Dairy][cashX(forceNeg(_Tmult2), "capEx"), $dairySlimMaintainUpgrade = 1, $dairySlimMaintain = 1]] //Costs <<print cashFormat(_Tmult2)>>//
+		Dairy cows' breasts will expand normally as a result of the milking process. [[Optimize the milking process to preserve small breast sizes|Dairy][cashX(forceNeg(_Tmult2), "capEx"), $dairySlimMaintainUpgrade = 1, $dairySlimMaintain = 1, $PC.engineering += 0.1] //Costs <<print cashFormat(_Tmult2)>>//
 	<</if>>
 <</if>>
 
diff --git a/src/uncategorized/endWeek.tw b/src/uncategorized/endWeek.tw
index 489fea5e476d89a4f92444f1643c4ef5f256cee2..51155d1610a83924a20c4a28da56085974ea4f46 100644
--- a/src/uncategorized/endWeek.tw
+++ b/src/uncategorized/endWeek.tw
@@ -55,6 +55,13 @@
 		}
 	}
 })>>
+<<set $organs = $organs.filter(function(o) {
+	if (o.weeksToCompletion <= 0) {
+		$completedOrgans.push(o);
+		return false;
+	}
+	return true;
+})>>
 <</if>>
 
 <<if $incubatorOrgans.length > 0>>
diff --git a/src/uncategorized/genericPlotEvents.tw b/src/uncategorized/genericPlotEvents.tw
index 54d78171e5d8dfa218c1593f2dcd1e0b8a33c9ad..901db2ddd2f2876c87de5fef961da3b66e0a6175 100644
--- a/src/uncategorized/genericPlotEvents.tw
+++ b/src/uncategorized/genericPlotEvents.tw
@@ -1347,6 +1347,7 @@ A screen opposite your desk springs to life, <<if $assistant == 0>>showing your
 	<<run newSlave($activeSlave)>> /* skip New Slave Intro */
 	<</replace>>
 <</link>>
+<<= IncreasePCSkills('warfare',  2)>>
 
 <<case "aid invitation">>
 
diff --git a/src/uncategorized/hgApplication.tw b/src/uncategorized/hgApplication.tw
index faf92e39f6022d69faf5c3bae9d8465d17520722..0d5c78539eb2e743ee384cc8c53c97bb13fc72d4 100644
--- a/src/uncategorized/hgApplication.tw
+++ b/src/uncategorized/hgApplication.tw
@@ -324,60 +324,100 @@ In spare moments $he teaches $activeSlave.slaveName how to prostitute _himself2.
 <</if>>
 <</if>>
 
-<<if $activeSlave.devotion >= -20 && $activeSlave.genes == "XY" && $activeSlave.attrXY <= 35>>
+<<if $activeSlave.devotion >= -20 && $activeSlave.genes == "XY" && $activeSlave.attrXY <= 35 && $arcologies[0].FSBodyPurist == "unset" && ($arcologies[0].FSPaternalist == "unset" || ($arcologies[0].FSPaternalist != "unset" && $modScore < 13))>>
 	<<set _piercingForbidden = 0>>
 	<<for _i = 0; _i < 1; _i++>>
 		<<if $activeSlave.earPiercing == 0>>
-			<<set $activeSlave.earPiercing = 1>>
+			<<if $arcologies[0].FSDegradationist != "unset">>
+				<<set $activeSlave.earPiercing = 2>>
+			<<else>>
+				<<set $activeSlave.earPiercing = 1>>
+			<</if>>
 			<<run RulesDeconfliction($activeSlave)>>
 			<<if $activeSlave.earPiercing != $slaveAfterRA.earPiercing>>
 				<<set _piercingForbidden = 1, $activeSlave.earPiercing = 0>>
 			<<else>>
-				$HeadGirl.slaveName knows that $activeSlave.slaveName needs help adjusting to life as a slave _girl2, so $he has the slave's ears pierced. A little feminine touch can make a big difference.
+				<<if $arcologies[0].FSDegradationist != "unset">>
+					$HeadGirl.slaveName knows that $activeSlave.slaveName needs to adjust to life as a slave _girl2, so $he has the slave's ears pierced. This will be a constant reminder that _he2 is simply a sexual object here.
+				<<else>>
+					$HeadGirl.slaveName knows that $activeSlave.slaveName needs help adjusting to life as a slave _girl2, so $he has the slave's ears pierced. A little feminine touch can make a big difference.
+				<</if>>
 				<<run cashX(forceNeg($modCost), "slaveMod", $activeSlave)>>
 				<<break>>
 			<</if>>
 		<</if>>
 		<<if $activeSlave.nosePiercing == 0>>
-			<<set $activeSlave.nosePiercing = 1>>
+			<<if $arcologies[0].FSDegradationist != "unset">>
+				<<set $activeSlave.nosePiercing = 2>>
+			<<else>>
+				<<set $activeSlave.nosePiercing = 1>>
+			<</if>>
 			<<run RulesDeconfliction($activeSlave)>>
 			<<if $activeSlave.nosePiercing != $slaveAfterRA.nosePiercing>>
 				<<set _piercingForbidden = 1, $activeSlave.nosePiercing = 0>>
 			<<else>>
-				$HeadGirl.slaveName knows that $activeSlave.slaveName needs help adjusting to life as a slave _girl2, so $he gives the slave a cute little nose piercing. It should help $activeSlave.slaveName see _himself2 as a bit more feminine.
+				<<if $arcologies[0].FSDegradationist != "unset">>
+					$HeadGirl.slaveName knows that $activeSlave.slaveName needs to adjust to life as a slave _girl2, so $he gives the slave nasal studs and a large septum ring. It should push $activeSlave.slaveName to see _himself2 as a sexual object for others to use.
+				<<else>>
+					$HeadGirl.slaveName knows that $activeSlave.slaveName needs help adjusting to life as a slave _girl2, so $he gives the slave a cute little nose piercing. It should help $activeSlave.slaveName see _himself2 as a bit more feminine.
+				<</if>>
 				<<run cashX(forceNeg($modCost), "slaveMod", $activeSlave)>>
 				<<break>>
 			<</if>>
 		<</if>>
 		<<if $activeSlave.eyebrowPiercing == 0>>
-			<<set $activeSlave.eyebrowPiercing = 1>>
+			<<if $arcologies[0].FSDegradationist != "unset">>
+				<<set $activeSlave.eyebrowPiercing = 2>>
+			<<else>>
+				<<set $activeSlave.eyebrowPiercing = 1>>
+			<</if>>
 			<<run RulesDeconfliction($activeSlave)>>
 			<<if $activeSlave.eyebrowPiercing != $slaveAfterRA.eyebrowPiercing>>
 				<<set _piercingForbidden = 1, $activeSlave.eyebrowPiercing = 0>>
 			<<else>>
-				$HeadGirl.slaveName knows that $activeSlave.slaveName needs help adjusting to life as a slave _girl2, so $he gives the slave a cute little eyebrow piercing. A slutty touch for a teenage _girl2 should help _him2 feel a little hungrier for cock.
+				<<if $arcologies[0].FSDegradationist != "unset">>
+					$HeadGirl.slaveName knows that $activeSlave.slaveName needs to adjust to life as a slave _girl2, so $he gives the slave multiple eyebrow piercings. A slutty touch for a slave _girl2 should help _him2 feel a little hungrier for cock.
+				<<else>>
+					$HeadGirl.slaveName knows that $activeSlave.slaveName needs help adjusting to life as a slave _girl2, so $he gives the slave a cute little eyebrow piercing. A slutty touch for a slave _girl2 should help _him2 feel a little hungrier for cock.
+				<</if>>
 				<<run cashX(forceNeg($modCost), "slaveMod", $activeSlave)>>
 				<<break>>
 			<</if>>
 		<</if>>
 		<<if $activeSlave.lipsPiercing == 0>>
-			<<set $activeSlave.lipsPiercing = 1>>
+			<<if $arcologies[0].FSDegradationist != "unset">>
+				<<set $activeSlave.lipsPiercing = 2>>
+			<<else>>
+				<<set $activeSlave.lipsPiercing = 1>>
+			<</if>>
 			<<run RulesDeconfliction($activeSlave)>>
 			<<if $activeSlave.lipsPiercing != $slaveAfterRA.lipsPiercing>>
 				<<set _piercingForbidden = 1, $activeSlave.lipsPiercing = 0>>
 			<<else>>
-				$HeadGirl.slaveName knows that $activeSlave.slaveName needs help adjusting to life as a slave _girl2, so $he has the slave's lower lip pierced. _His2 mouth is for pleasing penises now, so it'll help _him2 if it looks like it.
+				<<if $arcologies[0].FSDegradationist != "unset">>
+					$HeadGirl.slaveName knows that $activeSlave.slaveName needs to adjust to life as a slave _girl2, so $he has the slave's lower lip pierced. _His2 mouth is for pleasing penises now, so it'll help _him2 if it looks like it.
+				<<else>>
+					$HeadGirl.slaveName knows that $activeSlave.slaveName needs help adjusting to life as a slave _girl2, so $he has the slave's lower lip pierced. _His2 mouth is for pleasing penises now, so it'll help _him2 if it looks like it.
+				<</if>>
 				<<run cashX(forceNeg($modCost), "slaveMod", $activeSlave)>>
 				<<break>>
 			<</if>>
 		<</if>>
 		<<if $activeSlave.navelPiercing == 0>>
-			<<set $activeSlave.navelPiercing = 1>>
+			<<if $arcologies[0].FSDegradationist != "unset">>
+				<<set $activeSlave.navelPiercing = 2>>
+			<<else>>
+				<<set $activeSlave.navelPiercing = 1>>
+			<</if>>
 			<<run RulesDeconfliction($activeSlave)>>
 			<<if $activeSlave.navelPiercing != $slaveAfterRA.navelPiercing>>
 				<<set _piercingForbidden = 1, $activeSlave.navelPiercing = 0>>
 			<<else>>
-				$HeadGirl.slaveName knows that $activeSlave.slaveName needs help adjusting to life as a slave _girl2, so $he has the slave's navel pierced. The prettier _his2 lower half looks, the less reluctant _he2 should feel to take it up the butt.
+				<<if $arcologies[0].FSDegradationist != "unset">>
+					$HeadGirl.slaveName knows that $activeSlave.slaveName needs help adjusting to life as a slave _girl2, so $he has the slave's navel pierced with a big ring. Whatever _he2 thinks in _his2 mind, $HeadGirl.slaveName makes clear to _him that _his2 body belongs to you.
+				<<else>>
+					$HeadGirl.slaveName knows that $activeSlave.slaveName needs help adjusting to life as a slave _girl2, so $he has the slave's navel pierced. The prettier _his2 lower half looks, the less reluctant _he2 should feel to take it up the butt.
+				<</if>>
 				<<run cashX(forceNeg($modCost), "slaveMod", $activeSlave)>>
 				<<break>>
 			<</if>>
@@ -385,7 +425,11 @@ In spare moments $he teaches $activeSlave.slaveName how to prostitute _himself2.
 		<<break>>
 	<</for>>
 	<<if _piercingForbidden>>
-		$HeadGirl.slaveName thinks some cute piercings might help $activeSlave.slaveName adjust to life as a slave _girl2, but $he also knows you have rules applied to this slave that forbid it.
+		<<if $arcologies[0].FSDegradationist != "unset">>
+			$HeadGirl.slaveName thinks some piercings might push $activeSlave.slaveName to adjust to life as a slave _girl2, but $he also knows you have rules applied to this slave that forbid it.
+		<<else>>
+			$HeadGirl.slaveName thinks some cute piercings might help $activeSlave.slaveName adjust to life as a slave _girl2, but $he also knows you have rules applied to this slave that forbid it.
+		<</if>>
 	<</if>>
 <</if>>
 
diff --git a/src/uncategorized/manageArcology.tw b/src/uncategorized/manageArcology.tw
index edd24eb8b037e85472c0aa21468ad13de2f15f2d..53817e1651a0ab54e57500cdba7fce574958e81c 100644
--- a/src/uncategorized/manageArcology.tw
+++ b/src/uncategorized/manageArcology.tw
@@ -64,8 +64,12 @@ __Construction__
 <br>
 
 <<if ($receiverAvailable == 1) && ($FCTVenable != 0) && ($FCTVreceiver == 0)>>
-	You have not installed an FCTV receiver. Installing this receiver yourself will cost <<print cashFormat(Math.trunc(25000*$upgradeMultiplierArcology))>>. You can have your citizens pay for the fiberoptic upgrades, reducing the cost to <<print cashFormat(Math.trunc(20000*$upgradeMultiplierArcology))>>. You can also have them heavily subsidize installation, they will be upset about it, but it will only cost <<print cashFormat(Math.trunc(10000*$upgradeMultiplierArcology))>>.
-	[[No subsidy|Manage Arcology][cashX(forceNeg(Math.trunc(25000*$upgradeMultiplierArcology)), "capEx"), $FCTVreceiver = 1, $receiverAvailable = $week, repX(500, "capEx"), $PC.engineering += 1]] | [[Light subsidy|Manage Arcology][cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "capEx"), $FCTVreceiver = 1, $receiverAvailable = $week, $PC.engineering += 1]] | [[Heavy subsidy|Manage Arcology][cashX(forceNeg(Math.trunc(10000*$upgradeMultiplierArcology)), "capEx"), $FCTVreceiver = 1, $receiverAvailable = $week, repX(-1500, "capEx"), $PC.engineering += 1]]
+	You have not installed an FCTV receiver.
+	Installing this receiver yourself will cost <<print cashFormat(Math.trunc(25000*$upgradeMultiplierArcology*$HackingSkillMultiplier))>>.
+	You can have your citizens pay for the fiberoptic upgrades, reducing the cost to <<print cashFormat(Math.trunc(20000*$upgradeMultiplierArcology*$HackingSkillMultiplier))>>.
+	You can also have them heavily subsidize installation, they will be upset about it, but it will only cost <<print cashFormat(Math.trunc(10000*$upgradeMultiplierArcology*$HackingSkillMultiplier))>>.
+
+	[[No subsidy|Manage Arcology][cashX(forceNeg(Math.trunc(25000*$upgradeMultiplierArcology*$HackingSkillMultiplier)), "capEx"), $FCTVreceiver = 1, $receiverAvailable = $week, repX(500, "capEx"), $PC.hacking += 1]] | [[Light subsidy|Manage Arcology][cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology*$HackingSkillMultiplier)), "capEx"), $FCTVreceiver = 1, $receiverAvailable = $week, $PC.hacking += 1]] | [[Heavy subsidy|Manage Arcology][cashX(forceNeg(Math.trunc(10000*$upgradeMultiplierArcology*$HackingSkillMultiplier)), "capEx"), $FCTVreceiver = 1, $receiverAvailable = $week, repX(-1500, "capEx"), $PC.hacking += 1]]
 <<elseif ($FCTVreceiver == 3)>>
 	You have installed the FCTV receiver and have access to the full range of FCTV's programs. High viewership rates amongst your citizens makes it easier to pursue your societal goals.
 <<elseif ($FCTVreceiver == 2)>>
@@ -124,7 +128,7 @@ __Construction__
 		<br>
 		[[Set up the riot control center|Manage Arcology][cashX(forceNeg(Math.trunc(5000*$upgradeMultiplierArcology)), "capEx"), $riotCenter = 1, $PC.engineering += 1]]
 		//Costs <<print cashFormat(Math.trunc(5000*$upgradeMultiplierArcology))>>//
-		<<if $PC.engineering < 100>><<set $PC.engineering += 1>><</if>>
+		<<if $PC.engineering < 100>>  <<= IncreasePCSkills('engineering', 0.1)>> <</if>>
 		<br>//Building specialized in the management and suppression of rebellions.//
 	<<elseif $rebellionsEnabled == 1>>
 		<br>
diff --git a/src/uncategorized/newSlaveIntro.tw b/src/uncategorized/newSlaveIntro.tw
index 905c45ae5145e74004b3b68535be3d7ac5e1bfe0..b87cc31eb6b17899601ecd4475a936079ced245d 100644
--- a/src/uncategorized/newSlaveIntro.tw
+++ b/src/uncategorized/newSlaveIntro.tw
@@ -3,7 +3,6 @@
 /* TODO: rewrite this to take the slave's history into account */
 
 <<set $nextButton = "Continue", $showEncyclopedia = 0>>
-<<if $PC.slaving < 100 && random($PC.slaving,100) > 50>><<set $PC.slaving += .5>><<else>><<set $PC.slaving += .1>><</if>>
 
 <<if $nextLink != "AS Dump" && passage() != "Bulk Slave Intro">>
 	<<set $returnTo = $nextLink, $nextLink = "AS Dump">>
@@ -2029,4 +2028,5 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' <<
 
 <</if>>
 
-<<set $PC.trading += .1>>
+<<= IncreasePCSkills('trading',  0.1)>>
+<<if $PC.slaving < 100 && random($PC.slaving,100) > 50>> <<= IncreasePCSkills('slaving', 0.5)>> <<else>> <<= IncreasePCSkills('slaving', 0.1)>> <</if>>
\ No newline at end of file
diff --git a/src/uncategorized/pCoupAttempt.tw b/src/uncategorized/pCoupAttempt.tw
index 4acb5060b199ee9ca5c9416113feb94ba6ba1fc4..6ab1eb70388c16ff8890695daa62989bc6ea5c3e 100644
--- a/src/uncategorized/pCoupAttempt.tw
+++ b/src/uncategorized/pCoupAttempt.tw
@@ -89,6 +89,7 @@ You are awakened in the middle of the night by a jolt that shakes the entire arc
 	<</for>>
 	<<set $desc = "a damaged plate carrier bearing Daughters of Liberty insignia">>
 	<<set $trinkets.push($desc)>>
+	<<= IncreasePCSkills('warfare', 5)>>
 <<elseif $arcologies[0].FSRomanRevivalistLaw == 1>>
 	@@.yellow;The Daughters of Liberty are annihilated.@@ @@.red;$arcologies[0].name has been damaged,@@ and the repairs will be quite costly. However, the effect on your reputation is @@.green;very positive,@@ since though your victory was hard-fought and set the arcology's prosperity back @@.red;considerably,@@ you did better than other arcology owners have done when faced with similar well-armed unrest. You also took a truly impressive bag of prisoners.
 	<<set $daughtersVictory = 3>>
@@ -183,6 +184,7 @@ You are awakened in the middle of the night by a jolt that shakes the entire arc
 	<</for>>
 	<<set $desc = "a Daughters of Liberty brassard">>
 	<<set $trinkets.push($desc)>>
+	<<= IncreasePCSkills('warfare', 5)>>
 <</if>>
 
 <<if $traitor != 0>>
diff --git a/src/uncategorized/persBusiness.tw b/src/uncategorized/persBusiness.tw
index 1b5f7747402b2a2c1a550f4060bd0f0ae2f0d1e1..443c14fcab4b2760065bcd2afb7b2bef929a73e7 100644
--- a/src/uncategorized/persBusiness.tw
+++ b/src/uncategorized/persBusiness.tw
@@ -648,7 +648,7 @@
 		been negatively affected.
 	<</if>>
 	<<if $PC.hacking < 100>>
-		<<set $PC.hacking += .5>>
+		<<= IncreasePCSkills('hacking',  0.5)>>
 	<</if>>
 	<<run cashX(_windfall, "personalBusiness")>>
 
@@ -756,7 +756,7 @@
 	<<if $arcRepairTime > 0>>
 		The recent rebellion left the arcology wounded and it falls to its owner to fix it. It will still take <<if $arcRepairTime > 1>>$arcRepairTime weeks<<else>>a week<</if>> to finish repair works.
 		<<run cashX(-5000, "personalBusiness")>>
-		<<set $arcRepairTime--, $PC.engineering += .1>>
+		<<set $arcRepairTime--, IncreasePCSkills('engineering',  0.1)>>
 	<</if>>
 <</if>>
 
@@ -766,15 +766,15 @@ Routine upkeep of your demesne costs @@.yellow;<<print cashFormat($costs)>>.@@
 		<<if $weatherToday.severity-$weatherCladding > 2>>
 			<<set $weatherAwareness = 1>>
 			<<if $weatherCladding == 1>>
-				<<set _weatherRepairCost = Math.trunc((($weatherToday.severity-3)*($arcologies[0].prosperity*random(50,100)))+random(1,100)), $PC.engineering += .1>>
+				<<set _weatherRepairCost = Math.trunc((($weatherToday.severity-3)*($arcologies[0].prosperity*random(50,100)))+random(1,100)), IncreasePCSkills('engineering',  0.1)>>
 				$arcologies[0].name's hardened exterior only partially resisted the extreme weather this week, and it requires repairs costing @@.yellow;<<print cashFormat(_weatherRepairCost)>>.@@ Your citizens are @@.green;grateful@@ to you for upgrading $arcologies[0].name to provide a safe haven from the terrible climate.
 				<<run repX(500, "architecture")>>
 			<<elseif $weatherCladding == 2>>
-				<<set _weatherRepairCost to Math.trunc((($weatherToday.severity-4)*($arcologies[0].prosperity*random(50,100)))+random(1,100)), $PC.engineering += .1>>
+				<<set _weatherRepairCost to Math.trunc((($weatherToday.severity-4)*($arcologies[0].prosperity*random(50,100)))+random(1,100)), IncreasePCSkills('engineering',  0.1)>>
 				$arcologies[0].name's hardened exterior only partially resisted the extreme weather this week, and it requires repairs costing @@.yellow;<<print cashFormat(_weatherRepairCost)>>.@@ Your citizens are @@.green;grateful@@ to you for upgrading $arcologies[0].name to provide a safe haven from the terrible climate.
 				<<run repX(500, "architecture")>>
 			<<else>>
-				<<set _weatherRepairCost = Math.trunc((($weatherToday.severity-2)*($arcologies[0].prosperity*random(50,100)))+random(1,100)), $PC.engineering += .1>>
+				<<set _weatherRepairCost = Math.trunc((($weatherToday.severity-2)*($arcologies[0].prosperity*random(50,100)))+random(1,100)), IncreasePCSkills('engineering',  0.1)>>
 				Severe weather damaged the arcology this week, requiring repairs costing @@.yellow;<<print cashFormat(_weatherRepairCost)>>.@@ Your citizens are @@.red;unhappy@@ that the arcology has proven vulnerable to the terrible climate.
 				<<run repX(-50, "architecture")>>
 			<</if>>
@@ -787,16 +787,16 @@ Routine upkeep of your demesne costs @@.yellow;<<print cashFormat($costs)>>.@@
 					<<set $failedElite += 100>>
 				<</if>>
 				<<if $arcologies[0].prosperity > 50>>
-					<<set $arcologies[0].prosperity -= random(5,10), $PC.engineering += .1>>
+					<<set $arcologies[0].prosperity -= random(5,10), IncreasePCSkills('engineering',  0.1)>>
 				<</if>>
 				<<run cashX(forceNeg(Math.trunc(_weatherRepairCost/4)), "weather")>>
 			<<else>>
 				Since you lack the resources to effect prompt repairs yourself, prominent citizens step in to repair their own parts of the arcology. This is @@.red;terrible for your reputation,@@ and it also @@.red;severely reduces the arcology's prosperity.@@
 				<<if $arcologies[0].prosperity > 50>>
-					<<set $arcologies[0].prosperity -= random(5,10), $PC.engineering += .1>>
+					<<set $arcologies[0].prosperity -= random(5,10), IncreasePCSkills('engineering',  0.1)>>
 				<</if>>
 				<<run repX((Math.trunc($rep*0.9)) - $rep, "weather")>>
-				<<set $PC.engineering += .1>>
+				<<= IncreasePCSkills('engineering',  0.1)>>
 				<<run cashX(forceNeg(Math.trunc(_weatherRepairCost/4)), "weather")>>
 			<</if>>
 		<<elseif $weatherToday.severity-$weatherCladding <= 2>>
diff --git a/src/uncategorized/ptWorkaround.tw b/src/uncategorized/ptWorkaround.tw
index f717b9a850538ad6f147ac8f5e65583b697e8b3e..3a13c80c7ade2978ecb3250a0838df8f5a09db78 100644
--- a/src/uncategorized/ptWorkaround.tw
+++ b/src/uncategorized/ptWorkaround.tw
@@ -18,7 +18,6 @@
 
 <<switch $personalAttention[_ptwi].trainingRegimen>>
 <<case "build her devotion">>
-	<<set $PC.slaving += 0.2>>
 	<<set $activeSlave.devotion += 6>>
 	<<if ($activeSlave.fetishKnown == 1) && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetish == "submissive")>>
 		Since $activeSlave.slaveName is a submissive, you @@.hotpink;build $his devotion to you@@ by indulging $his need to be dominated. Already smiling to $himself, $he changes into bondage gear that blinds $him, forces $his arms behind $his back, forces $him to present $his breasts uncomfortably, and forces a painfully large dildo up $his <<if $activeSlave.vagina > 0>>vagina<<if $activeSlave.anus > 0>> and anus<</if>><<elseif $activeSlave.anus > 0>>anus<</if>>. Thus attired, $he is forced to serve you in whatever petty ways occur to you. $He holds your tablet for you on $his upthrust ass as you work, holds a thin beverage glass for you in $his upturned mouth when you eat, and lies still so you can use $his tits as a pillow whenever you recline. $He loves it.
@@ -79,10 +78,10 @@
 		Spending time with you @@.mediumaquamarine;reduces $his fear towards you.@@
 		<<set $activeSlave.trust += 6>>
 	<</if>>
+	<<= IncreasePCSkills('slaving', 0.2)>>
 	<<set $activeSlave.training = 0>>
 
 <<case "look after her">>
-	<<set $PC.slaving += 0.1>>
 	<<if $activeSlave.relationship == -3 && $activeSlave.fetish == "mindbroken">>
 		Since $activeSlave.slaveName is your wife and not all there, you keep $him under a watchful eye to make sure no harm comes to the broken $girl. $He almost seems in better spirits under your care, not that it will matter in an hour or two.
 		<<set $activeSlave.kindness++>>
@@ -106,6 +105,7 @@
 			$His loose pussy does not recover this week.
 		<</if>>
 	<</if>>
+	<<= IncreasePCSkills('slaving', 0.1)>>
 	<<set $activeSlave.training = 0>>
 
 <<case "soften her behavioral flaw">>
@@ -156,10 +156,8 @@
 			$activeSlave.slaveName remains devoted to an old world faith that serves $him as a reservoir of mental resilience. Like all such beliefs, $hers has certain sexual elements; you amuse yourself by forcing $him to break them, and rewarding $him generously when $he does.
 		<</if>>
 		<<if $activeSlave.training < 100>>
-			<<set $PC.slaving += 0.2>>
 			You make progress, but $he's the same at the end of the week.
 		<<else>>
-			<<set $PC.slaving += 0.5>>
 			<<set $activeSlave.training = 0>>
 			By the end of the week, @@.green;you resolve $his flaw into something special.@@ @@.hotpink;$His obedience has increased.@@
 			<<run SoftenBehavioralFlaw($activeSlave)>>
@@ -198,6 +196,7 @@
 			@@
 		<</if>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 
 <<case "soften her sexual flaw">>
 	<<if ($activeSlave.sexualFlaw == "none")>>
@@ -282,10 +281,8 @@
 			has something. You should probably report this as nobody knows what is currently happening. $His flaw was supposed to be $activeSlave.sexualFlaw.
 		<</switch>>
 		<<if $activeSlave.training < 100>>
-			<<set $PC.slaving += 0.2>>
 			You make progress, but $he's the same at the end of the week.
 		<<else>>
-			<<set $PC.slaving += 0.5>>
 			<<set $activeSlave.training = 0>>
 			By the end of the week, @@.green;you resolve $his flaw into something special.@@ @@.hotpink;$His obedience has increased.@@
 			<<run SoftenSexualFlaw($activeSlave)>>
@@ -324,9 +321,9 @@
 			@@
 		<</if>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 
 <<case "learn skills">>
-	<<set $PC.slaving += 0.01>>
 	<<set _trainingEfficiency = 10+Math.trunc($activeSlave.devotion/30)+Math.floor($activeSlave.intelligence/32)>>
 	<<if $PC.career == "escort">>
 		You are well-versed in sexual techniques and how to employ them, giving you an edge in teaching $him.
@@ -402,10 +399,10 @@
 		@@.yellow;$his assignment has defaulted to fostering devotion.@@
 		<<set $personalAttention[_ptwi].trainingRegimen = "build her devotion">>
 	<</if>>
+	<<= IncreasePCSkills('slaving', 0.01)>>
 	<<set $activeSlave.training = 0>>
 
 <<case "break her will">>
-	<<set $PC.slaving += 0.2>>
 	<<set $activeSlave.devotion -= 4>>
 	<<if ($activeSlave.trust > 2)>>
 		<<set $activeSlave.trust -= 15>>
@@ -437,24 +434,24 @@
 	<<if ($activeSlave.trust < -20) && ($activeSlave.fetishKnown == 0)>>
 		$He is now fully broken; @@.yellow;$his training assignment has defaulted to exploring $his sexuality.@@
 		<<set $personalAttention[_ptwi].trainingRegimen = "explore her sexuality">>
-		<<set $PC.slaving += 0.5>>
+		<<= IncreasePCSkills('slaving', 0.5)>>
 	<<elseif ($activeSlave.trust < -20)>>
 		$He is now fully broken; @@.yellow;$his training assignment has defaulted to fostering devotion.@@
 		<<set $personalAttention[_ptwi].trainingRegimen = "build her devotion">>
-		<<set $PC.slaving += 0.5>>
+		<<= IncreasePCSkills('slaving', 0.5)>>
 	<<elseif ($activeSlave.devotion > 20) && ($activeSlave.fetishKnown == 0)>>
 		$He is now obedient and attentive; @@.yellow;$his training assignment has defaulted to exploring $his sexuality.@@
 		<<set $personalAttention[_ptwi].trainingRegimen = "explore her sexuality">>
-		<<set $PC.slaving += 0.5>>
+		<<= IncreasePCSkills('slaving', 0.5)>>
 	<<elseif ($activeSlave.devotion > 20)>>
 		$He is now obedient and attentive; @@.yellow;$his training assignment has defaulted to fostering devotion.@@
 		<<set $personalAttention[_ptwi].trainingRegimen = "build her devotion">>
-		<<set $PC.slaving += 0.5>>
+		<<= IncreasePCSkills('slaving', 0.5)>>
 	<</if>>
+	<<= IncreasePCSkills('slaving', 0.2)>>
 	<<set $activeSlave.training = 0>>
 
 <<case "harshly break her will">>
-	<<set $PC.slaving += 0.4>>
 	<<set $activeSlave.devotion -= 5, $activeSlave.trust -= 10, $activeSlave.health-->>
 	<<if ($activeSlave.fetish == "mindbroken")>>
 		<<set $activeSlave.minorInjury = either("black eye", "bruise", "split lip")>>
@@ -518,8 +515,9 @@
 	<<if ($activeSlave.devotion > 20)>>
 		$He is now fully broken; @@.yellow;$his training assignment has defaulted to fostering devotion.@@
 		<<set $personalAttention[_ptwi].trainingRegimen = "build her devotion">>
-		<<set $PC.slaving += 1>>
+		<= IncreasePCSkills('slaving', 1)>>
 	<</if>>
+	<<= IncreasePCSkills('slaving', 0.4)>>
 	<<set $activeSlave.training = 0>>
 
 <<case "fix her behavioral flaw">>
@@ -558,10 +556,8 @@
 	<</if>>
 	<<set $activeSlave.training += 40>> /* fixing is easier than softening */
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		You make progress, but $he's the same at the end of the week.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		<<set $activeSlave.training = 0>>
 		By the end of the week, @@.green;you break $him of $his bad habits.@@ @@.hotpink;$His obedience has increased.@@
 		<<set $activeSlave.behavioralFlaw = "none", $activeSlave.devotion += 4>>
@@ -596,6 +592,7 @@
 			<<set $personalAttention[_ptwi].trainingRegimen = "fix her sexual flaw">>
 		<</if>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 
 <<case "fix her sexual flaw">>
 	<<switch $activeSlave.sexualFlaw>>
@@ -691,10 +688,8 @@
 	<</switch>>
 	<<set $activeSlave.training += 40>> /* fixing is easier than softening */
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		You make progress, but $he's the same at the end of the week.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		<<set $activeSlave.training = 0>>
 		By the end of the week, @@.green;you break $him of $his bad habits.@@ @@.hotpink;$His obedience has increased.@@
 		<<set $activeSlave.sexualFlaw = "none", $activeSlave.devotion += 4>>
@@ -731,9 +726,9 @@
 		<</if>>
 		@@
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 
 <<case "explore her sexuality">>
-	<<set $PC.slaving += 0.1>>
 	<<set $activeSlave.attrKnown = 1>>
 	You set about investigating $his sexuality.
 	<<if ($activeSlave.devotion < -20) && ($activeSlave.trust >= -20)>>
@@ -870,339 +865,313 @@
 		so your investigation is complete.
 	<</if>>
 	<<BasicTrainingDefaulter>>
+	<<= IncreasePCSkills('slaving', 0.1)>>
 
 <<case "induce arrogance">>
 	Since you've decided to incite $him to arrogance, you praise $him effusively, and give orders that others are to do so as well. Other slaves are punished for things $he's allowed to get away with.
 	<<InduceFlawLenityEffects>>
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		$He isn't seriously affected; you'll have to be more subtle next week.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		<<set $activeSlave.training = 0>>
 		$He begins to think $himself special, and is now @@.red;arrogant.@@
 		<<set $activeSlave.behavioralFlaw = "arrogant">>
 		<<BasicTrainingDefaulter>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 <<case "induce bitchiness">>
 	Since you've decided to induce $him to bitchiness, you keep $him in your office and induce $him to criticize other slaves, rewarding $him when $he's especially catty.
 	<<InduceFlawLenityEffects>>
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		$He goes along, but remains cautious and will need more practice.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		$He starts making @@.red;bitchy@@ remarks without being prompted.
 		<<set $activeSlave.behavioralFlaw = "bitchy">>
 		<<BasicTrainingDefaulter>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 <<case "induce odd behavior">>
 	Since you've decided to abuse $him into odd behavior, you target $him for a campaign of surprise sex. You constantly ambush $him, shove $him onto the ground, and fuck $him. Sometimes $he wakes up from bad dreams to find you penetrating $him.
 	<<InduceFlawAbuseEffects>>
 	<<if canDoVaginal($activeSlave)>><<= VaginalVCheck(10)>><<elseif canDoAnal($activeSlave)>><<= AnalVCheck(10)>><<else>><<set $activeSlave.oralCount += 10, $oralTotal += 10>><</if>>
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		$He does $his best to tolerate the abuse.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		$He starts @@.red;behaving oddly,@@ jumping at noises and mumbling to $himself.
 		<<set $activeSlave.behavioralFlaw = "odd">>
 		<<BasicTrainingDefaulter>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 <<case "induce hatred of men">>
 	In order to make $him hate men, you sometimes simply <<if $PC.dick == 1>>stick your dick in $him without asking<<else>>stuff a strap-on inside $him without asking<</if>>, and sometimes force shockingly juvenile pranks on $him. $He is regularly smacked in the face with floppy dildos.
 	<<InduceFlawAbuseEffects>>
 	<<if canDoVaginal($activeSlave)>><<= VaginalVCheck(10)>><<elseif canDoAnal($activeSlave)>><<= AnalVCheck(10)>><<else>><<set $activeSlave.oralCount += 10, $oralTotal += 10>><</if>>
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		$He focuses more on you than on the masculine aspects of this. You'll need to be more subtle next week.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		You notice $him starting to @@.red;shoot hateful glances@@ at any men $he sees.
 		<<set $activeSlave.behavioralFlaw = "hates men">>
 		<<BasicTrainingDefaulter>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 <<case "induce hatred of women">>
 	In order to make $him hate women, you keep $him in your office when $he's not otherwise occupied, and <<if $PC.vagina == 0>>make $him eat other slaves out<<else>>sit on $his face<</if>> until $he's thoroughly sick of pussy.
 	<<InduceFlawAbuseEffects>>
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		$He focuses more on you than on the feminine aspects of this. You'll need to be more subtle next week.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		You notice $him starting to @@.red;shoot hateful glances@@ at any vaginas $he sees.
 		<<set $activeSlave.behavioralFlaw = "hates women">>
 		<<BasicTrainingDefaulter>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 <<case "induce gluttony">>
 	Inducing gluttony is harder than inducing anorexia; you force $him to orgasm when $he's eating, and praise $him effusively when $he gains weight. You also provide $him with ample rations for stress eating.
 	<<set $activeSlave.training -= 20>> /* more difficult training */
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		$He eats when ordered, but isn't deeply affected. $He'll need more practice being a pig.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		You notice $him starting to @@.red;enjoy eating@@ for its own sake, even when $he's not hungry.
 		<<set $activeSlave.behavioralFlaw = "gluttonous">>
 		<<BasicTrainingDefaulter>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 <<case "induce anorexia">>
 	You criticize $him cruelly whenever $he eats, and praise thinner slaves to $his face at every opportunity.
 	<<InduceFlawAbuseEffects>>
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		$He continues consuming $his rations when ordered, and will need further training.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		$He begins to @@.red;eat only when repeatedly ordered to.@@
 		<<set $activeSlave.behavioralFlaw = "anorexic">>
 		<<BasicTrainingDefaulter>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 <<case "induce religious devotion">>
 	You direct a campaign of abuse and threats at $him, and surreptitiously ensure that a little religious text from $his home country finds its way into a hiding place in $his living area.
 	<<InduceFlawAbuseEffects>>
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		$He keeps $his head down and shows no sign of religious introspection, at least this week.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		$He begins to read it when $he thinks $he's alone, and @@.red;talks to God@@ when $he thinks only He is listening.
 		<<set $activeSlave.behavioralFlaw = "devout">>
 		<<BasicTrainingDefaulter>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 <<case "induce liberation">>
 	You direct a campaign of abuse and threats at $him, making sure to threaten $him with the absolute worst of slavery in your arcology. You also arrange for $him to witness other citizen's slaves in situations that aren't much fun.
 	<<InduceFlawAbuseEffects>>
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		$He does $his best to endure the abuse, unknowingly condemning $himself to more.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		A deep @@.red;anger about slavery@@ builds within $him.
 		<<set $activeSlave.behavioralFlaw = "liberated">>
 		<<BasicTrainingDefaulter>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 <<case "induce hatred of oral">>
 	Since you've decided to force $him to dislike oral sex, you're forced to use a complicated and refined slave breaking technique: constantly raping $his face.
 	<<InduceFlawAbuseEffects>>
 	<<set $activeSlave.oralCount += 10, $oralTotal += 10>>
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		$He does $his best to comply with the oral abuse, unknowingly condemning $himself to more.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		After gagging enough, $he finally starts to @@.red;hate oral.@@
 		<<set $activeSlave.sexualFlaw = "hates oral">>
 		<<BasicTrainingDefaulter>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 <<case "induce hatred of anal">>
 	Since you've decided to force $him to dislike anal sex, you're forced to use a complicated and refined slave breaking technique: constantly raping $his ass.
 	<<if !canDoAnal($activeSlave)>>Every time you catch $him with $his chastity off, you're there to penetrate $his rectum<</if>>.
 	<<InduceFlawAbuseEffects>>
 	<<= AnalVCheck(10)>>
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		$He does $his best to comply with your abuse of $his butthole, unknowingly condemning $himself to more assrape.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		After feeling $his poor sphincter grow sorer and sorer, $he starts to @@.red;hate anal.@@
 		<<set $activeSlave.sexualFlaw = "hates anal">>
 		<<BasicTrainingDefaulter>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 <<case "induce hatred of penetration">>
 	Since you've decided to force $him to dislike penetration, you're forced to use a complicated and refined slave breaking technique: constantly raping $him.
 	<<InduceFlawAbuseEffects>>
 	<<if canDoVaginal($activeSlave)>><<= VaginalVCheck(10)>><<elseif canDoAnal($activeSlave)>><<= AnalVCheck(10)>><<else>><<set $activeSlave.oralCount += 10, $oralTotal += 10>><</if>>
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		$He does $his best to comply with your abuse, unknowingly condemning $himself to more of it.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		After feeling $his poor holes grow sorer and sorer, $he starts to @@.red;hate getting fucked.@@
 		<<set $activeSlave.sexualFlaw = "hates penetration">>
 		<<BasicTrainingDefaulter>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 <<case "induce shame">>
 	Since you've decided to force shame on $him, you keep $him in your office whenever $he's not otherwise occupied, and heap derision on $him at every opportunity, even inviting visitors to join you in chats about how unattractive and worthless $he is.
 	<<InduceFlawAbuseEffects>>
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		$He does $his best to keep $his chin up, unknowingly condemning $himself to more of this abuse.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		$He wants nothing more than to hide in corner and cry, and is now @@.red;shamefast.@@
 		<<set $activeSlave.sexualFlaw = "shamefast">>
 		<<BasicTrainingDefaulter>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 <<case "induce sexual idealism">>
 	Since you've decided to induce $him to sexual idealism, you keep $him in your office, and when the two of you are all alone, gossip with $him about other slaves and even citizens. You do your best to encourage $him to believe absurdities.
 	<<InduceFlawLenityEffects>>
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		$He doesn't know what to make of this; you'll have to keep at it.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		$He follows along, and is now @@.red;sexually idealistic.@@
 		<<set $activeSlave.sexualFlaw = "idealistic">>
 		<<BasicTrainingDefaulter>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 <<case "induce sexual repression">>
 	Since you've decided to force sexual repression on $him, you keep $him in your office whenever $he's not otherwise occupied. You use the monitoring systems to reveal $his sexual arousal whenever it appears, and castigate and punish $him for it.
 	<<InduceFlawAbuseEffects>>
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		$He does $his best to keep $his chin up, unknowingly condemning $himself to more of this abuse.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		$He desperately tries to avoid even thinking about subjects that get $him punished, and is now @@.red;sexually repressed.@@
 		<<set $activeSlave.sexualFlaw = "repressed">>
 		<<BasicTrainingDefaulter>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 <<case "induce sexual apathy">>
 	Since you've decided to force sexual apathy on $him, you keep $him in your office whenever $he's not otherwise occupied. You use $him regularly, and punish $him whenever $he shows any sign of enjoyment.
 	<<InduceFlawAbuseEffects>>
 	<<if canDoVaginal($activeSlave)>><<= VaginalVCheck(10)>><<elseif canDoAnal($activeSlave)>><<= AnalVCheck(10)>><<else>><<set $activeSlave.oralCount += 10, $oralTotal += 10>><</if>>
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		$He continues to experience arousal when fucked, and will need more of this treatment.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		$He desperately tries to avoid arousal, and is now @@.red;sexually apathetic.@@
 		<<set $activeSlave.sexualFlaw = "apathetic">>
 		<<BasicTrainingDefaulter>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 <<case "induce crudity">>
 	Since you've decided to force sexual crudeness on $him, you keep $him in your office whenever $he's not otherwise occupied, and degrade $him cruelly. You relax the normal cleanliness rules, and require $him to leave $his used holes as they are until $he's too disgusting to fuck.
 	<<if canDoVaginal($activeSlave)>><<= VaginalVCheck(10)>><<elseif canDoAnal($activeSlave)>><<= AnalVCheck(10)>><<else>><<set $activeSlave.oralCount += 10, $oralTotal += 10>><</if>>
 	<<InduceFlawAbuseEffects>>
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		$He does $his best to tolerate the unclean feelings, condemning $himself to more of this.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		$He slowly stops caring, and is now @@.red;sexually crude.@@
 		<<set $activeSlave.sexualFlaw = "crude">>
 		<<BasicTrainingDefaulter>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 <<case "induce judgement">>
 	Since you've decided to make $him sexually judgemental, you keep $him in your office and fuck $him, <<if $PC.dick == 1>>praising $him whenever $he takes your big dick well<<else>>using a huge strap-on on $him and praising $him when $he takes it like a good girl<</if>>. You also judge others' endowments in $his presence.
 	<<InduceFlawLenityEffects>>
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		$He writes this off as bravado, and will need more training.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		$He starts to consider $himself reserved for special sexual treatment, and is now @@.red;sexually judgemental.@@
 		<<set $activeSlave.sexualFlaw = "judgemental">>
 		<<BasicTrainingDefaulter>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 <<case "induce cum addiction">>
 	The cumslut is quite pleased when you order $him to stay in your office whenever $he can for use as one of your personal oral toys. You carefully limit $his orgasms to when <<if $PC.dick == 1>>you're blowing your load down $his throat<<else>>$he's swallowing your pussyjuice<</if>>, and make $his oral adventures predictably regular.
 	<<set $activeSlave.oralCount += 10, $oralTotal += 10>>
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		$He enjoys giving you lots of oral, but will need more training to develop psychological addiction to it.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		$He begins to develop a psychological @@.yellow;addiction to cum.@@
 		<<set $activeSlave.sexualFlaw = "cum addict">>
 		<<BasicTrainingDefaulter>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 <<case "induce anal addiction">>
 	The buttslut is quite pleased when you order $him to stay in your office<<if !canDoAnal($activeSlave)>>and remove $his chastity<</if>> whenever $he can for use as one of your personal anal toys. You make $his anal orgasms predictably regular, doing your best to inculcate reliance on them.
 	<<= AnalVCheck(10)>>
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		$He enjoys all the anal attention, but will need more training to develop psychological addiction to buttsex.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		$He begins to develop a psychological @@.yellow;addiction to anal sex.@@
 		<<set $activeSlave.sexualFlaw = "anal addict">>
 		<<BasicTrainingDefaulter>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 <<case "induce attention whoring">>
 	The humiliation slut is quite pleased when you order $him to stay in your office whenever $he can, and fucking $him whenever other slaves are present. You do your best to focus $his attention on how the others react to the spectacle.
 	<<if canDoVaginal($activeSlave)>><<= VaginalVCheck(10)>><<elseif canDoAnal($activeSlave)>><<= AnalVCheck(10)>><<else>><<set $activeSlave.oralCount += 10, $oralTotal += 10>><</if>>
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		$He enjoys all the humiliation, but will need more training to become a true attention whore.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		$He becomes a @@.yellow;true attention whore,@@ caring more about the spectators than the sex.
 		<<set $activeSlave.sexualFlaw = "attention whore">>
 		<<BasicTrainingDefaulter>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 <<case "induce breast growth obsession">>
 	You inspect $his breasts multiple times a day, and praise $him effusively when they grow at all. You treat it as though it were something $he could control personally.
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		$He enjoys your attention to $his favorite part of $himself, but doesn't truly internalize your focus on their growth.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		$He begins to believe you despite $himself, and becomes @@.yellow;obsessed with breast growth.@@
 		<<set $activeSlave.sexualFlaw = "breast growth">>
 		<<BasicTrainingDefaulter>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 <<case "induce abusiveness">>
 	The dom is gratified when you order $him to stay in your office whenever $he can to fuck any slave you feel like throwing $his way. You do your best to limit $his menu items to reluctant or even rebellious slaves, and praise $him when $he forces $himself on them.
 	<<set $activeSlave.penetrativeCount += 20, $penetrativeTotal += 20>>
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		$He has fun, but $he continues to enjoy getting off more than getting to use bitches. $He'll need more practice.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		$He becomes @@.yellow;sexually abusive,@@ looking over each slave that comes into your office in the hope they'll resist.
 		<<set $activeSlave.sexualFlaw = "abusive">>
 		<<BasicTrainingDefaulter>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 <<case "induce maliciousness">>
 	The sadist is gratified when you order $him to stay in your office whenever $he can to have $his way with any slave you feel like throwing $his way. You do your best to limit $his menu items to rebellious slaves, and praise $him when $his sadism makes $him an effective punishment tool.
 	<<set $activeSlave.penetrativeCount += 20, $penetrativeTotal += 20>>
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		$He enjoys $himself, but still betrays occasional concern when slaves are really broken by what $he does to them. $He'll need more practice.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		$He becomes @@.yellow;sexually malicious,@@ going so far as to lick tears off $his victims' faces.
 		<<set $activeSlave.sexualFlaw = "malicious">>
 		<<BasicTrainingDefaulter>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 <<case "induce self hatred">>
 	You order the masochist to stay in your office whenever $he's not working or resting. You fuck $him cruelly, going beyond the pain $he enjoys into harsh degradation. And every time you use $him, you make sure to tell $him how useless $he is.
 	<<if canDoVaginal($activeSlave)>><<= VaginalVCheck(10)>><<elseif canDoAnal($activeSlave)>><<= AnalVCheck(10)>><<else>><<set $activeSlave.oralCount += 10, $oralTotal += 10>><</if>>
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		$He gets off on the pain, but $his sense of self isn't seriously affected this week.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		$He becomes @@.yellow;sexually self hating,@@ and tearfully begs to you do worse to $him, no matter how bad it gets.
 		<<set $activeSlave.sexualFlaw = "self hating">>
 		<<BasicTrainingDefaulter>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 <<case "induce sexual self neglect">>
 	You order the sub to stay in your office whenever $he's not working or resting, and use $his body for your pleasure. The instant you climax, you go back to your work or to another slave, treating $him like a piece of used tissue.
 	<<if canDoVaginal($activeSlave)>><<= VaginalVCheck(10)>><<elseif canDoAnal($activeSlave)>><<= AnalVCheck(10)>><<else>><<set $activeSlave.oralCount += 10, $oralTotal += 10>><</if>>
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		$He accepts $his utterly submissive role, but $his sense of self isn't seriously affected this week.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		$He becomes @@.yellow;sexually self neglectful,@@ and loses all expectation that those who use $him will address $his pleasure at all.
 		<<set $activeSlave.sexualFlaw = "neglectful">>
 		<<BasicTrainingDefaulter>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 <<case "induce breeding obsession">>
 	You order the pregnant slut to stay in your office whenever $he's not working or resting.
 	<<if $activeSlave.pregKnown == 0>>Since $he's not pregnant, you keep $him rigged up with an enormous sympathy belly when $he's there.<</if>> Rather than fucking $him, you praise $his pregnancy effusively, and only allow $him to get off when you're doing so.
 	<<if $activeSlave.training < 100>>
-		<<set $PC.slaving += 0.2>>
 		$He enjoys $himself, but mostly because of the pleasure. $He'll need more training.
 	<<else>>
-		<<set $PC.slaving += 0.5>>
 		$He develops an @@.yellow;obsession with breeding,@@ and begins to stroke $his belly in a disturbingly masturbatory way.
 		<<set $activeSlave.sexualFlaw = "breeder">>
 		<<BasicTrainingDefaulter>>
 	<</if>>
+	<<if $activeSlave.training < 100>> <<= IncreasePCSkills('slaving', 0.2)>> <<else>> <<= IncreasePCSkills('slaving', 0.5)>> <</if>>
 <</switch>>
 <<set $PC.slaving = Math.clamp($PC.slaving, -100, 100)>>
 
diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw
index 5837a7eb75681de66aee4cffdbabd87bfdbb66d0..197321305feb9a8f363cf0f9e0ae4757de53e389 100644
--- a/src/uncategorized/remoteSurgery.tw
+++ b/src/uncategorized/remoteSurgery.tw
@@ -525,7 +525,7 @@ $He has
 	<</if>>
 	<<if $activeSlave.boobsImplantType == 1>>
 		string
-	<<else>>
+	<<elseif $activeSlave.boobsImplant >= 800>>
 		fillable
 	<</if>>
 	breast implants.
@@ -938,7 +938,7 @@ $He's got a
 	butt
 	<<if $activeSlave.buttImplantType == 1>>
 		string
-	<<else>>
+	<<elseif $activeSlave.buttImplant >= 3>>
 		fillable
 	<</if>>
 	implants.
diff --git a/src/uncategorized/resMove.tw b/src/uncategorized/resMove.tw
index 9ea076a31a080f9e8f95982fb4c470a421ca449c..04d25bcf64b59dc353ca452576bf0fd4cdea1dd3 100644
--- a/src/uncategorized/resMove.tw
+++ b/src/uncategorized/resMove.tw
@@ -3,6 +3,7 @@
 <<set $nextButton = "Continue", $nextLink = "RIE Eligibility Check">>
 
 <<set $RESMove = $RESMove.random()>>
+<<setAssistantPronouns>>
 
 <<if $RESMove == "TSS">>
 	You receive a personal call from a senior representative of The Slavegirl School. "<<if $PC.surname>><<if $PC.title>>Mr.<<else>>Ms.<</if>> <<print $PC.surname>><<else>><<print $PC.name>><</if>>," he says without preamble, "The Slavegirl School would like to open a branch campus in $arcologies[0].name. We'd like to ask for a significant reduction in rent from your standard rate, since we could bring significant benefits to you through our presence." After some further pleasantries, he urges you to consider the offer, wishes you a pleasant day, and ends the call.
diff --git a/src/uncategorized/saDrugs.tw b/src/uncategorized/saDrugs.tw
index 306bcbf9f452cbc2291dca9c14395a6dee2d212c..a68e84f84e91731d71ed950c5a3abc77adfec74d 100644
--- a/src/uncategorized/saDrugs.tw
+++ b/src/uncategorized/saDrugs.tw
@@ -1102,7 +1102,7 @@
 			<<if $slaves[$i].abortionTat > -1>>
 				The temporary tattoo of a child has been replaced with $his <<= ordinalSuffix($slaves[$i].abortionTat)>> crossed out infant.
 				<<set $slaves[$i].abortionTat++>>
-				<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $slaves[$i])>>
+				<<run cashX(forceNeg($modCost), "slaveMod", $slaves[$i])>>
 			<</if>>
 		<</if>>
 	<</if>>
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index a1468eaf50b0bbdd4143587e803c6480551b5f2e..e609ec05ba5ec5c530046b4615877f3699d4dfe5 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -8227,7 +8227,7 @@
 			<<if $slaves[$i].abortionTat > -1>>
 				But hey, $he gets a tattoo signifying $his abortion. Was it worth it?
 				<<set $slaves[$i].abortionTat++>>
-				<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $slaves[$i])>>
+				<<run cashX(forceNeg($modCost), "slaveMod", $slaves[$i])>>
 			<</if>>
 		<</if>>
 	<</if>>
@@ -8361,7 +8361,7 @@
 					<<if $slaves[$i].abortionTat > -1>>
 						The temporary tattoo of a child has been replaced with $his <<= ordinalSuffix($slaves[$i].abortionTat)>> crossed out infant.
 						<<set $slaves[$i].abortionTat++>>
-						<<run cashX(forceNeg($surgeryCost), "slaveSurgery", $slaves[$i])>>
+						<<run cashX(forceNeg($modCost), "slaveMod", $slaves[$i])>>
 					<</if>>
 					<<run SetBellySize($slaves[$i])>>
 					<<set _miscarriage = 1>>
diff --git a/src/uncategorized/schoolroom.tw b/src/uncategorized/schoolroom.tw
index 2134cfd76cda29c9287eab9f9685ec00f26fab3a..aaf4a616a133d544b938fd9b930176e9637a76c7 100644
--- a/src/uncategorized/schoolroom.tw
+++ b/src/uncategorized/schoolroom.tw
@@ -101,11 +101,11 @@ $schoolroomNameCaps is well-equipped, with wallscreens to display lessons. These
 <</if>>
 
 <br>
-<<set _Tmult2 = Math.trunc(5000*$upgradeMultiplierArcology)>>
+<<set _Tmult2 = Math.trunc(5000*$upgradeMultiplierArcology*$HackingSkillMultiplier)>>
 <<if $schoolroomUpgradeLanguage == 1>>
 	$schoolroomNameCaps boasts state of the art linguistic interfaces that allow it to teach the basics of the arcology's lingua franca with increased success.
 <<else>>
-	$schoolroomNameCaps includes only basic language classes in its curriculum. [[Install advanced linguistic interfaces to efficiently teach the arcology's lingua franca|Schoolroom][cashX(forceNeg(_Tmult2), "capEx"), $schoolroomUpgradeLanguage = 1]] //Costs <<print cashFormat(_Tmult2)>>//
+	$schoolroomNameCaps includes only basic language classes in its curriculum. [[Install advanced linguistic interfaces to efficiently teach the arcology's lingua franca|Schoolroom][cashX(forceNeg(_Tmult2), "capEx"), $schoolroomUpgradeLanguage = 1, $PC.hacking += 0.1]] //Costs <<print cashFormat(_Tmult2)>>//
 <</if>>
 
 <br>
diff --git a/src/uncategorized/seBirth.tw b/src/uncategorized/seBirth.tw
index c252a44894e4e6118d503ab4de4ef8d88f2a1ac8..e35f7fb49be0f9a92d2f9fc5e40fc135cd43639c 100644
--- a/src/uncategorized/seBirth.tw
+++ b/src/uncategorized/seBirth.tw
@@ -90,7 +90,7 @@ I need to break single passage to several widgets, as it's been overcomplicated
 						<<elseif $slaves[$i].devotion > 20>>
 							will naturally miss $his child<<if _curBabies > 1>>ren<</if>>, but will is broken enough to hope that $his offspring will have a better life, or at least an enjoyable one.
 						<<else>>
-							will of course @@.mediumorchid;hate you for this.@@ The mere thought of $his $fertilityAge year old daughter<<if _curBabies > 1>>s<</if>> swollen with life, and proud of it, fills $him with @@.gold;disdain.@@
+							will of course @@.mediumorchid;hate you for this.@@ The mere thought of $his <<if $minimumSlaveAge > $fertilityAge>>$minimumSlaveAge<<else>>$fertilityAge<</if>> year old daughter<<if _curBabies > 1>>s<</if>> swollen with life, and proud of it, fills $him with @@.gold;disdain.@@
 							<<set $slaves[$i].devotion -= 4, $slaves[$i].trust -= 4>>
 						<</if>>
 						<<set $breederOrphanageTotal += _curBabies>>
diff --git a/src/uncategorized/seCoursingRace.tw b/src/uncategorized/seCoursingRace.tw
index cd1044199b54cacfff0d246d1204991fd9808bf9..89457ed5cc73c9a4a3ec3730689db927500e1f0a 100644
--- a/src/uncategorized/seCoursingRace.tw
+++ b/src/uncategorized/seCoursingRace.tw
@@ -181,6 +181,8 @@ You place your hand on the leash's quick release and <<if canHear($Lurcher)>>whi
 	<<set _seed = 1>>
 <</if>>
 
+<br><br>
+
 <<if _seed == 1>>
 	<<if $origin == "heavily pregnant">>
 		$His quarry is unwilling to be tackled, probably out of fear for _his2 baby, and flings _himself2 down as soon as $Lurcher.slaveName gets near.<<if !canSee($Lurcher)>> _He2 screams as _he2 sees $Lurcher.slaveName preparing to dive on _him2, alerting the blind lurcher that $his prey has already surrendered.<</if>>
diff --git a/src/uncategorized/servantsQuarters.tw b/src/uncategorized/servantsQuarters.tw
index caf7deeab844f176672efe4dc7ef8e1b4d14ef0e..b4a778b748ab58b7088399eaee5279b240480cd2 100644
--- a/src/uncategorized/servantsQuarters.tw
+++ b/src/uncategorized/servantsQuarters.tw
@@ -94,8 +94,8 @@ $servantsQuartersNameCaps
 <<if $servantsQuartersUpgradeMonitoring == 1>>
 	The quarters have been upgraded with enhanced monitoring systems to make the servants work harder, improving their obedience and efficiency.
 <<else>>
-	<<set _Tmult1 = Math.trunc(10000*$upgradeMultiplierArcology)>>
-	The quarters are standard. [[Upgrade the monitoring systems to force harder work|Servants' Quarters][cashX(forceNeg(_Tmult1), "capEx"), $servantsQuartersUpgradeMonitoring = 1]] //Costs <<print cashFormat(_Tmult1)>> and will increase upkeep costs//
+	<<set _Tmult1 = Math.trunc(10000*$upgradeMultiplierArcology*$HackingSkillMultiplier)>>
+	The quarters are standard. [[Upgrade the monitoring systems to force harder work|Servants' Quarters][cashX(forceNeg(_Tmult1), "capEx"), $servantsQuartersUpgradeMonitoring = 1, $PC.hacking += 0.1]] //Costs <<print cashFormat(_Tmult1)>> and will increase upkeep costs//
 <</if>>
 
 <<if $servantMilkers == 1>>