diff options
Diffstat (limited to 'src/net')
-rw-r--r-- | src/net/ea/inventoryhandler.cpp | 1 | ||||
-rw-r--r-- | src/net/ea/inventoryitem.h | 3 | ||||
-rw-r--r-- | src/net/eathena/inventoryhandler.cpp | 17 | ||||
-rw-r--r-- | src/net/eathena/tradehandler.cpp | 2 | ||||
-rw-r--r-- | src/net/tmwa/inventoryhandler.cpp | 24 | ||||
-rw-r--r-- | src/net/tmwa/tradehandler.cpp | 7 |
6 files changed, 31 insertions, 23 deletions
diff --git a/src/net/ea/inventoryhandler.cpp b/src/net/ea/inventoryhandler.cpp index c38871797..e43e0de9c 100644 --- a/src/net/ea/inventoryhandler.cpp +++ b/src/net/ea/inventoryhandler.cpp @@ -284,6 +284,7 @@ void InventoryHandler::processPlayerStorageStatus(Net::MessageIn &msg) (*it).refine, (*it).color, (*it).identified, + (*it).damaged, (*it).equip, false); } diff --git a/src/net/ea/inventoryitem.h b/src/net/ea/inventoryitem.h index 20ea399d4..19d9135f9 100644 --- a/src/net/ea/inventoryitem.h +++ b/src/net/ea/inventoryitem.h @@ -46,6 +46,7 @@ class InventoryItem final uint8_t refine; unsigned char color; bool identified; + bool damaged; bool equip; InventoryItem(const int slot0, @@ -54,6 +55,7 @@ class InventoryItem final const uint8_t refine0, const unsigned char color0, const bool identified0, + const bool damaged0, const bool equip0) : slot(slot0), id(id0), @@ -61,6 +63,7 @@ class InventoryItem final refine(refine0), color(color0), identified(identified0), + damaged(damaged0), equip(equip0) { } diff --git a/src/net/eathena/inventoryhandler.cpp b/src/net/eathena/inventoryhandler.cpp index b016b6a17..4189dde81 100644 --- a/src/net/eathena/inventoryhandler.cpp +++ b/src/net/eathena/inventoryhandler.cpp @@ -326,7 +326,7 @@ void InventoryHandler::processPlayerEquipment(Net::MessageIn &msg) if (inventory) { inventory->setItem(index, itemId, 1, refine, - 1, flags.bits.isIdentified, true, false); + 1, flags.bits.isIdentified, flags.bits.isDamaged, true, false); } if (equipType) @@ -351,7 +351,7 @@ void InventoryHandler::processPlayerInventoryAdd(Net::MessageIn &msg) int amount = msg.readInt16("count"); const int itemId = msg.readInt16("item id"); uint8_t identified = msg.readUInt8("identified"); - msg.readUInt8("is damaged"); + const uint8_t damaged = msg.readUInt8("is damaged"); const uint8_t refine = msg.readUInt8("refine"); msg.readInt16("card0"); msg.readInt16("card1"); @@ -422,7 +422,7 @@ void InventoryHandler::processPlayerInventoryAdd(Net::MessageIn &msg) amount += item->getQuantity(); inventory->setItem(index, itemId, amount, refine, - 1, identified != 0, equipType != 0, false); + 1, identified != 0, damaged != 0, equipType != 0, false); } ArrowsListener::distributeEvent(); } @@ -466,7 +466,8 @@ void InventoryHandler::processPlayerInventory(Net::MessageIn &msg) if (inventory) { inventory->setItem(index, itemId, amount, - 0, 1, flags.bits.isIdentified, false, false); + 0, 1, flags.bits.isIdentified, + flags.bits.isDamaged, false, false); } } BLOCK_END("InventoryHandler::processPlayerInventory") @@ -498,7 +499,8 @@ void InventoryHandler::processPlayerStorage(Net::MessageIn &msg) flags.byte = msg.readUInt8("flags"); mInventoryItems.push_back(Ea::InventoryItem(index, itemId, - amount, 0, 1, flags.bits.isIdentified, false)); + amount, 0, 1, flags.bits.isIdentified, + flags.bits.isDamaged, false)); } BLOCK_END("InventoryHandler::processPlayerInventory") } @@ -596,7 +598,8 @@ void InventoryHandler::processPlayerStorageEquip(Net::MessageIn &msg) flags.byte = msg.readUInt8("flags"); mInventoryItems.push_back(Ea::InventoryItem(index, - itemId, amount, refine, 1, flags.bits.isIdentified, false)); + itemId, amount, refine, 1, flags.bits.isIdentified, + flags.bits.isDamaged, false)); } BLOCK_END("InventoryHandler::processPlayerStorageEquip") } @@ -627,7 +630,7 @@ void InventoryHandler::processPlayerStorageAdd(Net::MessageIn &msg) if (mStorage) { mStorage->setItem(index, itemId, amount, - refine, 1, identified != 0, false, false); + refine, 1, identified != 0, false, false, false); } } BLOCK_END("InventoryHandler::processPlayerStorageAdd") diff --git a/src/net/eathena/tradehandler.cpp b/src/net/eathena/tradehandler.cpp index dffc68057..e992ee497 100644 --- a/src/net/eathena/tradehandler.cpp +++ b/src/net/eathena/tradehandler.cpp @@ -201,7 +201,7 @@ void TradeHandler::processTradeItemAdd(Net::MessageIn &msg) else { tradeWindow->addItem2(type, false, amount, - refine, 1, identify != 0, false); + refine, 1, identify != 0, false, false); } } } diff --git a/src/net/tmwa/inventoryhandler.cpp b/src/net/tmwa/inventoryhandler.cpp index 32dc8fdc0..6685efd7c 100644 --- a/src/net/tmwa/inventoryhandler.cpp +++ b/src/net/tmwa/inventoryhandler.cpp @@ -271,12 +271,12 @@ void InventoryHandler::processPlayerEquipment(Net::MessageIn &msg) if (serverFeatures->haveItemColors()) { inventory->setItem(index, itemId, 1, refine, - identified, true, true, false); + identified, true, false, true, false); } else { inventory->setItem(index, itemId, 1, refine, - 1, identified != 0, true, false); + 1, identified != 0, false, true, false); } } @@ -371,12 +371,12 @@ void InventoryHandler::processPlayerInventoryAdd(Net::MessageIn &msg) if (serverFeatures->haveItemColors()) { inventory->setItem(index, itemId, amount, refine, - identified, true, equipType != 0, false); + identified, true, false, equipType != 0, false); } else { inventory->setItem(index, itemId, amount, refine, - 1, identified != 0, equipType != 0, false); + 1, identified != 0, false, equipType != 0, false); } } ArrowsListener::distributeEvent(); @@ -431,12 +431,12 @@ void InventoryHandler::processPlayerInventory(Net::MessageIn &msg) if (serverFeatures->haveItemColors()) { inventory->setItem(index, itemId, amount, - 0, identified, true, isEquipment, false); + 0, identified, true, false, isEquipment, false); } else { inventory->setItem(index, itemId, amount, - 0, 1, identified != 0, isEquipment, false); + 0, 1, identified != 0, false, isEquipment, false); } } } @@ -474,12 +474,12 @@ void InventoryHandler::processPlayerStorage(Net::MessageIn &msg) if (serverFeatures->haveItemColors()) { mInventoryItems.push_back(Ea::InventoryItem(index, itemId, - amount, 0, identified, true, false)); + amount, 0, identified, true, false, false)); } else { mInventoryItems.push_back(Ea::InventoryItem(index, itemId, - amount, 0, 1, identified != 0, false)); + amount, 0, 1, identified != 0, false, false)); } } BLOCK_END("InventoryHandler::processPlayerInventory") @@ -547,12 +547,12 @@ void InventoryHandler::processPlayerStorageEquip(Net::MessageIn &msg) if (serverFeatures->haveItemColors()) { mInventoryItems.push_back(Ea::InventoryItem(index, - itemId, amount, refine, identified, true, false)); + itemId, amount, refine, identified, true, false, false)); } else { mInventoryItems.push_back(Ea::InventoryItem(index, - itemId, amount, refine, 1, identified != 0, false)); + itemId, amount, refine, 1, identified != 0, false, false)); } } BLOCK_END("InventoryHandler::processPlayerStorageEquip") @@ -583,12 +583,12 @@ void InventoryHandler::processPlayerStorageAdd(Net::MessageIn &msg) if (serverFeatures->haveItemColors()) { mStorage->setItem(index, itemId, amount, - refine, identified, true, false, false); + refine, identified, true, false, false, false); } else { mStorage->setItem(index, itemId, amount, - refine, 1, identified != 0, false, false); + refine, 1, identified != 0, false, false, false); } } } diff --git a/src/net/tmwa/tradehandler.cpp b/src/net/tmwa/tradehandler.cpp index 5598d3781..c0ced4c42 100644 --- a/src/net/tmwa/tradehandler.cpp +++ b/src/net/tmwa/tradehandler.cpp @@ -183,12 +183,12 @@ void TradeHandler::processTradeItemAdd(Net::MessageIn &msg) if (serverFeatures->haveItemColors()) { tradeWindow->addItem2(type, false, amount, - refine, identify, true, false); + refine, identify, true, false, false); } else { tradeWindow->addItem2(type, false, amount, - refine, 1, identify != 0, false); + refine, 1, identify != 0, false, false); } } } @@ -219,7 +219,8 @@ void TradeHandler::processTradeItemAddResponse(Net::MessageIn &msg) { tradeWindow->addItem2(item->getId(), true, quantity, item->getRefine(), item->getColor(), - item->getIdentified(), item->isEquipment()); + item->getIdentified(), item->getDamaged(), + item->isEquipment()); } item->increaseQuantity(-quantity); break; |