mirror of
https://github.com/mangosfour/server.git
synced 2025-12-12 19:37:03 +00:00
[7934] Implement ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_ARENA
Signed-off-by: VladimirMangos <vladimir@getmangos.com> Also added ACHIEVEMENT_CRITERIA_DATA_TYPE_VALUE and support this criteira special cases base at `achievement_criteria_data` that required DB support.
This commit is contained in:
parent
bfafee5263
commit
626553c9ee
4 changed files with 58 additions and 8 deletions
|
|
@ -697,9 +697,19 @@ void BattleGround::EndBattleGround(uint32 winner)
|
|||
if (isArena() && isRated() && winner_arena_team && loser_arena_team)
|
||||
{
|
||||
if (team == winner)
|
||||
{
|
||||
// update achievement BEFORE personal rating update
|
||||
plr->GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_ARENA, winner_arena_team->GetMember(plr->GetGUID())->personal_rating);
|
||||
|
||||
winner_arena_team->MemberWon(plr,loser_rating);
|
||||
}
|
||||
else
|
||||
{
|
||||
loser_arena_team->MemberLost(plr,winner_rating);
|
||||
|
||||
// Arena lost => reset the win_rated_arena having the "no_loose" condition
|
||||
plr->GetAchievementMgr().ResetAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_ARENA, ACHIEVEMENT_CRITERIA_CONDITION_NO_LOOSE);
|
||||
}
|
||||
}
|
||||
|
||||
if (team == winner)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue