diff options
author | Matthew Cline <zelgadis@sourceforge.net> | 2009-11-01 15:12:31 -0800 |
---|---|---|
committer | Matthew Cline <zelgadis@sourceforge.net> | 2009-11-01 15:12:31 -0800 |
commit | dde86f0f2b3ecbb4535c450bc68771c6df90c578 (patch) | |
tree | a5d6fbfc28739132c1c51ce93b129c3ccadfad49 /crawl-ref/source | |
parent | 46554fa28c0284338a395191627275fc0c1b6d57 (diff) | |
download | crawl-ref-dde86f0f2b3ecbb4535c450bc68771c6df90c578.tar.gz crawl-ref-dde86f0f2b3ecbb4535c450bc68771c6df90c578.zip |
beam.cc: bug #2890126: cancel from exploding ammo
Tracer beams which used special_explosion didn't fold beam_cancelled
from the special explosion back into the beam proper, making it so that
if you cancelled out from firing an exploding ammo because the explosion
would catch you, it would still fire anyways.
Diffstat (limited to 'crawl-ref/source')
-rw-r--r-- | crawl-ref/source/beam.cc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/crawl-ref/source/beam.cc b/crawl-ref/source/beam.cc index 173d4140cc..129ea8b59a 100644 --- a/crawl-ref/source/beam.cc +++ b/crawl-ref/source/beam.cc @@ -2018,9 +2018,11 @@ void bolt::fire() if (special_explosion != NULL) { - seen = seen || special_explosion->seen; - foe_info += special_explosion->foe_info; - friend_info += special_explosion->friend_info; + seen = seen || special_explosion->seen; + beam_cancelled = beam_cancelled + || special_explosion->beam_cancelled; + foe_info += special_explosion->foe_info; + friend_info += special_explosion->friend_info; _undo_tracer(*special_explosion, *boltcopy.special_explosion); delete boltcopy.special_explosion; } |