summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/teleport.cc
diff options
context:
space:
mode:
authorRobert Vollmert <rvollmert@gmx.net>2009-11-14 14:00:49 +0100
committerRobert Vollmert <rvollmert@gmx.net>2009-11-14 14:35:33 +0100
commitbddd83ea2d5307a2669efee6eb228cbdda02554c (patch)
tree608a3e87125dda292e57b76e48b95b69fc7fa3fa /crawl-ref/source/teleport.cc
parentde8f8489a0d497cd8288f55a2054747c2e59b19c (diff)
downloadcrawl-ref-bddd83ea2d5307a2669efee6eb228cbdda02554c.tar.gz
crawl-ref-bddd83ea2d5307a2669efee6eb228cbdda02554c.zip
Generalise blink_closer to arbitrary victims.
Diffstat (limited to 'crawl-ref/source/teleport.cc')
-rw-r--r--crawl-ref/source/teleport.cc13
1 files changed, 5 insertions, 8 deletions
diff --git a/crawl-ref/source/teleport.cc b/crawl-ref/source/teleport.cc
index 3d0f4d5164..eb59fe06ad 100644
--- a/crawl-ref/source/teleport.cc
+++ b/crawl-ref/source/teleport.cc
@@ -90,22 +90,19 @@ bool monsters::blink_to(const coord_def& dest, bool quiet)
return (true);
}
-// Blink the player closer to the monster at target.
-void blink_closer(const coord_def &target)
+// Blink the victim closer to the monster at target.
+void blink_closer(actor* victim, const coord_def &target)
{
actor* caster = actor_at(target);
if (!caster)
return;
if (is_sanctuary(you.pos()))
return;
- coord_def dest = random_close_space(&you, caster);
+ coord_def dest = random_close_space(victim, caster);
if (dest.origin())
return;
- mpr("You blink.");
- coord_def origin = you.pos();
- bool success = move_player_to_grid(dest, false, true, true);
- if (success)
- place_cloud(CLOUD_TLOC_ENERGY, origin, 1 + random2(3), KC_YOU);
+ bool success = victim->blink_to(dest);
+ ASSERT(success);
}
bool random_near_space(const coord_def& origin, coord_def& target,