Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp
- index 96192b2..8168298 100644
- --- a/src/server/game/Achievements/AchievementMgr.cpp
- +++ b/src/server/game/Achievements/AchievementMgr.cpp
- @@ -1307,7 +1307,7 @@ void AchievementMgr<T>::UpdateAchievementCriteria(AchievementCriteriaTypes type,
- if (IsGuild<T>() && !sWorld->getBoolConfig(CONFIG_GUILD_LEVELING_ENABLED))
- return;
- - AchievementCriteriaEntryList const& achievementCriteriaList = sAchievementMgr->GetAchievementCriteriaByType(type);
- + AchievementCriteriaEntryList const& achievementCriteriaList = sAchievementMgr->GetAchievementCriteriaByType(type, IsGuild<T>());
- for (AchievementCriteriaEntryList::const_iterator i = achievementCriteriaList.begin(); i != achievementCriteriaList.end(); ++i)
- {
- CriteriaEntry const* achievementCriteria = (*i);
- @@ -2087,9 +2087,6 @@ void AchievementMgr<T>::CompletedAchievement(AchievementEntry const* achievement
- if (Guild* guild = sGuildMgr->GetGuildById(referencePlayer->GetGuildId()))
- guild->GetNewsLog().AddNewEvent(GUILD_NEWS_PLAYER_ACHIEVEMENT, time(NULL), referencePlayer->GetGUID(), achievement->flags & ACHIEVEMENT_FLAG_SHOW_IN_GUILD_HEADER, achievement->ID);*/
- - if (!GetOwner()->GetSession()->PlayerLoading())
- - SendAchievementEarned(achievement);
- -
- if (HasAccountAchieved(achievement->ID))
- {
- CompletedAchievementData& ca = m_completedAchievements[achievement->ID];
- @@ -2097,6 +2094,9 @@ void AchievementMgr<T>::CompletedAchievement(AchievementEntry const* achievement
- return;
- }
- + if (!GetOwner()->GetSession()->PlayerLoading())
- + SendAchievementEarned(achievement);
- +
- CompletedAchievementData& ca = m_completedAchievements[achievement->ID];
- ca.completedByThisCharacter = true;
- ca.date = time(NULL);
- @@ -2526,27 +2526,20 @@ bool AchievementMgr<T>::CanUpdateCriteria(CriteriaEntry const* criteria, uint64
- if (!achievement)
- continue;
- - // Prevents update Guild Achievments for player
- - if (!IsGuild<T>() && (achievement->flags & ACHIEVEMENT_FLAG_GUILD))
- - continue;
- - // Prevents update Player Achievements for guild
- - if (IsGuild<T>() && !(achievement->flags & ACHIEVEMENT_FLAG_GUILD))
- - continue;
- -
- if (referencePlayer)
- {
- if (achievement->mapID != -1 && referencePlayer->GetMapId() != uint32(achievement->mapID))
- {
- TC_LOG_TRACE("achievement", "CanUpdateCriteria: (Id: %u Type %s) Wrong map",
- criteria->ID, AchievementGlobalMgr::GetCriteriaTypeString(criteria->type));
- - continue;
- + return false;
- }
- if ((achievement->requiredFaction == ACHIEVEMENT_FACTION_HORDE && referencePlayer->GetTeam() != HORDE) ||
- (achievement->requiredFaction == ACHIEVEMENT_FACTION_ALLIANCE && referencePlayer->GetTeam() != ALLIANCE))
- {
- TC_LOG_TRACE("achievement", "CanUpdateCriteria: (Id: %u Type %s) Wrong faction",
- criteria->ID, AchievementGlobalMgr::GetCriteriaTypeString(criteria->type));
- - continue;
- + return false;
- }
- }
- }
Add Comment
Please, Sign In to add comment