mirror of
https://github.com/liyunfan1223/azerothcore-wotlk.git
synced 2026-08-08 15:58:04 +00:00
fix(Core/Spell): Restricted Flight Area (#5016)
This commit is contained in:
@@ -24500,7 +24500,7 @@ void Player::UpdateAreaDependentAuras(uint32 newArea)
|
|||||||
for (AuraMap::iterator iter = m_ownedAuras.begin(); iter != m_ownedAuras.end();)
|
for (AuraMap::iterator iter = m_ownedAuras.begin(); iter != m_ownedAuras.end();)
|
||||||
{
|
{
|
||||||
// use m_zoneUpdateId for speed: UpdateArea called from UpdateZone or instead UpdateZone in both cases m_zoneUpdateId up-to-date
|
// use m_zoneUpdateId for speed: UpdateArea called from UpdateZone or instead UpdateZone in both cases m_zoneUpdateId up-to-date
|
||||||
if (iter->second->GetSpellInfo()->CheckLocation(GetMapId(), m_zoneUpdateId, newArea, this) != SPELL_CAST_OK)
|
if (iter->second->GetSpellInfo()->CheckLocation(GetMapId(), m_zoneUpdateId, newArea, this, false) != SPELL_CAST_OK)
|
||||||
RemoveOwnedAura(iter);
|
RemoveOwnedAura(iter);
|
||||||
else
|
else
|
||||||
++iter;
|
++iter;
|
||||||
|
|||||||
@@ -1472,15 +1472,6 @@ SpellCastResult SpellInfo::CheckLocation(uint32 map_id, uint32 zone_id, uint32 a
|
|||||||
return SPELL_FAILED_INCORRECT_AREA;
|
return SPELL_FAILED_INCORRECT_AREA;
|
||||||
}
|
}
|
||||||
|
|
||||||
// continent limitation (virtual continent)
|
|
||||||
if (HasAttribute(SPELL_ATTR4_CAST_ONLY_IN_OUTLAND))
|
|
||||||
{
|
|
||||||
uint32 v_map = GetVirtualMapForMapAndZone(map_id, zone_id);
|
|
||||||
MapEntry const* mapEntry = sMapStore.LookupEntry(v_map);
|
|
||||||
if (!mapEntry || mapEntry->addon < 1 || !mapEntry->IsContinent())
|
|
||||||
return SPELL_FAILED_INCORRECT_AREA;
|
|
||||||
}
|
|
||||||
|
|
||||||
// continent limitation (virtual continent)
|
// continent limitation (virtual continent)
|
||||||
if (HasAttribute(SPELL_ATTR4_CAST_ONLY_IN_OUTLAND))
|
if (HasAttribute(SPELL_ATTR4_CAST_ONLY_IN_OUTLAND))
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user