diff options
Diffstat (limited to 'src/game/Spell.cpp')
-rw-r--r-- | src/game/Spell.cpp | 30 |
1 files changed, 3 insertions, 27 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index c80a3316f50..f17cfa0c83a 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -4399,35 +4399,11 @@ uint8 Spell::CanCast(bool strict) 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 && !((Player*)m_caster)->isGameMaster()) + if(m_caster->GetTypeId()==TYPEID_PLAYER) { - 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; - case 571: - { - if(!((Player*)m_caster)->HasSpell(54197)) - return SPELL_FAILED_NOT_HERE; - } break; - default: - { - if (!sWorld.getConfig(CONFIG_FLYING_MOUNTS_OTHERS)) - return SPELL_FAILED_NOT_HERE; - } break; - } + if( !((Player*)m_caster)->IsAllowUseFlyMountsHere() ) + return SPELL_FAILED_NOT_HERE; } - break; } case SPELL_AURA_PERIODIC_MANA_LEECH: |