summaryrefslogtreecommitdiff
path: root/src/net/eathena
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/eathena')
-rw-r--r--src/net/eathena/npchandler.cpp11
-rw-r--r--src/net/eathena/npchandler.h2
-rw-r--r--src/net/eathena/packets.h2
-rw-r--r--src/net/eathena/protocol.h1
4 files changed, 15 insertions, 1 deletions
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