diff options
author | maximius <none@none> | 2009-10-17 15:51:44 -0700 |
---|---|---|
committer | maximius <none@none> | 2009-10-17 15:51:44 -0700 |
commit | e585187b248f48b3c6e9247b49fa07c6565d65e5 (patch) | |
tree | 637c5b7ddacf41040bef4ea4f75a97da64c6a9bc /src/game/Bag.h | |
parent | 26b5e033ffde3d161382fc9addbfa99738379641 (diff) |
*Backed out changeset 3be01fb200a5
--HG--
branch : trunk
Diffstat (limited to 'src/game/Bag.h')
-rw-r--r-- | src/game/Bag.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/game/Bag.h b/src/game/Bag.h index 649c2e21a27..3ae786512ce 100644 --- a/src/game/Bag.h +++ b/src/game/Bag.h @@ -17,29 +17,40 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + #ifndef TRINITY_BAG_H #define TRINITY_BAG_H + // Maximum 36 Slots ( (CONTAINER_END - CONTAINER_FIELD_SLOT_1)/2 #define MAX_BAG_SIZE 36 // 2.0.12 + #include "Item.h" #include "ItemPrototype.h" + class Bag : public Item { public: + Bag(); ~Bag(); + void AddToWorld(); void RemoveFromWorld(); + bool Create(uint32 guidlow, uint32 itemid, Player const* owner); + void Clear(); void StoreItem( uint8 slot, Item *pItem, bool update ); void RemoveItem( uint8 slot, bool update ); + Item* GetItemByPos( uint8 slot ) const; uint32 GetItemCount( uint32 item, Item* eItem = NULL ) const; + uint8 GetSlotByItemGUID(uint64 guid) const; bool IsEmpty() const; uint32 GetFreeSlots() const; uint32 GetBagSize() const { return GetUInt32Value(CONTAINER_FIELD_NUM_SLOTS); } + // DB operations // overwrite virtual Item::SaveToDB void SaveToDB(); @@ -47,11 +58,15 @@ class Bag : public Item bool LoadFromDB(uint32 guid, uint64 owner_guid, QueryResult *result = NULL); // overwrite virtual Item::DeleteFromDB void DeleteFromDB(); + void BuildCreateUpdateBlockForPlayer(UpdateData *data, Player *target) const; + protected: + // Bag Storage space Item* m_bagslot[MAX_BAG_SIZE]; }; + inline Item* NewItemOrBag(ItemPrototype const * proto) { return (proto->InventoryType == INVTYPE_BAG) ? new Bag : new Item; |