From f2ab8641f1d5f20d80bed661bcd142e62308ccc0 Mon Sep 17 00:00:00 2001 From: Fen Dweller Date: Thu, 15 Mar 2018 17:37:50 -0400 Subject: [PATCH] Description improvements --- customs.js | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/customs.js b/customs.js index 5e810ad..c832d79 100644 --- a/customs.js +++ b/customs.js @@ -212,7 +212,7 @@ function GetaDialog() { /* TRANCE */ function Trance() { - Creature.call(this, "Trance", 20, 15, 20); + Creature.call(this, "Trance", 25, 20, 25); this.hasName = true; @@ -245,7 +245,7 @@ function Trance() { this.startCombat = function() { return ["You yelp and turn around as hot breath spills over your shoulder. A massive sergal has crept up on you...and he looks hungry"]; }; this.finishDigest = function() { return ["The sergal's crushing guts reduce you to a pool of chyme..."]; }; - this.defeated = function() { changeMode("explore"); update(["The sergal winces and stumbles, grabbing a thick branch to steady himself...and snapping in half like a twig. You decide discretion is the better part of valor and run while you can."]); }; + this.defeated = function() { changeMode("explore"); update(["The sergal winces and stumbles, grabbing a thick branch to steady himself...and snapping it in half like a twig. You decide discretion is the better part of valor and run while you can."]); }; this.prefs.prey = false; } @@ -278,21 +278,26 @@ function tranceGrapple(attacker) { function(attacker, defender) { return isNormal(attacker) && isNormal(defender); } ], priority: 1, - weight: function(attacker, defender) { return 3 - 2 * defender.health / defender.maxHealth; } + weight: function(attacker, defender) { return 7 - 6 * defender.health / defender.maxHealth; } }; } function tranceStomp(attacker) { return { attackPlayer: function(defender) { - return [attacker.description("The") + " shoves you to the ground, planting one foot on your chest and crushing your entire head beneath the other, crippling you and dealing " + attack(attacker, defender, attacker.str * 8) + " damage"]; + let result = [attacker.description("The") + " shoves you to the ground, planting one foot on your chest and crushing your entire head beneath the other, crippling you and dealing " + attack(attacker, defender, attacker.str * 5) + " damage"]; + if (defender.health <= 0) { + result[0] += ". Your skull breaks open as his crushing weight snuffs you out like a candle, smearing your brain across the ground and splitting your jaw in half. Ouch."; + defender.health = -100; + } + return result; }, requirements: [ function(attacker, defender) { return isNormal(attacker) && isNormal(defender); } ], conditions: [ function(attacker, defender) { return defender.prefs.gore; } ], priority: 1, - weight: function(attacker, defender) { return 0.5 * defender.health / defender.maxHealth; } + weight: function(attacker, defender) { return attacker.health / attacker.maxHealth > 0.5 ? 0 : 3; } }; } @@ -350,7 +355,7 @@ function tranceGrappleThroat(attacker) { } ], priority: 1, - weight: function(attacker, defender) { return 1; } + weight: function(attacker, defender) { return defender.health / defender.maxHealth > attacker.health / attacker.maxHealth ? 2 : 0; } }; } @@ -359,7 +364,10 @@ function tranceDigest(predator,damage=50) { digest: function(player) { attack(predator, player, damage); player.stamina = Math.max(0,player.stamina - 50); - return [predator.description("The") + "'s powerful stomach grinds over your body, swiftly digesting you."]; + return pickRandom([ + [predator.description("The") + "'s powerful stomach grinds over your body, swiftly digesting you."], + ["The stomach walls clench and squeeze, smearing your squirming body in chyme and stinging acids."], + ["Your body is crushed and churned, ground against fleshy walls to sate the sergal's hunger."]]); }, priority: 1, weight: function() { return 1; }