mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-02-05 12:03:48 +00:00
fix(Core/Arena): Fix lag caused by arena distribution (#15444)
* cherry-pick commit (3f3dee8049)
Co-authored-by: ibakula <10998369+ibakula@users.noreply.github.com>
Co-authored-by: Gildor <521036+Jildor@users.noreply.github.com>
This commit is contained in:
@@ -927,7 +927,7 @@ void ArenaTeam::UpdateArenaPointsHelper(std::map<ObjectGuid, uint32>& playerPoin
|
||||
}
|
||||
}
|
||||
|
||||
void ArenaTeam::SaveToDB()
|
||||
void ArenaTeam::SaveToDB(bool forceMemberSave)
|
||||
{
|
||||
if (!sScriptMgr->CanSaveToDB(this))
|
||||
return;
|
||||
@@ -949,6 +949,10 @@ void ArenaTeam::SaveToDB()
|
||||
|
||||
for (MemberList::const_iterator itr = Members.begin(); itr != Members.end(); ++itr)
|
||||
{
|
||||
// Save the effort and go
|
||||
if (itr->WeekGames == 0 && !forceMemberSave)
|
||||
continue;
|
||||
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_ARENA_TEAM_MEMBER);
|
||||
stmt->SetData(0, itr->PersonalRating);
|
||||
stmt->SetData(1, itr->WeekGames);
|
||||
@@ -970,8 +974,12 @@ void ArenaTeam::SaveToDB()
|
||||
CharacterDatabase.CommitTransaction(trans);
|
||||
}
|
||||
|
||||
void ArenaTeam::FinishWeek()
|
||||
bool ArenaTeam::FinishWeek()
|
||||
{
|
||||
// No need to go further than this
|
||||
if (Stats.WeekGames == 0)
|
||||
return false;
|
||||
|
||||
// Reset team stats
|
||||
Stats.WeekGames = 0;
|
||||
Stats.WeekWins = 0;
|
||||
@@ -982,6 +990,8 @@ void ArenaTeam::FinishWeek()
|
||||
itr->WeekGames = 0;
|
||||
itr->WeekWins = 0;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ArenaTeam::IsFighting() const
|
||||
|
||||
Reference in New Issue
Block a user