Core/Spells: Updated SPELL_ATTR4_ONLY_FLYING_AREAS implementation to account for latest flying requirements
Port From (https://github.com/TrinityCore/TrinityCore/commit/019d28086f590199a0d397a9394d60d2c1698a2e)
This commit is contained in:
@@ -864,19 +864,8 @@ namespace Game.Spells
|
||||
if (!mountFlags.HasFlag(AreaMountFlags.AllowFlyingMounts))
|
||||
return SpellCastResult.IncorrectArea;
|
||||
|
||||
if (player != null)
|
||||
{
|
||||
uint mapToCheck = map_id;
|
||||
MapRecord mapEntry1 = CliDB.MapStorage.LookupByKey(map_id);
|
||||
if (mapEntry1 != null)
|
||||
mapToCheck = (uint)mapEntry1.CosmeticParentMapID;
|
||||
if ((mapToCheck == 1116 || mapToCheck == 1464) && !player.HasSpell(191645)) // Draenor Pathfinder
|
||||
return SpellCastResult.IncorrectArea;
|
||||
else if (mapToCheck == 1220 && !player.HasSpell(233368)) // Broken Isles Pathfinder
|
||||
return SpellCastResult.IncorrectArea;
|
||||
else if ((mapToCheck == 1642 || mapToCheck == 1643) && !player.HasSpell(278833)) // Battle for Azeroth Pathfinder
|
||||
return SpellCastResult.IncorrectArea;
|
||||
}
|
||||
if (player != null && !ConditionManager.IsPlayerMeetingCondition(player, 72968)) // Hardcoded PlayerCondition id for attribute check in client
|
||||
return SpellCastResult.IncorrectArea;
|
||||
}
|
||||
|
||||
var mapEntry = CliDB.MapStorage.LookupByKey(map_id);
|
||||
|
||||
Reference in New Issue
Block a user