summaryrefslogtreecommitdiff
path: root/src/cmd6.c
diff options
context:
space:
mode:
authorBardur Arantsson <bardur@scientician.net>2013-07-15 17:30:16 +0200
committerBardur Arantsson <bardur@scientician.net>2013-08-08 16:33:29 +0200
commit3dfea8f553013c251a60e2f99d5fa3f0ef65fec8 (patch)
tree0f326556c2d384ba279f75cbf67402dcfe2f66ad /src/cmd6.c
parent13503952c8aef44cebd3289a15b9ad2767a3937c (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.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/cmd6.c b/src/cmd6.c
index ab82bc17..bfe364e5 100644
--- a/src/cmd6.c
+++ b/src/cmd6.c
@@ -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 */