From 0728d194d9d8fa6c91e6c7dfbc9e06c02963d7fe Mon Sep 17 00:00:00 2001 From: Gildor Date: Sat, 25 Feb 2023 14:19:58 +0100 Subject: Core/Arena: Correctly update the stats of the members of each team when the week ends and the arena points are distributed. (#28812) (cherry picked from commit 70b483aae4aefc581f5099b3d41b24c9e4bb1d98) --- src/server/game/Battlegrounds/ArenaTeam.cpp | 4 ++-- src/server/game/Battlegrounds/ArenaTeam.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/server/game/Battlegrounds/ArenaTeam.cpp b/src/server/game/Battlegrounds/ArenaTeam.cpp index ad2535e81e0..dce6ebfb2a6 100644 --- a/src/server/game/Battlegrounds/ArenaTeam.cpp +++ b/src/server/game/Battlegrounds/ArenaTeam.cpp @@ -731,7 +731,7 @@ void ArenaTeam::MemberWon(Player* player, uint32 againstMatchmakerRating, int32 } } -void ArenaTeam::SaveToDB() +void ArenaTeam::SaveToDB(bool forceMemberSave) { // Save team and member stats to db // Called after a match has ended or when calculating arena_points @@ -751,7 +751,7 @@ void ArenaTeam::SaveToDB() for (MemberList::const_iterator itr = Members.begin(); itr != Members.end(); ++itr) { // Save the effort and go - if (itr->WeekGames == 0) + if (itr->WeekGames == 0 && !forceMemberSave) continue; stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_ARENA_TEAM_MEMBER); diff --git a/src/server/game/Battlegrounds/ArenaTeam.h b/src/server/game/Battlegrounds/ArenaTeam.h index c3815492274..63ac86b2ecc 100644 --- a/src/server/game/Battlegrounds/ArenaTeam.h +++ b/src/server/game/Battlegrounds/ArenaTeam.h @@ -151,7 +151,7 @@ class TC_GAME_API ArenaTeam bool LoadArenaTeamFromDB(QueryResult arenaTeamDataResult); bool LoadMembersFromDB(QueryResult arenaTeamMembersResult); void LoadStatsFromDB(uint32 ArenaTeamId); - void SaveToDB(); + void SaveToDB(bool forceMemberSave = false); void BroadcastPacket(WorldPacket* packet); void NotifyStatsChanged(); -- cgit v1.2.3