diff --git a/slave variables documentation - Pregmod.txt b/slave variables documentation - Pregmod.txt index 1af42e954557b838aa58704757de0d6ef98c8f3f..31a49b369bdef74bc727f41511d4a99313199b2f 100644 --- a/slave variables documentation - Pregmod.txt +++ b/slave variables documentation - Pregmod.txt @@ -1565,6 +1565,7 @@ slave areolae 1 - large 2 - unusually wide 3 - huge +4 - massive areolaeShape: diff --git a/src/art/artJS.js b/src/art/artJS.js index 44d1868700ff194e9c178d162206a249139f7608..35ac5896066726fd27fb3e4f35bf2ac8c9ec9dc3 100644 --- a/src/art/artJS.js +++ b/src/art/artJS.js @@ -11,7 +11,7 @@ UIDisplay (optional, only used by legacy art): icon UI Display for vector art, 1 */ window.SlaveArt = function(artSlave, artSize, UIDisplay) { const imageChoice = State.variables.imageChoice; - if (artSlave.customImage !== "") + if (artSlave.customImage !== "" && artSlave.customImage !== undefined) return CustomArt(artSlave, artSize); else if (imageChoice === 1) /* VECTOR ART BY NOX/DEEPMURK */ return VectorArt(artSlave, artSize); diff --git a/src/art/vector/VectorArtJS.js b/src/art/vector/VectorArtJS.js index b1cf19041dd87a77d2447f0da5d433403ed9ebd1..0bac95b4b80baf8f8de9ce72cfcfe8d3b2287bf0 100644 --- a/src/art/vector/VectorArtJS.js +++ b/src/art/vector/VectorArtJS.js @@ -789,7 +789,7 @@ window.VectorArt = (function () { r += jsInclude("Art_Vector_Boob_Areola_Large"); else if (slave.areolae === 2) r += jsInclude("Art_Vector_Boob_Areola_Wide"); - else if (slave.areolae === 3) + else if (slave.areolae >= 3) r += jsInclude("Art_Vector_Boob_Areola_Huge"); if (slave.nipples === "tiny") diff --git a/src/art/vector_revamp/vectorRevampedArtControl.js b/src/art/vector_revamp/vectorRevampedArtControl.js index 8be76f964b583f31b7239a461db15b90665c57f3..29245d09cd26b1b718566bda4bb83fed144b64f9 100644 --- a/src/art/vector_revamp/vectorRevampedArtControl.js +++ b/src/art/vector_revamp/vectorRevampedArtControl.js @@ -1246,12 +1246,17 @@ class RevampedArtControl { case 3: areolaeShape = "Huge"; break; - case 4: + default: + } + switch(this.artSlave.areolaeShape) + { + case "heart": areolaeShape = "Heart"; break; - case 5: + case "star": areolaeShape = "Star"; break; + default: } result.push("Art_Vector_Revamp_Boob_None_Areola_" + areolaeShape); @@ -1316,12 +1321,17 @@ class RevampedArtControl { case 3: areolaeShape = "Huge"; break; - case 4: + default: + } + switch(this.artSlave.areolaeShape) + { + case "heart": areolaeShape = "Heart"; break; - case 5: + case "star": areolaeShape = "Star"; break; + default: } result.push("Art_Vector_Revamp_Boob_" + size + "_Areolae_" + areolaeShape); diff --git a/src/cheats/mod_EditChildCheatNew.tw b/src/cheats/mod_EditChildCheatNew.tw index 2f31c1f92ca53323524bbe2a19d83ee8dadcb03f..a9f5198bb62048f536b28c39fca089b9495a6c43 100644 --- a/src/cheats/mod_EditChildCheatNew.tw +++ b/src/cheats/mod_EditChildCheatNew.tw @@ -1633,20 +1633,20 @@ <br> - ''Areolae Size (Normal:0 to Huge:3): '' + ''Areolae Size (Normal:0 to Massive:4): '' <<switch $tempSlave.areolae>> <<case 0>>@@.yellow;Normal@@ <<case 1>>@@.yellow;Large@@ <<case 2>>@@.yellow;Wide@@ <<case 3>>@@.yellow;Huge@@ - <<case 4>>@@.yellow;Heart-shaped@@ - <<case 5>>@@.yellow;Star-shaped@@ + <<case 4>>@@.yellow;Massive@@ <</switch>> <br> <<radiobutton "$tempSlave.areolae" 0>> Normal <<radiobutton "$tempSlave.areolae" 1>> Large <<radiobutton "$tempSlave.areolae" 2>> Wide <<radiobutton "$tempSlave.areolae" 3>> Huge + <<radiobutton "$tempSlave.areolae" 4>> Massive <br> diff --git a/src/cheats/mod_EditSlaveCheat.tw b/src/cheats/mod_EditSlaveCheat.tw index ce58257d2d2f09dc9f55c7b113484130e0badee8..2c9cd76744554d539261e97bdd8ea55c7056a438 100644 --- a/src/cheats/mod_EditSlaveCheat.tw +++ b/src/cheats/mod_EditSlaveCheat.tw @@ -702,13 +702,14 @@ Plush. <br> -''Areolae (Normal:0 to Huge:3): $tempSlave.areolae |'' +''Areolae (Normal:0 to Massive:4): $tempSlave.areolae |'' <<textbox "$tempSlave.areolae" $tempSlave.areolae>> <br> <<radiobutton "$tempSlave.areolae" 0>> Normal <<radiobutton "$tempSlave.areolae" 1>> Large <<radiobutton "$tempSlave.areolae" 2>> Wide <<radiobutton "$tempSlave.areolae" 3>> Huge +<<radiobutton "$tempSlave.areolae" 4>> Massive <br><br> diff --git a/src/cheats/mod_editSlaveCheatNew.tw b/src/cheats/mod_editSlaveCheatNew.tw index 22517df9db9e42cd7fe1577db0c61cd3f276df20..28cfaee1dc2fb4e878171cee093d16d1ac25f78d 100644 --- a/src/cheats/mod_editSlaveCheatNew.tw +++ b/src/cheats/mod_editSlaveCheatNew.tw @@ -2423,14 +2423,14 @@ <<case 1>>@@.yellow;Large@@ <<case 2>>@@.yellow;Wide@@ <<case 3>>@@.yellow;Huge@@ - <<case 4>>@@.yellow;Heart-shaped@@ - <<case 5>>@@.yellow;Star-shaped@@ + <<case 4>>@@.yellow;Massive@@ <</switch>> <br> <<radiobutton "$tempSlave.areolae" 0>> Normal <<radiobutton "$tempSlave.areolae" 1>> Large <<radiobutton "$tempSlave.areolae" 2>> Wide <<radiobutton "$tempSlave.areolae" 3>> Huge + <<radiobutton "$tempSlave.areolae" 4>> Massive <br> diff --git a/src/events/intro/introSummary.tw b/src/events/intro/introSummary.tw index c1979254167f7811fff4c61d27f36383ff8b60ba..501bea5a2c4e7eb785c18aa2a341bfc2571973c7 100644 --- a/src/events/intro/introSummary.tw +++ b/src/events/intro/introSummary.tw @@ -34,7 +34,7 @@ __''World Settings''__ ''serious risks.'' //Default Difficulty// <<option 80 "Hard">> ''ugly.'' //Hard// - <<option 67 "Hard">> + <<option 67 "Very Hard">> ''this is the last dance.'' //Very Hard// <</options>> <<if $difficultySwitch == 1>><<set $econAdvantage = -2>><</if>> @@ -1150,121 +1150,157 @@ __''Player Character''__ <br><br>__''Image display''__ <br> -Currently +<<options $seeImages>> + Currently + <<option 0 "Disable">> + ''Disabled''. + <<option 1 "Enable">> + ''Enabled''. +<</options>> +<br> + <<if $seeImages == 1>> - ''enabled.'' [[Disable|Intro Summary][$seeImages = 0]] - <br> + <<options $imageChoice>> + Using + <<option 0 "Rendered">> + ''Rendered imagepack by Shokushu''. + <<option 1 "Vector — embedded">> + ''Vector art by NoX/Deepmurk — embedded''. + <br>@@.red;Git compiled only, no exceptions.@@ + <<option 2 "Vector — non-embedded">> + ''Vector art by NoX/Deepmurk — non-embedded''. + <<option 3 "Vector revamp">> + ''Vector art revamp''. + <br>@@.red;Git compiled only, no exceptions.@@ + <</options>> <<if $imageChoice == 1>> - ''Vector art by NoX/Deepmurk'' is selected. [[Switch to rendered imagepack|Intro Summary][$imageChoice = 0]] | [[Switch to non-embedded vector art|Intro Summary][$imageChoice = 2]] | [[Switch to revamped embedded vector art|Intro Summary][$imageChoice = 3]] - <br> - Face art - <<if $seeFaces > 0>> - @@.cyan;ENABLED.@@ [[Disable|Intro Summary][$seeFaces = 0]] - <<else>> - @@.red;DISABLED.@@ [[Enable|Intro Summary][$seeFaces = 1]] - <</if>><br> - Highlights on shiny clothing - <<if $seeVectorArtHighlights == 1>> - @@.cyan;ENABLED.@@ [[Disable|Intro Summary][$seeVectorArtHighlights = 0]] - <<else>> - @@.red;DISABLED.@@ [[Enable|Intro Summary][$seeVectorArtHighlights = 1]] - <</if>> - <br> - Height scaling - <<if $seeHeight == 1>> - @@.yellow;ENABLED@@ on small images. [[Disable|Intro Summary][$seeHeight = 0]] | [[Enable for all images|Intro Summary][$seeHeight = 2]] - <<elseif $seeHeight == 2>> - @@.cyan;ENABLED@@ on all images. [[Disable|Intro Summary][$seeHeight = 0]] | [[Enable only for small images|Intro Summary][$seeHeight = 1]] - <<else>> - @@.red;DISABLED.@@ [[Enable only for small images|Intro Summary][$seeHeight = 1]] | [[Enable for all images|Intro Summary][$seeHeight = 2]] - <</if>> - <br> @@.red;Git compiled only, no exceptions.@@ + <br> + <<options $seeFaces>> + Face art + <<option 0 "Disable">> + @@.red;DISABLED@@. + <<option 1 "Enable">> + @@.cyan;ENABLED@@. + <</options>> + <br> + <<options $seeVectorArtHighlights>> + Highlights on shiny clothing + <<option 0 "Disable">> + @@.red;DISABLED@@. + <<option 1 "Enable">> + @@.cyan;ENABLED@@. + <</options>> + <br> + <<options $seeHeight>> + Height scaling + <<option 0 "Disable">> + @@.red;DISABLED@@. + <<option 1 "Enable only for small images">> + @@.yellow;ENABLED@@ on small images. + <<option 2 "Enable for all images">> + @@.cyan;ENABLED@@ on all images. + <</options>> <<elseif $imageChoice == 2>> - ''Vector art by NoX/Deepmurk — non-embed version'' is selected. [[Switch to rendered imagepack|Intro Summary][$imageChoice = 0]] | [[Switch to embedded vector art|Intro Summary][$imageChoice = 1]] | [[Switch to revamped embedded vector art|Intro Summary][$imageChoice = 3]] <<elseif $imageChoice == 3>> - ''Vector art revamp'' is selected. [[Switch to rendered imagepack|Intro Summary][$imageChoice = 0]] | [[Switch to embedded vector art|Intro Summary][$imageChoice = 1]] | [[Switch to non-embedded vector art|Intro Summary][$imageChoice = 2]] - <br> - Highlights on shiny clothing - <<if $seeVectorArtHighlights == 1>> - @@.cyan;ENABLED.@@ [[Disable|Intro Summary][$seeVectorArtHighlights = 0]] - <<else>> - @@.red;DISABLED.@@ [[Enable|Intro Summary][$seeVectorArtHighlights = 1]] - <</if>> - <br>@@.red;Git compiled only, no exceptions.@@ + <br> + <<options $seeVectorArtHighlights>> + Highlights on shiny clothing + <<option 0 "Disable">> + @@.red;DISABLED@@. + <<option 1 "Enable">> + @@.cyan;ENABLED@@. + <</options>> <<elseif $imageChoice == 0>> - ''Rendered imagepack by Shokushu'' is selected. [[Switch to vector art|Intro Summary][$imageChoice = 1]] - <br> - Slave summary fetish images - <<if $seeMainFetishes == 1>> - ''enabled.'' [[Disable|Intro Summary][$seeMainFetishes = 0]] - <<else>> - ''disabled.'' [[Enable|Intro Summary][$seeMainFetishes = 1]] - <</if>> - <</if>> - <br> - PA avatar images are - <<if $seeAvatar == 1>> - ''enabled.'' [[Disable|Intro Summary][$seeAvatar = 0]] - <<else>> - ''disabled.'' [[Enable|Intro Summary][$seeAvatar = 1]] - <</if>> - <br> - Slave images in lists are - <<if $seeSummaryImages == 1>> - ''enabled.'' [[Disable|Intro Summary][$seeSummaryImages = 0]] - <<else>> - ''disabled.'' [[Enable|Intro Summary][$seeSummaryImages = 1]] - <</if>> - <br> - Slave images in the weekly report are - <<if $seeReportImages == 1>> - ''enabled.'' [[Disable|Intro Summary][$seeReportImages = 0]] - <<else>> - ''disabled.'' [[Enable|Intro Summary][$seeReportImages = 1]] + <br> + <div style="width:200px; height:200px; margin: auto; position: relative;"> + <br> + You need to <a href="https://mega.nz/#!upoAlBaZ!EbZ5wCixxZxBhMN_ireJTXt0SIPOywO2JW9XzTIPhe0">download the image pack</a> + and put the 'renders' folder into the resources/ folder where this + html file is. + <img src="resources/renders/female big soft obedient.png" + title="Example image" alt="Failed to load image" + style="position:absolute;top:0;left:0;width:100%;background:#111;color:red;"> + </div> + <<options $seeMainFetishes>> + Slave summary fetish images + <<option 0 "Disable">> + ''disabled''. + <<option 1 "Enable">> + ''enabled''. + <</options>> <</if>> -<<else>> - ''disabled.'' [[Enable|Intro Summary][$seeImages = 1]] //Unembedded requires image resources.// + <br> + <<options $seeAvatar>> + PA avatar images are + <<option 0 "Disable">> + ''disabled''. + <<option 1 "Enable">> + ''enabled''. + <</options>> + <br> + <<options $seeSummaryImages>> + Slave images in lists are + <<option 0 "Disable">> + ''disabled''. + <<option 1 "Enable">> + ''enabled''. + <</options>> + <br> + <<options $seeReportImages>> + Slave images in the weekly report are + <<option 0 "Disable">> + ''disabled''. + <<option 1 "Enable">> + ''enabled''. + <</options>> <</if>> <br><br> __''Mods''__ -<br>The Special Force Mod is -<<if $SF.Toggle < 1>> - ''disabled.'' [[Enable|Intro Summary][$SF.Toggle = 1]] -<<else>> - ''enabled.'' [[Disable|Intro Summary][$SF.Toggle = 0]] +<br> +<<options $SF.Toggle>> + The Special Force Mod is + <<option 0 "Disable">> + ''disabled''. + <<option 1 "Enable">> + ''enabled''. + <<comment>> + This mod is initially from anon1888 but expanded by SFanon offers a lategame special (started out as security but changed to special in order to try and reduce confusion with CrimeAnon's separate Security Expansion (SecExp) mod) force, that is triggered after week 80. It is non-canon where it conflicts with canonical updates to the base game. +<</options>> /*<br> The support facility is <<if $SF.Facility.Toggle < 1>> @@.red;DISABLED.@@ [[Enable|Intro Summary][$SF.Facility.Toggle = 1]] <<else>> @@.cyan;ENABLED.@@ [[Disable|Intro Summary][$SF.Facility.Toggle = 0]] <</if>> //Prep for future content.*/ -<</if>> -<br>// This mod is initially from anon1888 but expanded by SFanon offers a lategame special (started out as security but changed to special in order to try and reduce confusion with CrimeAnon's separate Security Expansion (SecExp) mod) force, that is triggered after week 80. It is non-canon where it conflicts with canonical updates to the base game.// + <br><br> -<<if $cyberMod == 1>> - Cybernetics mod is ''enabled.'' -[[Disable|Intro Summary][$cyberMod = 0]] -<<else>> - Cybernetics mod is ''disabled.'' -[[Enable|Intro Summary][$cyberMod = 1]] -<</if>> +<<options $cyberMod>> + Cybernetics mod is + <<option 0 "Disable">> + ''disabled''. + <<option 1 "Enable">> + ''enabled''. + <<comment>> + This mod alters how prosthetics system works and adds some content. +<</options>> <br> -// This mod alters how prosthetics system works and adds some content.// -<br><br> -<<if $secExp == 1>> - The Security Expansion Mod is ''enabled.'' -[[Disable|Intro Summary][$secExp = 0]] -<<else>> - The Security Expansion Mod is ''disabled.'' -[[Enable|Intro Summary][$secExp = 1]] -<</if>> +<br><br> +<<options $secExp>> + The Security Expansion Mod is + <<option 0 "Disable">> + ''disabled''. + <<option 1 "Enable">> + ''enabled''. + <<comment>> + This mod introduces security and crime in the arcology, as well as attacks and battles. +<</options>> <br> -// This mod introduces security and crime in the arcology, as well as attacks and battles.// + <br><br> diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js index 6e7533c7acf237879bcf9ea025ff04b28a347db9..78828d789378216eb62bf4bfb40872a100623970 100644 --- a/src/js/SlaveState.js +++ b/src/js/SlaveState.js @@ -540,7 +540,7 @@ App.Entity.SlaveState = class SlaveState { this.nipplesAccessory = "none"; /** slave areolae * - * 0: normal; 1: large; 2: unusually wide; 3: huge */ + * 0: normal; 1: large; 2: unusually wide; 3: huge, 4: massive */ this.areolae = 0; /** edge of areolae are pierced * @default 0 diff --git a/src/js/datatypeCleanupJS.js b/src/js/datatypeCleanupJS.js index 705ea207c1e561d7b972a417c15f625ee63ac2cf..338f3c5a6a5303be509d558af32bddcd2cab11c5 100644 --- a/src/js/datatypeCleanupJS.js +++ b/src/js/datatypeCleanupJS.js @@ -181,7 +181,7 @@ window.SlaveDatatypeCleanup = (function SlaveDatatypeCleanup() { if (typeof slave.nipplesAccessory !== "string") { slave.nipplesAccessory = "none"; } - slave.areolae = Math.clamp(+slave.areolae, 0, 3) || 0; + slave.areolae = Math.clamp(+slave.areolae, 0, 4) || 0; if (typeof slave.areolaeShape !== "string") { slave.areolaeShape = "circle"; } @@ -820,7 +820,7 @@ window.childBoobsDatatypeCleanup = function childBoobsDatatypeCleanup(child) { if (typeof child.nipplesAccessory !== "string") { child.nipplesAccessory = "none"; } - child.areolae = Math.clamp(+child.areolae, 0, 3) || 0; + child.areolae = Math.clamp(+child.areolae, 0, 4) || 0; if (typeof child.areolaeShape !== "string") { child.areolaeShape = "circle"; } diff --git a/src/js/optionsMacro.js b/src/js/optionsMacro.js index 318bc5be54017ded7bf4396a914ac80adf7ad0e4..8fc97a6ff5ec9f62a3ee5c08a64108b84b21b273 100644 --- a/src/js/optionsMacro.js +++ b/src/js/optionsMacro.js @@ -69,8 +69,8 @@ Macro.add('options', { var extraComment = args[3] ? (' ' + args[3]) : ''; // We use a very crude heuristic for styling 'Enable' // and 'Disable' buttons differently. - const isEnableOption = args[1].startsWith("Enable") || args[1] === "Yes"; - const isDisableOption = args[1].startsWith("Disable") || args[1] === "No"; + const isEnableOption = args[1].startsWith("Enable") || args[1] === "Yes" || args[1].startsWith("Allow"); + const isDisableOption = args[1].startsWith("Disable") || args[1] === "No" || args[1].startsWith("Deny"); var className = "optionMacroOption " + (isEnableOption ? "optionMacroEnable" : isDisableOption ? "optionMacroDisable" : ""); if (args[0] !== currentOption || hasMultipleOptionsWithSameValue) { var onClickChange = args[2] ? (', ' + args[2]) : ''; diff --git a/src/npc/startingGirls/startingGirls.tw b/src/npc/startingGirls/startingGirls.tw index 2e66f7acd1fd0b86b939aa6b47ef40de48048837..538c0ed086f06a600c653f97dfcc4852bc15cde0 100644 --- a/src/npc/startingGirls/startingGirls.tw +++ b/src/npc/startingGirls/startingGirls.tw @@ -889,6 +889,8 @@ Her nationality is $activeSlave.nationality. Wide. <<elseif $activeSlave.areolae == 3>> Huge. +<<elseif $activeSlave.areolae == 4>> + Massive. <<else>> Normal. <</if>> @@ -896,7 +898,8 @@ Her nationality is $activeSlave.nationality. <<link "Normal">><<set $activeSlave.areolae = 0>><<replace "#areolae">>Normal.<</replace>><<StartingGirlsCost>><</link>> | <<link "Large">><<set $activeSlave.areolae = 1>><<replace "#areolae">>Large.<</replace>><<StartingGirlsCost>><</link>> | <<link "Wide">><<set $activeSlave.areolae = 2>><<replace "#areolae">>Wide.<</replace>><<StartingGirlsCost>><</link>> | -<<link "Huge">><<set $activeSlave.areolae = 3>><<replace "#areolae">>Huge.<</replace>><<StartingGirlsCost>><</link>> +<<link "Huge">><<set $activeSlave.areolae = 3>><<replace "#areolae">>Huge.<</replace>><<StartingGirlsCost>><</link>> | +<<link "Massive">><<set $activeSlave.areolae = 4>><<replace "#areolae">>Massive.<</replace>><<StartingGirlsCost>><</link>> <br>''Shoulders:'' <span id="shoulders"> diff --git a/src/uncategorized/reMalefactor.tw b/src/uncategorized/reMalefactor.tw index dcb788bcb2b1d74df1edec93540333c3cead4bac..bfd195874e283fdb631a184c52d49e2247776ce6 100644 --- a/src/uncategorized/reMalefactor.tw +++ b/src/uncategorized/reMalefactor.tw @@ -87,6 +87,7 @@ <<set $activeSlave.bellySag = 3, $activeSlave.bellySagPreg = 3>> <<set $activeSlave.preg = 0>> <<set $activeSlave.birthsTotal = 2>> +<<set $activeSlave.births = 2>> <<set $activeSlave.vaginalSkill = 30>> <<set $activeSlave.oralSkill = 15>> <<set $activeSlave.analSkill = 15>> diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw index 6fff3c7bc7336a4fe2a705a0fda6f8f4b397d8d2..7942216347f5ad16e073d052ca76ebf522235ce2 100644 --- a/src/uncategorized/remoteSurgery.tw +++ b/src/uncategorized/remoteSurgery.tw @@ -590,18 +590,18 @@ $He has <<if ($activeSlave.boobs > 300) && ($activeSlave.boobsImplant == 0)>> <<if $activeSlave.indentureRestrictions >= 2>> <<else>> - | [[Reduce breasts|Surgery Degradation][$activeSlave.boobs -= 200, $activeSlave.health -= 5,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $surgeryType = "boobsLoss"]] + | [[Reduce breasts|Surgery Degradation][$activeSlave.boobs -= 200, $activeSlave.health -= 5,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $surgeryType = "boobsLoss"]] <</if>> <</if>> <<if ($activeSlave.boobs >= 7000) && ($activeSlave.boobsImplant == 0)>> <<if $activeSlave.indentureRestrictions >= 2 || ($activeSlave.breedingMark == 1 && $propOutcome == 1)>> <<else>> - | [[Mastectomy|Surgery Degradation][$activeSlave.boobs = 300, $activeSlave.breastMesh = 0, $activeSlave.health -= 30,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $surgeryType = "mastectomy+"]] + | [[Mastectomy|Surgery Degradation][$activeSlave.boobs = 300, $activeSlave.breastMesh = 0, $activeSlave.health -= 30,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $surgeryType = "mastectomy+"]] <</if>> <<elseif ($activeSlave.boobs >= 2000) && ($activeSlave.boobsImplant == 0)>> <<if $activeSlave.indentureRestrictions >= 2 || ($activeSlave.breedingMark == 1 && $propOutcome == 1)>> <<else>> - | [[Mastectomy|Surgery Degradation][$activeSlave.boobs = 300, $activeSlave.breastMesh = 0, $activeSlave.health -= 30,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $surgeryType = "mastectomy"]] + | [[Mastectomy|Surgery Degradation][$activeSlave.boobs = 300, $activeSlave.breastMesh = 0, $activeSlave.health -= 30,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $surgeryType = "mastectomy"]] <</if>> <</if>> @@ -678,14 +678,29 @@ $He has <<elseif $activeSlave.areolae == 1>> $His areolae are large <<if $activeSlave.areolaeShape != "circle">>and have been surgically altered to be $activeSlave.areolaeShape-shaped<<else>>but still fairly normal<</if>>. <<elseif $activeSlave.areolae > 1>> - $He has <<if $activeSlave.areolae == 2>>huge<<elseif $activeSlave.areolae == 3>>massive<</if>> areolae<<if $activeSlave.areolaeShape != "circle">>, which have been surgically altered to be $activeSlave.areolaeShape-shaped<</if>>. - <<if ($activeSlave.indentureRestrictions < 2) && ($activeSlave.areolaeShape == "circle")>> - They are big enough that they could be reshaped into a pattern. Graft skin to make $his areolae: + $He has <<if $activeSlave.areolae == 2>>wide<<elseif $activeSlave.areolae == 3>>huge<<elseif $activeSlave.areolae == 4>>massive<</if>> areolae<<if $activeSlave.areolaeShape != "circle">>, which have been surgically altered to be $activeSlave.areolaeShape-shaped<</if>>. +<</if>> +<<if $activeSlave.indentureRestrictions < 2>> + <<if $activeSlave.areolaeShape != "circle">> + $His $activeSlave.areolaeShape-shaped areolae can be normalized or reshaped: + [[Normal|Surgery Degradation][$activeSlave.areolaeShape = "circle",cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10,$surgeryType = "areolae"]] + <<if $activeSlave.areolaeShape != "heart">> + | [[Heart-shaped|Surgery Degradation][$activeSlave.areolaeShape = "heart",cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10,$surgeryType = "areolae"]] + <</if>> + <<if $activeSlave.areolaeShape != "star">> + | [[Star-shaped|Surgery Degradation][$activeSlave.areolaeShape = "star",cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10,$surgeryType = "areolae"]] | + <</if>> + <</if>> + <<if ($activeSlave.areolae > 0) && ($activeSlave.areolaeShape == "circle")>> + They are big enough that they could be reshaped into a pattern. Graft skin to make $his areolae: [[Heart-shaped|Surgery Degradation][$activeSlave.areolaeShape = "heart",$activeSlave.areolae -= 1,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10,$surgeryType = "areolae"]] | [[Star-shaped|Surgery Degradation][$activeSlave.areolaeShape = "star",$activeSlave.areolae -= 1,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10,$surgeryType = "areolae"]] | <</if>> - <<if $activeSlave.indentureRestrictions < 2>> - [[Reduce areolae|Surgery Degradation][$activeSlave.areolae -= 1,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10,$surgeryType = "areolae"]] + <<if $activeSlave.areolae > 0>> + | [[Reduce areolae|Surgery Degradation][$activeSlave.areolae -= 1,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10,$surgeryType = "areolae"]] + <</if>> + <<if $activeSlave.areolae < 4>> + [[Enlarge areolae|Surgery Degradation][$activeSlave.areolae += 1,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10,$surgeryType = "areolae"]] <</if>> <</if>> diff --git a/src/uncategorized/resFailure.tw b/src/uncategorized/resFailure.tw index ee064bcae5f491adde3e182948885cb1905a1e96..a363dcc758151867fb383d8a6b54b3898efef450 100644 --- a/src/uncategorized/resFailure.tw +++ b/src/uncategorized/resFailure.tw @@ -183,7 +183,7 @@ <<set $activeSlave.boobs = 200*random(4,20)>> <</if>> <<set $activeSlave.nipples = either("huge", "inverted")>> - <<set $activeSlave.areolae = either(0, 1, 2, 3)>> + <<set $activeSlave.areolae = either(0, 1, 2, 3, 4)>> <<set $activeSlave.clit = either(0, 1, 2, 3)>> <<set $activeSlave.lips = random(5,85)>> <<set $activeSlave.anus = 0>> diff --git a/src/uncategorized/saDrugs.tw b/src/uncategorized/saDrugs.tw index 9561191d832ba22a7570cc06fcc34f3b464eae17..306bcbf9f452cbc2291dca9c14395a6dee2d212c 100644 --- a/src/uncategorized/saDrugs.tw +++ b/src/uncategorized/saDrugs.tw @@ -116,7 +116,7 @@ <</if>> <<set _growth = 25*Math.trunc(_growth*0.8)>> <<set $slaves[$i].boobs += Math.clamp(_growth, 25, 5000)>> - <<if random(1,100) > 30+($slaves[$i].areolae*10) && $slaves[$i].areolae < 3>> + <<if random(1,100) > 30+($slaves[$i].areolae*10) && $slaves[$i].areolae < 4>> The increase in breast size @@.lime;stretches and broadens $his areolae.@@ <<set $slaves[$i].areolae += 1>> <</if>> @@ -212,7 +212,7 @@ <</if>> <<set _growth = 25*Math.trunc(_growth*0.8)>> <<set $slaves[$i].boobs += Math.clamp(_growth, 25, 200)>> - <<if $slaves[$i].areolae < 3>> + <<if $slaves[$i].areolae < 4>> <<if _growth > $slaves[$i].areolae*25>> The increase in breast size @@.lime;stretches and broadens $his areolae.@@ <<set $slaves[$i].areolae += 1>> diff --git a/src/uncategorized/saGetMilked.tw b/src/uncategorized/saGetMilked.tw index 4521a0b14d097c6966b08e968e770e5e8137ebe6..cf8308de8238ca81698110dd80df017ccc9b4bb9 100644 --- a/src/uncategorized/saGetMilked.tw +++ b/src/uncategorized/saGetMilked.tw @@ -235,7 +235,7 @@ gets milked this week. <<elseif ($slaves[$i].nipples == "tiny")>> Producing this river of milk @@.lime;makes $his nipples grow to a nice size.@@ <<set $slaves[$i].nipples = "cute">> - <<elseif ($slaves[$i].areolae < 3) && (random(1,100) > 30+($slaves[$i].areolae*20))>> + <<elseif ($slaves[$i].areolae < 4) && (random(1,100) > 30+($slaves[$i].areolae*20))>> Producing this river of milk @@.lime;broadens $his areolae.@@ <<set $slaves[$i].areolae += 1>> <</if>> diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw index dc918f0ffde4d620b349b92ff18b75dc414ef5bf..7de47b3a2f44ae6ec48c79a6447767b2678b9f0b 100644 --- a/src/uncategorized/saLongTermEffects.tw +++ b/src/uncategorized/saLongTermEffects.tw @@ -6099,15 +6099,15 @@ <<if (($slaves[$i].boobs-$slaves[$i].boobsImplant-$slaves[$i].boobsMilk >= 5000) && (random(1,100) < 90))>> $His @@.orange;NCS@@ has @@.orange;reduced the size of $his bouncing breasts.@@ <<set $slaves[$i].boobs -= Math.round($slaves[$i].boobs * .11), _countNCS++>> - <<elseif (($slaves[$i].boobs-$slaves[$i].boobsImplant-$slaves[$i].boobsMilk <= 5000) && (!['tiny', 'cute', 'fuckable'].includes($slaves[$i].nipples)) && (random(1,100) < 30))>> - <<if ('inverted' == $slaves[$i].nipples)>><<set _target = 'partially inverted'>> - <<elseif ('partially inverted' == $slaves[$i].nipples)>><<set _target = 'normal'>> - <<else>><<set _target = either('cute', 'tiny')>> + <<elseif (($slaves[$i].boobs-$slaves[$i].boobsImplant-$slaves[$i].boobsMilk <= 5000) && (!["cute", "fuckable", "tiny"].includes($slaves[$i].nipples)) && (random(1,100) < 30))>> + <<if ($slaves[$i].nipples == "inverted")>><<set _target = "partially inverted">> + <<elseif ($slaves[$i].nipples == "partially inverted")>><<set _target = "normal">> + <<else>><<set _target = either("cute", "tiny")>> <</if>> $His @@.orange;NCS@@ has @@.lime;changed $his nipples to <<= _target>>.@@ <<set $slaves[$i].nipples = _target>> <<if ($slaves[$i].areolae > 1)>> - $His areolae also shrink down to a more normal size<<if ($slaves[$i].areolae > 3)>>, losing the surgical shape alteration<</if>>. + $His areolae also shrink down to a more normal size<<if ($slaves[$i].areolaeShape != "circle")>>, including the unique $slaves[$i].areolaeShape shapes<</if>>. <<set $slaves[$i].areolae = 1, _countNCS++>> <</if>> <<elseif (($slaves[$i].boobs-$slaves[$i].boobsImplant-$slaves[$i].boobsMilk >= 300) && (($slaves[$i].NCSyouthening >= 6) || (random(1,100) < 50)))>> diff --git a/src/utility/descriptionWidgetsFlesh.tw b/src/utility/descriptionWidgetsFlesh.tw index 841233d7ea17220ac8c4151d6f1e01ae55fe69b7..95dd2e5772febc0bd6fc00c4782032822533bdc1 100644 --- a/src/utility/descriptionWidgetsFlesh.tw +++ b/src/utility/descriptionWidgetsFlesh.tw @@ -1426,6 +1426,8 @@ $His $His areolae are unusually wide, eye-catching circles of _nipColor skin around each nipple. <<case 3>> $His _nipColor areolae are unnaturally broad, covering much of the <<if $activeSlave.boobShape == "saggy">>bottom<<else>>front<</if>> of each breast. + <<case 4>> + $His _nipColor areolae are unnaturally huge, almost entirely covering the <<if $activeSlave.boobShape == "saggy">>bottom<<else>>front<</if>> of each breast. <<default>> $His $activeSlave.nipples nipples are surrounded by a minimal _nipColor areolae. <</switch>> @@ -1433,6 +1435,8 @@ $His $His _nipColor areolae are heart-shaped, an obvious surgical alteration.<<if $activeSlave.boobShape == "saggy">> $His motherly boobs point downward, though, leaving only the curved top of each heart visible.<</if>> <<elseif $activeSlave.areolaeShape == "star">> $His _nipColor areolae are star-shaped, an obvious surgical alteration.<<if $activeSlave.boobShape == "saggy">> $His motherly boobs point downward, though, leaving only the pointed top of each star visible.<</if>> + <<elseif $activeSlave.areolaeShape != "circle">> + $His _nipColor areolae are <<= $activeSlave.areolaeShape>>-shaped, an obvious surgical alteration.<<if $activeSlave.boobShape == "saggy">> $His motherly boobs point downward, though, leaving only the top of each $activeSlave.areolaeShape visible.<</if>> <</if>> <<else>> <<areolaePiercingDescription>> diff --git a/src/utility/descriptionWidgetsPiercings.tw b/src/utility/descriptionWidgetsPiercings.tw index 4b578189aaa8f2d617c7fe20ab01fb6328cf4976..363d71ff1ab2db0e2acc1c484def396af0e52e96 100644 --- a/src/utility/descriptionWidgetsPiercings.tw +++ b/src/utility/descriptionWidgetsPiercings.tw @@ -225,6 +225,9 @@ <<case 3>> $His _nippleColor areolae are unnaturally broad, covering much of the <<if $activeSlave.boobShape == "saggy">>bottom<<else>>front<</if>> of each breast. $He has many stud piercings around their edges, forming a metal border between _nippleColor nipple and breast. + <<case 4>> + $His _nippleColor areolae are unnaturally huge, almost entirely covering the <<if $activeSlave.boobShape == "saggy">>bottom<<else>>front<</if>> of each breast. + $He has many stud piercings around their edges, forming a metal border between _nippleColor nipple and breast. <<default>> $He has stud piercings in circles around the edges of $his minimal _nippleColor areolae. $His $activeSlave.nipples nipples are surrounded by a minimal _nippleColor areolae. @@ -233,6 +236,8 @@ $His _nippleColor areolae are heart-shaped, an obvious surgical alteration. Their borders are defined by stud piercings with pink stones.<<if $activeSlave.boobShape == "saggy">> $His motherly boobs point downward, though, leaving only the curved top of each heart visible.<</if>> <<elseif $activeSlave.areolaeShape == "star">> $His _nippleColor areolae are star-shaped, an obvious surgical alteration. Their borders are defined by shiny stud piercings.<<if $activeSlave.boobShape == "saggy">> $His motherly boobs point downward, though, leaving only the pointed top of each star visible.<</if>> + <<elseif $activeSlave.areolaeShape != "circle">> + $His _nippleColor areolae are <<= $activeSlave.areolaeShape>>-shaped, an obvious surgical alteration. Their borders are defined by shiny stud piercings.<<if $activeSlave.boobShape == "saggy">> $His motherly boobs point downward, though, leaving only the top of each $activeSlave.areolaeShape visible.<</if>> <</if>> <</if>> <</if>> diff --git a/src/utility/slaveCreationWidgets.tw b/src/utility/slaveCreationWidgets.tw index 726b0282b6ca271c71df25ee5569dc58268052b2..0ba79c5e55a442ef9e74175d4611cfdb283edf13 100644 --- a/src/utility/slaveCreationWidgets.tw +++ b/src/utility/slaveCreationWidgets.tw @@ -220,6 +220,8 @@ Wide. <<elseif $activeSlave.areolae == 3>> Huge. + <<elseif $activeSlave.areolae == 4>> + Massive. <<else>> Normal. <</if>> @@ -3187,7 +3189,7 @@ <<set $activeSlave.boobs = 200*random(4,20)>> <</if>> <<set $activeSlave.nipples = either("huge", "inverted")>> - <<set $activeSlave.areolae = either(0, 1, 2, 3)>> + <<set $activeSlave.areolae = either(0, 1, 2, 3, 4)>> <<set $activeSlave.clit = either(0, 1, 2, 3)>> <<set $activeSlave.lips = random(5,85)>> <<set $activeSlave.anus = 0>>