Core/Spells: Implemented target 115 TARGET_UNIT_SRC_AREA_FURTHEST_ENEMY

Port From (https://github.com/TrinityCore/TrinityCore/commit/b50783ae80bdd6595c8a5f262171fdef5659da2d)
This commit is contained in:
hondacrx
2022-02-17 09:49:34 -05:00
parent 1b1214263f
commit ae8abf20d8
3 changed files with 12 additions and 4 deletions
+10 -2
View File
@@ -707,7 +707,7 @@ namespace Game.Spells
void SelectImplicitAreaTargets(SpellEffectInfo spellEffectInfo, SpellImplicitTargetInfo targetType, uint effMask)
{
WorldObject referer = null;
WorldObject referer;
switch (targetType.GetReferenceType())
{
case SpellTargetReferenceTypes.Src:
@@ -808,12 +808,20 @@ namespace Game.Spells
CallScriptObjectAreaTargetSelectHandlers(targets, spellEffectInfo.EffectIndex, targetType);
if (targetType.GetTarget() == Targets.UnitSrcAreaFurthestEnemy)
targets.Sort(new ObjectDistanceOrderPred(referer, false));
if (!targets.Empty())
{
// Other special target selection goes here
uint maxTargets = m_spellValue.MaxAffectedTargets;
if (maxTargets != 0)
targets.RandomResize(maxTargets);
{
if (targetType.GetTarget() != Targets.UnitSrcAreaFurthestEnemy)
targets.RandomResize(maxTargets);
else if (targets.Count > maxTargets)
targets.Resize(maxTargets);
}
foreach (var obj in targets)
{