Core/Entities: MOVEMENTFLAG_ROOT in conjunction with MOVEMENTFLAG_FALLING will cause client freezes, so make them mutually exclusive.
This commit is contained in:
@@ -15748,10 +15748,10 @@ void Unit::SetStunned(bool apply)
|
|||||||
SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED);
|
SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_STUNNED);
|
||||||
|
|
||||||
// MOVEMENTFLAG_ROOT cannot be used in conjunction with
|
// MOVEMENTFLAG_ROOT cannot be used in conjunction with
|
||||||
// MOVEMENTFLAG_FORWARD, MOVEMENTFLAG_BACKWARD, MOVEMENTFLAG_STRAFE_LEFT, MOVEMENTFLAG_STRAFE RIGHT (tested 3.3.5a)
|
// MOVEMENTFLAG_FORWARD, MOVEMENTFLAG_BACKWARD, MOVEMENTFLAG_STRAFE_LEFT, MOVEMENTFLAG_STRAFE RIGHT, MOVEMENTFLAG_FALLING (tested 3.3.5a)
|
||||||
// this will freeze clients. That's why we remove any current movement flags before
|
// this will freeze clients. That's why we remove any current movement flags before
|
||||||
// setting MOVEMENTFLAG_ROOT
|
// setting MOVEMENTFLAG_ROOT
|
||||||
RemoveUnitMovementFlag(MOVEMENTFLAG_FORWARD | MOVEMENTFLAG_BACKWARD | MOVEMENTFLAG_STRAFE_LEFT | MOVEMENTFLAG_STRAFE_RIGHT);
|
RemoveUnitMovementFlag(MOVEMENTFLAG_FORWARD | MOVEMENTFLAG_BACKWARD | MOVEMENTFLAG_STRAFE_LEFT | MOVEMENTFLAG_STRAFE_RIGHT | MOVEMENTFLAG_FALLING);
|
||||||
AddUnitMovementFlag(MOVEMENTFLAG_ROOT);
|
AddUnitMovementFlag(MOVEMENTFLAG_ROOT);
|
||||||
|
|
||||||
// Creature specific
|
// Creature specific
|
||||||
@@ -15797,10 +15797,10 @@ void Unit::SetRooted(bool apply)
|
|||||||
m_rootTimes++;
|
m_rootTimes++;
|
||||||
|
|
||||||
// MOVEMENTFLAG_ROOT cannot be used in conjunction with
|
// MOVEMENTFLAG_ROOT cannot be used in conjunction with
|
||||||
// MOVEMENTFLAG_FORWARD, MOVEMENTFLAG_BACKWARD, MOVEMENTFLAG_STRAFE_LEFT, MOVEMENTFLAG_STRAFE RIGHT (tested 3.3.5a)
|
// MOVEMENTFLAG_FORWARD, MOVEMENTFLAG_BACKWARD, MOVEMENTFLAG_STRAFE_LEFT, MOVEMENTFLAG_STRAFE RIGHT, MOVEMENTFLAG_FALLING (tested 3.3.5a)
|
||||||
// this will freeze clients. That's why we remove any current movement flags before
|
// this will freeze clients. That's why we remove any current movement flags before
|
||||||
// setting MOVEMENTFLAG_ROOT
|
// setting MOVEMENTFLAG_ROOT
|
||||||
RemoveUnitMovementFlag(MOVEMENTFLAG_FORWARD | MOVEMENTFLAG_BACKWARD | MOVEMENTFLAG_STRAFE_LEFT | MOVEMENTFLAG_STRAFE_RIGHT);
|
RemoveUnitMovementFlag(MOVEMENTFLAG_FORWARD | MOVEMENTFLAG_BACKWARD | MOVEMENTFLAG_STRAFE_LEFT | MOVEMENTFLAG_STRAFE_RIGHT | MOVEMENTFLAG_FALLING);
|
||||||
AddUnitMovementFlag(MOVEMENTFLAG_ROOT);
|
AddUnitMovementFlag(MOVEMENTFLAG_ROOT);
|
||||||
|
|
||||||
if (GetTypeId() == TYPEID_PLAYER)
|
if (GetTypeId() == TYPEID_PLAYER)
|
||||||
|
|||||||
Reference in New Issue
Block a user