diff options
Diffstat (limited to 'src/game/Spell.cpp')
-rw-r--r-- | src/game/Spell.cpp | 27 |
1 files changed, 2 insertions, 25 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index f6b326b17d9..fb5662bfd7b 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -4172,34 +4172,11 @@ uint8 Spell::CanCast(bool strict) case SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED: case SPELL_AURA_FLY: { - // not allow cast fly spells at old maps by players (all spells is self target) if(m_caster->GetTypeId()==TYPEID_PLAYER) { - if(!((Player*)m_caster)->isGameMaster()) - { - uint32 v_map = GetVirtualMapForMapAndZone(m_caster->GetMapId(),m_caster->GetZoneId()); - switch(v_map) - { - case 0: - case 1: - { - if (!sWorld.getConfig(CONFIG_FLYING_MOUNTS_AZEROTH)) - return SPELL_FAILED_NOT_HERE; - } break; - case 530: - { - if (!sWorld.getConfig(CONFIG_FLYING_MOUNTS_OUTLAND)) - return SPELL_FAILED_NOT_HERE; - } break; - default: - { - if (!sWorld.getConfig(CONFIG_FLYING_MOUNTS_OTHERS)) - return SPELL_FAILED_NOT_HERE; - } break; - } - } + if(!((Player*)m_caster)->CanFlyInMap(GetVirtualMapForMapAndZone(m_caster->GetMapId(),m_caster->GetZoneId()))) + return SPELL_FAILED_NOT_HERE; } - break; } case SPELL_AURA_PERIODIC_MANA_LEECH: |