From 538d1c953d2401459b0df23cc7007af84facb839 Mon Sep 17 00:00:00 2001 From: lowercasedonkey <lowercasedonkey@gmail.com> Date: Mon, 22 Feb 2021 23:15:52 -0500 Subject: [PATCH] allow voice change from RA --- devTools/types/FC/RA.d.ts | 1 + src/js/rulesAssistant.js | 1 + src/js/rulesAssistantOptions.js | 15 +++++++++++++++ src/js/rulesAutosurgery.js | 2 ++ 4 files changed, 19 insertions(+) diff --git a/devTools/types/FC/RA.d.ts b/devTools/types/FC/RA.d.ts index 1ffbafabf9b..f837d13e769 100644 --- a/devTools/types/FC/RA.d.ts +++ b/devTools/types/FC/RA.d.ts @@ -25,6 +25,7 @@ declare namespace FC { } interface RuleSurgerySettings { + voice: number; eyes: number; hears: number; smells: number; diff --git a/src/js/rulesAssistant.js b/src/js/rulesAssistant.js index 8fec2409220..e5b20fa7fd3 100644 --- a/src/js/rulesAssistant.js +++ b/src/js/rulesAssistant.js @@ -364,6 +364,7 @@ App.RA.newRule = function() { /** @returns {FC.RA.RuleSurgerySettings} */ function emptySurgery() { return { + voice: null, eyes: null, hears: null, smells: null, diff --git a/src/js/rulesAssistantOptions.js b/src/js/rulesAssistantOptions.js index 9b85122e9bb..a289ccc665e 100644 --- a/src/js/rulesAssistantOptions.js +++ b/src/js/rulesAssistantOptions.js @@ -1879,6 +1879,7 @@ App.RA.options = (function() { constructor(tabButtons) { super("autosurgery", "Autosurgery", tabButtons); this.appendChild(new AutosurgerySwitch()); + this.appendChild(new VoiceSurgeryList()); this.appendChild(new VisionSurgeryList()); this.appendChild(new HearingSurgeryList()); this.appendChild(new SmellSurgeryList()); @@ -3838,6 +3839,20 @@ App.RA.options = (function() { } } + class VoiceSurgeryList extends RadioSelector { + constructor() { + const items = [ + ["mute", 0], + ["deep", 1], + ["feminine", 2], + ["high, girly", 3], + ]; + super("Voice modification", items, true); + this.setValue(current_rule.set.surgery.voice); + this.onchange = (value) => current_rule.set.surgery.voice = value; + } + } + class VisionSurgeryList extends RadioSelector { constructor() { const items = [ diff --git a/src/js/rulesAutosurgery.js b/src/js/rulesAutosurgery.js index b5d6511683f..f4ee8a70e8a 100644 --- a/src/js/rulesAutosurgery.js +++ b/src/js/rulesAutosurgery.js @@ -169,6 +169,8 @@ 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 alter ${his} voice`, s => { s.voice = thisSurgery.voice; }); } if (slave.lactation === 2 && thisSurgery.lactation === 0) { -- GitLab