Core/Achievements: Fixed achievement criteria StartEvent and FailEvent
* Criteria using StartEvent cannot be updated without that event triggering first (not only for timed achievements) * Implemented most StartEvent and FailEvent types * Fixed saving criteria removed by RemoveCriteriaProgress Port From (https://github.com/TrinityCore/TrinityCore/commit/41a20b1e4008d450d075847ef1fe367f0e3a240f)
This commit is contained in:
@@ -237,6 +237,7 @@ namespace Game.Arenas
|
||||
{
|
||||
// update achievement BEFORE personal rating update
|
||||
uint rating = player.GetArenaPersonalRating(winnerArenaTeam.GetSlot());
|
||||
player.StartCriteria(CriteriaStartEvent.WinRankedArenaMatchWithTeamSize, 0);
|
||||
player.UpdateCriteria(CriteriaType.WinAnyRankedArena, rating != 0 ? rating : 1);
|
||||
player.UpdateCriteria(CriteriaType.WinArena, GetMapId());
|
||||
|
||||
@@ -266,7 +267,7 @@ namespace Game.Arenas
|
||||
loserArenaTeam.MemberLost(player, winnerMatchmakerRating, loserMatchmakerChange);
|
||||
|
||||
// Arena lost => reset the win_rated_arena having the "no_lose" condition
|
||||
player.ResetCriteria(CriteriaFailEvent.LoseRankedArenaMatchWithTeamSize, 0);
|
||||
player.FailCriteria(CriteriaFailEvent.LoseRankedArenaMatchWithTeamSize, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user