Пример #1
0
 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));
 }
Пример #2
0
        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);
        }
Пример #3
0
        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));
        }
Пример #4
0
 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);
 }