break;
case PATTERN_TILE_WRECKED:
- if (!IS_INVULN())
+ if (!IS_INVULN(creature_ptr))
take_hit(creature_ptr, DAMAGE_NOESCAPE, 200, _("壊れた「パターン」を歩いたダメージ", "walking the corrupted Pattern"), -1);
break;
default:
if (PRACE_IS_(creature_ptr, RACE_AMBERITE) && !one_in_(2))
return TRUE;
- else if (!IS_INVULN())
+ else if (!IS_INVULN(creature_ptr))
take_hit(creature_ptr, DAMAGE_NOESCAPE, damroll(1, 3), _("「パターン」を歩いたダメージ", "walking the Pattern"), -1);
break;
}
/* Calculate damage */
HIT_POINT dam = (PY_FOOD_STARVE - creature_ptr->food) / 10;
- if (!IS_INVULN()) take_hit(creature_ptr, DAMAGE_LOSELIFE, dam, _("空腹", "starvation"), -1);
+ if (!IS_INVULN(creature_ptr)) take_hit(creature_ptr, DAMAGE_LOSELIFE, dam, _("空腹", "starvation"), -1);
}
}
}
/*** Damage over Time ***/
/* Take damage from poison */
- if (creature_ptr->poisoned && !IS_INVULN())
+ if (creature_ptr->poisoned && !IS_INVULN(creature_ptr))
{
take_hit(creature_ptr, DAMAGE_NOESCAPE, 1, _("毒", "poison"), -1);
}
/* Take damage from cuts */
- if (creature_ptr->cut && !IS_INVULN())
+ if (creature_ptr->cut && !IS_INVULN(creature_ptr))
{
HIT_POINT dam;
/* (Vampires) Take damage from sunlight */
if (PRACE_IS_(creature_ptr, RACE_VAMPIRE) || (creature_ptr->mimic_form == MIMIC_VAMPIRE))
{
- if (!creature_ptr->current_floor_ptr->dun_level && !creature_ptr->resist_lite && !IS_INVULN() && is_daytime())
+ if (!creature_ptr->current_floor_ptr->dun_level && !creature_ptr->resist_lite && !IS_INVULN(creature_ptr) && is_daytime())
{
if ((creature_ptr->current_floor_ptr->grid_array[creature_ptr->y][creature_ptr->x].info & (CAVE_GLOW | CAVE_MNDK)) == CAVE_GLOW)
{
object_desc(o_name, o_ptr, OD_NAME_ONLY);
sprintf(ouch, _("%sを装備したダメージ", "wielding %s"), o_name);
- if (!IS_INVULN()) take_hit(creature_ptr, DAMAGE_NOESCAPE, 1, ouch, -1);
+ if (!IS_INVULN(creature_ptr)) take_hit(creature_ptr, DAMAGE_NOESCAPE, 1, ouch, -1);
}
}
- if (have_flag(f_ptr->flags, FF_LAVA) && !IS_INVULN() && !creature_ptr->immune_fire)
+ if (have_flag(f_ptr->flags, FF_LAVA) && !IS_INVULN(creature_ptr) && !creature_ptr->immune_fire)
{
int damage = 0;
}
}
- if (have_flag(f_ptr->flags, FF_COLD_PUDDLE) && !IS_INVULN() && !creature_ptr->immune_cold)
+ if (have_flag(f_ptr->flags, FF_COLD_PUDDLE) && !IS_INVULN(creature_ptr) && !creature_ptr->immune_cold)
{
int damage = 0;
}
}
- if (have_flag(f_ptr->flags, FF_ELEC_PUDDLE) && !IS_INVULN() && !creature_ptr->immune_elec)
+ if (have_flag(f_ptr->flags, FF_ELEC_PUDDLE) && !IS_INVULN(creature_ptr) && !creature_ptr->immune_elec)
{
int damage = 0;
}
}
- if (have_flag(f_ptr->flags, FF_ACID_PUDDLE) && !IS_INVULN() && !creature_ptr->immune_acid)
+ if (have_flag(f_ptr->flags, FF_ACID_PUDDLE) && !IS_INVULN(creature_ptr) && !creature_ptr->immune_acid)
{
int damage = 0;
}
}
- if (have_flag(f_ptr->flags, FF_POISON_PUDDLE) && !IS_INVULN())
+ if (have_flag(f_ptr->flags, FF_POISON_PUDDLE) && !IS_INVULN(creature_ptr))
{
int damage = 0;
*/
if (!have_flag(f_ptr->flags, FF_MOVE) && !have_flag(f_ptr->flags, FF_CAN_FLY))
{
- if (!IS_INVULN() && !creature_ptr->wraith_form && !creature_ptr->kabenuke && ((creature_ptr->chp > (creature_ptr->lev / 5)) || !creature_ptr->pass_wall))
+ if (!IS_INVULN(creature_ptr) && !creature_ptr->wraith_form && !creature_ptr->kabenuke && ((creature_ptr->chp > (creature_ptr->lev / 5)) || !creature_ptr->pass_wall))
{
concptr dam_desc;
cave_no_regen = TRUE;
if (!use_graphics)
{
if (current_world_ptr->timewalk_m_idx) a = TERM_DARK;
- else if (IS_INVULN() || p_ptr->timewalk) a = TERM_WHITE;
+ else if (IS_INVULN(p_ptr) || p_ptr->timewalk) a = TERM_WHITE;
else if (p_ptr->wraith_form) a = TERM_L_DARK;
}
if (!use_graphics)
{
if (current_world_ptr->timewalk_m_idx) a = TERM_DARK;
- else if (IS_INVULN() || p_ptr->timewalk) a = TERM_WHITE;
+ else if (IS_INVULN(p_ptr) || p_ptr->timewalk) a = TERM_WHITE;
else if (p_ptr->wraith_form) a = TERM_L_DARK;
}
if (!p_ptr->levitation && !p_ptr->can_swim) return FALSE;
}
- if (have_flag(f_ptr->flags, FF_LAVA) && !p_ptr->immune_fire && !IS_INVULN())
+ if (have_flag(f_ptr->flags, FF_LAVA) && !p_ptr->immune_fire && !IS_INVULN(p_ptr))
{
/* Always forbid deep lava */
if (have_flag(f_ptr->flags, FF_DEEP)) return FALSE;
monster_race *r_ptr = &r_info[m_ptr->r_idx];
/* Invulnabilty (including the song) */
- if (IS_INVULN()) return (TRUE);
+ if (IS_INVULN(p_ptr)) return (TRUE);
/* Wraith form */
if (p_ptr->wraith_form) return (TRUE);
}
/* Attack spell (most of the time) */
- if (IS_INVULN())
+ if (IS_INVULN(p_ptr))
{
if (psy_spe_num && (randint0(100) < 50))
{
/* Mega-Hack -- Apply "invulnerability" */
if ((damage_type != DAMAGE_USELIFE) && (damage_type != DAMAGE_LOSELIFE))
{
- if (IS_INVULN() && (damage < 9000))
+ if (IS_INVULN(creature_ptr) && (damage < 9000))
{
if (damage_type == DAMAGE_FORCE)
{
{
if (creature_ptr->invuln > v) return FALSE;
}
- else if (!IS_INVULN())
+ else if (!IS_INVULN(creature_ptr))
{
msg_print(_("無敵だ!", "Invulnerability!"));
notice = TRUE;
}
/* Lava */
- else if (have_flag(f_ptr->flags, FF_LAVA) && (p_ptr->immune_fire || IS_INVULN()))
+ else if (have_flag(f_ptr->flags, FF_LAVA) && (p_ptr->immune_fire || IS_INVULN(p_ptr)))
{
/* Ignore */
notice = FALSE;
msg_print(_("パターンを血で汚してしまった!", "You bleed on the Pattern!"));
msg_print(_("何か恐ろしい事が起こった!", "Something terrible happens!"));
- if (!IS_INVULN()) take_hit(creature_ptr, DAMAGE_NOESCAPE, damroll(10, 8), _("パターン損壊", "corrupting the Pattern"), -1);
+ if (!IS_INVULN(creature_ptr)) take_hit(creature_ptr, DAMAGE_NOESCAPE, damroll(10, 8), _("パターン損壊", "corrupting the Pattern"), -1);
to_ruin = randint1(45) + 35;
while (to_ruin--)
/* Temporary flags macro */
#define IS_FAST(C) (C->fast || music_singing(C, MUSIC_SPEED) || music_singing(C, MUSIC_SHERO))
-#define IS_INVULN() (p_ptr->invuln || music_singing(p_ptr, MUSIC_INVULN))
+#define IS_INVULN(C) (C->invuln || music_singing(C, MUSIC_INVULN))
#define IS_HERO() (p_ptr->hero || music_singing(p_ptr, MUSIC_HERO) || music_singing(p_ptr, MUSIC_SHERO))
#define IS_BLESSED() (p_ptr->blessed || music_singing(p_ptr, MUSIC_BLESS) || hex_spelling(HEX_BLESS))
#define IS_OPPOSE_ACID() (p_ptr->oppose_acid || music_singing(p_ptr, MUSIC_RESIST) || (p_ptr->special_defense & KATA_MUSOU))
{
info[i++] = _("あなたは神秘のシールドで守られている。", "You are protected by a mystic shield.");
}
- if (IS_INVULN())
+ if (IS_INVULN(creature_ptr))
{
info[i++] = _("あなたは現在傷つかない。", "You are temporarily invulnerable.");
}
if (creature_ptr->protevil) ADD_FLG(BAR_PROTEVIL);
/* Invulnerability */
- if (IS_INVULN()) ADD_FLG(BAR_INVULN);
+ if (IS_INVULN(creature_ptr)) ADD_FLG(BAR_INVULN);
/* Wraith form */
if (creature_ptr->wraith_form) ADD_FLG(BAR_WRAITH);
if (!use_graphics)
{
if (current_world_ptr->timewalk_m_idx) a = TERM_DARK;
- else if (IS_INVULN() || p_ptr->timewalk) a = TERM_WHITE;
+ else if (IS_INVULN(p_ptr) || p_ptr->timewalk) a = TERM_WHITE;
else if (p_ptr->wraith_form) a = TERM_L_DARK;
}
if (!use_graphics)
{
if (current_world_ptr->timewalk_m_idx) a = TERM_DARK;
- else if (IS_INVULN() || p_ptr->timewalk) a = TERM_WHITE;
+ else if (IS_INVULN(p_ptr) || p_ptr->timewalk) a = TERM_WHITE;
else if (p_ptr->wraith_form) a = TERM_L_DARK;
}
if (!use_graphics)
{
if (current_world_ptr->timewalk_m_idx) ta = TERM_DARK;
- else if (IS_INVULN() || p_ptr->timewalk) ta = TERM_WHITE;
+ else if (IS_INVULN(p_ptr) || p_ptr->timewalk) ta = TERM_WHITE;
else if (p_ptr->wraith_form) ta = TERM_L_DARK;
}
if (!use_graphics)
{
if (current_world_ptr->timewalk_m_idx) a = TERM_DARK;
- else if (IS_INVULN() || p_ptr->timewalk) a = TERM_WHITE;
+ else if (IS_INVULN(p_ptr) || p_ptr->timewalk) a = TERM_WHITE;
else if (p_ptr->wraith_form) a = TERM_L_DARK;
}