summaryrefslogtreecommitdiff
path: root/src/net
diff options
context:
space:
mode:
Diffstat (limited to 'src/net')
-rw-r--r--src/net/eathena/inventoryrecv.cpp43
-rw-r--r--src/net/tmwa/inventoryrecv.cpp43
2 files changed, 64 insertions, 22 deletions
diff --git a/src/net/eathena/inventoryrecv.cpp b/src/net/eathena/inventoryrecv.cpp
index dea3a411f..4ca2f042e 100644
--- a/src/net/eathena/inventoryrecv.cpp
+++ b/src/net/eathena/inventoryrecv.cpp
@@ -243,7 +243,6 @@ void InventoryRecv::processPlayerInventoryAdd(Net::MessageIn &msg)
}
const ItemColor color = ItemColorManager::getColorFromCards(&cards[0]);
- const ItemInfo &itemInfo = ItemDB::get(itemId);
BeingId floorId;
if (Ea::InventoryRecv::mSentPickups.empty())
{
@@ -285,22 +284,44 @@ void InventoryRecv::processPlayerInventoryAdd(Net::MessageIn &msg)
}
if (localPlayer)
{
- localPlayer->pickedUp(itemInfo,
- 0,
- color,
- floorId,
- pickup);
+ if (itemId == 0)
+ {
+ localPlayer->pickedUp(ItemDB::getEmpty(),
+ 0,
+ color,
+ floorId,
+ pickup);
+ }
+ else
+ {
+ localPlayer->pickedUp(ItemDB::get(itemId),
+ 0,
+ color,
+ floorId,
+ pickup);
+ }
}
}
else
{
if (localPlayer)
{
- localPlayer->pickedUp(itemInfo,
- amount,
- color,
- floorId,
- Pickup::OKAY);
+ if (itemId == 0)
+ {
+ localPlayer->pickedUp(ItemDB::getEmpty(),
+ amount,
+ color,
+ floorId,
+ Pickup::OKAY);
+ }
+ else
+ {
+ localPlayer->pickedUp(ItemDB::get(itemId),
+ amount,
+ color,
+ floorId,
+ Pickup::OKAY);
+ }
}
if (inventory)
diff --git a/src/net/tmwa/inventoryrecv.cpp b/src/net/tmwa/inventoryrecv.cpp
index 878a03538..9d753efe2 100644
--- a/src/net/tmwa/inventoryrecv.cpp
+++ b/src/net/tmwa/inventoryrecv.cpp
@@ -159,7 +159,6 @@ void InventoryRecv::processPlayerInventoryAdd(Net::MessageIn &msg)
cards[f] = msg.readUInt16("card");
const int equipType = msg.readInt16("equip type");
const ItemTypeT type = static_cast<ItemTypeT>(msg.readUInt8("item type"));
- const ItemInfo &itemInfo = ItemDB::get(itemId);
const unsigned char err = msg.readUInt8("status");
BeingId floorId;
if (Ea::InventoryRecv::mSentPickups.empty())
@@ -202,22 +201,44 @@ void InventoryRecv::processPlayerInventoryAdd(Net::MessageIn &msg)
}
if (localPlayer)
{
- localPlayer->pickedUp(itemInfo,
- 0,
- ItemColor_one,
- floorId,
- pickup);
+ if (itemId == 0)
+ {
+ localPlayer->pickedUp(ItemDB::getEmpty(),
+ 0,
+ ItemColor_one,
+ floorId,
+ pickup);
+ }
+ else
+ {
+ localPlayer->pickedUp(ItemDB::get(itemId),
+ 0,
+ ItemColor_one,
+ floorId,
+ pickup);
+ }
}
}
else
{
if (localPlayer)
{
- localPlayer->pickedUp(itemInfo,
- amount,
- ItemColor_one,
- floorId,
- Pickup::OKAY);
+ if (itemId == 0)
+ {
+ localPlayer->pickedUp(ItemDB::getEmpty(),
+ amount,
+ ItemColor_one,
+ floorId,
+ Pickup::OKAY);
+ }
+ else
+ {
+ localPlayer->pickedUp(ItemDB::get(itemId),
+ amount,
+ ItemColor_one,
+ floorId,
+ Pickup::OKAY);
+ }
}
if (inventory)