diff options
author | Andrei Karas <akaras@inbox.ru> | 2017-06-28 00:24:44 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2017-06-28 01:59:05 +0300 |
commit | e1be87443d6d7c463f1751678fe1c556d1ba9092 (patch) | |
tree | 83c893ecccfe5410bb9d563e901d179d6108e92e /src/net/eathena | |
parent | c1f88822164bd9f19af7ea6b344a18cb1da8a493 (diff) | |
download | manaplus-e1be87443d6d7c463f1751678fe1c556d1ba9092.tar.gz manaplus-e1be87443d6d7c463f1751678fe1c556d1ba9092.tar.bz2 manaplus-e1be87443d6d7c463f1751678fe1c556d1ba9092.tar.xz manaplus-e1be87443d6d7c463f1751678fe1c556d1ba9092.zip |
Fix packet SMSG_VENDING_ITEMS_LIST for version 20160921.
Diffstat (limited to 'src/net/eathena')
-rw-r--r-- | src/net/eathena/packetsin.inc | 1 | ||||
-rw-r--r-- | src/net/eathena/vendingrecv.cpp | 11 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/net/eathena/packetsin.inc b/src/net/eathena/packetsin.inc index c49b1a23c..11276f899 100644 --- a/src/net/eathena/packetsin.inc +++ b/src/net/eathena/packetsin.inc @@ -891,6 +891,7 @@ if (packetVersion >= 20160330) if (packetVersion >= 20160921) { packet(SMSG_PLAYER_INVENTORY_ADD, 0x0a37, 59, &InventoryRecv::processPlayerInventoryAdd, 20160921); + packet(SMSG_VENDING_ITEMS_LIST, 0x0800, -1, &VendingRecv::processItemsList, 20160921); } // 20170315 diff --git a/src/net/eathena/vendingrecv.cpp b/src/net/eathena/vendingrecv.cpp index 23d4843f1..33494fd33 100644 --- a/src/net/eathena/vendingrecv.cpp +++ b/src/net/eathena/vendingrecv.cpp @@ -97,8 +97,10 @@ void VendingRecv::processHideBoard(Net::MessageIn &msg) void VendingRecv::processItemsList(Net::MessageIn &msg) { int packetLen = 22; - if (msg.getVersion() >= 20150226) - packetLen += 25; + if (msg.getVersion() >= 20160921) + packetLen = 53; + else if (msg.getVersion() >= 20150226) + packetLen = 47; int offset = 8; if (msg.getVersion() >= 20100105) offset += 4; @@ -138,6 +140,11 @@ void VendingRecv::processItemsList(Net::MessageIn &msg) options->add(idx, val); } } + if (msg.getVersion() >= 20160921) + { + msg.readInt32("equip type?"); + msg.readInt16("look"); + } const ItemColor color = ItemColorManager::getColorFromCards(&cards[0]); ShopItem *const item = mBuyDialog->addItem(itemId, type, |