diff --git a/src/Corporation/corporate-constants.js b/src/Corporation/corporate-constants.js
index d10a3590f6f15ff5161d5ce1c4e4d52ced36167a..4ab47e4d1f9c592ed25c4fee8637ff6fcdda9dbe 100644
--- a/src/Corporation/corporate-constants.js
+++ b/src/Corporation/corporate-constants.js
@@ -1,4 +1,4 @@
-App.Corporate.InitConstants = function () {
+App.Corporate.InitConstants = function() {
 	App.Corporate.payoutMinimumCash = 1000000;
 	App.Corporate.payoutCorpValueMultiplier = 0.05;
 	App.Corporate.dividendOptions = [0.75, 0.5, 0.25, 0.1, 0.05];
@@ -496,16 +496,16 @@ App.Corporate.InitConstants = function () {
 			]
 		})
 	];
-	//divisionCategoriesList: Division maintenance categories are used to calculate the overhead that occurs from having multiple divisions within the same category.
+	// divisionCategoriesList: Division maintenance categories are used to calculate the overhead that occurs from having multiple divisions within the same category.
 	//  id: The identifier that will be used in division.maintenance.category
 	//  freeDivisions: How many divisions must appear in this category before the overhead cost comes into play. For example, if this is 1, then the second division will cost divisionCost, and the third will bring the overhead up to four times divisionCost.
 	//  divisionCost: How much to multiply the overhead by in cash. The first division past the free divisions will cost this much, but the value will increase exponentially.
 	//  freeDevelopment: How many developments, totaled across all divisions in the category, are ignored by this category before overhead comes into play. Note: freeDivisions does *not* affect this; if freeDevelopment is 100 and freeDivisions is 1, if you only have a single division with 110 developments, you will be charged for the 10 developments over.
 	//  developmentCost: How much to multiply the squared developments by, in cash. The first development past the ignored value will cost this much, but the cost increases exponentially.
-	//corporate: The corporate-wide overhead for divisions, beyond the individual categories.
+	// corporate: The corporate-wide overhead for divisions, beyond the individual categories.
 	//  freeDivisions: How many total divisions, across all categories, are ignored before charging corporate level overhead.
 	//  divisionCost: How much to multiply the square of counted divisions in cash. The first counted division will cost this much, but the value increases exponentially.
-	//Equations:
+	// Equations:
 	// divisionBaseOverhead = (divisions - freeDivisions) ^ 2 * divisionCost
 	// divisionOperationOverhead = (sum(development) - freeDevelopment) ^ 2 * developmentCost
 	// corpOverhead = (divisions - 2) ^ 2 * 10000
