summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/net/eathena/achievementrecv.cpp15
-rw-r--r--src/net/eathena/achievementrecv.h1
-rw-r--r--src/net/eathena/packetsin.inc3
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