summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/beam.cc6
-rw-r--r--crawl-ref/source/delay.cc2
2 files changed, 7 insertions, 1 deletions
diff --git a/crawl-ref/source/beam.cc b/crawl-ref/source/beam.cc
index a310f77c8c..faebaa28fa 100644
--- a/crawl-ref/source/beam.cc
+++ b/crawl-ref/source/beam.cc
@@ -36,6 +36,7 @@
#include "cio.h"
#include "cloud.h"
+#include "delay.h"
#include "effects.h"
#include "enum.h"
#include "it_use2.h"
@@ -3114,6 +3115,11 @@ static int affect_player( bolt &beam )
return (range_used_on_hit(beam));
}
+ // Trigger an interrupt, so travel will stop on misses
+ // which generate smoke.
+ if (!YOU_KILL(beam.thrower))
+ interrupt_activity(AI_MONSTER_ATTACKS);
+
// BEGIN real beam code
beam.msg_generated = true;
diff --git a/crawl-ref/source/delay.cc b/crawl-ref/source/delay.cc
index e9ee8bff90..c05cf3057f 100644
--- a/crawl-ref/source/delay.cc
+++ b/crawl-ref/source/delay.cc
@@ -992,7 +992,7 @@ void run_macro(const char *macroname)
#endif
}
-// Returns true if the delay should be interrupted, false if the user function
+// Returns 1 if the delay should be interrupted, 0 if the user function
// had no opinion on the matter, -1 if the delay should not be interrupted.
static int userdef_interrupt_activity( const delay_queue_item &idelay,
activity_interrupt_type ai,