diff options
author | maximius <none@none> | 2009-09-11 13:20:38 -0700 |
---|---|---|
committer | maximius <none@none> | 2009-09-11 13:20:38 -0700 |
commit | fdbe1ebff9455464fd6e643b9e601c07b099c5c0 (patch) | |
tree | 64b5b418902eaa52c19be444cc1df6b1e5ebb1d3 /src | |
parent | 65d0a8bd905762fb2901d3906f88a2b8e0c1005b (diff) |
* [8460] Use achievtment criteria data from table for ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL as expected. Author: VladimirMangos
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/game/AchievementMgr.cpp | 31 |
1 files changed, 12 insertions, 19 deletions
diff --git a/src/game/AchievementMgr.cpp b/src/game/AchievementMgr.cpp index a05cac867fc..67fea7e36d5 100644 --- a/src/game/AchievementMgr.cpp +++ b/src/game/AchievementMgr.cpp @@ -1019,10 +1019,22 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); break; case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL: + case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL2: + { if (!miscvalue1 || miscvalue1 != achievementCriteria->cast_spell.spellID) continue; + + // those requirements couldn't be found in the dbc + AchievementCriteriaDataSet const* data = achievementmgr.GetCriteriaDataSet(achievementCriteria); + if(!data) + continue; + + if(!data->Meets(GetPlayer(),unit)) + continue; + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); break; + } case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SPELL: if(miscvalue1 && miscvalue1!=achievementCriteria->learn_spell.spellID) continue; @@ -1281,25 +1293,6 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui case ACHIEVEMENT_CRITERIA_TYPE_KNOWN_FACTIONS: SetCriteriaProgress(achievementCriteria, GetPlayer()->GetReputationMgr().GetVisibleFactionCount()); break; - case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL2: - { - if (!miscvalue1) - continue; - - if (!miscvalue1 || miscvalue1 != achievementCriteria->cast_spell.spellID) - continue; - - // those requirements couldn't be found in the dbc - AchievementCriteriaDataSet const* data = achievementmgr.GetCriteriaDataSet(achievementCriteria); - if(!data) - continue; - - if(!data->Meets(GetPlayer(),unit)) - continue; - - SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); - break; - } case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LINE: { if (miscvalue1 && miscvalue1 != achievementCriteria->learn_skill_line.skillLine) |