From 90a18d3dc96c5e4bd7a9dad682ca8cb1123078e2 Mon Sep 17 00:00:00 2001 From: i107760 <13422-i107760@users.noreply.gitgud.io> Date: Thu, 30 Jul 2020 15:06:35 -0700 Subject: [PATCH] Add "The Utopian Orphanage" Slave School --- js/003-data/gameVariableData.js | 3 + js/003-data/policiesData.js | 16 ++++++ src/cheats/mod_EditArcologyCheat.tw | 14 +++++ .../backwardsCompatibility/datatypeCleanup.js | 2 + src/gui/Encyclopedia/encyclopedia.tw | 1 + src/interaction/main/mainLinks.js | 3 + src/js/utilsFC.js | 2 +- src/npc/generate/generateMarketSlave.js | 57 +++++++++++++++++++ src/player/js/playerJS.js | 5 ++ src/pregmod/theUtopianOrphanage.tw | 28 +++++++++ src/uncategorized/arcmgmt.tw | 18 ++++++ src/uncategorized/bulkSlaveGenerate.tw | 7 +++ src/uncategorized/buySlaves.tw | 11 ++++ src/uncategorized/costsReport.tw | 7 +++ src/uncategorized/pSchoolSuggestion.tw | 8 +++ src/uncategorized/randomNonindividualEvent.tw | 22 +++++++ src/uncategorized/resEndowment.tw | 30 ++++++++++ src/uncategorized/resFailure.tw | 56 ++++++++++++++++++ src/uncategorized/resMove.tw | 6 ++ src/uncategorized/resSale.tw | 10 ++++ src/utility/slaveCreationWidgets.tw | 4 ++ 21 files changed, 309 insertions(+), 1 deletion(-) create mode 100644 src/pregmod/theUtopianOrphanage.tw diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js index 69dd71720e6..96c74c650b5 100644 --- a/js/003-data/gameVariableData.js +++ b/js/003-data/gameVariableData.js @@ -1048,6 +1048,9 @@ App.Data.resetOnNGPlus = { TSS: { schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0 }, + TUO: { + schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0 + }, GRI: { schoolUpgrade: 0, schoolPresent: 0, schoolProsperity: 0, subsidize: 0, schoolAnnexed: 0, studentsBought: 0, schoolSale: 0 }, diff --git a/js/003-data/policiesData.js b/js/003-data/policiesData.js index 269206d55e0..7690a24648d 100644 --- a/js/003-data/policiesData.js +++ b/js/003-data/policiesData.js @@ -555,6 +555,22 @@ App.Data.Policies.Selection = { get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; }, } ], + "TUO.subsidize": [ + { + title: "The Utopian Orphanage subsidy", + text: "you will subsidize this school's branch campus in your arcology.", + activatedText: "you are subsidizing this school's branch campus in your arcology.", + requirements: function() { return (V.TUO.schoolProsperity < 10 && V.TUO.schoolPresent === 1); }, + get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; }, + }, + { + title: "Undermine The Utopian Orphanage", + text: "you will covertly hurt this school's branch campus in your arcology.", + activatedText: "you are covertly hurting this school's branch campus in your arcology.", + requirements: function() { return (V.TUO.schoolPresent === 1); }, + get note() { return `Will cost ${cashFormat(1000)} weekly to maintain; does not cost reputation to start`; }, + } + ], "GRI.subsidize": [ { title: "The Growth Research Institute subsidy", diff --git a/src/cheats/mod_EditArcologyCheat.tw b/src/cheats/mod_EditArcologyCheat.tw index 16eae1a020d..b1eec155dd2 100644 --- a/src/cheats/mod_EditArcologyCheat.tw +++ b/src/cheats/mod_EditArcologyCheat.tw @@ -202,6 +202,20 @@ Custom: <<textbox "$language" $language "MOD_Edit Arcology Cheat">> <br>TSS Failed: ''$TSS.schoolAnnexed'' | <<radiobutton "$TSS.schoolAnnexed" 0>> 0 | <<radiobutton "$TSS.schoolAnnexed" 1>> 1 (Failed) + + <br>TUO Upgrades: ''$TUO.schoolUpgrade'' | + <<radiobutton "$TUO.schoolUpgrade" 0>> 0 + | <<radiobutton "$TUO.schoolUpgrade" 1>> 1 + | <<radiobutton "$TUO.schoolUpgrade" 2>> 2 + + <br>TUO Moved to Arcology: ''$TUO.schoolPresent'' | + <<radiobutton "$TUO.schoolPresent" 0>> 0 + | <<radiobutton "$TUO.schoolPresent" 1>> 1 (Moved) + + <br>TUO Prosperity: <<textbox "$TUO.schoolProsperity" $TUO.schoolProsperity>> + <br>TUO Failed: ''$TUO.schoolAnnexed'' | + <<radiobutton "$TUO.schoolAnnexed" 0>> 0 + | <<radiobutton "$TUO.schoolAnnexed" 1>> 1 (Failed) <br><br>''The Growth Research Institute:'' <br>GRI Students Bought: <<textbox "$GRI.studentsBought" $GRI.studentsBought>> diff --git a/src/data/backwardsCompatibility/datatypeCleanup.js b/src/data/backwardsCompatibility/datatypeCleanup.js index f60622d7e2f..0d0904d701c 100644 --- a/src/data/backwardsCompatibility/datatypeCleanup.js +++ b/src/data/backwardsCompatibility/datatypeCleanup.js @@ -1489,6 +1489,8 @@ globalThis.ArcologyDatatypeCleanup = function() { V.TSS.studentsBought = Math.max(+V.TSS.studentsBought, 0) || 0; V.TSS.schoolProsperity = Math.clamp(+V.TSS.schoolProsperity, -10, 10) || 0; + V.TUO.studentsBought = Math.max(+V.TSS.studentsBought, 0) || 0; + V.TUO.schoolProsperity = Math.clamp(+V.TSS.schoolProsperity, -10, 10) || 0; V.GRI.studentsBought = Math.max(+V.GRI.studentsBought, 0) || 0; V.GRI.schoolProsperity = Math.clamp(+V.GRI.schoolProsperity, -10, 10) || 0; V.SCP.studentsBought = Math.max(+V.SCP.studentsBought, 0) || 0; diff --git a/src/gui/Encyclopedia/encyclopedia.tw b/src/gui/Encyclopedia/encyclopedia.tw index 61134d4fdcf..c6360d21273 100644 --- a/src/gui/Encyclopedia/encyclopedia.tw +++ b/src/gui/Encyclopedia/encyclopedia.tw @@ -2828,6 +2828,7 @@ LORE: INTERVIEWS <br>''lowercasedonkey'' for various additions, not limited to the budget overhauls. Set up all the tabs too. Gave events dynamic vector art. Hammered the scarring and branding systems into place. Been a real boon writing events and other things as well. Used ezsh's facility framework to enhance slave summaries. Set up a system to recall where slaves were serving. Striving to master DOM with great gains. <br>''amomynous0'' for bug reports and testing in addition to SFmod unit descriptions. <br>''wepsrd'' for QOL (hormonal balance cheat and lactation adaptation to new menu) fixes. + <br>''i107760'' for Costs Budget, CashX work, The Utopian Orphanage and Farmyard work. <br><br>''Many other anonymous contributors'' helped fix bugs via GitHub. They will be credited by name upon request. diff --git a/src/interaction/main/mainLinks.js b/src/interaction/main/mainLinks.js index 44ea3bca163..b9d85dfff44 100644 --- a/src/interaction/main/mainLinks.js +++ b/src/interaction/main/mainLinks.js @@ -250,6 +250,9 @@ App.UI.View.mainLinks = function() { if (V.TSS.schoolSale !== 0) { schoolSale("The Slavegirl School"); } + if (V.TUO.schoolSale !== 0) { + schoolSale("The Utopian Orphanage"); + } if (V.GRI.schoolSale !== 0) { schoolSale("Growth Research Institute"); } diff --git a/src/js/utilsFC.js b/src/js/utilsFC.js index 6953e0af1df..915b0c82397 100644 --- a/src/js/utilsFC.js +++ b/src/js/utilsFC.js @@ -3003,4 +3003,4 @@ globalThis.deflate = function(slave) { slave.milkSource = 0; slave.cumSource = 0; SetBellySize(slave); -}; +}; \ No newline at end of file diff --git a/src/npc/generate/generateMarketSlave.js b/src/npc/generate/generateMarketSlave.js index 96b1e0d13d9..20f5dca10a4 100644 --- a/src/npc/generate/generateMarketSlave.js +++ b/src/npc/generate/generateMarketSlave.js @@ -1549,6 +1549,63 @@ globalThis.generateMarketSlave = function(market = "kidnappers", numArcology = 1 break; } + case "TUO": { + SGProp.minAge = V.minimumSlaveAge; + SGProp.maxAge = Math.max(V.fertilityAge + jsRandom(0,1), V.minimumSlaveAge + jsRandom(0,3)); + SGProp.disableDisability = 1; + slave = GenerateNewSlave("", SGProp); + slave.origin = "You bought $him from The Utopian Orphanage right after $his graduation."; + slave.career = "a slave"; + setHealth(slave, jsRandom(60, 80), 0, Math.max(normalRandInt(0, 4), 0), 0, jsRandom(0, 20)); + slave.devotion = jsRandom(50, 75); + slave.trust = jsRandom(50, 75); + if (V.TUO.schoolUpgrade === 1) { + slave.face = random(30, 100); + slave.intelligence = Intelligence.random({limitIntelligence: [55, 100]}); + slave.intelligenceImplant = 30; + slave.skill.accent = 1; + slave.skill.entertainment = 75; + slave.skill.combat = 1; + } else { + slave.face = random(10, 65); + slave.intelligence = Intelligence.random({limitIntelligence: [35, 75]}); + slave.intelligenceImplant = 15; + slave.skill.accent = jsEither(0,1); + slave.skill.entertainment = 45; + slave.skill.combat = 0; + } + if (V.TUO.schoolUpgrade === 2) { + slave.skill.vaginal = 15; + slave.skill.oral = 15; + slave.skill.anal = 15; + slave.skill.whoring = 15; + slave.energy = jsRandom(40,95); + } else { + slave.skill.vaginal = 0; + slave.skill.oral = 0; + slave.skill.anal = 0; + slave.skill.whoring = 0; + slave.energy = jsRandom(15,65); + } + slave.faceImplant = 0; + slave.weight = jsRandom(-17,17); + slave.muscle = jsRandom(0,20); + slave.lips = jsRandom(10,40); + slave.lipsImplant = 0; + if (slave.age <= 13) { + slave.boobs = 200; + } else if (slave.age <= 16) { + slave.boobs = jsRandom(200, 400); + } else { + slave.boobs = jsRandom(200, 950); + } + slave.boobsImplant = 0; + slave.butt = jsRandom(0,2); + slave.buttImplant = 0; + slave.vagina = 0; + slave.anus = 0; + break; + } case "GRI": { SGProp.minAge = 16; SGProp.maxAge = 19; diff --git a/src/player/js/playerJS.js b/src/player/js/playerJS.js index dbc4ccb9d42..bd80ac8d127 100644 --- a/src/player/js/playerJS.js +++ b/src/player/js/playerJS.js @@ -491,6 +491,11 @@ globalThis.PCTitle = function() { } else if (V.TSS.schoolPresent === 1) { schoolsPresent.push("The Slave School"); } + if (V.TUO.schoolProsperity >= 10) { + schoolsPerfected.push("The Utopian Orphanage"); + } else if (V.TUO.schoolPresent === 1) { + schoolsPresent.push("The Utopian Orphanage"); + } if (V.GRI.schoolProsperity >= 10) { schoolsPerfected.push("The Growth Research Institute"); } else if (V.GRI.schoolPresent === 1) { diff --git a/src/pregmod/theUtopianOrphanage.tw b/src/pregmod/theUtopianOrphanage.tw new file mode 100644 index 00000000000..ddf142333ab --- /dev/null +++ b/src/pregmod/theUtopianOrphanage.tw @@ -0,0 +1,28 @@ +:: The Utopian Orphanage [nobr] + +<<set $nextButton = "Back", $nextLink = "Buy Slaves", $returnTo = "Buy Slaves", $encyclopedia = "Slave Schools", $slaveMarket = "TUO">> +/* Multi-Purchase Support */ +<<if ndef $newSlaves>><<set $newSlaves = []>><</if>> +<<if $newSlaves.length > 0>> + <<set $nextButton = "Continue", $nextLink = "Bulk Slave Intro", $returnTo = "Main", $newSlaveIndex = 0>> +<</if>> + +//The Utopian Orphanage is where all slaves dream of being raised. Its business model is to offer intelligent, well educated girls just past their majority. The girls are treated exceptionally well and have no sexual education or experience. + +<br><br>The Utopian Orphanage offers a fresh graduate for inspection. The interview takes place in the girl's privare room, where she showcases her education and witts. + +<<set _marketResult = generateMarketSlave("TUO")>> +<<set $activeSlave = _marketResult.slave>> +<<print _marketResult.text>> +<<set _slaveCost = slaveCost($activeSlave)>> +<<if $TUO.schoolSale != 0>> + <<set _slaveCost = Math.trunc(_slaveCost*0.6)>> +<<elseif $TUO.schoolUpgrade != 0>> + <<set _slaveCost = Math.trunc(_slaveCost*1.2)>> +<</if>> +<<if $slavesSeen > $slaveMarketLimit>><<set _slaveCost += Math.trunc(_slaveCost*(($slavesSeen-$slaveMarketLimit)*0.1))>><</if>> + +<br><br>The price is <<print cashFormat(_slaveCost)>>.<<if $slavesSeen > $slaveMarketLimit>> You have cast such a wide net for slaves this week that it is becoming more expensive to find more for sale. Your reputation helps determine your reach within the slave market.<</if>> + +<<setLocalPronouns $activeSlave>> +<<buyingFromSchoolControls $TUO "slave" "slaves">> diff --git a/src/uncategorized/arcmgmt.tw b/src/uncategorized/arcmgmt.tw index 40ab439b9ab..f04a755a5ce 100644 --- a/src/uncategorized/arcmgmt.tw +++ b/src/uncategorized/arcmgmt.tw @@ -1603,6 +1603,24 @@ You own <</if>> <</if>> +<<if $TUO.schoolPresent == 1>> + <br> + The Utopian Orphanage has a <<if $TUO.schoolProsperity > 4>>very prosperous<<elseif $TUO.schoolProsperity < -4>>struggling<<else>>thriving<</if>> branch campus in $arcologies[0].name. + <<if $TUO.schoolProsperity >= 10>> + It is one of the finest slave schools in the world<<if $rep > 19000>>.<<else>>, @@.green;improving your reputation.@@<<run repX(200, "policies")>><</if>> + <<set $TUO.subsidize = 0>> + <<set $TUO.schoolProsperity = 10>> + <</if>> + <<if $TUO.subsidize == 1>> + You have a policy of subsidizing them. + <<set $TUO.schoolProsperity++>> + <<elseif $TUO.subsidize == -1>> + You have a policy of covertly undermining them. + <<set $TUO.schoolProsperity-->> + <</if>> +<</if>> + + <<if $GRI.schoolPresent == 1>> <br> The Growth Research Institute has a <<if $GRI.schoolProsperity > 4>>very prosperous<<elseif $GRI.schoolProsperity < -4>>struggling<<else>>thriving<</if>> subsidiary lab in $arcologies[0].name. diff --git a/src/uncategorized/bulkSlaveGenerate.tw b/src/uncategorized/bulkSlaveGenerate.tw index 6e40cfd7f2c..69ec4dae50e 100644 --- a/src/uncategorized/bulkSlaveGenerate.tw +++ b/src/uncategorized/bulkSlaveGenerate.tw @@ -14,6 +14,11 @@ <<set $discount = 375>> <</if>> +<<case "TUO">> + <<if $TUO.schoolUpgrade != 0>> + <<set $discount = 375>> + <</if>> + <<case "GRI">> <<if $GRI.schoolUpgrade != 0>> <<set $discount = 375>> @@ -115,6 +120,8 @@ <<switch $slaveMarket>> <<case "TSS">> <<set $TSS.studentsBought += $newSlaves.length>> +<<case "TUO">> + <<set $TUO.studentsBought += $newSlaves.length>> <<case "GRI">> <<set $GRI.studentsBought += $newSlaves.length>> <<case "SCP">> diff --git a/src/uncategorized/buySlaves.tw b/src/uncategorized/buySlaves.tw index 5b696027dbc..04f8e072cdc 100644 --- a/src/uncategorized/buySlaves.tw +++ b/src/uncategorized/buySlaves.tw @@ -204,6 +204,17 @@ //Straightforward slaves with good training.//<<if $TSS.schoolSale == 1>> //@@.yellow;Offering your first purchase at half price this week.@@//<</if>> </div> + <div class="indent"> + [[The Utopian Orphanage][$slavesSeen += 1]] | + <<if $cash > _minimumFive>> + [[(x5)|Bulk Slave Generate][$slaveMarket = "TUO", $introType = "bulk", $numSlaves = 5]] | + <</if>> + <<if $cash > _minimumTen>> + [[(x10)|Bulk Slave Generate][$slaveMarket = "TUO", $introType = "bulk", $numSlaves = 10]] | + <</if>> + //Intelligent, unspoiled slaves just past their majority.//<<if $TUO.schoolSale == 1>> //@@.yellow;Offering your first purchase at half price this week.@@//<</if>> + </div> + <div class="indent"> [[Growth Research Institute][$slavesSeen += 1]] | <<if $cash > _minimumFive>> diff --git a/src/uncategorized/costsReport.tw b/src/uncategorized/costsReport.tw index 7bf27efa140..ff255584896 100644 --- a/src/uncategorized/costsReport.tw +++ b/src/uncategorized/costsReport.tw @@ -308,6 +308,13 @@ $researchLab.level > 0>> <<set _schoolSubsidy = 1>> <</if>> <</if>> +<<if ($TUO.schoolPresent > 0)>> + <<set _school = "The Utopian Orphanage">> + <<set _schoolPresent = 1>> + <<if $TUO.subsidize != 0>> + <<set _schoolSubsidy = 1>> + <</if>> +<</if>> <<if ($GRI.schoolPresent > 0)>> <<set _school = "Growth Research Institute">> <<set _schoolPresent = 1>> diff --git a/src/uncategorized/pSchoolSuggestion.tw b/src/uncategorized/pSchoolSuggestion.tw index 229d28cac2d..c29dca1d41f 100644 --- a/src/uncategorized/pSchoolSuggestion.tw +++ b/src/uncategorized/pSchoolSuggestion.tw @@ -12,6 +12,8 @@ When you do appear, you get an even greater acclamation than usual. It seems you <br><br> It seems a young, thin woman in a modern business suit was concluding her own argument when you arrived. "In summation, I propose we offer our support for Nueva Universidad de Libertad," says the woman, who you now realize is a very feminine man. "Nullification may seem extreme, but serves to expand the potential market amongst more... traditional slaveowners," says the man, who you <i>now</i> realize is a woman who merely looks like a very feminine man. +<br><br> +"I believe what you need in a slave is a good base. As such, The Utopian Orphanage is the best. They offer slaves who were raised with careful attention; They're beautiful, smart, well-educated and unspoiled." The young surgeon continues. "No traumas, a happy childhood, obedient and trusting. You can then mold them to your will as you please, I have enough faith in my skills to achieve the results I desire myself." <<if $seeDicks != 100>> <br><br> "The Slave School for me," says a portly man with a thriving slave breaking business down in the markets. "Their girls are pretty, skilled, and innocent, without any of that weird crap the other schools go in for. Besides, all that special stuff drives up the prices. TSS girls are cheap for what you get. When you're tired of one, just buy another." He turns to his friend and business partner, a much thinner man. "Though I'm sure you disagree with me." @@ -44,6 +46,12 @@ The older gentleman who seems to have been acting as unofficial moderator before <<set $TSS.schoolPresent = 1>><<run cashX(-10000, "policies")>> <</replace>> <</link>> + <br><<link "The Utopian Orphanage">> + <<replace "#result">> + You thank your leading citizens and announce your decision: you'll be contacting The Utopian Orphanage about opening a branch campus here, immediately. + <<set $TUO.schoolPresent = 1>><<run cashX(-10000, "policies")>> + <</replace>> + <</link>> <br><<link "The Growth Research Institute">> <<replace "#result">> You thank your leading citizens and announce your decision: you'll be contacting the Growth Research Institute about opening a branch campus here, immediately. diff --git a/src/uncategorized/randomNonindividualEvent.tw b/src/uncategorized/randomNonindividualEvent.tw index 33f53a37d92..1fdda2f7143 100644 --- a/src/uncategorized/randomNonindividualEvent.tw +++ b/src/uncategorized/randomNonindividualEvent.tw @@ -1042,6 +1042,15 @@ <<set $RESEndowment.push("TSS")>> <</if>> <</if>> + <<if $TUO.schoolUpgrade == 0>> + <<if ($TUO.studentsBought > 1) || ($TUO.schoolPresent != 0)>> + <<set $events.push("RES Endowment")>> + <<if $TUO.studentsBought > 2>> + <<set $events.push("RES Endowment")>> + <</if>> + <<set $RESEndowment.push("TUO")>> + <</if>> + <</if>> <<if $GRI.schoolUpgrade == 0>> <<if ($GRI.studentsBought > 1) || ($GRI.schoolPresent != 0)>> <<set $events.push("RES Endowment")>> @@ -1132,6 +1141,15 @@ <</if>> <</if>> <</if>> + <<if $TUO.schoolUpgrade != 0>> + <<if $TUO.schoolPresent == 0>> + <<if $TUO.schoolAnnexed == 0>> + <<set $events.push("RES Move")>> + <<set $events.push("RES Move")>> + <<set $RESMove.push("TUO")>> + <</if>> + <</if>> + <</if>> <<if $GRI.schoolUpgrade != 0>> <<if $GRI.schoolPresent == 0>> <<if $GRI.schoolAnnexed == 0>> @@ -1218,6 +1236,10 @@ <<set $events.push("RES Sale")>> <<set $RESSale.push("TSS")>> <</if>> + <<if $TUO.studentsBought == 0>> + <<set $events.push("RES Sale")>> + <<set $RESSale.push("TUO")>> + <</if>> <<if $GRI.studentsBought == 0>> <<set $events.push("RES Sale")>> <<set $RESSale.push("GRI")>> diff --git a/src/uncategorized/resEndowment.tw b/src/uncategorized/resEndowment.tw index 9c55bdde15b..580c3895d9f 100644 --- a/src/uncategorized/resEndowment.tw +++ b/src/uncategorized/resEndowment.tw @@ -8,6 +8,10 @@ You receive a personal call from a senior representative of The Slavegirl School. It seems the school is raising funds, and since you've already <<if $TSS.schoolPresent == 0>>purchased $TSS.studentsBought of its graduates<<else>>encouraged them to open a branch campus in your arcology<</if>> and are known to be wealthy, you are an obvious potential donor. Though the Free Cities' slave schools are of course for-profit institutions, they do their best to maintain a veneer of public service, and cast their efforts to improve their product as a benefit to slaveowning society as a whole. <br><br> "A generous donation," the representative insists, "would help us advance our mission to provide good quality slaves at competitive prices." Getting down to the business advantages, he adds that "donors receive considerable price advantage on future graduates," which seems to translate into a discount of around 20% once the sales language is stripped off it. You point out that's bordering on pointlessness to you, given your ability to purchase almost anything you wish; he hesitates, but then admits that "as our foremost supporter" you could use an endowment to guide school policy to an extent. +<<elseif $RESEndowment == "TUO">> + You receive a personal call from a senior representative of The Utopian Orphanage. It seems the institute is raising funds, and since you've already <<if $TUO.schoolPresent == 0>>purchased $TUO.studentsBought of its test subjects<<else>>encouraged them to open a branch campus in your arcology<</if>> and are known to be wealthy, you are an obvious potential donor. Though the Free Cities' slave schools and research institutions are of course for-profit organizations, they do their best to maintain a veneer of public service, and cast their efforts to improve their product as a benefit to slaveowning society as a whole. + <br><br> + "A generous donation," the representative insists, "would help us advance our mission to make slave children's dreams come true." Getting down to the business advantages, he adds that "donors receive considerable price advantage on future transactions," which seems to translate into a discount of around 20% once the sales language is stripped off it. You point out that's bordering on pointlessness to you, given your ability to purchase almost anything you wish; he hesitates, but then admits that "as our foremost supporter" you could use an endowment to guide institute policy to an extent. <<elseif $RESEndowment == "GRI">> You receive a personal call from a senior representative of the Growth Research Institute. It seems the institute is raising funds, and since you've already <<if $GRI.schoolPresent == 0>>purchased $GRI.studentsBought of its test subjects<<else>>encouraged them to open a branch campus in your arcology<</if>> and are known to be wealthy, you are an obvious potential donor. Though the Free Cities' slave schools and research institutions are of course for-profit organizations, they do their best to maintain a veneer of public service, and cast their efforts to improve their product as a benefit to slaveowning society as a whole. <br><br> @@ -79,6 +83,32 @@ <<run repX(5000, "event")>> <</replace>> <</link>> //This will cost <<print cashFormat(10000)>>// +<<elseif $RESEndowment == "TUO">> + <<link "Stricter admission criteria">> + <<replace "#result">> + You express your interest in making the orphanage's admission criteria stricter. You want them to only teach the most beautiful and intelligent children, and focus all attention on raising these select few. It spreads @@.green;word of your generosity,@@ using you as an example of investment in the future of slaveowning. + <<set $TUO.schoolUpgrade = 1>> + <<run cashX(-50000, "capEx")>> + <<run repX(7500, "event")>> + <</replace>> + <</link>> //This will cost <<print cashFormat(50000)>>// + <br> + <<link "Encourage basic, theoretical sexual education">> + <<replace "#result">> + You propose giving the children a theoretical sex education, claiming that without it, their education is incomplete. The representative considers it, and agrees that it would be beneficial. It spreads @@.green;word of your generosity,@@ using you as an example of investment in the future of slaveowning. + <<set $TUO.schoolUpgrade = 2>> + <<run cashX(-50000, "capEx")>> + <<run repX(7500, "event")>> + <</replace>> + <</link>> //This will cost <<print cashFormat(50000)>>// + <br> + <<link "Make a generous contribution">> + <<replace "#result">> + You make a generous contribution to the institute. It spreads @@.green;word of your generosity,@@ using you as an example of investment in the future of slaveowning. + <<run cashX(-10000, "capEx")>> + <<run repX(5000, "event")>> + <</replace>> + <</link>> //This will cost <<print cashFormat(10000)>>// <<elseif $RESEndowment == "GRI">> <<link "Focus on curative research">> <<replace "#result">> diff --git a/src/uncategorized/resFailure.tw b/src/uncategorized/resFailure.tw index 2f8fea7aadf..c17de7c1d34 100644 --- a/src/uncategorized/resFailure.tw +++ b/src/uncategorized/resFailure.tw @@ -86,6 +86,62 @@ <<set $activeSlave.custom.tattoo = "$He has the simple logo of the corporation that operates the Slavegirl School tattooed on $his left cheek.">> <<run newSlave($activeSlave)>> /* skip New Slave Intro */ <</for>> +<<elseif $RESFailure == "TUO">> + <<set $TUO.schoolPresent = 0>> + <<set $TUO.subsidy = 0>> + <<set $TUO.schoolProsperity = 0>> + <<set $TUO.schoolAnnexed = 1>> + <<for $i = 0; $i < $slavesToAdd; $i++>> + <<set $activeSlaveOneTimeMinAge = $minimumSlaveAge>> + <<set $activeSlaveOneTimeMaxAge = $fertilityAge>> + <<set $oneTimeDisableDisability = 1>> + <<set $activeSlave = GenerateNewSlave()>> + <<set $activeSlave.origin = "$He was given to you by a failed branch of The Utopian Orphanage right after $his graduation.">> + <<set $activeSlave.career = "a slave">> + <<run setHealth($activeSlave, jsRandom(60, 80), 0, 0, 0)>> + <<set $activeSlave.devotion = random(50,75)>> + <<set $activeSlave.trust = random(50,75)>> + <<if $TUO.schoolUpgrade == 1>> + <<set $activeSlave.face = random(30,100)>> + <<set $activeSlave.intelligence = random(55,100)>> + <<set $activeSlave.intelligenceImplant = 30>> + <<set $activeSlave.accent = 1>> + <<set $activeSlave.skill.entertainment = 75>> + <<set $activeSlave.skill.combat = 1>> + <<else>> + <<set $activeSlave.face = random(10,65)>> + <<set $activeSlave.intelligenceImplant = 15>> + <<set $activeSlave.intelligence = random(35,75)>> + <<set $activeSlave.accent = either(0,1)>> + <set $activeSlave.skill.entertainment = 45>> + <<set $activeSlave.skill.combat = 0>> + <</if>> + <<if $TUO.schoolUpgrade == 2>> + <<set $activeSlave.skill.vaginal = 15>> + <<set $activeSlave.skill.oral = 15>> + <<set $activeSlave.skill.anal = 15>> + <<set $activeSlave.skill.whoring = 15>> + <<set $activeSlave.energy = random(40,95)>> + <<else>> + <<set $activeSlave.skill.vaginal = 0>> + <<set $activeSlave.skill.oral = 0>> + <<set $activeSlave.skill.anal = 0>> + <<set $activeSlave.skill.whoring = 0>> + <<set $activeSlave.energy = random(15,65)>> + <</if>> + <<set $activeSlave.faceImplant = 0>> + <<set $activeSlave.weight = random(-17,17)>> + <<set $activeSlave.muscles = random(0,20)>> + <<set $activeSlave.lips = random(10,40)>> + <<set $activeSlave.lipsImplant = 0>> + <<set $activeSlave.boobs = 50>> + <<set $activeSlave.boobsImplant = 0>> + <<set $activeSlave.butt = random(0,2)>> + <<set $activeSlave.buttImplant = 0>> + <<set $activeSlave.vagina = 0>> + <<set $activeSlave.anus = 0>> + <<run newSlave($activeSlave)>> /* skip New Slave Intro */ + <</for>> <<elseif $RESFailure == "TCR">> <<set $TCR.schoolPresent = 0>> <<set $TCR.subsidy = 0>> diff --git a/src/uncategorized/resMove.tw b/src/uncategorized/resMove.tw index e2b5bd82649..d80a6172567 100644 --- a/src/uncategorized/resMove.tw +++ b/src/uncategorized/resMove.tw @@ -17,6 +17,8 @@ <<if $RESMove == "TSS">> You receive a personal call from a senior representative of The Slavegirl School. "_playerName," he says without preamble, "The Slavegirl School would like to open a branch campus in $arcologies[0].name. We'd like to ask for a significant reduction in rent from your standard rate, since we could bring significant benefits to you through our presence." After some further pleasantries, he urges you to consider the offer, wishes you a pleasant day, and ends the call. +<<elseif $RESMove == "TUO">> + You receive a personal call from a senior representative of The Utopian Orphanage. "_playerName," she says without preamble, "The Utopian Orphanage would like to open a branch campus in $arcologies[0].name. We'd like to ask for a significant reduction in rent from your standard rate, since we could bring significant benefits to you through our presence." After some further pleasantries, he urges you to consider the offer, wishes you a pleasant day, and ends the call. <<elseif $RESMove == "GRI">> You receive a personal call from a senior representative of the Growth Research Institute. "_playerName," he says without preamble, "GRI would like to open a subsidiary lab in $arcologies[0].name. We'd like to ask for a significant reduction in rent from your standard rate, since we could bring significant benefits to you through our presence." After some further pleasantries, he urges you to consider the offer, wishes you a pleasant day, and ends the call. <<elseif $RESMove == "SCP">> @@ -298,6 +300,8 @@ as you suspected, Your assistant is a powerful analytic tool, but _heA lacks the capacity for true creativity. _HeA did not mention the long term. It would be possible to support the <<if ($RESMove == "TSS") || ($RESMove == "SCP") || ($RESMove == "LDE") || ($RESMove == "TGA") || ($RESMove == "HA") || ($RESMove == "NUL")>> school's +<<elseif $RESMove == "TUO">> + orphanage's <<elseif $RESMove == "GRI">> lab's <<elseif $RESMove == "TCR">> @@ -315,6 +319,8 @@ presence in the arcology, reaping all sorts of benefits. Alternatively, you migh You call them back and accept the offer. They forward their specifications for an appropriate space and the modifications it needs to host them, along with their thanks. <<if $RESMove == "TSS">> <<set $TSS.schoolPresent = 1>> + <<elseif $RESMove == "TUO">> + <<set $TUO.schoolPresent = 1>> <<elseif $RESMove == "GRI">> <<set $GRI.schoolPresent = 1>> <<elseif $RESMove == "SCP">> diff --git a/src/uncategorized/resSale.tw b/src/uncategorized/resSale.tw index 3b8c23b8726..b28f0f1e705 100644 --- a/src/uncategorized/resSale.tw +++ b/src/uncategorized/resSale.tw @@ -11,6 +11,12 @@ <<set $activeSlave = _marketResult.slave>> <<print _marketResult.text>> <<set $activeSlave.clothes = "a schoolgirl outfit">> +<<elseif $RESSale == "TUO">> + <<set $TUO.schoolSale = 1>> + <<set _marketResult = generateMarketSlave("TUO")>> + <<set $activeSlave = _marketResult.slave>> + <<print _marketResult.text>> + <<set $activeSlave.clothes = "nice business attire">> <<elseif $RESSale == "GRI">> <<set $GRI.schoolSale = 1>> <<set _marketResult = generateMarketSlave("GRI")>> @@ -77,6 +83,8 @@ You receive a personal call from <<if $RESSale == "TSS">> The Slavegirl School, a rising slave training organization known for its reliably unremarkable products, offered at a competitive price. +<<elseif $RESSale == "TUO">> + The Utopian Orphanage, a school that educates intelligent slaves until they reach their majority. <<elseif $RESSale == "GRI">> The Growth Research Institute, a drug development group breaking new ground on human experimentation. <<elseif $RESSale == "SCP">> @@ -106,6 +114,8 @@ It's from a piece of merchandise, not leadership, and $he's offering $himself fo You pause for a moment, and $he plunges on: "<<if $PC.title != 0>>Sir<<else>>Ma'am<</if>>, @@.yellow;your first slave purchase from us this week is half price.@@ And, <<if $PC.title != 0>>sir<<else>>ma'am<</if>>, I'm one of the slaves for sale. <<if $RESSale == "TSS">> I've got the very best skills I could learn as a virgin. I'm healthy, obedient, and educated. And I'm fresh, and willing, and really eager." $He rips $his white school<<= $girl>> blouse open to show off a fresh pair of tits, and shakes them for you. "I would love to be your sex slave, <<if $PC.title != 0>>sir<<else>>ma'am<</if>>," $he says, doing $his very best to sound appealing, like $he's been trained. +<<elseif $RESSale == "TUO">> + I'm smart and cute. I'm well educated and obedient, I will serve you well." $He blushes and maintains eye contact as he continues. "I'm unexperienced when it comes to sexual matters, I hope you will treat me well." $He bows to you and finished. "I would love to be your slave, <<if $PC.title != 0>>sir<<else>>ma'am<</if>>," $he says, doing $his very best to sound appealing, like $he's been taught. <<elseif $RESSale == "GRI">> I've, uh, been trained to obey." $His eyes flick to one side, like $he's reading $his cues. "And, um, I have really big boobs." $He's wearing a bathrobe, and $he suddenly jerks it open to reveal a bigger pair of breasts than anyone that age could possibly have grown $himself. "I would love to be your sex slave, <<if $PC.title != 0>>sir<<else>>ma'am<</if>>," $he says, doing $his very best to sound appealing. No doubt $he'd prefer not to be part of any more testing. <<elseif $RESSale == "SCP">> diff --git a/src/utility/slaveCreationWidgets.tw b/src/utility/slaveCreationWidgets.tw index 465a3259a16..3d3556ed73b 100644 --- a/src/utility/slaveCreationWidgets.tw +++ b/src/utility/slaveCreationWidgets.tw @@ -553,6 +553,8 @@ the Trainers' Market <<case "TSS">> The Slavegirl School +<<case "TUO">> + The Utopian Orphanage <<case "GRI">> Growth Research Institute <<case "SCP">> @@ -616,6 +618,8 @@ the Trainers' Market. <<case "TSS">> The Slavegirl School. +<<case "TUO">> + The Utopian Orphanage. <<case "GRI">> Growth Research Institute. <<case "SCP">> -- GitLab