* fixed MSG_MOVE_HEARTBEAT packet handling

* correctly update WorldObject positions, but SMSG_MONSTER_MOVE not yet handled (not necessary atm)
This commit is contained in:
false_genesis 2008-02-18 23:14:31 +00:00
parent 45edde53c9
commit 4c96c5039d
2 changed files with 11 additions and 3 deletions

View File

@ -241,6 +241,8 @@ void WorldSession::_MovementUpdate(uint8 objtypeid, uint64 uguid, WorldPacket& r
{
recvPacket >> x >> y >> z >> o;
logdev("FLOATS: x=%f y=%f z=%f o=%f",x,y,z,o);
if(obj->IsWorldObject())
((WorldObject*)obj)->SetPosition(x,y,z,o);
}
}

View File

@ -800,12 +800,18 @@ void WorldSession::_HandleGroupInviteOpcode(WorldPacket& recvPacket)
void WorldSession::_HandleMovementOpcode(WorldPacket& recvPacket)
{
uint32 flags, time;
uint32 flags, time, unk32;
float x, y, z, o;
uint64 guid;
std::string plrname;
uint8 unk8;
guid = recvPacket.GetPackedGuid();
recvPacket >> flags >> time >> x >> y >> z >> o;
recvPacket >> flags >> unk8 >> time >> x >> y >> z >> o >> unk32;
DEBUG(logdebug("MOVE: "I64FMT" -> time=%u flags=%u x=%.4f y=%.4f z=%.4f o=%.4f",guid,time,flags,x,y,z,o));
Object *obj = objmgr.GetObj(guid);
if(obj && obj->IsWorldObject())
{
((WorldObject*)obj)->SetPosition(x,y,z,o);
}
}
void WorldSession::_HandleTelePortAckOpcode(WorldPacket& recvPacket)