From fb8e34367707ae204b6238122e30d96d6f06cbee Mon Sep 17 00:00:00 2001 From: Angelo Venturini Date: Sat, 21 Oct 2023 08:12:22 -0300 Subject: [PATCH] fix(Core/Arena): Fix logging scores in db (#17504) --- src/server/game/Battlegrounds/Arena.cpp | 16 +++++++++++++--- src/server/game/Battlegrounds/Battleground.h | 3 --- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/server/game/Battlegrounds/Arena.cpp b/src/server/game/Battlegrounds/Arena.cpp index bfc27f00d..1c4a873d5 100644 --- a/src/server/game/Battlegrounds/Arena.cpp +++ b/src/server/game/Battlegrounds/Arena.cpp @@ -242,6 +242,7 @@ void Arena::EndBattleground(TeamId winnerTeamId) uint8 memberId = 0; for (auto const& [playerGuid, arenaLogEntryData] : ArenaLogEntries) { + auto const& score = PlayerScores.find(playerGuid.GetCounter()); stmt2 = CharacterDatabase.GetPreparedStatement(CHAR_INS_ARENA_LOG_MEMBERSTATS); stmt2->SetData(0, fightId); stmt2->SetData(1, ++memberId); @@ -250,9 +251,18 @@ void Arena::EndBattleground(TeamId winnerTeamId) stmt2->SetData(4, arenaLogEntryData.ArenaTeamId); stmt2->SetData(5, arenaLogEntryData.Acc); stmt2->SetData(6, arenaLogEntryData.IP); - stmt2->SetData(7, arenaLogEntryData.DamageDone); - stmt2->SetData(8, arenaLogEntryData.HealingDone); - stmt2->SetData(9, arenaLogEntryData.KillingBlows); + if (score != PlayerScores.end()) + { + stmt2->SetData(7, score->second->GetDamageDone()); + stmt2->SetData(8, score->second->GetHealingDone()); + stmt2->SetData(9, score->second->GetKillingBlows()); + } + else + { + stmt2->SetData(7, 0); + stmt2->SetData(8, 0); + stmt2->SetData(9, 0); + } trans->Append(stmt2); } diff --git a/src/server/game/Battlegrounds/Battleground.h b/src/server/game/Battlegrounds/Battleground.h index e60c511d2..710c32412 100644 --- a/src/server/game/Battlegrounds/Battleground.h +++ b/src/server/game/Battlegrounds/Battleground.h @@ -267,9 +267,6 @@ public: uint32 Acc{0}; uint32 ArenaTeamId{0}; std::string IP{}; - uint32 DamageDone{0}; - uint32 HealingDone{0}; - uint32 KillingBlows{0}; }; enum BGHonorMode