diff options
author | megamage <none@none> | 2009-04-08 16:38:33 -0500 |
---|---|---|
committer | megamage <none@none> | 2009-04-08 16:38:33 -0500 |
commit | aa506c2495faa7cfd45365bfb5b0a50672a4cef4 (patch) | |
tree | adcaaf814c12cbc2f2326f9314f87f3bdfd79ace /src | |
parent | 6b3cd4a263d7562620514d81423dd26bb145508c (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.cpp | 20 |
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); |