From d518ae51c1ee912985673d3fdafd8ce61fa149eb Mon Sep 17 00:00:00 2001 From: Jude Brown Date: Thu, 12 Nov 2009 22:34:54 +1000 Subject: Further elven twin death effect tweaks. Fix a minor bug (always giving a distance message unless the twin is invisible), and add a waken event. --- crawl-ref/source/mon-stuff.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'crawl-ref/source/mon-stuff.cc') diff --git a/crawl-ref/source/mon-stuff.cc b/crawl-ref/source/mon-stuff.cc index 2a5d903ebc..09da57c214 100644 --- a/crawl-ref/source/mon-stuff.cc +++ b/crawl-ref/source/mon-stuff.cc @@ -1235,6 +1235,10 @@ static void _elven_twin_died(monsters* twin) if (!found_duvessa && !found_dowan) return; + // If you've stabbed one of them, the other one is likely asleep still. + if (monster->asleep()) + behaviour_event(monster, ME_DISTURB, MHITNOT, monster->pos()); + // Will generate strings such as 'Duvessa_Duvessa_dies' or, alternately // 'Dowan_Dowan_dies', but as neither will match, these can safely be // ignored. @@ -1243,7 +1247,7 @@ static void _elven_twin_died(monsters* twin) if (mons_near(monster) && !monster->observable()) key += "invisible_"; - else + else if (!mons_near(monster)) key += "distance_"; std::string death_message = getSpeakString(key); -- cgit v1.2.3-54-g00ecf