m_ptr->csleep -= d;
/* Notice the "not waking up" */
- if (m_ptr->ml)
+ if (is_original_ap_and_seen(m_ptr))
{
/* Hack -- Count the ignores */
- if (r_ptr->r_ignore < MAX_UCHAR)
- {
- r_ptr->r_ignore++;
- }
+ if (r_ptr->r_ignore < MAX_UCHAR) r_ptr->r_ignore++;
}
}
if (p_ptr->riding == m_idx) p_ptr->redraw |= (PR_UHEALTH);
/* Hack -- Count the wakings */
- if (r_ptr->r_wake < MAX_UCHAR)
+ if ((r_ptr->r_wake < MAX_UCHAR) && is_original_ap(m_ptr))
{
r_ptr->r_wake++;
}
/* Scan through all four blows */
for (ap_cnt = 0; ap_cnt < 4; ap_cnt++)
{
- bool visible = FALSE;
bool obvious = FALSE;
int power = 0;
if (method == RBM_SHOOT) continue;
- /* Extract visibility (before blink) */
- if (m_ptr->ml) visible = TRUE;
-
/* Extract the attack "power" */
power = mbe_info[effect].power;
/* Analyze "visible" monsters only */
- if (visible && !do_silly_attack)
+ if (is_original_ap_and_seen(m_ptr) && !do_silly_attack)
{
/* Count "obvious" attacks (and ones that cause damage) */
if (obvious || damage || (r_ptr->r_blows[ap_cnt] > 10))
/* Analyze "visible" monsters only */
- if (m_ptr->ml && !do_silly_attack)
+ if (is_original_ap_and_seen(m_ptr) && !do_silly_attack)
{
/* Count "obvious" attacks (and ones that cause damage) */
if (obvious || damage || (r_ptr->r_blows[ap_cnt] > 10))
#else
msg_format("%^s wakes up.", m_name);
#endif
+ }
+ if (m_ptr->ml)
+ {
/* Redraw the health bar */
if (p_ptr->health_who == m_idx) p_ptr->redraw |= (PR_HEALTH);
if (is_riding_mon) p_ptr->redraw |= (PR_UHEALTH);
/* Hack -- Count the wakings */
- if (r_ptr->r_wake < MAX_UCHAR)
+ if ((r_ptr->r_wake < MAX_UCHAR) && is_original_ap(m_ptr))
{
r_ptr->r_wake++;
}
bool in_no_magic_dungeon = (d_info[dungeon_type].flags1 & DF1_NO_MAGIC) && dun_level
&& (!p_ptr->inside_quest || is_fixed_quest_idx(p_ptr->inside_quest));
+ bool can_remember;
+
/* Cannot cast spells when confused */
if (m_ptr->confused)
{
/* Projectable? */
direct = player_bold(y, x);
+ can_remember = is_original_ap_and_seen(m_ptr);
+
/* Cast the spell. */
switch (thrown_spell)
{
}
/* Remember what the monster did to us */
- if (is_original_ap_and_seen(m_ptr))
+ if (can_remember)
{
/* Inate spell */
if (thrown_spell < 32 * 4)
bool in_no_magic_dungeon = (d_info[dungeon_type].flags1 & DF1_NO_MAGIC) && dun_level
&& (!p_ptr->inside_quest || is_fixed_quest_idx(p_ptr->inside_quest));
+ bool can_remember;
+
bool resists_tele = FALSE;
/* Prepare flags for summoning */
return (TRUE);
}
+ can_remember = is_original_ap_and_seen(m_ptr);
+
switch (thrown_spell)
{
/* RF4_SHRIEK */
}
/* Remember what the monster did, if we saw it */
- if (is_original_ap_and_seen(m_ptr))
+ if (can_remember)
{
/* Inate spell */
if (thrown_spell < 32*4)