From cef2c17b4efb995e002c07062c04254055277d55 Mon Sep 17 00:00:00 2001 From: haranp Date: Tue, 24 Feb 2009 18:44:55 +0000 Subject: Partial fix for [2628480]: use you.can_see() instead of player_monster_visible() in monsters::name() and do_mon_str_replacements(), so that noninvisible monsters which shout when out of sight are handled correctly. This isn't really the bug that's there, but it needed to be done sometime. Note that this is a change: if a monster is too far away to see and you want to get its name, you'll have to set force_vis. I hope this doesn't break anything. Also, make the mgrd-out-of-sync message trigger outside of DEBUG_DIAGNOSTICS. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9195 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/directn.cc | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'crawl-ref/source/directn.cc') diff --git a/crawl-ref/source/directn.cc b/crawl-ref/source/directn.cc index f3eed0efec..c75aa88657 100644 --- a/crawl-ref/source/directn.cc +++ b/crawl-ref/source/directn.cc @@ -267,7 +267,7 @@ static void draw_ray_glyph(const coord_def &pos, int colour, { if (mons->alive() && player_monster_visible(mons)) { - glych = get_screen_glyph(pos.x, pos.y); + glych = get_screen_glyph(pos); colour = mcol; } } @@ -413,13 +413,10 @@ static void _direction_again(dist& moves, targeting_type restricts, { const monsters *montarget = &menv[you.prev_targ]; - if (!mons_near(montarget) - || !player_monster_visible( montarget )) + if (!you.can_see(montarget)) { moves.isCancel = true; - crawl_state.cancel_cmd_all("Your target is gone."); - return; } else if (!_is_target_in_range(montarget->pos(), range)) -- cgit v1.2.3-54-g00ecf