summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2018-04-07 01:15:20 +0300
committerAndrei Karas <akaras@inbox.ru>2018-04-07 01:54:33 +0300
commit47777be518740ddac51b09b0c7cf9237d719c833 (patch)
treef978fa616b2fb5e3bc4371cccba5df19e8e823fc
parente74554d22e2308ffb7ecdcae07477b8414f64a3b (diff)
downloadplus-47777be518740ddac51b09b0c7cf9237d719c833.tar.gz
plus-47777be518740ddac51b09b0c7cf9237d719c833.tar.bz2
plus-47777be518740ddac51b09b0c7cf9237d719c833.tar.xz
plus-47777be518740ddac51b09b0c7cf9237d719c833.zip
Add packet SMSG_QUEST_ADD 0x09f9.
-rw-r--r--src/net/eathena/packetsin.inc1
-rw-r--r--src/net/eathena/questrecv.cpp17
2 files changed, 15 insertions, 3 deletions
diff --git a/src/net/eathena/packetsin.inc b/src/net/eathena/packetsin.inc
index 01ae61d3e..227893d74 100644
--- a/src/net/eathena/packetsin.inc
+++ b/src/net/eathena/packetsin.inc
@@ -926,6 +926,7 @@ if (packetVersion >= 20150513)
packet(SMSG_PLAYER_HEAL, 0x0a27, 8, &PlayerRecv::processPlayerHeal, 20150513);
packet(SMSG_HOMUNCULUS_INFO, 0x09f7, 75, &HomunculusRecv::processHomunculusInfo, 20150513);
packet(SMSG_QUEST_LIST, 0x09f8, -1, &QuestRecv::processAddQuests, 20150513);
+ packet(SMSG_QUEST_ADD, 0x09f9, 143, &QuestRecv::processAddQuest, 20150513);
}
// 20150805
diff --git a/src/net/eathena/questrecv.cpp b/src/net/eathena/questrecv.cpp
index 8b709062d..896cd8ca0 100644
--- a/src/net/eathena/questrecv.cpp
+++ b/src/net/eathena/questrecv.cpp
@@ -42,9 +42,20 @@ void QuestRecv::processAddQuest(Net::MessageIn &msg)
for (int f = 0; f < num; f ++)
{
// need use in quests kills list
- msg.readInt32("monster id");
- msg.readInt16("count");
- msg.readString(24, "monster name");
+ if (msg.getVersion() >= 20150513)
+ {
+ msg.readInt32("hunt ident");
+ msg.readInt32("mob type");
+ }
+ msg.readInt32("mob id");
+ if (msg.getVersion() >= 20150513)
+ {
+ msg.readInt16("level min");
+ msg.readInt16("level max");
+ }
+ msg.readInt16("hunt count");
+ msg.readInt16("max count");
+ msg.readString(24, "mob name");
}
msg.skipToEnd("unused");