From e1be87443d6d7c463f1751678fe1c556d1ba9092 Mon Sep 17 00:00:00 2001
From: Andrei Karas <akaras@inbox.ru>
Date: Wed, 28 Jun 2017 00:24:44 +0300
Subject: Fix packet SMSG_VENDING_ITEMS_LIST for version 20160921.

---
 src/net/eathena/packetsin.inc   |  1 +
 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,
-- 
cgit v1.2.3-70-g09d2