diff options
Diffstat (limited to 'src/game/SpellMgr.cpp')
-rw-r--r-- | src/game/SpellMgr.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp index 5600f1d2bf2..8ad22c4b3cd 100644 --- a/src/game/SpellMgr.cpp +++ b/src/game/SpellMgr.cpp @@ -3044,6 +3044,21 @@ bool SpellArea::IsFitToRequirements(Player const* player, uint32 newZone, uint32 return !player->HasAura(-auraSpell); } + // Extra conditions + switch(spellId) + { + case 58600: // No fly Zone - Dalaran (Krasus Landing exception) + if (!player || player->GetAreaId() == 4564 || !player->HasAuraType(SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED) && !player->HasAuraType(SPELL_AURA_FLY) + || player->HasAura(44795)) + return false; + break; + case 58730: // No fly Zone - Wintergrasp + if (!player || !player->HasAuraType(SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED) && !player->HasAuraType(SPELL_AURA_FLY) + || player->HasAura(45472) || player->HasAura(44795)) + return false; + break; + } + return true; } |