From 019d28086f590199a0d397a9394d60d2c1698a2e Mon Sep 17 00:00:00 2001 From: Shauren Date: Tue, 11 Jun 2024 00:56:29 +0200 Subject: Core/Spells: Updated SPELL_ATTR4_ONLY_FLYING_AREAS implementation to account for latest flying requirements --- src/server/game/Spells/SpellInfo.cpp | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) (limited to 'src/server') diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index acd095dd005..6d1e8e6ba6f 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -2035,19 +2035,8 @@ SpellCastResult SpellInfo::CheckLocation(uint32 map_id, uint32 zone_id, uint32 a if (!(mountFlags.HasFlag(AreaMountFlags::AllowFlyingMounts))) return SPELL_FAILED_INCORRECT_AREA; - if (player) - { - uint32 mapToCheck = map_id; - if (MapEntry const* mapEntry = sMapStore.LookupEntry(map_id)) - mapToCheck = mapEntry->CosmeticParentMapID; - - if ((mapToCheck == 1116 || mapToCheck == 1464) && !player->HasSpell(191645)) // Draenor Pathfinder - return SPELL_FAILED_INCORRECT_AREA; - else if (mapToCheck == 1220 && !player->HasSpell(233368)) // Broken Isles Pathfinder - return SPELL_FAILED_INCORRECT_AREA; - else if ((mapToCheck == 1642 || mapToCheck == 1643) && !player->HasSpell(278833)) // Battle for Azeroth Pathfinder - return SPELL_FAILED_INCORRECT_AREA; - } + if (player && !ConditionMgr::IsPlayerMeetingCondition(player, 72968)) // Hardcoded PlayerCondition id for attribute check in client + return SPELL_FAILED_INCORRECT_AREA; } // raid instance limitation -- cgit v1.2.3