diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js index 2b8c265cb8ac370179612eae68cbf75261215ac8..17217915e6589e1effccf6be86474560ec14008d 100644 --- a/js/003-data/gameVariableData.js +++ b/js/003-data/gameVariableData.js @@ -319,7 +319,8 @@ App.Data.resetOnNGPlus = { oralAppeal: 0, vaginalAppeal: 0, - analAppeal: 0 + analAppeal: 0, + sexualOpeness: 0 }, FCTV: {}, diff --git a/js/003-data/policiesData.js b/js/003-data/policiesData.js index a16a4b8da04042cc65a5405cbf4fb16e10de7451..3187767968a592b10205cc55a8bfa4d1c126a5b5 100644 --- a/js/003-data/policiesData.js +++ b/js/003-data/policiesData.js @@ -350,7 +350,7 @@ App.Data.Policies.Selection = { text: "you will covertly sell information on troubled potential immigrants to your arcology to their old world enemies.", activatedText: "you are covertly selling information on troubled potential immigrants to your arcology.", enable: -1, - get note() { return `Will produce ${cashFormat(policies.cost())} weekly, and slow growth of the citizen population`; } + get note() { return `Will produce roughly ¤${cashFormat(1000)} weekly, and slow growth of the citizen population`; } } ], "policies.immmigrationRep": [ @@ -373,7 +373,7 @@ App.Data.Policies.Selection = { title: "Enslavement Kickbacks", text: "you will take kickbacks in return for turning a blind eye to enslavement of poor citizens.", activatedText: "you are taking kickbacks in return for turning a blind eye to enslavement of poor citizens.", - get note() { return `Will produce ${cashFormat(policies.cost())} weekly, and reduce the population of citizens`; } + get note() { return `Will produce roughly ¤${cashFormat(1000)} weekly, and reduce the population of citizens`; } }, { title: "Poor Citizen Relief", @@ -502,6 +502,7 @@ App.Data.Policies.Selection = { title: "Raiding Mercenaries", text: "you will allow your mercenaries to occasionally conduct a raid directly for your benefit.", activatedText: "you are allowing your mercenaries to occasionally raid for your direct benefit.", + requirements: function() { return (V.mercenaries > 0); }, get note() { return `Will cost ${cashFormat(policies.cost())} weekly to maintain`; } } ], @@ -1184,7 +1185,7 @@ App.Data.Policies.Selection = { title: "Head Start SMR", titleClass: "lime", text: "in order to be sold in the arcology, slaves must pass a rigorous course designed to bring their skills and poise up to standard.", - requirements: function() { return (V.arcologies[0].FSIntellectualDependencySMR); }, + requirements: function() { return (V.arcologies[0].FSIntellectualDependencySMR === 0); }, note: `Will help advance Slave Professionalism` } ], diff --git a/src/Mods/SecExp/buildings/transportHub.tw b/src/Mods/SecExp/buildings/transportHub.tw index 8c109c753ff13109e080d3362bd89f297968712e..88a565619e2dbca8bcba3c85c678c298595406ef 100644 --- a/src/Mods/SecExp/buildings/transportHub.tw +++ b/src/Mods/SecExp/buildings/transportHub.tw @@ -94,7 +94,7 @@ You quickly reach the transport hub, where a constant stream of vehicles, people <</link>> //Will cost <<print cashFormat(Math.trunc(45000*$upgradeMultiplierArcology))>> and will increase trade, but will affect security// <<elseif $airport == 4>> <<link "Further enlarge the airport">> - <<run cashX(forceNeg(Math.truc(85000*$upgradeMultiplierArcology)), "capEx")>> + <<run cashX(forceNeg(Math.trunc(85000*$upgradeMultiplierArcology)), "capEx")>> <<set $airport++>> <<goto "transportHub">> <</link>> //Will cost <<print cashFormat(Math.trunc(85000*$upgradeMultiplierArcology))>> and will increase trade, but will affect security// @@ -152,7 +152,7 @@ You quickly reach the transport hub, where a constant stream of vehicles, people /* security */ <<if $hubSecurity == 1>> <<link "Expand and modernize the surveillance system">> - <<run cashX(forceNeg(Mat.trunc(15000*$upgradeMultiplierArcology)), "capEx")>> + <<run cashX(forceNeg(Math.trunc(15000*$upgradeMultiplierArcology)), "capEx")>> <<set $hubSecurity++>> <<goto "transportHub">> <</link>> //Will cost <<print cashFormat(Math.trunc(15000*$upgradeMultiplierArcology))>> and lower the transport hub security modifiers// diff --git a/src/Mods/SecExp/unitsBattleReport.tw b/src/Mods/SecExp/unitsBattleReport.tw index 032c274abac4d5f4ce3a3fb140e7104c85511415..95887d2edf57a7a255267ee790403f5a864e7e42 100644 --- a/src/Mods/SecExp/unitsBattleReport.tw +++ b/src/Mods/SecExp/unitsBattleReport.tw @@ -14,6 +14,7 @@ <<if $militiaUnits[_j].isDeployed == 1>> <br> $militiaUnits[_j].platoonName: no casualties. + <<set $militiaUnits[_j].battlesFought++>> <<if $militiaUnits[_j].training < 100>> <<if random(1,100) > 60>> Experience has increased. @@ -28,6 +29,7 @@ <<if $slaveUnits[_j].isDeployed == 1>> <br> $slaveUnits[_j].platoonName: no casualties. + <<set $slaveUnits[_j].battlesFought++>> <<if $slaveUnits[_j].training < 100>> <<if random(1,100) > 60>> Experience has increased. @@ -42,6 +44,7 @@ <<if $mercUnits[_j].isDeployed == 1>> <br> $mercUnits[_j].platoonName: no casualties. + <<set $mercUnits[_j].battlesFought++>> <<if $mercUnits[_j].training < 100>> <<if random(1,100) > 60>> Experience has increased. diff --git a/src/Mods/SecExp/unitsRebellionReport.tw b/src/Mods/SecExp/unitsRebellionReport.tw index 0b897d8b3418b3def6d2825d614c6c78ee59dfad..73534c482ef5add94aecacca3146bb4e3437b63c 100644 --- a/src/Mods/SecExp/unitsRebellionReport.tw +++ b/src/Mods/SecExp/unitsRebellionReport.tw @@ -16,6 +16,7 @@ <br> <<for _i = 0; _i < $militiaUnits.length; _i++>> <<if $militiaUnits[_i].active == 1 && ($loyalID.includes($militiaUnits[_i].ID))>> + <<set $militiaUnits[_i].battlesFought++>> <<set _count++>> <<if _count < $loyalID.length>> $militiaUnits[_i].platoonName, @@ -26,6 +27,7 @@ <</for>> <<for _i = 0; _i < $slaveUnits.length; _i++>> <<if $slaveUnits[_i].active == 1 && ($loyalID.includes($slaveUnits[_i].ID))>> + <<set $slaveUnits[_i].battlesFought++>> <<set _count++>> <<if _count < $loyalID.length>> $slaveUnits[_i].platoonName, @@ -36,6 +38,7 @@ <</for>> <<for _i = 0; _i < $mercUnits.length; _i++>> <<if $mercUnits[_i].active == 1 && ($loyalID.includes($mercUnits[_i].ID))>> + <<set $mercUnits[_i].battlesFought++>> <<set _count++>> <<if _count < $loyalID.length>> $mercUnits[_i].platoonName, diff --git a/src/data/backwardsCompatibility/backwardsCompatibility.js b/src/data/backwardsCompatibility/backwardsCompatibility.js index d49802024c0f20a68b5aadd5f9582c3787ad6c17..7017a55f1d9922dfd1c1f204678703fb8d7e3bec 100644 --- a/src/data/backwardsCompatibility/backwardsCompatibility.js +++ b/src/data/backwardsCompatibility/backwardsCompatibility.js @@ -1371,16 +1371,6 @@ App.Update.oldVersions = function(node) { if (V.releaseID === 1021 || V.releaseID === 1020 || V.releaseID === 1019 || V.releaseID === 2022) { V.releaseID = 1022; } - if (V.releaseID < 1043) { - V.defaultRules.forEach((rule) => { - if (rule.condition.excludeSpecialSlaves) { - rule.condition.specialSlaves = 0; - } else { - rule.condition.specialSlaves = -1; - } - delete rule.condition.excludeSpecialSlaves; - }); - } if (V.releaseID === 1043) { V.slaves.forEach(s => { if (s.skill && s.skill.whore) { diff --git a/src/descriptions/arcologyDescription.js b/src/descriptions/arcologyDescription.js index 30cb6d83f4dfce59f2eff8366488abc4f206935f..0809894ba522ba0d14ddaf74d86794c46eda09e9 100644 --- a/src/descriptions/arcologyDescription.js +++ b/src/descriptions/arcologyDescription.js @@ -812,7 +812,7 @@ App.Desc.playerArcology = function(lastElement) { if (A.FSGenderRadicalistDecoration === 100) { buffer.push(`Every single one of the slaves is female by virtue of her fuckable asshole.`); } else if (A.FSGenderFundamentalistSMR === 1) { - buffer.push(`Almost every citizen is an upstanding man, while the slave population is almost completely female.`); + buffer.push(`Almost every prominent citizen is an upstanding man, while the slave population is almost completely female.`); } if (A.FSEgyptianRevivalistLaw === 1) { buffer.push(`Close relationships between citizens and slaves, especially slave siblings, are common.`); diff --git a/src/events/RESS/lazyEvening.js b/src/events/RESS/lazyEvening.js index dca221a2357c5ac9506326f98d6e8d83789e03d6..ec6d378d45cc397ec5fcbca87a27b481575c9f12 100644 --- a/src/events/RESS/lazyEvening.js +++ b/src/events/RESS/lazyEvening.js @@ -9,7 +9,7 @@ App.Events.RESSLazyEvening = class RESSLazyEvening extends App.Events.BaseEvent s => s.fetish !== "mindbroken", hasAnyArms, hasAnyLegs, - s => s.assignment === Job.FUCKTOY, + s => (s.assignment === Job.FUCKTOY || s.assignment === Job.MASTERSUITE || s.assignment === Job.CONCUBINE), s => s.devotion > 20, ] ]; @@ -85,7 +85,13 @@ App.Events.RESSLazyEvening = class RESSLazyEvening extends App.Events.BaseEvent if (getLimbCount(eventSlave, 102) > 2) { t.push(`Clad in an antique T-Shirt referencing some defunct old world website, ${his} P-Limbs stand in stark contrast — gyros and servomotors against simple thread and cloth. With such tangible examples of the technological prowess of the Free Cities serving as ${his} limbs, ${his} ${eventSlave.belly >= 5000 ? "taut " : ""} shirt is an amusing testimonial to how far behind the old world stands in contrast to the new.`); } else if (eventSlave.boobs > 4000) { - t.push(`${His} breasts are so massive that the front of ${his} loose pajama top must be unbuttoned. Even so, the protrusion of ${his} immense breasts${eventSlave.belly >= 5000 ? ` and ${bellyAdjective(eventSlave)} rounded belly` : ""} from ${his} chest strains the soft pajama top to it's breaking point.`); + t.push(`${His} breasts are so massive that the front of ${his} loose pajama top must be unbuttoned. Even so, the protrusion of ${his} immense breasts`); + if (eventSlave.belly >= 5000) { + t.push(`and ${bellyAdjective(eventSlave)} rounded belly from ${his} body`); + } else { + t.push(`from ${his} chest`); + } + t.push(`strains the soft pajama top to it's breaking point.`); } else if (eventSlave.intelligence+eventSlave.intelligenceImplant > 50) { t.push(`As a clever ${girl}, ${his} simple${eventSlave.belly >= 5000 ? `, yet tight around the middle,` : ""} summer dress evokes memories of bygone warm weather days at elite old world colleges — and the sexual conquest of their youthful residents.`); } else if (eventSlave.muscles > 30) { diff --git a/src/js/economyJS.js b/src/js/economyJS.js index c7cef1c5abddb08932c3c954a3190690265fbb8b..38d74caa88fd2dd9ba802190b60253cf25982051 100644 --- a/src/js/economyJS.js +++ b/src/js/economyJS.js @@ -735,7 +735,7 @@ globalThis.calculateCosts = (function() { if (V.policies.regularParties === 1) { costs += policies.cost(); } - if (V.policies.immmigrationCash !== 0) { + if (V.policies.immmigrationCash === 1) { costs += policies.cost(); } if (V.policies.coursingAssociation === 1) { diff --git a/src/npc/descriptions/belly/belly.js b/src/npc/descriptions/belly/belly.js index fef3aafa62a987340180c691e48864cc096582ca..7e39a4bee79aeeb4ad3f9f440984b1061a3671c6 100644 --- a/src/npc/descriptions/belly/belly.js +++ b/src/npc/descriptions/belly/belly.js @@ -267,7 +267,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) { } r.push(`${His} extraordinary size greatly limits what ${he} can do and what can be done to ${him}.`); if (canWalk(slave)) { - r.push(`Surprisingly, ${he} is still capable of moving ${him} self in such a state.`); + r.push(`Surprisingly, ${he} is still capable of moving ${himself} in such a state.`); } } if (slave.weight > 190) { @@ -450,7 +450,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) { } else { r.push(`Despite being stretched taut, you can clearly see the grotesque figures of the infants forced against ${his} uterine walls by their siblings. ${His} womb is so cramped, they can barely squirm at all under the pressure and it is a wonder ${he} has managed to grow this`); if (slave.belly > (slave.pregAdaptation * 1000)) { - r.push(`large even the slightest provocation could cause ${him} to burst.`); + r.push(`large; even the slightest provocation could cause ${him} to burst.`); } else { r.push(`large.`); } @@ -482,7 +482,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) { if (slave.physicalAge <= 3) { r.push(`and ${he} is lost under the straining mass of the ready-to-rupture implant that`); if (slave.belly > (slave.pregAdaptation * 1000)) { - r.push(`threatens to burst out of.`); + r.push(`threatens to burst out of ${his} body.`); } else { r.push(`thoroughly fills ${his} body.`); } @@ -1542,7 +1542,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) { } else if (slave.bellyPreg > 0) { r.push(`${He} is enormously pregnant,`); if (slave.physicalAge <= 3) { - r.push(`and ${his} toddlerish body is absolutely filled by ${his} womb. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`); + r.push(`and ${his} toddlerish body is absolutely filled by ${his} womb. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`); } else if (slave.physicalAge <= 12) { r.push(`and ${his} huge, drum-taut belly lewdly dominates ${his} poor little frame.`); } else if (slave.weight > 190) { @@ -1583,7 +1583,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) { } else { r.push(`${He} looks full term with septuplets,`); if (slave.physicalAge <= 3) { - r.push(`and ${his} toddlerish body is absolutely filled by ${his} implant. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`); + r.push(`and ${his} toddlerish body is absolutely filled by ${his} implant. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`); } else if (slave.physicalAge <= 12) { r.push(`and ${his} huge, drum-taut belly dominates ${his} poor little frame.`); } else if (slave.weight > 190) { @@ -1610,7 +1610,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) { } else if (slave.bellyPreg > 0) { r.push(`${He} is enormously pregnant,`); if (slave.physicalAge <= 3) { - r.push(`and ${his} toddlerish body is absolutely filled by ${his} womb. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`); + r.push(`and ${his} toddlerish body is absolutely filled by ${his} womb. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`); } else if (slave.physicalAge <= 12) { r.push(`and ${his} huge, drum-taut belly lewdly dominates ${his} poor little frame.`); } else if (slave.weight > 190) { @@ -1649,7 +1649,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) { } else { r.push(`${He} looks full term with sextuplets,`); if (slave.physicalAge <= 3) { - r.push(`and ${his} toddlerish body is absolutely filled by ${his} implant. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`); + r.push(`and ${his} toddlerish body is absolutely filled by ${his} implant. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`); } else if (slave.physicalAge <= 12) { r.push(`and ${his} huge, drum-taut belly dominates ${his} poor little frame.`); } else if (slave.weight > 190) { @@ -1676,7 +1676,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) { } else if (slave.bellyPreg > 0) { r.push(`${He} is enormously pregnant,`); if (slave.physicalAge <= 3) { - r.push(`and ${his} toddlerish body is absolutely filled by ${his} womb. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`); + r.push(`and ${his} toddlerish body is absolutely filled by ${his} womb. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`); } else if (slave.physicalAge <= 12) { r.push(`and ${his} huge, drum-taut belly lewdly dominates ${his} poor little frame.`); } else if (slave.weight > 190) { @@ -1713,7 +1713,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) { } else { r.push(`${He} looks full term with quintuplets,`); if (slave.physicalAge <= 3) { - r.push(`and ${his} toddlerish body is absolutely filled by ${his} implant. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`); + r.push(`and ${his} toddlerish body is absolutely filled by ${his} implant. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`); } else if (slave.physicalAge <= 12) { r.push(`and ${his} huge, drum-taut belly dominates ${his} poor little frame.`); } else if (slave.weight > 190) { @@ -1740,7 +1740,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) { } else if (slave.bellyPreg > 0) { r.push(`${He} is enormously pregnant,`); if (slave.physicalAge <= 3) { - r.push(`and ${his} toddlerish body is absolutely filled by ${his} womb. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`); + r.push(`and ${his} toddlerish body is absolutely filled by ${his} womb. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`); } else if (slave.physicalAge <= 12) { r.push(`and ${his} huge, drum-taut belly lewdly dominates ${his} poor little frame.`); } else if (slave.weight > 190) { @@ -1775,7 +1775,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) { } else { r.push(`${He} looks full term with quadruplets,`); if (slave.physicalAge <= 3) { - r.push(`and ${his} toddlerish body is absolutely filled by ${his} implant. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`); + r.push(`and ${his} toddlerish body is absolutely filled by ${his} implant. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`); } else if (slave.physicalAge <= 12) { r.push(`and ${his} huge, drum-taut belly dominates ${his} poor little frame.`); } else if (slave.weight > 190) { @@ -1802,7 +1802,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) { } else if (slave.bellyPreg > 0) { r.push(`${He} is enormously pregnant,`); if (slave.physicalAge <= 3) { - r.push(`and ${his} toddlerish body is absolutely filled by ${his} womb. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`); + r.push(`and ${his} toddlerish body is absolutely filled by ${his} womb. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`); } else if (slave.physicalAge <= 12) { r.push(`and ${his} huge, drum-taut belly lewdly dominates ${his} poor little frame.`); } else if (slave.weight > 190) { @@ -1835,7 +1835,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) { } else { r.push(`${He} looks full term with triplets,`); if (slave.physicalAge <= 3) { - r.push(`and ${his} toddlerish body is absolutely filled by ${his} implant. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`); + r.push(`and ${his} toddlerish body is absolutely filled by ${his} implant. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`); } else if (slave.physicalAge <= 12) { r.push(`and ${his} huge, drum-taut belly dominates ${his} poor little frame.`); } else if (slave.weight > 190) { @@ -1862,7 +1862,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) { } else if (slave.bellyPreg > 0) { r.push(`${He} is enormously pregnant,`); if (slave.physicalAge <= 3) { - r.push(`and ${his} toddlerish body is absolutely filled by ${his} womb. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`); + r.push(`and ${his} toddlerish body is absolutely filled by ${his} womb. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`); } else if (slave.physicalAge <= 12) { r.push(`and ${his} huge, drum-taut belly lewdly dominates ${his} poor little frame.`); } else if (slave.weight > 190) { @@ -1893,7 +1893,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) { } else { r.push(`${He} looks full term with twins,`); if (slave.physicalAge <= 3) { - r.push(`and ${his} toddlerish body is absolutely filled by ${his} implant. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`); + r.push(`and ${his} toddlerish body is absolutely filled by ${his} implant. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`); } else if (slave.physicalAge <= 12) { r.push(`and ${his} huge, drum-taut belly dominates ${his} poor little frame.`); } else if (slave.weight > 190) { @@ -1920,7 +1920,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) { } else if (slave.bellyPreg > 0) { r.push(`${He} is enormously pregnant,`); if (slave.physicalAge <= 3) { - r.push(`and ${his} toddlerish body is absolutely filled by ${his} womb. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`); + r.push(`and ${his} toddlerish body is absolutely filled by ${his} womb. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`); } else if (slave.physicalAge <= 12) { r.push(`and ${his} huge, drum-taut belly lewdly dominates ${his} poor little frame.`); } else if (slave.weight > 190) { @@ -1949,7 +1949,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) { } else { r.push(`${He} looks hugely pregnant,`); if (slave.physicalAge <= 3) { - r.push(`and ${his} toddlerish body is absolutely filled by ${his} implant. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`); + r.push(`and ${his} toddlerish body is absolutely filled by ${his} implant. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`); } else if (slave.physicalAge <= 12) { r.push(`and ${his} huge, drum-taut belly dominates ${his} poor little frame.`); } else if (slave.weight > 190) { @@ -1975,7 +1975,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) { if (slave.bellyFluid >= slave.bellyPreg && slave.bellyFluid >= slave.bellyImplant) { r.push(`${His} middle is enormously distended with ${slave.inflationType},`); if (slave.physicalAge <= 3) { - r.push(`and ${his} toddlerish body is absolutely filled by ${his} bloated innards. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`); + r.push(`and ${his} toddlerish body is absolutely filled by ${his} bloated innards. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`); } else if (slave.physicalAge <= 12) { r.push(`and ${his} massive, drum-taut belly dominates ${his} poor little frame.`); } else if (slave.weight > 130) { @@ -11348,30 +11348,100 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) { if (slave.bellyFluid >= slave.bellyPreg && slave.bellyFluid >= slave.bellyImplant) { r.push(`${slave.slaveName}'s harem girl outfit has been specially tailored to drape over ${his} monolithic, ${slave.inflationType}-filled belly and accentuate its size and shape.`); } else if (slave.bellyImplant > 0) { - r.push(`${slave.slaveName}'s harem girl outfit has been specially tailored to drape over ${his} monolithic, implant-filled belly and accentuate its size and shape.`); + r.push(`${slave.slaveName}'s harem girl outfit has been specially tailored to drape over ${his} monolithic, implant-filled belly and sensually accentuate its size and shape.`); } else { - r.push(`${slave.slaveName}'s harem girl outfit has been specially tailored to drape over ${his} monolithic pregnancy and accentuate its size and the movement of ${his} many unborn children.`); + r.push(`${slave.slaveName}'s harem girl outfit has been specially tailored to drape over ${his} monolithic pregnancy and sensually accentuate its size and the movement of ${his} many unborn children.`); + } + } else if (slave.belly >= 600000) { + if (slave.bellyFluid >= slave.bellyPreg && slave.bellyFluid >= slave.bellyImplant) { + } else if (slave.bellyImplant > 0) { + r.push(`${slave.slaveName}'s harem girl outfit has been specially tailored to drape over ${his} titanic, implant-filled belly and sensually accentuate its size and shape.`); + } else { + r.push(`${slave.slaveName}'s harem girl outfit has been specially tailored to drape over ${his} titanic pregnancy and sensually accentuate its size and the movement of ${his} many unborn children.`); + } + } else if (slave.belly >= 450000) { + if (slave.bellyFluid >= slave.bellyPreg && slave.bellyFluid >= slave.bellyImplant) { + } else if (slave.bellyImplant > 0) { + r.push(`${slave.slaveName}'s harem girl outfit has been specially tailored to drape over ${his} gigantic implant-filled belly and sensually accentuate its size and shape.`); + } else { + r.push(`${slave.slaveName}'s harem girl outfit has been specially tailored to drape over ${his} gigantic pregnancy and sensually accentuate its size and shape.`); + } + } else if (slave.belly >= 300000) { + if (slave.bellyFluid >= slave.bellyPreg && slave.bellyFluid >= slave.bellyImplant) { + } else if (slave.bellyImplant > 0) { + r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} massive implant-filled belly and the unique motions it takes to move it.`); + } else { + r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} massive pregnancy and the unique motions it takes to move it.`); + } + } else if (slave.belly >= 120000) { + if (slave.bellyFluid >= slave.bellyPreg && slave.bellyFluid >= slave.bellyImplant) { + } else if (slave.bellyImplant > 0) { + r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} giant implant-filled belly and the wide movements ${he} makes with it.`); + } else { + r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} giant pregnancy and the wide movements ${he} makes with it.`); + } + } else if (slave.belly >= 30000) { + if (slave.bellyFluid >= slave.bellyPreg && slave.bellyFluid >= slave.bellyImplant) { + } else if (slave.bellyImplant > 0) { + r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} huge implant-filled belly and the wide movements ${he} makes with it.`); + } else { + r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} huge pregnancy and the wide movements ${he} makes with it.`); } - } else if (slave.bellyPreg >= 600000) { - r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} titanic bulging pregnancy.`); - } else if (slave.bellyPreg >= 300000) { - r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} massive pregnancy.`); } else if (slave.weight > 190) { r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} massively fat belly and makes every jiggle of ${his} expansive flesh surprisingly alluring.`); - } else if (slave.bellyPreg >= 10000 || (slave.bellyAccessory === "a huge empathy belly") || (slave.bellyAccessory === "a large empathy belly")) { - r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} huge pregnancy.`); + } else if (slave.belly >= 15000 || (slave.bellyAccessory === "a huge empathy belly")) { + if (slave.bellyAccessory === "a huge empathy belly") { + r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} huge pregnant belly.`); + } else if (slave.bellyFluid >= slave.bellyPreg && slave.bellyFluid >= slave.bellyImplant) { + } else if (slave.bellyImplant > 0) { + r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} huge implant-filled belly.`); + } else { + r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} heavy pregnancy.`); + } + } else if (slave.belly >= 10000 || (slave.bellyAccessory === "a large empathy belly")) { + if (slave.bellyAccessory === "a large empathy belly") { + r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} big pregnant belly.`); + } else if (slave.bellyFluid >= slave.bellyPreg && slave.bellyFluid >= slave.bellyImplant) { + r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} hugely swollen stomach.`); + } else if (slave.bellyImplant > 0) { + r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} big implant-filled belly.`); + } else { + r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} advanced pregnancy.`); + } } else if (slave.weight > 160) { r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} hugely fat belly and makes every jiggle of ${his} extra flesh surprisingly alluring.`); } else if (slave.weight > 130) { r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} big fat belly and makes every jiggle of ${his} flesh surprisingly alluring.`); - } else if (slave.bellyPreg >= 5000 || (slave.bellyAccessory === "a medium empathy belly")) { - r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} pregnancy.`); + } else if (slave.belly >= 5000 || (slave.bellyAccessory === "a medium empathy belly")) { + if (slave.bellyAccessory === "a medium empathy belly") { + r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} pregnant belly.`); + } else if (slave.bellyFluid >= slave.bellyPreg && slave.bellyFluid >= slave.bellyImplant) { + r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} jiggling ${slave.inflationType}-filled.`); + } else if (slave.bellyImplant > 0) { + r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} implant-filled belly.`); + } else { + r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} pregnancy.`); + } } else if (slave.weight > 95) { r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} fat belly.`); - } else if (((slave.bellyPreg >= 1500) || (slave.bellyAccessory === "a small empathy belly"))) { - r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} growing pregnancy.`); + } else if (slave.belly >= 1500 || slave.bellyAccessory === "a small empathy belly") { + if (slave.bellyAccessory === "a small empathy belly") { + r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} small pregnant belly.`); + } else if (slave.bellyFluid >= slave.bellyPreg && slave.bellyFluid >= slave.bellyImplant) { + r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} ${slave.inflationType}-swollen belly.`); + } else if (slave.bellyImplant > 0) { + r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} implant-rounded middle.`); + } else { + r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} growing pregnancy.`); + } } else if (slave.weight > 30) { r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} chubby belly.`); + } else if (slave.bellyPreg >= 100 || slave.bellyImplant >= 100) { + r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates the slight swell to ${his} lower belly.`); + } else if (slave.muscles > 30) { + r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} ripped abs.`); + } else if (slave.muscles > 5) { + r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} toned belly.`); } break; case "a comfortable bodysuit": diff --git a/src/npc/generate/generateGenetics.js b/src/npc/generate/generateGenetics.js index 250afa87426477062e046f46b602395e402c13e3..431f2c1aac1cc0e9f49dc93f1a293f5f57910a68 100644 --- a/src/npc/generate/generateGenetics.js +++ b/src/npc/generate/generateGenetics.js @@ -332,27 +332,38 @@ globalThis.generateGenetics = (function() { function setEyeColor(father, mother, actor2) { let eyeColor; let fatherEye = 0; + + // during BC WombInit, the mother has been updated but the father might not have been yet. + // if the father is defined but doesn't have eyes, see if maybe he has an old eye color + if (father !== 0) { + if (jsDef(father.eye)) { + fatherEye = father.eye.origColor; + } else if (jsDef(father.eyeColor)) { + fatherEye = father.eyeColor; + } + } + if (father !== 0) { - if (mother.eye.origColor === father.eye.origColor) { + if (mother.eye.origColor === fatherEye) { eyeColor = mother.eye.origColor; } else if (["light red", "milky white", "pale gray", "pale red", "red"].contains(mother.eye.origColor)) { - eyeColor = father.eye.origColor; - } else if (["light red", "milky white", "pale gray", "pale red", "red"].contains(father.eye.origColor)) { + eyeColor = fatherEye; + } else if (["light red", "milky white", "pale gray", "pale red", "red"].contains(fatherEye)) { eyeColor = mother.eye.origColor; } else if (["blue", "dark blue", "deep blue", "light blue", "light grey"].contains(mother.eye.origColor)) { if (jsRandom(1, 4) === 2) { eyeColor = mother.eye.origColor; } else { - eyeColor = father.eye.origColor; + eyeColor = fatherEye; } - } else if (["blue", "dark blue", "deep blue", "light blue", "light grey"].contains(father.eye.origColor)) { + } else if (["blue", "dark blue", "deep blue", "light blue", "light grey"].contains(fatherEye)) { if (jsRandom(1, 4) === 2) { - eyeColor = father.eye.origColor; + eyeColor = fatherEye; } else { eyeColor = mother.eye.origColor; } } else { - eyeColor = jsEither([father.eye.origColor, mother.eye.origColor]); + eyeColor = jsEither([fatherEye, mother.eye.origColor]); } } else { if (((actor2 === -2 || actor2 === -5) && V.arcologies[0].FSSupremacistLawME === 1) || (actor2 === -6 && V.arcologies[0].FSSupremacist !== "unset")) { @@ -724,6 +735,12 @@ globalThis.generateGenetics = (function() { let fathergenes = 0; let genetarget = 0; + // during BC WombInit, the mother has been updated but the father might not have been yet. + // if the father is defined but doesn't have genetic quirks, just ignore him + if (father !== 0 && !jsDef(father.geneticQuirks)) { + father = 0; + } + // Genetics implementation // Autosomal recessive: For each gene, add up gene level (0, 1, or 2) for both parents; if total level 1 or above, then roll a d16. // If result is less than 2^(total gene level), child manifests the quirk. diff --git a/src/uncategorized/arcmgmt.tw b/src/uncategorized/arcmgmt.tw index 02f32d7e9052ca5c6e9ed9b799fc9d46826e4c74..e965a3ea34493b0b04c59941461dbaba8150e567 100644 --- a/src/uncategorized/arcmgmt.tw +++ b/src/uncategorized/arcmgmt.tw @@ -1175,7 +1175,7 @@ _percTopClass = Math.trunc(($topClass / ($ACitizens + $ASlaves)) * 1000) / 10>> <br><<if $arcologies[0].FSSupremacistLawME == 1>>The citizenry is entirely $arcologies[0].FSSupremacistRace.<</if>> <<if $arcologies[0].FSRomanRevivalistLaw == 1>>The citizens take pride in their martial duties, preferring to wear utilitarian clothing even when off duty.<</if>> <<if $arcologies[0].FSGenderRadicalistDecoration == 100>>Every single one of the slaves is female by virtue of her fuckable asshole. -<<elseif $arcologies[0].FSGenderFundamentalistSMR == 1>>Almost every citizen is an upstanding man, while the slave population is almost completely female.<</if>> +<<elseif $arcologies[0].FSGenderFundamentalistSMR == 1>>Almost every prominent citizen is an upstanding man, while the slave population is almost completely female.<</if>> <<if $arcologies[0].FSEgyptianRevivalistLaw == 1>>Close relationships between citizens and slaves, especially slave siblings, are common.<<elseif $arcologies[0].FSEgyptianRevivalistIncestPolicy == 1>>Close relationships between citizens, slaves and siblings are common.<</if>> <<if $arcologies[0].FSSubjugationistLawME == 1>><<= capFirstChar($arcologies[0].FSSubjugationistRace)>> subhumans form a majority of the slaves.<</if>> <<if $arcologies[0].FSChattelReligionistLaw == 1>>The slave population as a whole is unusually accepting of its station.<</if>>