diff options
author | tartalo <none@none> | 2009-11-02 21:05:54 +0100 |
---|---|---|
committer | tartalo <none@none> | 2009-11-02 21:05:54 +0100 |
commit | bcfff09c74ec3e7cc6bd4c42938701c501f3bfd7 (patch) | |
tree | 18140ff9d2ec1dfa1d56424a704242be793e2d7d /src/game/Wintergrasp.cpp | |
parent | ae2a36d13e32e7aae945c8cc1862b340f4669744 (diff) |
*Implementation of 'No Fly Zone' (Dalaran and Wintergrasp), by Spp
--HG--
branch : trunk
Diffstat (limited to 'src/game/Wintergrasp.cpp')
-rw-r--r-- | src/game/Wintergrasp.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/game/Wintergrasp.cpp b/src/game/Wintergrasp.cpp index 65fa5dccada..ec989a8123f 100644 --- a/src/game/Wintergrasp.cpp +++ b/src/game/Wintergrasp.cpp @@ -949,6 +949,14 @@ void OPvPWintergrasp::HandlePlayerEnterZone(Player * plr, uint32 zone) if (!sWorld.getConfig(CONFIG_OUTDOORPVP_WINTERGRASP_ENABLED)) return; + // No fly zone or parachute + if (!plr->HasAura(SPELL_NOFLYZONE_WG) && !plr->HasAura(SPELL_PARACHUTE_WG) && + (plr->HasAuraType(SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED) || plr->HasAuraType(SPELL_AURA_FLY))) + { + plr->CastSpell(plr, SPELL_NOFLYZONE_WG, true); + ChatHandler(plr).PSendSysMessage(LANG_ZONE_NOFLYZONE); + } + if (!isWarTime()) { if (plr->GetTeamId() == getDefenderTeam()) @@ -1032,6 +1040,7 @@ void OPvPWintergrasp::HandlePlayerLeaveZone(Player * plr, uint32 zone) OutdoorPvP::HandlePlayerLeaveZone(plr, zone); UpdateTenacityStack(); plr->RemoveAura(SPELL_ESSENCE_OF_WG); + plr->RemoveAura(SPELL_NOFLYZONE_WG); } void OPvPWintergrasp::PromotePlayer(Player *killer) const |