aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
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
commit4aff9d02031d8ae3d9007e9e825ba0e27d702b52 (patch)
tree3d30486e73a77614f2a117dc4e3be6122329360f /src
parentf745705ef997ee0a50bef3aed36f0e1e0cfaba11 (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.cpp11
-rw-r--r--src/server/game/Entities/Unit/Unit.h2
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