diff options
| author | Shauren <shauren.trinity@gmail.com> | 2024-03-24 14:39:29 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2024-03-24 17:19:10 +0100 |
| commit | 94b78ebc8b0eb09409d0db36bebfde85a1644fe8 (patch) | |
| tree | a948fed605007b2fb3c19c883b26da7eb0ef266d /src/server/game/Entities/Player | |
| parent | aac5581bfce1955d5f483521bf77d3d97397d201 (diff) | |
Core/Players: Slightly improve neutral player faction support
Diffstat (limited to 'src/server/game/Entities/Player')
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 4 | ||||
| -rw-r--r-- | src/server/game/Entities/Player/Player.h | 6 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 1455843d04a..f530ecdbb2b 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -2145,7 +2145,7 @@ bool Player::IsGroupVisibleFor(Player const* p) const { default: return IsInSameGroupWith(p); case 1: return IsInSameRaidWith(p); - case 2: return GetTeam() == p->GetTeam(); + case 2: return GetEffectiveTeam() == p->GetEffectiveTeam(); case 3: return false; } } @@ -7784,7 +7784,7 @@ void Player::DuelComplete(DuelCompleteType type) case DUEL_FLED: // if initiator and opponent are on the same team // or initiator and opponent are not PvP enabled, forcibly stop attacking - if (GetTeam() == opponent->GetTeam()) + if (GetEffectiveTeam() == opponent->GetEffectiveTeam()) { AttackStop(); opponent->AttackStop(); diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 02e6fb8e145..48a1fc5e65a 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -2234,11 +2234,11 @@ class TC_GAME_API Player final : public Unit, public GridObject<Player> static TeamId TeamIdForRace(uint8 race); static uint8 GetFactionGroupForRace(uint8 race); Team GetTeam() const { return m_team; } - TeamId GetTeamId() const { return m_team == ALLIANCE ? TEAM_ALLIANCE : TEAM_HORDE; } + TeamId GetTeamId() const { return GetTeamIdForTeam(m_team); } void SetFactionForRace(uint8 race); - Team GetEffectiveTeam() const { return HasPlayerFlagEx(PLAYER_FLAGS_EX_MERCENARY_MODE) ? (GetTeam() == ALLIANCE ? HORDE : ALLIANCE) : Team(GetTeam()); } - TeamId GetEffectiveTeamId() const { return GetEffectiveTeam() == ALLIANCE ? TEAM_ALLIANCE : TEAM_HORDE; } + Team GetEffectiveTeam() const { return HasPlayerFlagEx(PLAYER_FLAGS_EX_MERCENARY_MODE) ? GetOtherTeam(GetTeam()) : GetTeam(); } + TeamId GetEffectiveTeamId() const { return GetTeamIdForTeam(GetEffectiveTeam()); } void InitDisplayIds(); |
