diff options
author | Shauren <shauren.trinity@gmail.com> | 2016-05-07 01:16:29 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2016-05-07 01:16:29 +0200 |
commit | c75fcbe20b07fd7518be58bf02ba30d903133449 (patch) | |
tree | 747a9ecc6a91ffc04d394090c0a3d2e588f630b4 /src/server/game/Battlegrounds/Arena.cpp | |
parent | 44962fe3a9551f183ee9003c8947d5f433cfee16 (diff) |
Core/Achievements: AchievementMgr refactoring
* Extracted base CriteriaHandler class that deals with criteria only and will be reused for future scenario implementation
* Fixed players earning guild achievements
Diffstat (limited to 'src/server/game/Battlegrounds/Arena.cpp')
-rw-r--r-- | src/server/game/Battlegrounds/Arena.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/server/game/Battlegrounds/Arena.cpp b/src/server/game/Battlegrounds/Arena.cpp index 33b765b1930..8e101e71923 100644 --- a/src/server/game/Battlegrounds/Arena.cpp +++ b/src/server/game/Battlegrounds/Arena.cpp @@ -222,8 +222,8 @@ void Arena::EndBattleground(uint32 winner) { // update achievement BEFORE personal rating update uint32 rating = player->GetArenaPersonalRating(winnerArenaTeam->GetSlot()); - player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_ARENA, rating ? rating : 1); - player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_WIN_ARENA, GetMapId()); + player->UpdateCriteria(CRITERIA_TYPE_WIN_RATED_ARENA, rating ? rating : 1); + player->UpdateCriteria(CRITERIA_TYPE_WIN_ARENA, GetMapId()); player->ModifyCurrency(CURRENCY_TYPE_CONQUEST_META_ARENA, sWorld->getIntConfig(CONFIG_CURRENCY_CONQUEST_POINTS_ARENA_REWARD)); // Last standing - Rated 5v5 arena & be solely alive player @@ -235,7 +235,7 @@ void Arena::EndBattleground(uint32 winner) guildAwarded = true; if (ObjectGuid::LowType guildId = GetBgMap()->GetOwnerGuildId(player->GetBGTeam())) if (Guild* guild = sGuildMgr->GetGuildById(guildId)) - guild->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_ARENA, std::max<uint32>(winnerArenaTeam->GetRating(), 1), 0, 0, NULL, player); + guild->UpdateCriteria(CRITERIA_TYPE_WIN_RATED_ARENA, std::max<uint32>(winnerArenaTeam->GetRating(), 1), 0, 0, NULL, player); } winnerArenaTeam->MemberWon(player, loserMatchmakerRating, winnerMatchmakerChange); @@ -245,7 +245,7 @@ void Arena::EndBattleground(uint32 winner) loserArenaTeam->MemberLost(player, winnerMatchmakerRating, loserMatchmakerChange); // Arena lost => reset the win_rated_arena having the "no_lose" condition - player->ResetAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_ARENA, ACHIEVEMENT_CRITERIA_CONDITION_NO_LOSE); + player->ResetCriteria(CRITERIA_TYPE_WIN_RATED_ARENA, CRITERIA_CONDITION_NO_LOSE); } } |