[7648] Resolve problems with expected fall damage at near teleport.

Move near teleport landing code to WorldSession::HandleMoveTeleportAck.
This make Player::TeleportTo code working in same way for both far/near teleports.
Move mSemaphoreTeleport from WorldObject to Player and merge with DoNotMove (using 2 fields for far/near teleport flag).
Skip movement packets until landing confirmation for near teleport from client.
This commit is contained in:
VladimirMangos 2009-04-11 09:43:33 +04:00
parent 55e1cc16d1
commit 199c09640d
9 changed files with 87 additions and 101 deletions

View file

@ -445,8 +445,6 @@ class MANGOS_DLL_SPEC WorldObject : public Object
virtual void SendMessageToSetInRange(WorldPacket *data, float dist, bool self);
void BuildHeartBeatMsg( WorldPacket *data ) const;
void BuildTeleportAckMsg( WorldPacket *data, float x, float y, float z, float ang) const;
bool IsBeingTeleported() { return mSemaphoreTeleport; }
void SetSemaphoreTeleport(bool semphsetting) { mSemaphoreTeleport = semphsetting; }
void MonsterSay(const char* text, uint32 language, uint64 TargetGuid);
void MonsterYell(const char* text, uint32 language, uint64 TargetGuid);
@ -494,7 +492,5 @@ class MANGOS_DLL_SPEC WorldObject : public Object
float m_positionY;
float m_positionZ;
float m_orientation;
bool mSemaphoreTeleport;
};
#endif