From a189dc1360563df83bd6eb47eb4047dfc0728e7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Bertelsen?= Date: Thu, 20 Aug 2026 15:35:37 +0200 Subject: [PATCH] fix(Core/Taxi): don't advertise flight paths on opposite-faction flight masters (#26737) Co-authored-by: sudlud --- src/server/game/Entities/Player/Player.cpp | 3 ++- src/server/game/Handlers/TaxiHandler.cpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 97f865c21..9b2cb38c3 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -10691,7 +10691,8 @@ void Player::SendTaxiNodeStatusMultiple() DoForAllVisibleWorldObjects([this](WorldObject* worldObject) { Creature* creature = worldObject->ToCreature(); - if (!creature || creature->IsHostileTo(this)) + // reaction must be checked both ways: the Dark Portal flight masters are neutral toward opposite-faction players, while players are hostile toward them + if (!creature || creature->GetReactionTo(this) <= REP_UNFRIENDLY || IsHostileTo(creature)) return; if (!creature->HasNpcFlag(UNIT_NPC_FLAG_FLIGHTMASTER)) diff --git a/src/server/game/Handlers/TaxiHandler.cpp b/src/server/game/Handlers/TaxiHandler.cpp index 1a493c7d3..a0dcd7edb 100644 --- a/src/server/game/Handlers/TaxiHandler.cpp +++ b/src/server/game/Handlers/TaxiHandler.cpp @@ -36,7 +36,8 @@ void WorldSession::SendTaxiStatus(ObjectGuid guid) { Player* const player = GetPlayer(); Creature* unit = ObjectAccessor::GetCreature(*player, guid); - if (!unit || unit->IsHostileTo(player) || !unit->HasNpcFlag(UNIT_NPC_FLAG_FLIGHTMASTER)) + // reaction must be checked both ways: the Dark Portal flight masters are neutral toward opposite-faction players, while players are hostile toward them + if (!unit || unit->GetReactionTo(player) <= REP_UNFRIENDLY || player->IsHostileTo(unit) || !unit->HasNpcFlag(UNIT_NPC_FLAG_FLIGHTMASTER)) { LOG_DEBUG("network", "WorldSession::SendTaxiStatus - Unit ({}) not found.", guid.ToString()); return;