From 06e40e475e9a7cd78b3f5d07cf94c303e3f68aaf Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Tue, 9 Jun 2020 20:41:20 -0400
Subject: [PATCH] saServeYourOtherSlaves stuff

---
 Changelog.txt                         |  3 ++
 src/endWeek/saServeYourOtherSlaves.js | 45 +++++++++++++++++++++++++--
 src/gui/Encyclopedia/encyclopedia.tw  |  2 +-
 3 files changed, 47 insertions(+), 3 deletions(-)

diff --git a/Changelog.txt b/Changelog.txt
index fca166bd7af..e659993c4e3 100644
--- a/Changelog.txt
+++ b/Changelog.txt
@@ -2,6 +2,9 @@ Pregmod
 
 0.10.7.1-3.5.x
 
+	3
+	-custom hotkeys
+
 	6/06/2020
 
 	2
diff --git a/src/endWeek/saServeYourOtherSlaves.js b/src/endWeek/saServeYourOtherSlaves.js
index b14d8ab1ff6..57cd7871e6f 100644
--- a/src/endWeek/saServeYourOtherSlaves.js
+++ b/src/endWeek/saServeYourOtherSlaves.js
@@ -1776,7 +1776,23 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 	 * @param {App.Entity.SlaveState} slave
 	 * */
 	function mentalEffects(slave) {
-		if (jobType === "sub") {
+		if (jobType === "stud") {
+			if (slave.behavioralFlaw === "hates women") {
+				if (slave.devotion > 20 && jsRandom(1, 100) > 70) {
+					r.push(`Spending so much time in close proximity to pussies <span class="green">reconciles ${him} to sex with girls.</span>`);
+					slave.behavioralFlaw = "none";
+				}
+			}
+		} else if (jobType === "cumdump") {
+			if ((V.dormitoryPopulation + V.roomsPopulation - V.subSlaves) > 5 && load <= 0.8) {
+				if (slave.sexualFlaw === "repressed") {
+					if (slave.devotion > 20 && jsRandom(1, 100) > (100 - fuckCount)) {
+						r.push(`After being brought to orgasm so many times, <span class="green">${he} begins to enjoy having sex.</span>`);
+						slave.sexualFlaw = "none";
+					}
+				}
+			}
+		} else if (jobType === "sub") {
 			if (slave.devotion <= 20) {
 				if (slave.trust >= -20) {
 					r.push(`${subName} <span class="gold">is further habituated to subservience</span> by ${domName}.`);
@@ -1876,6 +1892,31 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 	 * @param {App.Entity.SlaveState} slave
 	 * */
 	function slaveSkills(slave) {
-		// WIP
+		if (jobType === "stud") {
+			// Penetrative skill goes here.
+		} else if (jobType === "cumdump") {
+			if (oralUse > 0) {
+				if (slave.skill.oral < 30) {
+					r.push(`${SkillIncrease.Oral(slave, (Math.trunc(oralUse / 2) + Math.floor((slave.intelligence + slave.intelligenceImplant) / 32))}`);
+				} else if (slave.skill.oral < 100) {
+					r.push(`${SkillIncrease.Oral(slave, (Math.trunc(oralUse / 4) + Math.floor((slave.intelligence + slave.intelligenceImplant) / 32))}`);
+				}
+			}
+			if (vaginalUse > 0) {
+				if (slave.skill.vaginal < 30) {
+					r.push(`${SkillIncrease.Vaginal(slave, (Math.trunc(vaginalUse / 2) + Math.floor((slave.intelligence + slave.intelligenceImplant) / 32))}`);
+				} else if (slave.skill.vaginal < 100) {
+					r.push(`${SkillIncrease.Vaginal(slave, (Math.trunc(vaginalUse / 4) + Math.floor((slave.intelligence + slave.intelligenceImplant) / 32))}`);
+				}
+			}
+			if (analUse > 0) {
+				if (slave.skill.anal < 30) {
+					r.push(`${SkillIncrease.Anal(slave, (Math.trunc(analUse / 2) + Math.floor((slave.intelligence + slave.intelligenceImplant) / 32))}`);
+				} else if (slave.skill.anal < 100) {
+					r.push(`${SkillIncrease.Anal(slave, (Math.trunc(analUse / 4) + Math.floor((slave.intelligence + slave.intelligenceImplant) / 32))}`);
+				}
+			}
+		} else if (jobType === "sub") {
+		}
 	}
 })();
diff --git a/src/gui/Encyclopedia/encyclopedia.tw b/src/gui/Encyclopedia/encyclopedia.tw
index 140fc6012cd..f59c24bc62c 100644
--- a/src/gui/Encyclopedia/encyclopedia.tw
+++ b/src/gui/Encyclopedia/encyclopedia.tw
@@ -2792,7 +2792,7 @@ LORE: INTERVIEWS
 	<br>''ezsh'' for bugfixing and creating a tool to build twineJS and twineCSS for me. Set up a revised SC update process as well. Has contributed massive revisions to the game's structure. Keeps the RA in line.
 	<br>''Sonofrevvan'' for making slaves beg and dance.
 	<br>''skriv'' for fixes and endless code cleaning.
-	<br>''Arkerthan'' for various additions including merging cybermod and vanilla prosthetics. Java sanity check. Limbs and reworked amputation. Eye rework. Has begun overhauling various systems including the building layout. Dick tower. Worked on user themes.
+	<br>''Arkerthan'' for various additions including merging cybermod and vanilla prosthetics. Java sanity check. Limbs and reworked amputation. Eye rework. Has begun overhauling various systems including the building layout. Dick tower. Work on user themes. Custom hotkeys.
 	<br>''MouseOfLight'' for overhauling the corporation. V proxy, nuff said. Added better safeguards to the RA.
 	<br>''svornost'': A great asset. Various fixes and tools, including FCHost. Gave players the ability to find that one slave they are looking for. The 'Scope' macro. Optimized porn so beautifully I can't even think. Has continued his reign of optimization. Got extended family mode so smooth it supplanted vanilla. Laid the groundwork for the new event layout system.
 	<br>''Trashman1138'' for various tweaks and fixes.
-- 
GitLab