diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js index e0e1efea1924a567777e496392af33b44849464b..a90df929b11f2782666e55a6b19a498123d760f8 100644 --- a/js/003-data/gameVariableData.js +++ b/js/003-data/gameVariableData.js @@ -702,7 +702,6 @@ App.Data.resetOnNGPlus = { legendaryWhoreID: 0, legendaryEntertainerID: 0, - legendaryBallsID: 0, legendaryWombID: 0, FSAnnounced: 0, diff --git a/src/endWeek/reports/dairyReport.js b/src/endWeek/reports/dairyReport.js index 0c189aaa2d8f464cfa6c0b1541d71a5d08bd0033..9a23dea7f04276e0055dadd2c71890999df5c23f 100644 --- a/src/endWeek/reports/dairyReport.js +++ b/src/endWeek/reports/dairyReport.js @@ -16,7 +16,6 @@ App.EndWeek.dairyReport = function() { const restrainedInjected = V.dairyRestraintsSetting + V.injectionUpgrade; const boobsMultiplier = Math.trunc(V.injectionUpgrade * 2) + V.dairyRestraintsSetting + V.dairyFeedersSetting; V.bioreactorPerfectedID = 0; - V.legendaryBallsID = 0; V.milkmaidDevotionBonus = 1; V.milkmaidHealthBonus = 0; V.milkmaidTrustBonus = 1; @@ -354,16 +353,6 @@ App.EndWeek.dairyReport = function() { const oldCash = V.cash; for (const slave of App.SlaveAssignment.reportSlaves(slaves)) { - /* Special attention section */ - if (slave.devotion > 50 && slave.prestige === 0) { - if ( - V.legendaryBallsID === 0 && slave.dick !== 0 && - (slave.balls > 5 || (slave.balls > 4 && slave.prostate > 1)) - ) { - V.legendaryBallsID = slave.ID; - } - } - /* Perform facility based rule changes */ // Set diet diff --git a/src/events/RE/reLegendaryBalls.js b/src/events/RE/reLegendaryBalls.js new file mode 100644 index 0000000000000000000000000000000000000000..aebb3495e41a1d54e04570361818fdcb111bef30 --- /dev/null +++ b/src/events/RE/reLegendaryBalls.js @@ -0,0 +1,107 @@ +App.Events.RELegendaryBalls = class RELegendaryBalls extends App.Events.BaseEvent { + actorPrerequisites() { + return [[ + (s) => s.devotion > 50, + (s) => s.prestige === 0, + (s) => (s.balls > 5 || (s.balls > 4 && s.prostate > 1)), + (s) => s.dick !== 0, + (s) => [Job.DAIRY, Job.MILKED].includes(s.assignment) + ]]; + } + + execute(node) { + V.nextButton = "Continue"; + V.nextLink = "RIE Eligibility Check"; + const slave = getSlave(this.actors[0]); + let r = []; + + const { + He, + he, his, him + } = getPronouns(slave); + + App.Events.drawEventArt(node, slave); + + slave.devotion += 4; + + r.push( + App.UI.DOM.slaveDescriptionDialog(slave), + `is an incredible producer of cum. ${He}'s producing in volumes that would have been unthinkable in the days when it was illegal to restrain a slave so that ${he} could have every drop of ${his} ejaculate milked out by a machine. A nascent slave stock organization will be holding a public livestock show tomorrow, and since they're aware you're experimenting with cockmilking, they've sent you an invitation to enter an especially productive slave to be judged.` + ); + + App.Events.addParagraph(node, r); + r = []; + + r.push(`This is a rare opportunity. The idea of cockmilking is new and understandably fascinating to many, so the livestock show is likely to draw some serious press. Were ${slave.slaveName} to win, ${he} would probably be remembered for a long time as a special slave.`); + + App.Events.addParagraph(node, r); + + const cashSmall = 5000; + const cashLarge = 10000; + const choices = []; + choices.push(new App.Events.Result(`Fairly enter ${him} in the livestock show`, enterFairly)); + if (V.cash > cashSmall) { + choices.push(new App.Events.Result(`Spend ${cashFormat(cashSmall)} bribing the judges`, bribeLow)); + } else { + choices.push(new App.Events.Result(null, null, `You do not have enough cash to bribe the judges`)); + } + if (V.cash > cashLarge) { + choices.push(new App.Events.Result(`Spend ${cashFormat(cashLarge)} bribing the judges and sabotaging the competition`, bribeHigh)); + } else { + choices.push(new App.Events.Result(null, null, `You do not have enough cash to bribe the judges and sabotage the competition`)); + } + App.Events.addResponses(node, choices); + + function enterFairly() { + const frag = new DocumentFragment(); + let r = []; + if (random(1, 100) > 90) { + r.push(`${slave.slaveName} is shown in public, closely inspected by the judging committee, and then publicly cockmilked. It's likely there was some bribery behind the scenes, but ${his} massive junk wins the day. Against all odds ${he} is named best in show, and will be <span class="prestigious">remembered</span> as cock stock of the highest pedigree. As ${his} owner, your reputation has <span class="reputation inc">also increased.</span>`); + repX(500, "event", slave); + slave.prestige = 1; + slave.prestigeDesc = "$He is remembered for winning best in show as a cockmilker."; + V.trinkets.push(`a best in show ribbon awarded to ${slave.slaveName} for ${getPronouns(slave).possessive} balls`); + } else { + r.push(`${slave.slaveName} is shown in public, closely inspected by the judging committee, and then publicly cockmilked. It's likely there was some bribery behind the scenes, and it is fatal to ${his} chances of winning. Though ${his} junk is easily the most impressive on display, another stock owner who was more open-handed with the judges took best in show. The public is impressed with ${slave.slaveName}'s nuts anyway; as you are ${his} owner, your reputation has <span class="reputation inc">increased</span> a little.`); + repX(500, "event", slave); + } + App.Events.addParagraph(frag, r); + return frag; + } + + function bribeLow() { + const frag = new DocumentFragment(); + let r = []; + cashX(-cashSmall, "event", slave); + repX(500, "event", slave); + if (random(1, 100) > 50) { + r.push(`${slave.slaveName} is shown in public, closely inspected by the judging committee, and then publicly cockmilked. Several of the judges cannot resist giving you a wink as they look ${him} over. ${slave.slaveName} is unsurprisingly named best in show, and will be <span class="prestigious">remembered</span> as cock stock of the highest pedigree. As ${his} owner, your reputation has <span class="reputation inc">also increased.</span>`); + slave.prestige = 1; + slave.prestigeDesc = "$He is remembered for winning best in show as a cockmilker."; + V.trinkets.push(`a best in show ribbon awarded to ${slave.slaveName} for ${getPronouns(slave).possessive} balls`); + } else { + r.push(`${slave.slaveName} is shown in public, closely inspected by the judging committee, and then publicly cockmilked. Several of the judges cannot resist giving you a wink as they look ${him} over, but others look disapprovingly at them; it seems some of your competitors also forwarded money to the committee. After furious wrangling, ${slave.slaveName} loses to another milker. The public is impressed with ${slave.slaveName}'s balls anyway; as you are ${his} owner, your reputation has <span class="reputation inc">increased</span> a little.`); + } + App.Events.addParagraph(frag, r); + return frag; + } + + function bribeHigh() { + const frag = new DocumentFragment(); + let r = []; + cashX(-cashLarge, "event", slave); + if (random(1, 100) > 10) { + r.push(`${slave.slaveName} is shown in public, closely inspected by the judging committee, and then publicly cockmilked. After ${he}'s put through ${his} paces, the most unfortunate series of accidents somehow befalls ${his} fellow cows. One is taken ill, another seems drugged, and someone seems to have slipped a finger of raw ginger up another's urethra, making them whine and squeal when cockmilked. ${slave.slaveName} is unsurprisingly named best in show, and will be <span class="prestigious">remembered</span> as cock stock of the highest pedigree. As ${his} owner, your reputation has <span class="reputation inc">also increased.</span>`); + repX(500, "event", slave); + slave.prestige = 1; + slave.prestigeDesc = "$He is remembered for winning best in show as a cockmilker."; + V.trinkets.push(`a best in show ribbon awarded to ${slave.slaveName} for ${his} balls`); + } else { + r.push(`${slave.slaveName} is shown in public, closely inspected by the judging committee, and then publicly cockmilked. You are surprised to see that the judging committee has been changed at the last minute. They choose another cow as best in show. There are persistent <span class="reputation dec">rumors</span> after the show that there was an absolute massacre of firings at the stock organization headquarters the night before the show after it was discovered that someone, widely thought to be you, had been corrupting the judges.`); + repX(-100, "event", slave); + } + App.Events.addParagraph(frag, r); + return frag; + } + } +}; diff --git a/src/events/RE/reLegendaryCow.js b/src/events/RE/reLegendaryCow.js index dcc610b40ce12861ff0a3f56cb511d20f1657e3b..8c76db6cad4000bff21e1e6e720dbd53ecc14aa9 100644 --- a/src/events/RE/reLegendaryCow.js +++ b/src/events/RE/reLegendaryCow.js @@ -24,7 +24,6 @@ App.Events.RELegendaryCow = class RELegendaryCow extends App.Events.BaseEvent { slave.devotion += 4; - r.push( App.UI.DOM.slaveDescriptionDialog(slave), `is an incredible producer of milk. ${He}'s lactating in volumes that would have been unthinkable in the days when drug treatments were limited by consent. A nascent slave dairy trade organization will be holding a public stock show tomorrow, and since they're aware you keep cows, they've sent you an invitation to enter stock to be judged.` @@ -93,7 +92,7 @@ App.Events.RELegendaryCow = class RELegendaryCow extends App.Events.BaseEvent { let r = []; cashX(-cashLarge, "event", slave); if (random(1, 100) > 10) { - r.push(`${slave.slaveName} is shown in public, closely inspected by the judging committee, and then publicly milked. After ${he}'s put through ${his} paces, the most unfortunate series of accidents somehow befalls ${his} fellow cows. One is taken ill, another seems drugged, and someone seems to have slipped a finger of raw ginger up another's ass, making them whine and squeal constantly. ${slave.slaveName} is unsurprisingly named best in show, and will be <span class="prestige inc">remembered</span> as dairy stock of the highest pedigree. As ${his} owner, your reputation has <span class="reputation inc">also increased.</span>`); + r.push(`${slave.slaveName} is shown in public, closely inspected by the judging committee, and then publicly milked. After ${he}'s put through ${his} paces, the most unfortunate series of accidents somehow befalls ${his} fellow cows. One is taken ill, another seems drugged, and someone seems to have slipped a finger of raw ginger up another's ass, making them whine and squeal constantly. ${slave.slaveName} is unsurprisingly named best in show, and will be <span class="prestigious">remembered</span> as dairy stock of the highest pedigree. As ${his} owner, your reputation has <span class="reputation inc">also increased.</span>`); repX(500, "event", slave); slave.prestige = 1; slave.prestigeDesc = "$He is remembered for winning best in show as a dairy cow."; diff --git a/src/js/eventSelectionJS.js b/src/js/eventSelectionJS.js index b758d1b7490d64807d34064a08ff1c164ea244df..ff266fe21b0c507db930ea498e1df87323562330 100644 --- a/src/js/eventSelectionJS.js +++ b/src/js/eventSelectionJS.js @@ -1110,14 +1110,6 @@ if(eventSlave.drugs === "breast injections") { } } } - - if (eventSlave.balls > 6) { - if (eventSlave.dick > 6) { - if (eventSlave.assignment === Job.MILKED) { - V.events.push("RE legendary balls"); - } - } - } } } } diff --git a/src/uncategorized/randomNonindividualEvent.tw b/src/uncategorized/randomNonindividualEvent.tw index 43291ffb3317cc4c5471c6371a3db83a4c9fa6fd..ad11f7118c5d25cec7a172b6d1c19ca4cfefd30c 100644 --- a/src/uncategorized/randomNonindividualEvent.tw +++ b/src/uncategorized/randomNonindividualEvent.tw @@ -36,9 +36,6 @@ <<if $legendaryEntertainerID != 0>> <<set $events.push("RE legendary entertainer")>> <</if>> - <<if $legendaryBallsID != 0>> - <<set $events.push("RE legendary balls")>> - <</if>> <<if $legendaryWombID != 0>> <<set $events.push("RE legendary womb")>> <</if>> diff --git a/src/uncategorized/reLegendaryBalls.tw b/src/uncategorized/reLegendaryBalls.tw deleted file mode 100644 index d9e00ee001f3de16561734251dcc46861def7c71..0000000000000000000000000000000000000000 --- a/src/uncategorized/reLegendaryBalls.tw +++ /dev/null @@ -1,91 +0,0 @@ -:: RE legendary balls [nobr] - -<<set $nextButton = "Continue", $nextLink = "AS Dump", $returnTo = "RIE Eligibility Check", $activeSlave = ($legendaryFacility == 1) ? getSlave($legendaryBallsID) : $eventSlave>> - -<<if (ndef $activeSlave)>> /* not found — reset variable and stop event */ - <<set $legendaryBallsID = 0>> - <<goto "RIE Eligibility Check">> -<<else>> - -<<run App.Utils.setLocalPronouns($activeSlave)>> -<<set $activeSlave.devotion += 4>> - -<span id="art-frame"> -/* 000-250-006 */ -<<if $seeImages == 1>> - <<if $imageChoice == 1>> - <div class="imageRef lrgVector"><div class="mask"> </div><<SlaveArt $activeSlave 3 0>></div> - <<else>> - <div class="imageRef lrgRender"><div class="mask"> </div><<SlaveArt $activeSlave 3 0>></div> - <</if>> -<</if>> -/* 000-250-006 */ -</span> - -<<= App.UI.slaveDescriptionDialog($activeSlave)>> is an incredible producer of cum. $He's producing in volumes that would have been unthinkable in the days when it was illegal to restrain a slave so that $he could have every drop of $his ejaculate milked out by a machine. A nascent slave stock organization will be holding a public livestock show tomorrow, and since they're aware you're experimenting with cockmilking, they've sent you an invitation to enter an especially productive slave to be judged. - -<br><br> - -This is a rare opportunity. The idea of cockmilking is new and understandably fascinating to many, so the livestock show is likely to draw some serious press. Were $activeSlave.slaveName to win, $he would probably be remembered for a long time as a special slave. - -<br><br> - -<span id="result"> -<<link "Fairly enter $him in the livestock show">> - <<if random(1,100) > 90>> - <<replace "#result">> - $activeSlave.slaveName is shown in public, closely inspected by the judging committee, and then publicly cockmilked. It's likely there was some bribery behind the scenes, but $his massive junk wins the day. Against all odds $he is named best in show, and will be @@.green;remembered@@ as cock stock of the highest pedigree. As $his owner, your reputation has @@.green;also increased.@@ - <<run repX(500, "event", $activeSlave)>> - <<set $activeSlave.prestige = 1>> - <<set $activeSlave.prestigeDesc = "$He is remembered for winning best in show as a cockmilker.">> - <<set $desc = "a best in show ribbon awarded to " + $activeSlave.slaveName + " for " + getPronouns($activeSlave).possessive + " balls">> - <<set $trinkets.push($desc)>> - <</replace>> - <<else>> - <<replace "#result">> - $activeSlave.slaveName is shown in public, closely inspected by the judging committee, and then publicly cockmilked. It's likely there was some bribery behind the scenes, and it is fatal to $his chances of winning. Though $his junk is easily the most impressive on display, another stock owner who was more open-handed with the judges took best in show. The public is impressed with $activeSlave.slaveName's nuts anyway; as you are $his owner, your reputation has @@.green;increased@@ a little. - <<run repX(500, "event", $activeSlave)>> - <</replace>> - <</if>> -<</link>> -<br><<link "Spend <<print cashFormat(5000)>> bribing the judges">> - <<if random(1,100) > 50>> - <<replace "#result">> - $activeSlave.slaveName is shown in public, closely inspected by the judging committee, and then publicly cockmilked. Several of the judges cannot resist giving you a wink as they look $him over. $activeSlave.slaveName is unsurprisingly named best in show, and will be @@.green;remembered@@ as cock stock of the highest pedigree. As $his owner, your reputation has @@.green;also increased.@@ - <<run cashX(-5000, "event", $activeSlave)>> - <<run repX(500, "event", $activeSlave)>> - <<set $activeSlave.prestige = 1>> - <<set $activeSlave.prestigeDesc = "$He is remembered for winning best in show as a cockmilker.">> - <<set $desc = "a best in show ribbon awarded to " + $activeSlave.slaveName + " for " + getPronouns($activeSlave).possessive + " balls">> - <<set $trinkets.push($desc)>> - <</replace>> - <<else>> - <<replace "#result">> - $activeSlave.slaveName is shown in public, closely inspected by the judging committee, and then publicly cockmilked. Several of the judges cannot resist giving you a wink as they look $him over, but others look disapprovingly at them; it seems some of your competitors also forwarded money to the committee. After furious wrangling, $activeSlave.slaveName loses to another milker. The public is impressed with $activeSlave.slaveName's balls anyway; as you are $his owner, your reputation has @@.green;increased@@ a little. - <<run cashX(-5000, "event", $activeSlave)>> - <<run repX(500, "event", $activeSlave)>> - <</replace>> - <</if>> -<</link>> -<br><<link "Spend <<print cashFormat(10000)>> bribing the judges and sabotaging the competition">> - <<if random(1,100) > 10>> - <<replace "#result">> - $activeSlave.slaveName is shown in public, closely inspected by the judging committee, and then publicly cockmilked. After $he's put through $his paces, the most unfortunate series of accidents somehow befalls $his fellow cows. One is taken ill, another seems drugged, and someone seems to have slipped a finger of raw ginger up another's urethra, making them whine and squeal when cockmilked. $activeSlave.slaveName is unsurprisingly named best in show, and will be @@.green;remembered@@ as cock stock of the highest pedigree. As $his owner, your reputation has @@.green;also increased.@@ - <<run cashX(-10000, "event", $activeSlave)>> - <<run repX(500, "event", $activeSlave)>> - <<set $activeSlave.prestige = 1>> - <<set $activeSlave.prestigeDesc = "$He is remembered for winning best in show as a cockmilker.">> - <<set $desc = "a best in show ribbon awarded to " + $activeSlave.slaveName + " for " + getPronouns($activeSlave).possessive + " balls">> - <<set $trinkets.push($desc)>> - <</replace>> - <<else>> - <<replace "#result">> - $activeSlave.slaveName is shown in public, closely inspected by the judging committee, and then publicly cockmilked. You are surprised to see that the judging committee has been changed at the last minute. They choose another cow as best in show. There are persistent @@.red;rumors@@ after the show that there was an absolute massacre of firings at the stock organization headquarters the night before the show after it was discovered that someone, widely thought to be you, had been corrupting the judges. - <<run cashX(-10000, "event", $activeSlave)>> - <<run repX(-100, "event", $activeSlave)>> - <</replace>> - <</if>> -<</link>> -</span> - -<</if>> /* closes validity check */