diff options
author | megamage <none@none> | 2009-04-11 23:07:07 -0500 |
---|---|---|
committer | megamage <none@none> | 2009-04-11 23:07:07 -0500 |
commit | 0010f7ffe38c0432eb337746d71c7129fe74b64b (patch) | |
tree | 330a1d3c51a97c286f09ebb87f715ac8fa4b362a /src/game/Player.h | |
parent | dda2fdff33a6d12d6e8f2913fbb439d9b670890f (diff) |
[7648] Resolve problems with expected fall damage at near teleport. Author: VladimirMangos
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.
--HG--
branch : trunk
Diffstat (limited to 'src/game/Player.h')
-rw-r--r-- | src/game/Player.h | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/src/game/Player.h b/src/game/Player.h index 1c2f7db6505..60b2c7a0a1d 100644 --- a/src/game/Player.h +++ b/src/game/Player.h @@ -1663,8 +1663,12 @@ class TRINITY_DLL_SPEC Player : public Unit bool HasSkill(uint32 skill) const; void learnSkillRewardedSpells(uint32 id, uint32 value); - void SetDontMove(bool dontMove); - bool GetDontMove() const { return m_dontMove; } + WorldLocation& GetTeleportDest() { return m_teleport_dest; } + bool IsBeingTeleported() const { return mSemaphoreTeleport_Near || mSemaphoreTeleport_Far; } + bool IsBeingTeleportedNear() const { return mSemaphoreTeleport_Near; } + bool IsBeingTeleportedFar() const { return mSemaphoreTeleport_Far; } + void SetSemaphoreTeleportNear(bool semphsetting) { mSemaphoreTeleport_Near = semphsetting; } + void SetSemaphoreTeleportFar(bool semphsetting) { mSemaphoreTeleport_Far = semphsetting; } void CheckExploreSystem(void); @@ -2057,8 +2061,6 @@ class TRINITY_DLL_SPEC Player : public Unit bool isAllowedToLoot(Creature* creature); - WorldLocation& GetTeleportDest() { return m_teleport_dest; } - DeclinedName const* GetDeclinedNames() const { return m_declinedname; } uint8 GetRunesState() const { return m_runes->runeState; } uint8 GetBaseRune(uint8 index) const { return m_runes->runes[index].BaseRune; } @@ -2225,8 +2227,6 @@ class TRINITY_DLL_SPEC Player : public Unit typedef std::list<Channel*> JoinedChannelsList; JoinedChannelsList m_channels; - bool m_dontMove; - int m_cinematic; Player *pTrader; @@ -2291,10 +2291,6 @@ class TRINITY_DLL_SPEC Player : public Unit uint32 m_groupUpdateMask; uint64 m_auraRaidUpdateMask; - // Temporarily removed pet cache - uint32 m_temporaryUnsummonedPetNumber; - uint32 m_oldpetspell; - // Player summoning time_t m_summon_expire; uint32 m_summon_mapid; @@ -2302,11 +2298,6 @@ class TRINITY_DLL_SPEC Player : public Unit float m_summon_y; float m_summon_z; - // Far Teleport - WorldLocation m_teleport_dest; - - bool m_farsightVision; - DeclinedName *m_declinedname; Runes *m_runes; private: @@ -2334,6 +2325,15 @@ class TRINITY_DLL_SPEC Player : public Unit uint8 m_MirrorTimerFlagsLast; bool m_isInWater; + // Current teleport data + WorldLocation m_teleport_dest; + bool mSemaphoreTeleport_Near; + bool mSemaphoreTeleport_Far; + + // Temporary removed pet cache + uint32 m_temporaryUnsummonedPetNumber; + uint32 m_oldpetspell; + AchievementMgr m_achievementMgr; ReputationMgr m_reputationMgr; }; |