diff --git a/combat.js b/combat.js index 2b622bc..54a9030 100644 --- a/combat.js +++ b/combat.js @@ -107,7 +107,8 @@ function grappleDevour(attacker) { attacker.stomach.feed(defender); defender.flags.grappled = false; changeMode("explore"); - return "You open your jaws wide, stuffing " + defender.description("the") + "'s head into your gullet and greedily wolfing them down. Delicious."; + attacker.cash += defender.cash; + return "You open your jaws wide, stuffing " + defender.description("the") + "'s head into your gullet and greedily wolfing them down. Delicious. You hack up their wallet with $" + defender.cash + " inside a moment later. Nice!"; } else { return "Your jaws open wide, but " + defender.description("the") + " manages to avoid becoming " + attacker.species + " chow."; } @@ -139,8 +140,9 @@ function grappleAnalVore(attacker) { if (success) { attacker.butt.feed(defender); defender.flags.grappled = false; + attacker.cash += defender.cash; changeMode("explore"); - return "You shove " + defender.description("the") + " between your cheeks. Their head slips into your ass with a wet shlk, and the rest of their body follows suit. You moan and gasp, working them deeper and deeper..."; + return "You shove " + defender.description("the") + " between your cheeks. Their head slips into your ass with a wet shlk, and the rest of their body follows suit. You moan and gasp, working them deeper and deeper...and noticing their wallet with $" + defender.cash + " on the ground. Score!"; } else { return "Your grasp and shove " + defender.description("the") + ", but they manage to avoid becoming " + attacker.species + " chow."; } diff --git a/customs.js b/customs.js index eee6e37..d4ff1af 100644 --- a/customs.js +++ b/customs.js @@ -1,4 +1,4 @@ -/* AEZNON COMMISSION */ +/* AEZNON GETA COMMISSION */ function Geta() { Creature.call(this, "Geta", 5, 15, 10); diff --git a/dialog.js b/dialog.js index 4a77b45..dc80fdc 100644 --- a/dialog.js +++ b/dialog.js @@ -71,7 +71,12 @@ function FallenFoe(foe) { { let nodeEat = new DialogNode(); this.addChoice("Devour!",nodeEat); - nodeEat.text = "You grab your helpless prey and force them down your gullet."; + nodeEat.text = "You grab your helpless prey and force them down your gullet. You hack up their wallet a minute later, finding $" + foe.cash + " inside."; + + nodeEat.hooks.push(function() { + player.cash += foe.cash; + }); + nodeEat.hooks.push(function() { player.stomach.feed(foe); }) @@ -80,7 +85,11 @@ function FallenFoe(foe) { { let nodeSpare = new DialogNode(); this.addChoice("Spare",nodeSpare); - nodeSpare.text = "You decide to leave your foe uneaten."; + nodeSpare.text = "You decide to leave your foe uneaten. You do help yourself to the $" + foe.cash + " in their pockets, though."; + + nodeSpare.hooks.push(function() { + player.cash += foe.cash; + }); } { @@ -128,3 +137,59 @@ function NatureExercise() { }); } } + +function VendingMachinePurchase() { + DialogNode.call(this); + + this.text = "You walk up to the vending machine. A variety of foodstuffs and drinks are on display...along with some more unconventional items."; + + { + let nodeCandy = new DialogNode(); + this.addChoice("Buy a candy bar ($2)", nodeCandy); + nodeCandy.text = "You insert two dollar bills into the machine and select the candy bar. Chocolate and nougat, mmm."; + + nodeCandy.hooks.push(function() { + player.cash -= 2; + }); + + nodeCandy.requirements.push(function(player) { + return player.cash > 2; + }); + } + + { + let nodeSoda = new DialogNode(); + this.addChoice("Buy a soda ($2)", nodeSoda); + nodeSoda.text = "You insert a dollar and coins, then select a soda. You're pretty you saw something on the news about it turning people purple, but you can't resist that delicious Citrus Substitute Flavor™"; + + nodeSoda.hooks.push(function() { + player.cash -= 2; + }); + + nodeSoda.requirements.push(function(player) { + return player.cash > 2; + }); + } + + { + let prey = new Micro(); + let nodeMicro = new DialogNode(); + this.addChoice("Buy a micro ($10)", nodeMicro); + nodeMicro.text = "You stuff a wad of bills into the machine. " + prey.description("A") + " tumbles into the vending slot; you scoop them up and stuff them into your jaws without a second thought. Tasty."; + + nodeMicro.hooks.push(function() { + player.stomach.feed(prey); + player.cash -= 10; + }); + + nodeMicro.requirements.push(function(player) { + return player.cash > 10; + }); + } + + { + let nodeCancel = new DialogNode(); + this.addChoice("Nevermind", nodeCancel); + nodeCancel.text = "You decide to not purchase anything."; + } +} diff --git a/feast.html b/feast.html index 278697b..329c92b 100644 --- a/feast.html +++ b/feast.html @@ -30,6 +30,7 @@