diff --git a/src/js/rulesAssistantOptions.js b/src/js/rulesAssistantOptions.js index b94d2c2ce4391b684b4669566a795c1b8683326a..e498f9f840bdc6423a52f48eab7db8144ae50a5d 100644 --- a/src/js/rulesAssistantOptions.js +++ b/src/js/rulesAssistantOptions.js @@ -1689,8 +1689,8 @@ App.RA.options = (function() { this.appendChild(new SemenSurgeryList()); this.appendChild(new VasectomyList()); } - this.appendChild(new OvariesImplantsSurgeryList()); - this.appendChild(new OvariesImplantsAllowReplacing()); + this.appendChild(new OvaryImplantSurgeryList()); + this.appendChild(new OvaryImplantAllowReplacing()); this.appendChild(new CosmeticSurgeryList()); this.appendChild(new LipSurgeryList()); this.appendChild(new ButtSurgeryList()); @@ -3928,12 +3928,12 @@ App.RA.options = (function() { } } - class OvariesImplantsSurgeryList extends RadioSelector { + class OvaryImplantSurgeryList extends RadioSelector { constructor() { const items = [ ["none", 0], - ["fertility", "fertility"], - ["sympathy", "sympathy"] + ["fertility", 1], + ["sympathy", 2] ]; super("Ovaries implants type", items, true); this.setValue(current_rule.set.surgery.ovaImplant); @@ -3941,7 +3941,7 @@ App.RA.options = (function() { } } - class OvariesImplantsAllowReplacing extends BooleanSwitch { + class OvaryImplantAllowReplacing extends BooleanSwitch { constructor() { super(`Replace other types of ovaries implants`); diff --git a/src/js/rulesAutosurgery.js b/src/js/rulesAutosurgery.js index bf49b659c6ffb05ef65d0d9d150f92ddb39cee10..473050dc0735f8eb8ebc51427818b237b7dc771b 100644 --- a/src/js/rulesAutosurgery.js +++ b/src/js/rulesAutosurgery.js @@ -356,6 +356,28 @@ globalThis.rulesAutosurgery = (function() { commitProcedure("undo vasectomy", s => { s.vasectomy = 0; }); } + if (slave.ovaries === 1 || slave.mpreg === 1) { + if (thisSurgery.ovaImplant === 2 && V.sympatheticOvaries === 1) { + if (slave.ovaImplant === 0) { + commitProcedure(`surgery to link ${his} ovaries via implant`, s => { s.ovaImplant = "sympathy"; }); + } else if (slave.ovaImplant === "fertility" && thisSurgery.ovaImplantAllowReplacing) { + commitProcedure(`surgery to remove the fertility implants and link ${his} ovaries via implant`, s => { s.ovaImplant = "sympathy"; }, 20); + } + } else if (thisSurgery.ovaImplant === 1 && V.fertilityImplant === 1) { + if (slave.ovaImplant === 0) { + commitProcedure(`surgery to attach fertility implants to ${his} ovaries`, s => { s.ovaImplant = "fertility"; }); + } else if (slave.ovaImplant === "sympathy" && thisSurgery.ovaImplantAllowReplacing) { + commitProcedure(`surgery to unlink ${his} ovaries and attach fertility implants`, s => { s.ovaImplant = "fertility"; }, 20); + } + } else if (thisSurgery.ovaImplant === 0 && slave.ovaImplant !== 0) { + if (slave.ovaImplant === "sympathy") { + commitProcedure(`surgery to unlink ${his} ovaries`, s => { s.ovaImplant = 0; }); + } else if (slave.ovaImplant === "fertility") { + commitProcedure(`surgery to remove the fertility implants from ${his} ovaries`, s => { s.ovaImplant = 0; }); + } + } + } + if (slave.faceImplant <= 15 && slave.face <= 95 && thisSurgery.cosmetic > 0) { commitProcedure("a nicer face", () => { if (slave.faceShape === "masculine") { slave.faceShape = "androgynous"; }