aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Entities/Object/Object.cpp21
-rwxr-xr-xsrc/server/game/Entities/Object/Object.h2
2 files changed, 6 insertions, 17 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index 6271af99fcd..8b22a48522d 100755
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -138,20 +138,7 @@ void Object::_Create(uint32 guidlow, uint32 entry, HighGuid guidhigh)
uint64 guid = MAKE_NEW_GUID(guidlow, entry, guidhigh);
SetUInt64Value(OBJECT_FIELD_GUID, guid);
- uint32 type = 0;
- switch (m_objectType)
- {
- //case TYPEID_ITEM: type = 3; break;
- //case TYPEID_CONTAINER: type = 7; break; //+4
- //case TYPEID_UNIT: type = 9; break; //+2
- //case TYPEID_PLAYER: type = 25; break; //+16
- //case TYPEID_GAMEOBJECT: type = 33; break; //+8
- case TYPEID_DYNAMICOBJECT: type = 65; break; //+32
- //case TYPEID_CORPSE: type = 129; break; //+64
- default: type = m_objectType; break;
- }
- SetUInt32Value(OBJECT_FIELD_TYPE, type);
- //SetUInt32Value(OBJECT_FIELD_TYPE, m_objectType);
+ SetUInt16Value(OBJECT_FIELD_TYPE, 0, m_objectType);
m_PackGUID.wpos(0);
m_PackGUID.appendPackGUID(GetGUID());
}
@@ -324,7 +311,7 @@ void Object::_BuildMovementUpdate(ByteBuffer* data, uint16 flags) const
uint16 movementFlagsExtra = self->m_movementInfo.GetExtraMovementFlags();
data->WriteBit(!movementFlags);
- data->WriteBit(0); // Has Orientation
+ data->WriteBit(G3D::fuzzyEq(self->GetOrientation(), 0.0f)); // Has Orientation
data->WriteBit(guid[7]);
data->WriteBit(guid[3]);
data->WriteBit(guid[2]);
@@ -491,7 +478,9 @@ void Object::_BuildMovementUpdate(ByteBuffer* data, uint16 flags) const
*data << self->GetSpeed(MOVE_FLIGHT_BACK);
data->WriteByteSeq(guid[6]);
*data << self->GetSpeed(MOVE_TURN_RATE);
- *data << float(self->GetOrientation());
+ if (!G3D::fuzzyEq(self->GetOrientation(), 0.0f))
+ *data << float(self->GetOrientation());
+
*data << self->GetSpeed(MOVE_RUN);
if ((movementFlags & (MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_FLYING)) ||
(movementFlagsExtra & MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING))
diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h
index 3e00e775b4b..e417b3bdc2d 100755
--- a/src/server/game/Entities/Object/Object.h
+++ b/src/server/game/Entities/Object/Object.h
@@ -935,7 +935,7 @@ class WorldObject : public Object, public WorldLocation
virtual bool _IsWithinDist(WorldObject const* obj, float dist2compare, bool is3D) const;
- bool CanNeverSee(WorldObject const* obj) const { return GetMap() != obj->GetMap() || !InSamePhase(obj); }
+ bool CanNeverSee(WorldObject const* obj) const { return !IsInMap(obj) || !InSamePhase(obj); }
virtual bool CanAlwaysSee(WorldObject const* /*obj*/) const { return false; }
bool CanDetect(WorldObject const* obj, bool ignoreStealth) const;
bool CanDetectInvisibilityOf(WorldObject const* obj) const;