Core/Spells: rework part 2: Split up target selection logic

Port From (https://github.com/TrinityCore/TrinityCore/commit/52ae3c89d1d4dbcff309d940fd41c7212edc77b7)
This commit is contained in:
hondacrx
2021-08-28 14:40:52 -04:00
parent 9123dec4b9
commit 5ff5fb7d3f
6 changed files with 194 additions and 137 deletions
+2 -2
View File
@@ -1916,7 +1916,7 @@ namespace Game.Maps
if (!u.IsTargetableForAttack(false))
return false;
if (!i_obj.IsWithinDistInMap(u, i_range) || i_funit._IsValidAttackTarget(u, null, i_obj))
if (!i_obj.IsWithinDistInMap(u, i_range) || i_funit.IsValidAttackTarget(u))
return false;
i_range = i_obj.GetDistance(u);
@@ -2088,7 +2088,7 @@ namespace Game.Maps
if (_spellInfo != null && _spellInfo.HasAttribute(SpellAttr3.OnlyTargetPlayers) && !u.IsPlayer())
return false;
if (!i_funit._IsValidAttackTarget(u, _spellInfo, i_obj.GetTypeId() == TypeId.DynamicObject ? i_obj : null))
if (!i_funit.IsValidAttackTarget(u, _spellInfo))
return false;
float searchRadius = i_range;