case 8: sprintf(p, " %s10d6+%d", s_dam, plev * 3 / 2 + boost * 3 / 5); break;
case 9: break;
#ifdef JP
- case 10: sprintf(p, " ºÇÂç%dɤ", 1+boost/100); break;
+ case 10: sprintf(p, " ºÇÂç%dÂÎ", 1+boost/100); break;
#else
case 10: sprintf(p, " max %d", 1+boost/100); break;
#endif
#ifdef ALLOW_REPEAT /* TNB */
- /* Get the spell, if available */
- if (repeat_pull(sn))
+ /* Get the spell, if available */
+ if (repeat_pull(sn))
{
- /* Verify the spell */
- if (mind_ptr->info[*sn].min_lev <= plev)
- {
- /* Success */
- return (TRUE);
- }
+ /* Hack -- If requested INVEN_FORCE(1111), pull again */
+ if (*sn == INVEN_FORCE) repeat_pull(sn);
+
+ /* Verify the spell */
+ if (mind_ptr->info[*sn].min_lev <= plev)
+ {
+ /* Success */
+ return (TRUE);
+ }
}
#endif /* ALLOW_REPEAT -- TNB */
int oy = y, ox = x;
int m_idx = cave[y][x].m_idx;
monster_type *m_ptr = &m_list[m_idx];
+ monster_race *r_ptr = &r_info[m_ptr->r_idx];
char m_name[80];
monster_desc(m_name, m_ptr, 0);
- if (randint1(r_info[m_ptr->r_idx].level * 3 / 2) > randint0(dam / 2) + dam/2)
+ if (randint1(r_ptr->level * 3 / 2) > randint0(dam / 2) + dam/2)
{
#ifdef JP
msg_format("%s¤ÏÈô¤Ð¤µ¤ì¤Ê¤«¤Ã¤¿¡£", m_name);
update_mon(m_idx, TRUE);
lite_spot(oy, ox);
lite_spot(ty, tx);
+
+ if (r_ptr->flags7 & (RF7_LITE_MASK | RF7_DARK_MASK))
+ p_ptr->update |= (PU_MON_LITE);
}
}
}
#else
msg_format("%^s is no longer invulnerable.", m_name);
#endif
+ m_ptr->energy_need += ENERGY_NEED();
}
if (m_ptr->fast)
{
#else
msg_print("Go through the world of mirror...");
#endif
- return dimension_door();
+ return mirror_tunnel();
+
/* mirror of recall */
case 17:
return word_of_recall();
/* Redraw the new grid */
lite_spot(ty, tx);
- p_ptr->update |= (PU_MON_LITE);
+ if (r_info[m_ptr->r_idx].flags7 & (RF7_LITE_MASK | RF7_DARK_MASK))
+ p_ptr->update |= (PU_MON_LITE);
break;
}
msg_print("Your mind unleashes its power in an uncontrollable storm!");
#endif
- project(1, 2 + plev / 10, py, px, plev * 2,
+ project(PROJECT_WHO_UNCTRL_POWER, 2 + plev / 10, py, px, plev * 2,
GF_MANA, PROJECT_JUMP | PROJECT_KILL | PROJECT_GRID | PROJECT_ITEM, -1);
p_ptr->csp = MAX(0, p_ptr->csp - plev * MAX(1, plev / 10));
}
msg_print("Your mind unleashes its power in an uncontrollable storm!");
#endif
- project(1, 2 + plev / 10, py, px, plev * 2,
+ project(PROJECT_WHO_UNCTRL_POWER, 2 + plev / 10, py, px, plev * 2,
GF_MANA, PROJECT_JUMP | PROJECT_KILL | PROJECT_GRID | PROJECT_ITEM, -1);
p_ptr->csp = MAX(0, p_ptr->csp - plev * MAX(1, plev / 10));
}