aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Achievements/AchievementMgr.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp
index 39b09ecf29d..34955846886 100644
--- a/src/server/game/Achievements/AchievementMgr.cpp
+++ b/src/server/game/Achievements/AchievementMgr.cpp
@@ -973,7 +973,11 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui
for (SkillLineAbilityMap::const_iterator skillIter = bounds.first; skillIter != bounds.second; ++skillIter)
{
if (skillIter->second->skillId == achievementCriteria->Asset.SkillID)
- spellCount++;
+ {
+ // do not add couter twice if by any chance skill is listed twice in dbc (eg. skill 777 and spell 22717)
+ ++spellCount;
+ break;
+ }
}
}
SetCriteriaProgress(achievementCriteria, spellCount);
@@ -998,7 +1002,11 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui
SkillLineAbilityMapBounds bounds = sSpellMgr->GetSkillLineAbilityMapBounds(spellIter->first);
for (SkillLineAbilityMap::const_iterator skillIter = bounds.first; skillIter != bounds.second; ++skillIter)
if (skillIter->second->skillId == achievementCriteria->Asset.SkillID)
- spellCount++;
+ {
+ // do not add couter twice if by any chance skill is listed twice in dbc (eg. skill 777 and spell 22717)
+ ++spellCount;
+ break;
+ }
}
SetCriteriaProgress(achievementCriteria, spellCount);
break;