aboutsummaryrefslogtreecommitdiff
path: root/src/game/SpellAuras.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/SpellAuras.cpp')
-rw-r--r--src/game/SpellAuras.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index 60f505c3a2e..1e6c10a3b8a 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -5305,12 +5305,20 @@ void Aura::HandleAuraAllowFlight(bool apply, bool Real)
if(apply)
{
data.Initialize(SMSG_MOVE_SET_CAN_FLY, 12);
- m_target->SetByteFlag(UNIT_FIELD_BYTES_1, 3, 0x02);
+ if(m_target->GetTypeId() == TYPEID_UNIT)
+ {
+ m_target->SetByteFlag(UNIT_FIELD_BYTES_1, 3, 0x02);
+ m_target->AddUnitMovementFlag(MOVEMENTFLAG_FLYING2);
+ }
}
else
{
data.Initialize(SMSG_MOVE_UNSET_CAN_FLY, 12);
- m_target->RemoveByteFlag(UNIT_FIELD_BYTES_1, 3, 0x02);
+ if(m_target->GetTypeId() == TYPEID_UNIT)
+ {
+ m_target->RemoveByteFlag(UNIT_FIELD_BYTES_1, 3, 0x02);
+ m_target->RemoveUnitMovementFlag(MOVEMENTFLAG_FLYING2);
+ }
}
data.append(m_target->GetPackGUID());
data << uint32(0); // unk