From 5bea9cb0f4ee2f218f93dfcb17ba4ecf3cd28f44 Mon Sep 17 00:00:00 2001
From: Svornost <11434-svornost@users.noreply.gitgud.io>
Date: Wed, 3 Mar 2021 13:33:19 -0800
Subject: [PATCH] voice surgery fixes

---
 src/facilities/surgery/surgeryPassageFaceAndHair.js | 2 ++
 src/js/rulesAutosurgery.js                          | 8 ++++++--
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/facilities/surgery/surgeryPassageFaceAndHair.js b/src/facilities/surgery/surgeryPassageFaceAndHair.js
index 2d34e25b8c5..95e71a71a82 100644
--- a/src/facilities/surgery/surgeryPassageFaceAndHair.js
+++ b/src/facilities/surgery/surgeryPassageFaceAndHair.js
@@ -1158,6 +1158,7 @@ App.UI.surgeryPassageHairAndFace = function(slave, cheat = false) {
 							"voice",
 							() => {
 								slave.voice += 1;
+								slave.voiceImplant += 1;
 								surgeryDamage(slave, 10);
 							}
 						));
@@ -1168,6 +1169,7 @@ App.UI.surgeryPassageHairAndFace = function(slave, cheat = false) {
 							"voice2",
 							() => {
 								slave.voice -= 1;
+								slave.voiceImplant -= 1;
 								surgeryDamage(slave, 10);
 							}
 						));
diff --git a/src/js/rulesAutosurgery.js b/src/js/rulesAutosurgery.js
index 003746bde71..03178aecde4 100644
--- a/src/js/rulesAutosurgery.js
+++ b/src/js/rulesAutosurgery.js
@@ -169,8 +169,12 @@ globalThis.rulesAutosurgery = (function() {
 			commitProcedure(`surgery to correct ${his} sense of taste`, s => { s.tastes = 0; });
 		} else if (slave.tastes === 0 && thisSurgery.tastes === -1) {
 			commitProcedure(`surgery to muffle ${his} sense of taste`, s => { s.tastes = -1; });
-		} else if (slave.voice !== thisSurgery.voice) {
-			commitProcedure(`surgery to ${(slave.voice > thisSurgery.voice) ? "lower" : "raise"} ${his} voice`, s => { s.voice = thisSurgery.voice; });
+		} else if (_.isNumber(thisSurgery.voice) && slave.voice !== thisSurgery.voice) {
+			const voiceDifference = slave.voice - thisSurgery.voice;
+			commitProcedure(`surgery to ${(voiceDifference < 0) ? "lower" : "raise"} ${his} voice`, s => {
+				s.voice += voiceDifference;
+				s.voiceImplant += voiceDifference;
+			});
 		}
 
 		if (slave.lactation === 2 && thisSurgery.lactation === 0) {
-- 
GitLab