summaryrefslogtreecommitdiff
path: root/src/net/eathena
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-09-06 19:49:15 +0300
committerAndrei Karas <akaras@inbox.ru>2014-09-06 19:49:15 +0300
commit575b5ce55b40ab3c923230299b893909ac0ab59e (patch)
treed0818a446aaa51054be6131407edf42897b93348 /src/net/eathena
parentbd194dcc0f06959322253c91761a93d53c468ca0 (diff)
downloadmanaplus-575b5ce55b40ab3c923230299b893909ac0ab59e.tar.gz
manaplus-575b5ce55b40ab3c923230299b893909ac0ab59e.tar.bz2
manaplus-575b5ce55b40ab3c923230299b893909ac0ab59e.tar.xz
manaplus-575b5ce55b40ab3c923230299b893909ac0ab59e.zip
Move processPlayerStorageAdd from ea namespace into eathena and tmwa.
Diffstat (limited to 'src/net/eathena')
-rw-r--r--src/net/eathena/inventoryhandler.cpp32
-rw-r--r--src/net/eathena/inventoryhandler.h2
2 files changed, 34 insertions, 0 deletions
diff --git a/src/net/eathena/inventoryhandler.cpp b/src/net/eathena/inventoryhandler.cpp
index bcef71974..a87573980 100644
--- a/src/net/eathena/inventoryhandler.cpp
+++ b/src/net/eathena/inventoryhandler.cpp
@@ -490,4 +490,36 @@ void InventoryHandler::processPlayerStorageEquip(Net::MessageIn &msg)
BLOCK_END("InventoryHandler::processPlayerStorageEquip")
}
+void InventoryHandler::processPlayerStorageAdd(Net::MessageIn &msg)
+{
+ BLOCK_START("InventoryHandler::processPlayerStorageAdd")
+ // Move an item into storage
+ const int index = msg.readInt16() - STORAGE_OFFSET;
+ const int amount = msg.readInt32();
+ const int itemId = msg.readInt16();
+ unsigned char identified = msg.readUInt8();
+ msg.readUInt8(); // attribute
+ const uint8_t refine = msg.readUInt8();
+ for (int i = 0; i < 4; i++)
+ msg.readInt16(); // card i
+
+ if (Item *const item = mStorage->getItem(index))
+ {
+ item->setId(itemId, identified);
+ item->increaseQuantity(amount);
+ }
+ else
+ {
+ if (mStorage)
+ {
+ if (serverVersion < 1 && identified > 1)
+ identified = 1;
+
+ mStorage->setItem(index, itemId, amount,
+ refine, identified, false);
+ }
+ }
+ BLOCK_END("InventoryHandler::processPlayerStorageAdd")
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/inventoryhandler.h b/src/net/eathena/inventoryhandler.h
index 399806a2f..15aaa85f3 100644
--- a/src/net/eathena/inventoryhandler.h
+++ b/src/net/eathena/inventoryhandler.h
@@ -72,6 +72,8 @@ class InventoryHandler final : public MessageHandler,
void processPlayerInventoryRemove2(Net::MessageIn &msg);
void processPlayerStorageEquip(Net::MessageIn &msg);
+
+ void processPlayerStorageAdd(Net::MessageIn &msg);
};
} // namespace EAthena