diff --git a/src/endWeek/saServeThePublic.js b/src/endWeek/saServeThePublic.js
index c4ad50c058e74f5d95819a102811635fe62d843a..68aeada5f74fe3b371e2be2e5bfc73f6ea8e031e 100644
--- a/src/endWeek/saServeThePublic.js
+++ b/src/endWeek/saServeThePublic.js
@@ -317,70 +317,44 @@ window.saServeThePublic = (function saServeThePublic() {
 				r += ` protect ${him} from the wear of being a slut.`;
 			} else if (slave.health < -50) {
 				r += ` The stress of being a slut while ill is <span class="red">very hard on ${him}.</span>`;
-				slave.health -= 10;
-				injury = 1;
 			} else if (slave.health < -20 && jsRandom(1, 100) > 50) {
 				r += ` The stress of being a slut while ill is <span class="red">hard on ${him}.</span>`;
-				slave.health -= 7;
-				injury = 1;
 			} else if (slave.vagina < 0) {
-				if ((slave.skill.anal + slave.skill.oral) >= 200) {
+				if (slave.minorInjury === 0) {
 					r += ` ${He}'s such an expert public servant that ${he} copes with the stress of being a ${SlaveTitle(slave)} slut.`;
-				} else if (jsRandom(1, 100) > (40 + (10 * (slave.skill.anal + slave.skill.oral)))) {
+				} else {
 					r += ` The stress of being a ${SlaveTitle(slave)} slut is <span class="red">hard on ${him}.</span>`;
-					slave.health -= 7;
-					injury = 1;
 				}
 			} else if (slave.vagina > 0 && !canDoVaginal(slave)) {
 				if (canDoAnal(slave)) {
-					if ((slave.skill.anal + slave.skill.oral) >= 200) {
+					if (slave.minorInjury === 0) {
 						r += ` ${He}'s such an expert slut that ${he} copes with the stress of being limited to buttsex and oral.`;
-					} else if (jsRandom(1, 100) > (40 + (10 * (slave.skill.anal + slave.skill.oral)))) {
+					} else {
 						r += ` The stress of being limited to buttsex and oral is <span class="red">hard on ${him}.</span>`;
-						slave.health -= 7;
-						injury = 1;
 					}
 				} else {
-					if (slave.skill.oral >= 100) {
+					if (slave.minorInjury === 0) {
 						r += ` ${He}'s such an expert slut that ${he} copes with the stress of being limited to oral.`;
-					} else if (jsRandom(1, 100) > (40 + (10 * slave.skill.oral))) {
+					} else {
 						r += ` The stress of being limited to oral sex is <span class="red">hard on ${him}.</span>`;
-						slave.health -= 7;
-						injury = 1;
 					}
 				}
-			} else if ((slave.skill.anal + slave.skill.oral + slave.skill.vaginal) < 300) {
-				if (jsRandom(1, 100) > (10 + ((slave.skill.anal + slave.skill.oral + slave.skill.vaginal) / 10))) {
-					injury = 1;
-				}
 			}
 		}
-		if (injury === 1) {
-			slave.health -= 3;
-			let injuryChance;
-			if (canDoAnal(slave)) {
-				injuryChance = jsRandom(1, 100);
-			} else {
-				injuryChance = jsRandom(1, 80);
-			}
-			if (injuryChance > 80) {
-				slave.minorInjury = "sore ass";
+		if (slave.minorInjury !== 0) {
+			if (slave.minorInjury === "sore ass") {
 				r += ` Rough anal with a careless citizen left ${him} with a <span class="red">${slave.minorInjury}.</span>`;
 				r += minorInjuryResponse(slave);
-			} else if (injuryChance > 60) {
-				slave.minorInjury = "black eye";
+			} else if (slave.minorInjury === "black eye") {
 				r += ` A violent citizen left ${him} with a <span class="red">${slave.minorInjury}.</span>`;
 				r += minorInjuryResponse(slave);
-			} else if (injuryChance > 40) {
-				slave.minorInjury = "split lip";
+			} else if (slave.minorInjury === "split lip") {
 				r += ` An abusive citizen left ${him} with a <span class="red">${slave.minorInjury}.</span>`;
 				r += minorInjuryResponse(slave);
-			} else if (injuryChance > 20) {
-				slave.minorInjury = "bad bruise";
+			} else if (slave.minorInjury === "bad bruise") {
 				r += ` A rough citizen left ${him} with a <span class="red">${slave.minorInjury}.</span>`;
 				r += minorInjuryResponse(slave);
 			} else {
-				slave.minorInjury = "sore muscle";
 				r += ` The hard labor of constant sex left ${him} with a <span class="red">${slave.minorInjury}.</span>`;
 			}
 		}
diff --git a/src/js/economyJS.js b/src/js/economyJS.js
index e435f4fdd23efaa44456816cc36ffe0b988e14a8..6c77e5e20ffc4b74db841e0692f479b5e6bc570a 100644
--- a/src/js/economyJS.js
+++ b/src/js/economyJS.js
@@ -1143,30 +1143,24 @@ window.slaveJobValues = function() {
 		// Injuries
 		if (s.curatives < 1 && s.inflationType !== "curative") {
 			if (s.health < -50) {
-				s.health -= 8;
+				s.health -= 13;
 				s.minorInjury = 1;
 			} else if (s.health < -20 && jsRandom(1, 100) > 50) {
-				s.health -= 5;
+				s.health -= 10;
 				s.minorInjury = 1;
-			} else if (!canDoVaginal(s)) {
-				if (canDoAnal(s)) {
-					if (jsRandom(1, 100) > 40 + (3 * (s.skill.anal + s.skill.oral)/10)) {
-						s.health -= 5;
-						s.minorInjury = 1;
-					}
-				} else if (jsRandom(1, 100) > 70 + (3/10 * s.skill.oral)) {
-					s.health -= 5;
-					s.minorInjury = 1;
-				}
-			} else if (s.skill.anal + s.skill.oral + s.skill.vaginal < 300) {
-				if (jsRandom(1, 100) > 10 + (3*(s.skill.anal + s.skill.oral + s.skill.vaginal) / 10)) {
+			} else {
+				let skilltarget = (100 + ((s.skill.anal - 100)*canDoAnal(s)*(1 + .5*!canDoVaginal(s)) + (s.skill.vaginal - 100)*canDoVaginal(s)*(1 + .5*!canDoAnal(s)) + (s.skill.oral - 100)*(1 + .5*!canDoAnal(s) + .5*!canDoVaginal(s) + !canDoAnal(s)*!canDoVaginal(s)))*3/10);
+				//Complicated, I know - but it should automatically account for what acts are possible to scale the injury risk smoothly between 90% when totally unskilled
+				//and 0% when perfectly skilled in the relevant method or methods.
+				
+				if (jsRandom(1,100) > skilltarget) {
+					s.health -= 10 - 7*canDoAnal(s)*canDoVaginal(s);		//Any limitations means an injury inflicts the harsher 10 instead of 3
 					s.minorInjury = 1;
 				}
 			}
 		}
-		if (s.minorInjury === 1 && s.assignment === "serve the public") {
+		if (s.minorInjury === 1) {
 			let injuryChance;
-			s.health -= 5;
 			beautyMultiplier -= 0.05;
 			if (canDoAnal(s)) {
 				injuryChance = jsRandom(1, 100);