From d2bde911f0b80515066f100fc4704793255be0ea Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Tue, 14 Oct 2014 16:37:13 +0300 Subject: eathena: add packet SMSG_NPC_CLOSE_TIMEOUT 0x08d6. --- src/net/eathena/npchandler.cpp | 11 +++++++++++ src/net/eathena/npchandler.h | 2 ++ src/net/eathena/packets.h | 2 +- src/net/eathena/protocol.h | 1 + 4 files changed, 15 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/net/eathena/npchandler.cpp b/src/net/eathena/npchandler.cpp index a71283863..27c8c6903 100644 --- a/src/net/eathena/npchandler.cpp +++ b/src/net/eathena/npchandler.cpp @@ -53,6 +53,7 @@ NpcHandler::NpcHandler() : SMSG_NPC_CUTIN, SMSG_NPC_VIEWPOINT, SMSG_NPC_SHOW_PROGRESS_BAR, + SMSG_NPC_CLOSE_TIMEOUT, 0 }; handledMessages = _messages; @@ -99,6 +100,10 @@ void NpcHandler::handleMessage(Net::MessageIn &msg) processNpcShowProgressBar(msg); break; + case SMSG_NPC_CLOSE_TIMEOUT: + processNpcCloseTimeout(msg); + break; + default: break; } @@ -324,4 +329,10 @@ void NpcHandler::processNpcShowProgressBar(Net::MessageIn &msg) const msg.readInt32("seconds"); } +void NpcHandler::processNpcCloseTimeout(Net::MessageIn &msg) const +{ + // this packet send after npc closed by timeout. + msg.readInt32("npc id"); +} + } // namespace EAthena diff --git a/src/net/eathena/npchandler.h b/src/net/eathena/npchandler.h index 2f435b1a8..2e8c00181 100644 --- a/src/net/eathena/npchandler.h +++ b/src/net/eathena/npchandler.h @@ -93,6 +93,8 @@ class NpcHandler final : public MessageHandler, public Ea::NpcHandler static void processNpcViewPoint(Net::MessageIn &msg); void processNpcShowProgressBar(Net::MessageIn &msg) const; + + void processNpcCloseTimeout(Net::MessageIn &msg) const; }; } // namespace EAthena diff --git a/src/net/eathena/packets.h b/src/net/eathena/packets.h index e98366251..e910c2149 100644 --- a/src/net/eathena/packets.h +++ b/src/net/eathena/packets.h @@ -231,7 +231,7 @@ int16_t packet_lengths[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 10, 0, 0, 0, 0, 0, // #0x08C0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 10, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 10, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //0 1 2 3 4 5 6 7 8 9 a b c d e f diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h index 53631859c..716aae6c9 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -140,6 +140,7 @@ #define SMSG_NPC_MESSAGE 0x00b4 #define SMSG_NPC_NEXT 0x00b5 #define SMSG_NPC_CLOSE 0x00b6 +#define SMSG_NPC_CLOSE_TIMEOUT 0x08d6 #define SMSG_NPC_CHOICE 0x00b7 /**< Display a choice */ #define SMSG_NPC_BUY_SELL_CHOICE 0x00c4 #define SMSG_NPC_BUY 0x00c6 -- cgit v1.2.3-70-g09d2