diff --git a/src/npc/generate/generateMarketSlave.js b/src/npc/generate/generateMarketSlave.js index 3f12ebde2d85b50b444facbd4e092ffc5266748d..6149f06a9e3d0e3a14ce9efd5a1e32d245ce2f01 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);