| @@ -1308,7 +1308,7 @@ function seliciaUnbirthStruggle(predator) { | |||||
| /* LALIM */ | /* LALIM */ | ||||
| function Lalim() { | function Lalim() { | ||||
| Creature.call(this, "Lalim", 15, 35, 25); | |||||
| Creature.call(this, "Lalim", 25, 35, 25); | |||||
| this.hasName = true; | this.hasName = true; | ||||
| @@ -1393,8 +1393,8 @@ function lalimSwallow(attacker) { | |||||
| changeMode("eaten"); | changeMode("eaten"); | ||||
| return ["Lalim's jaws descend upon your little body, scooping you up feet-first and dragging you down with a lazy <i>glrrk</i>. You scrabble helplessly at slick flesh, sinking through his see-through throat...then halting, leaving you imprisoned in a bulging throat-pouch as your predator's forelimbs squeeze and knead over you."]; | return ["Lalim's jaws descend upon your little body, scooping you up feet-first and dragging you down with a lazy <i>glrrk</i>. You scrabble helplessly at slick flesh, sinking through his see-through throat...then halting, leaving you imprisoned in a bulging throat-pouch as your predator's forelimbs squeeze and knead over you."]; | ||||
| } else { | } else { | ||||
| attacker.changeStamina(-25); | |||||
| defender.changeStamina(-25); | |||||
| attacker.changeStamina(-10); | |||||
| defender.changeStamina(-5); | |||||
| return ["The noodly beast squeezes and shoves, lashing at your lower body with his tongue, but you manage to keep your legs from being slurped into that ravenous maw."]; | return ["The noodly beast squeezes and shoves, lashing at your lower body with his tongue, but you manage to keep your legs from being slurped into that ravenous maw."]; | ||||
| } | } | ||||
| }, requirements: [ | }, requirements: [ | ||||
| @@ -1410,10 +1410,9 @@ function lalimSwallow(attacker) { | |||||
| function lalimPull(predator) { | function lalimPull(predator) { | ||||
| return { | return { | ||||
| digest: function(player) { | digest: function(player) { | ||||
| let success = statHealthCheck(predator, player, "str"); | |||||
| let success = statHealthCheck(predator, player, "dex"); | |||||
| if (success) { | if (success) { | ||||
| predator.changeStamina(-5); | |||||
| player.changeStamina(-15); | |||||
| player.changeStamina(-10); | |||||
| predator.flags.stage += 1; | predator.flags.stage += 1; | ||||
| if (predator.flags.stage == 2) { | if (predator.flags.stage == 2) { | ||||
| @@ -1426,8 +1425,8 @@ function lalimPull(predator) { | |||||
| return ["Another clench takes you to the very end - to the tip of Lalim's tail. It will all be over soon."]; | return ["Another clench takes you to the very end - to the tip of Lalim's tail. It will all be over soon."]; | ||||
| } | } | ||||
| } else { | } else { | ||||
| predator.changeStamina(-15); | |||||
| player.changeStamina(-25); | |||||
| predator.changeStamina(-5); | |||||
| player.changeStamina(-5); | |||||
| return ["You brace yourself as a wave of peristalsis rolls past, holding your ground against the onslaught of flesh and muscle."]; | return ["You brace yourself as a wave of peristalsis rolls past, holding your ground against the onslaught of flesh and muscle."]; | ||||
| } | } | ||||
| }, | }, | ||||
| @@ -1442,7 +1441,7 @@ function lalimPull(predator) { | |||||
| function lalimDigest(predator) { | function lalimDigest(predator) { | ||||
| return { | return { | ||||
| digest: function(player) { | digest: function(player) { | ||||
| player.changeStamina(-5 * predator.flags.stage); | |||||
| player.changeStamina(-3 * predator.flags.stage); | |||||
| if (predator.flags.stage == 1) { | if (predator.flags.stage == 1) { | ||||
| return ["Lalim's forepaws knead over your imprisoned body, squishing you about in a tube of soft flesh."]; | return ["Lalim's forepaws knead over your imprisoned body, squishing you about in a tube of soft flesh."]; | ||||
| } else if (predator.flags.stage == 2) { | } else if (predator.flags.stage == 2) { | ||||
| @@ -1468,50 +1467,61 @@ function lalimStruggle(predator) { | |||||
| name: "Struggle", | name: "Struggle", | ||||
| desc: "Try to squirm free. Gets harder as you lose stamina. Don't get tired!", | desc: "Try to squirm free. Gets harder as you lose stamina. Don't get tired!", | ||||
| struggle: function(player) { | struggle: function(player) { | ||||
| let escape = true; //Math.random() < 0.5 && Math.random() <= player.stamina / player.maxStamina + 0.5; | |||||
| //if (player.health <= 0 || player.stamina <= 0) { | |||||
| // escape = escape && Math.random() < 0.25; | |||||
| // } | |||||
| let escape = false; | |||||
| if (escape) { | |||||
| if (predator.flags.stage == 1) { | |||||
| player.clear(); | |||||
| predator.clear(); | |||||
| return { | |||||
| "escape": "stay", | |||||
| "lines": ["You struggle and squirm, forcing Lalim to hork you up."] | |||||
| }; | |||||
| } else { | |||||
| predator.flags.stage -= 1; | |||||
| let line = ""; | |||||
| switch(predator.flags.stage) { | |||||
| case 1: | |||||
| line = "You push against slick flesh, forcing yourself back into Lalim's neck. You can see the portal to your dimly-lit bedroom again...and those kneading, squeezing paws."; | |||||
| break; | |||||
| case 2: | |||||
| line = "It's hard to tell just how deep you are...but you're back in the comforting green glow, far from that dreadful tail."; | |||||
| break; | |||||
| case 3: | |||||
| line = "The tingling lessens as you force yourself into the base of Lalim's tail."; | |||||
| break; | |||||
| case 4: | |||||
| line = "You drag yourself from certain doom, clawing your way out of the crushing, deadly tail-tip."; | |||||
| break; | |||||
| switch(predator.flags.stage) { | |||||
| case 1: | |||||
| escape = Math.random() < 0.1; | |||||
| if (escape) { | |||||
| player.clear(); | |||||
| predator.clear(); | |||||
| return { | |||||
| "escape": "stay", | |||||
| "lines": ["You struggle and squirm, forcing Lalim to hork you up."] | |||||
| }; | |||||
| } else { | |||||
| line = "You're so close to freedom that you can taste it...and the beast denies you, gulping you back into his bulging throat"; | |||||
| } | } | ||||
| return { | |||||
| "escape": "stuck", | |||||
| "lines": [line] | |||||
| }; | |||||
| break; | |||||
| case 2: | |||||
| escape = Math.random() < 0.5; | |||||
| if (escape) | |||||
| line = "You push against slick flesh, forcing yourself back into Lalim's neck. You can see the portal to your dimly-lit bedroom again...and those kneading, squeezing paws."; | |||||
| else | |||||
| line = "You try to claw your way back up to the beast's throat...but a lazy ripple of stomach-muscle throws you back down, thumping you against the hard, shadowy ground under the beast's distended belly."; | |||||
| break; | |||||
| case 3: | |||||
| escape = Math.random() < 0.5; | |||||
| if (escape) | |||||
| line = "It's hard to tell just how deep you are...but you're back in the comforting green glow, far from that dreadful tail."; | |||||
| else | |||||
| line = "The tail won't let you go - you squirm and writhe, to no avail."; | |||||
| break; | |||||
| case 4: | |||||
| escape = Math.random() < 0.33; | |||||
| if (escape) | |||||
| line = "The tingling lessens as you force yourself into the base of Lalim's tail."; | |||||
| else | |||||
| line = "Your heart pounds as your struggles take you <i>nowhere</i>. Your body slowly digests in the ever-tightening tail."; | |||||
| break; | |||||
| case 5: | |||||
| escape = Math.random() < 0.2; | |||||
| if (escape) | |||||
| line = "You drag yourself from certain doom, clawing your way out of the crushing, deadly tail-tip."; | |||||
| else | |||||
| line = "There is no hope of escape. You thrash and squirm, but Lalim's tail has you."; | |||||
| break; | |||||
| } | } | ||||
| } else { | |||||
| if (escape) { | |||||
| predator.flags.stage -= 1; | |||||
| } | |||||
| return { | return { | ||||
| "escape": "stuck", | "escape": "stuck", | ||||
| "lines": ["You squirm and writhe within the noodly beast, to no avail."] | |||||
| "lines": [line] | |||||
| }; | }; | ||||
| } | |||||
| }, | }, | ||||
| requirements: [ | requirements: [ | ||||