From 69c3535bc240764dc062bfabf73f856fb2effde4 Mon Sep 17 00:00:00 2001 From: Trinidad <anchaiscastilla@gmail.com> Date: Thu, 3 Aug 2023 01:00:44 +0200 Subject: [PATCH] modified: src/endWeek/economics/reputation.js modified: src/events/intro/pcAppearance.js modified: src/events/scheduled/sePlayerBirth.js modified: src/facilities/facilityRetrievalWorkaround.js modified: src/facilities/nursery/utils/nurseryUtils.js modified: src/js/SlaveState.js modified: src/js/birth/birth.js modified: src/js/sexActsJS.js modified: src/npc/children/ChildState.js modified: src/npc/descriptions/womb/pregnancy.js modified: src/npc/generate/generateGenetics.js modified: src/npc/interaction/fSuckDick.js modified: src/player/js/PlayerState.js --- src/endWeek/economics/reputation.js | 7 ++++--- src/events/intro/pcAppearance.js | 1 + src/events/scheduled/sePlayerBirth.js | 6 ++++++ src/facilities/facilityRetrievalWorkaround.js | 2 ++ src/facilities/nursery/utils/nurseryUtils.js | 3 +++ src/js/SlaveState.js | 2 ++ src/js/birth/birth.js | 4 ++++ src/js/sexActsJS.js | 1 + src/npc/children/ChildState.js | 1 + src/npc/descriptions/womb/pregnancy.js | 1 + src/npc/generate/generateGenetics.js | 3 +++ src/npc/interaction/fSuckDick.js | 2 +- src/player/js/PlayerState.js | 4 +++- 13 files changed, 32 insertions(+), 5 deletions(-) diff --git a/src/endWeek/economics/reputation.js b/src/endWeek/economics/reputation.js index ec72bc75828..d2ab9d37768 100644 --- a/src/endWeek/economics/reputation.js +++ b/src/endWeek/economics/reputation.js @@ -977,14 +977,15 @@ App.EndWeek.reputation = function() { } } if (V.rapedThisWeek) { - r.push(`There's ${V.PC.degeneracy ? "also " : ""}a rumor you've been raped${V.rapedThisWeek > V.PC.counter.raped && V.PC.counter.raped > 0 ? "again" : ""}.`); + r.push(`There's ${V.PC.degeneracy ? "also " : ""}a rumor you've been raped${V.PC.counter.raped > 0 ? "again" : ""}.`); let rapeFameDec = 25 + V.rapedThisWeek * 75; if (V.arcologies[0].FSAntebellumRevivalist !== "unset") { if (V.SecExp.edicts.weaponsLaw > 0) { - r.push(`Your citizens are relieved that it is allowed to carry weapons to defend themselves against possible attacks.`); + r.push(`Your citizens are relieved that they are allowed to bear arms to defend themselves against possible attacks.`); rapeFameDec *= .8; } else { - r.push(`Your citizens would feel safer if they were allowed to carry weapons to defend themselves against possible attacks.`); + r.push(`Your citizens would feel safer if they were allowed to bear weapons to defend themselves against possible attacks.`); + rapeFameDec *= 1.2; } } else if (V.arcologies[0].FSSubjugationist !== "unset" && V.PC.race === V.arcologies[0].FSSubjugationistRace) { r.push(`Your citizens see your rape as normal since you are ${V.PC.race}.`); diff --git a/src/events/intro/pcAppearance.js b/src/events/intro/pcAppearance.js index 1e67757f0a7..76d0cf98967 100644 --- a/src/events/intro/pcAppearance.js +++ b/src/events/intro/pcAppearance.js @@ -980,6 +980,7 @@ App.UI.Player.design = function() { ["Societal Elite", -6], ["Designer baby", -7], ["Futanari Sister", -9], + ["Rapist", -10], ]) .showTextBox(); } diff --git a/src/events/scheduled/sePlayerBirth.js b/src/events/scheduled/sePlayerBirth.js index 6f3e3db780c..6bba001e681 100644 --- a/src/events/scheduled/sePlayerBirth.js +++ b/src/events/scheduled/sePlayerBirth.js @@ -61,6 +61,7 @@ App.Events.SEPlayerBirth = class SEPlayerBirth extends App.Events.BaseEvent { let elite = 0; let lab = 0; let futaS = 0; + let rapists = 0; let slavesLength = 0; let babies = []; for (const baby of birthed) { @@ -91,6 +92,9 @@ App.Events.SEPlayerBirth = class SEPlayerBirth extends App.Events.BaseEvent { } else if (baby.fatherID === -9) { futaS++; babies.push("a Futanari Sister"); + } else if (baby.fatherID === -10) { + rapists++; + babies.push("a rapist"); } else { const babyDaddy = getSlave(baby.fatherID); if (babyDaddy) { @@ -720,6 +724,8 @@ App.Events.SEPlayerBirth = class SEPlayerBirth extends App.Events.BaseEvent { V.PC.counter.birthElite += elite; V.PC.counter.birthLab += lab; V.PC.counter.birthDegenerate += slavesLength; + V.PC.counter.birthRape += rapists; + V.PC.counter.birthFutaSis += futaS; if (curBabies === 1) { let p = 0; diff --git a/src/facilities/facilityRetrievalWorkaround.js b/src/facilities/facilityRetrievalWorkaround.js index 2fa4db31516..b0c4a74b62d 100644 --- a/src/facilities/facilityRetrievalWorkaround.js +++ b/src/facilities/facilityRetrievalWorkaround.js @@ -105,6 +105,8 @@ App.UI.facilityRetrievalWorkaround = function(facility) { r.append(`Lab crafted.`); } else if (slave.father === -9) { r.append(`Futanari Sister.`); + } else if (slave.father === -10) { + r.append(`Your rapist.`); } else { r.append(missingSlave); } diff --git a/src/facilities/nursery/utils/nurseryUtils.js b/src/facilities/nursery/utils/nurseryUtils.js index 7240d517b2f..dc381021964 100644 --- a/src/facilities/nursery/utils/nurseryUtils.js +++ b/src/facilities/nursery/utils/nurseryUtils.js @@ -751,6 +751,9 @@ App.Facilities.Nursery.nurserySort = function nurserySort() { case -9: r += `the Futanari Sister's`; break; + case -10: + r += `your rapist`; + break; default: if (slave.preg <= 5) { r += `someone's, though it is too early to tell whose,`; diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js index 29de7c69fa5..c831d940dc3 100644 --- a/src/js/SlaveState.js +++ b/src/js/SlaveState.js @@ -1404,6 +1404,7 @@ App.Entity.SlaveState = class SlaveState { * accepts ID See Pregnancy Control section for more. * * Who sired her pregnancy + * * -10: a rapist * * -9: a futanari sister * * -8: an animal * * -7: designer baby @@ -2178,6 +2179,7 @@ App.Entity.SlaveState = class SlaveState { * | *-6* | Societal Elite | * | *-8* | Animal | * | *-9* | Futanari Sister | + * | *-10* | Rapist | * @type {Set<number>} */ this.partners = new Set(); diff --git a/src/js/birth/birth.js b/src/js/birth/birth.js index f12ff10d0eb..bf8dabdd9c5 100644 --- a/src/js/birth/birth.js +++ b/src/js/birth/birth.js @@ -425,6 +425,8 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false, artRen fathers.push("one of your animals"); } else if (baby.fatherID === -9) { fathers.push("a Futanari Sister"); + } else if (baby.fatherID === -10) { + fathers.push("a rapist"); } else { const babyDaddy = findFather(baby.fatherID); if (babyDaddy) { @@ -2133,6 +2135,8 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false, artRen fathers.push("one of your animals"); } else if (baby.fatherID === -9) { fathers.push("a Futanari Sister"); + } else if (baby.fatherID === -10) { + fathers.push("a rapist"); } else { const babyDaddy = findFather(baby.fatherID); if (babyDaddy) { diff --git a/src/js/sexActsJS.js b/src/js/sexActsJS.js index bc5183d404c..af0b4412913 100644 --- a/src/js/sexActsJS.js +++ b/src/js/sexActsJS.js @@ -547,6 +547,7 @@ globalThis.seX = function(slave1, act1, slave2, act2 = "penetrative", count = 1) * | *-6* | Societal Elite | * | *-8* | Animal | * | *-9* | Futanari Sister | + * | *-10* | Rapist | */ function addPartner(slave, partner) { /** @returns {FC.HumanState} */ diff --git a/src/npc/children/ChildState.js b/src/npc/children/ChildState.js index b02ba500b97..2d80ae90c4d 100644 --- a/src/npc/children/ChildState.js +++ b/src/npc/children/ChildState.js @@ -737,6 +737,7 @@ App.Facilities.Nursery.ChildState = class ChildState { * accepts ID See Pregnancy Control section for more. * * Who sired her pregnancy + * * -10: a rapist * * -9: a futanari sister * * -8: an animal * * -7: designer baby diff --git a/src/npc/descriptions/womb/pregnancy.js b/src/npc/descriptions/womb/pregnancy.js index 0f66527bce7..10cc554a809 100644 --- a/src/npc/descriptions/womb/pregnancy.js +++ b/src/npc/descriptions/womb/pregnancy.js @@ -589,6 +589,7 @@ App.Desc.pregnancy = function(slave, descType = DescType.NORMAL) { 6: `a member of the Societal Elite`, 8: `one of your pets`, 9: `a Futanari Sister`, + 10: `a rapist`, }; daddy = desc[Math.abs(daddy)]; } diff --git a/src/npc/generate/generateGenetics.js b/src/npc/generate/generateGenetics.js index 5f0b207a539..220b414bd53 100644 --- a/src/npc/generate/generateGenetics.js +++ b/src/npc/generate/generateGenetics.js @@ -261,6 +261,9 @@ globalThis.generateGenetics = (function() { case -9: fatherName = "A Futanari Sister"; break; + case -10: + fatherName = "A rapist"; + break; default: fatherName = "Unknown"; } diff --git a/src/npc/interaction/fSuckDick.js b/src/npc/interaction/fSuckDick.js index 9a17523da0c..692299830cb 100644 --- a/src/npc/interaction/fSuckDick.js +++ b/src/npc/interaction/fSuckDick.js @@ -537,7 +537,7 @@ App.Interact.fSuckDick = function(slave) { } else if (isHorny(slave) && slave.devotion < 50 && slave.trust > 50 && jsRandom(1, 100) > 50) { // Slaves unable to warn with time enough r.push(`${He} warns you that ${his} orgasm is imminent at the time you feel a throbbing at the base of the dick, and ${amount <= 100 ? "liquid splatters in the back of your mouth" : "a thick spurt fills your mouth"}.`); - r.push(`You pull away immediately, letting go what's in your mouth. ${He} lets ${himself} go, the expression on ${his} face is worried, but ${his} orgasm and ${his} moans increase in intensity, having cummed in your mouth arouses ${him}${isHorny(V.PC) ? ", and you too." : "."} You look at ${him} threateningly, you're really angry.`); + r.push(`You pull away immediately, taking out what's in your mouth. ${He} lets ${himself} go, the expression on ${his} face is worried, but ${his} orgasm and ${his} moans increase in intensity, having cummed in your mouth arouses ${him}${isHorny(V.PC) ? ", and you too." : "."} You look at ${him} threateningly, you're really angry.`); if (isHorny(V.PC)) { r.push(`You can't control yourself anymore and an intense, extremely pleasurable and endless orgasm takes control of your mind,`); diff --git a/src/player/js/PlayerState.js b/src/player/js/PlayerState.js index 7b3d9cc5de8..55b779460f0 100644 --- a/src/player/js/PlayerState.js +++ b/src/player/js/PlayerState.js @@ -106,6 +106,8 @@ App.Entity.PlayerActionsCountersState = class { this.birthSelf = 0; /** how many designer babies you've produced */ this.birthLab = 0; + /** hoy many children you've had fruit of unknown rapists */ + this.birthRape = 0; /** untracked births */ this.birthOther = 0; /** how many units of your cum are stored away for artificially inseminating slaves */ @@ -1552,7 +1554,7 @@ App.Entity.PlayerState = class PlayerState { * | *-6* | Societal Elite* | * | *-8* | Animal* | * | *-9* | Futanari Sister* | - * | *-10* | Rapist* | + * | *-10* | Rapist* | * * **not currently implemented* * @type {Set<number>} -- GitLab