From 92364d16f880dd79cc93afe3be94f3113386b222 Mon Sep 17 00:00:00 2001 From: Svornost <11434-svornost@users.noreply.gitgud.io> Date: Mon, 2 Oct 2023 13:34:34 -0400 Subject: [PATCH] Add a chance of inbreeding for slaves purchased from Incest Fetishist arcologies. --- src/npc/generate/generateMarketSlave.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/npc/generate/generateMarketSlave.js b/src/npc/generate/generateMarketSlave.js index 3f12ebde2d8..6149f06a9e3 100644 --- a/src/npc/generate/generateMarketSlave.js +++ b/src/npc/generate/generateMarketSlave.js @@ -1097,7 +1097,7 @@ globalThis.generateMarketSlave = function(market = "kidnappers", numArcology = 1 } } if (neighbor.FSIncestFetishist > 20) { - r += `Incest is acceptable, if not preferable to them. `; + r += `Incest is acceptable, if not preferable to them. Some of the younger slaves seem to be a bit inbred. `; if (slave.sexualQuirk === "none" && slave.behavioralQuirk === "none") { if (jsRandom(0, 1) === 0) { slave.sexualQuirk = "perverted"; @@ -1109,6 +1109,19 @@ globalThis.generateMarketSlave = function(market = "kidnappers", numArcology = 1 } else { slave.behavioralQuirk = "sinful"; } + if (slave.actualAge <= 15 + (Math.ceil(V.week / 52))) { // younger slaves might be locally bred + slave.inbreedingCoeff = either(0, 0, 0, 0, 0.0625, 0.125, 0.125, 0.25, 0.25); + if (V.inbreeding === 1) { + if (jsRandom(1, 100) < slave.inbreedingCoeff * 200) { + slave.intelligence -= Math.abs(normalRandInt(5 * slave.inbreedingCoeff, 30 * slave.inbreedingCoeff, -100 * slave.inbreedingCoeff, 100 * slave.inbreedingCoeff)); + } + if (slave.geneticQuirks.pFace === 0 && slave.geneticQuirks.uFace === 0) { + if (jsRandom(1, 100) < slave.inbreedingCoeff * 200) { + slave.face -= Math.abs(normalRandInt(5 * slave.inbreedingCoeff, 35 * slave.inbreedingCoeff, -100 * slave.inbreedingCoeff, 100 * slave.inbreedingCoeff)); + } + } + } + } } if (FutureSocieties.isActive('FSDegradationist') && FutureSocieties.isActive('FSPaternalist', neighbor)) { slave.devotion = jsRandom(-90, -60); -- GitLab