diff options
author | Machiavelli <machiavelli.trinity@gmail.com> | 2012-03-16 23:41:43 +0100 |
---|---|---|
committer | Machiavelli <machiavelli.trinity@gmail.com> | 2012-03-16 23:41:43 +0100 |
commit | cf5ed0a7b6f5597f9103a4bc93ed91f814522a77 (patch) | |
tree | 13dd8f11aea216aa3e512cad3e6a19db41a37388 /src | |
parent | 85da4636860d1a952bca1b8865c0db9e64798c43 (diff) |
Core/Movement: Remove MOVEMENTFLAG_FLYING on fly aura unapply as well as _CAN_FLY
Diffstat (limited to 'src')
-rwxr-xr-x | src/server/game/Spells/Auras/SpellAuraEffects.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 1e0d1e3b08d..9400ec1e798 100755 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -2846,6 +2846,8 @@ void AuraEffect::HandleAuraAllowFlight(AuraApplication const* aurApp, uint8 mode //! Not entirely sure if this should be sent for creatures as well, but I don't think so. target->SetCanFly(apply); + if (!apply) + target->RemoveUnitMovementFlag(MOVEMENTFLAG_FLYING); Player* player = target->ToPlayer(); if (!player) player = target->m_movedPlayer; @@ -3231,6 +3233,8 @@ void AuraEffect::HandleAuraModIncreaseFlightSpeed(AuraApplication const* aurApp, if (mode & AURA_EFFECT_HANDLE_SEND_FOR_CLIENT_MASK && (apply || (!target->HasAuraType(SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED) && !target->HasAuraType(SPELL_AURA_FLY)))) { target->SetCanFly(apply); + if (!apply) + target->RemoveUnitMovementFlag(MOVEMENTFLAG_FLYING); Player* player = target->ToPlayer(); if (!player) player = target->m_movedPlayer; |