aboutsummaryrefslogtreecommitdiff
path: root/src/game/Player.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/Player.cpp')
-rw-r--r--src/game/Player.cpp54
1 files changed, 2 insertions, 52 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 533b9e68ac2..e7ae690c5be 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -18753,7 +18753,8 @@ void Player::SetClientControl(Unit* target, uint8 allowMove)
void Player::UpdateZoneDependentAuras( uint32 newZone )
{
// remove new continent flight forms
- if(!CanFlyInMap(GetVirtualMapForMapAndZone(GetMapId(),newZone)))
+ if( !isGameMaster() &&
+ GetVirtualMapForMapAndZone(GetMapId(),newZone) != 530)
{
RemoveSpellsCausingAura(SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED);
RemoveSpellsCausingAura(SPELL_AURA_FLY);
@@ -19219,54 +19220,3 @@ void Player::UpdateCharmedAI()
}
}
-bool Player::CanFlyInMap(const uint32 mapID) const
-{
- // we return false if the map doesn't even exist
- MapEntry const *entry = sMapStore.LookupEntry(mapID);
- if(!entry)
- {
- sLog.outDebug("Unknown mapID handed to Player::CanFlyInMap; disallowing flying.");
- return false;
- }
-
- // GMs can always fly
- if( isGameMaster() )
- {
- return true;
- }
-
- // check whether we can fly here depending on map/config
- switch(mapID)
- {
- // kalimdor/eastern kingdoms
- case 0:
- case 1:
- {
- return sWorld.getConfig(CONFIG_FLYING_MOUNTS_AZEROTH);
- }
- // outland
- case 530:
- {
- return sWorld.getConfig(CONFIG_FLYING_MOUNTS_OUTLAND);
- }
- // all other maps
- default:
- {
- return sWorld.getConfig(CONFIG_FLYING_MOUNTS_OTHERS);
- }
- }
-}
-
-// this is just a dummy function that does the same as CanFlyInMap, but based on area ID
-bool Player::CanFlyInArea(const uint32 areaID) const
-{
- // we return false if the area doesn't even exist
- AreaTableEntry const *entry = sAreaStore.LookupEntry(areaID);
- if(!entry)
- {
- sLog.outDebug("Unknown areaID handed to Player::CanFlyInArea; disallowing flying.");
- return false;
- }
-
- return CanFlyInMap(entry->mapid);
-}