aboutsummaryrefslogtreecommitdiff
path: root/src/game/SpellAuras.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2009-06-15 12:02:55 -0500
committermegamage <none@none>2009-06-15 12:02:55 -0500
commitb9610f27dd2c55f63f9a96f1259a8dce33b71d88 (patch)
tree4920b011dc839e2c4901e31d8996a206bff63808 /src/game/SpellAuras.cpp
parent4d6fb6c8b2d84996711fa8bc41e71fa6d483b98c (diff)
*Check movementflag to interrupt casting instead of checking position.
*Also some other fixes about movement flags. --HG-- branch : trunk
Diffstat (limited to 'src/game/SpellAuras.cpp')
-rw-r--r--src/game/SpellAuras.cpp17
1 files changed, 3 insertions, 14 deletions
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index 2ebf5b0002d..53a865380d8 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -5668,26 +5668,15 @@ void AuraEffect::HandleAuraAllowFlight(bool apply, bool Real, bool /*changeAmoun
if(!Real)
return;
+ if(m_target->GetTypeId() == TYPEID_UNIT)
+ m_target->SetFlying(apply);
+
// allow fly
WorldPacket data;
if(apply)
- {
data.Initialize(SMSG_MOVE_SET_CAN_FLY, 12);
- 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);
- 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
m_target->SendMessageToSet(&data, true);