aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormaximius <none@none>2009-09-11 13:20:38 -0700
committermaximius <none@none>2009-09-11 13:20:38 -0700
commitfdbe1ebff9455464fd6e643b9e601c07b099c5c0 (patch)
tree64b5b418902eaa52c19be444cc1df6b1e5ebb1d3
parent65d0a8bd905762fb2901d3906f88a2b8e0c1005b (diff)
* [8460] Use achievtment criteria data from table for ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL as expected. Author: VladimirMangos
--HG-- branch : trunk
-rw-r--r--src/game/AchievementMgr.cpp31
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)