summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/los.cc
diff options
context:
space:
mode:
authorRobert Vollmert <rvollmert@gmx.net>2009-10-31 09:19:11 +0100
committerRobert Vollmert <rvollmert@gmx.net>2009-11-01 21:44:15 +0100
commitafca77968d2a0591591a1b0792b2083558d6c3bc (patch)
treee3b74baa2b8292a4eb376fca7dd2eff1207c1e69 /crawl-ref/source/los.cc
parent842722ca2c40bb838d908677677d6096963e879d (diff)
downloadcrawl-ref-afca77968d2a0591591a1b0792b2083558d6c3bc.tar.gz
crawl-ref-afca77968d2a0591591a1b0792b2083558d6c3bc.zip
Special case source==target in num_feats_between.
This was causing a crash through monsters::mon_see_cell. Also special case monster position there.
Diffstat (limited to 'crawl-ref/source/los.cc')
-rw-r--r--crawl-ref/source/los.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/crawl-ref/source/los.cc b/crawl-ref/source/los.cc
index 282ddba85c..cff3c128be 100644
--- a/crawl-ref/source/los.cc
+++ b/crawl-ref/source/los.cc
@@ -752,6 +752,9 @@ int num_feats_between(const coord_def& source, const coord_def& target,
int count = 0;
int max_dist = grid_distance(source, target);
+ if (source == target)
+ return (0); // XXX: might want to count the cell.
+
// We don't need to find the shortest beam, any beam will suffice.
fallback_ray(source, target, ray);