aboutsummaryrefslogtreecommitdiff
path: root/src/game/AchievementMgr.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2009-03-28 18:00:33 -0600
committermegamage <none@none>2009-03-28 18:00:33 -0600
commit4bd98db3ab9b8a2094285c376809ca3f1aa5c733 (patch)
treec35caaaa293d963dd0b4804218baae7fcf706ae3 /src/game/AchievementMgr.cpp
parenteee2d0216ea2e72ec777645ceead6b1e98341fb5 (diff)
[7575] Avoid unrelated skill search at ACHIEVEMENT_CRITERIA_TYPE_*_SKILL_LEVEL update Author: VladimirMangos
--HG-- branch : trunk
Diffstat (limited to 'src/game/AchievementMgr.cpp')
-rw-r--r--src/game/AchievementMgr.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/game/AchievementMgr.cpp b/src/game/AchievementMgr.cpp
index 46ee9dc343e..e380dfced73 100644
--- a/src/game/AchievementMgr.cpp
+++ b/src/game/AchievementMgr.cpp
@@ -511,10 +511,16 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui
SetCriteriaProgress(achievementCriteria, GetPlayer()->getLevel());
break;
case ACHIEVEMENT_CRITERIA_TYPE_REACH_SKILL_LEVEL:
+ // update at loading or specific skill update
+ if(miscvalue1 && miscvalue1 != achievementCriteria->reach_skill_level.skillID)
+ continue;
if(uint32 skillvalue = GetPlayer()->GetBaseSkillValue(achievementCriteria->reach_skill_level.skillID))
SetCriteriaProgress(achievementCriteria, skillvalue);
break;
case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LEVEL:
+ // update at loading or specific skill update
+ if(miscvalue1 && miscvalue1 != achievementCriteria->learn_skill_level.skillID)
+ continue;
if(uint32 maxSkillvalue = GetPlayer()->GetPureMaxSkillValue(achievementCriteria->learn_skill_level.skillID))
SetCriteriaProgress(achievementCriteria, maxSkillvalue);
break;