diff options
author | Raphael Langella <raphael.langella@gmail.com> | 2012-09-23 23:11:32 +0200 |
---|---|---|
committer | Raphael Langella <raphael.langella@gmail.com> | 2012-09-24 00:38:40 +0200 |
commit | 0824a09233b68e3b6e38e62765e2e486b7478514 (patch) | |
tree | 59c227d214c141ca01509095dac2ef8c1813d962 /crawl-ref/source/target.h | |
parent | 07b43754a526a36cfb49bc4bdd99fa40b989a9f9 (diff) | |
download | crawl-ref-0824a09233b68e3b6e38e62765e2e486b7478514.tar.gz crawl-ref-0824a09233b68e3b6e38e62765e2e486b7478514.zip |
Only do handle_phase_attempted() once when cleaving.
It fixes a number of issues:
* You get a single stop attack prompt for all targets
* No more fumbling for each target
* Hunger cost isn't multiplied by targets
Still broken for ctrl+dir attacks.
Diffstat (limited to 'crawl-ref/source/target.h')
-rw-r--r-- | crawl-ref/source/target.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/crawl-ref/source/target.h b/crawl-ref/source/target.h index 80a41cee62..8a8648ccf6 100644 --- a/crawl-ref/source/target.h +++ b/crawl-ref/source/target.h @@ -110,6 +110,16 @@ public: aff_type is_affected(coord_def loc); }; +class targetter_cleave : public targetter +{ +public: + targetter_cleave(const actor* act, coord_def target); + aff_type is_affected(coord_def loc); + bool valid_aim(coord_def a) { return false; } +private: + set<coord_def> targets; +}; + class targetter_cloud : public targetter { public: |