mirror of
https://github.com/mangosfour/server.git
synced 2025-12-17 16:37:00 +00:00
[10666] Implement ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_*_RATING
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
parent
3ada9f635f
commit
e78887e964
5 changed files with 33 additions and 6 deletions
|
|
@ -1593,6 +1593,27 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui
|
|||
change = GetPlayer()->GetMoney();
|
||||
progressType = PROGRESS_HIGHEST;
|
||||
break;
|
||||
case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_TEAM_RATING:
|
||||
{
|
||||
if(!miscvalue1 || achievementCriteria->highest_team_rating.teamtype != miscvalue1)
|
||||
continue;
|
||||
|
||||
change = miscvalue2;
|
||||
progressType = PROGRESS_HIGHEST;
|
||||
break;
|
||||
}
|
||||
case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_PERSONAL_RATING:
|
||||
{
|
||||
if(!miscvalue1 || achievementCriteria->highest_personal_rating.teamtype != miscvalue1)
|
||||
continue;
|
||||
|
||||
if(achievementCriteria->highest_personal_rating.teamrating != 0 && achievementCriteria->highest_personal_rating.teamrating > miscvalue2)
|
||||
continue;
|
||||
|
||||
change = miscvalue2;
|
||||
progressType = PROGRESS_HIGHEST;
|
||||
break;
|
||||
}
|
||||
// std case: not exist in DBC, not triggered in code as result
|
||||
case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEALTH:
|
||||
case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_SPELLPOWER:
|
||||
|
|
@ -1609,8 +1630,6 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui
|
|||
case ACHIEVEMENT_CRITERIA_TYPE_WIN_ARENA:
|
||||
case ACHIEVEMENT_CRITERIA_TYPE_PLAY_ARENA:
|
||||
case ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL:
|
||||
case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_TEAM_RATING:
|
||||
case ACHIEVEMENT_CRITERIA_TYPE_REACH_TEAM_RATING:
|
||||
case ACHIEVEMENT_CRITERIA_TYPE_OWN_RANK:
|
||||
case ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS:
|
||||
case ACHIEVEMENT_CRITERIA_TYPE_EARNED_PVP_TITLE:
|
||||
|
|
@ -1712,6 +1731,8 @@ uint32 AchievementMgr::GetCriteriaProgressMaxCounter(AchievementCriteriaEntry co
|
|||
return achievementCriteria->learn_skill_line.spellCount;
|
||||
case ACHIEVEMENT_CRITERIA_TYPE_EARN_HONORABLE_KILL:
|
||||
return achievementCriteria->honorable_kill.killCount;
|
||||
case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_PERSONAL_RATING:
|
||||
return achievementCriteria->highest_personal_rating.teamrating;
|
||||
|
||||
// handle all statistic-only criteria here
|
||||
case ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_BATTLEGROUND:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue