diff options
author | _manuel_ <manue.l@live.com.ar> | 2010-10-05 23:02:46 -0300 |
---|---|---|
committer | _manuel_ <manue.l@live.com.ar> | 2010-10-05 23:02:46 -0300 |
commit | 4aff9d02031d8ae3d9007e9e825ba0e27d702b52 (patch) | |
tree | 3d30486e73a77614f2a117dc4e3be6122329360f /src | |
parent | f745705ef997ee0a50bef3aed36f0e1e0cfaba11 (diff) |
Core/Player: Added value for counting root times, used by SMSG_FORCE_MOVE_ROOT & SMSG_FORCE_MOVE_UNROOT. Actually I am not sure for what it is. Thanks to linencloth for help.
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 11 | ||||
-rw-r--r-- | src/server/game/Entities/Unit/Unit.h | 2 |
2 files changed, 11 insertions, 2 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 40c269fb920..a51188804b3 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -122,6 +122,8 @@ m_vehicleKit(NULL), m_unitTypeMask(UNIT_MASK_NONE), m_HostileRefManager(this) m_extraAttacks = 0; m_canDualWield = false; + m_rootTimes = 0; + m_state = 0; m_form = FORM_NONE; m_deathState = ALIVE; @@ -15354,11 +15356,14 @@ void Unit::SetRooted(bool apply) { if (apply) { + if (m_rootTimes > 0) //blizzard internal check? + m_rootTimes++; + // AddUnitMovementFlag(MOVEMENTFLAG_ROOT); WorldPacket data(SMSG_FORCE_MOVE_ROOT, 10); data.append(GetPackGUID()); - data << (uint32)2; + data << m_rootTimes; SendMessageToSet(&data,true); if (GetTypeId() != TYPEID_PLAYER) @@ -15368,9 +15373,11 @@ void Unit::SetRooted(bool apply) { if (!hasUnitState(UNIT_STAT_STUNNED)) // prevent allow move if have also stun effect { + m_rootTimes++; //blizzard internal check? + WorldPacket data(SMSG_FORCE_MOVE_UNROOT, 10); data.append(GetPackGUID()); - data << (uint32)2; + data << m_rootTimes; SendMessageToSet(&data,true); // RemoveUnitMovementFlag(MOVEMENTFLAG_ROOT); diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index cb61f498c8b..32774833246 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -2092,6 +2092,8 @@ class Unit : public WorldObject void SetStunned(bool apply); void SetRooted(bool apply); + uint32 m_rootTimes; + uint32 m_state; // Even derived shouldn't modify uint32 m_CombatTimer; uint32 m_lastManaUse; // msecs |