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.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index 6d635687013..81a30505cc4 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -5138,14 +5138,15 @@ SpellCastResult Spell::CheckCast(bool strict)
break;
}
- case SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED:
case SPELL_AURA_FLY:
+ case SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED:
{
- // not allow cast fly spells at old maps by players (all spells is self target)
- if(m_originalCaster && m_originalCaster->GetTypeId()==TYPEID_PLAYER)
+ // not allow cast fly spells if not have req. skills (all spells is self target)
+ // allow always ghost flight spells
+ if (m_originalCaster && m_originalCaster->GetTypeId() == TYPEID_PLAYER && m_originalCaster->isAlive())
{
- if( !((Player*)m_originalCaster)->IsAllowUseFlyMountsHere() )
- return SPELL_FAILED_NOT_HERE;
+ if (!((Player*)m_originalCaster)->IsKnowHowFlyIn(m_originalCaster->GetMapId(),m_originalCaster->GetMapId()))
+ return m_IsTriggeredSpell ? SPELL_FAILED_DONT_REPORT : SPELL_FAILED_NOT_HERE;
}
break;
}