aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Battlegrounds/Arena.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2023-09-25 00:53:56 +0200
committerShauren <shauren.trinity@gmail.com>2023-09-25 00:53:56 +0200
commit41a20b1e4008d450d075847ef1fe367f0e3a240f (patch)
tree4e202edb0d037a4a406926e6cacd686c7afcbca1 /src/server/game/Battlegrounds/Arena.cpp
parente1f345756ba34ccf4d4dd07b90c254097a240b51 (diff)
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
Diffstat (limited to 'src/server/game/Battlegrounds/Arena.cpp')
-rw-r--r--src/server/game/Battlegrounds/Arena.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/server/game/Battlegrounds/Arena.cpp b/src/server/game/Battlegrounds/Arena.cpp
index d90a18bc153..c5060c40ce6 100644
--- a/src/server/game/Battlegrounds/Arena.cpp
+++ b/src/server/game/Battlegrounds/Arena.cpp
@@ -244,6 +244,7 @@ void Arena::EndBattleground(uint32 winner)
{
// update achievement BEFORE personal rating update
uint32 rating = player->GetArenaPersonalRating(winnerArenaTeam->GetSlot());
+ player->StartCriteria(CriteriaStartEvent::WinRankedArenaMatchWithTeamSize, 0);
player->UpdateCriteria(CriteriaType::WinAnyRankedArena, rating ? rating : 1);
player->UpdateCriteria(CriteriaType::WinArena, GetMapId());
@@ -269,7 +270,7 @@ void Arena::EndBattleground(uint32 winner)
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);
}
}