diff options
Diffstat (limited to 'src/server/game/Spells/SpellMgr.cpp')
-rwxr-xr-x | src/server/game/Spells/SpellMgr.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index f1879099a0a..b519dad28c2 100755 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -25,6 +25,7 @@ #include "Chat.h" #include "Spell.h" #include "BattlegroundMgr.h" +#include "BattlefieldMgr.h" #include "CreatureAI.h" #include "MapManager.h" #include "BattlegroundIC.h" @@ -3289,6 +3290,26 @@ bool SpellArea::IsFitToRequirements(Player const* player, uint32 newZone, uint32 return false; break; } + case 58730: // No fly Zone - Wintergrasp + { + if (!player) + return false; + + Battlefield* Bf = sBattlefieldMgr.GetBattlefieldToZoneId(player->GetZoneId()); + if (!Bf || Bf->CanFlyIn() || (!player->HasAuraType(SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED) && !player->HasAuraType(SPELL_AURA_FLY))) + return false; + break; + } + case 57940: // Essence of Wintergrasp - Northrend + { + if (!player) + return false; + + Battlefield* Bf = sBattlefieldMgr.GetBattlefieldToZoneId(4197); + if (!Bf || player->GetTeamId() != Bf->GetDefenderTeam()) + return false; + break; + } case SPELL_OIL_REFINERY: // Oil Refinery - Isle of Conquest. case SPELL_QUARRY: // Quarry - Isle of Conquest. { |