mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-25 19:31:59 +01:00
Achievements/Guilds: Fix guild achievement tracking
- This fix a typo on commit TrinityCore@7ec22c5 - This fix update of criteria progress on login Thanks to @DDuarte for initial commit and help with pull request Thanks to @Kiritoo for send me sniffs
This commit is contained in:
@@ -1562,10 +1562,29 @@ void Guild::SendGuildRankInfo(WorldSession* session) const
|
||||
TC_LOG_DEBUG("guild", "SMSG_GUILD_RANK [%s]", session->GetPlayerInfo().c_str());
|
||||
}
|
||||
|
||||
void Guild::HandleSetAchievementTracking(WorldSession* session, std::set<uint32> const& criteriaIds)
|
||||
void Guild::HandleSetAchievementTracking(WorldSession* session, std::set<uint32> const& achievementIds)
|
||||
{
|
||||
if (Member* member = GetMember(session->GetPlayer()->GetGUID()))
|
||||
Player* player = session->GetPlayer();
|
||||
|
||||
if (Member* member = GetMember(player->GetGUID()))
|
||||
{
|
||||
std::set<uint32> criteriaIds;
|
||||
|
||||
for (std::set<uint32>::iterator achievementId = achievementIds.begin(); achievementId != achievementIds.end(); ++achievementId)
|
||||
{
|
||||
if (AchievementCriteriaEntryList const* cList = sAchievementMgr->GetAchievementCriteriaByAchievement(*achievementId))
|
||||
{
|
||||
for (AchievementCriteriaEntryList::const_iterator itr = cList->begin(); itr != cList->end(); ++itr)
|
||||
{
|
||||
AchievementCriteriaEntry const* criteria = *itr;
|
||||
criteriaIds.insert(criteria->ID);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
member->SetTrackedCriteriaIds(criteriaIds);
|
||||
m_achievementMgr.SendAllTrackedCriterias(player, member->GetTrackedCriteriaIds());
|
||||
}
|
||||
}
|
||||
|
||||
void Guild::HandleSetMOTD(WorldSession* session, std::string const& motd)
|
||||
|
||||
Reference in New Issue
Block a user