diff options
-rw-r--r-- | src/net/eathena/packetsin.inc | 1 | ||||
-rw-r--r-- | src/net/eathena/questrecv.cpp | 17 |
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"); |