summaryrefslogtreecommitdiff
path: root/src/net/ea
diff options
context:
space:
mode:
authorJared Adams <jaxad0127@gmail.com>2009-05-06 08:22:19 -0600
committerJared Adams <jaxad0127@gmail.com>2009-05-06 08:22:19 -0600
commit429e82f91487d48ecb5a1742ec6fb6987a2bc9bd (patch)
treed3789c7ef91680ba6a6a0eee56664ba3de690d94 /src/net/ea
parent678c2316e34021bb16ac08eb48186f5570dc691b (diff)
downloadmana-client-429e82f91487d48ecb5a1742ec6fb6987a2bc9bd.tar.gz
mana-client-429e82f91487d48ecb5a1742ec6fb6987a2bc9bd.tar.bz2
mana-client-429e82f91487d48ecb5a1742ec6fb6987a2bc9bd.tar.xz
mana-client-429e82f91487d48ecb5a1742ec6fb6987a2bc9bd.zip
Remove more inventory handling support #ifdefs
This also fixes some minor bugs and centralizes some logic.
Diffstat (limited to 'src/net/ea')
-rw-r--r--src/net/ea/inventoryhandler.cpp20
-rw-r--r--src/net/ea/inventoryhandler.h14
2 files changed, 24 insertions, 10 deletions
diff --git a/src/net/ea/inventoryhandler.cpp b/src/net/ea/inventoryhandler.cpp
index 17b64548..1c48aa6c 100644
--- a/src/net/ea/inventoryhandler.cpp
+++ b/src/net/ea/inventoryhandler.cpp
@@ -301,7 +301,7 @@ void InventoryHandler::handleMessage(MessageIn &msg)
}
}
-void InventoryHandler::equipItem(Item *item)
+void InventoryHandler::equipItem(const Item *item)
{
if (!item)
return;
@@ -311,7 +311,7 @@ void InventoryHandler::equipItem(Item *item)
outMsg.writeInt16(0);
}
-void InventoryHandler::unequipItem(Item *item)
+void InventoryHandler::unequipItem(const Item *item)
{
if (!item)
return;
@@ -320,7 +320,7 @@ void InventoryHandler::unequipItem(Item *item)
outMsg.writeInt16(item->getInvIndex() + INVENTORY_OFFSET);
}
-void InventoryHandler::useItem(Item *item)
+void InventoryHandler::useItem(const Item *item)
{
if (!item)
return;
@@ -330,7 +330,7 @@ void InventoryHandler::useItem(Item *item)
outMsg.writeInt32(item->getId()); // unused
}
-void InventoryHandler::dropItem(Item *item, int amount)
+void InventoryHandler::dropItem(const Item *item, int amount)
{
// TODO: Fix wrong coordinates of drops, serverside? (what's wrong here?)
MessageOut outMsg(CMSG_PLAYER_INVENTORY_DROP);
@@ -338,7 +338,17 @@ void InventoryHandler::dropItem(Item *item, int amount)
outMsg.writeInt16(amount);
}
-void InventoryHandler::splitItem(Item *item, int amount)
+bool InventoryHandler::canSplit(const Item *item)
+{
+ return false;
+}
+
+void InventoryHandler::splitItem(const Item *item, int amount)
+{
+ // Not implemented for eAthena (possible?)
+}
+
+void InventoryHandler::moveItem(int oldIndex, int newIndex)
{
// Not implemented for eAthena (possible?)
}
diff --git a/src/net/ea/inventoryhandler.h b/src/net/ea/inventoryhandler.h
index 391c13f4..30408dad 100644
--- a/src/net/ea/inventoryhandler.h
+++ b/src/net/ea/inventoryhandler.h
@@ -35,15 +35,19 @@ class InventoryHandler : public MessageHandler, public Net::InventoryHandler
void handleMessage(MessageIn &msg);
- void equipItem(Item *item);
+ void equipItem(const Item *item);
- void unequipItem(Item *item);
+ void unequipItem(const Item *item);
- void useItem(Item *item);
+ void useItem(const Item *item);
- void dropItem(Item *item, int amount);
+ void dropItem(const Item *item, int amount);
- void splitItem(Item *item, int amount);
+ bool canSplit(const Item *item);
+
+ void splitItem(const Item *item, int amount);
+
+ void moveItem(int oldIndex, int newIndex);
void openStorage();