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 70b483aae4)
This commit is contained in:
Gildor
2023-02-25 14:19:58 +01:00
committed by Shauren
parent 3e3968b63c
commit 0728d194d9
2 changed files with 3 additions and 3 deletions

View File

@@ -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);

View File

@@ -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();