From c1cd09e09e7d27824430056d8240774333a78706 Mon Sep 17 00:00:00 2001 From: DCoded <dcoded@live.com> Date: Sat, 6 Oct 2018 14:09:05 -0400 Subject: [PATCH] Bugfixes and tying up loose ends --- slave variables documentation - Pregmod.txt | 2 +- src/facilities/nursery/nursery.tw | 6 +- src/facilities/nursery/nurseryReport.tw | 347 ++++++++++++++++++++ src/init/storyInit.tw | 1 + src/pregmod/widgets/seBirthWidgets.tw | 4 +- src/uncategorized/BackwardsCompatibility.tw | 3 + src/uncategorized/longSlaveDescription.tw | 16 + src/uncategorized/slaveSummary.tw | 4 +- src/utility/birthWidgets.tw | 33 +- 9 files changed, 409 insertions(+), 7 deletions(-) create mode 100644 src/facilities/nursery/nurseryReport.tw diff --git a/slave variables documentation - Pregmod.txt b/slave variables documentation - Pregmod.txt index 20c55e19c00..fa5c5174a67 100644 --- a/slave variables documentation - Pregmod.txt +++ b/slave variables documentation - Pregmod.txt @@ -3258,7 +3258,7 @@ How to set up your own hero slave. -The default slave template used: -<<set $activeSlave = {slaveName: "blank", slaveSurname: 0, birthName: "blank", birthSurname: 0, genes: "XX", pronoun: "she", possessive: "her", possessivePronoun: "hers", objectReflexive: "herself", object: "her", noun: "girl", weekAcquired: 0, origin: 0, career: 0, ID: 0, prestige: 0, pornFeed: 0, pornFame: 0, pornFameSpending: 0, pornPrestige: 0, pornPrestigeDesc: 0, pornFameType: "none", pornFocus: "none", pornTypeGeneral: 0, pornTypeFuckdoll: 0, pornTypeRape: 0, pornTypePreggo: 0, pornTypeBBW: 0, pornTypeGainer: 0, pornTypeStud: 0, pornTypeLoli: 0, pornTypeDeepThroat: 0, pornTypeStruggleFuck: 0, pornTypePainal: 0, pornTypeTease: 0, pornTypeRomantic: 0, pornTypePervert: 0, pornTypeCaring: 0, pornTypeUnflinching: 0, pornTypeSizeQueen: 0, pornTypeNeglectful: 0, pornTypeCumAddict: 0, pornTypeAnalAddict: 0, pornTypeAttentionWhore: 0, pornTypeBreastGrowth: 0, pornTypeAbusive: 0, pornTypeMalicious: 0, pornTypeSelfHating: 0, pornTypeBreeder: 0, pornTypeSub: 0, pornTypeCumSlut: 0, pornTypeAnal: 0, pornTypeHumiliation: 0, pornTypeBoobs: 0, pornTypeDom: 0, pornTypeSadist: 0, pornTypeMasochist: 0, pornTypePregnancy: 0, prestigeDesc: 0, recruiter: 0, relation: 0, relationTarget: 0, relationship: 0, relationshipTarget: 0, rivalry: 0, rivalryTarget: 0, subTarget: 0, father: 0, mother: 0, daughters: 0, sisters: 0, canRecruit: 0, choosesOwnAssignment: 0, assignment: "rest", assignmentVisible: 1, sentence: 0, training: 0, toyHole: "all her holes", indenture: -1, indentureRestrictions: 0, birthWeek: random(0,51), actualAge: 18, visualAge: 18, physicalAge: 18, ovaryAge: 18, ageImplant: 0, health: 0, minorInjury: 0, trust: 0, oldTrust: 0, devotion: 0, oldDevotion: 0, weight: 0, muscles: 0, height: 170, heightImplant: 0, nationality: "slave", race: "white", markings: "none", eyes: 1, eyeColor: "brown", origEye: "brown", eyewear: "none", hears: 0, earwear: "none", earImplant: 0, origHColor: "brown", hColor: "brown", pubicHColor: "brown", skin: "light", hLength: 60, hStyle: "short", pubicHStyle: "neat", waist: 0, corsetPiercing: 0, PLimb: 0, amp: 0, heels:0, voice: 2, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, boobsImplant: 0, boobsImplantType: 0, boobShape: "normal", nipples: "cute", nipplesPiercing: 0, nipplesAccessory: 0, areolae: 0, areolaePiercing: 0, areolaeShape: "circle", boobsTat: 0, lactation: 0, lactationAdaptation: 0, milk: 0, cum: 0, hips: 0, hipsImplant: 0, butt: 0, buttImplant: 0, buttImplantType: 0, buttTat: 0, face: 0, faceImplant: 0, faceShape: "normal", lips: 15, lipsImplant: 0, lipsPiercing: 0, lipsTat: 0, teeth: "normal", tonguePiercing: 0, vagina: 0, vaginaLube: 0, vaginaPiercing: 0, vaginaTat: 0, preg: -1, pregSource: 0, pregType: 0, pregAdaptation: 50, broodmother: 0, broodmotherFetuses: 0, broodmotherOnHold: 0, broodmotherCountDown: 0, labor: 0, births: 0, cSec: 0, bellyAccessory: "none", labia: 0, clit: 0, clitPiercing: 0, clitSetting: "vanilla", foreskin: 0, anus: 0, dick: 0, analArea: 1, dickPiercing: 0, dickTat: 0, prostate: 0, balls: 0, scrotum: 0, ovaries: 0, anusPiercing: 0, anusTat: 0, makeup: 0, nails: 0, brand: 0, brandLocation: 0, earPiercing: 0, nosePiercing: 0, eyebrowPiercing: 0, navelPiercing: 0, shouldersTat: 0, armsTat: 0, legsTat: 0, backTat: 0, stampTat: 0, vaginalSkill: 0, oralSkill: 0, analSkill: 0, whoreSkill: 0, entertainSkill: 0, combatSkill: 0, livingRules: "spare", speechRules: "restrictive", releaseRules: "restrictive", relationshipRules: "restrictive", standardPunishment: "situational", standardReward: "situational", useRulesAssistant: 1, diet: "healthy", dietCum: 0, dietMilk: 0, tired: 0, hormones: 0, drugs: "no drugs", curatives: 0, chem: 0, aphrodisiacs: 0, addict: 0, fuckdoll: 0, choosesOwnClothes: 0, clothes: "no clothing", collar: "none", shoes: "none", vaginalAccessory: "none", dickAccessory: "none", legAccessory: "none", buttplug: "none", buttplugAttachment: "none", intelligence: 0, intelligenceImplant: 0, energy: 50, need: 0, attrXX: 0, attrXY: 0, attrKnown: 0, fetish: "none", fetishStrength: 70, fetishKnown: 0, behavioralFlaw: "none", behavioralQuirk: "none", sexualFlaw: "none", sexualQuirk: "none", oralCount: 0, vaginalCount: 0, analCount: 0, mammaryCount: 0, penetrativeCount: 0, publicCount: 0, pitKills: 0, customTat: "", customLabel: "", customDesc: "", customTitle: "", customTitleLisp: "", rudeTitle: 0, customImage: 0, currentRules: [], bellyTat: 0, induce: 0, mpreg: 0, inflation: 0, inflationType: "none", inflationMethod: 0, milkSource: 0, cumSource: 0, burst: 0, pregKnown: 0, pregWeek: 0, belly: 0, bellyPreg: 0, bellyFluid: 0, bellyImplant: -1, bellySag: 0, bellySagPreg: 0, bellyPain: 0, cervixImplant: 0, birthsTotal: 0, pubertyAgeXX: 13, pubertyAgeXY: 13, scars: 0, breedingMark: 0, underArmHStyle: "waxed", bodySwap: 0, HGExclude: 0, ballType: "human", eggType: "human", reservedChildren: 0, reservedChildrenNursery: 0, choosesOwnChastity: 0, pregControl: "none", readyLimbs: [], ageAdjust: 0, bald: 0, origBodyOwner: "", origBodyOwnerID: 0, death: "", hormoneBalance: 0, onDiet: 0, breastMesh: 0, slavesFathered: 0, PCChildrenFathered: 0, slavesKnockedUp: 0, PCKnockedUp: 0, origSkin: "white", vasectomy: 0, haircuts: 0, newGamePlus: 0, skillHG: 0, skillRC: 0, skillBG: 0, skillMD: 0, skillDJ: 0, skillNU: 0, skillTE: 0, skillAT: 0, skillST: 0, skillMM: 0, skillWA: 0, skillS: 0, skillE: 0, skillW: 0, tankBaby: 0, inducedNCS: 0, NCSyouthening: 0}>> +<<set $activeSlave = {slaveName: "blank", slaveSurname: 0, birthName: "blank", birthSurname: 0, genes: "XX", pronoun: "she", possessive: "her", possessivePronoun: "hers", objectReflexive: "herself", object: "her", noun: "girl", weekAcquired: 0, origin: 0, career: 0, ID: 0, prestige: 0, pornFeed: 0, pornFame: 0, pornFameSpending: 0, pornPrestige: 0, pornPrestigeDesc: 0, pornFameType: "none", pornFocus: "none", pornTypeGeneral: 0, pornTypeFuckdoll: 0, pornTypeRape: 0, pornTypePreggo: 0, pornTypeBBW: 0, pornTypeGainer: 0, pornTypeStud: 0, pornTypeLoli: 0, pornTypeDeepThroat: 0, pornTypeStruggleFuck: 0, pornTypePainal: 0, pornTypeTease: 0, pornTypeRomantic: 0, pornTypePervert: 0, pornTypeCaring: 0, pornTypeUnflinching: 0, pornTypeSizeQueen: 0, pornTypeNeglectful: 0, pornTypeCumAddict: 0, pornTypeAnalAddict: 0, pornTypeAttentionWhore: 0, pornTypeBreastGrowth: 0, pornTypeAbusive: 0, pornTypeMalicious: 0, pornTypeSelfHating: 0, pornTypeBreeder: 0, pornTypeSub: 0, pornTypeCumSlut: 0, pornTypeAnal: 0, pornTypeHumiliation: 0, pornTypeBoobs: 0, pornTypeDom: 0, pornTypeSadist: 0, pornTypeMasochist: 0, pornTypePregnancy: 0, prestigeDesc: 0, recruiter: 0, relation: 0, relationTarget: 0, relationship: 0, relationshipTarget: 0, rivalry: 0, rivalryTarget: 0, subTarget: 0, father: 0, mother: 0, daughters: 0, sisters: 0, canRecruit: 0, choosesOwnAssignment: 0, assignment: "rest", assignmentVisible: 1, sentence: 0, training: 0, toyHole: "all her holes", indenture: -1, indentureRestrictions: 0, birthWeek: random(0,51), actualAge: 18, visualAge: 18, physicalAge: 18, ovaryAge: 18, ageImplant: 0, health: 0, minorInjury: 0, trust: 0, oldTrust: 0, devotion: 0, oldDevotion: 0, weight: 0, muscles: 0, height: 170, heightImplant: 0, nationality: "slave", race: "white", markings: "none", eyes: 1, eyeColor: "brown", origEye: "brown", eyewear: "none", hears: 0, earwear: "none", earImplant: 0, origHColor: "brown", hColor: "brown", pubicHColor: "brown", skin: "light", hLength: 60, hStyle: "short", pubicHStyle: "neat", waist: 0, corsetPiercing: 0, PLimb: 0, amp: 0, heels:0, voice: 2, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, boobsImplant: 0, boobsImplantType: 0, boobShape: "normal", nipples: "cute", nipplesPiercing: 0, nipplesAccessory: 0, areolae: 0, areolaePiercing: 0, areolaeShape: "circle", boobsTat: 0, lactation: 0, lactationAdaptation: 0, milk: 0, cum: 0, hips: 0, hipsImplant: 0, butt: 0, buttImplant: 0, buttImplantType: 0, buttTat: 0, face: 0, faceImplant: 0, faceShape: "normal", lips: 15, lipsImplant: 0, lipsPiercing: 0, lipsTat: 0, teeth: "normal", tonguePiercing: 0, vagina: 0, vaginaLube: 0, vaginaPiercing: 0, vaginaTat: 0, preg: -1, pregSource: 0, pregType: 0, pregAdaptation: 50, broodmother: 0, broodmotherFetuses: 0, broodmotherOnHold: 0, broodmotherCountDown: 0, labor: 0, births: 0, cSec: 0, bellyAccessory: "none", labia: 0, clit: 0, clitPiercing: 0, clitSetting: "vanilla", foreskin: 0, anus: 0, dick: 0, analArea: 1, dickPiercing: 0, dickTat: 0, prostate: 0, balls: 0, scrotum: 0, ovaries: 0, anusPiercing: 0, anusTat: 0, makeup: 0, nails: 0, brand: 0, brandLocation: 0, earPiercing: 0, nosePiercing: 0, eyebrowPiercing: 0, navelPiercing: 0, shouldersTat: 0, armsTat: 0, legsTat: 0, backTat: 0, stampTat: 0, vaginalSkill: 0, oralSkill: 0, analSkill: 0, whoreSkill: 0, entertainSkill: 0, combatSkill: 0, livingRules: "spare", speechRules: "restrictive", releaseRules: "restrictive", relationshipRules: "restrictive", standardPunishment: "situational", standardReward: "situational", useRulesAssistant: 1, diet: "healthy", dietCum: 0, dietMilk: 0, tired: 0, hormones: 0, drugs: "no drugs", curatives: 0, chem: 0, aphrodisiacs: 0, addict: 0, fuckdoll: 0, choosesOwnClothes: 0, clothes: "no clothing", collar: "none", shoes: "none", vaginalAccessory: "none", dickAccessory: "none", legAccessory: "none", buttplug: "none", buttplugAttachment: "none", intelligence: 0, intelligenceImplant: 0, energy: 50, need: 0, attrXX: 0, attrXY: 0, attrKnown: 0, fetish: "none", fetishStrength: 70, fetishKnown: 0, behavioralFlaw: "none", behavioralQuirk: "none", sexualFlaw: "none", sexualQuirk: "none", oralCount: 0, vaginalCount: 0, analCount: 0, mammaryCount: 0, penetrativeCount: 0, publicCount: 0, pitKills: 0, customTat: "", customLabel: "", customDesc: "", customTitle: "", customTitleLisp: "", rudeTitle: 0, customImage: 0, currentRules: [], bellyTat: 0, induce: 0, mpreg: 0, inflation: 0, inflationType: "none", inflationMethod: 0, milkSource: 0, cumSource: 0, burst: 0, pregKnown: 0, pregWeek: 0, belly: 0, bellyPreg: 0, bellyFluid: 0, bellyImplant: -1, bellySag: 0, bellySagPreg: 0, bellyPain: 0, cervixImplant: 0, birthsTotal: 0, pubertyAgeXX: 13, pubertyAgeXY: 13, scars: 0, breedingMark: 0, underArmHStyle: "waxed", bodySwap: 0, HGExclude: 0, ballType: "human", eggType: "human", reservedChildren: 0, reservedChildrenNursery: 0, choosesOwnChastity: 0, pregControl: "none", readyLimbs: [], ageAdjust: 0, bald: 0, origBodyOwner: "", origBodyOwnerID: 0, death: "", hormoneBalance: 0, onDiet: 0, breastMesh: 0, slavesFathered: 0, PCChildrenFathered: 0, slavesKnockedUp: 0, PCKnockedUp: 0, origSkin: "white", vasectomy: 0, haircuts: 0, newGamePlus: 0, skillHG: 0, skillRC: 0, skillBG: 0, skillMD: 0, skillDJ: 0, skillNU: 0, skillTE: 0, skillAT: 0, skillMT: 0, skillST: 0, skillMM: 0, skillWA: 0, skillS: 0, skillE: 0, skillW: 0, tankBaby: 0, inducedNCS: 0, NCSyouthening: 0}>> Making your slave; add their name to the following, then go down the documentation adding in your changes. -each variable must be separated from the last by a comma followed by a space diff --git a/src/facilities/nursery/nursery.tw b/src/facilities/nursery/nursery.tw index 95b6930d742..5e22e9ebdc5 100644 --- a/src/facilities/nursery/nursery.tw +++ b/src/facilities/nursery/nursery.tw @@ -154,6 +154,10 @@ $nurseryNameCaps [[Remove a room|Nursery][$cash -= Math.trunc(100*$upgradeMultiplierArcology), $nursery -= 5]] //Costs <<print cashFormat(Math.trunc(100*$upgradeMultiplierArcology))>> and will reduce upkeep costs// <</if>> +<<if $nurseryBabies > 0>> /* not really sure what the best way to add in a window for the children would be */ +<br><br>''Children in $nurseryName'' +<</if>> + <br><br> Reserve an eligible mother-to-be's child to be placed in a room upon birth. Of $nursery rooms, <<print $freeCribs>> <<if $freeCribs == 1>>is<<else>>are<</if>> unoccupied. Of those, $reservedChildrenNursery room<<if $reservedChildrenNursery == 1>> is<<else>>s are<</if>> reserved. @@ -352,7 +356,7 @@ Reserve an eligible mother-to-be's child to be placed in a room upon birth. Of $ <<goto "Nursery">> <</link>> <</if>> -/* +/* WILL NEED TO BE REWORKED <br><br> Target age for release: <<textbox "$targetAge" $targetAge "Nursery">> [[Minimum Legal Age|Nursery][$targetAge = $minimumSlaveAge]] | [[Average Age of Fertility|Nursery][$targetAge = $fertilityAge]] | [[Average Age of Potency|Nursery][$targetAge = $potencyAge]] | [[Legal Adulthood|Nursery][$targetAge = 18]] //Setting will not be applied to rooms in use.// diff --git a/src/facilities/nursery/nurseryReport.tw b/src/facilities/nursery/nurseryReport.tw new file mode 100644 index 00000000000..359a03d9e65 --- /dev/null +++ b/src/facilities/nursery/nurseryReport.tw @@ -0,0 +1,347 @@ +:: Nursery Report [nobr] + +<<SlaveSort $NurseryiIDs>> +<<set _DL = $NurseryiIDs.length, $nurserySlaves = _DL, _SL = $slaves.length, _bonusToggle = 0, _healthBonus = 0, _idleBonus = 0, _restedSlaves = 0, _trustBonus = 0>> + +<<if $nurseryDecoration != "standard">> + <<set _devBonus = 1>> +<<else>> + <<set _devBonus = 0>> +<</if>> + +<<if $Matron != 0>> + <<set _FLs = $slaveIndices[$Matron.ID]>> + + <<if ($slaves[_FLs].health < 100)>> + <<set $slaves[_FLs].health += 20>> + <</if>> + <<if ($slaves[_FLs].devotion <= 60)>> + <<set $slaves[_FLs].devotion++>> + <</if>> + <<if $slaves[_FLs].trust < 60>> + <<set $slaves[_FLs].trust++>> + <</if>> + <<if $slaves[_FLs].livingRules != "luxurious">> + <<set $slaves[_FLs].livingRules = "luxurious">> + <</if>> + <<set _FLsFetish = 0>> + <<if $slaves[_FLs].fetishStrength <= 95>> + <<if $slaves[_FLs].fetish != "submissive">> + <<if fetishChangeChance($slaves[_FLs]) > random(0,100)>> + <<set _FLsFetish = 1, $slaves[_FLs].fetishKnown = 1, $slaves[_FLs].fetish = "submissive">> + <</if>> + <<elseif $slaves[_FLs].fetishKnown == 0>> + <<set _FLsFetish = 1, $slaves[_FLs].fetishKnown = 1>> + <<else>> + <<set _FLsFetish = 2, $slaves[_FLs].fetishStrength += 4>> + <</if>> + <</if>> + <<if ($Matron.fetish == "none") || ($Matron.fetish == "submissive")>> + <<set _devBonus++>> + <</if>> + <<set $slaves[_FLs].devotion += _devBonus, $Matron = $slaves[_FLs]>> + <<= SlaveFullName($Matron)>> is serving as the nursery matron.<<if $Matron.relationship == -3 && $Matron.devotion > 50>> She tries her best to be your perfect attentive, caring and loving wife.<</if>> + <<if (_FLsFetish == 1)>> + When she is paid a visit by a slave with sexual issues to work out, she provides her with an understanding, willing, giving partner. She finds real satisfaction in helping your slaves find sexual gratification, and @@.lightsalmon;becomes a submissive.@@ + <<elseif (_FLsFetish == 2)>> + Every new slave in the nursery is a new girl she gets to connect with and serve. Sexually. @@.lightsalmon;She becomes more submissive.@@ + <</if>> + <<if setup.attendantCareers.includes($Matron.career)>> + She has experience with counseling from her life before she was a slave, making her better at building a rapport with troubled slaves, and giving her a better chance of softening flaws into beneficial quirks. + <<set _bonusToggle = 1, _idleBonus++>> + <<elseif $Matron.skillMT >= $masteredXP>> + She has experience with counseling from working for you, making her better at building a rapport with troubled slaves, and giving her a better chance of softening flaws into beneficial quirks. + <<set _bonusToggle = 1, _idleBonus++>> + <<else>> + <<set $slaves[_FLs].skillMT += random(1,($Matron.intelligence+4)*2)>> + <</if>> + <<if ($Matron.eyes == -2)>> + Her blindness allows her to deeply connect with her girls. + <<set _idleBonus++>> + <</if>> + <<if ($Matron.fetish == "none")>> + $Matron.slaveName respects the slaves lounging in the nursery, allowing them to relax completely. + <<set _idleBonus++>> + <<elseif ($Matron.fetish == "submissive")>> + $Matron.slaveName lets the slaves resting in the nursery take the lead sexually, doing her best to please them. + <<set _idleBonus++>> + <<elseif ($Matron.fetishKnown == 1)>> + $Matron.slaveName can't keep her hands to herself, preventing the slaves in the nursery from relaxing completely. + <</if>> + <<if ($Matron.visualAge > 35)>> + Her apparent maturity encourages the slaves in the nursery to relax and pour out their troubles to her. + <<set _healthBonus++, _idleBonus++>> + <</if>> + <<if ($Matron.intelligence > 0)>> + She's so intelligent she can suss out the cause of slaves' emotional issues and counsel them effectively. + <<set _idleBonus++>> + <</if>> + <<if isFertile($Matron) || ($Matron.bellyPreg >= 1500) || ($Matron.birthsTotal > 0) || ($Matron.bellyImplant >= 1500)>> + She has a natural mothering instinct and really makes her girls feel at home. + <<set _idleBonus++, _healthBonus++>> + <</if>> + <<set _attendantUsedCure = 0>> + <<for _dI = 0; _dI < _DL; _dI++>> + <<set $i = $slaveIndices[$NurseryiIDs[_dI]]>> + <<if ($slaves[$i].fetish == "mindbroken") && ($slaves[$i].health > 20) && (_attendantUsedCure == 0) && ($nurseryFix != 2)>> + <<set _attendantUsedCure = 1>> + <<if (random(1,100) > 90-$Matron.devotion)>> + <br> @@.green;Something almost miraculous has happened.@@ $Matron.slaveName has always refused to believe that $slaves[$i].slaveName could not be reached, and has lavished patient tenderness on her in $nurseryName. $slaves[$i].slaveName has begun to respond, and is stirring from her mental torpor. + <<set $slaves[$i].devotion = -3, $slaves[$i].sexualFlaw = "apathetic", $slaves[$i].behavioralFlaw = either("hates men", "odd"), $slaves[$i].fetish = "none", $slaves[$i].fetishKnown = 1>> + <<set _spr = $genePool.findIndex(function(s) { return s.ID == $slaves[$i].ID; })>> + <<if $genePool[_spr].intelligence > -3>> + <<set $slaves[$i].intelligence = $genePool[_spr].intelligence-1>> + <</if>> + <<if ($arcologies[0].FSPaternalist > 0)>> + Society @@.green;strongly approves@@ of $slaves[$i].slaveName being restored to sanity, which advances ideals about enlightened slave ownership. + <<set $repGain += 2*$FSSingleSlaveRep*($arcologies[0].FSPaternalist/$FSLockinLevel), $arcologies[0].FSPaternalist += 0.01*$FSSingleSlaveRep>> + <</if>> + <</if>> + <</if>> + <<set _seed = _bonusToggle * 10>> + <<if _bonusToggle == 1 && $slaves[$i].trust < 60>> + <<set $slaves[$i].trust++>> + <</if>> + <<if $Matron.rivalryTarget == $slaves[$i].ID>> + She constantly harasses her <<if $Matron.rivalry == 1>>growing rival<<elseif $Matron.rivalry == 2>>rival<<elseif $Matron.rivalry == 3>>bitter rival<</if>>, $slaves[$i].slaveName, preventing her from getting comfortable and forcing her to keep her guard up. + <<set $slaves[$i].devotion -= 4, $slaves[$i].trust -= 4>> + <<if random(1,100) > 35>> + <<set $Matron.rivalry++, $slaves[_FLs].rivalry++, $slaves[$i].rivalry++>> + <</if>> + <<elseif $Matron.relationshipTarget == $slaves[$i].ID>> + She dedicates most of her attention to her <<if $Matron.relationship == 1>>friend<<elseif $Matron.relationship == 2>>best friend<<elseif $Matron.relationship == 3>>friend with benefits<<elseif $Matron.relationship == 4>>lover<<elseif $Matron.relationship == 5>>slave wife<</if>>, $slaves[$i].slaveName, making her stress, both physical and mental, wash away. + <<set $slaves[$i].devotion += 3, $slaves[$i].trust += 3>> + <<elseif $familyTesting == 1 && totalRelatives($slaves[$i]) > 0>> + <<if $slaves[$i].mother == $Matron.ID || $slaves[$i].father == $Matron.ID>> + She makes sure to spend extra time caring for her daughter, $slaves[$i].slaveName. + <<set $slaves[$i].trust++, $slaves[$i].health++>> + <<elseif $slaves[$i].ID == $Matron.mother>> + She makes sure to spend extra time caring for her mother, $slaves[$i].slaveName. + <<set $slaves[$i].trust++, $slaves[$i].health++>> + <<elseif $slaves[$i].ID == $Matron.father>> + She makes sure to spend extra time caring for her father, $slaves[$i].slaveName. + <<set $slaves[$i].trust++, $slaves[$i].health++>> + <<else>> + <<switch areSisters($slaves[$i], $Matron)>> + <<case 1>> + She makes sure to spend extra time caring for her twin sister, $slaves[$i].slaveName. + <<set $slaves[$i].trust++, $slaves[$i].health++>> + <<case 2>> + She makes sure to spend extra time caring for her sister, $slaves[$i].slaveName. + <<set $slaves[$i].trust++, $slaves[$i].health++>> + <<case 3>> + She makes sure to spend extra time caring for her half-sister, $slaves[$i].slaveName. + <<set $slaves[$i].trust++, $slaves[$i].health++>> + <</switch>> + <</if>> + <<elseif $Matron.relationTarget == $slaves[$i].ID && $familyTesting == 0>> + She makes sure to spend extra time caring for her $slaves[$i].relation, $slaves[$i].slaveName. + <<set $slaves[$i].trust++>> + <</if>> + <<switch $slaves[$i].prestigeDesc>> + <<case "She is a famed Free Cities whore, and commands top prices.">> + She does her best to relax the famous whore, $slaves[$i].slaveName, making sure to pay special attention to her worn holes. + <<set $slaves[$i].devotion += 3, $slaves[$i].trust += 3>> + <<case "She is a famed Free Cities slut, and can please anyone.">> + She does her best to soothe the famous entertainer, $slaves[$i].slaveName, letting her relax in blissful peace. + <<set $slaves[$i].devotion += 3, $slaves[$i].trust += 3>> + <<case "She is remembered for winning best in show as a cockmilker.">> + <<if ($slaves[$i].balls > 6) && ($slaves[$i].dick != 0)>> + <<if $Matron.fetish == "cumslut">> + She can't keep her hands off $slaves[$i].slaveName's cock and balls, but she doesn't mind being milked constantly. Before long, strands of cum can be found floating all throughout the bath. + <<set $Matron.fetishStrength += 4, $slaves[_FLs].fetishStrength += 4>> + <<else>> + She does her best to accommodate $slaves[$i].slaveName's massive genitals and tends to her whenever she feels a need for release. + <<if random(1,100) > 65 && $Matron.fetish == "none">> + After taking several massive loads to the face, $Matron.slaveName begins to find satisfaction in being coated in cum. + <<set $Matron.fetish = "cumslut", $slaves[_FLs].fetish = "cumslut">> + <</if>> + <</if>> + <</if>> + <<set $slaves[$i].devotion += 3, $slaves[$i].trust += 3>> + <<case "She is remembered for winning best in show as a dairy cow.">> + <<if ($slaves[$i].lactation > 0) && (($slaves[$i].boobs-$slaves[$i].boobsImplant) > 6000)>> + <<if $Matron.fetish == "boobs">> + She can't keep her hands off $slaves[$i].slaveName's huge breasts, but she doesn't mind being milked constantly. Before long the bath gains a white tint. + <<set $Matron.fetishStrength += 4, $slaves[_FLs].fetishStrength += 4>> + <<else>> + She does her best to accommodate $slaves[$i].slaveName's massive breasts and tends to her whenever she feels a need for release. + <<if random(1,100) > 65 && $Matron.fetish == "none">> + After multiple milking sessions, $Matron.slaveName begins to find herself fantasizing about having giant milky breasts too. + <<set $Matron.fetish = "boobs", $slaves[_FLs].fetish = "boobs">> + <</if>> + <</if>> + <<set $slaves[$i].devotion += 3, $slaves[$i].trust += 3>> + <</if>> + <<case "She is remembered for winning best in show as a breeder.">> + <<if $slaves[$i].bellyPreg >= 5000>> + <<if $Matron.fetish == "pregnancy">> + She can't keep her hands off $slaves[$i].slaveName's pregnancy, but she doesn't mind her full belly being fondled. + <<set $Matron.fetishStrength += 4, $slaves[_FLs].fetishStrength += 4>> + <<else>> + She does her best to accommodate $slaves[$i].slaveName's pregnancy and to make sure the mother-to-be is happy and comfortable. + <<if random(1,100) > 65 && $Matron.fetish == "none">> + After massaging $slaves[$i].slaveName's growing belly multiple times, $Matron.slaveName begins to find herself fantasizing about being swollen with life too. + <<set $Matron.fetish = "pregnancy", $slaves[_FLs].fetish = "pregnancy">> + <</if>> + <</if>> + <<set $slaves[$i].devotion += 3, $slaves[$i].trust += 3>> + <<else>> + <<if $Matron.fetish == "pregnancy">> + She can't help but pester $slaves[$i].slaveName with questions about her famous pregnancy, limiting her ability to truly relax. + <<set $slaves[$i].devotion += 1, $slaves[$i].trust += 1>> + <<elseif canGetPregnant($slaves[$i])>> + She does her best to encourage $slaves[$i].slaveName's fertilization by performing any fertility boosting actions she can. + <<set $slaves[$i].devotion += 3, $slaves[$i].trust += 3>> + <</if>> + <</if>> + <</switch>> + <<if ($Matron.intelligence > 0) && (_attendantUsedCure == 0) && random(1,100) > (100-($Matron.intelligence*10)-_seed) && ($nurseryFix == 0)>> + <<if $slaves[$i].behavioralFlaw != "none">> + <<run SoftenBehavioralFlaw($slaves[$i])>> + <<set _attendantUsedCure += 1>> + <br> $Matron.slaveName works carefully with $slaves[$i].slaveName, and successfully @@.green;softens her behavioral flaw@@ into an appealing quirk. + <<elseif $slaves[$i].sexualFlaw != "none">> + <<run SoftenSexualFlaw($slaves[$i])>> + <<set _attendantUsedCure += 1>> + <br> $Matron.slaveName works carefully with $slaves[$i].slaveName, and successfully @@.green;softens her sexual flaw@@ into an appealing quirk. + <</if>> + <</if>> + <</for>> + <<if (_DL < $nursery)>> + <<set _seed = random(1,10)+(($nursery-_DL)*(random(150,170)+(_idleBonus*10)))>> + <<set $cash += _seed>> + <br> Since she doesn't have enough girls to occupy all her time, the nursery takes in citizens' slaves on a contract basis and she helps them too, earning @@.yellowgreen;<<print cashFormat(_seed)>>.@@ + <<if ($arcologies[0].FSHedonisticDecadence > 0) && (_DL == 0)>> + Society @@.green;loves@@ being allowed to lounge in your nursery, greatly advancing your laid back culture. + <<FSChange "Hedonism" 2>> + <</if>> + <</if>> + <<if (_DL > 0)>><br><br><</if>> +<</if>> + +<<if (_DL > 0)>> + ''<<if (_DL > 1)>>There are _DL slaves<<else>>There is one slave<</if>> resting and recuperating in the nursery.'' + <<if ($arcologies[0].FSHedonisticDecadence > 0) && (_DL == 0)>> + Society @@.green;approves@@ of your slaves being pampered this way, greatly advancing your laid back culture. + <<FSChange "Hedonism" 1>> + <</if>> +<</if>> + +<<if $Matron != 0>> + <<set $i = _FLs>> /* apply following SA passages to facility leader */ + <<if $showEWD != 0>> + <br><br> + /* 000-250-006 */ + <<if $seeImages && $seeReportImages>> + <div class="imageRef smlImg"> + <<SlaveArt $slaves[_FLs] 0 0>> + </div> + <</if>> + /* 000-250-006 */ + ''__@@.pink;<<= SlaveFullName($slaves[$i])>>@@__'' is serving as the Matron in $nurseryName. + <br> + <<= saChoosesOwnClothes($slaves[$i])>> + <<include "SA rules">> + <<include "SA diet">> + <<include "SA long term effects">> + <<include "SA drugs">> + <<include "SA relationships">> + <<include "SA rivalries">> + <br><<include "SA devotion">> + <<else>> + <<silently>> + <<set _chosenClothes = saChoosesOwnClothes($slaves[$i])>> + <<include "SA rules">> + <<include "SA diet">> + <<include "SA long term effects">> + <<include "SA drugs">> + <<include "SA relationships">> + <<include "SA rivalries">> + <<include "SA devotion">> + <</silently>> + <</if>> + <<set $Matron = $slaves[_FLs]>> +<</if>> + +<<for _dI = 0; _dI < _DL; _dI++>> + <<set $i = $slaveIndices[$NurseryiIDs[_dI]]>> + <<set $slaves[$i].devotion += _devBonus, $slaves[$i].trust += _trustBonus, $slaves[$i].health += _healthBonus>> + <<if ($slaves[$i].devotion < 60) && ($slaves[$i].trust < 60)>> + <<set $slaves[$i].devotion++, $slaves[$i].trust++>> + <<elseif ($slaves[$i].trust < 40)>> + <<set $slaves[$i].trust += 10>> + <<elseif ($slaves[$i].devotion < 40)>> + <<set $slaves[$i].devotion += 10>> + <</if>> + <<if ($nurseryUpgrade == 1) && ($slaves[$i].health < 20)>> + <<set $slaves[$i].health += 3>> + <</if>> + <<switch $nurseryDecoration>> + <<case "Chattel Religionist" "Chinese Revivalist">> + <<set $slaves[$i].livingRules = "normal">> + <<case "Degradationist">> + <<set $slaves[$i].livingRules = "spare">> + <<default>> + <<set $slaves[$i].livingRules = "luxurious">> + <</switch>> + <<if ($slaves[$i].health >= 20) && ($slaves[$i].trust > 60) && ($slaves[$i].devotion > 60) && ($slaves[$i].fetish != "mindbroken") && ($slaves[$i].sexualFlaw == "none") && ($slaves[$i].behavioralFlaw == "none")>> + <br><br>''__@@.pink;$slaves[$i].slaveName@@__'' is feeling well enough to leave $nurseryName, so @@.yellow;her assignment has defaulted to rest@@. + <<= removeJob($slaves[$i], "rest in the nursery")>> + <<set _restedSlaves++, _DL--, _dI-->> + <<continue>> + <</if>> + <<if $showEWD != 0>> + <br><br> + /* 000-250-006 */ + <<if $seeImages && $seeReportImages>> + <div class="imageRef smlImg"> + <<SlaveArt $slaves[$i] 0 0>> + </div> + <</if>> + /* 000-250-006 */ + ''__@@.pink;<<= SlaveFullName($slaves[$i])>>@@__'' + <<if $slaves[$i].choosesOwnAssignment == 2>> + <<include "SA chooses own job">> + <<else>> + is resting in $nurseryName. + <</if>> + <br> She <<= saRest($slaves[$i])>> + <br> + <<= saChoosesOwnClothes($slaves[$i])>> + <<include "SA rules">> + <<include "SA diet">> + <<include "SA long term effects">> + <<include "SA drugs">> + <<include "SA relationships">> + <<include "SA rivalries">> + <br><<include "SA devotion">> + <<else>> + <<silently>> + <<include "SA chooses own job">> + <<set _chosenClothes = saChoosesOwnClothes($slaves[$i])>> + <<set _dump = saRest($slaves[$i])>> + <<include "SA rules">> + <<include "SA diet">> + <<include "SA long term effects">> + <<include "SA drugs">> + <<include "SA relationships">> + <<include "SA rivalries">> + <<include "SA devotion">> + <</silently>> + <</if>> +<</for>> +<<if (_restedSlaves > 0)>> + <br><br> + <<if (_restedSlaves == 1)>> + One slave has rested until she reached a state of @@.hotpink;devotion@@ and @@.mediumaquamarine;trust@@ and will leave the nursery before the end of the week. + <<else>> + _restedSlaves slaves have rested until they reached a state of @@.hotpink;devotion@@ and @@.mediumaquamarine;trust@@ and will leave the nursery before the end of the week. + <</if>> + <<if $nurseryDecoration != "standard">> + <br><br> $nurseryNameCaps's $nurseryDecoration atmosphere @@.hotpink;had an impact on <<if _restedSlaves == 1>>her while she was<<else>>them while they were<</if>>@@ resting. + <</if>> +<</if>> +<<if _DL > 0 || $Matron != 0>> + <br><br> +<</if>> \ No newline at end of file diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw index 4e847baea44..22923058d13 100644 --- a/src/init/storyInit.tw +++ b/src/init/storyInit.tw @@ -562,6 +562,7 @@ DairyRestraintsSetting($dairyRestraintsSetting) <<set $nurseryNameCaps = "The Nursery">> <<set $reservedChildrenNursery = 0>> <<set $cribs = []>> +<<set $babies = []>> <<set $incubator = 0>> <<set $incubatorSlaves = 0>> diff --git a/src/pregmod/widgets/seBirthWidgets.tw b/src/pregmod/widgets/seBirthWidgets.tw index c842235f706..a2342655dfd 100644 --- a/src/pregmod/widgets/seBirthWidgets.tw +++ b/src/pregmod/widgets/seBirthWidgets.tw @@ -837,7 +837,7 @@ All in all, /*I don't actually know what most of these variables do and I'm too lazy to look so if something break I'm sorry and tell me and I'll fix it - DCoded*/ <<set _curBabies = $slaves[$i].curBabies.length, _cToNursery = 0, _origReserve = $slaves[$i].reservedChildrenNursery>> -<<if _origReserve > 0 && _curBabies > 0>> /*Do we need incubator checks?*/ +<<if _origReserve > 0 && _curBabies > 0>> <<if _curBabies >= _origReserve>> /*adding normal*/ <<set $reservedChildrenNursery -= _origReserve>> @@ -875,7 +875,7 @@ All in all, <<set $activeSlave = 0>> <<set $activeSlave = _twin>> <</if>> - <<include "Incubator Workaround">> + <<include "Nursery Workaround">> <<if $slaves[$i].curBabies[_k].identical === 1>> <<set _identicalChildGen = 1>> <<else>> diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw index dc123c19322..ae1eda9fb47 100644 --- a/src/uncategorized/BackwardsCompatibility.tw +++ b/src/uncategorized/BackwardsCompatibility.tw @@ -690,6 +690,9 @@ <<if ndef $cribs>> <<set $cribs = []>> <</if>> +<<if ndef $babyData>> + <<set $babyData = []>> +<</if>> <<if ndef $farmyard>> <<set $farmyard = 0>> diff --git a/src/uncategorized/longSlaveDescription.tw b/src/uncategorized/longSlaveDescription.tw index cc014aba83e..fb67fe39937 100644 --- a/src/uncategorized/longSlaveDescription.tw +++ b/src/uncategorized/longSlaveDescription.tw @@ -1338,6 +1338,9 @@ is <<if ($activeSlave.skillAT >= $masteredXP)>> <<set _careers.push("Attendant")>> <</if>> +<<if ($activeSlave.skilLMT >= $masteredXP)>> + <<set _careers.push("Matron")>> +<</if>> <<if ($activeSlave.skillST >= $masteredXP)>> <<set _careers.push("Stewardess")>> <</if>> @@ -1398,6 +1401,9 @@ is <<if ($activeSlave.skillAT >= $masteredXP)>> <<set _numCareers += 1>> <</if>> +<<if ($activeSlave.skillMT >= $masteredXP)>> + <<set _numCareers += 1>> +<</if>> <<if ($activeSlave.skillST >= $masteredXP)>> <<set _numCareers += 1>> <</if>> @@ -1489,6 +1495,16 @@ is <</if>> <<set _numCareers -= 1>> <</if>> + <<if $activeSlave.skillMT >= $masteredXP>> + <<if _numCareers == 1>> + Matron. + <<elseif _numCareers == 2>> + Matron and + <<else>> + Matron, + <</if>> + <<set _numCareers -= 1>> + <</if>> <<if $activeSlave.skillST >= $masteredXP>> <<if _numCareers == 1>> Stewardess. diff --git a/src/uncategorized/slaveSummary.tw b/src/uncategorized/slaveSummary.tw index b30417c2bdb..8233e546253 100644 --- a/src/uncategorized/slaveSummary.tw +++ b/src/uncategorized/slaveSummary.tw @@ -819,7 +819,7 @@ will <<break>> <</if>> <<case "Matron Select">> - <<if setup.attendantCareers.includes(_Slave.career) || (_Slave.skillAT >= $masteredXP)>> + <<if setup.attendantCareers.includes(_Slave.career) || (_Slave.skillMT >= $masteredXP)>> <br><<if $seeImages != 1 || $seeSummaryImages != 1 || $imageChoice == 1>> <</if>>@@.lime;Has applicable career experience.@@ <</if>> <<case "Brothel">> @@ -951,7 +951,7 @@ will <<break>> <</if>> <<case "Matron Select">> - <<if setup.matronCareers.includes(_Slave.career) || (_Slave.skillAT >= $masteredXP)>> + <<if setup.matronCareers.includes(_Slave.career) || (_Slave.skillMT >= $masteredXP)>> <br><<if $seeImages != 1 || $seeSummaryImages != 1 || $imageChoice == 1>> <</if>>@@.lime;Has applicable career experience.@@ <</if>> <<case "New Game Plus">> diff --git a/src/utility/birthWidgets.tw b/src/utility/birthWidgets.tw index 1f4c24a6a07..1c9c06957fe 100644 --- a/src/utility/birthWidgets.tw +++ b/src/utility/birthWidgets.tw @@ -958,7 +958,32 @@ Several of the other slaves present help $him with $his newborn<<if $slaves[$i].pregType > 1>>s<</if>> while the rest finish pleasuring themselves from the show. <<if $Attendant != 0>>$Attendant.slaveName, lured in by the commotion, shoos the other slaves out and helps the new mother to a private relaxation room to unwind<<else>>Soon a servant arrives to take $his child<<if $slaves[$i].pregType > 1>>ren<</if>> away, and $he is ushered into the bath to clean up and relax<</if>>. <</if>> <</if>> - +/* THIS WILL NEED TO BE REWRITTEN +<<case "work as a nanny">> + <<if !canWalk($slaves[$i])>> + <<if $slaves[$i].fetish == "mindbroken">> + While soaking in the spa's pool, $slaves[$i].slaveName's water breaks. As $he begins to ready $himself for birth, <<if $Attendant != 0>>$Attendant.slaveName pulls $him out of the pool and glares at $him<<else>>the other bathers watch curiously<</if>>. + <<ClothingBirth>> + $He and $his child<<if $slaves[$i].pregType > 1>>ren<</if>> are quickly dried off as $he begins nursing them. A servant soon arrives to take $his children away. + <<else>> + While changing in the changing room before a nice soak,$slaves[$i].slaveName's water breaks. $He hurries to find someone to help $him but only finds curious onlookers. Without any choice left, $he assumes a birthing position. + <<set $humiliation = 1>> + <<ClothingBirth>> + Several of the other slaves present help $him with $his newborn<<if $slaves[$i].pregType > 1>>s<</if>> while the rest finish pleasuring themselves from the show. <<if $Attendant != 0>>$Attendant.slaveName, lured in by the commotion, shoos the other slaves out and helps the new mother to a private relaxation room to unwind<<else>>Soon a servant arrives to take $his child<<if $slaves[$i].pregType > 1>>ren<</if>> away, and $he is helped into the bath to clean up and relax<</if>>. + <</if>> + <<else>> + <<if $slaves[$i].fetish == "mindbroken">> + While soaking in the spa's pool, $slaves[$i].slaveName's water breaks. As $he begins to ready $himself for birth, <<if $Attendant != 0>>$Attendant.slaveName pulls $him out of the pool and glares at $him<<else>>the other bathers watch curiously<</if>>. + <<ClothingBirth>> + $He and $his child<<if $slaves[$i].pregType > 1>>ren<</if>> are quickly dried off as $he begins nursing them. A servant soon arrives to take $his children away. + <<else>> + While heading for the changing room before a nice soak,$slaves[$i].slaveName's water breaks. $He hurries into the changing room only to find it unusually crowded. Without any choice left, $he assumes a birthing position. + <<set $humiliation = 1>> + <<ClothingBirth>> + Several of the other slaves present help $him with $his newborn<<if $slaves[$i].pregType > 1>>s<</if>> while the rest finish pleasuring themselves from the show. <<if $Attendant != 0>>$Attendant.slaveName, lured in by the commotion, shoos the other slaves out and helps the new mother to a private relaxation room to unwind<<else>>Soon a servant arrives to take $his child<<if $slaves[$i].pregType > 1>>ren<</if>> away, and $he is ushered into the bath to clean up and relax<</if>>. + <</if>> + <</if>> +*/ <<case "learn in the schoolroom">> <<if ($Schoolteacher != 0)>> <<setLocalPronouns $Schoolteacher 2>> @@ -1035,6 +1060,12 @@ <<ClothingBirth>> $He thanks $his charges for their less than helpful efforts and collects $his child<<if $slaves[$i].pregType > 1>>ren<</if>> for removal. Upon returning, $he strips down and enters the pool, desperate for a break. +<<case "be the Matron">> /* REWRITE THIS */ + While tending to the girls in $nurseryName, $slaves[$i].slaveName's water breaks. The girls quickly come to $his aid as the contractions get closer and closer together. Their hands are all over $his laboring body, unsure of what they should be doing. + <<set $humiliation = 1>> + <<ClothingBirth>> + $He thanks $his charges for their less than helpful efforts and collects $his child<<if $slaves[$i].pregType > 1>>ren<</if>> for removal. Upon returning, $he strips down and takes a hot shower, desperate for a break. + <<case "be the Madam">> While managing $brothelName, $slaves[$i].slaveName's water breaks. Knowing $he lacks the time to leave, $he sets up a sign reading "birthshow: <<print cashFormat(100)>> a viewer" and takes a seat. <<set $humiliation = 1>> -- GitLab