diff options
author | Shauren <shauren.trinity@gmail.com> | 2022-04-14 23:31:17 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-04-16 12:15:37 +0200 |
commit | 55587694053583b4cb85be38a47563a9fdf77271 (patch) | |
tree | f1573a869dd4ddb59f55bf8a5779aa7b0b73d49f /src/server/game/Battlegrounds/Battleground.cpp | |
parent | 798693c0b8c6f4ae43f908c9239e14bcf4c3b76f (diff) |
Core/Battlegrounds: Replaced overriding m_team with more fine grained approach
Diffstat (limited to 'src/server/game/Battlegrounds/Battleground.cpp')
-rw-r--r-- | src/server/game/Battlegrounds/Battleground.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/server/game/Battlegrounds/Battleground.cpp b/src/server/game/Battlegrounds/Battleground.cpp index 4ff2d4216ef..2cfed828de7 100644 --- a/src/server/game/Battlegrounds/Battleground.cpp +++ b/src/server/game/Battlegrounds/Battleground.cpp @@ -573,7 +573,7 @@ Player* Battleground::_GetPlayerForTeam(uint32 teamId, BattlegroundPlayerMap::co { uint32 team = itr->second.Team; if (!team) - team = player->GetTeam(); + team = player->GetEffectiveTeam(); if (team != teamId) player = nullptr; } @@ -1821,6 +1821,8 @@ void Battleground::HandleKillPlayer(Player* victim, Player* killer) if (killer == victim) return; + uint32 killerTeam = GetPlayerTeam(killer->GetGUID()); + UpdatePlayerScore(killer, SCORE_HONORABLE_KILLS, 1); UpdatePlayerScore(killer, SCORE_KILLING_BLOWS, 1); @@ -1830,7 +1832,7 @@ void Battleground::HandleKillPlayer(Player* victim, Player* killer) if (!creditedPlayer || creditedPlayer == killer) continue; - if (creditedPlayer->GetTeam() == killer->GetTeam() && creditedPlayer->IsAtGroupRewardDistance(victim)) + if (itr->second.Team == killerTeam && creditedPlayer->IsAtGroupRewardDistance(victim)) UpdatePlayerScore(creditedPlayer, SCORE_HONORABLE_KILLS, 1); } } @@ -1928,7 +1930,7 @@ void Battleground::SetBgRaid(uint32 TeamID, Group* bg_raid) WorldSafeLocsEntry const* Battleground::GetClosestGraveyard(Player* player) { - return sObjectMgr->GetClosestGraveyard(*player, player->GetTeam(), player); + return sObjectMgr->GetClosestGraveyard(*player, GetPlayerTeam(player->GetGUID()), player); } void Battleground::StartCriteriaTimer(CriteriaStartEvent startEvent, uint32 entry) |