aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormegamage <none@none>2009-04-08 16:38:33 -0500
committermegamage <none@none>2009-04-08 16:38:33 -0500
commitaa506c2495faa7cfd45365bfb5b0a50672a4cef4 (patch)
treeadcaaf814c12cbc2f2326f9314f87f3bdfd79ace /src
parent6b3cd4a263d7562620514d81423dd26bb145508c (diff)
[7637] Prevent console spam - FATAL: Unknown arena team type %u for some arena team. Author: rastikzzz
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/game/AchievementMgr.cpp20
1 files changed, 6 insertions, 14 deletions
diff --git a/src/game/AchievementMgr.cpp b/src/game/AchievementMgr.cpp
index 34ae3d1ae94..776ff9ebdc7 100644
--- a/src/game/AchievementMgr.cpp
+++ b/src/game/AchievementMgr.cpp
@@ -673,20 +673,12 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui
// AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case
if(!miscvalue1)
continue;
- // skip wrong arena achievements, if not achievIdByArenaSlot then normal totla death counter
- bool notfit = false;
- for(int i = 0; i < MAX_ARENA_SLOT; ++i)
- {
- if(achievIdByArenaSlot[i] == achievement->ID)
- {
- BattleGround* bg = GetPlayer()->GetBattleGround();
- if(!bg || ArenaTeam::GetSlotByType(bg->GetArenaType())!=i)
- notfit = true;
-
- break;
- }
- }
- if(notfit)
+ BattleGround* bg = GetPlayer()->GetBattleGround();
+ if(!bg || !bg->isArena())
+ continue;
+ //bg is arena so bg->GetArenaType() will return correct value
+ uint8 slot = ArenaTeam::GetSlotByType(bg->GetArenaType());
+ if(slot >= MAX_ARENA_SLOT || achievIdByArenaSlot[slot] != achievement->ID)
continue;
SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE);