diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt index 9e8ea911f123ba6b02b4f53b0e23492ea694ec4c..ad4184b91bb30fbb7a3e249f68498db4eb7a95ab 100644 --- a/devNotes/VersionChangeLog-Premod+LoliMod.txt +++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt @@ -2,8 +2,21 @@ 0.10.7.1-1.3.x +12/12/2018 + + 2 + -tweaked natural lactation logic (now decreases at endWeek start and engorges at endWeek end) + -added a rule for facility heads to direct them on how to handle their lactation + -fixes + +12/11/2018 + + 1 + -fixes + 12/10/2018 + 0 -pregnancy size/progress tracking overhauled -natural lactation overhauled -natural lactation can be induced from excessive breast play and will dry up if unsed diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt index e7b54e03212356c36fe44a0b6ec98a48c05c44eb..f262fa23b97e6464e4b73081aa7e3a1596815fce 100644 --- a/devNotes/twine JS.txt +++ b/devNotes/twine JS.txt @@ -26056,7 +26056,7 @@ window.SlaveSummaryUncached = (function(){ } return SlaveSummaryUncached; -}; +})(); // :: Remove activeSlave JS [script] @@ -33141,6 +33141,7 @@ window.BaseSlave = function BaseSlave() { speechRules: "restrictive", releaseRules: "restrictive", relationshipRules: "restrictive", + lactationRules: "none", standardPunishment: "situational", standardReward: "situational", useRulesAssistant: 1, @@ -37097,15 +37098,15 @@ window.ArcologyDatatypeCleanup = function ArcologyDatatypeCleanup() { V.economy = Math.max(+V.economy, 20) || 100; V.difficultySwitch = Math.clamp(+V.difficultySwitch, 0, 1) || 0; V.localEcon = Math.max(+V.localEcon, 20) || V.economy; - V.econRate = Math.clamp(V.econRate, 1, 4) || 2; + V.econRate = Math.clamp(+V.econRate, 1, 4) || 2; V.slaveCostFactor = Math.max(+V.slaveCostFactor, 0) || 1; if (V.menialSupplyFactor !== 0) { - V.menialSupplyFactor = Math.clamp(V.menialSupplyFactor, -50000, 50000) || (1 - V.slaveCostFactor) * 400 * 1000 * 0.5; /* (1 - slaveCostFactor) * price elasticity * base price * 0.5 */ + V.menialSupplyFactor = Math.clamp(+V.menialSupplyFactor, -50000, 50000) || (1 - V.slaveCostFactor) * 400 * 1000 * 0.5; /* (1 - slaveCostFactor) * price elasticity * base price * 0.5 */ } if (V.menialDemandFactor !== 0) { - V.menialDemandFactor = Math.clamp(V.menialDemandFactor, -50000, 50000) || -V.menialSupplyFactor; + V.menialDemandFactor = Math.clamp(+V.menialDemandFactor, -50000, 50000) || -V.menialSupplyFactor; } - V.slaveCostRandom = Math.clamp(V.slaveCostRandom, -3, 3) || 0; + V.slaveCostRandom = Math.clamp(+V.slaveCostRandom, -3, 3) || 0; V.demandTimer = Math.max(+V.demandTimer, 0) || 0; V.elapsedDemandTimer = Math.max(+V.elapsedDemandTimer, 0) || 0; V.supplyTimer = Math.max(+V.supplyTimer, 0) || 0; @@ -37113,7 +37114,12 @@ window.ArcologyDatatypeCleanup = function ArcologyDatatypeCleanup() { V.deltaSupply = Math.clamp(+V.deltaSupply, -3000, 3000) || 0; V.deltaDemand = Math.clamp(+V.deltaDemand, -3000, 3000) || 0; V.econWeatherDamage = Math.max(+V.econWeatherDamage, 0) || 0; - V.disasterResponse = Math.clamp(V.disasterResponse, 0, 2) || 0; + V.disasterResponse = Math.clamp(+V.disasterResponse, 0, 2) || 0; + V.GDP = Math.max(+V.GDP, 1) || 278.6; + V.NPCSlaves = Math.max(+V.NPCSlaves, 0) || 0; + V.helots = Math.max(+V.helots, 0) || 0; + V.fuckdolls = Math.max(+V.fuckdolls , 0) || 0; + V.menialBioreactors = Math.max(+V.menialBioreactors , 0) || 0; V.foodCost = Math.trunc(2500/V.economy); V.drugsCost = Math.trunc(10000/V.economy); diff --git a/slave variables documentation - Pregmod.txt b/slave variables documentation - Pregmod.txt index 3dde1804e581e80d2ed074dc908dabda2b572200..d9dfa28274ef4faf28ece6802bbdd4f6fa85b4e6 100644 --- a/slave variables documentation - Pregmod.txt +++ b/slave variables documentation - Pregmod.txt @@ -2253,6 +2253,12 @@ relationshipRules: "just friends" "permissive" +lactationRules: + +"none" +"induce" +"maintain" + standardPunishment: "Confinement" diff --git a/src/init/setupVars.tw b/src/init/setupVars.tw index 885a8694d36fc9a08db0be79eac62857761f8190..a61a58e0d8527eec120556f17b80a744a65f34a9 100644 --- a/src/init/setupVars.tw +++ b/src/init/setupVars.tw @@ -343,7 +343,6 @@ equine: {type: "equine", normalOvaMin:1, normalOvaMax: 1, normalBirth: 48, minLi /* <<set setup.otherCareers = ["a producer", "being homeschooled by her parents", "from a middle class family", "from an upper class family"]>> */ - <<set setup.baseNationalities = ["Afghan", "Albanian", "Algerian", "American", "Andorran", "Angolan", "Antiguan", "Argentinian", "Armenian", "Aruban", "Australian", "Austrian", "Azerbaijani", "Bahamian", "Bahraini", "Bangladeshi", "Barbadian", "Belarusian", "Belgian", "Belizean", "Beninese", "Bermudian", "Bhutanese", "Bissau-Guinean", "Bolivian", "Bosnian", "Brazilian", "British", "Bruneian", "Bulgarian", "Burkinabé", "Burmese", "Burundian", "Cambodian", "Cameroonian", "Canadian", "Cape Verdean", "Catalan", "Central African", "Chadian", "Chilean", "Chinese", "Colombian", "Comorian", "Congolese", "a Cook Islander", "Costa Rican", "Croatian", "Cuban", "Curaçaoan", "Cypriot", "Czech", "Danish", "Djiboutian", "Dominican", "Dominiquais", "Dutch", "East Timorese", "Ecuadorian", "Egyptian", "Emirati", "Equatoguinean", "Eritrean", "Estonian", "Ethiopian", "Fijian", "Filipina", "Finnish", "French", "French Guianan", "French Polynesian", "Gabonese", "Gambian", "Georgian", "German", "Ghanan", "Greek", "Greenlandic", "Grenadian", "Guamanian", "Guatemalan", "Guinean", "Guyanese", "Haitian", "Honduran", "Hungarian", "I-Kiribati", "Icelandic", "Indian", "Indonesian", "Iranian", "Iraqi", "Irish", "Israeli", "Italian", "Ivorian", "Jamaican", "Japanese", "Jordanian", "Kazakh", "Kenyan", "Kittitian", "Korean", "Kosovan", "Kurdish", "Kuwaiti", "Kyrgyz", "Laotian", "Latvian", "Lebanese", "Liberian", "Libyan", "a Liechtensteiner", "Lithuanian", "Luxembourgian", "Macedonian", "Malagasy", "Malawian", "Malaysian", "Maldivian", "Malian", "Maltese", "Marshallese", "Mauritanian", "Mauritian", "Mexican", "Micronesian", "Moldovan", "Monégasque", "Mongolian", "Montenegrin", "Moroccan", "Mosotho", "Motswana", "Mozambican", "Namibian", "Nauruan", "Nepalese", "New Caledonian", "a New Zealander", "Ni-Vanuatu", "Nicaraguan", "Nigerian", "Nigerien", "Niuean", "Norwegian", "Omani", "Pakistani", "Palauan", "Palestinian", "Panamanian", "Papua New Guinean", "Paraguayan", "Peruvian", "Polish", "Portuguese", "Puerto Rican", "Qatari", "Romanian", "Russian", "Rwandan", "Sahrawi", "Saint Lucian", "Salvadoran", "Sammarinese", "Samoan", "São Toméan", "Saudi", "Scottish", "Senegalese", "Serbian", "Seychellois", "Sierra Leonean", "Singaporean", "Slovak", "Slovene", "a Solomon Islander", "Somali", "South African", "South Sudanese", "Spanish", "Sri Lankan", "Sudanese", "Surinamese", "Swazi", "Swedish", "Swiss", "Syrian", "Taiwanese", "Tajik", "Tanzanian", "Thai", "Tibetan", "Togolese", "Tongan", "Trinidadian", "Tunisian", "Turkish", "Turkmen", "Tuvaluan", "Ugandan", "Ukrainian", "Uruguayan", "Uzbek", "Vatican", "Venezuelan", "Vietnamese", "Vincentian", "Yemeni", "Zairian", "Zambian", "Zimbabwean"]>> @@ -2102,6 +2101,8 @@ Then pick _namePool.random(), or display those names as possible choices, or do <<set setup.facilityCareers = ["be confined in the arcade", "be confined in the cellblock", "be the Attendant", "be the DJ", "be the Farmer", "be the Madam", "be the Matron", "be the Milkmaid", "be the Nurse", "be the Schoolteacher", "be the Stewardess", "be the Wardeness", "be your Concubine", "get treatment in the clinic", "learn in the schoolroom", "live with your Head Girl", "rest in the spa", "serve in the club", "serve in the master suite", "work as a farmhand", "work as a nanny", "work as a servant", "work in the brothel", "work in the dairy"]>> +<<set setup.facilityHeads = ["be the Attendant", "be the DJ", "be the Farmer", "be the Madam", "be the Matron", "be the Milkmaid", "be the Nurse", "be the Schoolteacher", "be the Stewardess", "be the Wardeness", "be your Concubine"]>> + <<set setup.lightColorMap = { "rgb(0, 0, 0)":"rgb(255, 255, 255)", "rgb(255, 255, 0)":"rgb(255, 255, 0)", diff --git a/src/js/datatypeCleanupJS.tw b/src/js/datatypeCleanupJS.tw index b3a6cc84ff8675077e09a09040cd427a0ca72547..b3c0705bcc8087deb76c6cacb49c1221253d0f2d 100644 --- a/src/js/datatypeCleanupJS.tw +++ b/src/js/datatypeCleanupJS.tw @@ -1210,15 +1210,15 @@ window.ArcologyDatatypeCleanup = function ArcologyDatatypeCleanup() { V.economy = Math.max(+V.economy, 20) || 100; V.difficultySwitch = Math.clamp(+V.difficultySwitch, 0, 1) || 0; V.localEcon = Math.max(+V.localEcon, 20) || V.economy; - V.econRate = Math.clamp(V.econRate, 1, 4) || 2; + V.econRate = Math.clamp(+V.econRate, 1, 4) || 2; V.slaveCostFactor = Math.max(+V.slaveCostFactor, 0) || 1; if (V.menialSupplyFactor !== 0) { - V.menialSupplyFactor = Math.clamp(V.menialSupplyFactor, -50000, 50000) || (1 - V.slaveCostFactor) * 400 * 1000 * 0.5; /* (1 - slaveCostFactor) * price elasticity * base price * 0.5 */ + V.menialSupplyFactor = Math.clamp(+V.menialSupplyFactor, -50000, 50000) || (1 - V.slaveCostFactor) * 400 * 1000 * 0.5; /* (1 - slaveCostFactor) * price elasticity * base price * 0.5 */ } if (V.menialDemandFactor !== 0) { - V.menialDemandFactor = Math.clamp(V.menialDemandFactor, -50000, 50000) || -V.menialSupplyFactor; + V.menialDemandFactor = Math.clamp(+V.menialDemandFactor, -50000, 50000) || -V.menialSupplyFactor; } - V.slaveCostRandom = Math.clamp(V.slaveCostRandom, -3, 3) || 0; + V.slaveCostRandom = Math.clamp(+V.slaveCostRandom, -3, 3) || 0; V.demandTimer = Math.max(+V.demandTimer, 0) || 0; V.elapsedDemandTimer = Math.max(+V.elapsedDemandTimer, 0) || 0; V.supplyTimer = Math.max(+V.supplyTimer, 0) || 0; @@ -1226,7 +1226,12 @@ window.ArcologyDatatypeCleanup = function ArcologyDatatypeCleanup() { V.deltaSupply = Math.clamp(+V.deltaSupply, -3000, 3000) || 0; V.deltaDemand = Math.clamp(+V.deltaDemand, -3000, 3000) || 0; V.econWeatherDamage = Math.max(+V.econWeatherDamage, 0) || 0; - V.disasterResponse = Math.clamp(V.disasterResponse, 0, 2) || 0; + V.disasterResponse = Math.clamp(+V.disasterResponse, 0, 2) || 0; + V.GDP = Math.max(+V.GDP, 1) || 278.6; + V.NPCSlaves = Math.max(+V.NPCSlaves, 0) || 0; + V.helots = Math.max(+V.helots, 0) || 0; + V.fuckdolls = Math.max(+V.fuckdolls , 0) || 0; + V.menialBioreactors = Math.max(+V.menialBioreactors , 0) || 0; V.foodCost = Math.trunc(2500/V.economy); V.drugsCost = Math.trunc(10000/V.economy); diff --git a/src/js/slaveGenerationJS.tw b/src/js/slaveGenerationJS.tw index b0e48712d15b4e3fa6b6daed26c7138948e86791..e33945d90b64ea8e737b4d1449658bd1c99b5ee3 100644 --- a/src/js/slaveGenerationJS.tw +++ b/src/js/slaveGenerationJS.tw @@ -1616,6 +1616,7 @@ window.BaseSlave = function BaseSlave() { speechRules: "restrictive", releaseRules: "restrictive", relationshipRules: "restrictive", + lactationRules: "none", standardPunishment: "situational", standardReward: "situational", useRulesAssistant: 1, diff --git a/src/pregmod/widgets/pregmodWidgets.tw b/src/pregmod/widgets/pregmodWidgets.tw index 4f2fb223d0bd28dd9504d16549e7e660522e6a4f..458caf67a31b3b6e56c081164a851a0ea9f6645c 100644 --- a/src/pregmod/widgets/pregmodWidgets.tw +++ b/src/pregmod/widgets/pregmodWidgets.tw @@ -120,8 +120,8 @@ <<if ndef $args[0].induceLactation>> <<set $args[0].induceLactation = 0>> <</if>> -<<if ndef $args[0].wombImplant>> - <<set $args[0].wombImplant = "none">> +<<if ndef $args[0].lactationRules>> + <<set $args[0].lactationRules = "none">> <</if>> <</widget>> diff --git a/src/uncategorized/RETS.tw b/src/uncategorized/RETS.tw index dab78300c41d3d9a62fc23c0aad2db1291ebc1d3..65dd14ad803c9cd39076e88c737ac134abf5c547 100644 --- a/src/uncategorized/RETS.tw +++ b/src/uncategorized/RETS.tw @@ -889,7 +889,7 @@ The slaves are about to go to bed; they're naked, and the horny $activeSlave.sla <<elseif $activeSlave.fetishKnown && $activeSlave.fetish == "pregnancy" && $subSlave.bellyPreg >= 5000>> "You're <<s>>o hot with that belly," $he wheedles. "It'<<s>> ju<<s>>t <<s>>o big, and round, and, um, out there." $He swallows, getting distracted. <<elseif $subSlave.face > 95>> - "You're the prettie<<s>>t <<= lispReplace(SlaveTitle($subSlave))>> in the whole arcology," $he wheedles. "I can't look at your perfect <<= lispReplace($subSlave.faceShape)>> fa<<c>>e and not want to make love to you<<if !_vaginal>>r butt<</if>>!" + "You're the prettie<<s>>t <<if SlaveStatsChecker.checkForLisp($activeSlave)>><<= lispReplace(SlaveTitle($subSlave))>><<else>>SlaveTitle($subSlave)<</if>> in the whole arcology," $he wheedles. "I can't look at your perfect <<if SlaveStatsChecker.checkForLisp($activeSlave)>><<= lispReplace($subSlave.faceShape)>><<else>>$subSlave.faceShape<</if>> fa<<c>>e and not want to make love to you<<if !_vaginal>>r butt<</if>>!" <<elseif !_vaginal && $subSlave.butt > 3>> "You've got <<s>>uch a ni<<c>>e a<<ss>>," $he wheedles. "It'<<s>> ju<<s>>t <<s>>o big, and round, and, um, out there." $He swallows, getting distracted. <<elseif $subSlave.boobShape == "perky">> diff --git a/src/uncategorized/arcmgmt.tw b/src/uncategorized/arcmgmt.tw index fb4d6cccf19a234aa1b97a271e99f05aa90ff751..ba14a23d01d5a128cf44d55ed4cd63abef3a1072 100644 --- a/src/uncategorized/arcmgmt.tw +++ b/src/uncategorized/arcmgmt.tw @@ -149,8 +149,8 @@ _topClassP = 1>> <</if>> <<if $arcologies[0].FSAssetExpansionist != "unset">> <<set _FSScore += Math.min($arcologies[0].FSAssetExpansionist, 100)>> - <<if $arcologies[0].FSBodypurist != "unset">> - <<set _expirationFS *= 1 + (Math.trunc(Math.min($arcologies[0].FSAssetExpansionist, 100) / 20) * 0.05) * (1 + (Math.trunc(Math.min($arcologies[0].FSBodypurist, 100) / 20) * -0.1))>> + <<if $arcologies[0].FSBodyPurist != "unset">> + <<set _expirationFS *= 1 + (Math.trunc(Math.min($arcologies[0].FSAssetExpansionist, 100) / 20) * 0.05) * (1 + (Math.trunc(Math.min($arcologies[0].FSBodyPurist, 100) / 20) * -0.1))>> <<else>> <<set _expirationFS *= 1 + Math.trunc(Math.min($arcologies[0].FSAssetExpansionist, 100) / 20) * 0.05>> <</if>> diff --git a/src/uncategorized/clinicReport.tw b/src/uncategorized/clinicReport.tw index ef8e9c3bf3171b3d1b14d081be815b01cf0c486c..4d3bbc020dc8ca03f4bcc441f9b3a8168a38ed64 100644 --- a/src/uncategorized/clinicReport.tw +++ b/src/uncategorized/clinicReport.tw @@ -124,7 +124,7 @@ <<setLocalPronouns $slaves[$i] 2>> <<if ($slaves[$i].lactation > 0) && (($slaves[$i].boobs-$slaves[$i].boobsImplant) > 6000)>> $He does $his best to aid the leaking $slaves[$i].slaveName, paying special attention to _his2 huge breasts as well as making sure to milk _him2 hourly. - <<set $slaves[$i].health += 4>> + <<set $slaves[$i].health += 4, $slaves[$i].lactationDuration = 2, $slaves[$i].boobs -= $slaves[$i].boobsMilk, $slaves[$i].boobsMilk = 0>> <<if (random(1,100) > 65) && (($Nurse.fetish == "none") || ($Nurse.fetish == "boobs"))>> <<if $Nurse.fetish == "none">> <<set $Nurse.fetish = "boobs", $slaves[_FLs].fetish = "boobs">> @@ -252,15 +252,20 @@ <<set $slaves[$i].livingRules = "spare">> <</switch>> - <<if ($Nurse != 0) && ($clinicSpeedGestation == 1) && ($slaves[$i].pregKnown == 1)>> - <<set $slaves[$i].pregControl = "speed up">> - <</if>> - <<if ($Nurse != 0) && ($slaves[$i].chem > 10) && ($clinicUpgradeFilters == 1)>> - <<set $slaves[$i].chem -= 5 + (50 * $clinicUpgradePurge)>> - <<if $clinicUpgradePurge == 1 && $slaves[$i].health > -50>> - <<set $slaves[$i].health = -50>> + <<if ($Nurse != 0) + <<if ($clinicSpeedGestation == 1) && ($slaves[$i].pregKnown == 1)>> + <<set $slaves[$i].pregControl = "speed up">> + <</if>> + <<if ($slaves[$i].chem > 10) && ($clinicUpgradeFilters == 1)>> + <<set $slaves[$i].chem -= 5 + (50 * $clinicUpgradePurge)>> + <<if $clinicUpgradePurge == 1 && $slaves[$i].health > -50>> + <<set $slaves[$i].health = -50>> + <</if>> + <<set $slaves[$i].chem = Math.max($slaves[$i].chem, 0)>> + <</if>> + <<if $slaves[$i].lactation == 1>> + <<set $slaves[$i].boobsMilk = 0>> <</if>> - <<set $slaves[$i].chem = Math.max($slaves[$i].chem, 0)>> <</if>> <<if ($slaves[$i].health <= 40)>> <<elseif ($Nurse != 0) && ($slaves[$i].chem > 15) && ($clinicUpgradeFilters == 1)>> diff --git a/src/uncategorized/nextWeek.tw b/src/uncategorized/nextWeek.tw index 81d50f4a969701c27c35c2ae39f154cea26a2c4c..fb90fef5e0759333478426f0edf7b09fa84b65c5 100644 --- a/src/uncategorized/nextWeek.tw +++ b/src/uncategorized/nextWeek.tw @@ -117,6 +117,15 @@ <<if $slaves[_i].indenture > 0>> <<set $slaves[_i].indenture -= 1>> <</if>> + <<if $slaves[$i].induceLactation > 0>> + <<set $slaves[$i].induceLactation-->> + <</if>> + <<if ($slaves[$i].lactation == 1)>> + <<if $slaves[$i].lactationDuration == 1>> + <<set $slaves[$i].boobsMilk = 10*$slaves[$i].lactationAdaptation>> + <<set $slaves[$i].boobs += $slaves[$i].boobsMilk>> + <</if>> + <</if>> <<set $slaves[_i].trust = Number($slaves[_i].trust.toFixed(1)), $slaves[_i].devotion = Number($slaves[_i].devotion.toFixed(1))>> <<set $slaves[_i].oldDevotion = $slaves[_i].devotion, $slaves[_i].oldTrust = $slaves[_i].trust, $slaves[_i].tired = 0, $slaves[_i].minorInjury = 0>> <<if $slaves[_i].sentence > 1>> diff --git a/src/uncategorized/nonRandomEvent.tw b/src/uncategorized/nonRandomEvent.tw index 10f2817344400988f5c28236d9008df8e89d5545..b8722e826836f10d3bba3a3ba8bf5c1214a6b64f 100644 --- a/src/uncategorized/nonRandomEvent.tw +++ b/src/uncategorized/nonRandomEvent.tw @@ -43,7 +43,7 @@ <<elseif ($week == 29)>> <<set $Event = "aid invitation">> <<goto "Generic Plot Events">> -<<elseif (_effectiveWeek == 31)>> +<<elseif (_effectiveWeek == 31) && ($mercenaries == 0)>> <<goto "P mercenaries">> <<elseif (_effectiveWeek == 35) && ($mercenaries > 0)>> <<goto "P snatch and grab">> diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw index 3445174494db7e329b1cc8039323402562cb4f4e..f1d7a1e1ad1c06893c9e15f1356edf3a8d4e8229 100644 --- a/src/uncategorized/saLongTermEffects.tw +++ b/src/uncategorized/saLongTermEffects.tw @@ -6590,32 +6590,29 @@ The powerful lactation drugs $he's implanted with @@.lime;gradually swell $his enormous breasts.@@ <<set $slaves[$i].boobs += 25>> <</if>> + <<set $slaves[$i].lactationDuration = 2>> <</if>> /* LACTATION EFFECTS */ <<if ($slaves[$i].lactation == 1)>> - <<if $slaves[$i].lactationDuration == 0>> - Without regular use, $his lactation has @@.orange;dried up.@@ - <<set $slaves[$i].boobs -= $slaves[$i].boobsMilk>> - <<set $slaves[$i].boobsMilk = 0, $slaves[$i].lactation = 0>> - <<elseif $slaves[$i].lactationDuration == 1>> - Without release, $his breasts have become @@.lime;<<if $slaves[$i].lactationAdaptation > 50>>massively <</if>>engorged@@ with pent-up milk. - <<set $slaves[$i].boobsMilk = 10*$slaves[$i].lactationAdaptation>> + <<if $slaves[$i].boobsMilk > 0>> + /*Without release, $his breasts have become @@.lime;<<if $slaves[$i].lactationAdaptation > 50>>massively <</if>>engorged@@ with pent-up milk.*/ /* I don't know where to put this since it happens at the tail end of endWeek now */ <<if $slaves[$i].boobs+$slaves[$i].boobsMilk > $slaves[$i].boobs*2>> - Being bloated to the point of bursting is @@.red;incredibly painful.@@ + Having breasts bloated to the point of bursting is @@.red;incredibly painful.@@ Spending a week like that is exruciating, <<set $slaves[$i].health -= 20>> <<elseif $slaves[$i].boobs+$slaves[$i].boobsMilk > $slaves[$i].boobs*.5>> - Being so swollen is @@.red;very uncomfortable.@@ + Having breasts so swollen with milk that every motion hurts is @@.red;very uncomfortable.@@ Spending a week like that only makes it worse, <<set $slaves[$i].health -= 5>> + <<else>> + $He spends the week with breasts aching for release, <</if>> - <<set $slaves[$i].boobs += $slaves[$i].boobsMilk>> - <<else>> - <<set $slaves[$i].lactationDuration-->> <</if>> -<</if>> -<<if $slaves[$i].induceLactation > 0>> - <<set $slaves[$i].induceLactation-->> + <<if $slaves[$i].lactationDuration == 0>> + but without regular use, $his lactation finally @@.orange;dries up@@ and $he can be drained without encouraging it. + <<set $slaves[$i].boobs -= $slaves[$i].boobsMilk>> + <<set $slaves[$i].boobsMilk = 0, $slaves[$i].lactation = 0>> + <</if>> <</if>> <<if ($slaves[$i].boobs - ($slaves[$i].muscles*30) > 5000) && ($slaves[$i].boobs <= 8000) && ($slaves[$i].boobsImplant < 500) && ($slaves[$i].breastMesh != 1)>> diff --git a/src/uncategorized/saRules.tw b/src/uncategorized/saRules.tw index 4b20a4157d36e73b24369ab0e9ab817d58b04625..1d76d4429cfbcf06ad49bf379ef42c2714326bb8 100644 --- a/src/uncategorized/saRules.tw +++ b/src/uncategorized/saRules.tw @@ -131,6 +131,24 @@ <</if>> <</if>> + <<if $slaves[$i].lactationRules == "induce">> + Whenever $he finds a free moment from $his duties, $he spends that time massaging $his breasts and working $his nipples. + <<set $slaves[$i].induceLactation += 2>> + <<= induceLactation($slaves[$i])>> + <<if $slaves[$i].lactation == 1>><<set $slaves[$i].lactationRules = "maintain">><</if>> + <<elseif $slaves[$i].lactationRules == "maintain">> + <<if $servantMilkers == 1>> + $His duties keep $him busy, but $he <<if $slaves[$i].fetish == "boobs">>eagerly <</if>>uses the penthouse milkers whenever $he can, + <<set $servantMilkersMultiplier = 0.25>> + <<silently>><<include "SA get milked">><</silently>> + <<set $servantMilkersMultiplier = 1>> + giving $milk liters of milk over the week, which is sold for @@.yellowgreen;<<print cashFormat($milkSale)>>.@@ + <<else>> + Whenever $he finds a free moment from $his duties, $he takes the time to thoroughly milk $his breasts to keep $his lactation strong for you. + <<set $slaves[$i].lactationDuration = 2, $slaves[$i].boobs -= $slaves[$i].boobsMilk, $slaves[$i].boobsMilk = 0>> + <</if>> + <</if>> + $He does $his best for you, so $he frequently deserves a reward and never needs to be punished. <<set _punishments = 0>> <<set _rewards = 3>> @@ -598,6 +616,24 @@ <</if>> <</if>> + <<if $slaves[$i].lactationRules == "induce">> + Whenever $he finds a free moment between $his sets, $he spends that time massaging $his breasts and working $his nipples. + <<set $slaves[$i].induceLactation += 2>> + <<= induceLactation($slaves[$i])>> + <<if $slaves[$i].lactation == 1>><<set $slaves[$i].lactationRules = "maintain">><</if>> + <<elseif $slaves[$i].lactationRules == "maintain">> + <<if $servantMilkers == 1>> + $His duties keep $him busy, but $he <<if $slaves[$i].fetish == "boobs">>eagerly <</if>>uses the penthouse milkers whenever $he can, + <<set $servantMilkersMultiplier = 0.25>> + <<silently>><<include "SA get milked">><</silently>> + <<set $servantMilkersMultiplier = 1>> + giving $milk liters of milk over the week, which is sold for @@.yellowgreen;<<print cashFormat($milkSale)>>.@@ + <<else>> + $He has worked milking $himself into $his dance routines, both entertaining the crowd and keeping $his lactation strong for you. + <<set $slaves[$i].lactationDuration = 2, $slaves[$i].boobs -= $slaves[$i].boobsMilk, $slaves[$i].boobsMilk = 0>> + <</if>> + <</if>> + $He does $his best for you, so $he frequently deserves a reward and never needs to be punished. <<set _punishments = 0>> <<set _rewards = 3>> @@ -1046,6 +1082,24 @@ <</if>> <</if>> + <<if $slaves[$i].lactationRules == "induce">> + $He spends much of $his time with a pair of automatic breast pumps attached to $his chest. The constant stimulation will have $him milky soon enough. + <<set $slaves[$i].induceLactation += 8>> + <<= induceLactation($slaves[$i])>> + <<if $slaves[$i].lactation == 1>><<set $slaves[$i].lactationRules = "maintain">><</if>> + <<elseif $slaves[$i].lactationRules == "maintain">> + <<if $servantMilkers == 1>> + $His duties keep $him busy, but $he <<if $slaves[$i].fetish == "boobs">>eagerly <</if>>uses the penthouse milkers whenever $he can, + <<set $servantMilkersMultiplier = 0.25>> + <<silently>><<include "SA get milked">><</silently>> + <<set $servantMilkersMultiplier = 1>> + giving $milk liters of milk over the week, which is sold for @@.yellowgreen;<<print cashFormat($milkSale)>>.@@ + <<else>> + It's not unusual to see $him tending to $his patients with a pair of breast pumps sucking away at $his breasts. + <<set $slaves[$i].lactationDuration = 2, $slaves[$i].boobs -= $slaves[$i].boobsMilk, $slaves[$i].boobsMilk = 0>> + <</if>> + <</if>> + $He does $his best for you, so $he frequently deserves a reward and never needs to be punished. <<set _punishments = 0>> <<set _rewards = 3>> @@ -1391,6 +1445,24 @@ <</if>> <</if>> + <<if $slaves[$i].lactationRules == "induce">> + Whenever $he finds a free moment from $his duties, $he spends that time massaging $his breasts and working $his nipples. + <<set $slaves[$i].induceLactation += 3>> + <<= induceLactation($slaves[$i])>> + <<if $slaves[$i].lactation == 1>><<set $slaves[$i].lactationRules = "maintain">><</if>> + <<elseif $slaves[$i].lactationRules == "maintain">> + <<if $servantMilkers == 1>> + $His duties keep $him busy, but $he <<if $slaves[$i].fetish == "boobs">>eagerly <</if>>uses the penthouse milkers whenever $he can, + <<set $servantMilkersMultiplier = 0.25>> + <<silently>><<include "SA get milked">><</silently>> + <<set $servantMilkersMultiplier = 1>> + giving $milk liters of milk over the week, which is sold for @@.yellowgreen;<<print cashFormat($milkSale)>>.@@ + <<else>> + $He works maintaining $his lactation into $his duties; when $he feels $his chest has grown too heavy, the nearest prisoner had better have an appetite or there will be punishment. + <<set $slaves[$i].lactationDuration = 2, $slaves[$i].boobs -= $slaves[$i].boobsMilk, $slaves[$i].boobsMilk = 0>> + <</if>> + <</if>> + $He does $his best for you, so $he frequently deserves a reward and never needs to be punished. <<set _punishments = 0>> <<set _rewards = 3>> @@ -1480,7 +1552,7 @@ <</if>> <</if>> <<if ($slaves[$i].devotion <= 20)>> - gets off at work despite $his reluctance, @@.hotpink;habituating $him to sexual slavery.@@ + gets off despite $his reluctance, @@.hotpink;habituating $him to sexual slavery.@@ <<set $slaves[$i].devotion += 1>> <<if ($slaves[$i].trust >= -20) && ($slaves[$i].devotion <= 20)>> $He hates $himself for climaxing, and knows the mild aphrodisiacs in the food are forcing $his arousal, @@.gold;frightening $him.@@ @@ -1675,6 +1747,24 @@ <</if>> <</if>> + <<if $slaves[$i].lactationRules == "induce">> + Whenever $he finds a free moment from $his duties, $he spends that time massaging $his breasts and working $his nipples. + <<set $slaves[$i].induceLactation += 4>> + <<= induceLactation($slaves[$i])>> + <<if $slaves[$i].lactation == 1>><<set $slaves[$i].lactationRules = "maintain">><</if>> + <<elseif $slaves[$i].lactationRules == "maintain">> + <<if $servantMilkers == 1>> + $His duties keep $him busy, but $he <<if $slaves[$i].fetish == "boobs">>eagerly <</if>>uses the penthouse milkers whenever $he can, + <<set $servantMilkersMultiplier = 0.25>> + <<silently>><<include "SA get milked">><</silently>> + <<set $servantMilkersMultiplier = 1>> + giving $milk liters of milk over the week, which is sold for @@.yellowgreen;<<print cashFormat($milkSale)>>.@@ + <<else>> + Whenever $he finds a free moment from $his duties, $he takes the time to thoroughly milk $his breasts to keep $his lactation strong for you. + <<set $slaves[$i].lactationDuration = 2, $slaves[$i].boobs -= $slaves[$i].boobsMilk, $slaves[$i].boobsMilk = 0>> + <</if>> + <</if>> + $He does $his best for you, so $he frequently deserves a reward and never needs to be punished. <<set _punishments = 0>> <<set _rewards = 3>> @@ -2154,6 +2244,24 @@ <</if>> <</if>> + <<if $slaves[$i].lactationRules == "induce">> + Whenever $he finds a free moment from $his duties, $he spends that time massaging $his breasts and working $his nipples. + <<set $slaves[$i].induceLactation += 4>> + <<= induceLactation($slaves[$i])>> + <<if $slaves[$i].lactation == 1>><<set $slaves[$i].lactationRules = "maintain">><</if>> + <<elseif $slaves[$i].lactationRules == "maintain">> + <<if $servantMilkers == 1>> + $His duties keep $him busy, but $he <<if $slaves[$i].fetish == "boobs">>eagerly <</if>>uses the penthouse milkers whenever $he can, + <<set $servantMilkersMultiplier = 0.25>> + <<silently>><<include "SA get milked">><</silently>> + <<set $servantMilkersMultiplier = 1>> + giving $milk liters of milk over the week, which is sold for @@.yellowgreen;<<print cashFormat($milkSale)>>.@@ + <<else>> + Whenever $he finds a free moment from $his duties, $he takes the time to thoroughly milk $his breasts to keep $his lactation strong for you. + <<set $slaves[$i].lactationDuration = 2, $slaves[$i].boobs -= $slaves[$i].boobsMilk, $slaves[$i].boobsMilk = 0>> + <</if>> + <</if>> + $He does $his best for you, so $he frequently deserves a reward and never needs to be punished. <<set _punishments = 0>> <<set _rewards = 3>> @@ -2649,6 +2757,24 @@ <</if>> <</if>> + <<if $slaves[$i].lactationRules == "induce">> + $His lectures frequently include demonstrations on the proper way to induce lactation. + <<set $slaves[$i].induceLactation += 5>> + <<= induceLactation($slaves[$i])>> + <<if $slaves[$i].lactation == 1>><<set $slaves[$i].lactationRules = "maintain">><</if>> + <<elseif $slaves[$i].lactationRules == "maintain">> + <<if $servantMilkers == 1>> + $His duties keep $him busy, but $he <<if $slaves[$i].fetish == "boobs">>eagerly <</if>>uses the penthouse milkers whenever $he can, + <<set $servantMilkersMultiplier = 0.25>> + <<silently>><<include "SA get milked">><</silently>> + <<set $servantMilkersMultiplier = 1>> + giving $milk liters of milk over the week, which is sold for @@.yellowgreen;<<print cashFormat($milkSale)>>.@@ + <<else>> + $He makes sure to give a special lecture whenever $his breasts start to feel full on the proper methods to milk a $girl. + <<set $slaves[$i].lactationDuration = 2, $slaves[$i].boobs -= $slaves[$i].boobsMilk, $slaves[$i].boobsMilk = 0>> + <</if>> + <</if>> + $He does $his best for you, so $he frequently deserves a reward and never needs to be punished. <<set _punishments = 0>> <<set _rewards = 3>> @@ -3120,6 +3246,24 @@ <</if>> <</if>> + <<if $slaves[$i].lactationRules == "induce">> + Whenever $he finds a free moment from $his duties, $he spends that time massaging $his breasts and working $his nipples. + <<set $slaves[$i].induceLactation += 2>> + <<= induceLactation($slaves[$i])>> + <<if $slaves[$i].lactation == 1>><<set $slaves[$i].lactationRules = "maintain">><</if>> + <<elseif $slaves[$i].lactationRules == "maintain">> + <<if $servantMilkers == 1>> + $His duties keep $him busy, but $he <<if $slaves[$i].fetish == "boobs">>eagerly <</if>>uses the penthouse milkers whenever $he can, + <<set $servantMilkersMultiplier = 0.25>> + <<silently>><<include "SA get milked">><</silently>> + <<set $servantMilkersMultiplier = 1>> + giving $milk liters of milk over the week, which is sold for @@.yellowgreen;<<print cashFormat($milkSale)>>.@@ + <<else>> + Whenever $he finds a free moment from $his duties, $he takes the time to thoroughly milk $his breasts to keep $his lactation strong for you. + <<set $slaves[$i].lactationDuration = 2, $slaves[$i].boobs -= $slaves[$i].boobsMilk, $slaves[$i].boobsMilk = 0>> + <</if>> + <</if>> + $He does $his best for you, so $he frequently deserves a reward and never needs to be punished. <<set _punishments = 0>> <<set _rewards = 3>> @@ -3593,6 +3737,19 @@ <</if>> <</if>> + <<if $slaves[$i].lactationRules == "induce">> + Whenever $he finds a free moment from $his duties, $he spends that time hooked up to a milker to hasten $his milk production. + <<set $slaves[$i].induceLactation += 10>> + <<= induceLactation($slaves[$i])>> + <<if $slaves[$i].lactation == 1>><<set $slaves[$i].lactationRules = "maintain">><</if>> + <<elseif $slaves[$i].lactationRules == "maintain">> + $His duties keep $him busy, but $he <<if $slaves[$i].fetish == "boobs">>eagerly <</if>>uses milkers whenever $he can, + <<set $servantMilkersMultiplier = 0.75>> + <<silently>><<include "SA get milked">><</silently>> + <<set $servantMilkersMultiplier = 1>> + giving $milk liters of milk over the week, which is sold for @@.yellowgreen;<<print cashFormat($milkSale)>>.@@ + <</if>> + $He does $his best for you, so $he frequently deserves a reward and never needs to be punished. <<set _punishments = 0>> <<set _rewards = 3>> @@ -4126,6 +4283,24 @@ <</if>> <</if>> + <<if $slaves[$i].lactationRules == "induce">> + Whenever $he finds a free moment from $his duties, $he spends that time massaging $his breasts and working $his nipples. + <<set $slaves[$i].induceLactation += 2>> + <<= induceLactation($slaves[$i])>> + <<if $slaves[$i].lactation == 1>><<set $slaves[$i].lactationRules = "maintain">><</if>> + <<elseif $slaves[$i].lactationRules == "maintain">> + <<if $servantMilkers == 1>> + $His duties keep $him busy, but $he <<if $slaves[$i].fetish == "boobs">>eagerly <</if>>uses the penthouse milkers whenever $he can, + <<set $servantMilkersMultiplier = 0.25>> + <<silently>><<include "SA get milked">><</silently>> + <<set $servantMilkersMultiplier = 1>> + giving $milk liters of milk over the week, which is sold for @@.yellowgreen;<<print cashFormat($milkSale)>>.@@ + <<else>> + Whenever $he finds a free moment from $his duties, $he takes the time to thoroughly milk $his breasts to keep $his lactation strong for you. + <<set $slaves[$i].lactationDuration = 2, $slaves[$i].boobs -= $slaves[$i].boobsMilk, $slaves[$i].boobsMilk = 0>> + <</if>> + <</if>> + $He does $his best for you, so $he frequently deserves a reward and never needs to be punished. <<set _punishments = 0>> <<set _rewards = 3>> @@ -4560,6 +4735,16 @@ <</if>> <</if>> + <<if $slaves[$i].lactationRules == "induce">> + $He spends $his time away from you fervently working to induce lactation, eager to enjoy it with you. + <<set $slaves[$i].induceLactation += 9>> + <<= induceLactation($slaves[$i])>> + <<if $slaves[$i].lactation == 1>><<set $slaves[$i].lactationRules = "maintain">><</if>> + <<elseif $slaves[$i].lactationRules == "maintain">> + $He doesn't need to do anything to maintain $his lactation as you personally see to it each night. + <<set $slaves[$i].lactationDuration = 2, $slaves[$i].boobs -= $slaves[$i].boobsMilk, $slaves[$i].boobsMilk = 0>> + <</if>> + $He does $his best for you, so $he frequently deserves a reward and never needs to be punished. <<set _punishments = 0>> <<set _rewards = 3>> diff --git a/src/uncategorized/slaveAssignmentsReport.tw b/src/uncategorized/slaveAssignmentsReport.tw index ec39a886a71c731a736b961898fa63956faa905e..baf7ca323c472453becac5083ec5cac5adbd5771 100644 --- a/src/uncategorized/slaveAssignmentsReport.tw +++ b/src/uncategorized/slaveAssignmentsReport.tw @@ -31,6 +31,10 @@ <<set $averageDick += $slaves[$i].dick, $slavesWithWorkingDicks++>> <</if>> +<<if ($slaves[$i].lactation == 1)>> + <<set $slaves[$i].lactationDuration-->> +<</if>> + <<switch $slaves[$i].assignment>> <<case "be your Head Girl">> <<set $HeadGirl = $slaves[$i]>> @@ -409,7 +413,7 @@ <<set $slaves[$i].pregWeek++>> <</if>> <<if $slaves[$i].pregWeek < 0 >> /*postpartum state*/ - <<set $slaves[$i].pregWeek++>> + <<set $slaves[$i].pregWeek++>> <</if>> <<run SetBellySize($slaves[$i])>> /* here will be also set through WombGetVolume .bellyPreg, .pregType, to current values. */ diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw index 202be62462b46119f78139fa2911f6bd3cbd6ec9..7080524bb61a913f18141a8f859fcfefc708e98c 100644 --- a/src/uncategorized/slaveInteract.tw +++ b/src/uncategorized/slaveInteract.tw @@ -1601,6 +1601,7 @@ Hormones: <strong><span id="hormones"> <<link "Drugs">><<set $activeSlave.standardReward = "drugs">><<replace "#standardReward">>$activeSlave.standardReward<</replace>><</link>> | <<link "Orgasm">><<set $activeSlave.standardReward = "orgasm">><<replace "#standardReward">>$activeSlave.standardReward<</replace>><</link>> | <<link "Situational">><<set $activeSlave.standardReward = "situational">><<replace "#standardReward">>$activeSlave.standardReward<</replace>><</link>> + <br>Non-assignment orgasm rules: ''<span id="releaseRules">$activeSlave.releaseRules</span>.'' <<link "Permit masturbation and interslave sex">><<set $activeSlave.releaseRules = "permissive">><<replace "#releaseRules">>$activeSlave.releaseRules<</replace>><</link>> | <<link "Let $him get off with other slaves">><<set $activeSlave.releaseRules = "sapphic">><<replace "#releaseRules">>$activeSlave.releaseRules<</replace>><</link>> | @@ -1609,6 +1610,18 @@ Hormones: <strong><span id="hormones"> <</if>> <<link "Only with you">><<set $activeSlave.releaseRules = "restrictive">><<replace "#releaseRules">>$activeSlave.releaseRules<</replace>><</link>> | <<link "Have $him remain chaste">><<set $activeSlave.releaseRules = "chastity">><<replace "#releaseRules">>$activeSlave.releaseRules<</replace>><</link>> + + <<if setup.facilityHeads.includes($activeSlave.assignment)>> + <<if $activeSlave.lactation != 2>> + <br>Lactation maintenance for facility heads: ''<span id="releaseRules">$activeSlave.lactationRules</span>.'' + <<link "Left alone">><<set $activeSlave.lactationRules = "none">><<replace "#lactationRules">>$activeSlave.lactationRules<</replace>><</link>> | + <<if $activeSlave.lactation == 0>> + <<link "Induce lactation">><<set $activeSlave.lactationRules = "induce">><<replace "#lactationRules">>$activeSlave.lactationRules<</replace>><</link>> + <<else>> + <<link "Maintain lactation">><<set $activeSlave.lactationRules = "maintain">><<replace "#lactationRules">>$activeSlave.lactationRules<</replace>><</link>> + <</if>> + <</if>> + <</if>> <</if>> <<if $activeSlave.clitPiercing == 3>> diff --git a/src/uncategorized/spaReport.tw b/src/uncategorized/spaReport.tw index c9d320299742ef0e2ae82fbbde610e5cc21f8cc4..c566bcaa904e14c3448c6e758e4d67fb6d274955 100644 --- a/src/uncategorized/spaReport.tw +++ b/src/uncategorized/spaReport.tw @@ -156,7 +156,7 @@ <<set $Attendant.fetish = "boobs", $slaves[_FLs].fetish = "boobs">> <</if>> <</if>> - <<set $slaves[$i].devotion += 3, $slaves[$i].trust += 3>> + <<set $slaves[$i].devotion += 3, $slaves[$i].trust += 3, $slaves[$i].lactationDuration = 2, $slaves[$i].boobs -= $slaves[$i].boobsMilk, $slaves[$i].boobsMilk = 0>> <</if>> <<case "She is remembered for winning best in show as a breeder.">> <<if $slaves[$i].bellyPreg >= 5000>> @@ -192,6 +192,10 @@ <br> $Attendant.slaveName works carefully with $slaves[$i].slaveName, and successfully @@.green;softens her sexual flaw@@ into an appealing quirk. <</if>> <</if>> + <<if $slaves[$i].lactation > 0>> + $Attendant.slaveName takes care to keep $slaves[$i].slaveName's breasts comfortably drained. + <<set $slaves[$i].lactationDuration = 2, $slaves[$i].boobs -= $slaves[$i].boobsMilk, $slaves[$i].boobsMilk = 0>> + <</if>> <</for>> <<if (_DL < $spa)>> <<set _seed = random(1,10)+(($spa-_DL)*(random(150,170)+(_idleBonus*10)))>>