summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/quiver.h
diff options
context:
space:
mode:
authorpauldubois <pauldubois@c06c8d41-db1a-0410-9941-cceddc491573>2008-04-11 10:55:40 +0000
committerpauldubois <pauldubois@c06c8d41-db1a-0410-9941-cceddc491573>2008-04-11 10:55:40 +0000
commita0065e7a7d5c55f0cf93c758f26afa9a86b16572 (patch)
tree74d513f5d251dd57f5b64c5ffb85703c4e08c70a /crawl-ref/source/quiver.h
parent172fd76cadb63cb41be2758b044b3f16c29a5fbf (diff)
downloadcrawl-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.h15
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];
};