interdev

Untitled

Jun 10th, 2015
255
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 3.32 KB | None | 0 0
  1. diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp
  2. index 96192b2..8168298 100644
  3. --- a/src/server/game/Achievements/AchievementMgr.cpp
  4. +++ b/src/server/game/Achievements/AchievementMgr.cpp
  5. @@ -1307,7 +1307,7 @@ void AchievementMgr<T>::UpdateAchievementCriteria(AchievementCriteriaTypes type,
  6.      if (IsGuild<T>() && !sWorld->getBoolConfig(CONFIG_GUILD_LEVELING_ENABLED))
  7.          return;
  8.  
  9. -    AchievementCriteriaEntryList const& achievementCriteriaList = sAchievementMgr->GetAchievementCriteriaByType(type);
  10. +    AchievementCriteriaEntryList const& achievementCriteriaList = sAchievementMgr->GetAchievementCriteriaByType(type, IsGuild<T>());
  11.      for (AchievementCriteriaEntryList::const_iterator i = achievementCriteriaList.begin(); i != achievementCriteriaList.end(); ++i)
  12.      {
  13.          CriteriaEntry const* achievementCriteria = (*i);
  14. @@ -2087,9 +2087,6 @@ void AchievementMgr<T>::CompletedAchievement(AchievementEntry const* achievement
  15.          if (Guild* guild = sGuildMgr->GetGuildById(referencePlayer->GetGuildId()))
  16.              guild->GetNewsLog().AddNewEvent(GUILD_NEWS_PLAYER_ACHIEVEMENT, time(NULL), referencePlayer->GetGUID(), achievement->flags & ACHIEVEMENT_FLAG_SHOW_IN_GUILD_HEADER, achievement->ID);*/
  17.  
  18. -    if (!GetOwner()->GetSession()->PlayerLoading())
  19. -        SendAchievementEarned(achievement);
  20. -
  21.      if (HasAccountAchieved(achievement->ID))
  22.      {
  23.          CompletedAchievementData& ca = m_completedAchievements[achievement->ID];
  24. @@ -2097,6 +2094,9 @@ void AchievementMgr<T>::CompletedAchievement(AchievementEntry const* achievement
  25.          return;
  26.      }
  27.  
  28. +    if (!GetOwner()->GetSession()->PlayerLoading())
  29. +        SendAchievementEarned(achievement);
  30. +
  31.      CompletedAchievementData& ca = m_completedAchievements[achievement->ID];
  32.      ca.completedByThisCharacter = true;
  33.      ca.date = time(NULL);
  34. @@ -2526,27 +2526,20 @@ bool AchievementMgr<T>::CanUpdateCriteria(CriteriaEntry const* criteria, uint64
  35.          if (!achievement)
  36.              continue;
  37.  
  38. -        // Prevents update Guild Achievments for player
  39. -        if (!IsGuild<T>() && (achievement->flags & ACHIEVEMENT_FLAG_GUILD))
  40. -            continue;
  41. -        // Prevents update Player Achievements for guild
  42. -        if (IsGuild<T>() && !(achievement->flags & ACHIEVEMENT_FLAG_GUILD))
  43. -            continue;
  44. -
  45.          if (referencePlayer)
  46.          {
  47.              if (achievement->mapID != -1 && referencePlayer->GetMapId() != uint32(achievement->mapID))
  48.              {
  49.                  TC_LOG_TRACE("achievement", "CanUpdateCriteria: (Id: %u Type %s) Wrong map",
  50.                      criteria->ID, AchievementGlobalMgr::GetCriteriaTypeString(criteria->type));
  51. -                continue;
  52. +                return false;
  53.              }
  54.              if ((achievement->requiredFaction == ACHIEVEMENT_FACTION_HORDE    && referencePlayer->GetTeam() != HORDE) ||
  55.                  (achievement->requiredFaction == ACHIEVEMENT_FACTION_ALLIANCE && referencePlayer->GetTeam() != ALLIANCE))
  56.              {
  57.                  TC_LOG_TRACE("achievement", "CanUpdateCriteria: (Id: %u Type %s) Wrong faction",
  58.                      criteria->ID, AchievementGlobalMgr::GetCriteriaTypeString(criteria->type));
  59. -                continue;
  60. +                return false;
  61.              }
  62.          }
  63.      }
Add Comment
Please, Sign In to add comment