public static AIHeroClient GetKillableTarget(this Spell.SpellBase spell) { return(TargetSelector.GetTarget( EntityManager.Heroes.Enemies.Where(t => t != null && t.IsValidTarget() && !t.HasUndyingBuff(true) && !t.HasBuffOfType(BuffType.SpellImmunity) && spell.IsInRange(t) && t.Health <= DamageIndicator.DamageDelegate(t, spell.Slot)), spell.DamageType)); }
public static AIHeroClient GetGapcloseTarget(this Spell.SpellBase spell, int Rangetoget) { var target = TargetSelector.GetTarget(Rangetoget, spell.DamageType, Game.CursorPos); if (target != null) { if (spell.IsInRange(target)) { return(target); } else { return(null); } } return(null); }
public static AIHeroClient GetTarget(this Spell.SpellBase spell, params AIHeroClient[] excludeTargets) { var targets = EntityManager.Heroes.Enemies.Where(o => o.IsValidTarget() && !excludeTargets.Contains(o) && spell.IsInRange(o)).ToArray(); return(TargetSelector.GetTarget(targets, DamageType.Magical)); }
public static AIHeroClient GetTarget(Spell.SpellBase spell, DamageType damageType) { return(TargetSelector.SelectedTarget != null && spell.IsInRange(TargetSelector.SelectedTarget) ? TargetSelector.SelectedTarget : TargetSelector.GetTarget(spell.Range, damageType, Player.Instance.Position) != null?TargetSelector.GetTarget(spell.Range, damageType, Player.Instance.Position) : null); }