diff options
author | pauldubois <pauldubois@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-04-11 10:55:40 +0000 |
---|---|---|
committer | pauldubois <pauldubois@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-04-11 10:55:40 +0000 |
commit | a0065e7a7d5c55f0cf93c758f26afa9a86b16572 (patch) | |
tree | 74d513f5d251dd57f5b64c5ffb85703c4e08c70a /crawl-ref/source/quiver.h | |
parent | 172fd76cadb63cb41be2758b044b3f16c29a5fbf (diff) | |
download | crawl-ref-a0065e7a7d5c55f0cf93c758f26afa9a86b16572.tar.gz crawl-ref-a0065e7a7d5c55f0cf93c758f26afa9a86b16572.zip |
+ allocate and initialize
+ _fire_prompt_for_item returns -1, not ENDOFPACK
+ remove _fire_get_noitem_reason()
+ remove get_current_fire_item()
+ fix get_next_fire_item
+ remove _get_fire_order()
+ remove _fire_item_matches()
+ verify: no use of ENDOFPACK, use -1
+ on_item_fired
- implement: tags stuff
+ bug: wielding sling with stones = empty quiver
- bug: wield sling, no quiver, pick up stones: should quiver
+ bug: wield sling, pick up stones: update # stones
+ bug: wield sling, stones quivered, drop stones: should update
- feature: explicitly dropping all of ammo stack should remove it from quiver
- move get_next_fire_item into quiver.cc?
- remove: fire_quiver_best
- remove: you.quiver
- rename: you.quiver_change -> you.redraw_quiver
- test no item because of fire_order_begin, =f, etc
- find better place for on_weapon_changed
- polish Qv: display, the command change
- PROBLEM: cast_portal_projectile uses empty quiver slot? (test this)
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4191 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/quiver.h')
-rw-r--r-- | crawl-ref/source/quiver.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/crawl-ref/source/quiver.h b/crawl-ref/source/quiver.h index aee70e74fe..dd76319e1a 100644 --- a/crawl-ref/source/quiver.h +++ b/crawl-ref/source/quiver.h @@ -29,17 +29,22 @@ class player_quiver player_quiver(); void get_desired_item(const item_def** item_out, int* slot_out) const; - // Returns an item, or a reason why we returned an invalid item - int get_default_slot(std::string& no_item_reason) const; - void get_fire_order(std::vector<int>& v) const { _get_fire_order(v, false); } + int get_fire_item(std::string* no_item_reason=0) const; + void get_fire_order(std::vector<int>& v) const; void on_item_fired(const item_def&); - void on_item_thrown(const item_def&); + void on_item_fired_fi(const item_def&); + void on_inv_quantity_change(int slot, int amt); void on_weapon_changed(); private: - void _get_fire_order(std::vector<int>&, bool ignore_inscription_etc) const; + void _get_fire_order(std::vector<int>&, + bool ignore_inscription_etc, + const item_def* launcher) const; + void _maybe_fill_empty_slot(); private: + item_def m_last_weapon; + ammo_t m_last_used_type; item_def m_last_used_of_type[NUM_AMMO]; }; |