diff options
author | Neil Moore <neil@s-z.org> | 2013-05-24 19:02:33 -0400 |
---|---|---|
committer | Neil Moore <neil@s-z.org> | 2013-05-24 19:17:56 -0400 |
commit | cc28685bc7fb399f36beb15bd8bff9abcb81670f (patch) | |
tree | dcd305cc90e471379f0bf33a58cf18a121e56ca7 /crawl-ref/source/misc.h | |
parent | f66bd255820be4592727eb274d065e81b669c82c (diff) | |
download | crawl-ref-cc28685bc7fb399f36beb15bd8bff9abcb81670f.tar.gz crawl-ref-cc28685bc7fb399f36beb15bd8bff9abcb81670f.zip |
Give targetting prompts for enemies other than the first (#7079).
bolt::handle_stop_attack_prompt only checked the first enemy; if
there was no need to prompt about that enemy, it was treated the
same as an explicit "no" response to the prompt, so subsequent
enemies were not checked. But maybe you're worshipping TSO, the
first enemy is alert, and the second is asleep :(
Now we check whether the user was actually prompted, and only mark
the tracer_info as dont_stop if they were.
Also, don't prompt twice for the same beam, even if one target is an
ally and another is a bad_attack enemy. Previously stop_attack_prompt
was called once for the first enemy and once for the first ally.
Diffstat (limited to 'crawl-ref/source/misc.h')
-rw-r--r-- | crawl-ref/source/misc.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/crawl-ref/source/misc.h b/crawl-ref/source/misc.h index 4ed01381d8..36e27ee9d4 100644 --- a/crawl-ref/source/misc.h +++ b/crawl-ref/source/misc.h @@ -115,7 +115,8 @@ bool interrupt_cmd_repeat(activity_interrupt_type ai, bool bad_attack(const monster *mon, string& adj, string& suffix); bool stop_attack_prompt(const monster* mon, bool beam_attack, - coord_def beam_target, bool autohit_first = false); + coord_def beam_target, bool autohit_first = false, + bool *prompted = nullptr); bool stop_attack_prompt(targetter &hitfunc, string verb, bool (*affects)(const actor *victim) = 0); |