summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/spl-damage.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/spl-damage.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/spl-damage.h')
-rw-r--r--crawl-ref/source/spl-damage.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/crawl-ref/source/spl-damage.h b/crawl-ref/source/spl-damage.h
index 76d2d7f903..64c3196209 100644
--- a/crawl-ref/source/spl-damage.h
+++ b/crawl-ref/source/spl-damage.h
@@ -66,4 +66,6 @@ void end_searing_ray();
spret_type cast_glaciate(actor *caster, int pow, coord_def aim,
bool fail = false);
+
+spret_type cast_random_bolt(int pow, bolt& beam, bool fail = false);
#endif