diff options
author | ccrs <crs_92_19@hotmail.com> | 2014-09-13 14:06:37 +0100 |
---|---|---|
committer | DDuarte <dnpd.dd@gmail.com> | 2014-09-13 14:06:37 +0100 |
commit | 05aa0d51b150a1d9ddd8973f9acf3c0bcf25af5f (patch) | |
tree | cd0528e04bc860a7c9a33b18ef775de43c7f90fd /src | |
parent | dbbc5bfb506b9b7091664e2c8efb9b92bf41c6cf (diff) |
Core/Units: Take into account HoverHeight in IsWithinMeleeRange
Fixes #12059
Closes #13104
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Entities/Unit/Unit.h | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 8404187d09b..adf093f0f17 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -458,7 +458,7 @@ bool Unit::IsWithinMeleeRange(const Unit* obj, float dist) const float dx = GetPositionX() - obj->GetPositionX(); float dy = GetPositionY() - obj->GetPositionY(); - float dz = GetPositionZ() - obj->GetPositionZ(); + float dz = GetPositionZMinusOffset() - obj->GetPositionZMinusOffset(); float distsq = dx*dx + dy*dy + dz*dz; float sizefactor = GetMeleeReach() + obj->GetMeleeReach(); diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index a18bc3b0848..20ca614b42d 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -1619,6 +1619,7 @@ class Unit : public WorldObject bool IsLevitating() const { return m_movementInfo.HasMovementFlag(MOVEMENTFLAG_DISABLE_GRAVITY); } bool IsWalking() const { return m_movementInfo.HasMovementFlag(MOVEMENTFLAG_WALKING); } + bool IsHovering() const { return m_movementInfo.HasMovementFlag(MOVEMENTFLAG_HOVER); } virtual bool SetWalk(bool enable); virtual bool SetDisableGravity(bool disable, bool packetOnly = false); virtual bool SetSwim(bool enable); |