aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-06-11 00:56:29 +0200
committerOvahlord <dreadkiller@gmx.de>2024-06-20 01:19:38 +0200
commite732af829701270311322b2af54e95901d4e936f (patch)
treeb32c17af02c2174f27d771bf80aed968259cae7b /src
parent0c0e451027d1d00913dcfcbe3d1babaee8946cf4 (diff)
Core/Spells: Updated SPELL_ATTR4_ONLY_FLYING_AREAS implementation to account for latest flying requirements
(cherry picked from commit 019d28086f590199a0d397a9394d60d2c1698a2e)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Spells/SpellInfo.cpp15
1 files changed, 2 insertions, 13 deletions
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp
index c71b73f4423..7048f6e3868 100644
--- a/src/server/game/Spells/SpellInfo.cpp
+++ b/src/server/game/Spells/SpellInfo.cpp
@@ -2008,19 +2008,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