diff options
-rw-r--r-- | crawl-ref/source/beam.cc | 6 | ||||
-rw-r--r-- | crawl-ref/source/delay.cc | 2 |
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, |