aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellInfo.cpp
diff options
context:
space:
mode:
authorModoX <moardox@gmail.com>2024-04-20 19:59:35 +0200
committerOvahlord <dreadkiller@gmx.de>2024-05-28 16:43:22 +0200
commit2a84a9e0908dc8c8ab6d2bf8c7f23338e1608303 (patch)
tree22df6e96b9aa7368d508d63357dfb4b56c9922a3 /src/server/game/Spells/SpellInfo.cpp
parent3241bcfdce5e6853c8bfe6a57ef41d1299beb15c (diff)
Core/Spells: Fixed SpellInfo::GetSpellXSpellVisualId for nonplayer casters (#29927)
(cherry picked from commit 8d8a54db2568ef88b21530e1f7e1532f1bee08cd)
Diffstat (limited to 'src/server/game/Spells/SpellInfo.cpp')
-rw-r--r--src/server/game/Spells/SpellInfo.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp
index ea1de045c39..3180e92fdcd 100644
--- a/src/server/game/Spells/SpellInfo.cpp
+++ b/src/server/game/Spells/SpellInfo.cpp
@@ -4324,8 +4324,9 @@ uint32 SpellInfo::GetSpellXSpellVisualId(WorldObject const* caster /*= nullptr*/
{
for (SpellXSpellVisualEntry const* visual : _visuals)
{
- if (!caster || !caster->IsPlayer() || !ConditionMgr::IsPlayerMeetingCondition(caster->ToPlayer(), visual->CasterPlayerConditionID))
- continue;
+ if (visual->CasterPlayerConditionID)
+ if (!caster || !caster->IsPlayer() || !ConditionMgr::IsPlayerMeetingCondition(caster->ToPlayer(), visual->CasterPlayerConditionID))
+ continue;
if (UnitConditionEntry const* unitCondition = sUnitConditionStore.LookupEntry(visual->CasterUnitConditionID))
if (!caster || !caster->IsUnit() || !ConditionMgr::IsUnitMeetingCondition(caster->ToUnit(), Object::ToUnit(viewer), unitCondition))