diff --git a/player variables documentation - Pregmod.txt b/player variables documentation - Pregmod.txt index e838f56558a9774e4a59bd8a70b09108dcb478ab..fabe9f727c8c985d3639b5176b95d59e88b1715d 100644 --- a/player variables documentation - Pregmod.txt +++ b/player variables documentation - Pregmod.txt @@ -68,6 +68,20 @@ Do you know you are pregnant (currently unused due to lack of menstrual cycle) 0 - no 1 - yes +fertKnown: + +Menstrual cycle known variable. To be used for fert cycle discover and things like pregnancy without a first period + +0 - no +1 - yes + +fertPeak: + +Menstrual cycle control variable. + + 0 - Danger week +1+ - safe week + belly: (uncommon in events) diff --git a/slave variables documentation - Pregmod.txt b/slave variables documentation - Pregmod.txt index 366d8c51ed5f264502422aae033d07b20cd1406d..732c71b7286f3a3cde8cef9b0a551fb045d38761 100644 --- a/slave variables documentation - Pregmod.txt +++ b/slave variables documentation - Pregmod.txt @@ -1878,6 +1878,20 @@ readyOva: Number of ready to be impregnated ova (override normal cases), default - 0. For delayed impregnations with multiples. Used onetime on next call of the SetPregType widget. After SetPregType use it to override .pregType, it set back to 0 automatically. +fertKnown: + +Menstrual cycle known variable. To be used for fert cycle discover and things like pregnancy without a first period + +0 - no +1 - yes + +fertPeak: + +Menstrual cycle control variable. + + 0 - Danger week +1+ - safe week + ovaImplant: Ovary implant type. diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js index 23b8176725df44325b5676247a5e487bc3033900..a748912f7715a48a29d38e779453dafe8f5f927c 100644 --- a/src/js/SlaveState.js +++ b/src/js/SlaveState.js @@ -846,6 +846,20 @@ App.Entity.SlaveState = class SlaveState { * * "restraint": Provides structural support for extremely oversized pregnancies */ this.wombImplant = "none"; + /** + * Menstrual cycle known variable. To be used for fert cycle discover and things like pregnancy without a first period + * + * * 0: no + * * 1: yes + */ + this.fertKnown = 0; + /** + * Menstrual cycle control variable. + * + * * 0: Danger week + * * 1+: safe week + */ + this.fertPeak = 0; /** * has the slave been turned into a broodmother * diff --git a/src/js/datatypeCleanupJS.js b/src/js/datatypeCleanupJS.js index ccd173225e9d7b22d595ab3d48a8282b2e8abf76..adc8935d0cff87fb6651c7dd72d58bda6f3a9eb2 100644 --- a/src/js/datatypeCleanupJS.js +++ b/src/js/datatypeCleanupJS.js @@ -289,6 +289,7 @@ window.SlaveDatatypeCleanup = (function SlaveDatatypeCleanup() { if (typeof slave.ovaImplant !== "string") { slave.ovaImplant = 0; } + slave.fertPeak = Math.clamp(+slave.fertPeak, 0, 4) || 0; slave.broodmother = Math.clamp(+slave.broodmother, 0, 3) || 0; slave.broodmotherFetuses = Math.max(+slave.broodmotherFetuses, 0) || 0; slave.broodmotherOnHold = Math.clamp(+slave.broodmotherOnHold, 0, 1) || 0; @@ -898,6 +899,7 @@ window.childPregnancyDatatypeCleanup = function childPregnancyDatatypeCleanup(ch if (typeof child.pregControl !== "string") { child.pregControl = "none"; } + child.fertPeak = Math.clamp(+child.fertPeak, 0, 4) || 0; WombNormalizePreg(child); }; @@ -1252,6 +1254,7 @@ window.PCDatatypeCleanup = function PCDatatypeCleanup() { } PC.vagina = Math.clamp(+PC.vagina, 0, 1) || 0; PC.belly = Math.max(+PC.belly, 0) || 0; + PC.fertPeak = Math.clamp(+PC.fertPeak, 0, 4) || 0; PC.pregMood = Math.clamp(+PC.pregMood, 0, 2) || 0; PC.labor = Math.clamp(+PC.labor, 0, 1) || 0; PC.births = Math.max(+PC.births, 0) || 0; diff --git a/src/pregmod/widgets/bodyswapWidgets.tw b/src/pregmod/widgets/bodyswapWidgets.tw index 76f8142e4ef631d9e3e4b8a5b27f50c14c2d04b7..68d1bb07d0f9ad7e9501ae5c5f6d7a560d978a5b 100644 --- a/src/pregmod/widgets/bodyswapWidgets.tw +++ b/src/pregmod/widgets/bodyswapWidgets.tw @@ -100,6 +100,8 @@ <<set $args[0].preg = $args[1].preg>> <<set $args[0].pregSource = $args[1].pregSource>> <<set $args[0].pregType = $args[1].pregType>> +<<set $args[0].fertKnown = $args[1].fertKnown>> +<<set $args[0].fertPeak = $args[1].fertPeak>> <<set $args[0].broodmother = $args[1].broodmother>> <<set $args[0].broodmotherFetuses = $args[1].broodmotherFetuses>> <<set $args[0].broodmotherOnHold = $args[1].broodmotherOnHold>> diff --git a/src/pregmod/widgets/pregmodWidgets.tw b/src/pregmod/widgets/pregmodWidgets.tw index 115c3a5bd955d4a05da0811618a38b0cd5debd87..70895ea1ffebbea4afe9b3eac1416e7b42df91a4 100644 --- a/src/pregmod/widgets/pregmodWidgets.tw +++ b/src/pregmod/widgets/pregmodWidgets.tw @@ -1,7 +1,7 @@ :: pregmod widgets [nobr widget] <<widget "initPC">> - <<set $PC = {name: "Anonymous", surname: 0, title: 1, ID: -1, genes: "XY", pronoun: "he", possessive: "him", object: "his", dick: 1, vagina: 0, preg: 0, pregType: 0, pregWeek: 0, pregKnown: 0, belly: 0, bellyPreg: 0, mpreg: 0, pregSource: 0, pregMood: 0, labor: 0, births: 0, boobsBonus: 0, degeneracy: 0, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, lactation: 0, lactationDuration: 0, career: "capitalist", rumor: "wealth", birthWeek: random(0,51), age: 2, sexualEnergy: 4, refreshment: "cigar", refreshmentType: 0, trading: 0, warfare: 0, slaving: 0, engineering: 0, medicine: 0, hacking: 0, cumTap: 0, race: "white", origRace: "white", skin: "white", origSkin: "white", markings: "none", eyeColor: "blue", origEye: "blue", pupil: "circular", sclerae: "white", hColor: "blonde", origHColor: "blonde", nationality: "Stateless", father: 0, mother: 0, sisters: 0, daughters: 0, birthElite: 0, birthMaster: 0, birthDegenerate: 0, birthClient: 0, birthOther: 0, birthArcOwner: 0, birthCitizen: 0, birthSelf: 0, birthLab: 0, birthFutaSis: 0, slavesFathered: 0, slavesKnockedUp: 0, intelligence: 100, face: 100, faceShape: "normal", actualAge: 35, physicalAge: 35, visualAge: 35, boobsImplant: 0, butt: 0, buttImplant: 0, balls: 0, ballsImplant: 0, ageImplant: 0, newVag: 0, reservedChildren: 0, reservedChildrenNursery: 0, fertDrugs: 0, forcedFertDrugs: 0, staminaPills: 0, ovaryAge: 35, eggType: "human", ballType: "human", storedCum: 0, behavioralFlaw: "none", behavioralQuirk: "none", sexualFlaw: "none", sexualQuirk: "none", fetish: "none", pubicHStyle: "hairless", underArmHStyle: "hairless", geneticQuirks: {macromastia: 0, gigantomastia: 0, fertility: 0, hyperFertility: 0, superfetation: 0, gigantism: 0, dwarfism: 0, pFace: 0, uFace: 0, albinism: 0, heterochromia: 0, rearLipedema: 0, wellHung: 0, wGain: 0, wLoss: 0, androgyny: 0, girlsOnly: 0}}>> + <<set $PC = {name: "Anonymous", surname: 0, title: 1, ID: -1, genes: "XY", pronoun: "he", possessive: "him", object: "his", dick: 1, vagina: 0, preg: 0, pregType: 0, pregWeek: 0, pregKnown: 0, fertKnown: 0, fertPeak: 0, belly: 0, bellyPreg: 0, mpreg: 0, pregSource: 0, pregMood: 0, labor: 0, births: 0, boobsBonus: 0, degeneracy: 0, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, lactation: 0, lactationDuration: 0, career: "capitalist", rumor: "wealth", birthWeek: random(0,51), age: 2, sexualEnergy: 4, refreshment: "cigar", refreshmentType: 0, trading: 0, warfare: 0, slaving: 0, engineering: 0, medicine: 0, hacking: 0, cumTap: 0, race: "white", origRace: "white", skin: "white", origSkin: "white", markings: "none", eyeColor: "blue", origEye: "blue", pupil: "circular", sclerae: "white", hColor: "blonde", origHColor: "blonde", nationality: "Stateless", father: 0, mother: 0, sisters: 0, daughters: 0, birthElite: 0, birthMaster: 0, birthDegenerate: 0, birthClient: 0, birthOther: 0, birthArcOwner: 0, birthCitizen: 0, birthSelf: 0, birthLab: 0, birthFutaSis: 0, slavesFathered: 0, slavesKnockedUp: 0, intelligence: 100, face: 100, faceShape: "normal", actualAge: 35, physicalAge: 35, visualAge: 35, boobsImplant: 0, butt: 0, buttImplant: 0, balls: 0, ballsImplant: 0, ageImplant: 0, newVag: 0, reservedChildren: 0, reservedChildrenNursery: 0, fertDrugs: 0, forcedFertDrugs: 0, staminaPills: 0, ovaryAge: 35, eggType: "human", ballType: "human", storedCum: 0, behavioralFlaw: "none", behavioralQuirk: "none", sexualFlaw: "none", sexualQuirk: "none", fetish: "none", pubicHStyle: "hairless", underArmHStyle: "hairless", geneticQuirks: {macromastia: 0, gigantomastia: 0, fertility: 0, hyperFertility: 0, superfetation: 0, gigantism: 0, dwarfism: 0, pFace: 0, uFace: 0, albinism: 0, heterochromia: 0, rearLipedema: 0, wellHung: 0, wGain: 0, wLoss: 0, androgyny: 0, girlsOnly: 0}}>> <<set WombInit($PC)>> @@ -107,8 +107,10 @@ <<if ndef $args[0].pubertyXX>> <<if $args[0].physicalAge >= $args[0].pubertyAgeXX>> <<set $args[0].pubertyXX = 1>> + <<set $args[0].fertKnown = 1>> <<else>> <<set $args[0].pubertyXX = 0>> + <<set $args[0].fertKnown = 0>> <</if>> <</if>> <<if ndef $args[0].pubertyAgeXY>>