aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/MovementHandler.cpp3
-rw-r--r--src/game/Player.cpp9
-rw-r--r--src/game/Player.h15
3 files changed, 19 insertions, 8 deletions
diff --git a/src/game/MovementHandler.cpp b/src/game/MovementHandler.cpp
index 7acc0a36386..2ec6022ca39 100644
--- a/src/game/MovementHandler.cpp
+++ b/src/game/MovementHandler.cpp
@@ -273,8 +273,7 @@ void WorldSession::HandleMovementOpcodes( WorldPacket & recv_data )
}
}
- if (GetPlayer()->m_lastFallTime >= movementInfo.fallTime || GetPlayer()->m_lastFallZ <=movementInfo.z || recv_data.GetOpcode() == MSG_MOVE_FALL_LAND)
- GetPlayer()->SetFallInformation(movementInfo.fallTime, movementInfo.z);
+ GetPlayer()->UpdateFallInformationIfNeed(movementInfo,MSG_MOVE_FALL_LAND);
if(GetPlayer()->isMovingOrTurning())
GetPlayer()->RemoveSpellsCausingAura(SPELL_AURA_FEIGN_DEATH);
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index a4b9ceabb60..b688c48fc52 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -468,6 +468,9 @@ Player::Player (WorldSession *session): Unit(), m_achievementMgr(this)
m_farsightVision = false;
m_runes = NULL;
+
+ m_lastFallTime = 0;
+ m_lastFallZ = 0;
}
Player::~Player ()
@@ -20948,3 +20951,9 @@ void Player::UpdateKnownCurrencies(uint32 itemId, bool apply)
RemoveFlag64(PLAYER_FIELD_KNOWN_CURRENCIES,(1LL << (ctEntry->BitIndex-1)));
}
}
+
+void Player::UpdateFallInformationIfNeed( MovementInfo const& minfo,uint16 opcode )
+{
+ if (m_lastFallTime >= minfo.fallTime || m_lastFallZ <=minfo.z || opcode == MSG_MOVE_FALL_LAND)
+ SetFallInformation(minfo.fallTime, minfo.z);
+}
diff --git a/src/game/Player.h b/src/game/Player.h
index bc64311c055..53005250160 100644
--- a/src/game/Player.h
+++ b/src/game/Player.h
@@ -1958,8 +1958,7 @@ class TRINITY_DLL_SPEC Player : public Unit
/*** VARIOUS SYSTEMS ***/
/*********************************************************/
MovementInfo m_movementInfo;
- uint32 m_lastFallTime;
- float m_lastFallZ;
+ void UpdateFallInformationIfNeed(MovementInfo const& minfo,uint16 opcode);
Unit *m_mover;
WorldObject *m_seer;
void SetFallInformation(uint32 time, float z)
@@ -2210,10 +2209,6 @@ class TRINITY_DLL_SPEC Player : public Unit
void StopMirrorTimer(MirrorTimerType Type);
void HandleDrowning(uint32 time_diff);
int32 getMaxTimer(MirrorTimerType timer);
- int32 m_MirrorTimer[MAX_TIMERS];
- uint8 m_MirrorTimerFlags;
- uint8 m_MirrorTimerFlagsLast;
- bool m_isInWater;
/*********************************************************/
/*** HONOR SYSTEM ***/
@@ -2379,6 +2374,14 @@ class TRINITY_DLL_SPEC Player : public Unit
void UpdateCharmedAI();
UnitAI *i_AI;
+
+ uint32 m_lastFallTime;
+ float m_lastFallZ;
+
+ int32 m_MirrorTimer[MAX_TIMERS];
+ uint8 m_MirrorTimerFlags;
+ uint8 m_MirrorTimerFlagsLast;
+ bool m_isInWater;
};
void AddItemsSetItem(Player*player,Item *item);