diff --git a/src/Corporation/corporate-divisionAcquiring.js b/src/Corporation/corporate-divisionAcquiring.js
index af87a640601ab0a7e477b3c6354d1da8ba60e0dd..4d1caade7f4744e5a874bcd1a97e946d6b6b3b34 100644
--- a/src/Corporation/corporate-divisionAcquiring.js
+++ b/src/Corporation/corporate-divisionAcquiring.js
@@ -1,5 +1,4 @@
 App.Corporate.Init_DivisionAcquiring = function(shared) {
-
 	App.Corporate.Division.Acquiring = class extends App.Corporate.Division.Base {
 		constructor({slaveValue, acquiring, mercenaryHelp, nextDivision}) {
 			super(arguments[0]);
@@ -10,14 +9,14 @@ App.Corporate.Init_DivisionAcquiring = function(shared) {
 				this._const.mercenaryHelp = {
 					level: mercenaryHelp.level,
 					cost: mercenaryHelp.cost
-				}
+				};
 			}
 		}
-		//abstract virtual definitions
+		// abstract virtual definitions
 		get fromMarket()		  { return false; }
 		get toMarket()			{ return true; }
 		get heldSlaves()		  { return this.getStored("Slaves"); }
-		set heldSlaves(value)	 { this.setStored("Slaves",Math.trunc(value)); }
+		set heldSlaves(value)	 { this.setStored("Slaves", Math.trunc(value)); }
 		get activeSlaves()		{ return 0; }
 		set activeSlaves(value)   { throw "Cannot set active slaves for acquiring divisions"; }
 		get processRate()		 { return this._const.acquiring.center; }
@@ -37,8 +36,7 @@ App.Corporate.Init_DivisionAcquiring = function(shared) {
 			if(newSlaves > 0) {
 				return `<span class="green">acquired ${numberWithPlural(newSlaves, "slave")}</span>`
 					 + (this.hadMercenaryHelp ? " with the help of your mercenaries" : "");
-			}
-			else {
+			} else {
 				return `<span class="red">failed to acquire any slaves</span>`
 					 + (this.hadMercenaryHelp ? " even with the help of your mercenaries" : "");
 			}
@@ -48,7 +46,7 @@ App.Corporate.Init_DivisionAcquiring = function(shared) {
 			this.heldSlaves += slaves.value;
 			return divLedger.slaves.apply(slaves);
 		}
-		//virtual overrides
+		// virtual overrides
 		get purchasedSlaveValue() {
 			return null;
 		}
@@ -68,7 +66,7 @@ App.Corporate.Init_DivisionAcquiring = function(shared) {
 		get availableRoom() { return 0; }
 		get maintenanceSlaves() { return this.developmentCount; }
 		get maintenanceCost() {
-			//If it makes sense to have mercenaries help with other types of divisions, this code and the mercenaryHelp property will need to be moved into the super class.
+			// If it makes sense to have mercenaries help with other types of divisions, this code and the mercenaryHelp property will need to be moved into the super class.
 			let baseCost = super.maintenanceCost;
 
 			if(this.hadMercenaryHelp) {
@@ -84,6 +82,6 @@ App.Corporate.Init_DivisionAcquiring = function(shared) {
 			shared.FoundingSetupAutoSell(this);
 		}
 
-		get hadMercenaryHelp() { return this.mercenaryHelp != null && V.mercenaries > this.mercenaryHelp.level;}
+		get hadMercenaryHelp() { return this.mercenaryHelp != null && V.mercenaries > this.mercenaryHelp.level; }
 	};
-}
+};
diff --git a/src/Corporation/corporate-divisionBase.js b/src/Corporation/corporate-divisionBase.js
index 871978c60ae42dddb6c41583269ef8f65c6b7f3b..40246376635fef45b628f107292691f69c9ff261 100644
--- a/src/Corporation/corporate-divisionBase.js
+++ b/src/Corporation/corporate-divisionBase.js
@@ -1,5 +1,4 @@
 App.Corporate.Init_DivisionBase = function(shared) {
-
 	App.Corporate.Division.Base = class {
 		constructor({id, name, focusDescription, sizeCost, maintenance, founding, merger}) {
 			this._const = {};
@@ -24,7 +23,7 @@ App.Corporate.Init_DivisionBase = function(shared) {
 			}
 			this.relatedDivisions = new shared.RelatedDivisionType();
 		}
-		//initialized data
+		// initialized data
 		get id()				  { return this._const.id; }
 		get sizeCost()			{ return this._const.cost; }
 		get name()				{ return this._const.name; }
@@ -35,18 +34,18 @@ App.Corporate.Init_DivisionBase = function(shared) {
 		get mergerChoices()	   { return this._const.merger; }
 		get maintenanceCategory() { return this._const.maintenance.category; }
 
-		//stored variables
+		// stored variables
 		get founded()			   { return this.getStored('') == 1; }
-		get foundedDate()		   { return this.getStored('Founded');}
+		get foundedDate()		   { return this.getStored('Founded'); }
 		get developmentCount()	  { return this.getStored("Dev"); }
 		set developmentCount(value) {
-			if(value < 0) throw "Cannot set development count to less than 0";
-			//dissolve is the only function that sets founded to false.
-			if(value == 0 && this.founded) throw "Cannot set development count to 0; use dissolve instead.";
+			if(value < 0) { throw "Cannot set development count to less than 0"; }
+			// dissolve is the only function that sets founded to false.
+			if(value == 0 && this.founded) { throw "Cannot set development count to 0; use dissolve instead."; }
 			this.setStored("Dev", value);
 		}
 
-		//calculated
+		// calculated
 		get availableRoom()	   { return Math.max(0, this.developmentCount - this.activeSlaves); }
 		get maintenanceCost() {
 			return Math.trunc( this._const.maintenance.linear	* 1000 * this.developmentCount
@@ -56,7 +55,7 @@ App.Corporate.Init_DivisionBase = function(shared) {
 		get foundingCost()		 { return this.foundingCostDivision; }
 		get canFoundCorporation()  { return this._const.founding != null; }
 		get foundingCash() {
-			if(!this.canFoundCorporation) throw `${this.name} is not set up found a corporation`
+			if(!this.canFoundCorporation) { throw `${this.name} is not set up found a corporation`; }
 			return 1000 * this._const.founding.startingPrice;
 		}
 		get value() {
@@ -64,15 +63,13 @@ App.Corporate.Init_DivisionBase = function(shared) {
 			let slaveProcValue = 0;
 			let slaveHeldValue = 0;
 
-			if(this.activeSlaves > 0)
-				slaveProcValue = this.activeSlaves * this.purchasedSlaveValue * 1000;
-			if(this.heldSlaves > 0)
-				slaveHeldValue = this.heldSlaves * this.soldSlaveValue * 1000;
+			if(this.activeSlaves > 0) { slaveProcValue = this.activeSlaves * this.purchasedSlaveValue * 1000; }
+			if(this.heldSlaves > 0) { slaveHeldValue = this.heldSlaves * this.soldSlaveValue * 1000; }
 
 			return developmentValue + slaveProcValue + slaveHeldValue;
 		}
 
-		//abstract virtual
+		// abstract virtual
 		get fromMarket()					 { throw "Must be defined"; }
 		get toMarket()					   { throw "Must be defined"; }
 		get heldSlaves()					 { throw "Must be defined"; }
@@ -90,11 +87,11 @@ App.Corporate.Init_DivisionBase = function(shared) {
 		message_endWeek_Slaves(divLedger)	{ throw "Must be defined"; }
 		endWeek_Slaves(ledger, divLedger)	{ throw "Must be defined"; }
 
-		//The value of a slave ignoring enhancements from founded divisions
-		//The actual value of a slave after all improvements
+		// The value of a slave ignoring enhancements from founded divisions
+		// The actual value of a slave after all improvements
 		get purchasedSlaveValue() {
-			let cheapest  = { 'value':Number.MAX_VALUE, 'div': null};
-			let expensive = { 'value': 0			  , 'div': null};
+			let cheapest  = {'value':Number.MAX_VALUE, 'div': null};
+			let expensive = {'value': 0, 'div': null};
 			for(let fromDiv of this.relatedDivisions.from) {
 				let initialValue = fromDiv.initialSlaveValue;
 				if(initialValue < cheapest.value) {
@@ -110,7 +107,7 @@ App.Corporate.Init_DivisionBase = function(shared) {
 				}
 			}
 			if(expensive.div != null && expensive.value != cheapest.value) {
-				//The added value of an owned intermediary takes time to work its way through this division to the next
+				// The added value of an owned intermediary takes time to work its way through this division to the next
 				let expensiveDiv = expensive.div;
 				let valueDiff = expensive.value - cheapest.value;
 				let weeksSinceFounding = V.week - (expensiveDiv.foundedDate || 0);
@@ -118,8 +115,7 @@ App.Corporate.Init_DivisionBase = function(shared) {
 				let multiplier = Math.min(weeksSinceFounding / weeksToProcess, 1);
 				let finalAddedValue = valueDiff * multiplier;
 				return cheapest.value + finalAddedValue;
-			}
-			else if(cheapest.div != null) {
+			} else if(cheapest.div != null) {
 				return cheapest.value;
 			}
 			throw "No route to acquisition found.";
@@ -129,7 +125,7 @@ App.Corporate.Init_DivisionBase = function(shared) {
 			const cost	= this.maintenanceCost;
 			const processedCount = this.maintenanceSlaves;
 
-			return { cost, perUnit: cost / processedCount };
+			return {cost, perUnit: cost / processedCount};
 		}
 		getAutoSendToDivision(division) {
 			return !App.Corporate.ownsIntermediaryDivision(this, division)
@@ -151,16 +147,16 @@ App.Corporate.Init_DivisionBase = function(shared) {
 			this.setStored("FromMarket", value ? 1 : 0);
 		}
 		endweek_Revenue(divLedger) {
-			//Unless otherwise specified, divisions don't produce revenue directly.
+			// Unless otherwise specified, divisions don't produce revenue directly.
 		}
 		endWeek_Transfer(divLedger) {
-			let transferRetval = { total:0 };
+			let transferRetval = {total:0};
 			let divisions = [];
 			for(let otherDiv of this.relatedDivisions.to.filter(div=> div.founded && this.getAutoSendToDivision(div))) {
 				const otherLedger = divLedger.weekLedger.getDivision(otherDiv);
 
 				const room = otherDiv.availableRoom - otherLedger.transfer.in;
-				if(room == 0) continue;
+				if(room == 0) { continue; }
 				divisions.push({division: otherDiv, room});
 			}
 			const fillDivisions = evenFillArray(divisions, this.heldSlaves, pair=>pair.room);
@@ -169,7 +165,6 @@ App.Corporate.Init_DivisionBase = function(shared) {
 				const value = filled.value;
 				divLedger.transfer.addDivision(division, value);
 			}
-
 		}
 		endWeek_Market(divLedger) {
 			if(this.getAutoSendToMarket()) {
@@ -182,7 +177,7 @@ App.Corporate.Init_DivisionBase = function(shared) {
 		}
 
 		create() {
-			if(this.founded) throw `${this.name} has already been founded.`;
+			if(this.founded) { throw `${this.name} has already been founded.`; }
 
 			App.Corporate.expandedDivision();
 			App.Corporate.chargeAsset(this.foundingCostDivision * 1000, "development");
@@ -197,8 +192,8 @@ App.Corporate.Init_DivisionBase = function(shared) {
 			this.relatedDivisions.to.forEach(nextDep => delete V[`${this._const.corpId}To${nextDep.id}`]);
 		}
 
-		//private helpers
+		// private helpers
 		getStored(key	   ) { return V[this._const.corpId + key];  }
 		setStored(key, value) { V[this._const.corpId + key] = value; }
 	};
-}
+};
diff --git a/src/Corporation/corporate-divisionProcessing.js b/src/Corporation/corporate-divisionProcessing.js
index 28f72f12475f7fe720f57b83deda9652b9cd5a4f..573e672ab4c5c48283858fa2227d5d85f03c5fc3 100644
--- a/src/Corporation/corporate-divisionProcessing.js
+++ b/src/Corporation/corporate-divisionProcessing.js
@@ -1,5 +1,4 @@
 App.Corporate.Init_DivisionProcessing = function(shared) {
-
 	App.Corporate.Division.Processing = class extends App.Corporate.Division.Base {
 		constructor({founding, addedValue, processing, nextDivision, slaveProcessType, slaveProcessDescription}) {
 			super(arguments[0]);
@@ -10,16 +9,16 @@ App.Corporate.Init_DivisionProcessing = function(shared) {
 			this._const.slaveProcessDescription = slaveProcessDescription;
 		}
 
-		//abstract virtual definitions
+		// abstract virtual definitions
 		get fromMarket()		{ return true; }
 		get toMarket()		  { return true; }
 		get heldSlaves()		{ return this.getStored("Slaves2"	   ); }
 		set heldSlaves(value)   {		this.setStored("Slaves2", Math.trunc(value)); }
 		get activeSlaves()	  { return this.getStored("Slaves"		); }
-		set activeSlaves(value) {		this.setStored("Slaves" , Math.trunc(value)); }
+		set activeSlaves(value) {		this.setStored("Slaves", Math.trunc(value)); }
 		get processRate()	   { return this._const.processing.center; }
 		get soldSlaveValue() {
-		  //TODO: find a way to cache this.
+		  // TODO: find a way to cache this.
 		  return this.purchasedSlaveValue + this._const.addedValue;
 		}
 		get slaveAction() {
@@ -35,19 +34,17 @@ App.Corporate.Init_DivisionProcessing = function(shared) {
 		}
 		message_endWeek_Slaves(divLedger) {
 			let newSlaves = divLedger.slaves.value;
-			//The division
-			let retval = this._const.slaveProcessType.past; //exploited
+			// The division
+			let retval = this._const.slaveProcessType.past; // exploited
 			if(newSlaves <= 0) {
 				retval += " <span class='red'>none of its slaves</span>";
-			}
-			else {
+			} else {
 				retval += ` <span class="green">${numberWithPlural(newSlaves, 'slave')}</span>`;
 			}
 			retval += ". The division ";
 			if(this.activeSlaves) {
 				retval += `is still ${this._const.slaveProcessDescription.present} ${numberWithPlural(this.activeSlaves, "slave")}`;
-			}
-			else {
+			} else {
 				retval += `doesn't have any slaves to ${this._const.slaveProcessDescription.future}`;
 			}
 			return retval;
@@ -61,10 +58,10 @@ App.Corporate.Init_DivisionProcessing = function(shared) {
 		get initialSlaveValue() {
 			const values = this.relatedDivisions.from
 												.map(fromDiv => fromDiv.initialSlaveValue);
-			if(values.length == 0) throw "No route to acquisition found.";
+			if(values.length == 0) { throw "No route to acquisition found."; }
 			return Math.min(...values) + this._const.addedValue;
 		}
-		//virtual override
+		// virtual override
 		get nextDivisions() { return this._const.nextDivisions; }
 		get developmentCount() { return super.developmentCount; }
 		set developmentCount(value) {
@@ -90,4 +87,4 @@ App.Corporate.Init_DivisionProcessing = function(shared) {
 			shared.FoundingSetupAutoSell(this);
 		}
 	};
-}
+};
diff --git a/src/Corporation/corporate-divisionWorking.js b/src/Corporation/corporate-divisionWorking.js
index 7059f8bcdb92cbc1db7cc26c1c0609fce7a5bb16..ba78aa9a3a86f549dfabf2cd30d9eb90b819b87c 100644
--- a/src/Corporation/corporate-divisionWorking.js
+++ b/src/Corporation/corporate-divisionWorking.js
@@ -1,5 +1,4 @@
 App.Corporate.Init_DivisionWorking = function(shared) {
-
 	App.Corporate.Division.Working = class extends App.Corporate.Division.Base {
 		constructor({founding, attrition, revenue, slaveWorkDescription}) {
 			super(arguments[0]);
@@ -8,7 +7,7 @@ App.Corporate.Init_DivisionWorking = function(shared) {
 			this._const.slaveWorkDescription = slaveWorkDescription;
 		}
 
-		//abstract virtual definitions
+		// abstract virtual definitions
 		get fromMarket() { return true; }
 		get toMarket() { return false; }
 		get heldSlaves() { return 0; }
@@ -37,11 +36,10 @@ App.Corporate.Init_DivisionWorking = function(shared) {
 		}
 		message_endWeek_Slaves(divLedger) {
 			let lostSlaves = divLedger.slaves.value;
-			let retval = '';//The division
+			let retval = '';// The division
 			if(this.activeSlaves <= 0) {
 				retval += `has <span class="red">no slaves</span> to ${this._const.slaveWorkDescription.future}`;
-			}
-			else {
+			} else {
 				retval += `is ${this._const.slaveWorkDescription.present} <span class="green">${numberWithPlural(this.activeSlaves, 'slave')}</span>`;
 			}
 			if(lostSlaves > 0) {
@@ -50,7 +48,7 @@ App.Corporate.Init_DivisionWorking = function(shared) {
 			return retval;
 		}
 
-		//virtual override
+		// virtual override
 		get developmentCount() { return super.developmentCount; }
 		set developmentCount(value) {
 			super.developmentCount = value;
@@ -69,17 +67,17 @@ App.Corporate.Init_DivisionWorking = function(shared) {
 		endweek_Revenue(divLedger) {
 			let {roll, value} = this._const.revenue.roll();
 			let revenue = Math.trunc(this.activeSlaves * value);
-			divLedger.revenue.apply({value: revenue, efficiency: roll });
+			divLedger.revenue.apply({value: revenue, efficiency: roll});
 		}
 		endWeek_Transfer(divLedger) {
-			//Working divisions don't do transfers
+			// Working divisions don't do transfers
 		}
 
 		get slaveRevenue() {
 			return this._const.revenue.center;
 		}
 		get maintenanceSlaves() {
-			//maintenance is paid on working slaves, not worked slaves.
+			// maintenance is paid on working slaves, not worked slaves.
 			return this.activeSlaves;
 		}
 
@@ -92,4 +90,4 @@ App.Corporate.Init_DivisionWorking = function(shared) {
 			shared.FoundingSetupAutoBuy(this);
 		}
 	};
-}
+};
diff --git a/src/Corporation/corporate.js b/src/Corporation/corporate.js
index 2900cc9d8f0c8497002dcb452e9ff0262d507ad3..a8e232ef959e3b99d849bfdb991f652373c45a5a 100644
--- a/src/Corporation/corporate.js
+++ b/src/Corporation/corporate.js
@@ -10,14 +10,14 @@ window.averageRange = class {
 	get range() { return this._const.range; }
 	roll() {
 		let roll = Math.clamp(gaussianPair(0, 0.2)[0], -0.5, 0.5);
-		return { roll, value: (roll * this.range) + this.center};
+		return {roll, value: (roll * this.range) + this.center};
 	}
 	rollInt() {
 		let retval = this.roll();
 		retval.value = Math.trunc(retval.value);
 		return retval;
 	}
-}
+};
 window.evenFillArray = function(array, amount, lookupAmount) {
 	let perItem, changed;
 	let retval = [];
@@ -45,17 +45,17 @@ window.evenFillArray = function(array, amount, lookupAmount) {
 			remainder--;
 			extra = 1;
 		}
-		retval.push({item, value: perItem + extra });
+		retval.push({item, value: perItem + extra});
 	}
 	return retval;
-}
+};
 window.typeHiddenMembers = class {
 	constructor() {
 		this._const = {};
 		this._var   = {};
 		this._cache = {};
 	}
-}
+};
 App.Corporate.Init = function() {
 	const Ledger = class {
 		constructor(corp, suffix="") {
@@ -64,25 +64,25 @@ App.Corporate.Init = function() {
 			this.clear();
 		}
 		get operations(	 )	 { return this.getStored('OpCost'			  ); }
-		set operations(value)	 { return this.setStored('OpCost'	   , value); }
+		set operations(value)	 { return this.setStored('OpCost', value); }
 
 		get localRevenue(	 )   { return this.getStored('Rev'				 ); }
-		set localRevenue(value)   { return this.setStored('Rev'		  , value); }
+		set localRevenue(value)   { return this.setStored('Rev', value); }
 
 		get development(	 )	{ return this.getStored('AssetsDev'		   ); }
-		set development(value)	{ return this.setStored('AssetsDev'	, value); }
+		set development(value)	{ return this.setStored('AssetsDev', value); }
 
 		get slaves(	 )		 { return this.getStored('AssetsSlave'		 ); }
-		set slaves(value)		 { return this.setStored('AssetsSlave'  , value); }
+		set slaves(value)		 { return this.setStored('AssetsSlave', value); }
 
 		get overhead(	 )	   { return this.getStored('Overhead'			); }
-		set overhead(value)	   { return this.setStored('Overhead'	 , value); }
+		set overhead(value)	   { return this.setStored('Overhead', value); }
 
 		get economicBoost(	 )  { return this.getStored('EconBonus'		   ); }
-		set economicBoost(value)  { return this.setStored('EconBonus'	, value); }
+		set economicBoost(value)  { return this.setStored('EconBonus', value); }
 
 		get economy(	 )		{ return this.getStored('Econ'		   ); }
-		set economy(value)		{ return this.setStored('Econ'	, value); }
+		set economy(value)		{ return this.setStored('Econ', value); }
 
 		get foreignRevenue(	 ) { return this.getStored('NeighborBonus'	   ); }
 		set foreignRevenue(value) { return this.setStored('NeighborBonus', value); }
@@ -127,11 +127,11 @@ App.Corporate.Init = function() {
 		setEconomy(economy) {
 			this.economy = economy;
 
-			//NOTE: Set economicBoost to 0 so it doesn't affect this.profit!
+			// NOTE: Set economicBoost to 0 so it doesn't affect this.profit!
 			this.economicBoost = 0; // <-- DO NOT delete
 			this.economicBoost = Math.trunc(this.profit * (economy - 100) / 100);
 		}
-		//private access
+		// private access
 		getStored(key) {
 			return this.corp.getStored(key + this.suffix);
 		}
@@ -172,7 +172,7 @@ App.Corporate.Init = function() {
 			return this._var.in;
 		}
 		set in(value) {
-			if(value == this._var.in) return;
+			if(value == this._var.in) { return; }
 			if(this._const.divLedger.market.canBuy) {
 				this._const.divLedger.market.buy -= value - this._var.in;
 			}
@@ -184,7 +184,7 @@ App.Corporate.Init = function() {
 		get divisions() {
 			return this._var.divisions;
 		}
-	}
+	};
 	const WeekProcessingMarket = class extends typeHiddenMembers {
 		constructor(divLedger) {
 			super();
@@ -198,8 +198,8 @@ App.Corporate.Init = function() {
 			return this._var.buy;
 		}
 		set buy(value) {
-			//Note: canBuy merely means we've set buy to some value, even 0.
-			//Setting to 0 after setting to another value happens when we tried to buy some number, but couldn't afford it.
+			// Note: canBuy merely means we've set buy to some value, even 0.
+			// Setting to 0 after setting to another value happens when we tried to buy some number, but couldn't afford it.
 			this._var.canBuy = true;
 			this._var.buy = value;
 			this._cache.buyValue = null;
@@ -212,13 +212,11 @@ App.Corporate.Init = function() {
 			this._cache.sellValue = null;
 		}
 		get sellValue() {
-			if(this._cache.sellValue == null)
-				this._cache.sellValue = App.Corporate.slaveMarketSellValue(this.division, this.sell);
+			if(this._cache.sellValue == null) { this._cache.sellValue = App.Corporate.slaveMarketSellValue(this.division, this.sell); }
 			return this._cache.sellValue;
 		}
 		get buyValue() {
-			if(this._cache.buyValue == null)
-				this._cache.buyValue = App.Corporate.slaveMarketPurchaseValue(this.division, this.buy);
+			if(this._cache.buyValue == null) { this._cache.buyValue = App.Corporate.slaveMarketPurchaseValue(this.division, this.buy); }
 			return this._cache.buyValue;
 		}
 		get canBuy() {
@@ -261,7 +259,7 @@ App.Corporate.Init = function() {
 		get weekLedger() {
 			return this._const.ledger;
 		}
-	}
+	};
 	const WeekProcessingOverheadCategory = class extends typeHiddenMembers {
 		constructor(categoryId) {
 			super();
@@ -279,7 +277,7 @@ App.Corporate.Init = function() {
 			const developmentCount   = this._var.divisions.reduce((r, div) => r + div.developmentCount, 0) - category.freeDevelopment;
 
 			const divisionCost	= Math.trunc(Math.pow(Math.max(ownedDivisionCount, 0), 2) * category.divisionCost   );
-			const developmentCost = Math.trunc(Math.pow(Math.max(developmentCount  , 0), 2) * category.developmentCost);
+			const developmentCost = Math.trunc(Math.pow(Math.max(developmentCount, 0), 2) * category.developmentCost);
 
 			return divisionCost + developmentCost;
 		}
@@ -328,7 +326,7 @@ App.Corporate.Init = function() {
 		}
 		get overhead() {
 			const divCount = App.Corporate.numDivisions;
-			if(divCount <= 1) return 0;
+			if(divCount <= 1) { return 0; }
 
 			const divisionOverhead = Object.values(this.maintenanceCategories).reduce((r, categoryLedger) => r + categoryLedger.cost, 0);
 			const corpMaintInfo = App.Corporate.maintenance.corporate;
@@ -349,7 +347,7 @@ App.Corporate.Init = function() {
 
 		get canSpecializeNow() { return this._var.canSpecializeNow; }
 		set canSpecializeNow(value) { this._var.canSpecializeNow = value; }
-	}
+	};
 	App.Corporate.Division = {};
 	const shared = {
 		RelatedDivisionType: class {
@@ -360,9 +358,9 @@ App.Corporate.Init = function() {
 					all:  []
 				};
 			}
-			get to()   { return this._var.to  ; }
+			get to()   { return this._var.to; }
 			get from() { return this._var.from; }
-			get all()  { return this._var.all ; }
+			get all()  { return this._var.all; }
 			addTo(value) {
 				this._var.to.push(value);
 				this._var.all.push(value);
@@ -398,11 +396,11 @@ App.Corporate.Init = function() {
 			}
 		},
 		SellUnhousedSlaves: function(division, divLedger, rate) {
-			if(divLedger.market.sell != 0) return;
+			if(divLedger.market.sell != 0) { return; }
 
 			let housing = 2 * rate * division.developmentCount;
 			let unhoused = division.heldSlaves - housing;
-			if(unhoused <= 0) return;
+			if(unhoused <= 0) { return; }
 
 			divLedger.market.sell = unhoused;
 		},
@@ -421,28 +419,25 @@ App.Corporate.Init = function() {
 			if(slaveIncrease < 1) {
 				slaveIncrease = (slaveIncrease > Math.random() ? 1 : 0);
 			}
-			return {efficiency: perDevPair.roll, value: Math.trunc(slaveIncrease) };
+			return {efficiency: perDevPair.roll, value: Math.trunc(slaveIncrease)};
 		},
 		FoundingSetupAutoBuy: function(division) {
 			let foundedFrom = division.relatedDivisions.from.filter(div=>div.founded);
 			if(foundedFrom.length == 0) {
 				division.setAutoBuyFromMarket(true);
-			}
-			else {
+			} else {
 				for(let otherDiv of foundedFrom) {
 					if(otherDiv.getAutoSendToMarket()) {
 						otherDiv.setAutoSendToDivision(division, true);
 					}
 				}
 			}
-
 		},
 		FoundingSetupAutoSell: function(division) {
 			let foundedTo = division.relatedDivisions.to.filter(div=>div.founded);
 			if(foundedTo.length == 0) {
 				division.setAutoSendToMarket(true);
-			}
-			else {
+			} else {
 				for(let otherDiv of foundedTo) {
 					if(otherDiv.getAutoBuyFromMarket()) {
 						division.setAutoSendToDivision(otherDiv, true);
@@ -469,14 +464,14 @@ App.Corporate.Init = function() {
 		}
 	}
 	let asDivision = function(division) {
-		if(_.isObject(division)) return division;
+		if(_.isObject(division)) { return division; }
 		return App.Corporate.divisions[division];
-	}
-	App.Corporate.getStored	= function(key	   ) { return V[`corp${key}`];  }
-	App.Corporate.setStored	= function(key, value) { V[`corp${key}`] = value; }
-	App.Corporate.deleteStored = function(key	   ) { delete V[`corp${key}`];  }
+	};
+	App.Corporate.getStored	= function(key	   ) { return V[`corp${key}`];  };
+	App.Corporate.setStored	= function(key, value) { V[`corp${key}`] = value; };
+	App.Corporate.deleteStored = function(key	   ) { delete V[`corp${key}`];  };
 
-	//Integer properties starting with corp
+	// Integer properties starting with corp
 	const propertyToStoryInt = {
 		cash: "Cash",
 		numDivisions: 'Div',
@@ -485,25 +480,25 @@ App.Corporate.Init = function() {
 		specializations: "Spec",
 		specializationTokens: "SpecToken",
 		specializationTimer: "SpecTimer",
-	}
+	};
 	for(const property in propertyToStoryInt) {
 		const key = propertyToStoryInt[property];
 		Object.defineProperty(App.Corporate, property, {
 		get: function(	 ) { return this.getStored(key); },
 		set: function(value) {
-			if(!Number.isFinite(value)) throw "Unreal number " + key;
+			if(!Number.isFinite(value)) { throw "Unreal number " + key; }
 			this.setStored(key, Math.trunc(value));
 		}
 		});
 	}
 
-	//Boolean properties starting with corp (true == 1, false == 0)
+	// Boolean properties starting with corp (true == 1, false == 0)
 	const propertyToStoryBool = {
 		founded: "Incorporated",
 		hasMarket: "Market",
 		payoutCash: "CashDividend",
 		canExpand: 'ExpandToken',
-	}
+	};
 	for(const property in propertyToStoryBool) {
 		const key = propertyToStoryBool[property];
 		Object.defineProperty(App.Corporate, property, {
@@ -512,10 +507,10 @@ App.Corporate.Init = function() {
 		});
 	}
 
-	//Abnormal properties
+	// Abnormal properties
 	Object.defineProperty(App.Corporate, "value", {
 		get: function() {
-			if(!this.founded) return 0;
+			if(!this.founded) { return 0; }
 			let corpAssets = App.Corporate.divisionList
 										  .filter(div=>div.founded)
 										  .reduce((v, div)=>v + div.value, 0);
@@ -523,11 +518,11 @@ App.Corporate.Init = function() {
 		}
 	});
 	Object.defineProperty(App.Corporate, "dividendRatio", {
-		get: function(	 ) { return V.dividendRatio ;		},
+		get: function(	 ) { return V.dividendRatio;		},
 		set: function(value) {		V.dividendRatio = value; }
 	});
 	Object.defineProperty(App.Corporate, "dividendTimer", {
-		get: function(	 ) { return V.dividendTimer ;		},
+		get: function(	 ) { return V.dividendTimer;		},
 		set: function(value) {		V.dividendTimer = value; }
 	});
 	Object.defineProperty(App.Corporate, "payoutAfterCash", {
@@ -537,9 +532,9 @@ App.Corporate.Init = function() {
 	});
 
 	const SharesType = class {
-		get personal()	  { return V.personalShares ;		}
+		get personal()	  { return V.personalShares;		}
 		set personal(value) {		V.personalShares = value; }
-		get public()		{ return V.publicShares   ;		}
+		get public()		{ return V.publicShares;		}
 		set public(value)   {		V.publicShares   = value; }
 		get total()		 { return this.personal + this.public; }
 	};
@@ -564,7 +559,7 @@ App.Corporate.Init = function() {
 		division = asDivision(division);
 		let costToPlayer = Math.trunc((division.foundingCash / (personalShares + publicShares)) * personalShares);
 		return costToPlayer;
-	}
+	};
 	App.Corporate.create = function(division, personalShares, publicShares) {
 		this.shares.personal = personalShares;
 		this.shares.public   = publicShares;
@@ -577,7 +572,7 @@ App.Corporate.Init = function() {
 
 		this.ledger.clear();
 
-		//this will be updated by division.create
+		// this will be updated by division.create
 		this.numDivisions = 0;
 		this.expansionTokens = 1;
 
@@ -646,25 +641,25 @@ App.Corporate.Init = function() {
 		this.numDivisions -= 1;
 	};
 	App.Corporate.chargeAsset = function(cost, type) {
-		if(!Number.isFinite(cost)) throw "The cost provided was not a real number";
+		if(!Number.isFinite(cost)) { throw "The cost provided was not a real number"; }
 		cost = Math.trunc(cost);
-		if(!(type in this.ledger.current)) throw `Ledger doesn't record '${type}' category.`;
-		if(cost == 0) return;
+		if(!(type in this.ledger.current)) { throw `Ledger doesn't record '${type}' category.`; }
+		if(cost == 0) { return; }
 
 		this.ledger.current[type] += cost;
 		this.cash -= cost;
 	};
 	App.Corporate.earnRevenue = function(cost, locality) {
-		if(!Number.isFinite(cost)) throw "The cost provided was not real";
+		if(!Number.isFinite(cost)) { throw "The cost provided was not real"; }
 		cost = Math.trunc(cost);
 		let current = this.ledger.current;
 		let key = `${locality}Revenue`;
-		if(!(key in current)) throw `Unknown locality '${locality}'`;
+		if(!(key in current)) { throw `Unknown locality '${locality}'`; }
 		current[key] += cost;
 		this.cash += cost;
 	};
 	App.Corporate.chargeDividend = function(cost, weekLedger) {
-		if(!Number.isFinite(cost)) throw "The cost provided was not real";
+		if(!Number.isFinite(cost)) { throw "The cost provided was not real"; }
 		cost = Math.trunc(cost);
 		if(weekLedger == null) {
 			debugger;
@@ -673,18 +668,18 @@ App.Corporate.Init = function() {
 		this.dividend += cost;
 		this.cash -= cost;
 		weekLedger.dividend += cost;
-	}
+	};
 	App.Corporate.creditEconomy = function() {
 		this.ledger.current.setEconomy(V.localEcon);
 		this.cash += this.ledger.current.economicBoost;
-	}
+	};
 	/* Need to prevent skipping intermediaries if they exist, ie break->surgery->train, you can skip surgery only if you don't have it.*/
 	App.Corporate.ownsIntermediaryDivision = function(fromDivision, toDivision) {
 		for(let intermediateDiv of toDivision.relatedDivisions
 											 .from
 											 .filter(iDep => iDep.id != fromDivision.id
 														  && fromDivision.relatedDivisions.to.includes(iDep))) {
-			if(intermediateDiv.founded) return true;
+			if(intermediateDiv.founded) { return true; }
 		}
 		return false;
 	};
@@ -701,7 +696,7 @@ App.Corporate.Init = function() {
 		return Math.trunc(totalValue);
 	};
 	App.Corporate.buySlaves = function(division, count) {
-		if(count <= 0) return 0;
+		if(count <= 0) { return 0; }
 
 		division = asDivision(division);
 		let purchasePrice = this.slaveMarketPurchaseValue(division, count);
@@ -715,7 +710,7 @@ App.Corporate.Init = function() {
 		return purchasePrice;
 	};
 	App.Corporate.sellSlaves = function(division, count) {
-		if(count <= 0) return 0;
+		if(count <= 0) { return 0; }
 
 		division = asDivision(division);
 		if(division.heldSlaves < count) { throw "Attempted to sell more slaves than held."; }
@@ -731,7 +726,7 @@ App.Corporate.Init = function() {
 		toDivision = asDivision(toDivision);
 		// TODO: validate the from and to departments are directly connected.
 
-		if(fromDivision.heldSlaves < count) throw `Tried to move ${count} slaves out of ${fromDivision.name}, but it only had ${fromDivision.heldSlaves}`;
+		if(fromDivision.heldSlaves < count) { throw `Tried to move ${count} slaves out of ${fromDivision.name}, but it only had ${fromDivision.heldSlaves}`; }
 
 		fromDivision.heldSlaves -= count;
 		toDivision.activeSlaves += count;
@@ -750,7 +745,7 @@ App.Corporate.Init = function() {
 
 		const devCount = division.developmentCount;
 		count = count || devCount;
-		if(count > devCount) throw `Attempted to sell more of a division ${division.id} than exists (${count} of ${devCount})`;
+		if(count > devCount) { throw `Attempted to sell more of a division ${division.id} than exists (${count} of ${devCount})`; }
 		const developmentCost = Math.trunc(count * division.sizeCost * 800);
 		this.chargeAsset(-developmentCost, "development");
 		division.developmentCount -= count;
@@ -769,29 +764,24 @@ App.Corporate.Init = function() {
 		division = asDivision(division);
 		division.setAutoBuyFromMarket(value);
 	};
-	App.Corporate.calculateDividend = function(weekLedger)
-	{
+	App.Corporate.calculateDividend = function(weekLedger) {
 		let profit = this.ledger.current.profit;
-		if(this.dividendRatio > 0 && profit > 0)
-		{
+		if(this.dividendRatio > 0 && profit > 0) {
 			this.chargeDividend(profit * this.dividendRatio, weekLedger);
 		}
-		//Payout leftover cash should be the last thing the corporation does
-		//in a week so that its cash will be at the payout amount.
-		if(this.payoutCash)
-		{
+		// Payout leftover cash should be the last thing the corporation does
+		// in a week so that its cash will be at the payout amount.
+		if(this.payoutCash) {
 			let payoutAfter = this.payoutAfterCash;
-			if(this.cash > payoutAfter)
-			{
+			if(this.cash > payoutAfter) {
 				this.chargeDividend(this.cash - payoutAfter, weekLedger);
 			}
 		}
 
-		if(this.dividendTimer <= 1)
-		{
+		if(this.dividendTimer <= 1) {
 			weekLedger.payout = Math.trunc(this.dividend * this.shares.personal / this.shares.total);
 			cashX(weekLedger.payout, "stocks");
-			this.dividendTimer = 14;//13 for each quarter, but +1 because we're subtracting one below.
+			this.dividendTimer = 14;// 13 for each quarter, but +1 because we're subtracting one below.
 			this.dividend = 0;
 		}
 
@@ -799,9 +789,9 @@ App.Corporate.Init = function() {
 	};
 	App.Corporate.endWeek = function() {
 		let ledger = new WeekProcessingLedger();
-		//Prepare requests
+		// Prepare requests
 		for(let div of this.divisionList.filter(div=>div.founded)) {
-			let divLedger = ledger.getDivision(div)
+			let divLedger = ledger.getDivision(div);
 
 			ledger.operatingCost += div.maintenanceCost;
 			ledger.registerMaintenanceForDivision(div);
@@ -816,19 +806,18 @@ App.Corporate.Init = function() {
 		}
 		this.chargeAsset(ledger.operatingCost, "operations");
 		this.chargeAsset(ledger.overhead, "overhead");
-		//Execute sales requests, transfers, and earned revenue
+		// Execute sales requests, transfers, and earned revenue
 		for(let divLedger of Object.values(ledger.divisionLedgers)) {
 			let div = divLedger.division;
 			this.earnRevenue(divLedger.revenue.value, "local");
-			if(div.activeSlaves > 0)
-			{
+			if(div.activeSlaves > 0) {
 				shared.SellOverflowSlaves(div);
 			}
 
 			for(let otherDivPair of divLedger.transfer.divisions) {
 				let otherDiv = otherDivPair.division;
 				let count = otherDivPair.fill;
-				if(count == 0) continue;
+				if(count == 0) { continue; }
 
 				this.transferSlaves(div, otherDiv, count);
 			}
@@ -837,11 +826,11 @@ App.Corporate.Init = function() {
 			}
 		}
 
-		//Execute purchase requests
-		//todo: Make a switch to allow the user to control purchasing behavior.
-		//todo: Expensive first
-		//todo: Cheapest first
-		//Even purchase requsts:
+		// Execute purchase requests
+		// todo: Make a switch to allow the user to control purchasing behavior.
+		// todo: Expensive first
+		// todo: Cheapest first
+		// Even purchase requsts:
 		let purchaseValues = evenFillArray(Object.values(ledger.divisionLedgers)
 												 .filter(divLedger=>divLedger.market.buy > 0)
 										  , this.cash
@@ -852,7 +841,7 @@ App.Corporate.Init = function() {
 			let div = divLedger.division;
 
 			if(divLedger.market.buyValue > purchaseCost) {
-				//Estimate how many slaves we can afford within the purchase cost
+				// Estimate how many slaves we can afford within the purchase cost
 				let perSlaveEstimate = Math.trunc(divLedger.market.buyValue / divLedger.market.buy);
 				let numSlavesEstimate = Math.trunc(purchaseCost / perSlaveEstimate);
 
@@ -861,8 +850,7 @@ App.Corporate.Init = function() {
 					divLedger.market.buyShortMoney = divLedger.market.buyValue;
 					divLedger.market.buyShortSlaves = divLedger.market.buy;
 					divLedger.market.buy = 0;
-				}
-				else {
+				} else {
 					divLedger.market.originalBuy = divLedger.market.buy;
 					divLedger.market.buyShortMoney = divLedger.market.buyValue - purchaseCost;
 					divLedger.market.buyShortSlaves = divLedger.market.buy - numSlavesEstimate;
@@ -873,11 +861,9 @@ App.Corporate.Init = function() {
 		}
 		this.creditEconomy();
 
-		if(this.numDivisions < this.divisionList.length && !this.canExpand)
-		{
+		if(this.numDivisions < this.divisionList.length && !this.canExpand) {
 			let expansionValue = Math.trunc(Math.pow(this.numDivisions, 1.5) + (5 * this.numDivisions + 2) / 4);
-			if(this.value > expansionValue * 1000000)
-			{
+			if(this.value > expansionValue * 1000000) {
 				ledger.canExpandNow = true;
 				this.canExpand = true;
 			}
@@ -888,8 +874,7 @@ App.Corporate.Init = function() {
 			this.specializations++;
 			ledger.canSpecializeNow = true;
 		}
-		if(this.specializationTimer > 0)
-		{
+		if(this.specializationTimer > 0) {
 			this.specializationTimer--;
 		}
 		this.calculateDividend(ledger);
@@ -897,15 +882,15 @@ App.Corporate.Init = function() {
 		return ledger;
 	};
 	App.Corporate.cheatCash = function(userCash) {
-		userCash = Math.trunc(Number(userCash))
+		userCash = Math.trunc(Number(userCash));
 		if(Number.isFinite(userCash)) {
 			this.cash = userCash;
-			V.cheater = 1
+			V.cheater = 1;
 		}
-	}
+	};
 
 	App.Corporate.Backcompat = function(){
-		//current foreignRevenue used to be used for old foreignRevenue
+		// current foreignRevenue used to be used for old foreignRevenue
 		let c = this.ledger.current;
 		App.Corporate.ledger.old.foreignRevenue = c.foreignRevenue;
 		if(c.operations === undefined) {
diff --git a/src/SecExp/widgets/miscSecExpWidgets.tw b/src/SecExp/widgets/miscSecExpWidgets.tw
index d48b05e8be2b2717cbe820b57717de754260615c..93b8dc714e285778cbe9edc2552460964ab7872d 100644
--- a/src/SecExp/widgets/miscSecExpWidgets.tw
+++ b/src/SecExp/widgets/miscSecExpWidgets.tw
@@ -256,7 +256,6 @@
 
 	<<if $secBots.troops < $secBots.maxTroops && $cash >= 500>>
 		<<set _hasLossesBots = 1>>
-		<<break>>
 	<</if>>
 
 	<<for _i = 0; _i < $militiaUnits.length; _i++>>
@@ -283,7 +282,7 @@
 	<<if _hasLossesBots == 1 || _hasLossesM == 1 || _hasLossesS == 1 || _hasLossesMe == 1>>
 		<br><br><<link "Replenish all units">>
 			<<if _hasLossesBots == 1>>
-					<<run cashX(-((_$secBots.maxTroops - $secBots.troops) * 500), "securityExpansion")>>
+					<<run cashX(-(($secBots.maxTroops - $secBots.troops) * 500), "securityExpansion")>>
 					<<set $secBots.troops = $secBots.maxTroops>>
 			<</if>>
 
diff --git a/src/endWeek/healthFunctions.js b/src/endWeek/healthFunctions.js
index aa2eff36c5009baf38434271619345eca503b7eb..65d2b60e2236b9df633ecd0f3a257c6d41a238ef 100644
--- a/src/endWeek/healthFunctions.js
+++ b/src/endWeek/healthFunctions.js
@@ -117,16 +117,18 @@ window.illness = function illness(slave) {
 window.getIll = function getIll(slave) {
 	const H = slave.health;
 	const illness = jsRandom(1, 6) + jsRandom(1, 6) + jsRandom(1, 6) - Math.trunc(H.chem / 150);
-	if (illness < 4) {
-		H.illness = 5; // 1.8% chance
-	} else if (illness < 5) {
-		H.illness = 4; // 2.8% chance
-	} else if (illness < 6) {
-		H.illness = 3; // 11.6% chance
-	} else if (illness < 8) {
-		H.illness = 2; // 21.3% chance
-	} else {
-		H.illness = 1; // 62.5% chance
+	if (slave.curatives !== 1) {
+		if (illness < 4) {
+			H.illness = 5; // 1.8% chance
+		} else if (illness < 5) {
+			H.illness = 4; // 2.8% chance
+		} else if (illness < 6) {
+			H.illness = 3; // 11.6% chance
+		} else if (illness < 8) {
+			H.illness = 2; // 21.3% chance
+		} else {
+			H.illness = 1; // 62.5% chance
+		}
 	}
 };
 
diff --git a/src/gui/css/mainStyleSheet.css b/src/gui/css/mainStyleSheet.css
index c3df9d27597099c696a6598d0c1e97e8e8f20501..1c23cc787e1d1ede0fad32499b29c30a7c4d3c68 100644
--- a/src/gui/css/mainStyleSheet.css
+++ b/src/gui/css/mainStyleSheet.css
@@ -179,91 +179,49 @@ span.minusButton > a:hover { text-decoration: none; }
 span.zeroButton > a:hover { text-decoration: none; }
 
 /* Colors are made as css classes, to allow them to be changed for a light color scheme (for example). */
-.link { color: #68D } /* link color */
-.aquamarine { color: aquamarine }
-.coral { color: coral }
-.cyan { color: cyan }
-.darkgoldenrod { color: darkgoldenrod }
-.darkred { color: darkred }
-.darkviolet { color: darkviolet }
-.deeppink { color: deeppink }
-.steelblue { color: steelblue }
-.deepskyblue { color: deepskyblue }
-.dodgerblue { color: dodgerblue }
-.blue { color: blue }
-.gold { color: gold }
-.goldenrod { color: goldenrod }
-.gray { color: gray }
-.green { color: green }
-.hotpink { color: hotpink }
-.lawngreen { color: lawngreen }
-.lightblue { color: lightblue }
-.lightcoral { color: lightcoral }
-.lightgreen { color: lightgreen }
-.lightpink { color: lightpink }
-.lightsalmon { color: lightsalmon }
-.lime { color: lime }
-.limegreen { color: limegreen }
-.magenta { color: magenta }
-.mediumaquamarine { color: mediumaquamarine }
-.mediumorchid { color: mediumorchid }
-.mediumseagreen { color: mediumseagreen }
-.orange { color: orange }
-.orangered { color: orangered }
-.orchid { color: orchid }
-.pink { color: pink }
-.red { color: red }
-.seagreen { color: seagreen }
-.springgreen { color: springgreen }
-.tan { color: tan }
-.chocolate { color: chocolate }
-.saddlebrown { color: saddlebrown }
-.teal { color: teal }
-.yellow { color: yellow }
-.yellowgreen { color: yellowgreen }
-
-.link a { color: #68D } /* link color */
-.aquamarine a { color: aquamarine }
-.coral a { color: coral }
-.cyan a { color: cyan }
-.darkgoldenrod a { color: darkgoldenrod }
-.darkred a { color: darkred }
-.darkviolet a { color: darkviolet }
-.deeppink a { color: deeppink }
-.steelblue a { color: steelblue }
-.deepskyblue a { color: deepskyblue }
-.dodgerblue a { color: dodgerblue }
-.blue a { color: blue }
-.gold a { color: gold }
-.goldenrod a { color: goldenrod }
-.gray a { color: gray }
-.green a { color: green }
-.hotpink a { color: hotpink }
-.lawngreen a { color: lawngreen }
-.lightblue a { color: lightblue }
-.lightcoral a { color: lightcoral }
-.lightgreen a { color: lightgreen }
-.lightpink a { color: lightpink }
-.lightsalmon a { color: lightsalmon }
-.lime a { color: lime }
-.limegreen a { color: limegreen }
-.magenta a { color: magenta }
-.mediumaquamarine a { color: mediumaquamarine }
-.mediumorchid a { color: mediumorchid }
-.mediumseagreen a { color: mediumseagreen }
-.orange a { color: orange }
-.orangered a { color: orangered }
-.orchid a { color: orchid }
-.pink a { color: pink }
-.red a { color: red }
-.seagreen a { color: seagreen }
-.springgreen a { color: springgreen }
-.tan a { color: tan }
-.chocolate a { color: chocolate }
-.saddlebrown a { color: saddlebrown }
-.teal a { color: teal }
-.yellow a { color: yellow }
-.yellowgreen a { color: yellowgreen }
+/* a version is for this case: <span class="..."><a>text</a></span> */
+.link, .link a { color: #68D } /* link color */
+.aquamarine, .aquamarine a, .skill, .skill a { color: aquamarine }
+.coral, .coral a, .fetish.loss, .fetish.loss a { color: coral }
+.cyan, .cyan a { color: cyan } /* used for aphrodisiac & neighbor arcs */
+.darkgoldenrod, .darkgoldenrod a { color: darkgoldenrod }
+.darkred, .darkred a, .defiant, .defiant a { color: darkred }
+.darkviolet, .darkviolet a, .authority, .authority a { color: darkviolet }
+.deeppink, .deeppink a { color: deeppink } /* used for devotion once & agent */
+.steelblue, .steelblue a { color: steelblue }
+.deepskyblue, .deepskyblue a, .intelligent, .intelligent a, .security, .security a { color: deepskyblue }
+.dodgerblue, .dodgerblue a { color: dodgerblue }
+.blue, .blue a { color: blue }
+.gold, .gold a, .trust.decrease, .trust.increase a { color: gold }
+.goldenrod, .goldenrod a { color: goldenrod }
+.gray, .gray a { color: gray }
+.green, .green a, .reputation.increase, .reputation.increase a, .improvement, .improvement a { color: green }
+.hotpink, .hotpink a, .devotion.increase, .devotion a { color: hotpink }
+.lawngreen, .lawngreen a { color: lawngreen }
+.lightblue, .lightblue a { color: lightblue }
+.lightcoral, .lightcoral a, .fetish.gain, .fetish.gain a { color: lightcoral } /* compare pink for fetish */
+.lightgreen, .lightgreen a, .relationship, .relationship a { color: lightgreen }
+.lightpink, .lightpink a { color: lightpink }
+.lightsalmon, .lightsalmon a, .fetish.increase, .fetish.increase a { color: lightsalmon }
+.lime, .lime a { color: lime } /* tight orifices, breast changes, take virginity, not sure on good aliases */
+.limegreen, .limegreen a { color: limegreen } /* multiple questionable uses */
+.magenta, .magenta a { color: magenta }
+.mediumaquamarine, .mediumaquamarine a, .trust.increase, .trust.increase a  { color: mediumaquamarine }
+.mediumorchid, .mediumorchid a, .devotion.decrease, .devotion.decrease a { color: mediumorchid }
+.mediumseagreen, .mediumseagreen a { color: mediumseagreen }
+.orange, .orange a, .stupid, .stupid a, .body-part.shrinkage, .body-part.shrinkage a { color: orange } /* generally between red and green, and a lot of other places */
+.orangered, .orangered a, .trust.increase-defiant, .trust.increase-defiant a { color: orangered }
+.orchid, .orchid a { color: orchid } /* used once (wrong? */
+.pink, .pink a { color: pink } /* also fetish start ??? , and a lot of other stuff */
+.red, .red a, .health.decrease, .health.decrease a, .cash.decrease, .cash.decrease a { color: red } /* also generally bad stuff */
+.seagreen, .seagreen a { color: seagreen }
+.springgreen, .springgreen a, .skill.advantage, .skill.advantage a { color: springgreen }
+.tan, .tan a { color: tan } /* some ethnicity */
+.chocolate, .chocolate a { color: chocolate }
+.saddlebrown, .saddlebrown a { color: saddlebrown }
+.teal, .teal a { color: teal }
+.yellow, .yellow a { color: yellow }
+.yellowgreen, .yellowgreen a, .cash.increase, .cash.increase a { color: yellowgreen } /* maybe only positive cash? */
 
 /*! <<checkvars>> macro for SugarCube 2.x */
 #ui-dialog-body.checkvars{padding:1em}#ui-dialog-body.checkvars h1{font-size:1em;margin-top:0}#ui-dialog-body.checkvars table{border-collapse:collapse;border-spacing:0}#ui-dialog-body.checkvars thead tr{border-bottom:2px solid #444}#ui-dialog-body.checkvars tr:not(:first-child){border-top:1px solid #444}#ui-dialog-body.checkvars td,#ui-dialog-body.checkvars th{padding:.25em 1em}#ui-dialog-body.checkvars td:first-child,#ui-dialog-body.checkvars th:first-child{padding-left:.5em;border-right:1px solid #444}#ui-dialog-body.checkvars td:last-child,#ui-dialog-body.checkvars th:last-child{padding-right:.5em}#ui-dialog-body.checkvars th:first-child{text-align:center}#ui-dialog-body.checkvars td:first-child{font-weight:700;text-align:right}#ui-dialog-body.checkvars td{font-family:monospace,monospace;vertical-align:top;white-space:pre-wrap}#ui-dialog-body.checkvars .scroll-pad{margin:0;padding:0}
@@ -357,4 +315,7 @@ div.double-indent {
 div.grid-2columns-auto {
 	display: grid;
 	grid-template-columns: max-content auto;
+}
+.scene-intro {
+	font-style: italic;
 }
\ No newline at end of file
diff --git a/src/js/modification.js b/src/js/modification.js
index f22bda9bc1bbac40d4cd3f23f988973367a6267a..fb296a7a184436bbe1b3f9a58e7a4c472145736d 100644
--- a/src/js/modification.js
+++ b/src/js/modification.js
@@ -11,7 +11,7 @@ App.Medicine.Modification.addScar = function(slave, scar, design, weight) {
 	/*
 	V.scarApplied = 1;
 	V.degradation += 10;
-	surgeryDamage(slave, 10); //dangerous to uncomment this as sometimes many scars are applied at once.
+	surgeryDamage(slave, 10); // dangerous to uncomment this as sometimes many scars are applied at once.
 	cashX(forceNeg(surgery.costs), "slaveSurgery", slave);
 	surgeryDamage(slave, (V.PC.skill.medicine >= 100) ? Math.round(surgery.healthCosts / 2) : surgery.healthCosts);*/
 	if (!weight) {
diff --git a/src/js/wombJS.js b/src/js/wombJS.js
index 45772e30be60f8b61850735eb1ce44c02cc23b39..91590888adf4d12b77e6f1be350badc3d6d23aa6 100644
--- a/src/js/wombJS.js
+++ b/src/js/wombJS.js
@@ -28,7 +28,7 @@ window.WombInit = function(actor) {
 	let i;
 
 	if (!Array.isArray(actor.womb)) {
-		// alert("creating new womb"); //debugging
+		// alert("creating new womb"); // debugging
 		actor.womb = [];
 	}
 
@@ -320,7 +320,7 @@ window.WombGetVolume = function(actor) { // most legacy code from pregJS.tw with
 				ft.volume = ((4 / 3) * (Math.PI) * (phi / 2) * (Math.pow((targetLen / 2), 3)));
 				wombSize += ft.volume;
 
-				// oldVol = ((4 / 3) * (Math.PI) * (phi / 2) * (Math.pow((oldLen / 2), 3))); //for debug
+				// oldVol = ((4 / 3) * (Math.PI) * (phi / 2) * (Math.pow((oldLen / 2), 3))); // for debug
 
 				// console.log("fetus.age:" + ft.age + "  oldLen:"+oldLen+"  targetLen:"+targetLen+"  ft.volume:"+ft.volume+ "  old volume:"+oldVol );
 				/*
diff --git a/src/pregmod/analyzePlayerPregnancy.tw b/src/pregmod/analyzePlayerPregnancy.tw
index 4e34c0ea273083d9068855f7df913e1dbecdbcf3..1df3b738b7e6387b00249fed1ae45271f463aab3 100644
--- a/src/pregmod/analyzePlayerPregnancy.tw
+++ b/src/pregmod/analyzePlayerPregnancy.tw
@@ -12,291 +12,323 @@
 <<if _WL == 0>>
 	<<goto "Manage Personal Affairs">>
 <<else>>
-
-	//You make yourself comfortable and prep your stomach for examination. <<PlayerBelly>>//
-
-	<br><br>
-	Overall statistics:
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;Fetal count: $PC.womb.length
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;Estimated womb volume: <<print num(Math.round($PC.belly))>> cc
-
-	<br><br>
-	Furthest developed pregnancy:
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;Fetal development week: $PC.preg
+	<p class="scene-intro">
+		You make yourself comfortable and prep your stomach for examination. <<PlayerBelly>>
+	</p>
+	
+	<p>
+		<h2>Furthest developed pregnancy</h2>
+		<div class="indent">
+			Fetal development week: $PC.preg
+		</div>
+	</p>
 
 	<<if $incubator + $nursery > 0>>
-	<br><br>
-	<<if $incubator > 0>>
-		<<if _incubatorReservations > 0>>
-			<<link "Remove all of your children from $incubatorName" "Analyze PC Pregnancy">>
-				<<run WombChangeReserveType($PC, "incubator", "")>>
-				<<set $reservedChildren -= _incubatorReservations>>
-			<</link>> |
-		<</if>>
-		<<if _incubatorReservations < _WL && ($reservedChildren + _WL - _incubatorReservations <= $freeTanks)>>
-			<<link "Keep all of your children in $incubatorName" "Analyze PC Pregnancy">>
-				<<run WombChangeReserveType($PC, "nursery", "incubator")>>
-				<<run WombChangeReserveType($PC, "", "incubator")>>
-				<<set $reservedChildrenNursery -= _nurseryReservations>>
-				<<set $reservedChildren += _WL - _incubatorReservations>>
-			<</link>>
-		<<elseif _incubatorReservations < _WL>>
-			There is not enough free space in $incubatorName for the rest of your children.
-		<</if>>
-	<</if>>
-	<br>
-	<<if $nursery > 0>>
-		<<if _nurseryReservations > 0>>
-			<<link "Remove all of your children from $nurseryName" "Analyze PC Pregnancy">>
-				<<run WombChangeReserveType($PC, "nursery", "")>>
-				<<set $reservedChildrenNursery -= _nurseryReservations>>
-			<</link>> |
+	<p>
+		<<if $incubator > 0>>
+			<<if _incubatorReservations > 0>>
+				<<link "Remove all of your children from $incubatorName" "Analyze PC Pregnancy">>
+					<<run WombChangeReserveType($PC, "incubator", "")>>
+					<<set $reservedChildren -= _incubatorReservations>>
+				<</link>> |
+			<</if>>
+			<<if _incubatorReservations < _WL && ($reservedChildren + _WL - _incubatorReservations <= $freeTanks)>>
+				<<link "Keep all of your children in $incubatorName" "Analyze PC Pregnancy">>
+					<<run WombChangeReserveType($PC, "nursery", "incubator")>>
+					<<run WombChangeReserveType($PC, "", "incubator")>>
+					<<set $reservedChildrenNursery -= _nurseryReservations>>
+					<<set $reservedChildren += _WL - _incubatorReservations>>
+				<</link>>
+			<<elseif _incubatorReservations < _WL>>
+				There is not enough free space in $incubatorName for the rest of your children.
+			<</if>>
 		<</if>>
-		<<if _nurseryReservations < _WL && ($reservedChildrenNursery + _WL - _nurseryReservations <= $freeCribs)>>
-			<<link "Keep all of your children in $nurseryName" "Analyze PC Pregnancy">>
-				<<run WombChangeReserveType($PC, "incubator", "nursery")>>
-				<<run WombChangeReserveType($PC, "", "nursery")>>
-				<<set $reservedChildren -= _incubatorReservations>>
-				<<set $reservedChildrenNursery += _WL - _nurseryReservations>>
-			<</link>>
-		<<elseif _nurseryReservations < _WL>>
-			There is not enough free space in $nurseryName for the rest of your children.
+	</p>
+
+	<p>
+		<<if $nursery > 0>>
+			<<if _nurseryReservations > 0>>
+				<<link "Remove all of your children from $nurseryName" "Analyze PC Pregnancy">>
+					<<run WombChangeReserveType($PC, "nursery", "")>>
+					<<set $reservedChildrenNursery -= _nurseryReservations>>
+				<</link>> |
+			<</if>>
+			<<if _nurseryReservations < _WL && ($reservedChildrenNursery + _WL - _nurseryReservations <= $freeCribs)>>
+				<<link "Keep all of your children in $nurseryName" "Analyze PC Pregnancy">>
+					<<run WombChangeReserveType($PC, "incubator", "nursery")>>
+					<<run WombChangeReserveType($PC, "", "nursery")>>
+					<<set $reservedChildren -= _incubatorReservations>>
+					<<set $reservedChildrenNursery += _WL - _nurseryReservations>>
+				<</link>>
+			<<elseif _nurseryReservations < _WL>>
+				There is not enough free space in $nurseryName for the rest of your children.
+			<</if>>
 		<</if>>
-	<</if>>
+	</p>
 	<</if>>
 
-	<br><br>
-	Deep scan:
+	<p>
+		<h2>Deep scan</h2>
+		<<for _ap = 0; _ap < _WL; _ap++>>
+		<hr style="margin:0">
+		<<capture _ap>>
+			<<if $PC.womb[_ap].age >=2 >>
+				<div class="indent">
+					Ova: $PC.womb[_ap].genetics.name
+				</div>
 
-	<br>
-	<<for _ap = 0; _ap < _WL; _ap++>>
-	<<capture _ap>>
-		<<if $PC.womb[_ap].age >=2 >>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			Ova: $PC.womb[_ap].genetics.name
+				<<if $geneticMappingUpgrade >= 1>>
+					<div class="indent">
+						Gender: $PC.womb[_ap].genetics.gender
+					</div>
+					<div class="indent">
+						Father ID: $PC.womb[_ap].genetics.father
+					</div>
+					<div class="indent">
+						Father Name:
+						<<if ndef $PC.womb[_ap].genetics.fatherName>>
+							name not registered
+						<<else>>
+							$PC.womb[_ap].genetics.fatherName
+						<</if>>
+					</div>
 
-			<<if $geneticMappingUpgrade >= 1>>
-				<br>&nbsp;&nbsp;&nbsp;&nbsp;
-				Gender: $PC.womb[_ap].genetics.gender
-				<br>&nbsp;&nbsp;&nbsp;&nbsp;
-				Father ID: $PC.womb[_ap].genetics.father
-				<br>&nbsp;&nbsp;&nbsp;&nbsp;
-				Father Name:
-				<<if ndef $PC.womb[_ap].genetics.fatherName>>
-					name not registered
-				<<else>>
-					$PC.womb[_ap].genetics.fatherName
-				<</if>>
-				<br>&nbsp;&nbsp;&nbsp;&nbsp;
-				Mother ID: $PC.womb[_ap].genetics.mother
-				<br>&nbsp;&nbsp;&nbsp;&nbsp;
-				Mother Name:
-				<<if ndef $PC.womb[_ap].genetics.motherName>>
-					name not registered
+					<div class="indent">
+						Mother ID: $PC.womb[_ap].genetics.mother
+					</div>
+					<div class="indent">
+						Mother Name:
+						<<if ndef $PC.womb[_ap].genetics.motherName>>
+							name not registered
+						<<else>>
+							$PC.womb[_ap].genetics.motherName
+						<</if>>
+					</div>
+					<div class="indent">
+						Nationality: $PC.womb[_ap].genetics.nationality
+					</div>
+					<div class="indent">
+						Race: $PC.womb[_ap].genetics.race
+					</div>
+					<div class="indent">
+						Skin tone: $PC.womb[_ap].genetics.skin
+					</div>
+					<div class="indent">
+						Intelligence index: $PC.womb[_ap].genetics.intelligence out of 100
+					</div>
+					<div class="indent">
+						Face index: $PC.womb[_ap].genetics.face out of 100
+					</div>
+					<div class="indent">
+						Eye Color: $PC.womb[_ap].genetics.eyeColor
+					</div>
+					<div class="indent">
+						Hair Color: $PC.womb[_ap].genetics.hColor
+					</div>
+					<<if $PC.womb[_ap].genetics.underArmHStyle == "hairless" && $PC.womb[_ap].genetics.pubicHStyle == "hairless">>
+						<div class="indent">
+							Body hair: none
+						</div>
+					<<elseif $PC.womb[_ap].genetics.underArmHStyle == "hairless">>
+						<div class="indent">
+							Body hair: lacks underarm hair
+						</div>
+					<<elseif $PC.womb[_ap].genetics.pubicHStyle == "hairless">>
+						<div class="indent">
+							Body hair: lacks pubic hair
+						</div>
+					<</if>>
+					<<if $PC.womb[_ap].genetics.markings == "freckles" || $PC.womb[_ap].genetics.markings == "heavily freckled">>
+						<div class="indent">
+							Markings: $PC.womb[_ap].genetics.markings
+						</div>
+					<</if>>
+					<div class="indent">
+						Detected abnormalities:
+						<<if $PC.womb[_ap].genetics.geneticQuirks.albinism == 2>>
+							@@.green;alb@@
+						<<elseif $PC.womb[_ap].genetics.geneticQuirks.albinism == 1 && $geneticMappingUpgrade >= 2>>
+							@@.yellow;alb@@
+						<</if>>
+						<<if $PC.womb[_ap].genetics.geneticQuirks.gigantism == 2>>
+							@@.red;gnt@@
+						<<elseif $PC.womb[_ap].genetics.geneticQuirks.gigantism == 1 && $geneticMappingUpgrade >= 2>>
+							@@.yellow;gnt@@
+						<</if>>
+						<<if $PC.womb[_ap].genetics.geneticQuirks.dwarfism == 2>>
+							@@.red;dwrf@@
+						<<elseif $PC.womb[_ap].genetics.geneticQuirks.dwarfism == 1 && $geneticMappingUpgrade >= 2>>
+							@@.yellow;dwrf@@
+						<</if>>
+						<<if $PC.womb[_ap].genetics.geneticQuirks.heterochromia == 2>>
+							@@.green;hetchrom@@
+						<<elseif $PC.womb[_ap].genetics.geneticQuirks.heterochromia == 1 && $geneticMappingUpgrade >= 2>>
+							@@.yellow;hetchrom@@
+						<</if>>
+						<<if $PC.womb[_ap].genetics.geneticQuirks.androgyny == 2>>
+							@@.red;andr@@
+						<<elseif $PC.womb[_ap].genetics.geneticQuirks.androgyny == 1 && $geneticMappingUpgrade >= 2>>
+							@@.yellow;andr@@
+						<</if>>
+						<<if $PC.womb[_ap].genetics.geneticQuirks.pFace == 2>>
+							@@.green;pfce@@
+						<<elseif $PC.womb[_ap].genetics.geneticQuirks.pFace == 1 && $geneticMappingUpgrade >= 2>>
+							@@.yellow;pfce@@
+						<</if>>
+						<<if $PC.womb[_ap].genetics.geneticQuirks.uFace == 2>>
+							@@.red;ufce@@
+						<<elseif $PC.womb[_ap].genetics.geneticQuirks.uFace == 1 && $geneticMappingUpgrade >= 2>>
+							@@.yellow;ufce@@
+						<</if>>
+						<<if $PC.womb[_ap].genetics.geneticQuirks.fertility == 2>>
+							@@.green;fert@@
+						<<elseif $PC.womb[_ap].genetics.geneticQuirks.fertility == 1 && $geneticMappingUpgrade >= 2>>
+							@@.yellow;fert@@
+						<</if>>
+						<<if $PC.womb[_ap].genetics.geneticQuirks.hyperFertility == 2>>
+							@@.green;hfert@@
+						<<elseif $PC.womb[_ap].genetics.geneticQuirks.hyperFertility == 1 && $geneticMappingUpgrade >= 2>>
+							@@.yellow;hfert@@
+						<</if>>
+						<<if $PC.womb[_ap].genetics.geneticQuirks.superfetation == 2>>
+							@@.green;supfet@@
+						<<elseif $PC.womb[_ap].genetics.geneticQuirks.superfetation == 1 && $geneticMappingUpgrade >= 2>>
+							@@.yellow;supfet@@
+						<</if>>
+						<<if $PC.womb[_ap].genetics.geneticQuirks.macromastia >= 2>>
+							@@.red;mmast@@
+						<<elseif $PC.womb[_ap].genetics.geneticQuirks.macromastia == 1 && $geneticMappingUpgrade >= 2>>
+							@@.yellow;mast@@
+						<</if>>
+						<<if $PC.womb[_ap].genetics.geneticQuirks.gigantomastia >= 2>>
+							@@.red;gmast@@
+						<<elseif $PC.womb[_ap].genetics.geneticQuirks.gigantomastia == 1 && $geneticMappingUpgrade >= 2>>
+							@@.yellow;gmast@@
+						<</if>>
+						<<if $PC.womb[_ap].genetics.geneticQuirks.wellHung == 2>>
+							@@.green;bigd@@
+						<<elseif $PC.womb[_ap].genetics.geneticQuirks.wellHung == 1 && $geneticMappingUpgrade >= 2>>
+							@@.yellow;bigd@@
+						<</if>>
+						<<if $PC.womb[_ap].genetics.geneticQuirks.rearLipedema == 2>>
+							@@.red;lipe@@
+						<<elseif $PC.womb[_ap].genetics.geneticQuirks.rearLipedema == 1 && $geneticMappingUpgrade >= 2>>
+							@@.yellow;lipe@@
+						<</if>>
+						<<if $PC.womb[_ap].genetics.geneticQuirks.wGain == 2>>
+							@@.red;lepti+@@
+						<<elseif $PC.womb[_ap].genetics.geneticQuirks.wGain == 1 && $geneticMappingUpgrade >= 2>>
+							@@.yellow;lepti+@@
+						<</if>>
+						<<if $PC.womb[_ap].genetics.geneticQuirks.wLoss == 2>>
+							@@.red;lepti-@@
+						<<elseif $PC.womb[_ap].genetics.geneticQuirks.wLoss == 1 && $geneticMappingUpgrade >= 2>>
+							@@.yellow;lepti-@@
+						<</if>>
+						<<if $PC.womb[_ap].genetics.geneticQuirks.mGain == 2>>
+							@@.red;myot+@@
+						<<elseif $PC.womb[_ap].genetics.geneticQuirks.mGain == 1 && $geneticMappingUpgrade >= 2>>
+							@@.yellow;myot+@@
+						<</if>>
+						<<if $PC.womb[_ap].genetics.geneticQuirks.mLoss == 2>>
+							@@.red;myot-@@
+						<<elseif $PC.womb[_ap].genetics.geneticQuirks.mLoss == 1 && $geneticMappingUpgrade >= 2>>
+							@@.yellow;myot-@@
+						<</if>>
+					</div>
 				<<else>>
-					$PC.womb[_ap].genetics.motherName
-				<</if>>
-				<br>&nbsp;&nbsp;&nbsp;&nbsp;
-				Nationality: $PC.womb[_ap].genetics.nationality
-				<br>&nbsp;&nbsp;&nbsp;&nbsp;
-				Race: $PC.womb[_ap].genetics.race
-				<br>&nbsp;&nbsp;&nbsp;&nbsp;
-				Skin tone: $PC.womb[_ap].genetics.skin
-				<br>&nbsp;&nbsp;&nbsp;&nbsp;
-				Intelligence index: $PC.womb[_ap].genetics.intelligence out of 100
-				<br>&nbsp;&nbsp;&nbsp;&nbsp;
-				Face index: $PC.womb[_ap].genetics.face out of 100
-				<br>&nbsp;&nbsp;&nbsp;&nbsp;
-				Eye Color: $PC.womb[_ap].genetics.eyeColor
-				<br>&nbsp;&nbsp;&nbsp;&nbsp;
-				Hair Color: $PC.womb[_ap].genetics.hColor
-				<<if $PC.womb[_ap].genetics.underArmHStyle == "hairless" && $PC.womb[_ap].genetics.pubicHStyle == "hairless">>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					Body hair: none
-				<<elseif $PC.womb[_ap].genetics.underArmHStyle == "hairless">>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					Body hair: lacks underarm hair
-				<<elseif $PC.womb[_ap].genetics.pubicHStyle == "hairless">>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					Body hair: lacks pubic hair
-				<</if>>
-				<<if $PC.womb[_ap].genetics.markings == "freckles" || $PC.womb[_ap].genetics.markings == "heavily freckled">>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					Markings: $PC.womb[_ap].genetics.markings
+					<<if $PC.womb[_ap].age > 13>>
+						<div class="indent">
+							Gender: $PC.womb[_ap].genetics.gender
+						</div>
+					<</if>>
+					<<if $PC.womb[_ap].age > 5>>
+						<div class="indent">
+							Father ID: $PC.womb[_ap].genetics.father
+						</div>
+						<div class="indent">
+							Father Name: $PC.womb[_ap].genetics.fatherName
+						</div>
+						<div class="indent">
+							Mother ID: $PC.womb[_ap].genetics.mother
+						</div>
+						<div class="indent">
+							Mother Name: $PC.womb[_ap].genetics.motherName
+						</div>
+					<</if>>
 				<</if>>
-				<br>&nbsp;&nbsp;&nbsp;&nbsp;
-				Detected abnormalities:
-				<<if $PC.womb[_ap].genetics.geneticQuirks.albinism == 2>>
-					@@.green;alb@@
-				<<elseif $PC.womb[_ap].genetics.geneticQuirks.albinism == 1 && $geneticMappingUpgrade >= 2>>
-					@@.yellow;alb@@
+				<<if $incubator > 0 || $nursery > 0>>
+					<div class="indent">
+						Reserved: $PC.womb[_ap].reserve
+					</div>
 				<</if>>
-				<<if $PC.womb[_ap].genetics.geneticQuirks.gigantism == 2>>
-					@@.red;gnt@@
-				<<elseif $PC.womb[_ap].genetics.geneticQuirks.gigantism == 1 && $geneticMappingUpgrade >= 2>>
-					@@.yellow;gnt@@
-				<</if>>
-				<<if $PC.womb[_ap].genetics.geneticQuirks.dwarfism == 2>>
-					@@.red;dwrf@@
-				<<elseif $PC.womb[_ap].genetics.geneticQuirks.dwarfism == 1 && $geneticMappingUpgrade >= 2>>
-					@@.yellow;dwrf@@
-				<</if>>
-				<<if $PC.womb[_ap].genetics.geneticQuirks.heterochromia == 2>>
-					@@.green;hetchrom@@
-				<<elseif $PC.womb[_ap].genetics.geneticQuirks.heterochromia == 1 && $geneticMappingUpgrade >= 2>>
-					@@.yellow;hetchrom@@
-				<</if>>
-				<<if $PC.womb[_ap].genetics.geneticQuirks.androgyny == 2>>
-					@@.red;andr@@
-				<<elseif $PC.womb[_ap].genetics.geneticQuirks.androgyny == 1 && $geneticMappingUpgrade >= 2>>
-					@@.yellow;andr@@
-				<</if>>
-				<<if $PC.womb[_ap].genetics.geneticQuirks.pFace == 2>>
-					@@.green;pfce@@
-				<<elseif $PC.womb[_ap].genetics.geneticQuirks.pFace == 1 && $geneticMappingUpgrade >= 2>>
-					@@.yellow;pfce@@
-				<</if>>
-				<<if $PC.womb[_ap].genetics.geneticQuirks.uFace == 2>>
-					@@.red;ufce@@
-				<<elseif $PC.womb[_ap].genetics.geneticQuirks.uFace == 1 && $geneticMappingUpgrade >= 2>>
-					@@.yellow;ufce@@
-				<</if>>
-				<<if $PC.womb[_ap].genetics.geneticQuirks.fertility == 2>>
-					@@.green;fert@@
-				<<elseif $PC.womb[_ap].genetics.geneticQuirks.fertility == 1 && $geneticMappingUpgrade >= 2>>
-					@@.yellow;fert@@
-				<</if>>
-				<<if $PC.womb[_ap].genetics.geneticQuirks.hyperFertility == 2>>
-					@@.green;hfert@@
-				<<elseif $PC.womb[_ap].genetics.geneticQuirks.hyperFertility == 1 && $geneticMappingUpgrade >= 2>>
-					@@.yellow;hfert@@
-				<</if>>
-				<<if $PC.womb[_ap].genetics.geneticQuirks.superfetation == 2>>
-					@@.green;supfet@@
-				<<elseif $PC.womb[_ap].genetics.geneticQuirks.superfetation == 1 && $geneticMappingUpgrade >= 2>>
-					@@.yellow;supfet@@
-				<</if>>
-				<<if $PC.womb[_ap].genetics.geneticQuirks.macromastia >= 2>>
-					@@.red;mmast@@
-				<<elseif $PC.womb[_ap].genetics.geneticQuirks.macromastia == 1 && $geneticMappingUpgrade >= 2>>
-					@@.yellow;mast@@
-				<</if>>
-				<<if $PC.womb[_ap].genetics.geneticQuirks.gigantomastia >= 2>>
-					@@.red;gmast@@
-				<<elseif $PC.womb[_ap].genetics.geneticQuirks.gigantomastia == 1 && $geneticMappingUpgrade >= 2>>
-					@@.yellow;gmast@@
-				<</if>>
-				<<if $PC.womb[_ap].genetics.geneticQuirks.wellHung == 2>>
-					@@.green;bigd@@
-				<<elseif $PC.womb[_ap].genetics.geneticQuirks.wellHung == 1 && $geneticMappingUpgrade >= 2>>
-					@@.yellow;bigd@@
-				<</if>>
-				<<if $PC.womb[_ap].genetics.geneticQuirks.rearLipedema == 2>>
-					@@.red;lipe@@
-				<<elseif $PC.womb[_ap].genetics.geneticQuirks.rearLipedema == 1 && $geneticMappingUpgrade >= 2>>
-					@@.yellow;lipe@@
-				<</if>>
-				<<if $PC.womb[_ap].genetics.geneticQuirks.wGain == 2>>
-					@@.red;lepti+@@
-				<<elseif $PC.womb[_ap].genetics.geneticQuirks.wGain == 1 && $geneticMappingUpgrade >= 2>>
-					@@.yellow;lepti+@@
-				<</if>>
-				<<if $PC.womb[_ap].genetics.geneticQuirks.wLoss == 2>>
-					@@.red;lepti-@@
-				<<elseif $PC.womb[_ap].genetics.geneticQuirks.wLoss == 1 && $geneticMappingUpgrade >= 2>>
-					@@.yellow;lepti-@@
-				<</if>>
-				<<if $PC.womb[_ap].genetics.geneticQuirks.mGain == 2>>
-					@@.red;myot+@@
-				<<elseif $PC.womb[_ap].genetics.geneticQuirks.mGain == 1 && $geneticMappingUpgrade >= 2>>
-					@@.yellow;myot+@@
-				<</if>>
-				<<if $PC.womb[_ap].genetics.geneticQuirks.mLoss == 2>>
-					@@.red;myot-@@
-				<<elseif $PC.womb[_ap].genetics.geneticQuirks.mLoss == 1 && $geneticMappingUpgrade >= 2>>
-					@@.yellow;myot-@@
-				<</if>>
-			<<else>>
-				<<if $PC.womb[_ap].age > 13>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					Gender: $PC.womb[_ap].genetics.gender
-				<</if>>
-				<<if $PC.womb[_ap].age > 5>>
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					Father ID: $PC.womb[_ap].genetics.father
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					Father Name: $PC.womb[_ap].genetics.fatherName
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					Mother ID: $PC.womb[_ap].genetics.mother
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;
-					Mother Name: $PC.womb[_ap].genetics.motherName
-				<</if>>
-			<</if>>
-			<<if $incubator > 0 || $nursery > 0>>
-				<br>&nbsp;&nbsp;&nbsp;&nbsp;
-				Reserved: $PC.womb[_ap].reserve
-			<</if>>
-
-			<br><br>&nbsp;&nbsp;&nbsp;&nbsp;
 
-			Rename: <<textbox "_tempName" _tempName >> [[Apply | Analyze PC Pregnancy][$PC.womb[_ap].genetics.name = _tempName]]
-			<<if $PC.womb[_ap].age < 4 && ($arcologies[0].FSRestart == "unset" || $eugenicsFullControl == 1 || ($PC.womb[_ap].fatherID != -1 && $PC.womb[_ap].fatherID != -6))>>
-				<br>&nbsp;&nbsp;&nbsp;&nbsp;
-				<<link "Terminate ovum" "Analyze PC Pregnancy">><<run WombRemoveFetus($PC, _ap)>><</link>>
-				<<if $surgeryUpgrade == 1>>
-					| [[Transplant ovum|Ova Transplant Workaround][$donatrix = $PC, $wombIndex = _ap, $nextLink = "Analyze PC Pregnancy"]]
-				<</if>>
-			<</if>>
-			<<if $incubator > 0>>
-				<br>&nbsp;&nbsp;&nbsp;&nbsp;
-				<<if $PC.womb[_ap].reserve === "incubator">>
-					<<link "Don't keep this child $incubatorName" "Analyze PC Pregnancy">>
-						<<set $PC.womb[_ap].reserve = "">>
-						<<set $reservedChildren-->>
-					<</link>>
-				<<elseif $freeTanks - $reservedChildren > 0>>
-					<<link "Keep this child in $incubatorName" "Analyze PC Pregnancy">>
-						<<if $PC.womb[_ap].reserve === "nursery">>
-							<<set $reservedChildrenNursery-->>
+				<div class="indent">
+					Rename: <<textbox "_tempName" _tempName >> [[Apply | Analyze PC Pregnancy][$PC.womb[_ap].genetics.name = _tempName]]
+				</div>
+				<<if $PC.womb[_ap].age < 4 && ($arcologies[0].FSRestart == "unset" || $eugenicsFullControl == 1 || ($PC.womb[_ap].fatherID != -1 && $PC.womb[_ap].fatherID != -6))>>
+					<div class="indent">
+						<<link "Terminate ovum" "Analyze PC Pregnancy">><<run WombRemoveFetus($PC, _ap)>><</link>>
+						<<if $surgeryUpgrade == 1>>
+							| [[Transplant ovum|Ova Transplant Workaround][$donatrix = $PC, $wombIndex = _ap, $nextLink = "Analyze PC Pregnancy"]]
 						<</if>>
-						<<set $PC.womb[_ap].reserve = "incubator">>
-						<<set $reservedChildren++>>
-					<</link>>
-				<<else>>
-					There is not enough free space to keep this child in $incubatorName.
+					</div>
 				<</if>>
-			<</if>>
-			<<if $nursery > 0>>
-				<br>&nbsp;&nbsp;&nbsp;&nbsp;
-				<<if $PC.womb[_ap].reserve === "nursery">>
-					<<link "Don't keep this child in $nurseryName" "Analyze PC Pregnancy">>
-						<<set $PC.womb[_ap].reserve = "">>
-						<<set $reservedChildrenNursery-->>
-					<</link>>
-				<<elseif $freeCribs - $reservedChildrenNursery > 0>>
-					<<link "Keep this child in $nurseryName" "Analyze PC Pregnancy">>
+				<<if $incubator > 0>>
+					<div class="indent">
 						<<if $PC.womb[_ap].reserve === "incubator">>
-							<<set $reservedChildren-->>
+							<<link "Don't keep this child $incubatorName" "Analyze PC Pregnancy">>
+								<<set $PC.womb[_ap].reserve = "">>
+								<<set $reservedChildren-->>
+							<</link>>
+						<<elseif $freeTanks - $reservedChildren > 0>>
+							<<link "Keep this child in $incubatorName" "Analyze PC Pregnancy">>
+								<<if $PC.womb[_ap].reserve === "nursery">>
+									<<set $reservedChildrenNursery-->>
+								<</if>>
+								<<set $PC.womb[_ap].reserve = "incubator">>
+								<<set $reservedChildren++>>
+							<</link>>
+						<<else>>
+							There is not enough free space to keep this child in $incubatorName.
 						<</if>>
-						<<set $PC.womb[_ap].reserve = "nursery">>
-						<<set $reservedChildrenNursery++>>
-					<</link>>
-				<<else>>
-					There is not enough free space to keep this child in $nurseryName.
+					</div>
 				<</if>>
+				<<if $nursery > 0>>
+					<div class="indent">
+						<<if $PC.womb[_ap].reserve === "nursery">>
+							<<link "Don't keep this child in $nurseryName" "Analyze PC Pregnancy">>
+								<<set $PC.womb[_ap].reserve = "">>
+								<<set $reservedChildrenNursery-->>
+							<</link>>
+						<<elseif $freeCribs - $reservedChildrenNursery > 0>>
+							<<link "Keep this child in $nurseryName" "Analyze PC Pregnancy">>
+								<<if $PC.womb[_ap].reserve === "incubator">>
+									<<set $reservedChildren-->>
+								<</if>>
+								<<set $PC.womb[_ap].reserve = "nursery">>
+								<<set $reservedChildrenNursery++>>
+							<</link>>
+						<<else>>
+							There is not enough free space to keep this child in $nurseryName.
+						<</if>>
+					</div>
+				<</if>>
+			<<else>>
+				<div class="indent">
+					Unidentified ova found, no detailed data available.
+				</div>
+				<div class="indent">
+					Age: too early for scan.
+				</div>
+				<div class="indent">
+					<<link "Terminate ovum" "Analyze PC Pregnancy">><<run WombRemoveFetus($PC, _ap)>><</link>>
+					<<if $surgeryUpgrade == 1>>
+						| [[Transplant ovum|Ova Transplant Workaround][$donatrix = $PC, $wombIndex = _ap, $nextLink = "Analyze PC Pregnancy"]]
+					<</if>>
+				</div>
 			<</if>>
-		<<else>>
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			Unidentified ova found, no detailed data available.<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			Age: too early for scan.
-			<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			<<link "Terminate ovum" "Analyze PC Pregnancy">><<run WombRemoveFetus($PC, _ap)>><</link>>
-			<<if $surgeryUpgrade == 1>>
-				| [[Transplant ovum|Ova Transplant Workaround][$donatrix = $PC, $wombIndex = _ap, $nextLink = "Analyze PC Pregnancy"]]
-			<</if>>
-		<</if>>
-		<br><br><hr style="margin:0"><br>
-	<</capture>>
-	<</for>>
-
+		<</capture>>
+		<</for>>
+	</p>
 <</if>>
diff --git a/src/pregmod/analyzePregnancy.tw b/src/pregmod/analyzePregnancy.tw
index 13a94733548db32483058b5e10989168fe08ab01..84f66bfe11da41320f238ffc04e9fe7113c86877 100644
--- a/src/pregmod/analyzePregnancy.tw
+++ b/src/pregmod/analyzePregnancy.tw
@@ -14,7 +14,7 @@
 	<<goto "Slave Interact">>
 <<else>>
 
-	<p style="font-style:italic">
+	<p class="scene-intro">
 		$activeSlave.slaveName is <<if $activeSlave.devotion < 20>>restrained<<else>>comfortably reclined<</if>> with $his stomach prepped for examination. $He shudders slightly at the cold touch of the sensor against $his skin.
 	</p>
 
diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw
index 3a26be609097004d1b58c1bdc7cd762a3dc6278e..dafb80ff2e1e6d977f3a8c0c3ff3cc3f1a410495 100644
--- a/src/uncategorized/remoteSurgery.tw
+++ b/src/uncategorized/remoteSurgery.tw
@@ -133,18 +133,25 @@
 	$He has <<print App.Desc.eyesType($activeSlave)>><<if hasAnyEyes($activeSlave)>>, they are <<print App.Desc.eyesVision($activeSlave)>><</if>>.
 	/* eye blur and fix */
 	<<if hasAnyEyes($activeSlave)>>
-		<<set _n = 0>>
-		<<if getLeftEyeVision($activeSlave) === 2 && getLeftEyeType($activeSlave) === 1>>
-			<<set _n++>>
-			| [[Blur left eye|Surgery Degradation][eyeSurgery($activeSlave, "left", "blur"), cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave,5), $surgeryType = "eyeBlur"]]
-		<</if>>
-		<<if getRightEyeVision($activeSlave) === 2 && getRightEyeType($activeSlave) === 1>>
-			<<set _n++>>
-			| [[Blur right eye|Surgery Degradation][eyeSurgery($activeSlave, "right", "blur"), cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave,5), $surgeryType = "eyeBlur"]]
-		<</if>>
-		<<if _n === 2>>
-			| [[Blur both eyes|Surgery Degradation][eyeSurgery($activeSlave, "both", "blur"), cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave,10), $surgeryType = "eyeBlur"]]
+		/* Blur eyes*/
+		<<if $activeSlave.indentureRestrictions > 1>>
+			//$His indenture forbids elective surgery//
+		<<else>>
+			<<set _n = 0>>
+			<<if getLeftEyeVision($activeSlave) === 2 && getLeftEyeType($activeSlave) === 1>>
+				<<set _n++>>
+				| [[Blur left eye|Surgery Degradation][eyeSurgery($activeSlave, "left", "blur"), cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave,5), $surgeryType = "eyeBlur"]]
+			<</if>>
+			<<if getRightEyeVision($activeSlave) === 2 && getRightEyeType($activeSlave) === 1>>
+				<<set _n++>>
+				| [[Blur right eye|Surgery Degradation][eyeSurgery($activeSlave, "right", "blur"), cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave,5), $surgeryType = "eyeBlur"]]
+			<</if>>
+			<<if _n === 2>>
+				| [[Blur both eyes|Surgery Degradation][eyeSurgery($activeSlave, "both", "blur"), cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave,10), $surgeryType = "eyeBlur"]]
+			<</if>>
 		<</if>>
+
+		/* Fix eyes */
 		<<set _n = 0>>
 		<<if getLeftEyeVision($activeSlave) === 1 && getLeftEyeType($activeSlave) === 1>>
 			<<set _n++>>
@@ -547,8 +554,13 @@
 		$He has <<= App.Desc.expandScarString($activeSlave, "left cheek")>> on $his left cheek.
 		[[Remove all scars there|Surgery Degradation][delete $activeSlave.scar["left cheek"], cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave,5), $surgeryType = "scarRemov"]]
 	<<else>>
-		$His face is unscarred. [[Give a menacing scar|Surgery Degradation][App.Medicine.Modification.addScar($activeSlave, "left cheek", "menacing"), cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave,5), $surgeryType = "scarFear"]] |
-		[[Give an exotic scar|Surgery Degradation][App.Medicine.Modification.addScar($activeSlave, "left cheek", "exotic"), cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave,5), $surgeryType = "scarExo"]]
+		$His face is unscarred.
+		<<if $activeSlave.indentureRestrictions > 1>>
+			//$His indenture forbids elective surgery//
+		<<else>>
+			[[Give a menacing scar|Surgery Degradation][App.Medicine.Modification.addScar($activeSlave, "left cheek", "menacing"), cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave,5), $surgeryType = "scarFear"]] |
+			[[Give an exotic scar|Surgery Degradation][App.Medicine.Modification.addScar($activeSlave, "left cheek", "exotic"), cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave,5), $surgeryType = "scarExo"]]
+		<</if>>
 	<</if>>
 </div>
 
@@ -1064,23 +1076,27 @@
 		</div>
 
 		<div class="indent">
-			<<if $activeSlave.ovaImplant != 0>>
-				<<switch $activeSlave.ovaImplant>>
-				<<case "fertility">>
-					They have fertility implants attached to them.
-					[[Remove implants|Surgery Degradation][$activeSlave.ovaImplant = 0,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave,10),$surgeryType = "ovaImplant removed"]]
-				<<case "sympathy">>
-					They are linked via implants and ovulate in concert.
-					[[Remove implants|Surgery Degradation][$activeSlave.ovaImplant = 0,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave,10),$surgeryType = "ovaImplant removed"]]
-				<<case "asexual">>
-					One has been replaced with a sperm producing analog for self-fertilization.
-				<</switch>>
+			<<if $activeSlave.indentureRestrictions > 0>>
+				//$His indenture forbids invasive elective surgery//
 			<<else>>
-				<<if $fertilityImplant == 1>>
-					[[Install fertility implants|Surgery Degradation][$activeSlave.ovaImplant = "fertility",cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave,10),$surgeryType = "ovaImplant added"]]
-				<</if>>
-				<<if $sympatheticOvaries == 1>>
-					[[Install sympathetic ovulation implants|Surgery Degradation][$activeSlave.ovaImplant = "sympathy",cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave,10),$surgeryType = "ovaImplant added"]]
+				<<if $activeSlave.ovaImplant != 0>>
+					<<switch $activeSlave.ovaImplant>>
+					<<case "fertility">>
+						They have fertility implants attached to them.
+						[[Remove implants|Surgery Degradation][$activeSlave.ovaImplant = 0,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave,10),$surgeryType = "ovaImplant removed"]]
+					<<case "sympathy">>
+						They are linked via implants and ovulate in concert.
+						[[Remove implants|Surgery Degradation][$activeSlave.ovaImplant = 0,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave,10),$surgeryType = "ovaImplant removed"]]
+					<<case "asexual">>
+						One has been replaced with a sperm producing analog for self-fertilization.
+					<</switch>>
+				<<else>>
+					<<if $fertilityImplant == 1>>
+						[[Install fertility implants|Surgery Degradation][$activeSlave.ovaImplant = "fertility",cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave,10),$surgeryType = "ovaImplant added"]]
+					<</if>>
+					<<if $sympatheticOvaries == 1>>
+						[[Install sympathetic ovulation implants|Surgery Degradation][$activeSlave.ovaImplant = "sympathy",cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), surgeryDamage($activeSlave,10),$surgeryType = "ovaImplant added"]]
+					<</if>>
 				<</if>>
 			<</if>>
 		</div>
@@ -1365,7 +1381,11 @@
 	<<set _pubertyAge = Math.min($activeSlave.pubertyAgeXX, $activeSlave.pubertyAgeXY)>>
 	<<if $activeSlave.bald == 0 && $activeSlave.hStyle != "bald">>
 		$He naturally grows $activeSlave.origHColor hair from $his head.
-		[["Surgically remove " + $his + " ability to grow hair"|Surgery Degradation][cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$activeSlave.bald = 1,$surgeryType = "hair removal"]]
+		<<if $activeSlave.indentureRestrictions > 1>>
+			//$His indenture forbids elective surgery//
+		<<else>>
+			[["Surgically remove " + $his + " ability to grow hair"|Surgery Degradation][cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$activeSlave.bald = 1,$surgeryType = "hair removal"]]
+		<</if>>
 	<<else>>
 		$He is no longer capable of growing hair on $his head.
 	<</if>>
@@ -1375,7 +1395,11 @@
 <div class="indent">
 	<<if ($activeSlave.eyebrowHStyle != "bald")>>
 		$He has $activeSlave.origHColor eyebrows.
-		[["Surgically remove " + $his + " ability to grow eyebrows"|Surgery Degradation][cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$surgeryType = "eyebrow removal"]]
+		<<if $activeSlave.indentureRestrictions > 1>>
+			//$His indenture forbids elective surgery//
+		<<else>>
+			[["Surgically remove " + $his + " ability to grow eyebrows"|Surgery Degradation][cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$surgeryType = "eyebrow removal"]]
+		<</if>>
 	<<else>>
 		$He is no longer capable of growing eyebrow hair.
 	<</if>>
@@ -1385,7 +1409,11 @@
 <div class="indent">
 	<<if ($activeSlave.underArmHStyle != "bald" && $activeSlave.underArmHStyle != "hairless") || ($activeSlave.pubicHStyle != "bald" && $activeSlave.pubicHStyle != "hairless")>>
 		$He <<if $activeSlave.physicalAge >= _pubertyAge>>naturally grows<<elseif $activeSlave.physicalAge >= _pubertyAge-1>>is beginning to grow<<else>>will someday grow<</if>> $activeSlave.origHColor body hair.
-		[["Surgically remove " + $his + " ability to grow body hair"|Surgery Degradation][cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$surgeryType = "body hair removal"]]
+		<<if $activeSlave.indentureRestrictions > 1>>
+			//$His indenture forbids elective surgery//
+		<<else>>
+			[["Surgically remove " + $his + " ability to grow body hair"|Surgery Degradation][cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$surgeryType = "body hair removal"]]
+		<</if>>
 	<<else>>
 		$His $activeSlave.skin skin is silky smooth and hair free from $his neck to $his <<if !hasAnyLegs($activeSlave)>>hips<<else>>toes<</if>>.
 	<</if>>
diff --git a/src/uncategorized/saDevotion.tw b/src/uncategorized/saDevotion.tw
index 161619709c04c7a6d6f4d926d64e18e13b1a70e7..5d0863bddf47c4adc09c0d28b27aea2b0939960c 100644
--- a/src/uncategorized/saDevotion.tw
+++ b/src/uncategorized/saDevotion.tw
@@ -670,13 +670,29 @@
 	<</if>>
 <</if>>
 
-<<if ($slaves[$i].sexualQuirk == "unflinching")>>
+<<if $slaves[$i].sexualQuirk == "unflinching">>
 	<<if ($slaves[$i].devotion <= 95)>>
 		<<if ($slaves[$i].devotion < $slaves[$i].oldDevotion)>>
 			$His unflinching nature leads $him to forget some of the unpleasant things $he's experienced this week, @@.hotpink;reducing their impact on $his feelings about you.@@
 			<<set $slaves[$i].devotion += ($slaves[$i].oldDevotion - $slaves[$i].devotion)/2>>
 		<</if>>
 	<</if>>
+<<elseif $slaves[$i].health.tired > 30>>
+	<<if ($slaves[$i].devotion <= 50)>>
+		<<if ($slaves[$i].devotion < $slaves[$i].oldDevotion)>>
+			Some of the less unpleasant things done to $him this week slip $his tired mind, @@.hotpink;reducing their impact on $his feelings about you.@@
+			<<set $slaves[$i].devotion += Math.trunc(($slaves[$i].oldDevotion - $slaves[$i].devotion)/4)>>
+		<</if>>
+	<</if>>
+<</if>>
+
+<<if $slaves[$i].health.tired > 30>>
+	<<if ($slaves[$i].trust >= -50)>>
+		<<if ($slaves[$i].trust < $slaves[$i].oldTrust)>>
+			In $his tired state, $he begins to recall things as @@.gold;worse than they actually were.@@
+			<<set $slaves[$i].trust -= ($slaves[$i].oldTrust - $slaves[$i].trust)/2>>
+		<</if>>
+	<</if>>
 <</if>>
 
 /* CAPS ON DEVOTION GAIN */
@@ -687,9 +703,7 @@
 	The incubation facility conditioned $his mind for total reverence of $his owner; $he cannot resist $his progress.
 <<elseif $slaves[$i].devotion >= -20>>
 	<<if $slaves[$i].devotion >= ($slaves[$i].oldDevotion+5)>>
-		<<if $slaves[$i].tankBaby == 1>>
-			The incubation facility conditioned $his mind for total subservience to $his owner; $he cannot resist $his progress.
-		<<elseif $arcologies[0].FSChattelReligionist >= random(1,100)>>
+		<<if $arcologies[0].FSChattelReligionist >= random(1,100)>>
 			The natural resilience of $his mind is overcome by the omnipresent combination of faith and servitude in $arcologies[0].name, and $he does not resist $his progress down the path towards total subservience.
 		<<elseif Array.isArray($personalAttention) && $personalAttention.findIndex(function(s) { return s.ID == $slaves[$i].ID; }) != -1>>
 			$He gained so much regard for you this week that $his natural reaction is to rebound a little, but since you're giving $him personal attention, your charismatic presence prevents this.
@@ -700,9 +714,7 @@
 	<</if>>
 <<else>>
 	<<if $slaves[$i].devotion >= ($slaves[$i].oldDevotion+5)>>
-		<<if $slaves[$i].tankBaby == 1>>
-			The incubation facility conditioned $his mind for total subservience to $his owner; $he cannot resist $his progress.
-		<<elseif $slaves[$i].behavioralFlaw == "arrogant">>
+		<<if $slaves[$i].behavioralFlaw == "arrogant">>
 			Though $he made progress this week, @@.mediumorchid;it is limited by $his arrogance.@@
 			<<set $slaves[$i].devotion = ($slaves[$i].oldDevotion+5)>>
 		<<elseif ($slaves[$i].behavioralFlaw == "bitchy") && canTalk($slaves[$i])>>
@@ -720,11 +732,11 @@
 
 /* CAPS ON TRUST GAIN */
 
-<<if $slaves[$i].trust >= -20>>
+<<if $slaves[$i].tankBaby == 1>>
+	Any natural doubts $he has are overcome by $his conditioning in the incubation facility; $he cannot resist trusting $his owner.
+<<elseif $slaves[$i].trust >= -20>>
 	<<if $slaves[$i].trust >= ($slaves[$i].oldTrust+5)>>
-		<<if $slaves[$i].tankBaby == 1>>
-			Any natural doubts $he has are overcome by $his conditioning in the incubation facility; $he cannot resist trusting $his owner.
-		<<elseif $arcologies[0].FSChattelReligionist >= random(1,100)>>
+		<<if $arcologies[0].FSChattelReligionist >= random(1,100)>>
 			Any natural doubts $he harbors are overcome by $his belief in Chattel Religionism, and $he does not resist $his progress down the path towards total trust in you.
 		<<elseif Array.isArray($personalAttention) && $personalAttention.findIndex(function(s) { return s.ID == $slaves[$i].ID; }) != -1>>
 			$He gained so much trust in you this week that $his natural reaction is to doubt $himself, but since you're giving $him personal attention, $he decides to trust $his understanding of your will.
@@ -735,9 +747,7 @@
 	<</if>>
 <<else>>
 	<<if $slaves[$i].trust >= ($slaves[$i].oldTrust+5)>>
-		<<if $slaves[$i].tankBaby == 1>>
-			Any natural doubts $he has are overcome by $his conditioning in the incubation facility; $he cannot resist trusting $his owner.
-		<<elseif ($slaves[$i].behavioralFlaw == "odd") && ($slaves[$i].collar != "shock punishment")>>
+		<<if ($slaves[$i].behavioralFlaw == "odd") && ($slaves[$i].collar != "shock punishment")>>
 			Though $he made progress this week, @@.gold;it is limited by $his preoccupation with $his own oddities.@@
 			<<set $slaves[$i].trust = ($slaves[$i].oldTrust+5)>>
 		<</if>>
diff --git a/src/uncategorized/saDrugs.tw b/src/uncategorized/saDrugs.tw
index f7e0f5a8b9a0d339d733d5bd3b9edf8c9a17bb2e..2cf9ea229230422cd886314f40150465d11a1142 100644
--- a/src/uncategorized/saDrugs.tw
+++ b/src/uncategorized/saDrugs.tw
@@ -1321,8 +1321,8 @@
 	<<run healthDamage($slaves[$i], jsRandom(3, 5))>>
 <</if>>
 
-<<if $slaves[$i].curatives < 2 && $slaves[$i].inflationType != "curative" && ($slaves[$i].assignment != "rest in the spa" && $slaves[$i].assignment != "rest" && $slaves[$i].assignment != "get treatment in the clinic")>>
-	<<if $slaves[$i].health.condition < -50>>
+<<if $slaves[$i].curatives < 2 && $slaves[$i].inflationType != "curative">>
+	<<if $slaves[$i].health.condition < -50 && ($slaves[$i].assignment != "rest in the spa" && $slaves[$i].assignment != "rest" && $slaves[$i].assignment != "get treatment in the clinic")>>
 		It's difficult being so in such poor condition, and $he @@.mediumorchid;resents you@@ for ignoring $his plight.
 		<<set $slaves[$i].devotion -= 2>>
 	<<elseif ($slaves[$i].health.condition > 50)>>
@@ -1335,43 +1335,29 @@
 	<</if>>
 <</if>>
 
-<<if $slaves[$i].health.tired > 90 && ($slaves[$i].assignment != "rest in the spa" && $slaves[$i].assignment != "rest" && $slaves[$i].assignment != "get treatment in the clinic")>>
-	$He has been worked to the bone
-	<<if $slaves[$i].devotion < 20>>
-		and @@.hotpink;bends a little more to your will,@@ while @@.gold;fearing she'll never earn a reprieve@@ from toiling.
-		<<set $slaves[$i].devotion += 2, $slaves[$i].trust -= 2>>
-	<<elseif $slaves[$i].devotion < 50>>
-		and can't help but @@.gold;worry a little about her well-being.@@
-		<<set $slaves[$i].trust -= 1>>
-	<<else>>
-		but $he carries on without reservations.
-	<</if>>
-<<elseif $slaves[$i].health.tired > 60 && ($slaves[$i].assignment != "rest in the spa" && $slaves[$i].assignment != "rest" && $slaves[$i].assignment != "get treatment in the clinic")>>
-	$He is suffering from exhaustion
-	<<if $slaves[$i].devotion < 20>>
-		and it is @@.hotpink;wearing away at her resistance.@@
-		<<set $slaves[$i].devotion += 1>>
-	<<else>>
-		but $he tries not to let it show.
-	<</if>>
-<</if>>
-
-<<if $slaves[$i].health.illness > 1 && ($slaves[$i].assignment != "rest in the spa" && $slaves[$i].assignment != "rest" && $slaves[$i].assignment != "get treatment in the clinic")>>
-	$He is<<if $slaves[$i].health.illness > 4>> deathly<<elseif $slaves[$i].health.illness > 3>> seriously<</if>> ill
-	<<if $slaves[$i].devotion < 20>>
-		and @@.mediumorchid;hates@@ having $his health issues @@.gold;ignored.@@
-		<<set $slaves[$i].devotion -= $slaves[$i].health.illness * 2, $slaves[$i].trust -= $slaves[$i].health.illness>>
-	<<elseif $slaves[$i].devotion < 50 && $slaves[$i].health.illness > 3>>
-		and @@.mediumorchid;resents@@ not given proper treatment.
-		<<set $slaves[$i].devotion -= $slaves[$i].health.illness>>
-	<<else>>
-		and does $his best to continue with $his duties out of dedication to you, despite being sick.
+<<if $slaves[$i].drugs != "stimulants" && $slaves[$i].inflationType != "stimulant">>
+	<<if ($slaves[$i].assignment != "rest in the spa" && $slaves[$i].assignment != "rest" && $slaves[$i].assignment != "get treatment in the clinic")>>
+		<<if $slaves[$i].health.tired > 90>>
+			$He has been worked to the bone
+			<<if $slaves[$i].devotion < 20>>
+				and @@.hotpink;bends a little more to your will,@@ while @@.gold;fearing she'll never earn a reprieve@@ from toiling.
+				<<set $slaves[$i].devotion += 2, $slaves[$i].trust -= 2>>
+			<<elseif $slaves[$i].devotion < 50>>
+				and can't help but @@.gold;worry a little about her well-being.@@
+				<<set $slaves[$i].trust -= 1>>
+			<<else>>
+				but $he carries on without reservations.
+			<</if>>
+		<<elseif $slaves[$i].health.tired > 60>>
+			$He is suffering from exhaustion
+			<<if $slaves[$i].devotion < 20>>
+				and it is @@.hotpink;wearing away at her resistance.@@
+				<<set $slaves[$i].devotion += 1>>
+			<<else>>
+				but $he tries not to let it show.
+			<</if>>
+		<</if>>
 	<</if>>
-<<elseif $slaves[$i].health.illness > 1 && $slaves[$i].assignment == "get treatment in the clinic">>
-	$He is<<if $slaves[$i].health.illness > 4>> deathly<<elseif $slaves[$i].health.illness > 3>> seriously<</if>> ill and receiving appropriate treatment. $He is @@.hotpink;grateful@@ you help $him get well.
-	<<set $slaves[$i].devotion += 2>>
-<<elseif $slaves[$i].health.illness == 1>>
-	$He is a bit under the weather this week and $his productivity suffers, $he will hopefully feel better soon.
 <</if>>
 
 <<if ($slaves[$i].addict > 0)>>
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index bbb25582974f43d227df0cc88c9a68a9bfd55e9f..4c3ba667fd5cd976e12fb61fd84dbabfc2b7e6e0 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -6602,6 +6602,24 @@
 	<</if>>
 <</if>>
 
+<<if $slaves[$i].health.illness > 1 && ($slaves[$i].assignment != "rest in the spa" && $slaves[$i].assignment != "rest" && $slaves[$i].assignment != "get treatment in the clinic")>>
+	$He is<<if $slaves[$i].health.illness > 4>> deathly<<elseif $slaves[$i].health.illness > 3>> seriously<</if>> ill
+	<<if $slaves[$i].devotion < 20>>
+		and @@.mediumorchid;hates@@ having $his health issues @@.gold;ignored.@@
+		<<set $slaves[$i].devotion -= $slaves[$i].health.illness * 2, $slaves[$i].trust -= $slaves[$i].health.illness>>
+	<<elseif $slaves[$i].devotion < 50 && $slaves[$i].health.illness > 3>>
+		and @@.mediumorchid;resents@@ not given proper treatment.
+		<<set $slaves[$i].devotion -= $slaves[$i].health.illness>>
+	<<else>>
+		and does $his best to continue with $his duties out of dedication to you, despite being sick.
+	<</if>>
+<<elseif $slaves[$i].health.illness > 1 && $slaves[$i].assignment == "get treatment in the clinic">>
+	$He is<<if $slaves[$i].health.illness > 4>> deathly<<elseif $slaves[$i].health.illness > 3>> seriously<</if>> ill and receiving appropriate treatment. $He is @@.hotpink;grateful@@ you help $him get well.
+	<<set $slaves[$i].devotion += 2>>
+<<elseif $slaves[$i].health.illness == 1>>
+	$He is a bit under the weather this week and $his productivity suffers; $he will hopefully recover soon.
+<</if>>
+
 <<if $slaves[$i].physicalAge >= 30>>
 	<<if $slaves[$i].health.condition > 20>>
 		<<if $slaves[$i].curatives == 0 && $slaves[$i].inflationType != "curative">>