diff options
Diffstat (limited to 'src/server/game')
| -rw-r--r-- | src/server/game/Spells/Auras/SpellAuraEffects.cpp | 4 | ||||
| -rw-r--r-- | src/server/game/Spells/SpellMgr.cpp | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 0af5b043fd7..fec801b5b67 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -5715,6 +5715,10 @@ void AuraEffect::HandleAuraDummy(AuraApplication const * aurApp, uint8 mode, boo case 60244: // Blood Parrot Despawn Aura target->CastSpell((Unit*)NULL, GetAmount(), true, NULL, this); break; + case 58600: // Restricted Flight Area + if (aurApp->GetRemoveMode() == AURA_REMOVE_BY_EXPIRE) + target->CastSpell(target, 58601, true); + break; case 68839: // Corrupt Soul target->CastSpell(target, 68846, true, NULL, this, GetCasterGUID()); break; diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index c4870a9b92f..907494ada23 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -3089,14 +3089,14 @@ bool SpellArea::IsFitToRequirements(Player const* player, uint32 newZone, uint32 // Extra conditions -- leaving the possibility add extra conditions... switch(spellId) { - case 58600: // No fly Zone - Dalaran (Krasus Landing exception) + case 58600: // No fly Zone - Dalaran if (!player) return false; AreaTableEntry const* pArea = GetAreaEntryByAreaID(player->GetAreaId()); if (!(pArea && pArea->flags & AREA_FLAG_NO_FLY_ZONE)) return false; - if (!player->HasAuraType(SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED) && !player->HasAuraType(SPELL_AURA_FLY) || player->HasAura(44795)) + if (!player->HasAuraType(SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED) && !player->HasAuraType(SPELL_AURA_FLY)) return false; break; } |
