aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Battlegrounds/Battleground.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-04-14 23:31:17 +0200
committerShauren <shauren.trinity@gmail.com>2022-04-16 12:15:37 +0200
commit55587694053583b4cb85be38a47563a9fdf77271 (patch)
treef1573a869dd4ddb59f55bf8a5779aa7b0b73d49f /src/server/game/Battlegrounds/Battleground.cpp
parent798693c0b8c6f4ae43f908c9239e14bcf4c3b76f (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.cpp8
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)