diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 20f45c8df..44df4af05 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -3870,7 +3870,11 @@ bool Unit::isInAccessiblePlaceFor(Creature const* c) const return false; } - if (IsInWater()) + LiquidStatus liquidStatus = GetLiquidData().Status; + bool isInWater = (liquidStatus & MAP_LIQUID_STATUS_SWIMMING) != 0; + + // In water or jumping in water + if (isInWater || (liquidStatus == LIQUID_MAP_ABOVE_WATER && (IsFalling() || (ToPlayer() && ToPlayer()->IsFalling())))) { return c->CanEnterWater(); }