summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/zap-data.h
diff options
context:
space:
mode:
authorDracoOmega <draco_omega@live.com>2014-03-21 20:42:41 -0230
committerDracoOmega <draco_omega@live.com>2014-03-22 01:41:37 -0230
commit297819c9624760125d7a6668e28c86c926e3fac4 (patch)
treeeba5bd22fccc28730187776b43a2fa7685675ce3 /crawl-ref/source/zap-data.h
parentcc756c7349da4e82dac8f7d17432e2ea4da3a806 (diff)
downloadcrawl-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.h16
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
+},