/* Extract monster name (or "it") */
monster_desc(m_name, m_ptr, 0);
- /* Auto-Recall if possible and visible */
- if (m_ptr->ml) monster_race_track(m_ptr->ap_r_idx);
+ if (m_ptr->ml)
+ {
+ /* Auto-Recall if possible and visible */
+ monster_race_track(m_ptr->ap_r_idx);
- /* Track a new monster */
- if (m_ptr->ml) health_track(c_ptr->m_idx);
+ /* Track a new monster */
+ health_track(c_ptr->m_idx);
+ }
if ((r_ptr->flags1 & RF1_FEMALE) &&
!(p_ptr->stun || p_ptr->confused || p_ptr->image || !m_ptr->ml))
/* Acquire the monster name */
monster_desc(m_name, m_ptr, 0);
#ifdef JP
-msg_format("%^s¤òµ¯¤³¤·¤¿¡£", m_name);
+ msg_format("%^s¤òµ¯¤³¤·¤¿¡£", m_name);
#else
msg_format("You have waked %s up.", m_name);
#endif
- if (p_ptr->health_who == p_ptr->riding) p_ptr->redraw |= (PR_HEALTH);
p_ptr->redraw |= (PR_UHEALTH);
}
/* Dump a message */
#ifdef JP
-msg_format("%^s¤òÛ¯Û°¾õÂÖ¤«¤éΩ¤Áľ¤é¤»¤¿¡£", m_name);
+ msg_format("%^s¤òÛ¯Û°¾õÂÖ¤«¤éΩ¤Áľ¤é¤»¤¿¡£", m_name);
#else
msg_format("%^s is no longer stunned.", m_name);
#endif
- if (p_ptr->health_who == p_ptr->riding) p_ptr->redraw |= (PR_HEALTH);
- p_ptr->redraw |= (PR_UHEALTH);
}
}
/* Dump a message */
#ifdef JP
-msg_format("%^s¤òº®Íð¾õÂÖ¤«¤éΩ¤Áľ¤é¤»¤¿¡£", m_name);
+ msg_format("%^s¤òº®Íð¾õÂÖ¤«¤éΩ¤Áľ¤é¤»¤¿¡£", m_name);
#else
msg_format("%^s is no longer confused.", m_name);
#endif
- if (p_ptr->health_who == p_ptr->riding) p_ptr->redraw |= (PR_HEALTH);
- p_ptr->redraw |= (PR_UHEALTH);
}
}
/* Dump a message */
#ifdef JP
-msg_format("%^s¤ò¶²Éݤ«¤éΩ¤Áľ¤é¤»¤¿¡£", m_name);
+ msg_format("%^s¤ò¶²Éݤ«¤éΩ¤Áľ¤é¤»¤¿¡£", m_name);
#else
msg_format("%^s is no longer fear.", m_name);
#endif
- if (p_ptr->health_who == p_ptr->riding) p_ptr->redraw |= (PR_HEALTH);
p_ptr->redraw |= (PR_UHEALTH);
}
}
t_ptr->csleep = 0;
if (tr_ptr->flags7 & RF7_HAS_LD_MASK) p_ptr->update |= (PU_MON_LITE);
+ if (t_ptr->ml)
+ {
+ /* Redraw the health bar */
+ if (p_ptr->health_who == t_idx) p_ptr->redraw |= (PR_HEALTH);
+ if (p_ptr->riding == t_idx) p_ptr->redraw |= (PR_UHEALTH);
+ }
/* Describe the attack method */
switch (method)
t_ptr->csleep = 0;
if (tr_ptr->flags7 & RF7_HAS_LD_MASK) p_ptr->update |= (PU_MON_LITE);
+ if (t_ptr->ml)
+ {
+ /* Redraw the health bar */
+ if (p_ptr->health_who == t_idx) p_ptr->redraw |= (PR_HEALTH);
+ if (p_ptr->riding == t_idx) p_ptr->redraw |= (PR_UHEALTH);
+ }
/* Visible monsters */
if (see_m)
if (r_info[y_ptr->r_idx].flags7 & (RF7_LITE_MASK | RF7_DARK_MASK))
p_ptr->update |= (PU_MON_LITE);
+ if (y_ptr->ml)
+ {
+ /* Redraw the health bar */
+ if (p_ptr->health_who == c_ptr->m_idx) p_ptr->redraw |= (PR_HEALTH);
+ }
+
/* XXX XXX XXX Message */
}
}
if (!target_set(TARGET_KILL)) return FALSE;
m_idx = cave[target_row][target_col].m_idx;
if (!m_idx) break;
+ if (m_idx == p_ptr->riding) break;
if (!player_has_los_bold(target_row, target_col)) break;
if (!projectable(py, px, target_row, target_col)) break;
m_ptr = &m_list[m_idx];
if (r_info[m_ptr->r_idx].flags7 & (RF7_LITE_MASK | RF7_DARK_MASK))
p_ptr->update |= (PU_MON_LITE);
+ if (m_ptr->ml)
+ {
+ /* Auto-Recall if possible and visible */
+ monster_race_track(m_ptr->ap_r_idx);
+
+ /* Track a new monster */
+ health_track(m_idx);
+ }
+
break;
}
case 13:
{
t_ptr->csleep = 0;
if (tr_ptr->flags7 & RF7_HAS_LD_MASK) p_ptr->update |= (PU_MON_LITE);
+ if (t_ptr->ml)
+ {
+ /* Redraw the health bar */
+ if (p_ptr->health_who == t_idx) p_ptr->redraw |= (PR_HEALTH);
+ if (p_ptr->riding == t_idx) p_ptr->redraw |= (PR_UHEALTH);
+ }
}
if (fear && see_t)
#endif
m_ptr->maxhp = m_ptr->max_maxhp;
}
- if (!dam) break;
+
+ if (!dam)
+ {
+ /* Redraw (later) if needed */
+ if (p_ptr->health_who == c_ptr->m_idx) p_ptr->redraw |= (PR_HEALTH);
+ if (p_ptr->riding == c_ptr->m_idx) p_ptr->redraw |= (PR_UHEALTH);
+ break;
+ }
+
+ /* Fall through */
}
case GF_OLD_HEAL:
{
/* Message */
#ifdef JP
-note = "¤ÏÂÎÎϤò²óÉü¤·¤¿¤è¤¦¤À¡£";
+ note = "¤ÏÂÎÎϤò²óÉü¤·¤¿¤è¤¦¤À¡£";
#else
note = " looks healthier.";
#endif
-
/* No "real" damage */
dam = 0;
break;
/* Wake up */
m_ptr->csleep = 0;
if (r_info[m_ptr->r_idx].flags7 & RF7_HAS_LD_MASK) p_ptr->update |= (PU_MON_LITE);
+ if (m_ptr->ml)
+ {
+ /* Redraw (later) if needed */
+ if (p_ptr->health_who == i) p_ptr->redraw |= (PR_HEALTH);
+ if (p_ptr->riding == i) p_ptr->redraw |= (PR_UHEALTH);
+ }
sleep = TRUE;
}
if (!is_pet(m_ptr)) m_ptr->mflag2 |= MFLAG2_NOPET;
/* Messages */
#ifdef JP
-if (speed) msg_print("ÉÕ¶á¤Ç²¿¤«¤¬ÆÍÇ¡¶½Ê³¤·¤¿¤è¤¦¤Ê´¶¤¸¤ò¼õ¤±¤¿¡ª");
-else if (sleep) msg_print("²¿¤«¤¬ÆÍÇ¡¶½Ê³¤·¤¿¤è¤¦¤ÊÁû¡¹¤·¤¤²»¤¬±ó¤¯¤Ëʹ¤³¤¨¤¿¡ª");
+ if (speed) msg_print("ÉÕ¶á¤Ç²¿¤«¤¬ÆÍÇ¡¶½Ê³¤·¤¿¤è¤¦¤Ê´¶¤¸¤ò¼õ¤±¤¿¡ª");
+ else if (sleep) msg_print("²¿¤«¤¬ÆÍÇ¡¶½Ê³¤·¤¿¤è¤¦¤ÊÁû¡¹¤·¤¤²»¤¬±ó¤¯¤Ëʹ¤³¤¨¤¿¡ª");
#else
if (speed) msg_print("You feel a sudden stirring nearby!");
else if (sleep) msg_print("You hear a sudden stirring in the distance!");
{
m_ptr->csleep = 0;
if (r_ptr->flags7 & RF7_HAS_LD_MASK) p_ptr->update |= (PU_MON_LITE);
+ if (m_ptr->ml)
+ {
+ /* Redraw (later) if needed */
+ if (p_ptr->health_who == i) p_ptr->redraw |= (PR_HEALTH);
+ if (p_ptr->riding == i) p_ptr->redraw |= (PR_UHEALTH);
+ }
if (see_m && !p_ptr->blind)
{
#ifdef JP
{
m_ptr->csleep = 0;
if (r_ptr->flags7 & RF7_HAS_LD_MASK) p_ptr->update |= (PU_MON_LITE);
+ if (m_ptr->ml)
+ {
+ /* Redraw (later) if needed */
+ if (p_ptr->health_who == i) p_ptr->redraw |= (PR_HEALTH);
+ if (p_ptr->riding == i) p_ptr->redraw |= (PR_UHEALTH);
+ }
if (see_m && !p_ptr->blind)
{
#ifdef JP
{
m_ptr->csleep = 0;
if (r_ptr->flags7 & RF7_HAS_LD_MASK) p_ptr->update |= (PU_MON_LITE);
+ if (m_ptr->ml)
+ {
+ /* Redraw (later) if needed */
+ if (p_ptr->health_who == i) p_ptr->redraw |= (PR_HEALTH);
+ if (p_ptr->riding == i) p_ptr->redraw |= (PR_UHEALTH);
+ }
if (see_m && !p_ptr->blind)
{
#ifdef JP
#endif
}
- /* Redraw the health bar */
- if (m_ptr->ml && (p_ptr->health_who == c_ptr->m_idx))
- p_ptr->redraw |= (PR_HEALTH);
+ if (m_ptr->ml)
+ {
+ /* Redraw the health bar */
+ if (p_ptr->health_who == c_ptr->m_idx) p_ptr->redraw |= (PR_HEALTH);
+ if (p_ptr->riding == c_ptr->m_idx) p_ptr->redraw |= (PR_UHEALTH);
+ }
}
}
#else
msg_format("%^s wakes up.", m_name);
#endif
+ }
+ if (m_ptr->ml)
+ {
/* Redraw the health bar */
if (p_ptr->health_who == c_ptr->m_idx) p_ptr->redraw |= (PR_HEALTH);
if (p_ptr->riding == c_ptr->m_idx) p_ptr->redraw |= (PR_UHEALTH);