From bddd83ea2d5307a2669efee6eb228cbdda02554c Mon Sep 17 00:00:00 2001 From: Robert Vollmert Date: Sat, 14 Nov 2009 14:00:49 +0100 Subject: Generalise blink_closer to arbitrary victims. --- crawl-ref/source/teleport.cc | 13 +++++-------- crawl-ref/source/teleport.h | 2 +- 2 files changed, 6 insertions(+), 9 deletions(-) (limited to 'crawl-ref') 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, diff --git a/crawl-ref/source/teleport.h b/crawl-ref/source/teleport.h index 7c46188386..2224c0958c 100644 --- a/crawl-ref/source/teleport.h +++ b/crawl-ref/source/teleport.h @@ -1,7 +1,7 @@ #ifndef TELEPORT_H #define TELEPORT_H -void blink_closer(const coord_def& target); +void blink_closer(actor* victim, const coord_def& target); bool random_near_space(const coord_def& origin, coord_def& target, bool allow_adjacent = false, bool restrict_LOS = true, -- cgit v1.2.3-54-g00ecf