diff options
author | xinef1 <w.szyszko2@gmail.com> | 2017-01-29 16:10:03 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2017-01-29 16:10:03 +0100 |
commit | 8646e72f18172062e98b449478d3f8e1d554d4b9 (patch) | |
tree | dd7d1472ac9a29fa40324f1a316006cab8348fcc /src | |
parent | 356f7d59293860bf197b4e040cfaad83a9ff8240 (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.cpp | 12 |
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; |