diff options
author | DracoOmega <draco_omega@live.com> | 2014-03-21 20:42:41 -0230 |
---|---|---|
committer | DracoOmega <draco_omega@live.com> | 2014-03-22 01:41:37 -0230 |
commit | 297819c9624760125d7a6668e28c86c926e3fac4 (patch) | |
tree | eba5bd22fccc28730187776b43a2fa7685675ce3 /crawl-ref/source/zap-data.h | |
parent | cc756c7349da4e82dac8f7d17432e2ea4da3a806 (diff) | |
download | crawl-ref-297819c9624760125d7a6668e28c86c926e3fac4.tar.gz crawl-ref-297819c9624760125d7a6668e28c86c926e3fac4.zip |
Fix various tracer issues with the Rod of Destruction
Tracer attack prompts were being printed for the actual beam the rod
produced, rather than the range of beams the rod COULD produce. For
example, if you tried to fire it at a friendly iron golem, you would
get a warning prompt only for quicksilver bolt (which would then let
you abort without spending time or mp, allowing you to reroll a new
beam type from the rod). This was similarly true with bouncing beams
prompting for self-harm in confined spaces and letting you cancel to
make sure you got something else.
Now the tracer should consider the beam both irresistable and
bouncing (since it can be either), independant of whether the type
you actually roll ends up being so (and thus no more free beam
rerolls).
The method to do this feels slightly involved, but I'm not sure a
simpler way, given that no existing damage type both bounces and is
irresistable. (It will also still technically prompt you for harming
rF+++ rC+++ rElec+++ allies you could hit only if the bolt bounced,
which is a situation that can never occur, but this seems a far less
important problem than the one being fixed here - and rather hard to
resolve).
Diffstat (limited to 'crawl-ref/source/zap-data.h')
-rw-r--r-- | crawl-ref/source/zap-data.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/crawl-ref/source/zap-data.h b/crawl-ref/source/zap-data.h index a1a14f8c16..2ee257153a 100644 --- a/crawl-ref/source/zap-data.h +++ b/crawl-ref/source/zap-data.h @@ -1161,3 +1161,19 @@ struct zap_info false, 6 }, + +{ + ZAP_RANDOM_BOLT_TRACER, + "random bolt tracer", + 200, + new dicedef_calculator<AUTOMATIC_HIT, 1, 0, 1>, + new tohit_calculator<AUTOMATIC_HIT>, + WHITE, + false, + BEAM_BOUNCY_TRACER, + DCHAR_FIRED_DEBUG, + true, + true, + false, + 0 +}, |