diff --git a/src/endWeek/saPregnancy.js b/src/endWeek/saPregnancy.js index 548bfcf03b1ab7e1f8694b0befa9be2db6a30462..fefa620048021c20b3647df91353a2fedfa87857 100644 --- a/src/endWeek/saPregnancy.js +++ b/src/endWeek/saPregnancy.js @@ -797,10 +797,7 @@ App.SlaveAssignment.pregnancy = function saPregnancy(slave) { if (isFertile(slave)) { needToBreed(slave); } - const pregEvent = App.EndWeek.saVars.getRandomPregEvent(slave); - if (canGetPregnant(slave) && pregEvent) { - runPregEvent(pregEvent.fatherId, pregEvent.message, pregEvent.callback); - } else if (canGetPregnant(slave) && ((slave.assignment === Job.DAIRY && V.dairyPregSetting === 0) || slave.assignment !== Job.DAIRY)) { + if (canGetPregnant(slave) && ((slave.assignment === Job.DAIRY && V.dairyPregSetting === 0) || slave.assignment !== Job.DAIRY)) { impregnation(slave); } if (slave.ovaImplant === OvaryImplantType.ASEXUAL && isFertile(slave) && (slave.preg === 0 || (slave.preg >= 0 && slave.geneticQuirks.superfetation === 2))) { @@ -913,6 +910,8 @@ App.SlaveAssignment.pregnancy = function saPregnancy(slave) { } /** + * Priority is universal rules -> pregEvent from SAs if present -> general preg logic + * * @param {FC.SlaveState} slave */ function impregnation(slave) { @@ -920,6 +919,7 @@ App.SlaveAssignment.pregnancy = function saPregnancy(slave) { let Stud = getSlave(V.StudID); // May be undefined! const studIgnoresRules = (Stud && V.universalRulesImpregnation === "Stud" && Stud.career === "a breeding bull" && Stud.fetish === Fetish.MINDBROKEN && canMove(Stud)); const pussy = (slave.mpreg === 1 ? "asspussy" : "pussy"); + const impregEvent = App.EndWeek.saVars.getRandomPregEvent(slave); let satisfiedPregFetish = 0; let StudVaginal = 0; let rapeAddsFlaw = 0; @@ -1947,6 +1947,8 @@ App.SlaveAssignment.pregnancy = function saPregnancy(slave) { } else { knockMeUp(slave, 100, 2, -2); } + } else if (impregEvent) { + runPregEvent(impregEvent.fatherId, impregEvent.message, impregEvent.callback); } else if (conceptionSeed > (50 - (V.reproductionFormula * 10))) { switch (slave.assignment) { case Job.REST: