summaryrefslogtreecommitdiff
path: root/src/net/eathena
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-09-06 19:22:29 +0300
committerAndrei Karas <akaras@inbox.ru>2014-09-06 19:42:03 +0300
commit0d990d032d98ea26da479b6378087d0d7dd2a91e (patch)
treebfad702538e6d55357b78fce29e694cc8e3b86e9 /src/net/eathena
parent813779679c40323d29aaa6cb334210e3944d5c99 (diff)
downloadmanaplus-0d990d032d98ea26da479b6378087d0d7dd2a91e.tar.gz
manaplus-0d990d032d98ea26da479b6378087d0d7dd2a91e.tar.bz2
manaplus-0d990d032d98ea26da479b6378087d0d7dd2a91e.tar.xz
manaplus-0d990d032d98ea26da479b6378087d0d7dd2a91e.zip
Move processPlayerStorageEquip from ea namespace into eathena and tmwa.
Diffstat (limited to 'src/net/eathena')
-rw-r--r--src/net/eathena/inventoryhandler.cpp40
-rw-r--r--src/net/eathena/inventoryhandler.h2
2 files changed, 42 insertions, 0 deletions
diff --git a/src/net/eathena/inventoryhandler.cpp b/src/net/eathena/inventoryhandler.cpp
index fa6379caa..63cf388c9 100644
--- a/src/net/eathena/inventoryhandler.cpp
+++ b/src/net/eathena/inventoryhandler.cpp
@@ -457,4 +457,44 @@ void InventoryHandler::processPlayerInventoryRemove2(Net::MessageIn &msg)
BLOCK_END("InventoryHandler::processPlayerInventoryRemove2")
}
+void InventoryHandler::processPlayerStorageEquip(Net::MessageIn &msg)
+{
+ BLOCK_START("InventoryHandler::processPlayerStorageEquip")
+ msg.readInt16(); // length
+ const int number = (msg.getLength() - 4) / 20;
+
+ for (int loop = 0; loop < number; loop++)
+ {
+ int cards[4];
+ const int index = msg.readInt16() - STORAGE_OFFSET;
+ const int itemId = msg.readInt16();
+ const uint8_t itemType = msg.readUInt8();
+ uint8_t identified = msg.readUInt8();
+ const int amount = 1;
+ msg.readInt16(); // Equip Point?
+ msg.readInt16(); // Another Equip Point?
+ msg.readUInt8(); // Attribute (broken)
+ const uint8_t refine = msg.readUInt8();
+ for (int i = 0; i < 4; i++)
+ cards[i] = msg.readInt16();
+
+ if (mDebugInventory)
+ {
+ logger->log("Index: %d, ID: %d, Type: %d, Identified: %u, "
+ "Qty: %d, Cards: %d, %d, %d, %d, Refine: %u",
+ index, itemId, itemType,
+ static_cast<unsigned int>(identified), amount,
+ cards[0], cards[1], cards[2], cards[3],
+ static_cast<unsigned int>(refine));
+ }
+
+ if (serverVersion < 1 && identified > 1U)
+ identified = 1U;
+
+ mInventoryItems.push_back(Ea::InventoryItem(index,
+ itemId, amount, refine, identified, false));
+ }
+ BLOCK_END("InventoryHandler::processPlayerStorageEquip")
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/inventoryhandler.h b/src/net/eathena/inventoryhandler.h
index 652a864de..399806a2f 100644
--- a/src/net/eathena/inventoryhandler.h
+++ b/src/net/eathena/inventoryhandler.h
@@ -70,6 +70,8 @@ class InventoryHandler final : public MessageHandler,
void processPlayerUnEquip(Net::MessageIn &msg);
void processPlayerInventoryRemove2(Net::MessageIn &msg);
+
+ void processPlayerStorageEquip(Net::MessageIn &msg);
};
} // namespace EAthena