diff options
author | Robert Vollmert <rvollmert@gmx.net> | 2009-10-31 09:19:11 +0100 |
---|---|---|
committer | Robert Vollmert <rvollmert@gmx.net> | 2009-11-01 21:44:15 +0100 |
commit | afca77968d2a0591591a1b0792b2083558d6c3bc (patch) | |
tree | e3b74baa2b8292a4eb376fca7dd2eff1207c1e69 /crawl-ref/source/los.cc | |
parent | 842722ca2c40bb838d908677677d6096963e879d (diff) | |
download | crawl-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.cc | 3 |
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); |