aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorxinef1 <w.szyszko2@gmail.com>2017-01-29 16:10:03 +0100
committerShauren <shauren.trinity@gmail.com>2017-01-29 16:10:03 +0100
commit8646e72f18172062e98b449478d3f8e1d554d4b9 (patch)
treedd7d1472ac9a29fa40324f1a316006cab8348fcc /src
parent356f7d59293860bf197b4e040cfaad83a9ff8240 (diff)
Core/Achievements: Mountain o' Mounts and similar achievement will be properly awarded when you have required amount of mounts, not earlier (#19002)
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;