Core/Conditions: Added CONDITION_SOURCE_TYPE_PLAYER_CONDITION (#29832)

This commit is contained in:
Meji
2024-03-27 21:38:08 +01:00
committed by GitHub
parent 1f855ef563
commit 4913d027bf
25 changed files with 149 additions and 152 deletions

View File

@@ -4364,9 +4364,8 @@ uint32 SpellInfo::GetSpellXSpellVisualId(WorldObject const* caster /*= nullptr*/
{
for (SpellXSpellVisualEntry const* visual : _visuals)
{
if (PlayerConditionEntry const* playerCondition = sPlayerConditionStore.LookupEntry(visual->CasterPlayerConditionID))
if (!caster || !caster->IsPlayer() || !ConditionMgr::IsPlayerMeetingCondition(caster->ToPlayer(), playerCondition))
continue;
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))
@@ -4930,8 +4929,7 @@ bool SpellInfo::MeetsFutureSpellPlayerCondition(Player const* player) const
if (ShowFutureSpellPlayerConditionID == 0)
return false;
PlayerConditionEntry const* playerCondition = sPlayerConditionStore.LookupEntry(ShowFutureSpellPlayerConditionID);
return !playerCondition || ConditionMgr::IsPlayerMeetingCondition(player, playerCondition);
return ConditionMgr::IsPlayerMeetingCondition(player, ShowFutureSpellPlayerConditionID);
}
bool SpellInfo::HasLabel(uint32 labelId) const