fix(Core/Auras): Always process hover/waterwalking movement flags on aura removal. (#9416)
Fixes #9056
This commit is contained in:
@@ -15015,8 +15015,12 @@ bool Player::SetCanFly(bool apply, bool packetOnly /*= false*/)
|
|||||||
|
|
||||||
bool Player::SetHover(bool apply, bool packetOnly /*= false*/)
|
bool Player::SetHover(bool apply, bool packetOnly /*= false*/)
|
||||||
{
|
{
|
||||||
if (!packetOnly && !Unit::SetHover(apply))
|
// moved inside, flag can be removed on landing and wont send appropriate packet to client when aura is removed
|
||||||
return false;
|
if (!packetOnly /* && !Unit::SetHover(apply)*/)
|
||||||
|
{
|
||||||
|
Unit::SetHover(apply);
|
||||||
|
// return false;
|
||||||
|
}
|
||||||
|
|
||||||
WorldPacket data(apply ? SMSG_MOVE_SET_HOVER : SMSG_MOVE_UNSET_HOVER, 12);
|
WorldPacket data(apply ? SMSG_MOVE_SET_HOVER : SMSG_MOVE_UNSET_HOVER, 12);
|
||||||
data << GetPackGUID();
|
data << GetPackGUID();
|
||||||
@@ -15032,8 +15036,12 @@ bool Player::SetHover(bool apply, bool packetOnly /*= false*/)
|
|||||||
|
|
||||||
bool Player::SetWaterWalking(bool apply, bool packetOnly /*= false*/)
|
bool Player::SetWaterWalking(bool apply, bool packetOnly /*= false*/)
|
||||||
{
|
{
|
||||||
if (!packetOnly && !Unit::SetWaterWalking(apply))
|
// moved inside, flag can be removed on landing and wont send appropriate packet to client when aura is removed
|
||||||
return false;
|
if (!packetOnly /* && !Unit::SetWaterWalking(apply)*/)
|
||||||
|
{
|
||||||
|
Unit::SetWaterWalking(apply);
|
||||||
|
// return false;
|
||||||
|
}
|
||||||
|
|
||||||
WorldPacket data(apply ? SMSG_MOVE_WATER_WALK : SMSG_MOVE_LAND_WALK, 12);
|
WorldPacket data(apply ? SMSG_MOVE_WATER_WALK : SMSG_MOVE_LAND_WALK, 12);
|
||||||
data << GetPackGUID();
|
data << GetPackGUID();
|
||||||
|
|||||||
Reference in New Issue
Block a user