From d5a549b6af3579d247bfb7d4ca22c31ca0f3dc38 Mon Sep 17 00:00:00 2001
From: Andrei Karas <akaras@inbox.ru>
Date: Tue, 14 Oct 2014 14:11:47 +0300
Subject: eathena: add partial support for packet.

---
 src/net/eathena/inventoryhandler.cpp | 12 ++++++++++++
 src/net/eathena/inventoryhandler.h   |  2 ++
 src/net/eathena/packets.h            |  2 +-
 src/net/eathena/protocol.h           |  1 +
 4 files changed, 16 insertions(+), 1 deletion(-)

(limited to 'src')

diff --git a/src/net/eathena/inventoryhandler.cpp b/src/net/eathena/inventoryhandler.cpp
index 7ffd0f025..8b75b1df9 100644
--- a/src/net/eathena/inventoryhandler.cpp
+++ b/src/net/eathena/inventoryhandler.cpp
@@ -72,6 +72,7 @@ InventoryHandler::InventoryHandler() :
         SMSG_PLAYER_UNE_CARD,
         SMSG_PLAYER_INSERT_CARD,
         SMSG_PLAYER_ITEM_RENTAL_TIME,
+        SMSG_PLAYER_ITEM_RENTAL_EXPIRED,
         0
     };
     handledMessages = _messages;
@@ -166,6 +167,10 @@ void InventoryHandler::handleMessage(Net::MessageIn &msg)
             processPlayerItemRentalTime(msg);
             break;
 
+        case SMSG_PLAYER_ITEM_RENTAL_EXPIRED:
+            processPlayerItemRentalExpired(msg);
+            break;
+
         default:
             break;
     }
@@ -649,4 +654,11 @@ void InventoryHandler::processPlayerItemRentalTime(Net::MessageIn &msg)
     msg.readInt32("seconds");
 }
 
+void InventoryHandler::processPlayerItemRentalExpired(Net::MessageIn &msg)
+{
+    // ++ need remove item from inventory
+    msg.readInt16("index");
+    msg.readInt16("item id");
+}
+
 }  // namespace EAthena
diff --git a/src/net/eathena/inventoryhandler.h b/src/net/eathena/inventoryhandler.h
index 172e0a625..74f46785d 100644
--- a/src/net/eathena/inventoryhandler.h
+++ b/src/net/eathena/inventoryhandler.h
@@ -92,6 +92,8 @@ class InventoryHandler final : public MessageHandler,
         void processPlayerInsertCard(Net::MessageIn &msg);
 
         void processPlayerItemRentalTime(Net::MessageIn &msg);
+
+        void processPlayerItemRentalExpired(Net::MessageIn &msg);
 };
 
 }  // namespace EAthena
diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h
index 96f0f356a..0df40de93 100644
--- a/src/net/eathena/packets.h
+++ b/src/net/eathena/packets.h
@@ -94,7 +94,7 @@ int16_t packet_lengths[] =
   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
 // #0x0280
   0,   0,   0,   6,  14,   0,   0,   0,   0,   0,  18,   0,   0,   0,   4,   0,
-  4,   4,   0,   0,   0,   0,   0,   0,   0,   0,   0,  80,   0,  -1,   0,   0,
+  4,   4,   0,   0,   0,   0,   0,   0,   8,   6,   0,  80,   0,  -1,   0,   0,
   0,   0,   8,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
   0,  -1,  -1, 107,   6,  -1,   0,   7,   0, 191,   0,   0,   0,   0,   0,   0,
 // #0x02C0
diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h
index 0d13ee184..f80286901 100644
--- a/src/net/eathena/protocol.h
+++ b/src/net/eathena/protocol.h
@@ -75,6 +75,7 @@
 #define SMSG_PLAYER_INVENTORY_REMOVE2 0x07fa
 #define SMSG_PLAYER_INVENTORY_USE    0x01c8
 #define SMSG_PLAYER_ITEM_RENTAL_TIME 0x0298
+#define SMSG_PLAYER_ITEM_RENTAL_EXPIRED 0x0299
 #define SMSG_PLAYER_EQUIPMENT        0x0992
 #define SMSG_PLAYER_EQUIP            0x0999
 #define SMSG_PLAYER_UNEQUIP          0x099a
-- 
cgit v1.2.3-70-g09d2