aboutsummaryrefslogtreecommitdiff
path: root/src/game/Spell.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/Spell.cpp')
-rw-r--r--src/game/Spell.cpp30
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: