diff options
Diffstat (limited to 'src/net/eathena')
-rw-r--r-- | src/net/eathena/achievementrecv.cpp | 15 | ||||
-rw-r--r-- | src/net/eathena/achievementrecv.h | 1 | ||||
-rw-r--r-- | src/net/eathena/packetsin.inc | 3 |
3 files changed, 19 insertions, 0 deletions
diff --git a/src/net/eathena/achievementrecv.cpp b/src/net/eathena/achievementrecv.cpp index 96f1a2594..11f2d5cc5 100644 --- a/src/net/eathena/achievementrecv.cpp +++ b/src/net/eathena/achievementrecv.cpp @@ -49,4 +49,19 @@ void AchievementRecv::processAchievementList(Net::MessageIn &msg) } } +void AchievementRecv::processAchievementUpdate(Net::MessageIn &msg) +{ + msg.readInt32("total points"); + msg.readInt16("rank level"); + msg.readInt32("rank points"); + msg.readInt32("rank points need"); + + msg.readInt32("ach id"); + msg.readUInt8("completed"); + for (int d = 0; d < 10; d ++) + msg.readInt32("objective"); + msg.readInt32("completed at"); + msg.readUInt8("reward"); +} + } // namespace EAthena diff --git a/src/net/eathena/achievementrecv.h b/src/net/eathena/achievementrecv.h index 1eaa37af1..c26131203 100644 --- a/src/net/eathena/achievementrecv.h +++ b/src/net/eathena/achievementrecv.h @@ -31,6 +31,7 @@ namespace EAthena namespace AchievementRecv { void processAchievementList(Net::MessageIn &msg); + void processAchievementUpdate(Net::MessageIn &msg); } // namespace AchievementRecv } // namespace EAthena diff --git a/src/net/eathena/packetsin.inc b/src/net/eathena/packetsin.inc index ce07d0484..3fc6d8959 100644 --- a/src/net/eathena/packetsin.inc +++ b/src/net/eathena/packetsin.inc @@ -882,6 +882,7 @@ packet(SMSG_MAIL2_ADD_ITEM_RESULT, 0x0a05, 53, &Mail2Recv::processAddIt if (packetVersionRe >= 20141126) { packet(SMSG_ACHIEVEMENT_LIST, 0x0a23, -1, &AchievementRecv::processAchievementList, 20141126); + packet(SMSG_ACHIEVEMENT_UPDATE, 0x0a24, 66, &AchievementRecv::processAchievementUpdate, 20141126); } // 0 @@ -924,6 +925,7 @@ if (serverVersion > 0) if (packetVersionMain >= 20150225) { packet(SMSG_ACHIEVEMENT_LIST, 0x0a23, -1, &AchievementRecv::processAchievementList, 20150225); + packet(SMSG_ACHIEVEMENT_UPDATE, 0x0a24, 66, &AchievementRecv::processAchievementUpdate, 20150225); } // 20150226 @@ -1145,6 +1147,7 @@ if (packets_zero == true) packet(SMSG_GUILD_LEAVE2, 0x0a83, 46, &GuildRecv::processGuildLeave2, 20171018); packet(SMSG_PARTY_MEMBER_DEAD, 0x0ab2, 7, &PartyRecv::processPartyMemberDead, 20171018); packet(SMSG_ACHIEVEMENT_LIST, 0x0a23, -1, &AchievementRecv::processAchievementList, 20171018); + packet(SMSG_ACHIEVEMENT_UPDATE, 0x0a24, 66, &AchievementRecv::processAchievementUpdate, 20171018); } // 20171019 zero |