aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGildor <gildor55@gmail.com>2023-02-25 14:19:58 +0100
committerShauren <shauren.trinity@gmail.com>2023-08-23 18:44:48 +0200
commit0728d194d9d8fa6c91e6c7dfbc9e06c02963d7fe (patch)
treefc9f8cba716cdeae4c76343dcc0c811033ffcb59 /src
parent3e3968b63c4192b766de69c8f4744adba406c94b (diff)
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)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Battlegrounds/ArenaTeam.cpp4
-rw-r--r--src/server/game/Battlegrounds/ArenaTeam.h2
2 files changed, 3 insertions, 3 deletions
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();