diff --git a/src/js/assignJS.js b/src/js/assignJS.js index 073941522aadba22e1b31967b916aed75c56f5ea..6638900580087aa8e1777457de153e4fbe315090 100644 --- a/src/js/assignJS.js +++ b/src/js/assignJS.js @@ -869,50 +869,6 @@ App.UI.jobLinks = function() { } }(); -App.UI.SlaveInteract = { - fucktoyPref: function() { - let res = ""; - /** @type {App.Entity.SlaveState} */ - const slave = State.variables.activeSlave; - const {his} = getPronouns(slave); - if ((slave.assignment === "please you") || (slave.assignment === "serve in the master suite") || (slave.assignment === "be your Concubine")) { - res += `<span class="story-label">Fucktoy use preference:</span> <span id = "hole" style="font-weight:bold">${slave.toyHole}.</span> `; - /** @type {string[]} */ - let links = []; - links.push('<<link "Mouth">><<set $activeSlave.toyHole = "mouth">><<replace "#hole">>$activeSlave.toyHole<</replace>><</link>>'); - links.push('<<link "Tits">><<set $activeSlave.toyHole = "boobs">><<replace "#hole">>$activeSlave.toyHole<</replace>><</link>>'); - if ((slave.vagina > 0) && canDoVaginal(slave)) { - links.push('<<link "Pussy">><<set $activeSlave.toyHole = "pussy">><<replace "#hole">>$activeSlave.toyHole<</replace>><</link>>'); - } else if (slave.vagina === 0) { - links.push(App.UI.disabledLink("Pussy", - [`Take ${his} virginity before giving ${his} pussy special attention`])); - } - if ((slave.anus > 0) && canDoAnal(slave)) { - links.push('<<link "Ass">><<set $activeSlave.toyHole = "ass">><<replace "#hole">>$activeSlave.toyHole<</replace>><</link>>'); - } else { - links.push(App.UI.disabledLink("Ass", - [`Take ${his} anal virginity before giving ${his} ass special attention`])); - } - if ((slave.dick > 0) && canPenetrate(slave)) { - links.push('<<link "Dick">><<set $activeSlave.toyHole = "dick">><<replace "#hole">>$activeSlave.toyHole<</replace>><</link>>'); - } - links.push(`<<link "No Preference">><<set $activeSlave.toyHole = "all ${his} holes">><<replace "#hole">>$activeSlave.toyHole<</replace>><</link>>`); - res += links.join(' | ') + '<br>'; - } - App.UI.replace('#fucktoypref', res); - }, - - assignmentBlock: function(blockId) { - let res = App.UI.jobLinks.assignments(-1, undefined, () => { - return `<<replace "#assign">>$activeSlave.assignment<</replace>><<replace "#${blockId}">><<= App.UI.SlaveInteract.assignmentBlock("${blockId}")>><<= App.UI.SlaveInteract.fucktoyPref()>><</replace>>`; - }); - if (State.variables.activeSlave.assignment !== "choose her own job") { - res += ' |  <<link "Stay on this assignment for another month">><<set $activeSlave.sentence += 4>><<replace "#assign">>$activeSlave.assignment($activeSlave.sentence weeks)<</replace>><</link>>'; - } - return res; - } -}; - App.activeArcology = function() { return V.arcologies[V.activeArcologyIdx]; }; diff --git a/src/js/datatypeCleanupJS.js b/src/js/datatypeCleanupJS.js index eeb7d700abbbd20c0d9e881b607dc82160bd621f..0e7768d253f8b21ae0e73bd18a7d16adf0c55349 100644 --- a/src/js/datatypeCleanupJS.js +++ b/src/js/datatypeCleanupJS.js @@ -886,7 +886,7 @@ window.SlaveDatatypeCleanup = (function SlaveDatatypeCleanup() { slave.onDiet = Math.clamp(+slave.onDiet, 0, 1) || 0; slave.hormones = Math.clamp(+slave.hormones, -2, 2) || 0; slave.hormoneBalance = Math.clamp(+slave.hormoneBalance, -400, 400) || 0; - if (typeof slave.drugs !== "string") { + if (typeof slave.drugs !== "string" || slave.drugs === "none") { slave.drugs = "no drugs"; } slave.aphrodisiacs = Math.clamp(+slave.aphrodisiacs, 0, 2) || 0; @@ -1444,7 +1444,7 @@ window.childDietDatatypeCleanup = function childDietDatatypeCleanup(child) { child.onDiet = Math.clamp(+child.onDiet, 0, 1) || 0; child.hormones = Math.clamp(+child.hormones, -2, 2) || 0; child.hormoneBalance = Math.clamp(+child.hormoneBalance, -400, 400) || 0; - if (typeof child.drugs !== "string") { + if (typeof child.drugs !== "string" || slave.drugs === "none") { child.drugs = "no drugs"; } child.aphrodisiacs = Math.clamp(+child.aphrodisiacs, 0, 2) || 0; @@ -2480,6 +2480,20 @@ App.Entity.Utils.RARuleDatatypeCleanup = function() { } else { set.weight = null; } + + // Fix particular rules where a setting might no longer be valid + if (set.drug === "none") { + set.drug = "no drugs"; + } + if (set.brandDesign === "") { + set.brandDesign = null; + } + if (set.label === "") { + set.label = null; + } + if (set.removeLabel === "") { + set.removeLabel = null; + } } }(); diff --git a/src/js/rulesAssistantOptions.js b/src/js/rulesAssistantOptions.js index 7a7589b3124817b10ca7522eae4aa0f17f159310..2fb8cb1db46ddddb49f8521a4f23f0901e16744d 100644 --- a/src/js/rulesAssistantOptions.js +++ b/src/js/rulesAssistantOptions.js @@ -2475,7 +2475,7 @@ window.rulesAssistantOptions = (function() { class OtherDrugsList extends ListSelector { constructor() { - const drugs = [["none"]]; + const drugs = [["no drugs"]]; // Lips if (V.arcologies[0].FSSlimnessEnthusiastResearch === 1) { diff --git a/src/js/useSlave.js b/src/js/slaveInteract.js similarity index 66% rename from src/js/useSlave.js rename to src/js/slaveInteract.js index 6e138b27103ee54394811fb2c4cbe724ce96c42b..e305dc8789e65df09c8aecc4690c8f47f50dcda2 100644 --- a/src/js/useSlave.js +++ b/src/js/slaveInteract.js @@ -1,4 +1,322 @@ -window.useSlaveDisplay = function(slave) { +App.UI.SlaveInteract = { + fucktoyPref: function() { + let res = ""; + /** @type {App.Entity.SlaveState} */ + const slave = State.variables.activeSlave; + const {his} = getPronouns(slave); + if ((slave.assignment === "please you") || (slave.assignment === "serve in the master suite") || (slave.assignment === "be your Concubine")) { + res += `<span class="story-label">Fucktoy use preference:</span> <span id = "hole" style="font-weight:bold">${slave.toyHole}.</span> `; + /** @type {string[]} */ + let links = []; + links.push('<<link "Mouth">><<set $activeSlave.toyHole = "mouth">><<replace "#hole">>$activeSlave.toyHole<</replace>><</link>>'); + links.push('<<link "Tits">><<set $activeSlave.toyHole = "boobs">><<replace "#hole">>$activeSlave.toyHole<</replace>><</link>>'); + if ((slave.vagina > 0) && canDoVaginal(slave)) { + links.push('<<link "Pussy">><<set $activeSlave.toyHole = "pussy">><<replace "#hole">>$activeSlave.toyHole<</replace>><</link>>'); + } else if (slave.vagina === 0) { + links.push(App.UI.disabledLink("Pussy", + [`Take ${his} virginity before giving ${his} pussy special attention`])); + } + if ((slave.anus > 0) && canDoAnal(slave)) { + links.push('<<link "Ass">><<set $activeSlave.toyHole = "ass">><<replace "#hole">>$activeSlave.toyHole<</replace>><</link>>'); + } else { + links.push(App.UI.disabledLink("Ass", + [`Take ${his} anal virginity before giving ${his} ass special attention`])); + } + if ((slave.dick > 0) && canPenetrate(slave)) { + links.push('<<link "Dick">><<set $activeSlave.toyHole = "dick">><<replace "#hole">>$activeSlave.toyHole<</replace>><</link>>'); + } + links.push(`<<link "No Preference">><<set $activeSlave.toyHole = "all ${his} holes">><<replace "#hole">>$activeSlave.toyHole<</replace>><</link>>`); + res += links.join(' | ') + '<br>'; + } + App.UI.replace('#fucktoypref', res); + }, + + assignmentBlock: function(blockId) { + let res = App.UI.jobLinks.assignments(-1, undefined, () => { + return `<<replace "#assign">>$activeSlave.assignment<</replace>><<replace "#${blockId}">><<= App.UI.SlaveInteract.assignmentBlock("${blockId}")>><<= App.UI.SlaveInteract.fucktoyPref()>><</replace>>`; + }); + if (State.variables.activeSlave.assignment !== "choose her own job") { + res += ' |  <<link "Stay on this assignment for another month">><<set $activeSlave.sentence += 4>><<replace "#assign">>$activeSlave.assignment($activeSlave.sentence weeks)<</replace>><</link>>'; + } + return res; + } +}; + +App.UI.SlaveInteract.drugs = function(slave) { + let el = document.createElement('div'); + + const + { + // eslint-disable-next-line no-unused-vars + he, him, his, hers, himself, boy, He, His + } = getPronouns(slave); + const drugOptions = []; + const drugLevelOptions = []; + + if (slave.drugs !== "no drugs"){ + drugLevelOptions.push({text: `None`, drug: `no drugs`}); + } + if (slave.indentureRestrictions < 2) { + if ( + slave.drugs === "intensive breast injections" || + slave.drugs === "intensive butt injections" || + slave.drugs === "intensive penis enhancement" || + slave.drugs === "intensive testicle enhancement" + ) { + switch (slave.drugs) { + case "intensive breast injections": + drugLevelOptions.push({text: `Moderate`, drug: `breast injections`}); + break; + case "intensive butt injections": + drugLevelOptions.push({text: `Moderate`, drug: `butt injections`}); + break; + case "intensive penis enhancement": + drugLevelOptions.push({text: `Moderate`, drug: `penis enhancement`}); + break; + case "intensive testicle enhancement": + drugLevelOptions.push({text: `Moderate`, drug: `testicle enhancement`}); + break; + } + } else if (slave.drugs === "breast injections" || slave.drugs === "butt injections" || slave.drugs === "penis enhancement" || slave.drugs === "testicle enhancement") { + drugLevelOptions.push({text: `Intensify`, drug: "intensive " + slave.drugs}); + } + if (slave.intelligence > -100 && slave.indentureRestrictions < 1) { + drugOptions.push({text: `Psychosuppressants`, drug: `psychosuppressants`}); + } else { + drugOptions.push({text: `Psychosuppressants`}); + } + if (V.arcologies[0].FSSlaveProfessionalismResearch === 1) { + if (canImproveIntelligence(slave)) { + drugOptions.push({text: `Psychostimulants`, drug: `psychostimulants`}); + } else { + drugOptions.push({text: `Psychostimulants`}); + } + } + if (slave.boobs < 48000) { + drugOptions.push({text: `Breasts`, drug: `breast injections`}); + } else { + drugOptions.push({text: `Breasts`}); + } + if (V.arcologies[0].FSAssetExpansionistResearch === 1) { + if (slave.boobs < 25000) { + drugOptions.push({text: `Hyper-Breasts`, drug: `hyper breast injections`}); + } else { + drugOptions.push({text: `Hyper Breasts`}); + } + } + if (V.arcologies[0].FSSlimnessEnthusiastResearch === 1) { + if ((slave.boobs - slave.boobsImplant - slave.boobsMilk) > 100) { + drugOptions.push({text: `Breast reducers`, drug: `breast redistributors`}); + } else { + drugOptions.push({text: `Breast reducers`}); + } + if (slave.nipples === "huge" || slave.nipples === "puffy" || slave.nipples === "cute") { + drugOptions.push({text: `Nipple reducers`, drug: `nipple atrophiers`}); + } else { + drugOptions.push({text: `Nipple reducers`}); + } + } + if (slave.butt < 9) { + drugOptions.push({text: `Buttocks`, drug: `butt injections`}); + } else { + drugOptions.push({text: `Buttocks`}); + } + if (V.arcologies[0].FSAssetExpansionistResearch === 1) { + if (slave.butt < 20) { + drugOptions.push({text: `Hyper-Buttocks`, drug: `hyper butt injections`}); + } else { + drugOptions.push({text: `Hyper Buttocks`}); + } + } + if (V.arcologies[0].FSSlimnessEnthusiastResearch === 1) { + if (slave.butt - slave.buttImplant > 0) { + drugOptions.push({text: `Butt reducers`, drug: `butt redistributors`}); + } else { + drugOptions.push({text: `Butt reducers`}); + } + } + if (slave.lips <= 95 || (slave.lips <= 85 && V.seeExtreme !== 1)) { + drugOptions.push({text: `Lips`, drug: `lip injections`}); + } else { + drugOptions.push({text: `Lips`}); + } + if (V.arcologies[0].FSSlimnessEnthusiastResearch === 1) { + if (slave.lips-slave.lipsImplant > 0) { + drugOptions.push({text: `Lip reducers`, drug: `lip atrophiers`}); + } else { + drugOptions.push({text: `Lip reducers`}); + } + } + if (V.growthStim === 1) { + if (canImproveHeight(slave)) { + drugOptions.push({text: `Growth Stimulants`, drug: `growth stimulants`}); + } else { + drugOptions.push({text: `Growth Stimulants`}); + } + } + drugOptions.push({text: `Fertility`, drug: `fertility drugs`}); + if (V.seeHyperPreg === 1 && slave.indentureRestrictions < 1 && V.superFertilityDrugs === 1 && (slave.breedingMark !== 1 || V.propOutcome === 0 || V.eugenicsFullControl === 1 || V.arcologies[0].FSRestart === "unset")) { + drugOptions.push({text: `Fertility+`, drug: `super fertility drugs`}); + } + if (slave.dick > 0) { + if (slave.dick < 10) { + drugOptions.push({text: `Penis enhancement`, drug: `penis enhancement`}); + } else { + drugOptions.push({text: `Penis enhancement`}); + } + } else { + if (slave.clit < 5) { + drugOptions.push({text: `Clitoris enhancement`, drug: `penis enhancement`}); + } else { + drugOptions.push({text: `Clitoris enhancement`}); + } + } + if (V.arcologies[0].FSAssetExpansionistResearch === 1) { + if (slave.dick > 0) { + if (slave.dick < 31) { + drugOptions.push({text: `Hyper penis enhancement`, drug: `hyper penis enhancement`}); + } else { + drugOptions.push({text: `Hyper penis enhancement`}); + } + } else { + if (slave.clit < 5) { + drugOptions.push({text: `Hyper clitoris enhancement`, drug: `penis enhancement`}); + } else { + drugOptions.push({text: `Hyper clitoris enhancement`}); + } + } + } + if (V.arcologies[0].FSSlimnessEnthusiastResearch === 1) { + if (slave.dick > 1) { + drugOptions.push({text: `Penis reducers`, drug: `penis atrophiers`}); + } else if (slave.dick === 1) { + drugOptions.push({text: `Penis reducers`}); + } + } + if (slave.dick > 0 && slave.dick < 11 && !canAchieveErection(slave) && slave.chastityPenis !== 1) { + drugOptions.push({text: `Erectile dysfunction circumvention`, drug: `priapism agents`}); + } + if (slave.balls > 0) { + drugOptions.push({text: `Testicle enhancement`, drug: `testicle enhancement`}); + if (V.arcologies[0].FSAssetExpansionistResearch === 1) { + drugOptions.push({text: `Hyper testicle enhancement`, drug: `hyper testicle enhancement`}); + } + } + if (V.arcologies[0].FSSlimnessEnthusiastResearch === 1) { + if (slave.balls > 1) { + drugOptions.push({text: `Testicle reducers`, drug: `testicle atrophiers`}); + } else if (slave.balls === 1) { + drugOptions.push({text: `Testicle reducers`}); + } + if (slave.clit > 0) { + drugOptions.push({text: `Clitoris reducers`, drug: `clitoris atrophiers`}); + } + if (slave.labia > 0) { + drugOptions.push({text: `Labia reducers`, drug: `labia atrophiers`}); + } + } + if (V.arcologies[0].FSYouthPreferentialistResearch === 1) { + if (slave.visualAge > 18) { + drugOptions.push({text: `Anti-aging cream`, drug: `anti-aging cream`}); + } else { + drugOptions.push({text: `Anti-aging cream`}); + } + } + drugOptions.push({text: `Steroids`, drug: `steroids`}); + if (V.arcologies[0].FSSlimnessEnthusiastResearch === 1) { + if (slave.weight > -95) { + drugOptions.push({text: `Weight loss pills`, drug: `appetite suppressors`}); + } else { + drugOptions.push({text: `Weight loss pills`}); + } + } + if (V.precociousPuberty === 1 && V.pubertyHormones === 1 && (slave.breedingMark !== 1 || V.propOutcome === 0 || V.eugenicsFullControl === 1 || V.arcologies[0].FSRestart === "unset")) { + if ((slave.ovaries === 1 || slave.mpreg === 1) && slave.pubertyXX === 0) { + drugOptions.push({text: `Female hormone injections`, drug: `female hormone injections`}); + } + if (slave.balls > 0 && slave.pubertyXY === 0) { + drugOptions.push({text: `Male hormone injections`, drug: `male hormone injections`}); + } + } + drugOptions.push({text: `Hormone enhancers`, drug: `hormone enhancers`}); + drugOptions.push({text: `Hormone blockers`, drug: `hormone blockers`}); + if (slave.boobs > 250 && slave.boobShape !== "saggy" && V.purchasedSagBGone === 1) { + drugOptions.push({text: `Sag-B-Gone breast lifting cream`, drug: `sag-B-gone`}); + } + } + + let title = document.createElement('div'); + title.textContent = `Drugs: `; + let chosenDrug = document.createElement('span'); + chosenDrug.textContent = `${capFirstChar(slave.drugs)} `; + chosenDrug.style.fontWeight = "bold"; + title.append(chosenDrug); + title.appendChild(generateRows(drugLevelOptions)); + el.append(title); + + let drugLinks = document.createElement('div'); + drugLinks.appendChild(generateRows(drugOptions)); + drugLinks.className ="choices"; + el.append(drugLinks); + + function generateRows(drugArray) { + let row = document.createDocumentFragment(); + for (let i = 0; i < drugArray.length; i++) { + let link; + const separator = document.createTextNode(` | `); + const keys = Object.keys(drugArray[i]); + + // Test to see if there was a problem with the key + for (let j = 0; j < keys.length; j++) { + if (["text", "drug"].includes(keys[j])) { + continue; + } else { + drugArray[i].text += " ERROR, THIS SCENE WAS NOT ENTERED CORRECTLY"; + console.log("Trash found while generateRows() was running: " + keys[j] + ": " + drugArray[i][keys[j]]); + break; + } + } + + // is it just text? + if (keys.length === 1) { + if (drugArray[i].text) { + link = document.createTextNode(drugArray[i].text); + } else { + console.log(`expected 'text' only, got: ${drugArray[i]}`); + link = document.createTextNode("error, text not found"); + } + // Are they already on this drug? + } else if (drugArray[i].drug === slave.drugs) { + link = document.createTextNode(drugArray[i].text); + // Set up the link + } else { + link = App.UI.DOM.link( + drugArray[i].text, + () => { + slave.drugs = drugArray[i].drug, + App.UI.SlaveInteract.drugs(slave); + }, + ); + + // add a note node if required + if (drugArray[i].note) { + let note = document.createTextNode(drugArray[i].note); + note.className = "note"; + link.appendChild(note); + } + } + row.appendChild(link); + if (i < drugArray.length-1) { + row.appendChild(separator); + } + } + + return row; + } + return jQuery('#drugs').empty().append(el); +}; + +App.UI.SlaveInteract.useSlaveDisplay = function(slave) { // Goal: Be able to write the entire "use her" block with only dom fragments. let el = document.createElement('div'); @@ -352,21 +670,21 @@ window.useSlaveDisplay = function(slave) { }); } el.append(`Or use ${him} here: `); - el.appendChild(generateRow(sexOptions)); + el.appendChild(generateRows(sexOptions)); if (!jQuery.isEmptyObject(fillFaceOptions)) { let fill = document.createElement('div'); fill.appendChild(document.createTextNode(` Fill ${his} mouth with: `)); - fill.appendChild(generateRow(fillFaceOptions)); + fill.appendChild(generateRows(fillFaceOptions)); el.appendChild(fill); } if (!jQuery.isEmptyObject(fillAssOptions)) { let fill = document.createElement('div'); fill.appendChild(document.createTextNode(` Fill ${his} ass with: `)); - fill.appendChild(generateRow(fillAssOptions)); + fill.appendChild(generateRows(fillAssOptions)); el.appendChild(fill); } - function generateRow(sexArray) { + function generateRows(sexArray) { let row = document.createElement('span'); for (let i = 0; i < sexArray.length; i++) { let link; @@ -379,7 +697,7 @@ window.useSlaveDisplay = function(slave) { continue; } else { sexArray[i].text += " ERROR, THIS SCENE WAS NOT ENTERED CORRECTLY"; - console.log("Trash found while generateRow() was running: " + keys[j] + ": " + sexArray[i][keys[j]]); + console.log("Trash found while generateRows() was running: " + keys[j] + ": " + sexArray[i][keys[j]]); break; } } @@ -434,14 +752,14 @@ window.useSlaveDisplay = function(slave) { App.UI.replace('#miniscene', `<<goto "${sexOption.goto}">>`); } - SlaveInteractRefreshAll(slave); + App.UI.SlaveInteract.refreshAll(slave); return; } } return jQuery('#useSlave').empty().append(el); }; -window.SlaveInteractBloating = function(slave) { +App.UI.SlaveInteract.bloating = function(slave) { const { // eslint-disable-next-line no-unused-vars @@ -479,7 +797,7 @@ window.SlaveInteractBloating = function(slave) { slave.cumSource = 0, slave.milkSource = 0, SetBellySize(slave), - SlaveInteractRefreshAll(slave); + App.UI.SlaveInteract.refreshAll(slave); }, ); bloating.append(link); @@ -491,7 +809,7 @@ window.SlaveInteractBloating = function(slave) { slave.inflationType = "none", slave.inflationMethod = 0, SetBellySize(slave), - SlaveInteractRefreshAll(slave); + App.UI.SlaveInteract.refreshAll(slave); }, ); bloating.append(link); @@ -502,7 +820,7 @@ window.SlaveInteractBloating = function(slave) { }; -window.SlaveInteractFertility = function(slave) { +App.UI.SlaveInteract.fertility = function(slave) { const { // eslint-disable-next-line no-unused-vars @@ -568,7 +886,7 @@ window.SlaveInteractFertility = function(slave) { `Use contraceptives`, () => { slave.preg = -1, - SlaveInteractRefreshAll(slave); + App.UI.SlaveInteract.refreshAll(slave); }, ); fertilityblock.append(link); @@ -577,7 +895,7 @@ window.SlaveInteractFertility = function(slave) { `Let ${him} get pregnant`, () => { slave.preg = 0, - SlaveInteractRefreshAll(slave); + App.UI.SlaveInteract.refreshAll(slave); }, ); fertilityblock.append(link); @@ -681,7 +999,7 @@ window.SlaveInteractFertility = function(slave) { `Normal Birth`, () => { slave.pregControl = "none", - SlaveInteractFertility(slave); + App.UI.SlaveInteract.fertility(slave); }, ); control.append(link); @@ -690,7 +1008,7 @@ window.SlaveInteractFertility = function(slave) { `Suppress Labor`, () => { slave.pregControl = "labor suppressors", - SlaveInteractFertility(slave); + App.UI.SlaveInteract.fertility(slave); }, ); control.append(link); @@ -701,7 +1019,7 @@ window.SlaveInteractFertility = function(slave) { `Normal Gestation`, () => { slave.pregControl = "none", - SlaveInteractFertility(slave); + App.UI.SlaveInteract.fertility(slave); }, ); control.append(link); @@ -712,7 +1030,7 @@ window.SlaveInteractFertility = function(slave) { `Slow Gestation`, () => { slave.pregControl = "slow gestation", - SlaveInteractFertility(slave); + App.UI.SlaveInteract.fertility(slave); }, ); control.append(link); @@ -723,7 +1041,7 @@ window.SlaveInteractFertility = function(slave) { `Fast Gestation`, () => { slave.pregControl = "speed up", - SlaveInteractFertility(slave); + App.UI.SlaveInteract.fertility(slave); }, ); control.append(link); @@ -734,8 +1052,9 @@ window.SlaveInteractFertility = function(slave) { return jQuery('#fertilityblock').empty().append(fertilityblock); }; -window.SlaveInteractRefreshAll = function(slave) { - SlaveInteractBloating(slave); - SlaveInteractFertility(slave); - useSlaveDisplay(slave); +App.UI.SlaveInteract.refreshAll = function(slave) { + App.UI.SlaveInteract.bloating(slave); + App.UI.SlaveInteract.fertility(slave); + App.UI.SlaveInteract.useSlaveDisplay(slave); + App.UI.SlaveInteract.drugs(slave); }; diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw index 00de0b3bc901bd06dbe4c66467f7a715820d6b9a..001f3e386bad83eb528f46562448a4d32b1c5ec7 100644 --- a/src/uncategorized/slaveInteract.tw +++ b/src/uncategorized/slaveInteract.tw @@ -69,7 +69,7 @@ <div id="miniscene"></div> <span id="useSlave"></span> <script> - useSlaveDisplay(V.activeSlave) + App.UI.SlaveInteract.useSlaveDisplay(V.activeSlave) </script> /* pregmod start */ @@ -628,7 +628,7 @@ <<if $activeSlave.vagina > -1>> <br>Vaginal accessory: ''<span id="vaginalAccessory">$activeSlave.vaginalAccessory</span>.'' - <<link "None">><<set $activeSlave.vaginalAccessory = "none">><<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>><<run SlaveInteractRefreshAll($activeSlave)>><</link>> + <<link "None">><<set $activeSlave.vaginalAccessory = "none">><<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>><<run App.UI.SlaveInteract.refreshAll($activeSlave)>><</link>> <<if isItemAccessible("bullet vibrator")>> | <<link "Bullet vibrator">><<set $activeSlave.vaginalAccessory = "bullet vibrator">><<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>><</link>> <</if>> @@ -660,7 +660,7 @@ <<if $activeSlave.dick > 0>> <br>Dick accessory: ''<span id="dickAccessory">$activeSlave.dickAccessory</span>.'' - <<link "None">><<set $activeSlave.dickAccessory = "none">><<replace "#dickAccessory">>$activeSlave.dickAccessory<</replace>><<run SlaveInteractRefreshAll($activeSlave)>><</link>> + <<link "None">><<set $activeSlave.dickAccessory = "none">><<replace "#dickAccessory">>$activeSlave.dickAccessory<</replace>><<run App.UI.SlaveInteract.refreshAll($activeSlave)>><</link>> <<if isItemAccessible("bullet vibrator") && $toysBoughtVaginalAttachments == 1>> | <<link "Bullet vibrator">><<set $activeSlave.dickAccessory = "bullet vibrator">><<replace "#dickAccessory">>$activeSlave.dickAccessory<</replace>><</link>> <</if>> @@ -670,18 +670,18 @@ <</if>> <br>Chastity device: ''<span id="chastity"><<if $activeSlave.chastityAnus == 1 && $activeSlave.chastityPenis == 1 && $activeSlave.chastityVagina == 1>>full chastity<<elseif $activeSlave.chastityPenis == 1 && $activeSlave.chastityVagina == 1>>genital chastity<<elseif $activeSlave.chastityAnus == 1 && $activeSlave.chastityPenis == 1>>combined chastity cage<<elseif $activeSlave.chastityAnus == 1 && $activeSlave.chastityVagina == 1>>combined chastity belt<<elseif $activeSlave.chastityVagina == 1>>chastity belt<<elseif $activeSlave.chastityPenis == 1>>chastity cage<<elseif $activeSlave.chastityAnus == 1>>anal chastity<<elseif $activeSlave.chastityAnus == 0 && $activeSlave.chastityPenis == 0 && $activeSlave.chastityVagina == 0>>none<<else>>THERE HAS BEEN AN ERROR<</if>></span>.'' - <<link "None">><<set $activeSlave.chastityAnus = 0>><<set $activeSlave.chastityPenis = 0>><<set $activeSlave.chastityVagina = 0>><<replace "#chastity">>none<</replace>><<run SlaveInteractRefreshAll($activeSlave)>><</link>> - | <<link "Anal chastity">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 1>><<set $activeSlave.chastityPenis = 0>><<set $activeSlave.chastityVagina = 0>><<replace "#chastity">>anal chastity<</replace>><<run SlaveInteractRefreshAll($activeSlave)>><</link>> + <<link "None">><<set $activeSlave.chastityAnus = 0>><<set $activeSlave.chastityPenis = 0>><<set $activeSlave.chastityVagina = 0>><<replace "#chastity">>none<</replace>><<run App.UI.SlaveInteract.refreshAll($activeSlave)>><</link>> + | <<link "Anal chastity">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 1>><<set $activeSlave.chastityPenis = 0>><<set $activeSlave.chastityVagina = 0>><<replace "#chastity">>anal chastity<</replace>><<run App.UI.SlaveInteract.refreshAll($activeSlave)>><</link>> <<if $activeSlave.vagina > -1>> - | <<link "Chastity belt">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 0>><<set $activeSlave.chastityPenis = 0>><<set $activeSlave.chastityVagina = 1>><<replace "#chastity">>Chastity belt<</replace>><<run SlaveInteractRefreshAll($activeSlave)>><</link>> - | <<link "Combined chastity belt">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 1>><<set $activeSlave.chastityPenis = 0>><<set $activeSlave.chastityVagina = 1>><<replace "#chastity">>Combined chastity belt<</replace>><<run SlaveInteractRefreshAll($activeSlave)>><</link>> + | <<link "Chastity belt">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 0>><<set $activeSlave.chastityPenis = 0>><<set $activeSlave.chastityVagina = 1>><<replace "#chastity">>Chastity belt<</replace>><<run App.UI.SlaveInteract.refreshAll($activeSlave)>><</link>> + | <<link "Combined chastity belt">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 1>><<set $activeSlave.chastityPenis = 0>><<set $activeSlave.chastityVagina = 1>><<replace "#chastity">>Combined chastity belt<</replace>><<run App.UI.SlaveInteract.refreshAll($activeSlave)>><</link>> <</if>> <<if $activeSlave.dick > 0>> - | <<link "Chastity cage">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 0>><<set $activeSlave.chastityPenis = 1>><<set $activeSlave.chastityVagina = 0>><<replace "#chastity">>Chastity cage<</replace>><<run SlaveInteractRefreshAll($activeSlave)>><</link>> - | <<link "Combined chastity cage">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 1>><<set $activeSlave.chastityPenis = 1>><<set $activeSlave.chastityVagina = 0>><<replace "#chastity">>Combined Chastity cage<</replace>><<run SlaveInteractRefreshAll($activeSlave)>><</link>> + | <<link "Chastity cage">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 0>><<set $activeSlave.chastityPenis = 1>><<set $activeSlave.chastityVagina = 0>><<replace "#chastity">>Chastity cage<</replace>><<run App.UI.SlaveInteract.refreshAll($activeSlave)>><</link>> + | <<link "Combined chastity cage">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 1>><<set $activeSlave.chastityPenis = 1>><<set $activeSlave.chastityVagina = 0>><<replace "#chastity">>Combined Chastity cage<</replace>><<run App.UI.SlaveInteract.refreshAll($activeSlave)>><</link>> <<if $activeSlave.vagina > -1>> - | <<link "Genital chastity">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 0>><<set $activeSlave.chastityPenis = 1>><<set $activeSlave.chastityVagina = 1>><<replace "#chastity">>Genital chastity<</replace>><<run SlaveInteractRefreshAll($activeSlave)>><</link>> - | <<link "Full chastity">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 1>><<set $activeSlave.chastityPenis = 1>><<set $activeSlave.chastityVagina = 1>><<replace "#chastity">>Full chastity<</replace>><<run SlaveInteractRefreshAll($activeSlave)>><</link>> + | <<link "Genital chastity">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 0>><<set $activeSlave.chastityPenis = 1>><<set $activeSlave.chastityVagina = 1>><<replace "#chastity">>Genital chastity<</replace>><<run App.UI.SlaveInteract.refreshAll($activeSlave)>><</link>> + | <<link "Full chastity">><<set $activeSlave.choosesOwnChastity = 0>><<set $activeSlave.chastityAnus = 1>><<set $activeSlave.chastityPenis = 1>><<set $activeSlave.chastityVagina = 1>><<replace "#chastity">>Full chastity<</replace>><<run App.UI.SlaveInteract.refreshAll($activeSlave)>><</link>> <</if>> <</if>> @@ -701,197 +701,8 @@ <</if>> /* CLOSES WARDROBE CHECK */ <br><br>__Physical Regimen:__ -<span id="drugs"> - <br>Drugs: <strong>$activeSlave.drugs</strong>. - <<link "None">><<set $activeSlave.drugs = "no drugs">><<SlaveInteractDrugs>><</link>> - <<if $activeSlave.indentureRestrictions < 2>> - <<if $activeSlave.drugs == "intensive breast injections" || $activeSlave.drugs == "intensive butt injections" || $activeSlave.drugs == "intensive penis enhancement" || $activeSlave.drugs == "intensive testicle enhancement">> - | <<link "Moderate">> - <<switch $activeSlave.drugs>> - <<case "intensive breast injections">> - <<set $activeSlave.drugs = "breast injections">> - <<case "intensive butt injections">> - <<set $activeSlave.drugs = "butt injections">> - <<case "intensive penis enhancement">> - <<set $activeSlave.drugs = "penis enhancement">> - <<case "intensive testicle enhancement">> - <<set $activeSlave.drugs = "testicle enhancement">> - <</switch>> - <<SlaveInteractDrugs>> - <</link>> - <<elseif $activeSlave.drugs == "breast injections" || $activeSlave.drugs == "butt injections" || $activeSlave.drugs == "penis enhancement" || $activeSlave.drugs == "testicle enhancement">> - | <<link "Intensify">> - <<set $activeSlave.drugs = "intensive " + $activeSlave.drugs>> - <<SlaveInteractDrugs>> - <</link>> - <</if>> - <<if ($activeSlave.intelligence > -100) && $activeSlave.indentureRestrictions < 1>> - | <<link "Psychosuppressants">><<set $activeSlave.drugs = "psychosuppressants">><<SlaveInteractDrugs>><</link>> - <<else>> - | Psychosuppressants - <</if>> - <<if $arcologies[0].FSSlaveProfessionalismResearch == 1>> - <<if canImproveIntelligence($activeSlave)>> - | <<link "Psychostimulants">><<set $activeSlave.drugs = "psychostimulants">><<SlaveInteractDrugs>><</link>> - <<else>> - | Psychostimulants - <</if>> - <</if>> - <<if ($activeSlave.boobs < 48000)>> - | <<link "Breasts">><<set $activeSlave.drugs = "breast injections">><<SlaveInteractDrugs>><</link>> - <<else>> - | Breasts - <</if>> - <<if $arcologies[0].FSAssetExpansionistResearch == 1>> - <<if ($activeSlave.boobs < 48000)>> - | <<link "Hyper-Breasts">><<set $activeSlave.drugs = "hyper breast injections">><<SlaveInteractDrugs>><</link>> - <<else>> - | Hyper Breasts - <</if>> - <</if>> - <<if $arcologies[0].FSSlimnessEnthusiastResearch == 1>> - <<if ($activeSlave.boobs-$activeSlave.boobsImplant-$activeSlave.boobsMilk > 100)>> - | <<link "Breast reducers">><<set $activeSlave.drugs = "breast redistributors">><<SlaveInteractDrugs>><</link>> - <<else>> - | Breast reducers - <</if>> - <<if ($activeSlave.nipples == "huge" || $activeSlave.nipples == "puffy" || $activeSlave.nipples == "cute")>> - | <<link "Nipple reducers">><<set $activeSlave.drugs = "nipple atrophiers">><<SlaveInteractDrugs>><</link>> - <<else>> - | Nipple reducers - <</if>> - <</if>> - <<if ($activeSlave.butt < 9)>> - | <<link "Buttocks">><<set $activeSlave.drugs = "butt injections">><<SlaveInteractDrugs>><</link>> - <<else>> - | Buttocks - <</if>> - <<if $arcologies[0].FSAssetExpansionistResearch == 1>> - <<if ($activeSlave.butt < 20)>> - | <<link "Hyper-Buttocks">><<set $activeSlave.drugs = "hyper butt injections">><<SlaveInteractDrugs>><</link>> - <<else>> - | Hyper Buttocks - <</if>> - <</if>> - <<if $arcologies[0].FSSlimnessEnthusiastResearch == 1>> - <<if ($activeSlave.butt-$activeSlave.buttImplant > 0)>> - | <<link "Butt reducers">><<set $activeSlave.drugs = "butt redistributors">><<SlaveInteractDrugs>><</link>> - <<else>> - | Butt reducers - <</if>> - <</if>> - <<if ($activeSlave.lips <= 95) || (($activeSlave.lips <= 85) && ($seeExtreme != 1))>> - | <<link "Lips">><<set $activeSlave.drugs = "lip injections">><<SlaveInteractDrugs>><</link>> - <<else>> - | Lips - <</if>> - <<if $arcologies[0].FSSlimnessEnthusiastResearch == 1>> - <<if ($activeSlave.lips-$activeSlave.lipsImplant > 0)>> - | <<link "Lip reducers">><<set $activeSlave.drugs = "lip atrophiers">><<SlaveInteractDrugs>><</link>> - <<else>> - | Lip reducers - <</if>> - <</if>> - <<if $growthStim == 1>> - <<if canImproveHeight($activeSlave)>> - | <<link "Growth stimulants">><<set $activeSlave.drugs = "growth stimulants">><<SlaveInteractDrugs>><</link>> - <<else>> - | Growth stimulants - <</if>> - <</if>> - | <<link "Fertility">><<set $activeSlave.drugs = "fertility drugs">><<SlaveInteractDrugs>><</link>> - <<if ($seeHyperPreg == 1) && ($activeSlave.indentureRestrictions < 1) && ($superFertilityDrugs == 1) && ($activeSlave.breedingMark != 1 || $propOutcome == 0 || $eugenicsFullControl == 1 || $arcologies[0].FSRestart == "unset")>> - | <<link "Fertility+">><<set $activeSlave.drugs = "super fertility drugs">><<SlaveInteractDrugs>><</link>> - <</if>> - <<if ($activeSlave.dick > 0)>> - <<if ($activeSlave.dick < 10)>> - | <<link "Penis enhancement">><<set $activeSlave.drugs = "penis enhancement">><<SlaveInteractDrugs>><</link>> - <<else>> - | Penis enhancement - <</if>> - <<else>> - <<if ($activeSlave.clit < 5)>> - | <<link "Clitoris enhancement">><<set $activeSlave.drugs = "penis enhancement">><<SlaveInteractDrugs>><</link>> - <<else>> - | Clitoris enhancement - <</if>> - <</if>> - <<if $arcologies[0].FSAssetExpansionistResearch == 1>> - <<if ($activeSlave.dick > 0)>> - <<if ($activeSlave.dick < 31)>> - | <<link "Hyper penis enhancement">><<set $activeSlave.drugs = "hyper penis enhancement">><<SlaveInteractDrugs>><</link>> - <<else>> - | Hyper penis enhancement - <</if>> - <<else>> - <<if ($activeSlave.clit < 5)>> - | <<link "Hyper clitoris enhancement">><<set $activeSlave.drugs = "penis enhancement">><<SlaveInteractDrugs>><</link>> - <<else>> - | Hyper clitoris enhancement - <</if>> - <</if>> - <</if>> - <<if $arcologies[0].FSSlimnessEnthusiastResearch == 1>> - <<if ($activeSlave.dick > 1)>> - | <<link "Penis reducers">><<set $activeSlave.drugs = "penis atrophiers">><<SlaveInteractDrugs>><</link>> - <<elseif $activeSlave.dick == 1>> - | Penis reducers - <</if>> - <</if>> - <<if $activeSlave.dick > 0 && $activeSlave.dick < 11 && !canAchieveErection($activeSlave) && $activeSlave.chastityPenis != 1>> - | <<link "Erectile dysfunction circumvention">><<set $activeSlave.drugs = "priapism agents">><<SlaveInteractDrugs>><</link>> - <</if>> - <<if ($activeSlave.balls > 0)>> - | <<link "Testicle enhancement">><<set $activeSlave.drugs = "testicle enhancement">><<SlaveInteractDrugs>><</link>> - <<if $arcologies[0].FSAssetExpansionistResearch == 1>> - | <<link "Hyper testicle enhancement">><<set $activeSlave.drugs = "hyper testicle enhancement">><<SlaveInteractDrugs>><</link>> - <</if>> - <</if>> - <<if $arcologies[0].FSSlimnessEnthusiastResearch == 1>> - <<if ($activeSlave.balls > 1)>> - | <<link "Testicle reducers">><<set $activeSlave.drugs = "testicle atrophiers">><<SlaveInteractDrugs>><</link>> - <<elseif $activeSlave.balls == 1>> - | Testicle reducers - <</if>> - <<if ($activeSlave.clit > 0)>> - | <<link "Clitoris reducers">><<set $activeSlave.drugs = "clitoris atrophiers">><<SlaveInteractDrugs>><</link>> - <</if>> - <<if $activeSlave.labia > 0 && $activeSlave.vagina > -1>> - | <<link "Labia reducers">><<set $activeSlave.drugs = "labia atrophiers">><<SlaveInteractDrugs>><</link>> - <</if>> - <</if>> - <<if $arcologies[0].FSYouthPreferentialistResearch == 1>> - <<if ($activeSlave.visualAge > 18)>> - | <<link "Anti-aging cream">><<set $activeSlave.drugs = "anti-aging cream">><<SlaveInteractDrugs>><</link>> - <<else>> - | Anti-aging cream - <</if>> - <</if>> - | <<link "Steroids">><<set $activeSlave.drugs = "steroids">><<SlaveInteractDrugs>><</link>> - <<if $arcologies[0].FSSlimnessEnthusiastResearch == 1>> - <<if ($activeSlave.weight > -95)>> - | <<link "Weight loss pills">><<set $activeSlave.drugs = "appetite suppressors">><<SlaveInteractDrugs>><</link>> - <<else>> - | Weight loss pills - <</if>> - <</if>> - <<if $precociousPuberty == 1 && $pubertyHormones == 1 && ($activeSlave.breedingMark != 1 || $propOutcome == 0 || $eugenicsFullControl == 1 || $arcologies[0].FSRestart == "unset")>> - <<if ($activeSlave.ovaries == 1 || $activeSlave.mpreg == 1) && $activeSlave.pubertyXX == 0>> - | <<link "Female hormone injections">><<set $activeSlave.drugs = "female hormone injections">><<SlaveInteractDrugs>><</link>> - <</if>> - <<if $activeSlave.balls > 0 && $activeSlave.pubertyXY == 0>> - | <<link "Male hormone injections">><<set $activeSlave.drugs = "male hormone injections">><<SlaveInteractDrugs>><</link>> - <</if>> - <</if>> - | <<link "Hormone enhancers">><<set $activeSlave.drugs = "hormone enhancers">><<SlaveInteractDrugs>><</link>> - | <<link "Hormone blockers">><<set $activeSlave.drugs = "hormone blockers">><<SlaveInteractDrugs>><</link>> - <<if $activeSlave.boobs > 250 && $activeSlave.boobShape != "saggy" && $purchasedSagBGone == 1>> - | <<link "Sag-B-Gone breast lifting cream">><<set $activeSlave.drugs = "sag-B-gone">><<SlaveInteractDrugs>><</link>> - <</if>> - <</if>> -</span> - -<br> +<span id="drugs"></span> +<script>App.UI.SlaveInteract.drugs(V.activeSlave)</script> Health: <span id="curatives"><strong><<if $activeSlave.curatives > 1>>curatives<<elseif $activeSlave.curatives > 0>>preventatives<<else>>none<</if>></strong></span>. <<link "None">><<set $activeSlave.curatives = 0>><<replace "#curatives">><strong>none</strong><</replace>><</link>> @@ -907,7 +718,7 @@ Aphrodisiacs: <span id="aphrodisiacs"><strong><<if $activeSlave.aphrodisiacs > 1 | <<link "Anaphrodisiacs">><<set $activeSlave.aphrodisiacs = -1>><<replace "#aphrodisiacs">><strong>anaphrodisiacs</strong><</replace>><</link>> <br> <span id="fertilityblock"></span> -<script>SlaveInteractFertility(V.activeSlave)</script> +<script>App.UI.SlaveInteract.fertility(V.activeSlave)</script> <<set $reservedChildren = FetusGlobalReserveCount("incubator")>> <<set $reservedChildrenNursery = FetusGlobalReserveCount("nursery")>> <<set _reservedIncubator = WombReserveCount($activeSlave, "incubator")>> @@ -1025,7 +836,7 @@ Aphrodisiacs: <span id="aphrodisiacs"><strong><<if $activeSlave.aphrodisiacs > 1 <</if>> <span id="bloating"></span> -<script>SlaveInteractBloating(V.activeSlave)</script> +<script>App.UI.SlaveInteract.bloating(V.activeSlave)</script> Hormones: <strong><span id="hormones"> <<if $activeSlave.hormones == -2>>intensive male<<elseif $activeSlave.hormones == -1>>male<<elseif $activeSlave.hormones == 2>>intensive female<<elseif $activeSlave.hormones == 1>>female<<else>>none<</if>></span></strong>. diff --git a/src/uncategorized/surgeryDegradation.tw b/src/uncategorized/surgeryDegradation.tw index 68e8ac2b31bd9525855bb1ebc63a2ca3d1d969e0..70e6a15d7997c4aa7e60fd71f7ed06ec89e996df 100644 --- a/src/uncategorized/surgeryDegradation.tw +++ b/src/uncategorized/surgeryDegradation.tw @@ -16,12 +16,12 @@ <<set $activeSlave.clitPiercing = 0>> <</if>> <<if $activeSlave.drugs == "penis enhancement" || $activeSlave.drugs == "hyper penis enhancement" || $activeSlave.drugs == "breast redistributors">> - <<set $activeSlave.drugs = "none">> + <<set $activeSlave.drugs = "no drugs">> <</if>> <</if>> <<if $activeSlave.balls == 0>> <<if $activeSlave.drugs == "testicle enhancement" || $activeSlave.drugs == "hyper testicle enhancement" || $activeSlave.drugs == "testicle atrophiers">> - <<set $activeSlave.drugs = "none">> + <<set $activeSlave.drugs = "no drugs">> <</if>> <</if>> diff --git a/src/utility/miscWidgets.tw b/src/utility/miscWidgets.tw index 416b17605a5b7944bc81859e6e9721e198b11d7e..d29ab3c6e288a5e8baa021bcd1d24259224d3444 100644 --- a/src/utility/miscWidgets.tw +++ b/src/utility/miscWidgets.tw @@ -10,201 +10,6 @@ Allows for dynamic updating of the next button in the storyCaption (left side-ba <<replace "#nextButton">> <<userButton>> <</replace>> <</widget>> -/% -Call as <<SlaveInteractDrugs>> -%/ -<<widget "SlaveInteractDrugs">> - <<replace #drugs>> - <br>Drugs: <strong>$activeSlave.drugs</strong>. - <<link "None">><<set $activeSlave.drugs = "no drugs">><<SlaveInteractDrugs>><</link>> - <<if $activeSlave.indentureRestrictions < 2>> - <<if $activeSlave.drugs == "intensive breast injections" || $activeSlave.drugs == "intensive butt injections" || $activeSlave.drugs == "intensive penis enhancement" || $activeSlave.drugs == "intensive testicle enhancement">> - | <<link "Moderate">> - <<switch $activeSlave.drugs>> - <<case "intensive breast injections">> - <<set $activeSlave.drugs = "breast injections">> - <<case "intensive butt injections">> - <<set $activeSlave.drugs = "butt injections">> - <<case "intensive penis enhancement">> - <<set $activeSlave.drugs = "penis enhancement">> - <<case "intensive testicle enhancement">> - <<set $activeSlave.drugs = "testicle enhancement">> - <</switch>> - <<SlaveInteractDrugs>> - <</link>> - <<elseif $activeSlave.drugs == "breast injections" || $activeSlave.drugs == "butt injections" || $activeSlave.drugs == "penis enhancement" || $activeSlave.drugs == "testicle enhancement">> - | <<link "Intensify">> - <<set $activeSlave.drugs = "intensive " + $activeSlave.drugs>> - <<SlaveInteractDrugs>> - <</link>> - <</if>> - <<if ($activeSlave.intelligence > -100) && $activeSlave.indentureRestrictions < 1>> - | <<link "Psychosuppressants">><<set $activeSlave.drugs = "psychosuppressants">><<SlaveInteractDrugs>><</link>> - <<else>> - | Psychosuppressants - <</if>> - <<if $arcologies[0].FSSlaveProfessionalismResearch == 1>> - <<if canImproveIntelligence($activeSlave)>> - | <<link "Psychostimulants">><<set $activeSlave.drugs = "psychostimulants">><<SlaveInteractDrugs>><</link>> - <<else>> - | Psychostimulants - <</if>> - <</if>> - <<if ($activeSlave.boobs < 48000)>> - | <<link "Breasts">><<set $activeSlave.drugs = "breast injections">><<SlaveInteractDrugs>><</link>> - <<else>> - | Breasts - <</if>> - <<if $arcologies[0].FSAssetExpansionistResearch == 1>> - <<if ($activeSlave.boobs < 25000)>> - | <<link "Hyper-Breasts">><<set $activeSlave.drugs = "hyper breast injections">><<SlaveInteractDrugs>><</link>> - <<else>> - | Hyper Breasts - <</if>> - <</if>> - <<if $arcologies[0].FSSlimnessEnthusiastResearch == 1>> - <<if ($activeSlave.boobs-$activeSlave.boobsImplant-$activeSlave.boobsMilk > 100)>> - | <<link "Breast reducers">><<set $activeSlave.drugs = "breast redistributors">><<SlaveInteractDrugs>><</link>> - <<else>> - | Breast reducers - <</if>> - <<if ($activeSlave.nipples == "huge" || $activeSlave.nipples == "puffy" || $activeSlave.nipples == "cute")>> - | <<link "Nipple reducers">><<set $activeSlave.drugs = "nipple atrophiers">><<SlaveInteractDrugs>><</link>> - <<else>> - | Nipple reducers - <</if>> - <</if>> - <<if ($activeSlave.butt < 9)>> - | <<link "Buttocks">><<set $activeSlave.drugs = "butt injections">><<SlaveInteractDrugs>><</link>> - <<else>> - | Buttocks - <</if>> - <<if $arcologies[0].FSAssetExpansionistResearch == 1>> - <<if ($activeSlave.butt < 20)>> - | <<link "Hyper-Buttocks">><<set $activeSlave.drugs = "hyper butt injections">><<SlaveInteractDrugs>><</link>> - <<else>> - | Hyper Buttocks - <</if>> - <</if>> - <<if $arcologies[0].FSSlimnessEnthusiastResearch == 1>> - <<if ($activeSlave.butt-$activeSlave.buttImplant > 0)>> - | <<link "Butt reducers">><<set $activeSlave.drugs = "butt redistributors">><<SlaveInteractDrugs>><</link>> - <<else>> - | Butt reducers - <</if>> - <</if>> - <<if ($activeSlave.lips <= 95) || (($activeSlave.lips <= 85) && ($seeExtreme != 1))>> - | <<link "Lips">><<set $activeSlave.drugs = "lip injections">><<SlaveInteractDrugs>><</link>> - <<else>> - | Lips - <</if>> - <<if $arcologies[0].FSSlimnessEnthusiastResearch == 1>> - <<if ($activeSlave.lips-$activeSlave.lipsImplant > 0)>> - | <<link "Lip reducers">><<set $activeSlave.drugs = "lip atrophiers">><<SlaveInteractDrugs>><</link>> - <<else>> - | Lip reducers - <</if>> - <</if>> - <<if $growthStim == 1>> - <<if canImproveHeight($activeSlave)>> - | <<link "Growth Stimulants">><<set $activeSlave.drugs = "growth stimulants">><<SlaveInteractDrugs>><</link>> - <<else>> - | Growth Stimulants - <</if>> - <</if>> - | <<link "Fertility">><<set $activeSlave.drugs = "fertility drugs">><<SlaveInteractDrugs>><</link>> - <<if ($seeHyperPreg == 1) && ($activeSlave.indentureRestrictions < 1) && ($superFertilityDrugs == 1) && ($activeSlave.breedingMark != 1 || $propOutcome == 0 || $eugenicsFullControl == 1 || $arcologies[0].FSRestart == "unset")>> - | <<link "Fertility+">><<set $activeSlave.drugs = "super fertility drugs">><<SlaveInteractDrugs>><</link>> - <</if>> - <<if ($activeSlave.dick > 0)>> - <<if ($activeSlave.dick < 10)>> - | <<link "Penis enhancement">><<set $activeSlave.drugs = "penis enhancement">><<SlaveInteractDrugs>><</link>> - <<else>> - | Penis enhancement - <</if>> - <<else>> - <<if ($activeSlave.clit < 5)>> - | <<link "Clitoris enhancement">><<set $activeSlave.drugs = "penis enhancement">><<SlaveInteractDrugs>><</link>> - <<else>> - | Clitoris enhancement - <</if>> - <</if>> - <<if $arcologies[0].FSAssetExpansionistResearch == 1>> - <<if ($activeSlave.dick > 0)>> - <<if ($activeSlave.dick < 31)>> - | <<link "Hyper penis enhancement">><<set $activeSlave.drugs = "hyper penis enhancement">><<SlaveInteractDrugs>><</link>> - <<else>> - | Hyper penis enhancement - <</if>> - <<else>> - <<if ($activeSlave.clit < 5)>> - | <<link "Hyper clitoris enhancement">><<set $activeSlave.drugs = "penis enhancement">><<SlaveInteractDrugs>><</link>> - <<else>> - | Hyper clitoris enhancement - <</if>> - <</if>> - <</if>> - <<if $arcologies[0].FSSlimnessEnthusiastResearch == 1>> - <<if ($activeSlave.dick > 1)>> - | <<link "Penis reducers">><<set $activeSlave.drugs = "penis atrophiers">><<SlaveInteractDrugs>><</link>> - <<elseif $activeSlave.dick == 1>> - | Penis reducers - <</if>> - <</if>> - <<if $activeSlave.dick > 0 && $activeSlave.dick < 11 && !canAchieveErection($activeSlave) && $activeSlave.chastityPenis != 1>> - | <<link "Erectile dysfunction circumvention">><<set $activeSlave.drugs = "priapism agents">><<SlaveInteractDrugs>><</link>> - <</if>> - <<if ($activeSlave.balls > 0)>> - | <<link "Testicle enhancement">><<set $activeSlave.drugs = "testicle enhancement">><<SlaveInteractDrugs>><</link>> - <<if $arcologies[0].FSAssetExpansionistResearch == 1>> - | <<link "Hyper testicle enhancement">><<set $activeSlave.drugs = "hyper testicle enhancement">><<SlaveInteractDrugs>><</link>> - <</if>> - <</if>> - <<if $arcologies[0].FSSlimnessEnthusiastResearch == 1>> - <<if ($activeSlave.balls > 1)>> - | <<link "Testicle reducers">><<set $activeSlave.drugs = "testicle atrophiers">><<SlaveInteractDrugs>><</link>> - <<elseif $activeSlave.balls == 1>> - | Testicle reducers - <</if>> - <<if ($activeSlave.clit > 0)>> - | <<link "Clitoris reducers">><<set $activeSlave.drugs = "clitoris atrophiers">><<SlaveInteractDrugs>><</link>> - <</if>> - <<if ($activeSlave.labia > 0)>> - | <<link "Labia reducers">><<set $activeSlave.drugs = "labia atrophiers">><<SlaveInteractDrugs>><</link>> - <</if>> - <</if>> - <<if $arcologies[0].FSYouthPreferentialistResearch == 1>> - <<if ($activeSlave.visualAge > 18)>> - | <<link "Anti-aging cream">><<set $activeSlave.drugs = "anti-aging cream">><<SlaveInteractDrugs>><</link>> - <<else>> - | Anti-aging cream - <</if>> - <</if>> - | <<link "Steroids">><<set $activeSlave.drugs = "steroids">><<SlaveInteractDrugs>><</link>> - <<if $arcologies[0].FSSlimnessEnthusiastResearch == 1>> - <<if ($activeSlave.weight > -95)>> - | <<link "Weight loss pills">><<set $activeSlave.drugs = "appetite suppressors">><<SlaveInteractDrugs>><</link>> - <<else>> - | Weight loss pills - <</if>> - <</if>> - <<if $precociousPuberty == 1 && $pubertyHormones == 1 && ($activeSlave.breedingMark != 1 || $propOutcome == 0 || $eugenicsFullControl == 1 || $arcologies[0].FSRestart == "unset")>> - <<if ($activeSlave.ovaries == 1 || $activeSlave.mpreg == 1) && $activeSlave.pubertyXX == 0>> - | <<link "Female hormone injections">><<set $activeSlave.drugs = "female hormone injections">><<SlaveInteractDrugs>><</link>> - <</if>> - <<if $activeSlave.balls > 0 && $activeSlave.pubertyXY == 0>> - | <<link "Male hormone injections">><<set $activeSlave.drugs = "male hormone injections">><<SlaveInteractDrugs>><</link>> - <</if>> - <</if>> - | <<link "Hormone enhancers">><<set $activeSlave.drugs = "hormone enhancers">><<SlaveInteractDrugs>><</link>> - | <<link "Hormone blockers">><<set $activeSlave.drugs = "hormone blockers">><<SlaveInteractDrugs>><</link>> - <<if $activeSlave.boobs > 250 && $activeSlave.boobShape != "saggy" && $purchasedSagBGone == 1>> - | <<link "Sag-B-Gone breast lifting cream">><<set $activeSlave.drugs = "sag-B-gone">><<SlaveInteractDrugs>><</link>> - <</if>> - <</if>> - <</replace>> -<</widget>> - <<widget "Master">><<if def $args[0]>><<run Enunciate($args[0])>><<elseif ndef $titleEnunciate>><<run Enunciate($activeSlave)>><</if>>$titleEnunciate<</widget>> <<widget "say">><<if (def $args[0]) && $sayEnunciate != "lisp">>$args[0]<<else>>$sayEnunciate<</if>><</widget>> <<widget "s">>$sEnunciate<</widget>>