From 7e5cb4ac2479a8ce46f5a0f1f996084d6fab19b5 Mon Sep 17 00:00:00 2001 From: sogladev Date: Sun, 12 Jul 2026 11:28:03 +0200 Subject: [PATCH] fix(Core/Player): explicitly clear CAN_FLY state onlogin (#26560) --- src/server/game/Entities/Player/Player.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 52bee311a..0bd855652 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -11673,6 +11673,12 @@ void Player::SendInitialPacketsAfterAddToMap() auraList.front()->HandleEffect(this, AURA_EFFECT_HANDLE_SEND_FOR_CLIENT, true); } + // Explicitly synchronize CAN_FLY state with client on login to prevent + // players from retaining flight ability after disconnecting during a + // teleport from a flyable to non-flyable zone (e.g. entering an instance). + if (!HasIncreaseMountedFlightSpeedAura() && !HasFlyAura()) + SetCanFly(false); + // Fix mount, update block gets messed somewhere { if (!isBeingLoaded() && GetMountBlockId() && !HasMountedAura())