diff options
author | Bardur Arantsson <bardur@scientician.net> | 2013-07-15 17:30:16 +0200 |
---|---|---|
committer | Bardur Arantsson <bardur@scientician.net> | 2013-08-08 16:33:29 +0200 |
commit | 3dfea8f553013c251a60e2f99d5fa3f0ef65fec8 (patch) | |
tree | 0f326556c2d384ba279f75cbf67402dcfe2f66ad /src/cmd6.c | |
parent | 13503952c8aef44cebd3289a15b9ad2767a3937c (diff) |
Rework paralysis to avoid insta-death
Paralysis would mean instant death (even when hit by a lowly
floating eye), but this is not really an interesting mechanic.
It has been reworked to not be cumulative, such that it isn't
a death sentence, but is still very dangerous if the paralyzer
is faster than the player.
Diffstat (limited to 'src/cmd6.c')
-rw-r--r-- | src/cmd6.c | 13 |
1 files changed, 6 insertions, 7 deletions
@@ -285,7 +285,7 @@ static void corpse_effect(object_type *o_ptr, bool_ cutting) { if (!p_ptr->free_act) { - set_paralyzed(p_ptr->paralyzed + dam + idam + 10); + set_paralyzed(dam + idam + 10); } break; @@ -1060,7 +1060,7 @@ void do_cmd_eat_food(void) { if (!p_ptr->free_act) { - if (set_paralyzed(p_ptr->paralyzed + rand_int(10) + 10)) + if (set_paralyzed(rand_int(10) + 10)) { ident = TRUE; } @@ -1779,7 +1779,7 @@ static bool_ quaff_potion(int tval, int sval, int pval, int pval2) msg_print("The potion makes you vomit!"); (void)set_food(PY_FOOD_STARVE - 1); (void)set_poisoned(0); - (void)set_paralyzed(p_ptr->paralyzed + 4); + (void)set_paralyzed(4); ident = TRUE; break; @@ -1846,7 +1846,7 @@ static bool_ quaff_potion(int tval, int sval, int pval, int pval2) { if (!p_ptr->free_act) { - if (set_paralyzed(p_ptr->paralyzed + rand_int(4) + 4)) + if (set_paralyzed(rand_int(4) + 4)) { ident = TRUE; } @@ -5383,8 +5383,7 @@ const char *activation_aux(object_type * o_ptr, bool_ doit, int item) msg_print("You are too weak to control the stone!"); /* Hack -- Bypass free action */ - (void)set_paralyzed(p_ptr->paralyzed + - randint(5 * oops + 1)); + (void)set_paralyzed(randint(5 * oops + 1)); /* Confusing. */ (void)set_confused(p_ptr->confused + @@ -6999,7 +6998,7 @@ const char *activation_aux(object_type * o_ptr, bool_ doit, int item) case ACT_PARALYZE: { if (!doit) return "paralyze"; - set_paralyzed(p_ptr->paralyzed + 20 + randint(10)); + set_paralyzed(20 + randint(10)); /* Timeout is set before return */ |