aboutsummaryrefslogtreecommitdiff
path: root/src/game/Object.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/Object.cpp')
-rw-r--r--src/game/Object.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/game/Object.cpp b/src/game/Object.cpp
index 204d654d000..46a824b99c7 100644
--- a/src/game/Object.cpp
+++ b/src/game/Object.cpp
@@ -1387,8 +1387,6 @@ float WorldObject::GetAngle( const float x, const float y ) const
float dx = x - GetPositionX();
float dy = y - GetPositionY();
- if(!dx && !dy)
- return 0;
float ang = atan2(dy, dx);
ang = (ang >= 0) ? ang : 2 * M_PI + ang;
return ang;
@@ -1430,6 +1428,15 @@ bool WorldObject::HasInArc(const float arcangle, const WorldObject* obj) const
float angle = GetAngle( obj );
angle -= m_orientation;
+ if(angle > 100 || angle < -100)
+ {
+ sLog.outCrash("Invalid Angle %f: this %u %u %f %f %f %f, that %u %u %f %f %f %f", angle,
+ GetEntry(), GetGUIDLow(), GetPositionX(), GetPositionY(), GetPositionZ(), GetOrientation(),
+ obj->GetEntry(), obj->GetGUIDLow(), obj->GetPositionX(), obj->GetPositionY(), obj->GetPositionZ(), obj->GetOrientation());
+ assert(false);
+ return false;
+ }
+
// move angle to range -pi ... +pi
while( angle > M_PI)
angle -= 2.0f * M_PI;