From 61c64bbf3049d1548c55f56dc872ab03f073904f Mon Sep 17 00:00:00 2001 From: UltraNix <80540499+UltraNix@users.noreply.github.com> Date: Mon, 20 Jun 2022 20:31:28 +0200 Subject: [PATCH] =?UTF-8?q?fix(Core/Movement):=20Water-bound=20creatures?= =?UTF-8?q?=20should=20not=20evade=20if=20their=20t=E2=80=A6=20(#12112)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix(Core/Movement): Water-bound creatures should not evade if their target is near the surface/jumping in the water. Fixed #10383 --- src/server/game/Entities/Unit/Unit.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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(); }