diff options
author | DracoOmega <draco_omega@live.com> | 2013-03-11 15:32:07 -0230 |
---|---|---|
committer | DracoOmega <draco_omega@live.com> | 2013-03-11 16:40:26 -0230 |
commit | 7b40efc68ac00b183bf44ad035a5e3d9d6e6006e (patch) | |
tree | b3941f409701a5c40b8031e1c620e3f297cf2d3b /crawl-ref/source/mon-abil.h | |
parent | 91725847f124a005b862f92f2b66e8c893043d7c (diff) | |
download | crawl-ref-7b40efc68ac00b183bf44ad035a5e3d9d6e6006e.tar.gz crawl-ref-7b40efc68ac00b183bf44ad035a5e3d9d6e6006e.zip |
Make monster pushing from imprison more aware of neighbour destinations
It was previously possible for a prison not to be vetoed if there was
a single permissible space for each pushed monster, even if some of
these push destinations were shared by more than one creature. This
sometimes resulted in monsters being left in walls when imprison was
used in highly crowded areas. Hopefully this should no longer happen.
Diffstat (limited to 'crawl-ref/source/mon-abil.h')
-rw-r--r-- | crawl-ref/source/mon-abil.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/crawl-ref/source/mon-abil.h b/crawl-ref/source/mon-abil.h index 4212216b3b..8f95f9e279 100644 --- a/crawl-ref/source/mon-abil.h +++ b/crawl-ref/source/mon-abil.h @@ -28,8 +28,10 @@ void move_demon_tentacle(monster * tentacle); void ancient_zyme_sicken(monster* mons); void starcursed_merge(monster* mon, bool forced); -bool has_push_space(const coord_def& pos, actor* act); +bool has_push_space(const coord_def& pos, actor* act, + const vector<coord_def>* excluded = NULL); bool get_push_space(const coord_def& pos, coord_def& newpos, - actor* act, bool ignore_tension = false); + actor* act, bool ignore_tension = false, + const vector<coord_def>* excluded = NULL); #endif |