return recall_player(p_ptr, randint0(21) + 15);
/* multi-shadow */
case 18:
- set_multishadow(6 + randint1(6), FALSE);
+ set_multishadow(p_ptr, 6 + randint1(6), FALSE);
break;
/* binding field */
case 19:
break;
}
case 19:
- set_multishadow(6+randint1(6), FALSE);
+ set_multishadow(p_ptr, 6+randint1(6), FALSE);
break;
default:
msg_print(_("なに?", "Zap?"));
(void)set_tim_res_time(0, TRUE);
/* by henkma */
(void)set_tim_reflect(p_ptr, 0,TRUE);
- (void)set_multishadow(0,TRUE);
+ (void)set_multishadow(p_ptr, 0,TRUE);
(void)set_dustrobe(0,TRUE);
(void)set_tim_invis(p_ptr, 0, TRUE);
/*
* Set "p_ptr->multishadow", notice observable changes
*/
-bool set_multishadow(TIME_EFFECT v, bool do_dec)
+bool set_multishadow(player_type *creature_ptr, TIME_EFFECT v, bool do_dec)
{
bool notice = FALSE;
v = (v > 10000) ? 10000 : (v < 0) ? 0 : v;
- if (p_ptr->is_dead) return FALSE;
+ if (creature_ptr->is_dead) return FALSE;
/* Open */
if (v)
{
- if (p_ptr->multishadow && !do_dec)
+ if (creature_ptr->multishadow && !do_dec)
{
- if (p_ptr->multishadow > v) return FALSE;
+ if (creature_ptr->multishadow > v) return FALSE;
}
- else if (!p_ptr->multishadow)
+ else if (!creature_ptr->multishadow)
{
msg_print(_("あなたの周りに幻影が生まれた。", "Your Shadow enveloped you."));
notice = TRUE;
/* Shut */
else
{
- if (p_ptr->multishadow)
+ if (creature_ptr->multishadow)
{
msg_print(_("幻影が消えた。", "Your Shadow disappears."));
notice = TRUE;
}
/* Use the value */
- p_ptr->multishadow = v;
- p_ptr->redraw |= (PR_STATUS);
+ creature_ptr->multishadow = v;
+ creature_ptr->redraw |= (PR_STATUS);
/* Nothing to notice */
if (!notice) return (FALSE);
if (disturb_state) disturb(FALSE, FALSE);
- p_ptr->update |= (PU_BONUS);
+ creature_ptr->update |= (PU_BONUS);
handle_stuff();
return (TRUE);
}
extern bool set_tim_eyeeye(player_type *creature_ptr, TIME_EFFECT v, bool do_dec);
extern bool set_resist_magic(player_type *creature_ptr, TIME_EFFECT v, bool do_dec);
extern bool set_tim_reflect(player_type *creature_ptr, TIME_EFFECT v, bool do_dec);
-extern bool set_multishadow(TIME_EFFECT v, bool do_dec);
+extern bool set_multishadow(player_type *creature_ptr, TIME_EFFECT v, bool do_dec);
extern bool set_dustrobe(TIME_EFFECT v, bool do_dec);
extern bool set_kabenuke(TIME_EFFECT v, bool do_dec);
extern bool set_tsuyoshi(TIME_EFFECT v, bool do_dec);