From 475966fd9d2fe832bff65668a6dc32153c288916 Mon Sep 17 00:00:00 2001 From: Pregmodder <pregmodder@gmail.com> Date: Mon, 27 Feb 2023 22:46:31 -0500 Subject: [PATCH] Oversized breast shrinkage toggle --- CHANGELOG.md | 5 +++- js/003-data/gameVariableData.js | 1 + .../player/prLongTermPhysicalEffects.js | 19 +++++++++++---- src/endWeek/saLongTermPhysicalEffects.js | 23 +++++++++++++++---- src/gui/options/options.js | 10 +++++++- 5 files changed, 47 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d81a0f9aeb9..fcc57ee5f5d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,14 +6,17 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ## Unreleased +* Antebellum Revivalism FS added * pit revamped +* reCelebrityDebt event * added isVirile() function * added isHorny() function (check for sources of constant arousal) * added aggrosperm, livestock, and progenitor gene mods * added potency genetic quirk * added genetic height +* added genetic breast size * vasectomies cut sperm release -* fixes +* fixes and code improvements ## 0.10.7.1-4.0.0-alpha.23 - 2023-01-15 diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js index e01730f6e64..77ab60e0a02 100644 --- a/js/003-data/gameVariableData.js +++ b/js/003-data/gameVariableData.js @@ -228,6 +228,7 @@ App.Data.defaultGameStateVariables = { verboseDescriptions: 0, verticalizeArcologyLinks: 0, weightAffectsAssets: 1, + oversizedBoobShrinkage: 0, curativeSideEffects: 1, disableLongDamage: 1, // Last-used strings in Locate Slave diff --git a/src/endWeek/player/prLongTermPhysicalEffects.js b/src/endWeek/player/prLongTermPhysicalEffects.js index 0c1e0ad0817..1aaae338632 100644 --- a/src/endWeek/player/prLongTermPhysicalEffects.js +++ b/src/endWeek/player/prLongTermPhysicalEffects.js @@ -891,9 +891,20 @@ App.EndWeek.Player.longTermPhysicalEffects = function(PC = V.PC) { } } // Oversized breast shrinkage - let triggerSize = PC.natural.boobs * 20; - if (PC.physicalAge <= 12) { - triggerSize *= (gigantomastiaMod === 2 ? .75 : .5); + let triggerSize; + if (oversizedBoobShrinkage === 2) { + triggerSize = 50000; + } else if (oversizedBoobShrinkage === 1) { + if (PC.physicalAge <= 12) { + triggerSize = (gigantomastiaMod === 2 ? 25000 : 15000); + } else { + triggerSize = 30000; + } + } else { + triggerSize = PC.natural.boobs * 20; + if (PC.physicalAge <= 12) { + triggerSize *= (gigantomastiaMod === 2 ? .75 : .5); + } } if (boobSize > triggerSize) { if (V.arcologies[0].FSAssetExpansionistResearch === 0) { @@ -903,7 +914,7 @@ App.EndWeek.Player.longTermPhysicalEffects = function(PC = V.PC) { r.push(`Your breasts are larger than your body can possibly sustain without pharmaceutical intervention, and they <span class="change negative">naturally lose mass.</span>`); PC.boobs -= 25; } else { - r.push(`Your breasts are far, far beyond what a human body can sustain without pharmaceutical intervention, and they <span class="change negative">naturally lose mass.</span>`); + r.push(`Your breasts are far, far beyond what ${oversizedBoobShrinkage !== 0 "a human" : "your"} body can sustain without pharmaceutical intervention, and they <span class="change negative">naturally lose mass.</span>`); PC.boobs -= 50 / gigantomastiaMod; } if (PC.geneMods.NCS === 1 && random(1, 100) > 50 * gigantomastiaMod) { diff --git a/src/endWeek/saLongTermPhysicalEffects.js b/src/endWeek/saLongTermPhysicalEffects.js index afcb240bdb3..7712e9fe5e8 100644 --- a/src/endWeek/saLongTermPhysicalEffects.js +++ b/src/endWeek/saLongTermPhysicalEffects.js @@ -1163,11 +1163,24 @@ App.SlaveAssignment.longTermPhysicalEffects = function saLongTermPhysicalEffects } } // Oversized breast shrinkage - let triggerSize = slave.natural.boobs * 20; - if (slave.physicalAge <= 6) { - triggerSize = (gigantomastiaMod === 2 ? .5 : .25); - } else if (PC.physicalAge <= 12) { - triggerSize *= (gigantomastiaMod === 2 ? .75 : .5); + let triggerSize; + if (oversizedBoobShrinkage === 2) { + triggerSize = 50000; + } else if (oversizedBoobShrinkage === 1) { + if (slave.physicalAge <= 3) { + triggerSize = (gigantomastiaMod === 2 ? 25000 : 7000); + } else if (slave.physicalAge <= 12) { + triggerSize = (gigantomastiaMod === 2 ? 25000 : 15000); + } else { + triggerSize = 30000; + } + } else { + triggerSize = slave.natural.boobs * 20; + if (slave.physicalAge <= 6) { + triggerSize = (gigantomastiaMod === 2 ? .5 : .25); + } else if (PC.physicalAge <= 12) { + triggerSize *= (gigantomastiaMod === 2 ? .75 : .5); + } } if (boobSize > triggerSize) { if (slave.assignment !== Job.DAIRY || V.dairyRestraintsSetting < 2 || V.arcologies[0].FSAssetExpansionistResearch === 0) { diff --git a/src/gui/options/options.js b/src/gui/options/options.js index a6c6d6ffa9d..800798916d0 100644 --- a/src/gui/options/options.js +++ b/src/gui/options/options.js @@ -1070,10 +1070,18 @@ App.Intro.contentAndFlavor = function(isIntro) { options = new App.UI.OptionsGroup(); - options.addOption("Slave assets affected by weight is", "weightAffectsAssets") + options.addOption("Assets affected by weight is", "weightAffectsAssets") .addValue("Enabled", 1).on().addValue("Disabled", 0).off() .addComment("Diet will still affect asset size."); + options.addOption("Breasts shrink if their base size is greater than", "weightAffectsAssets") + .addValueList([ + ["genetic breast size", 0], + ["an arbitrary value", 1], + ["what the game can handle", 2] + .addComment("Arbitrary value (30kcc) was used prior to genetic breast size."); + ]); + options.addOption("Chem damage from drugs is", "curativeSideEffects") // Yes, this variable controls all chem damage. The vestigial "curatives" name isn't worth changing. .addValue("Enabled", 1).on().addValue("Disabled", 0).off() .addComment("If enabled, many drugs will cause harmful, though curable, carcinogen buildup and genomic damage over time."); -- GitLab