diff --git a/src/js/eventSelectionJS.js b/src/js/eventSelectionJS.js index de1809507cc92c5ac159594ed6110b4d5fca8c19..3cb3282c27ffbb8652599482f00ddd195aab7319 100644 --- a/src/js/eventSelectionJS.js +++ b/src/js/eventSelectionJS.js @@ -2,7 +2,7 @@ * STANDARD EVENTS * @param {App.Entity.SlaveState} eventSlave */ -globalThis.generateRandomEventPoolStandard = function(eventSlave) { +globalThis.generateRandomEventPool = function(eventSlave) { if (eventSlave.fetish !== "mindbroken") { if (hasAnyArms(eventSlave) && hasAnyLegs(eventSlave)) { if (canTalk(eventSlave)) { @@ -48,24 +48,26 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { } } - if (eventSlave.skill.entertainment >= 60 || ["a ballerina", "a camgirl", "a camwhore", "a cheerleader", "a classical dancer", "a dancer", "a house DJ", "a party girl", "an aspiring pop star", "an exotic dancer", "an idol"].includes(eventSlave.career)) { - if (canHear(eventSlave)) { - if (eventSlave.health.condition > 40) { - if (eventSlave.devotion > 50) { - if (eventSlave.trust > 50) { - V.RESSevent.push("happy dance"); + if (eventSlave.assignment !== Job.QUARTER) { + if (eventSlave.skill.entertainment >= 60 || ["a ballerina", "a camgirl", "a camwhore", "a cheerleader", "a classical dancer", "a dancer", "a house DJ", "a party girl", "an aspiring pop star", "an exotic dancer", "an idol"].includes(eventSlave.career)) { + if (canHear(eventSlave)) { + if (eventSlave.health.condition > 40) { + if (eventSlave.devotion > 50) { + if (eventSlave.trust > 50) { + V.RESSevent.push("happy dance"); + } } } } } - } - if (V.RERepressedAnalVirginSubIDs.length > 0) { - if (eventSlave.anus === 0) { - if (eventSlave.devotion >= -50) { - if (eventSlave.trust >= -50) { - if (eventSlave.sexualFlaw === "repressed") { - V.RETSevent.push("repressed anal virgin"); + if (V.RERepressedAnalVirginSubIDs.length > 0) { + if (eventSlave.anus === 0) { + if (eventSlave.devotion >= -50) { + if (eventSlave.trust >= -50) { + if (eventSlave.sexualFlaw === "repressed") { + V.RETSevent.push("repressed anal virgin"); + } } } } @@ -77,12 +79,12 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { if (eventSlave.devotion >= -20) { if (canSee(eventSlave)) { if (eventSlave.devotion <= 50) { - if (eventSlave.assignment === Job.HOUSE) { + if (eventSlave.assignment === Job.HOUSE || eventSlave.assignment === Job.QUARTER) { if (canDoAnal(eventSlave) || canDoVaginal(eventSlave)) { V.RESSevent.push("PA servant"); } } - } else if (eventSlave.trust > 75) { + } else if (eventSlave.trust > 75 && eventSlave.assignment !== Job.QUARTER) { if (eventSlave.energy > 60) { if ((canDoAnal(eventSlave) && eventSlave.anus > 0) || (canDoVaginal(eventSlave) && eventSlave.vagina > 0)) { V.RESSevent.push("PA flirting"); @@ -94,10 +96,12 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { } } - if (eventSlave.clothes === "a succubus outfit") { - if (eventSlave.devotion > 20) { - if (eventSlave.trust > 20) { - V.RESSevent.push("sexy succubus"); + if (eventSlave.assignment !== Job.QUARTER) { + if (eventSlave.clothes === "a succubus outfit") { + if (eventSlave.devotion > 20) { + if (eventSlave.trust > 20) { + V.RESSevent.push("sexy succubus"); + } } } } @@ -111,20 +115,23 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { V.events.push("RE shower punishment"); } } - if (eventSlave.ID === V.HeadGirlID) { - if (eventSlave.trust > 50) { - V.RESSevent.push("trusting HG"); + if (eventSlave.assignment !== Job.QUARTER) { + if (eventSlave.ID === V.HeadGirlID) { + if (eventSlave.trust > 50) { + V.RESSevent.push("trusting HG"); + } } - } - if (eventSlave.ID !== V.HeadGirlID) { - if (canSee(eventSlave) && canWalk(eventSlave)) { - if (eventSlave.rules.speech !== "restrictive") { - if (eventSlave.trust > 75) { - if (eventSlave.devotion > 50) { - if (eventSlave.skill.oral > 30) { - if (eventSlave.intelligence + eventSlave.intelligenceImplant >= S.HeadGirl.intelligence + S.HeadGirl.intelligenceImplant) { - if (eventSlave.skill.oral > S.HeadGirl.skill.oral) { - V.events.push("RE HG replacement"); + + if (eventSlave.ID !== V.HeadGirlID) { + if (canSee(eventSlave) && canWalk(eventSlave)) { + if (eventSlave.rules.speech !== "restrictive") { + if (eventSlave.trust > 75) { + if (eventSlave.devotion > 50) { + if (eventSlave.skill.oral > 30) { + if (eventSlave.intelligence + eventSlave.intelligenceImplant >= S.HeadGirl.intelligence + S.HeadGirl.intelligenceImplant) { + if (eventSlave.skill.oral > S.HeadGirl.skill.oral) { + V.events.push("RE HG replacement"); + } } } } @@ -135,25 +142,27 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { } } - if (eventSlave.rules.living === "spare") { - if (eventSlave.devotion <= 20) { - if (eventSlave.devotion > -10) { - V.RESSevent.push("sleeping ambivalent"); - } - if (eventSlave.trust < -20) { - V.RESSevent.push("bad dream"); + if (eventSlave.assignment !== Job.QUARTER) { + if (eventSlave.rules.living === "spare") { + if (eventSlave.devotion <= 20) { + if (eventSlave.devotion > -10) { + V.RESSevent.push("sleeping ambivalent"); + } + if (eventSlave.trust < -20) { + V.RESSevent.push("bad dream"); + } } } - } - if (eventSlave.devotion <= 50) { - if (eventSlave.devotion >= -20) { - if (eventSlave.weekAcquired > 0) { - if (V.week - eventSlave.weekAcquired < 10) { - if (eventSlave.energy > 20) { - if (eventSlave.anus !== 0) { - if (eventSlave.vagina !== 0) { - V.RESSevent.push("ignorant horny"); + if (eventSlave.devotion <= 50) { + if (eventSlave.devotion >= -20) { + if (eventSlave.weekAcquired > 0) { + if (V.week - eventSlave.weekAcquired < 10) { + if (eventSlave.energy > 20) { + if (eventSlave.anus !== 0) { + if (eventSlave.vagina !== 0) { + V.RESSevent.push("ignorant horny"); + } } } } @@ -174,21 +183,23 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { } } - if (V.modRequestsAllowed > 0) { - if (eventSlave.trust > 50) { - if (eventSlave.devotion > 20) { - if (eventSlave.dick !== 0 || eventSlave.vagina !== -1) { - if (eventSlave.nipples !== "fuckable") { - if (eventSlave.rules.speech === "permissive") { - if (eventSlave.corsetPiercing === 0) { - if (eventSlave.tonguePiercing === 0) { - if (eventSlave.anusPiercing === 0) { - if (eventSlave.nipplesPiercing === 0) { - if (eventSlave.dickPiercing === 0) { - if (eventSlave.vaginaPiercing === 0) { - if (eventSlave.lipsTat === 0 || eventSlave.lipsTat === "none") { - if (eventSlave.vaginaTat === 0 || eventSlave.vaginaTat === "none") { - V.RESSevent.push("mods please"); + if (eventSlave.assignment !== Job.QUARTER) { + if (V.modRequestsAllowed > 0) { + if (eventSlave.trust > 50) { + if (eventSlave.devotion > 20) { + if (eventSlave.dick !== 0 || eventSlave.vagina !== -1) { + if (eventSlave.nipples !== "fuckable") { + if (eventSlave.rules.speech === "permissive") { + if (eventSlave.corsetPiercing === 0) { + if (eventSlave.tonguePiercing === 0) { + if (eventSlave.anusPiercing === 0) { + if (eventSlave.nipplesPiercing === 0) { + if (eventSlave.dickPiercing === 0) { + if (eventSlave.vaginaPiercing === 0) { + if (eventSlave.lipsTat === 0 || eventSlave.lipsTat === "none") { + if (eventSlave.vaginaTat === 0 || eventSlave.vaginaTat === "none") { + V.RESSevent.push("mods please"); + } } } } @@ -202,51 +213,51 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { } } } - } - if (eventSlave.muscles > 5) { - if (eventSlave.devotion > 20) { - if (eventSlave.diet !== "slimming") { - V.RESSevent.push("sore shoulders"); + if (eventSlave.muscles > 5) { + if (eventSlave.devotion > 20) { + if (eventSlave.diet !== "slimming") { + V.RESSevent.push("sore shoulders"); + } } } - } - if (eventSlave.relationship > 3) { - let relationshipSlave = V.slaves.find(s => s.ID === eventSlave.relationshipTarget); - if (relationshipSlave.devotion > 20) { - if (canWalk(relationshipSlave)) { - if (canTalk(relationshipSlave)) { - if (eventSlave.devotion > 50) { - if (eventSlave.trust > 50) { - if (eventSlave.rules.speech !== "restrictive") { - V.RETSevent.push("date please"); + if (eventSlave.relationship > 3) { + let relationshipSlave = V.slaves.find(s => s.ID === eventSlave.relationshipTarget); + if (relationshipSlave.devotion > 20) { + if (canWalk(relationshipSlave)) { + if (canTalk(relationshipSlave)) { + if (eventSlave.devotion > 50) { + if (eventSlave.trust > 50) { + if (eventSlave.rules.speech !== "restrictive") { + V.RETSevent.push("date please"); + } } } } } } } - } - if (V.REAnalCowgirlSubIDs.length > 1 || (V.REAnalCowgirlSubIDs.length === 1 && eventSlave.ID !== V.REAnalCowgirlSubIDs[0])) { - if (eventSlave.devotion > 20) { - if (eventSlave.rules.release.slaves === 1) { - if (eventSlave.fetish === "buttslut" || eventSlave.fetish === "sadist" || eventSlave.fetish === "dom") { - if ((eventSlave.chastityPenis !== 1) || (eventSlave.dick === 0)) { - V.RETSevent.push("anal cowgirl"); + if (V.REAnalCowgirlSubIDs.length > 1 || (V.REAnalCowgirlSubIDs.length === 1 && eventSlave.ID !== V.REAnalCowgirlSubIDs[0])) { + if (eventSlave.devotion > 20) { + if (eventSlave.rules.release.slaves === 1) { + if (eventSlave.fetish === "buttslut" || eventSlave.fetish === "sadist" || eventSlave.fetish === "dom") { + if ((eventSlave.chastityPenis !== 1) || (eventSlave.dick === 0)) { + V.RETSevent.push("anal cowgirl"); + } } } } } - } - if (V.REBoobCollisionSubIDs.length > 1) { - if (eventSlave.devotion > 20) { - if (eventSlave.trust > 20) { - if (eventSlave.boobs > 3000) { - if (eventSlave.attrXX >= 50 || (eventSlave.fetish === "boobs" && eventSlave.fetishStrength > 95)) { - V.RETSevent.push("boob collision"); + if (V.REBoobCollisionSubIDs.length > 1) { + if (eventSlave.devotion > 20) { + if (eventSlave.trust > 20) { + if (eventSlave.boobs > 3000) { + if (eventSlave.attrXX >= 50 || (eventSlave.fetish === "boobs" && eventSlave.fetishStrength > 95)) { + V.RETSevent.push("boob collision"); + } } } } @@ -279,11 +290,13 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { } } - if (eventSlave.relationship >= 2) { - if (eventSlave.relationship < 5) { - if (eventSlave.devotion > 20) { - if (eventSlave.trust >= -20) { - V.events.push("RE relationship advice"); + if (eventSlave.assignment !== Job.QUARTER) { + if (eventSlave.relationship >= 2) { + if (eventSlave.relationship < 5) { + if (eventSlave.devotion > 20) { + if (eventSlave.trust >= -20) { + V.events.push("RE relationship advice"); + } } } } @@ -293,16 +306,21 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { if (eventSlave.anus > 0) { if (eventSlave.vagina !== 0) { if (eventSlave.trust > 20) { - V.RESSevent.push("devoted exhibition"); + if (eventSlave.assignment !== Job.QUARTER) { + V.RESSevent.push("devoted exhibition"); + } V.RESSevent.push("devoted lotion"); } - if (eventSlave.energy > 95 && canDoAnal(eventSlave)) { - V.RESSevent.push("devoted nympho"); - } - if (eventSlave.rules.release.masturbation === 1) { - if (hasBothArms(eventSlave)) { - if ((eventSlave.chastityPenis !== 1) || (eventSlave.dick === 0)) { - V.RESSevent.push("permitted masturbation"); + + if (eventSlave.assignment !== Job.QUARTER) { + if (eventSlave.energy > 95 && canDoAnal(eventSlave)) { + V.RESSevent.push("devoted nympho"); + } + if (eventSlave.rules.release.masturbation === 1) { + if (hasBothArms(eventSlave)) { + if ((eventSlave.chastityPenis !== 1) || (eventSlave.dick === 0)) { + V.RESSevent.push("permitted masturbation"); + } } } } @@ -310,32 +328,39 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { } } - if (eventSlave.trust < -50) { - if (eventSlave.devotion <= 20) { - V.RESSevent.push("terrified inspection"); + if (eventSlave.assignment === Job.QUARTER) { + if (eventSlave.devotion <= 95) { + if (eventSlave.intelligence + eventSlave.intelligenceImplant < -50) { + V.RESSevent.push("cooler lockin"); + } } - } - - /* - if(eventSlave.drugs === "breast injections") { - if(eventSlave.anus > 0 || eventSlave.vagina > 0) { - if(eventSlave.devotion <= 50) { - if(eventSlave.devotion >= -20) { - if(eventSlave.trust >= -50) { - if(V.REReductionCheckinIDs.includes(eventSlave.ID)) { - V.RECIevent.push("reduction"); - } - } - } + } else { + if (eventSlave.trust < -50) { + if (eventSlave.devotion <= 20) { + V.RESSevent.push("terrified inspection"); } } + /* +if(eventSlave.drugs === "breast injections") { + if(eventSlave.anus > 0 || eventSlave.vagina > 0) { + if(eventSlave.devotion <= 50) { + if(eventSlave.devotion >= -20) { + if(eventSlave.trust >= -50) { + if(V.REReductionCheckinIDs.includes(eventSlave.ID)) { + V.RECIevent.push("reduction"); + } } - */ + } + } + } +} +*/ - if (eventSlave.assignment === Job.HOUSE) { - if (eventSlave.devotion <= 95) { - if (eventSlave.intelligence + eventSlave.intelligenceImplant < -50) { - V.RESSevent.push("cooler lockin"); + if (eventSlave.assignment === Job.HOUSE) { + if (eventSlave.devotion <= 95) { + if (eventSlave.intelligence + eventSlave.intelligenceImplant < -50) { + V.RESSevent.push("cooler lockin"); + } } } } @@ -360,10 +385,12 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { } } - if (eventSlave.devotion < -50) { - if (eventSlave.trust >= -20) { - if (eventSlave.rules.speech === "restrictive") { - V.RESSevent.push("vocal disobedience"); + if (eventSlave.assignment !== Job.QUARTER) { + if (eventSlave.devotion < -50) { + if (eventSlave.trust >= -20) { + if (eventSlave.rules.speech === "restrictive") { + V.RESSevent.push("vocal disobedience"); + } } } } @@ -380,10 +407,12 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { } } - if (eventSlave.physicalAge > 30) { - if (eventSlave.ageImplant > 0) { - if (eventSlave.devotion > 20) { - V.RESSevent.push("age implant"); + if (eventSlave.assignment !== Job.QUARTER) { + if (eventSlave.physicalAge > 30) { + if (eventSlave.ageImplant > 0) { + if (eventSlave.devotion > 20) { + V.RESSevent.push("age implant"); + } } } } @@ -406,11 +435,13 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { } } - if (eventSlave.clothes === "a penitent nuns habit") { - if (eventSlave.anus > 0) { - if (eventSlave.devotion >= -20) { - if (eventSlave.devotion <= 50) { - V.RESSevent.push("penitent"); + if (eventSlave.assignment !== Job.QUARTER) { + if (eventSlave.clothes === "a penitent nuns habit") { + if (eventSlave.anus > 0) { + if (eventSlave.devotion >= -20) { + if (eventSlave.devotion <= 50) { + V.RESSevent.push("penitent"); + } } } } @@ -539,16 +570,17 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { } } } - - if (eventSlave.drugs === "intensive breast injections" || eventSlave.drugs === "hyper breast injections") { - if (eventSlave.boobs <= 8000) { - if (eventSlave.boobs > 2000) { - if (eventSlave.devotion <= 50) { - if (eventSlave.devotion >= -50) { - if (eventSlave.trust >= -50) { - if (eventSlave.fetish !== "boobs") { - if (eventSlave.intelligence + eventSlave.intelligenceImplant >= -50) { - V.RESSevent.push("breast expansion blues"); + if (eventSlave.assignment !== Job.QUARTER) { + if (eventSlave.drugs === "intensive breast injections" || eventSlave.drugs === "hyper breast injections") { + if (eventSlave.boobs <= 8000) { + if (eventSlave.boobs > 2000) { + if (eventSlave.devotion <= 50) { + if (eventSlave.devotion >= -50) { + if (eventSlave.trust >= -50) { + if (eventSlave.fetish !== "boobs") { + if (eventSlave.intelligence + eventSlave.intelligenceImplant >= -50) { + V.RESSevent.push("breast expansion blues"); + } } } } @@ -556,28 +588,27 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { } } } - } - if (eventSlave.physicalAge > 35) { - if (eventSlave.rules.speech !== "restrictive") { - if ([Job.PUBLIC, Job.WHORE].includes(eventSlave.assignment)) { - if (eventSlave.devotion >= -20) { - if (eventSlave.devotion <= 95) { - V.RESSevent.push("ara ara"); + if (eventSlave.physicalAge > 35) { + if (eventSlave.rules.speech !== "restrictive") { + if ([Job.PUBLIC, Job.WHORE].includes(eventSlave.assignment)) { + if (eventSlave.devotion >= -20) { + if (eventSlave.devotion <= 95) { + V.RESSevent.push("ara ara"); + } } } } } - } - if (eventSlave.anus > 3) { - if (eventSlave.devotion > 50) { - if (eventSlave.trust > 50) { - V.RESSevent.push("gaped asshole"); + if (eventSlave.anus > 3) { + if (eventSlave.devotion > 50) { + if (eventSlave.trust > 50) { + V.RESSevent.push("gaped asshole"); + } } } } - if (eventSlave.fetish === "sadist") { if (eventSlave.fetishStrength > 20) { if (App.Entity.facilities.arcade.established) { @@ -591,41 +622,41 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { } } } - - if (eventSlave.dick === 0) { - if (eventSlave.vagina === -1) { - if (canDoAnal(eventSlave)) { - if (eventSlave.energy > 20) { - if (eventSlave.devotion >= -50) { - if (eventSlave.fetish !== "buttslut" || eventSlave.fetishStrength <= 20) { - if (eventSlave.nipples !== "fuckable") { - V.RESSevent.push("desperate null"); + if (eventSlave.assignment !== Job.QUARTER) { + if (eventSlave.dick === 0) { + if (eventSlave.vagina === -1) { + if (canDoAnal(eventSlave)) { + if (eventSlave.energy > 20) { + if (eventSlave.devotion >= -50) { + if (eventSlave.fetish !== "buttslut" || eventSlave.fetishStrength <= 20) { + if (eventSlave.nipples !== "fuckable") { + V.RESSevent.push("desperate null"); + } } } } } } } - } - if (eventSlave.devotion > 20) { - if (eventSlave.boobs > 2000) { - V.RESSevent.push("back stretch"); + if (eventSlave.devotion > 20) { + if (eventSlave.boobs > 2000) { + V.RESSevent.push("back stretch"); + } } - } - if (eventSlave.devotion > 20) { - if (eventSlave.trust > 20) { - if (eventSlave.rules.speech !== "restrictive") { - if (eventSlave.choosesOwnClothes !== 1) { - if (getExposure(eventSlave) === 0) { - V.RESSevent.push("modest clothes"); + if (eventSlave.devotion > 20) { + if (eventSlave.trust > 20) { + if (eventSlave.rules.speech !== "restrictive") { + if (eventSlave.choosesOwnClothes !== 1) { + if (getExposure(eventSlave) === 0) { + V.RESSevent.push("modest clothes"); + } } } } } } - if (V.PC.vagina > -1) { if (eventSlave.devotion <= 20) { if ((eventSlave.trust >= -20 && eventSlave.behavioralFlaw === "arrogant") || (eventSlave.trust > 20)) { @@ -651,14 +682,16 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { } } - if (eventSlave.devotion <= 20) { - if (eventSlave.trust <= -20) { - if (eventSlave.genes === "XY") { - if (eventSlave.dick > 0) { - if (eventSlave.chastityPenis !== 1) { - if (eventSlave.vagina === -1) { - if (eventSlave.attrXY < 50) { - V.RESSevent.push("transition anxiety"); + if (eventSlave.assignment !== Job.QUARTER) { + if (eventSlave.devotion <= 20) { + if (eventSlave.trust <= -20) { + if (eventSlave.genes === "XY") { + if (eventSlave.dick > 0) { + if (eventSlave.chastityPenis !== 1) { + if (eventSlave.vagina === -1) { + if (eventSlave.attrXY < 50) { + V.RESSevent.push("transition anxiety"); + } } } } @@ -698,39 +731,39 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { V.events.push("RE standard punishment"); } } - - if (eventSlave.boobs > 600) { - if (eventSlave.boobShape === "torpedo-shaped") { - if (eventSlave.devotion >= -50) { - V.RESSevent.push("torpedo squeeze"); + if (eventSlave.assignment !== Job.QUARTER) { + if (eventSlave.boobs > 600) { + if (eventSlave.boobShape === "torpedo-shaped") { + if (eventSlave.devotion >= -50) { + V.RESSevent.push("torpedo squeeze"); + } } } - } - if (eventSlave.assignment === Job.PUBLIC) { - if (eventSlave.fetishKnown === 1) { - if (V.arcologies[0].FSDegradationist === "unset") { - if (V.arcologyUpgrade.drones === 1) { - V.RESSevent.push("mean girls"); + if (eventSlave.assignment === Job.PUBLIC) { + if (eventSlave.fetishKnown === 1) { + if (V.arcologies[0].FSDegradationist === "unset") { + if (V.arcologyUpgrade.drones === 1) { + V.RESSevent.push("mean girls"); + } } } } - } - if (eventSlave.balls > 0) { - if (eventSlave.hormoneBalance >= 100) { - if (V.hormoneUpgradeMood === 0) { - if (eventSlave.trust >= -50) { - if (eventSlave.devotion >= -20) { - if (eventSlave.devotion <= 50) { - V.RESSevent.push("orchiectomy please"); + if (eventSlave.balls > 0) { + if (eventSlave.hormoneBalance >= 100) { + if (V.hormoneUpgradeMood === 0) { + if (eventSlave.trust >= -50) { + if (eventSlave.devotion >= -20) { + if (eventSlave.devotion <= 50) { + V.RESSevent.push("orchiectomy please"); + } } } } } } } - if (eventSlave.trust > 20) { if (eventSlave.devotion > 50) { if (V.PC.belly < 5000) { @@ -813,15 +846,16 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { } } } - - if (eventSlave.voice > 0) { - if (eventSlave.lips <= 95) { - if (eventSlave.mouthAccessory === "none") { - if (eventSlave.accent === 3) { - if (eventSlave.devotion <= 50) { - if (eventSlave.trust > -10) { - if (eventSlave.devotion >= -20 || eventSlave.trust < -20) { - V.RESSevent.push("language lesson"); + if (eventSlave.assignment !== Job.QUARTER) { + if (eventSlave.voice > 0) { + if (eventSlave.lips <= 95) { + if (eventSlave.mouthAccessory === "none") { + if (eventSlave.accent === 3) { + if (eventSlave.devotion <= 50) { + if (eventSlave.trust > -10) { + if (eventSlave.devotion >= -20 || eventSlave.trust < -20) { + V.RESSevent.push("language lesson"); + } } } } @@ -839,21 +873,22 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { } } } - - if (eventSlave.boobs >= 2000) { - if (eventSlave.boobsImplant === 0) { - if (eventSlave.nipples !== "tiny" && eventSlave.nipples !== "fuckable") { - if (eventSlave.devotion > 20) { - V.RESSevent.push("huge naturals"); + if (eventSlave.assignment !== Job.QUARTER) { + if (eventSlave.boobs >= 2000) { + if (eventSlave.boobsImplant === 0) { + if (eventSlave.nipples !== "tiny" && eventSlave.nipples !== "fuckable") { + if (eventSlave.devotion > 20) { + V.RESSevent.push("huge naturals"); + } } } } - } - if (eventSlave.boobs > 800) { - if (Math.floor(eventSlave.boobsImplant / eventSlave.boobs) >= 0.60) { - if (eventSlave.devotion > 20) { - V.RESSevent.push("implant inspection"); + if (eventSlave.boobs > 800) { + if (Math.floor(eventSlave.boobsImplant / eventSlave.boobs) >= 0.60) { + if (eventSlave.devotion > 20) { + V.RESSevent.push("implant inspection"); + } } } } @@ -933,18 +968,20 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { } } - if (eventSlave.skill.entertainment >= 100) { - if (eventSlave.trust > 50) { - if (eventSlave.assignment === Job.PUBLIC) { - V.RESSevent.push("masterful entertainer"); + if (eventSlave.assignment !== Job.QUARTER) { + if (eventSlave.skill.entertainment >= 100) { + if (eventSlave.trust > 50) { + if (eventSlave.assignment === Job.PUBLIC) { + V.RESSevent.push("masterful entertainer"); + } } } - } - if (eventSlave.skill.whoring >= 100) { - if (eventSlave.trust > 50) { - if (eventSlave.assignment === Job.WHORE) { - V.RESSevent.push("masterful whore"); + if (eventSlave.skill.whoring >= 100) { + if (eventSlave.trust > 50) { + if (eventSlave.assignment === Job.WHORE) { + V.RESSevent.push("masterful whore"); + } } } } @@ -1088,19 +1125,18 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { } } - if (eventSlave.rules.speech === "restrictive") { - if (eventSlave.devotion > 60) { - if (eventSlave.trust >= -20) { - V.RESSevent.push("restricted profession"); + if (eventSlave.assignment !== Job.QUARTER) { + if (eventSlave.rules.speech === "restrictive") { + if (eventSlave.devotion > 60) { + if (eventSlave.trust >= -20) { + V.RESSevent.push("restricted profession"); + } } - } - } - - if (eventSlave.rules.speech === "restrictive") { - if (eventSlave.intelligence > 15) { - if (eventSlave.trust >= -20) { - if (eventSlave.devotion <= 20) { - V.RESSevent.push("restricted smart"); + if (eventSlave.intelligence > 15) { + if (eventSlave.trust >= -20) { + if (eventSlave.devotion <= 20) { + V.RESSevent.push("restricted smart"); + } } } } @@ -1122,10 +1158,11 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { } } } /* closes mute exempt */ - - if (eventSlave.boobs > 25000) { - if (eventSlave.belly < 100000) { - V.RESSevent.push("tittymonster inspection"); + if (eventSlave.assignment !== Job.QUARTER) { + if (eventSlave.boobs > 25000) { + if (eventSlave.belly < 100000) { + V.RESSevent.push("tittymonster inspection"); + } } } @@ -1141,10 +1178,12 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { } } - if (eventSlave.devotion > 50) { - if (eventSlave.trust > 50) { - if ([Job.CONCUBINE, Job.FUCKTOY, Job.MASTERSUITE].includes(eventSlave.assignment)) { - V.RESSevent.push("bed snuggle"); + if (eventSlave.assignment !== Job.QUARTER) { + if (eventSlave.devotion > 50) { + if (eventSlave.trust > 50) { + if ([Job.CONCUBINE, Job.FUCKTOY, Job.MASTERSUITE].includes(eventSlave.assignment)) { + V.RESSevent.push("bed snuggle"); + } } } } @@ -1163,13 +1202,15 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { } } - if (V.seeExtreme === 1) { - if (eventSlave.balls > 1) { - if (eventSlave.scrotum > 0) { - if (eventSlave.devotion <= 20) { - if (eventSlave.trust <= 20) { - if (eventSlave.rules.speech !== "restrictive") { - V.RESSevent.push("fearful balls"); + if (eventSlave.assignment !== Job.QUARTER) { + if (V.seeExtreme === 1) { + if (eventSlave.balls > 1) { + if (eventSlave.scrotum > 0) { + if (eventSlave.devotion <= 20) { + if (eventSlave.trust <= 20) { + if (eventSlave.rules.speech !== "restrictive") { + V.RESSevent.push("fearful balls"); + } } } } @@ -1177,27 +1218,27 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { } } - if (eventSlave.devotion <= 50) { - if (eventSlave.assignment === Job.QUARTER || eventSlave.assignment === Job.HOUSE) { + if (eventSlave.assignment === Job.QUARTER || eventSlave.assignment === Job.HOUSE) { + if (eventSlave.devotion <= 50) { V.RESSevent.push("scrubbing"); } - } - if (eventSlave.devotion <= 20) { - if (eventSlave.assignment === Job.QUARTER || eventSlave.assignment === Job.HOUSE) { + if (eventSlave.devotion <= 20) { if (eventSlave.clothes === "a slutty maid outfit" || eventSlave.clothes === "a nice maid outfit") { V.RESSevent.push("servant maid"); } } } - if (eventSlave.rules.speech !== "restrictive") { - if (canDoVaginal(eventSlave)) { - if (eventSlave.fetish !== "buttslut") { - if (eventSlave.vagina === 0) { - if (eventSlave.anus !== 0) { - if (eventSlave.counter.oral + eventSlave.counter.vaginal + eventSlave.counter.anal > 100) { - V.RESSevent.push("unhappy virgin"); + if (eventSlave.assignment !== Job.QUARTER) { + if (eventSlave.rules.speech !== "restrictive") { + if (canDoVaginal(eventSlave)) { + if (eventSlave.fetish !== "buttslut") { + if (eventSlave.vagina === 0) { + if (eventSlave.anus !== 0) { + if (eventSlave.counter.oral + eventSlave.counter.vaginal + eventSlave.counter.anal > 100) { + V.RESSevent.push("unhappy virgin"); + } } } } @@ -1257,14 +1298,16 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { } } - if (isAmputee(eventSlave)) { - if (eventSlave.devotion > 20) { - if (eventSlave.anus > 0 && canDoAnal(eventSlave)) { - V.RESSevent.push("devoted amp"); + if (eventSlave.assignment !== Job.QUARTER) { + if (isAmputee(eventSlave)) { + if (eventSlave.devotion > 20) { + if (eventSlave.anus > 0 && canDoAnal(eventSlave)) { + V.RESSevent.push("devoted amp"); + } + } + if (eventSlave.assignment === Job.REST) { + V.RESSevent.push("resting amp"); } - } - if (eventSlave.assignment === Job.REST) { - V.RESSevent.push("resting amp"); } } @@ -1276,10 +1319,12 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { } } - if (eventSlave.behavioralFlaw === "arrogant") { - if (eventSlave.devotion < -50) { - if (eventSlave.trust >= -50) { - V.RESSevent.push("rebellious arrogant"); + if (eventSlave.assignment !== Job.QUARTER) { + if (eventSlave.behavioralFlaw === "arrogant") { + if (eventSlave.devotion < -50) { + if (eventSlave.trust >= -50) { + V.RESSevent.push("rebellious arrogant"); + } } } } @@ -1354,7 +1399,7 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { } } - if (eventSlave.prestige === 0) { + if (eventSlave.prestige === 0 && eventSlave.assignment !== Job.QUARTER) { if (eventSlave.devotion > 50) { if (eventSlave.trust > 50) { if (eventSlave.skill.entertainment >= 100) { @@ -1415,7 +1460,7 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { } if (V.eventResults.snatch === 0 && eventSlave.origin === "$He is your share of a raid on an illegal laboratory by your mercenaries." && eventSlave.newGamePlus === 0) { - if (V.geneticMappingUpgrade === 2 && eventSlave.health.condition > 25 && eventSlave.devotion > 50 && V.cash > V.surgeryCost*4) { + if (V.geneticMappingUpgrade === 2 && eventSlave.health.condition > 25 && eventSlave.devotion > 50 && V.cash > V.surgeryCost * 4) { /* only one slave ever qualifies, so give it a bit more weight */ V.events.push("RE snatch and grab followup"); V.events.push("RE snatch and grab followup"); @@ -1463,833 +1508,6 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) { } }; -/** - * servants spend a lot of time in the penthouse, so should be eligible for a number (but not all) random events - * @param {App.Entity.SlaveState} eventSlave - */ -globalThis.generateRandomEventPoolServant = function(eventSlave) { - /* STANDARD EVENTS */ - - if (eventSlave.fetish !== "mindbroken") { - if (hasAnyArms(eventSlave) && hasAnyLegs(eventSlave)) { - if (canTalk(eventSlave)) { - if (V.RECockmilkInterceptionIDs.length > 1 || (V.RECockmilkInterceptionIDs.length === 1 && eventSlave.ID !== V.RECockmilkInterceptionIDs[0])) { - if (eventSlave.devotion > 20) { - if (eventSlave.dietCum > 0 || (eventSlave.fetishKnown && eventSlave.fetish === "cumslut")) { - V.RETSevent.push("cockmilk interception"); - } - } - } - - if (V.REInterslaveBeggingIDs.length > 1 || (V.REInterslaveBeggingIDs.length === 1 && eventSlave.ID !== V.REInterslaveBeggingIDs[0])) { - if (V.universalRulesConsent === 1) { - if (eventSlave.devotion > 20) { - if (eventSlave.energy > 40) { - if (canPenetrate(eventSlave)) { - if (canSee(eventSlave)) { - if (eventSlave.rules.release.slaves === 1) { - V.RETSevent.push("interslave begging"); - } - } - } - } - } - } - } - - if (V.seeIncest === 1) { - if (eventSlave.devotion > 20) { - if (eventSlave.sexualQuirk === "perverted" || eventSlave.energy > 80) { - if (eventSlave.belly < 100000) { - if (eventSlave.lactation > 0) { - if (eventSlave.nipples !== "fuckable") { - if (eventSlave.rules.release.family === 1) { - if (eventSlave.daughters > 0) { - V.RETSevent.push("incestuous nursing"); - } - } - } - } - } - } - } - } - - if (V.assistant.personality === 1) { - if (V.assistant.appearance !== "normal") { - if (eventSlave.devotion >= -20) { - if (canSee(eventSlave)) { - if (eventSlave.devotion <= 50) { - if (canDoAnal(eventSlave) || canDoVaginal(eventSlave)) { - V.RESSevent.push("PA servant"); - } - } - } - } - } - } - - if (V.HeadGirlID !== 0) { - if (eventSlave.devotion <= 50) { - if (eventSlave.anus !== 0 && canDoAnal(eventSlave)) { - if (V.HGSeverity >= 0) { - V.events.push("RE anal punishment"); - } - V.events.push("RE shower punishment"); - } - } - } - - if (V.RETasteTestSubIDs.length > 1) { - if (eventSlave.rules.living === "luxurious") { - if (eventSlave.devotion > 20) { - if (eventSlave.energy > 80) { - if (canTaste(eventSlave)) { - V.RETSevent.push("taste test"); - } - } - } - } - } - - if (V.weatherToday.severity <= 1) { - if (eventSlave.trust > 50) { - if (eventSlave.devotion > 20) { - if (eventSlave.anus !== 0 && canDoAnal(eventSlave)) { - if (eventSlave.vagina !== 0) { - V.RESSevent.push("confident tanning"); - } - } - } - } - } - - if (eventSlave.devotion > 50) { - if (eventSlave.trust > 50) { - let giver = 0; - if (V.HeadGirlID === 0) { - giver = 1; - } else if (V.HeadGirlID !== eventSlave.ID) { - giver = 1; - } - if (giver === 1) { - V.RESSevent.push("a gift"); - } - } - } - - if (eventSlave.devotion > 50) { - if (eventSlave.anus > 0) { - if (eventSlave.vagina !== 0) { - if (eventSlave.trust > 20) { - V.RESSevent.push("devoted lotion"); - } - } - } - } - - if (eventSlave.devotion <= 95) { - if (eventSlave.intelligence + eventSlave.intelligenceImplant < -50) { - V.RESSevent.push("cooler lockin"); - } - } - - if (V.universalRulesConsent === 0) { - if (eventSlave.devotion > 50) { - if (eventSlave.fetish === "sadist" || eventSlave.fetish === "dom" || eventSlave.energy > 95) { - if (V.REShowerForceSubIDs.length > 0) { - if (eventSlave.trust <= 75) { - V.RETSevent.push("shower force"); - } - } - if (eventSlave.anus > 0) { - if (V.RESadisticDescriptionSubIDs.length > 0) { - V.RETSevent.push("sadistic description"); - } - } - } - if (V.REIfYouEnjoyItSubIDs.length > 0) { - V.RETSevent.push("if you enjoy it"); - } - } - } - - if (V.boobAccessibility !== 1 && V.ballsAccessibility !== 1 && V.pregAccessibility !== 1) { - if (eventSlave.boobs > 10000) { - if (eventSlave.devotion >= -20) { - if (V.slaves.length > 2) { - if (canDoAnal(eventSlave) || canDoVaginal(eventSlave)) { - V.RESSevent.push("huge tits"); - } - } - } - } - } - - if (V.seeAge !== 0) { - if (eventSlave.devotion > 50) { - if (eventSlave.rules.speech !== "restrictive") { - if (eventSlave.birthWeek >= 51) { - /* let's give this a much higher chance of appearing */ - V.RESSevent.push("birthday"); - V.RESSevent.push("birthday"); - V.RESSevent.push("birthday"); - V.RESSevent.push("birthday"); - V.RESSevent.push("birthday"); - V.RESSevent.push("birthday"); - V.RESSevent.push("birthday"); - V.RESSevent.push("birthday"); - } - } - } - } - - if (eventSlave.slaveName !== eventSlave.birthName && eventSlave.birthName !== "") { - if (eventSlave.devotion <= 20) { - if (eventSlave.trust >= -20) { - if (eventSlave.anus > 0 && canDoAnal(eventSlave)) { - V.RESSevent.push("not my name"); - } - } - } - } - - if (V.slaves.length > 2) { - if (eventSlave.devotion >= -20) { - if (eventSlave.heels === 1) { - if (shoeHeelCategory(eventSlave) > 0) { - V.RESSevent.push("tendon fall"); - } - } - } - } - - if (eventSlave.devotion > 50) { - if (eventSlave.trust > 20) { - if (eventSlave.physicalAge > 37) { - if (eventSlave.anus > 0) { - if (eventSlave.vagina > 0) { - V.RESSevent.push("devoted old"); - } - } - } - } - } - - if (eventSlave.devotion > 20) { - if (eventSlave.trust > 20) { - if (eventSlave.actualAge > 35) { - if (canDoAnal(eventSlave) || canDoVaginal(eventSlave)) { - if (V.PC.actualAge < 25) { - V.RESSevent.push("young PC age difference"); - } - } - } - } - } - - if (eventSlave.devotion > 20) { - if (eventSlave.trust > 20) { - if (eventSlave.actualAge < 22) { - if (canDoAnal(eventSlave) || canDoVaginal(eventSlave)) { - if (V.PC.actualAge >= 50) { - V.RESSevent.push("old PC age difference"); - } - } - } - } - } - - if (eventSlave.fetish === "humiliation" || eventSlave.energy > 95) { - if (eventSlave.devotion <= 50) { - if (eventSlave.devotion >= -20) { - if (canDoAnal(eventSlave) || canDoVaginal(eventSlave)) { - if (eventSlave.vagina !== 0) { - if (eventSlave.anus !== 0) { - if (eventSlave.fetishKnown === 1) { - V.RESSevent.push("fearful humiliation"); - } - } - } - } - } - } - } - - if (eventSlave.rules.living === "luxurious") { - if (eventSlave.devotion <= 75) { - if (eventSlave.devotion > 50) { - V.RESSevent.push("newly devoted sunrise"); - } - } - } - - if (V.spa > 0) { - if (eventSlave.boobs > 2000) { - if (eventSlave.devotion > 20) { - if (eventSlave.trust > 20) { - if (canDoAnal(eventSlave) || canDoVaginal(eventSlave)) { - V.RESSevent.push("spa boobs"); - } - } - } - } - } - - if (eventSlave.lactation > 0) { - if (eventSlave.boobs > 800) { - if (eventSlave.nipples !== "fuckable") { - if (eventSlave.devotion > 20) { - if (eventSlave.trust > 20) { - V.RESSevent.push("cow milking"); - } - } - } - } - } - - if (V.arcologies[0].FSSubjugationist !== "unset") { - if (eventSlave.race !== V.arcologies[0].FSSubjugationistRace) { - if (V.week - eventSlave.weekAcquired > 1) { - if (V.week - eventSlave.weekAcquired < 10) { - if (eventSlave.devotion < -20) { - if (eventSlave.trust >= -20) { - if (eventSlave.health.condition > -20) { - if (eventSlave.race === eventSlave.origRace) { - if (eventSlave.indentureRestrictions < 1) { - V.RESSevent.push("subjugation blues"); - } - } - } - } - } - } - } - } - } - - if (eventSlave.fetish === "sadist") { - if (eventSlave.fetishStrength > 20) { - if (App.Entity.facilities.arcade.established) { - if (eventSlave.trust >= -20) { - if (eventSlave.devotion > 50) { - if (eventSlave.belly < 300000) { - V.RESSevent.push("arcade sadist"); - } - } - } - } - } - } - - if (V.PC.vagina > -1) { - if (eventSlave.devotion <= 20) { - if ((eventSlave.trust >= -20 && eventSlave.behavioralFlaw === "arrogant") || (eventSlave.trust > 20)) { - if (eventSlave.muscles > 30) { - if (eventSlave.health.condition > 20) { - if (eventSlave.energy > 50) { - if (canPenetrate(eventSlave)) { - if (V.BodyguardID === 0) { - V.RESSevent.push("mutinery attempt"); - } - } - } - } - } - } - } - } - } /* closes mute exempt */ - - if (eventSlave.devotion > 20) { - if (eventSlave.mouthAccessory !== "none") { - V.RESSevent.push("gagged slave"); - } - } - - if (V.seeAge === 1) { - if (eventSlave.actualAge < 18) { - if (eventSlave.devotion > 20) { - if (eventSlave.ovaries === 1) { - if (eventSlave.pubertyXX === 0) { - if (eventSlave.preg === 0) { - if (eventSlave.physicalAge + eventSlave.birthWeek / 52 >= eventSlave.pubertyAgeXX - 0.5) { - V.RESSevent.push(...Array.from({length: 10}, () => "first period")); - } - } - } - } - if (canPenetrate(eventSlave)) { - if (eventSlave.balls > 0) { - if (eventSlave.pubertyXY === 0) { - if (eventSlave.physicalAge + eventSlave.birthWeek / 52 >= eventSlave.pubertyAgeXY - 0.5) { - V.RESSevent.push(...Array.from({length: 10}, () => "wet dreams")); - } - } - } - } - } - } - } /* closes aging exemption */ - - - if (eventSlave.devotion >= -150) { - if (eventSlave.devotion <= 50) { - V.events.push("RE standard punishment"); - } - } - - if (eventSlave.trust > 20) { - if (eventSlave.devotion > 50) { - if (V.PC.belly < 5000) { - V.RESSevent.push("shower slip"); - } - if (getLimbCount(eventSlave, 102) === 4) { - V.RESSevent.push("plimb help"); - } - } - } - - if (eventSlave.relationship <= -2) { - if (eventSlave.trust > 50) { - if (eventSlave.devotion > 50) { - V.RESSevent.push("bonded love"); - } - } - } - - if (eventSlave.trust > 20) { - if (eventSlave.devotion > 50) { - V.RESSevent.push("objectifying visit"); - } - } - - if (canWalk(eventSlave)) { - if (eventSlave.devotion > 20) { - if (eventSlave.trust > -10) { - if (eventSlave.ID !== V.HeadGirlID) { - if (eventSlave.ID !== V.ConcubineID) { - V.RESSevent.push("refreshment delivery"); - } - } - } - } - } - - if (eventSlave.dick > 8) { - if (eventSlave.balls > 0) { - if (eventSlave.energy > 60) { - if (eventSlave.devotion > 50) { - if (eventSlave.trust > 50) { - if (canDoAnal(eventSlave) || canDoVaginal(eventSlave)) { - if (eventSlave.belly < 100000) { - V.RESSevent.push("dick wringing"); - } - } - } - } - } - } - } - - if (eventSlave.balls > 0) { - if (eventSlave.scrotum > 0) { - if (eventSlave.chastityPenis === 1) { - if (eventSlave.devotion <= 95) { - if (eventSlave.energy > 50) { - if (eventSlave.energy < 95) { - if (eventSlave.devotion >= -20 || eventSlave.trust < -20) { - V.RESSevent.push("cage relief"); - } - } - } - } - } - } - } - - if (V.PC.dick > 0) { - if (V.PC.boobs >= 300) { - if (canSee(eventSlave)) { - if (eventSlave.devotion <= 50) { - if (eventSlave.devotion >= -20) { - if (((eventSlave.attrXY <= 35) && (eventSlave.attrXX > 65)) || ((eventSlave.attrXX <= 35) && (eventSlave.attrXY > 65))) { - V.RESSevent.push("dickgirl PC"); - } - } - } - } - } - } - - if (eventSlave.trust <= 20) { - if (eventSlave.trust >= -75) { - if (eventSlave.devotion <= 30) { - if (eventSlave.devotion >= -20) { - V.RESSevent.push("like me"); - } - } - } - } - - if (eventSlave.devotion < -20) { - if (eventSlave.trust >= -20) { - if (eventSlave.clothes === "uncomfortable straps") { - V.RESSevent.push("bondage gear"); - } - } - } - - if (eventSlave.labia > 1 && eventSlave.vagina >= 0) { - if (eventSlave.muscles > 5 || eventSlave.diet === "muscle building") { - if (eventSlave.belly < 10000) { - if (eventSlave.devotion > 20) { - if (eventSlave.trust > 20) { - V.RESSevent.push("inconvenient labia"); - } - } - } - } - } - - if (eventSlave.devotion <= 50) { - if (eventSlave.trust >= -50) { - if (eventSlave.behavioralFlaw === "gluttonous") { - if (eventSlave.diet === "restricted") { - V.RESSevent.push("diet"); - } - } - } - } - - if (eventSlave.devotion <= 20) { - if (eventSlave.devotion >= -50) { - V.RESSevent.push("resistant shower"); - } - } - - if (eventSlave.rules.speech !== "restrictive") { - if (eventSlave.devotion >= -20) { - if (eventSlave.trust >= -20) { - if (eventSlave.energy > 75) { - if (eventSlave.fetish !== "buttslut") { - if (eventSlave.vagina !== 0 || eventSlave.anus !== 0) { - V.RESSevent.push("night visit"); - } - } - } - } - } - } - - if (eventSlave.rules.release.masturbation === 0) { - if (eventSlave.need) { - if (eventSlave.devotion <= 95) { - if (eventSlave.trust >= -20) { - if ((eventSlave.chastityPenis !== 1) || (eventSlave.dick === 0)) { - V.RESSevent.push("forbidden masturbation"); - } - } - } - if (eventSlave.devotion >= -20) { - if (eventSlave.trust >= -50) { - V.RESSevent.push("desperately horny"); - } - } - } - } - - if (eventSlave.devotion >= -20) { - if (eventSlave.lactation > 1) { - if (canDoVaginal(eventSlave) || canDoAnal(eventSlave)) { - V.RESSevent.push("milkgasm"); - } - } - } - - if (eventSlave.dick > 0) { - if (eventSlave.balls === 0) { - if (eventSlave.genes === "XY") { - if (eventSlave.devotion <= 50) { - if (eventSlave.trust < -50) { - if (eventSlave.anus > 0) { - if (canDoAnal(eventSlave)) { - V.RESSevent.push("resistant gelding"); - } - } - } - } - } - } - } - - if (V.seePreg !== 0) { - if (isFertile(eventSlave)) { - if (eventSlave.devotion > 50) { - if (V.PC.dick !== 0) { - if (eventSlave.fetish === "pregnancy" || eventSlave.energy > 95) { - if (eventSlave.eggType === "human") { - if (eventSlave.fetishKnown === 1) { - if (eventSlave.vagina !== 0) { - if (eventSlave.anus > 0) { - if (eventSlave.geneticQuirks.superfetation === 2 && (eventSlave.intelligence + eventSlave.intelligenceImplant > 15) && eventSlave.womb.length > 0) { - if (eventSlave.belly < (eventSlave.pregAdaptation * 1750)) { - V.RESSevent.push("impregnation please"); - } - } else { - V.RESSevent.push("impregnation please"); - } - } - } - } - } - } - } - } - } - } - - if (plugWidth(eventSlave) > 1) { - if (isSlaveAvailable(eventSlave)) { - if (eventSlave.devotion <= 20) { - if (eventSlave.trust >= -50) { - if (eventSlave.anus < 3) { - V.RESSevent.push("plug disobedience"); - } - } - } - } - } - } /* closes amp/crawling exempt */ - - if (canTalk(eventSlave)) { - if (eventSlave.rules.speech !== "restrictive") { - if (eventSlave.boobsImplant > 400) { - if (eventSlave.lipsImplant >= 30) { - if (eventSlave.buttImplant > 3) { - if (eventSlave.boobs < 9000 || eventSlave.butt < 8) { - V.RESSevent.push("surgery addict"); - } - } - } - } - } - - if (eventSlave.rules.speech !== "restrictive") { - if (eventSlave.counter.oral + eventSlave.counter.vaginal + eventSlave.counter.anal > 900) { - if (eventSlave.counter.oral + eventSlave.counter.vaginal + eventSlave.counter.anal < 1100) { - if (eventSlave.vagina !== 0) { - if (eventSlave.anus > 0) { - if (canDoAnal(eventSlave) || canDoVaginal(eventSlave)) { - V.RESSevent.push("millenary"); - } - } - } - } - } - } - - if (V.expansionRequestsAllowed > 0) { - if (eventSlave.drugs === "no drugs") { - if (eventSlave.rules.speech === "permissive") { - if (eventSlave.health.condition > 20) { - if (eventSlave.devotion >= -20) { - if (eventSlave.trust > 20) { - if (V.arcologies[0].FSSlimnessEnthusiast === "unset") { - V.RESSevent.push("injections please"); - } - } - } - } - } - } - } - } /* closes mute exempt */ - - if (V.assistant.personality === 1) { - if (eventSlave.fetishKnown === 1) { - if (eventSlave.energy > 95) { - if (eventSlave.devotion > 20) { - if (eventSlave.rules.release.masturbation === 1) { - V.RESSevent.push("nympho with assistant"); - } - } - } - } - } - - - if (eventSlave.minorInjury === "sore ass") { - if (eventSlave.devotion <= 50) { - V.RESSevent.push("sore ass"); - } - } - - if (eventSlave.sexualFlaw === "hates oral") { - if (V.PC.dick !== 0) { - if (eventSlave.devotion <= 50) { - V.RESSevent.push("hates oral"); - } - } - } - - if (eventSlave.devotion <= 50) { - V.RESSevent.push("scrubbing"); - } - - if (eventSlave.devotion <= 20) { - if (eventSlave.clothes === "a slutty maid outfit" || eventSlave.clothes === "a nice maid outfit") { - V.RESSevent.push("servant maid"); - } - } - - if (eventSlave.aphrodisiacs > 1 || eventSlave.inflationType === "aphrodisiac") { - if (eventSlave.rules.speech === "restrictive" && eventSlave.rules.release.master === 1 && App.Utils.releaseRestricted(eventSlave)) { - V.RESSevent.push("extreme aphrodisiacs"); - } - } - - if (eventSlave.rules.release.masturbation === 1) { - if (eventSlave.dick > 4) { - if (hasAnyArms(eventSlave)) { - if (canAchieveErection(eventSlave)) { - if (eventSlave.belly < 10000) { - if (eventSlave.chastityPenis !== 1) { - V.RESSevent.push("slave dick huge"); - } - } - } - } - } - } - - if (eventSlave.heels === 1) { - if (eventSlave.shoes === "heels" || eventSlave.shoes === "extreme heels") { - if (canDoAnal(eventSlave) || canDoVaginal(eventSlave)) { - V.RESSevent.push("heels"); - } - } - } - - if (eventSlave.rules.release.masturbation === 1) { - if (eventSlave.belly < 300000) { - if (eventSlave.anus > 2) { - if (eventSlave.fetish === "buttslut" || eventSlave.energy > 95) { - if (eventSlave.fetish !== "none") { - if (canHold(eventSlave)) { - if (canDoAnal(eventSlave)) { - V.RESSevent.push("loose buttslut"); - } - } - } - } - } - } - } - - if (eventSlave.boobs > 1200) { - if (eventSlave.areolaeShape !== "circle") { - if (eventSlave.devotion > 50) { - V.RESSevent.push("shaped areolae"); - } - } - } - - if (V.seePreg !== 0) { - if (eventSlave.bellyPreg >= 10000) { - V.RESSevent.push("hugely pregnant"); - } - } - - if (eventSlave.hormoneBalance >= 50) { - if (eventSlave.vagina === -1) { - if (eventSlave.balls >= 0) { - if (eventSlave.devotion > 20 || eventSlave.trust < -20) { - if (eventSlave.devotion <= 50) { - if (eventSlave.fetish !== "buttslut") { - if (eventSlave.rules.speech === "permissive") { - V.RESSevent.push("hormone dysfunction"); - } - } - } - } - } - } - } - - if (eventSlave.vaginaPiercing > 1) { - if (eventSlave.nipplesPiercing > 1) { - if (eventSlave.clitPiercing > 1) { - if (eventSlave.devotion > 20 || eventSlave.trust < -20) { - if (eventSlave.devotion <= 50) { - if (canDoAnal(eventSlave) || canDoVaginal(eventSlave)) { - V.RESSevent.push("heavy piercing"); - } - } - } - } - } - } - - if (eventSlave.anus === 0) { - if (eventSlave.devotion < -20) { - if (eventSlave.trust >= -20) { - V.RESSevent.push("resistant anal virgin"); - } - } - } - - if (V.PC.dick !== 0) { - if (eventSlave.bellyPreg >= 300000) { - V.RESSevent.push("hyperpreg stuck"); - } - } - - if (eventSlave.devotion >= 50) { - if (eventSlave.trust <= 20) { - if (canWalk(eventSlave)) { - V.RESSevent.push("devoted fearful slave"); - } - } - } - - if (eventSlave.relationship === 4) { - if (eventSlave.devotion > 20) { - if (eventSlave.trust > 20) { - V.events.push("RE slave marriage"); - } - } - } - - if (V.eventResults.snatch === 0 && eventSlave.origin === "$He is your share of a raid on an illegal laboratory by your mercenaries." && eventSlave.newGamePlus === 0) { - if (V.geneticMappingUpgrade === 2 && eventSlave.health.condition > 25 && eventSlave.devotion > 50 && V.cash > V.surgeryCost*4) { - /* only one slave ever qualifies, so give it a bit more weight */ - V.events.push("RE snatch and grab followup"); - V.events.push("RE snatch and grab followup"); - V.events.push("RE snatch and grab followup"); - } - } - - /* NICKNAME EVENTS */ - - if (V.nicknamesAllowed === 1) { - let toSearch = eventSlave.slaveName.toLowerCase(); - if (!toSearch.includes("'")) { - if (V.week - eventSlave.weekAcquired >= 4) { - V.events.push("RE nickname"); - V.seed = 0; - } - } /* closes nickname check */ - } /* closes no nicknames option */ - } /* closes mindbreak exempt */ - - if (eventSlave.fetish === "mindbroken") { - if (canWalk(eventSlave)) { - V.RESSevent.push("mindbroken morning"); - } - } -}; - globalThis.populateEventArray = function(RESS = V.RESSevent.length, RESSTR = V.RESSTRevent.length, RETS = V.RETSevent.length, RECI = V.RECIevent.length) { /* EVENT RANDOMIZATION */ let events = V.events; diff --git a/src/uncategorized/randomIndividualEvent.tw b/src/uncategorized/randomIndividualEvent.tw index cbe9fa27a51bbc5e5ea7209c4810e70c99532a75..b6f313cdabc9f3c9b93561c05fb68912c5ed6200 100644 --- a/src/uncategorized/randomIndividualEvent.tw +++ b/src/uncategorized/randomIndividualEvent.tw @@ -100,11 +100,7 @@ <</if>> <</for>> - <<if $eventSlave.assignment == "work as a servant">> - <<run generateRandomEventPoolServant($eventSlave)>> - <<else>> - <<run generateRandomEventPoolStandard($eventSlave)>> - <</if>> + <<run generateRandomEventPool($eventSlave)>> /* EVENT RANDOMIZATION */ <<set $events = populateEventArray().concat(App.Events.getIndividualEventsPassageList($eventSlave))>>