aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/Unit
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2016-07-09 13:03:03 +0200
committerShauren <shauren.trinity@gmail.com>2016-07-09 13:03:03 +0200
commit14b93c04ee07e9fe6e2767460e7fc7cc2b3e6808 (patch)
tree977f96debfd94275dbf63d770823a0701f58b35d /src/server/game/Entities/Unit
parent0b9854428657bd5c988e7aeda5b6e4df9a72131a (diff)
Core/Units: Fixed autoattack range
Closes #17539
Diffstat (limited to 'src/server/game/Entities/Unit')
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp7
-rw-r--r--src/server/game/Entities/Unit/Unit.h2
2 files changed, 4 insertions, 5 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 6b66780f328..e39cad81ae1 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -475,7 +475,7 @@ bool Unit::IsWithinCombatRange(const Unit* obj, float dist2compare) const
return distsq < maxdist * maxdist;
}
-bool Unit::IsWithinMeleeRange(const Unit* obj, float dist) const
+bool Unit::IsWithinMeleeRange(Unit const* obj) const
{
if (!obj || !IsInMap(obj) || !InSamePhase(obj))
return false;
@@ -485,10 +485,9 @@ bool Unit::IsWithinMeleeRange(const Unit* obj, float dist) const
float dz = GetPositionZMinusOffset() - obj->GetPositionZMinusOffset();
float distsq = dx*dx + dy*dy + dz*dz;
- float sizefactor = GetCombatReach() + obj->GetCombatReach() + 4.0f / 3.0f;
- float maxdist = dist + sizefactor;
+ float maxdist = GetCombatReach() + obj->GetCombatReach() + 4.0f / 3.0f;
- return distsq < maxdist * maxdist;
+ return distsq <= maxdist * maxdist;
}
void Unit::GetRandomContactPoint(const Unit* obj, float &x, float &y, float &z, float distance2dMin, float distance2dMax) const
diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h
index baeae4987c0..0f48f31b9c0 100644
--- a/src/server/game/Entities/Unit/Unit.h
+++ b/src/server/game/Entities/Unit/Unit.h
@@ -1290,7 +1290,7 @@ class TC_GAME_API Unit : public WorldObject
virtual void SetCanDualWield(bool value) { m_canDualWield = value; }
float GetCombatReach() const { return m_floatValues[UNIT_FIELD_COMBATREACH]; }
bool IsWithinCombatRange(const Unit* obj, float dist2compare) const;
- bool IsWithinMeleeRange(const Unit* obj, float dist = MELEE_RANGE) const;
+ bool IsWithinMeleeRange(Unit const* obj) const;
void GetRandomContactPoint(const Unit* target, float &x, float &y, float &z, float distance2dMin, float distance2dMax) const;
uint32 m_extraAttacks;
bool m_canDualWield;