*/
static void bolt(int m_idx, int typ, int dam_hp, int monspell, bool learnable)
{
- int flg = PROJECT_STOP | PROJECT_KILL | PROJECT_PLAYER;
+ int flg = PROJECT_STOP | PROJECT_KILL | PROJECT_PLAYER | PROJECT_REFLECTABLE;
/* Target the player with a bolt attack */
(void)project(m_idx, 0, py, px, dam_hp, typ, flg, (learnable ? monspell : -1));
static void beam(int m_idx, int typ, int dam_hp, int monspell, bool learnable)
{
- int flg = PROJECT_BEAM | PROJECT_KILL | PROJECT_THRU | PROJECT_PLAYER | PROJECT_NO_REF;
+ int flg = PROJECT_BEAM | PROJECT_KILL | PROJECT_THRU | PROJECT_PLAYER;
/* Target the player with a bolt attack */
(void)project(m_idx, 0, py, px, dam_hp, typ, flg, (learnable ? monspell : -1));
if (breath) rad = 0 - rad;
if (typ == GF_ROCKET) flg |= PROJECT_STOP;
+ if (typ == GF_MIND_BLAST || typ == GF_BRAIN_SMASH ||
+ typ == GF_CAUSE_1 || typ == GF_CAUSE_2 || typ == GF_CAUSE_3 ||
+ typ == GF_CAUSE_4 || typ == GF_HAND_DOOM) flg |= PROJECT_HIDE;
/* Target the player with a ball attack */
(void)project(m_idx, rad, y, x, dam_hp, typ, flg, (learnable ? monspell : -1));
msg_format("The attack of %s has wounded %s!", m_name, m_name_self);
#endif
- project(0, 0, m_ptr->fy, m_ptr->fx, get_damage, GF_MISSILE, PROJECT_KILL | PROJECT_NO_REF, -1);
+ project(0, 0, m_ptr->fy, m_ptr->fx, get_damage, GF_MISSILE, PROJECT_KILL, -1);
set_tim_eyeeye(p_ptr->tim_eyeeye-5, TRUE);
}
}