Implemented ACHIEVEMENT_CRITERIA_TYPE_LEARN_SPELL

Fixed typo in my previous commit
This commit is contained in:
arrai 2008-10-31 20:34:53 +01:00
parent 4baf956853
commit be03894ec5
2 changed files with 10 additions and 1 deletions

View file

@ -238,10 +238,14 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui
// AchievementMgr::UpdateAchievementCriteria might also be called on login - skip in this case
if(!miscvalue1)
continue;
if(GetPlayer()->GetMapID() != achievementCriteria->complete_battleground.mapID)
if(GetPlayer()->GetMapId() != achievementCriteria->complete_battleground.mapID)
continue;
SetCriteriaProgress(achievementCriteria, miscvalue1, true);
break;
case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SPELL:
if(GetPlayer()->HasSpell(achievementCriteria->learn_spell.spellID))
SetCriteriaProgress(achievementCriteria, 1);
break;
}
if(IsCompletedCriteria(achievementCriteria))
@ -312,6 +316,8 @@ bool AchievementMgr::IsCompletedCriteria(AchievementCriteriaEntry const* achieve
case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_BATTLEGROUND:
// just used as a counter - return false
return false;
case ACHIEVEMENT_CRITERIA_TYPE_LEARN_SPELL:
return progress->counter >= 1;
}
return false;
}

View file

@ -2773,6 +2773,9 @@ bool Player::addSpell(uint32 spell_id, bool active, bool learning, bool loading,
}
}
if(!loading)
GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_LEARN_SPELL);
// return true (for send learn packet) only if spell active (in case ranked spells) and not replace old spell
return active && !disabled && !superceded_old;
}