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/Taxi | |
parent | aac5581bfce1955d5f483521bf77d3d97397d201 (diff) |
Core/Players: Slightly improve neutral player faction support
Diffstat (limited to 'src/server/game/Entities/Taxi')
-rw-r--r-- | src/server/game/Entities/Taxi/TaxiPathGraph.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/server/game/Entities/Taxi/TaxiPathGraph.cpp b/src/server/game/Entities/Taxi/TaxiPathGraph.cpp index 2ef20331ff0..a5395bbdc68 100644 --- a/src/server/game/Entities/Taxi/TaxiPathGraph.cpp +++ b/src/server/game/Entities/Taxi/TaxiPathGraph.cpp @@ -33,8 +33,17 @@ struct EdgeCost uint32 Distance; uint32 EvaluateDistance(Player const* player) const { - TaxiNodeFlags requireFlag = (player->GetTeam() == ALLIANCE) ? TaxiNodeFlags::ShowOnAllianceMap : TaxiNodeFlags::ShowOnHordeMap; - if (!To->GetFlags().HasFlag(requireFlag)) + bool isVisibleForFaction = [&] + { + switch (player->GetTeam()) + { + case HORDE: return To->GetFlags().HasFlag(TaxiNodeFlags::ShowOnHordeMap); + case ALLIANCE: return To->GetFlags().HasFlag(TaxiNodeFlags::ShowOnAllianceMap); + default: break; + } + return false; + }(); + if (!isVisibleForFaction) return std::numeric_limits<uint16>::max(); if (PlayerConditionEntry const* condition = sPlayerConditionStore.LookupEntry(To->ConditionID)) |