From 095f65eb653fc6d5e962dd86100f2e8ae72839fb Mon Sep 17 00:00:00 2001 From: Pregmodder <pregmodder@gmail.com> Date: Thu, 25 Apr 2024 04:20:57 -0400 Subject: [PATCH] Keep age of majority in mind --- CHANGELOG.md | 3 ++ src/events/JE/jeSlaveDisputeMajorityDeal.js | 2 +- src/markets/specificMarkets/schools.js | 2 +- src/markets/theMarket/marketData.js | 2 +- src/npc/generate/generateMarketSlave.js | 35 ++++++++++++++++----- 5 files changed, 34 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0fae9be982a..0b845f1027f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ## Unreleased * added the smart strap-on, a tool that maximizes femPC's ability to deal with need +* added a new gender fundamentalist recFS event +* added several new coursing hares +* coursing rep slightly rebalanced (less upfront, more on win) * pregnancy report improvements * AI related things, most notably the dressing room * fixes diff --git a/src/events/JE/jeSlaveDisputeMajorityDeal.js b/src/events/JE/jeSlaveDisputeMajorityDeal.js index 0c3350c85ba..a6d25c0c34f 100644 --- a/src/events/JE/jeSlaveDisputeMajorityDeal.js +++ b/src/events/JE/jeSlaveDisputeMajorityDeal.js @@ -14,7 +14,7 @@ App.Events.JESlaveDisputeMajorityDeal = class JESlaveDisputeMajorityDeal extends const index = V.justiceEvents.indexOf("majority deal"); V.justiceEvents.splice(index, 1); const contractCost = 20000; - const slave = GenerateNewSlave(null, {minAge: V.minimumSlaveAge, maxAge: 18, disableDisability: 1}); + const slave = GenerateNewSlave(null, {minAge: V.minimumSlaveAge, maxAge: V.minimumSlaveAge, disableDisability: 1}); slave.origin = "$He was raised to be a slave, since $he was mistakenly thought to be from good slave stock."; slave.career = "a slave"; slave.devotion = random(10, 15); diff --git a/src/markets/specificMarkets/schools.js b/src/markets/specificMarkets/schools.js index 7069cb20780..ad75cfb13c4 100644 --- a/src/markets/specificMarkets/schools.js +++ b/src/markets/specificMarkets/schools.js @@ -243,7 +243,7 @@ App.Markets.TSS = function() { App.Markets.TUO = function() { const el = new DocumentFragment(); let r = []; - r.push(`The Utopian Orphanage is where all slaves dream of being raised. Its business model is to offer intelligent, well educated girls just past their majority. The girls are treated exceptionally well and have no sexual ${(V.TUO.schoolUpgrade !== 2) ? "education or " : ""}experience.`); + r.push(`The Utopian Orphanage is where all slaves dream of being raised. Its business model is to offer intelligent, well educated girls just past ${V.fertilityAge > V.minimumSlaveAge ? "puberty" : "their majority"}. The girls are treated exceptionally well and have no sexual ${(V.TUO.schoolUpgrade !== 2) ? "education or " : ""}experience.`); if (V.TUO.schoolUpgrade !== 0) { r.push(`You have endowed`); if (V.TUO.schoolUpgrade === 1) { diff --git a/src/markets/theMarket/marketData.js b/src/markets/theMarket/marketData.js index 9867cd8fda0..4581e410811 100644 --- a/src/markets/theMarket/marketData.js +++ b/src/markets/theMarket/marketData.js @@ -145,7 +145,7 @@ App.Data.Markets = { { title: "The Utopian Orphanage", marketType: "TUO", - note: "Intelligent, unspoiled slaves just past their majority.", + note: "Intelligent, unspoiled slaves.", encyclopedia: "Slave Schools", get requirements() { return (V.seeDicks !== 100); } }, diff --git a/src/npc/generate/generateMarketSlave.js b/src/npc/generate/generateMarketSlave.js index 9814d515b3a..aa9576415c5 100644 --- a/src/npc/generate/generateMarketSlave.js +++ b/src/npc/generate/generateMarketSlave.js @@ -1509,8 +1509,12 @@ globalThis.generateMarketSlave = function(market = "kidnappers", numArcology = 1 case "TSS": { if (V.TSS.schoolUpgrade === 1) { SGProp.minAge = 36; + } else if (V.TSS.schoolUpgrade !== 0) { + SGProp.minAge = V.minimumSlaveAge; + SGProp.maxAge = V.minimumSlaveAge + random(0, 1); } else { - SGProp.maxAge = 18; + SGProp.minAge = 18; + SGProp.maxAge = 18 + random(0, 1); } SGProp.disableDisability = 1; slave = GenerateNewSlave("XX", SGProp); @@ -1567,12 +1571,18 @@ globalThis.generateMarketSlave = function(market = "kidnappers", numArcology = 1 break; } case "TUO": { - SGProp.minAge = V.minimumSlaveAge; - SGProp.maxAge = Math.max(V.fertilityAge + jsRandom(0, 1), V.minimumSlaveAge + jsRandom(0, 3)); + if (V.TUO.schoolUpgrade !== 0) { + SGProp.minAge = V.minimumSlaveAge; + SGProp.maxAge = Math.max(V.fertilityAge + jsRandom(0, 1), V.minimumSlaveAge + jsRandom(0, 1)); + } else { + SGProp.minAge = 18; + SGProp.maxAge = Math.max(V.fertilityAge + jsRandom(0, 1), 18 + jsRandom(0, 1)); + } SGProp.disableDisability = 1; slave = GenerateNewSlave("XX", SGProp); slave.origin = "You bought $him from The Utopian Orphanage right after $his graduation."; slave.career = "a slave"; + slave.birthWeek = random(0, 12); setHealth(slave, jsRandom(60, 80), 0, Math.max(normalRandInt(0, 4), 0), 0, jsRandom(5, 20)); slave.devotion = jsRandom(50, 75); slave.trust = jsRandom(50, 75); @@ -1621,6 +1631,7 @@ globalThis.generateMarketSlave = function(market = "kidnappers", numArcology = 1 slave.buttImplant = 0; slave.vagina = 0; slave.anus = 0; + slave.trueVirgin = 1; break; } case "GRI": { @@ -1747,8 +1758,13 @@ globalThis.generateMarketSlave = function(market = "kidnappers", numArcology = 1 break; } case "LDE": { - SGProp.minAge = 16; - SGProp.maxAge = 19; + if (V.LDE.schoolUpgrade !== 0) { + SGProp.minAge = V.minimumSlaveAge + 1; + SGProp.maxAge = V.minimumSlaveAge + 1; + } else { + SGProp.minAge = V.minimumSlaveAge >= 16 ? V.minimumSlaveAge + 1 : 17; + SGProp.maxAge = V.minimumSlaveAge >= 16 ? V.minimumSlaveAge + 1 : 17; + } SGProp.disableDisability = 1; slave = GenerateNewSlave("XY", SGProp); slave.origin = "You bought $him from the innovative École des Enculées right after $his graduation."; @@ -1816,8 +1832,13 @@ globalThis.generateMarketSlave = function(market = "kidnappers", numArcology = 1 break; } case "TGA": { - SGProp.minAge = 16; - SGProp.maxAge = 19; + if (V.TGA.schoolUpgrade !== 0) { + SGProp.minAge = V.minimumSlaveAge; + SGProp.maxAge = V.minimumSlaveAge + random(0, 1); + } else { + SGProp.minAge = 18; + SGProp.maxAge = 18 + random(0, 1); + } SGProp.disableDisability = 1; slave = GenerateNewSlave("XY", SGProp); slave.origin = "You bought $him fresh from the intense Gymnasium-Academy right after $his majority."; -- GitLab