fix(Core/Spells): Properly handle client-side orientation on stun. (#10107)
Fixes #9738
This commit is contained in:
parent
fd7f33b737
commit
b24fd81734
2 changed files with 12 additions and 5 deletions
|
|
@ -17485,7 +17485,7 @@ void Unit::SetStunned(bool apply)
|
|||
SetStandState(UNIT_STAND_STATE_STAND);
|
||||
}
|
||||
|
||||
SetRooted(true);
|
||||
SetRooted(true, true);
|
||||
|
||||
CastStop();
|
||||
}
|
||||
|
|
@ -17511,12 +17511,12 @@ void Unit::SetStunned(bool apply)
|
|||
|
||||
if (!HasUnitState(UNIT_STATE_ROOT)) // prevent moving if it also has root effect
|
||||
{
|
||||
SetRooted(false);
|
||||
SetRooted(false, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Unit::SetRooted(bool apply)
|
||||
void Unit::SetRooted(bool apply, bool isStun)
|
||||
{
|
||||
if (apply)
|
||||
{
|
||||
|
|
@ -17540,7 +17540,14 @@ void Unit::SetRooted(bool apply)
|
|||
// Creature specific
|
||||
if (GetTypeId() != TYPEID_PLAYER)
|
||||
{
|
||||
StopMoving();
|
||||
if (isStun && movespline->Finalized())
|
||||
{
|
||||
StopMovingOnCurrentPos();
|
||||
}
|
||||
else
|
||||
{
|
||||
StopMoving();
|
||||
}
|
||||
}
|
||||
|
||||
if (m_movedByPlayer)
|
||||
|
|
|
|||
|
|
@ -2480,7 +2480,7 @@ protected:
|
|||
void SetFeared(bool apply);
|
||||
void SetConfused(bool apply);
|
||||
void SetStunned(bool apply);
|
||||
void SetRooted(bool apply);
|
||||
void SetRooted(bool apply, bool isStun = false);
|
||||
|
||||
uint32 m_rootTimes;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue