mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-15 23:20:36 +01:00
Core/PacketIO: Updated and enabled CMSG_GUILD_SET_ACHIEVEMENT_TRACKING
This commit is contained in:
@@ -417,18 +417,8 @@ void WorldSession::HandleGuildSetGuildMaster(WorldPackets::Guild::GuildSetGuildM
|
||||
guild->HandleSetNewGuildMaster(this, packet.NewMasterName);
|
||||
}
|
||||
|
||||
void WorldSession::HandleGuildSetAchievementTracking(WorldPacket& recvPacket)
|
||||
void WorldSession::HandleGuildSetAchievementTracking(WorldPackets::Guild::GuildSetAchievementTracking& packet)
|
||||
{
|
||||
uint32 count = recvPacket.ReadBits(24);
|
||||
std::set<uint32> achievementIds;
|
||||
|
||||
for (uint32 i = 0; i < count; ++i)
|
||||
{
|
||||
uint32 achievementId;
|
||||
recvPacket >> achievementId;
|
||||
achievementIds.insert(achievementId);
|
||||
}
|
||||
|
||||
if (Guild* guild = GetPlayer()->GetGuild())
|
||||
guild->HandleSetAchievementTracking(this, achievementIds);
|
||||
guild->HandleSetAchievementTracking(this, packet.AchievementIDs);
|
||||
}
|
||||
|
||||
@@ -811,3 +811,17 @@ WorldPacket const* WorldPackets::Guild::PlayerSaveGuildEmblem::Write()
|
||||
|
||||
return &_worldPacket;
|
||||
}
|
||||
|
||||
|
||||
void WorldPackets::Guild::GuildSetAchievementTracking::Read()
|
||||
{
|
||||
uint32 count;
|
||||
_worldPacket >> count;
|
||||
|
||||
for (uint32 i = 0; i < count; ++i)
|
||||
{
|
||||
uint32 value;
|
||||
_worldPacket >> value;
|
||||
AchievementIDs.insert(value);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1006,6 +1006,16 @@ namespace WorldPackets
|
||||
|
||||
int32 Error = 0;
|
||||
};
|
||||
|
||||
class GuildSetAchievementTracking final : public ClientPacket
|
||||
{
|
||||
public:
|
||||
GuildSetAchievementTracking(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_SET_ACHIEVEMENT_TRACKING, std::move(packet)) { }
|
||||
|
||||
void Read() override;
|
||||
|
||||
std::set<uint32> AchievementIDs;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -445,7 +445,7 @@ void OpcodeTable::Initialize()
|
||||
DEFINE_HANDLER(CMSG_GUILD_QUERY_NEWS, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Guild::GuildQueryNews, &WorldSession::HandleGuildQueryNews);
|
||||
DEFINE_HANDLER(CMSG_GUILD_QUERY_RECIPES, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL);
|
||||
DEFINE_HANDLER(CMSG_GUILD_REPLACE_GUILD_MASTER, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL);
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_GUILD_SET_ACHIEVEMENT_TRACKING, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildSetAchievementTracking);
|
||||
DEFINE_HANDLER(CMSG_GUILD_SET_ACHIEVEMENT_TRACKING, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildSetAchievementTracking, &WorldSession::HandleGuildSetAchievementTracking);
|
||||
DEFINE_HANDLER(CMSG_GUILD_SET_FOCUSED_ACHIEVEMENT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Achievement::GuildSetFocusedAchievement, &WorldSession::HandleGuildSetFocusedAchievement);
|
||||
DEFINE_HANDLER(CMSG_GUILD_SET_GUILD_MASTER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildSetGuildMaster, &WorldSession::HandleGuildSetGuildMaster);
|
||||
DEFINE_HANDLER(CMSG_GUILD_SET_MEMBER_NOTE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Guild::GuildSetMemberNote, &WorldSession::HandleGuildSetMemberNote);
|
||||
|
||||
@@ -255,6 +255,7 @@ namespace WorldPackets
|
||||
class GuildSetGuildMaster;
|
||||
class GuildChallengeUpdateRequest;
|
||||
class SaveGuildEmblem;
|
||||
class GuildSetAchievementTracking;
|
||||
}
|
||||
|
||||
namespace Inspect
|
||||
@@ -1079,7 +1080,7 @@ class WorldSession
|
||||
void HandleGuildAssignRank(WorldPackets::Guild::GuildAssignMemberRank& packet);
|
||||
void HandleGuildLeave(WorldPackets::Guild::GuildLeave& leave);
|
||||
void HandleGuildDelete(WorldPackets::Guild::GuildDelete& packet);
|
||||
void HandleGuildSetAchievementTracking(WorldPacket& recvPacket);
|
||||
void HandleGuildSetAchievementTracking(WorldPackets::Guild::GuildSetAchievementTracking& packet);
|
||||
void HandleGuildSetGuildMaster(WorldPackets::Guild::GuildSetGuildMaster& packet);
|
||||
void HandleGuildUpdateMotdText(WorldPackets::Guild::GuildUpdateMotdText& packet);
|
||||
void HandleGuildNewsUpdateSticky(WorldPackets::Guild::GuildNewsUpdateSticky& packet);
|
||||
|
||||
Reference in New Issue
Block a user