aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/SpellAuras.cpp15
-rw-r--r--src/game/SpellMgr.cpp6
2 files changed, 14 insertions, 7 deletions
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index 33a4a1e89ba..4b0bb93bcfb 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -4659,11 +4659,6 @@ void AuraEffect::HandleAuraPeriodicDummy(bool apply, bool Real, bool changeAmoun
if (Player *plr = (Player*)m_target)
if (apply)
plr->GetSession()->SendNotification(LANG_ZONE_NOFLYZONE);
- else
- {
- plr->RemoveAurasByType(SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED);
- plr->RemoveAurasByType(SPELL_AURA_FLY);
- }
break;
default:
break;
@@ -6547,7 +6542,15 @@ void AuraEffect::PeriodicDummyTick()
plr->RemoveAurasDueToSpell(45472);
plr->CastSpell(plr, 44795, true);
}
- break;
+ break;
+ case 58600: // No fly Zone - Dalaran
+ if (10 == m_tickNumber)
+ if (Player *plr = (Player*)m_target)
+ {
+ plr->RemoveAurasByType(SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED);
+ plr->RemoveAurasByType(SPELL_AURA_FLY);
+ }
+ break;
case 58549: // Tenacity
case 59911: // Tenacity (vehicle)
GetParentAura()->RefreshAura();
diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp
index f0a46a3b7ed..dc6bbc728df 100644
--- a/src/game/SpellMgr.cpp
+++ b/src/game/SpellMgr.cpp
@@ -3045,7 +3045,11 @@ bool SpellArea::IsFitToRequirements(Player const* player, uint32 newZone, uint32
if (!player || player->GetTeamId() != sWorld.getState(WORLDSTATE_WINTERGRASP_CONTROLING_FACTION))
return false;
break;
- case 58600: // No fly Zone - Dalaran
+ 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))