#else
msg_print("You are no longer walking extremely fast.");
#endif
+ energy_use = 100;
break;
}
case ACTION_SPELL:
return (FALSE);
/* Disturb */
- if (disturb_state)
- disturb(0, 0);
+ if (disturb_state) disturb(0, 1);
/* Redraw title */
p_ptr->redraw |= (PR_BASIC | PR_STATUS);
if (!notice) return (FALSE);
/* Disturb */
- if (disturb_state) disturb(0, 0);
+ if (disturb_state) disturb(0, 1);
/* Redraw map */
p_ptr->redraw |= (PR_MAP);
if ((power > randint0(20)) && one_in_(3) && (p_ptr->prace != RACE_ANDROID))
{
char effect_msg[80] = "";
- int new_race, expfact, goalexpfact;
+ int new_race;
/* Some form of racial polymorph... */
power -= 10;
}
- /*
- * Restrict the race choices by exp penalty so
- * weak polymorph always means weak race
- */
- if (power < 0)
- goalexpfact = 100;
- else
- goalexpfact = 100 + 3 * randint0(power);
-
do
{
new_race = randint0(MAX_RACES);
- expfact = race_info[new_race].r_exp;
}
- while (((new_race == p_ptr->prace) && (expfact > goalexpfact)) || (new_race == RACE_ANDROID));
+ while ((new_race == p_ptr->prace) || (new_race == RACE_ANDROID));
change_race(new_race, effect_msg);
}
if (damage_type != DAMAGE_USELIFE)
{
/* Disturb */
- disturb(1, 0);
+ disturb(1, 1);
if (auto_more)
{
now_damaged = TRUE;
/* Window stuff */
p_ptr->window |= (PW_PLAYER);
- handle_stuff();
-
if (damage_type != DAMAGE_GENO && p_ptr->chp == 0)
{
chg_virtue(V_SACRIFICE, 1);
chg_virtue(V_SACRIFICE, 10);
+ handle_stuff();
+
/* Leaving */
p_ptr->leaving = TRUE;
return damage;
}
+ handle_stuff();
+
/* Hitpoint warning */
if (p_ptr->chp < warning)
{