summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/teleport.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/teleport.cc')
-rw-r--r--crawl-ref/source/teleport.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/crawl-ref/source/teleport.cc b/crawl-ref/source/teleport.cc
index ef9cf3a025..8b96ed6b35 100644
--- a/crawl-ref/source/teleport.cc
+++ b/crawl-ref/source/teleport.cc
@@ -140,6 +140,19 @@ void blink_range(monsters* mon)
ASSERT(success);
}
+// Blink the monster close to its foe.
+void blink_close(monsters* mon)
+{
+ actor* foe = mon->get_foe();
+ if (!foe || !mon->can_see(foe))
+ return;
+ coord_def dest = random_space_weighted(mon, foe, true);
+ if (dest.origin())
+ return;
+ bool success = mon->blink_to(dest);
+ ASSERT(success);
+}
+
bool random_near_space(const coord_def& origin, coord_def& target,
bool allow_adjacent, bool restrict_los,
bool forbid_dangerous, bool forbid_sanctuary)