Exemple #1
0
 public static bool Check(Obj_AI_Hero target, DamageType damageType = DamageType.True, bool ignoreShields = true)
 {
     try
     {
         if (target.HasBuffOfType(BuffType.Invulnerability) || target.IsInvulnerable)
         {
             return(true);
         }
         foreach (var invulnerable in Items)
         {
             if (invulnerable.Champion == null || invulnerable.Champion == target.ChampionName)
             {
                 if (invulnerable.DamageType == null || invulnerable.DamageType == damageType)
                 {
                     if (!ignoreShields && invulnerable.IsShield && target.HasBuff(invulnerable.BuffName))
                     {
                         return(true);
                     }
                     if (invulnerable.CustomCheck != null && CustomCheck(invulnerable, target, damageType))
                     {
                         return(true);
                     }
                 }
             }
         }
         return(false);
     }
     catch (Exception ex)
     {
         Global.Logger.AddItem(new LogItem(ex));
     }
     return(false);
 }
 public static bool Check(Obj_AI_Hero target, DamageType damageType = DamageType.True, bool ignoreShields = true)
 {
     try
     {
         if (target.HasBuffOfType(BuffType.Invulnerability) || target.IsInvulnerable)
         {
             return true;
         }
         foreach (var invulnerable in Items)
         {
             if (invulnerable.Champion == null || invulnerable.Champion == target.ChampionName)
             {
                 if (invulnerable.DamageType == null || invulnerable.DamageType == damageType)
                 {
                     if (!ignoreShields && invulnerable.IsShield && target.HasBuff(invulnerable.BuffName))
                     {
                         return true;
                     }
                     if (invulnerable.CustomCheck != null)
                     {
                         return CustomCheck(invulnerable, target, damageType);
                     }
                 }
             }
         }
     }
     catch (Exception ex)
     {
         Global.Logger.AddItem(new LogItem(ex));
     }
     return false;
 }
 public Spell(SpellSlot slot, float range = 3.402823E+38f, DamageType damageType = DamageType.Physical)
     : base(
         slot, range,
         damageType == DamageType.Physical
             ? TargetSelector.DamageType.Physical
             : (damageType == DamageType.Magical
                 ? TargetSelector.DamageType.Magical
                 : TargetSelector.DamageType.True)) {}
 public static Obj_AI_Hero GetTarget(float range, DamageType damageType, bool ignoreShields, Vector3 from)
 {
     if (Target != null &&
         TargetSelector.IsValidTarget(
             Target, ForceFocus ? float.MaxValue : range, damageType, ignoreShields, from))
     {
         return Target;
     }
     return null;
 }
Exemple #5
0
 public Spell(SpellSlot slot, float range = 3.402823E+38f, DamageType damageType = DamageType.Physical)
     : base(
         slot, range,
         damageType == DamageType.Physical
             ? TargetSelector.DamageType.Physical
             : (damageType == DamageType.Magical
                 ? TargetSelector.DamageType.Magical
                 : TargetSelector.DamageType.True))
 {
 }
 private TargetSelector.DamageType ConvertDamageType(DamageType type)
 {
     switch (type)
     {
         case DamageType.Physical:
             return TargetSelector.DamageType.Physical;
         case DamageType.Magical:
             return TargetSelector.DamageType.Magical;
         case DamageType.True:
             return TargetSelector.DamageType.True;
     }
     return TargetSelector.DamageType.Physical;
 }
 public InvulnerableStruct(string champion,
     string buffName,
     DamageType? damageType,
     bool isShield,
     Func<Obj_AI_Base, DamageType, bool> customCheck = null)
     : this()
 {
     Champion = champion;
     BuffName = buffName;
     DamageType = damageType;
     IsShield = isShield;
     CustomCheck = customCheck;
 }
Exemple #8
0
        private LeagueSharp.Common.TargetSelector.DamageType ConvertDamageType(DamageType type)
        {
            switch (type)
            {
            case DamageType.Physical:
                return(LeagueSharp.Common.TargetSelector.DamageType.Physical);

            case DamageType.Magical:
                return(LeagueSharp.Common.TargetSelector.DamageType.Magical);

            case DamageType.True:
                return(LeagueSharp.Common.TargetSelector.DamageType.True);
            }
            return(LeagueSharp.Common.TargetSelector.DamageType.Physical);
        }
Exemple #9
0
        private TargetSelector.DamageType ConvertDamageType(DamageType type)
        {
            switch (type)
            {
            case DamageType.Physical:
                return(TargetSelector.DamageType.Physical);

            case DamageType.Magical:
                return(TargetSelector.DamageType.Magical);

            case DamageType.True:
                return(TargetSelector.DamageType.True);
            }
            return(TargetSelector.DamageType.Physical);
        }
 public static Obj_AI_Hero GetTarget(float range, DamageType damageType, bool ignoreShields, Vector3 from)
 {
     try
     {
         if (Target != null &&
             TargetSelector.IsValidTarget(
                 Target, TargetSelector.ForceFocus ? float.MaxValue : range, damageType, ignoreShields, from))
         {
             return Target;
         }
     }
     catch (Exception ex)
     {
         Global.Logger.AddItem(new LogItem(ex));
     }
     return null;
 }
Exemple #11
0
 public static Obj_AI_Hero GetTarget(float range, DamageType damageType, bool ignoreShields, Vector3 from)
 {
     try
     {
         if (Target != null &&
             TargetSelector.IsValidTarget(
                 Target, TargetSelector.ForceFocus ? float.MaxValue : range, damageType, ignoreShields, from))
         {
             return(Target);
         }
     }
     catch (Exception ex)
     {
         Global.Logger.AddItem(new LogItem(ex));
     }
     return(null);
 }
Exemple #12
0
 private static bool CustomCheck(Item invulnerable, Obj_AI_Hero target, DamageType damageType)
 {
     try
     {
         if (invulnerable != null)
         {
             if (invulnerable.CustomCheck(target, damageType))
             {
                 return(true);
             }
         }
     }
     catch (Exception ex)
     {
         Global.Logger.AddItem(new LogItem(ex));
     }
     return(false);
 }
 internal static bool IsValidTarget(Obj_AI_Hero target,
     float range,
     DamageType damageType,
     bool ignoreShields = true,
     Vector3 from = default(Vector3))
 {
     try
     {
         return target.IsValidTarget() &&
                target.Distance(
                    (from.Equals(default(Vector3)) ? ObjectManager.Player.ServerPosition : from), true) <
                Math.Pow((range <= 0 ? Orbwalking.GetRealAutoAttackRange(target) : range), 2) &&
                !Invulnerable.Check(target, damageType, ignoreShields);
     }
     catch (Exception ex)
     {
         Global.Logger.AddItem(new LogItem(ex));
     }
     return false;
 }
 private static bool CustomCheck(Item invulnerable, Obj_AI_Hero target, DamageType damageType)
 {
     try
     {
         if (invulnerable != null)
         {
             if (invulnerable.CustomCheck(target, damageType))
             {
                 return true;
             }
         }
     }
     catch (Exception ex)
     {
         Global.Logger.AddItem(new LogItem(ex));
     }
     return false;
 }
 public static Obj_AI_Hero GetTarget(float range,
     DamageType damageType = DamageType.True,
     bool ignoreShields = true,
     Vector3 from = default(Vector3),
     IEnumerable<Obj_AI_Hero> ignoredChampions = null)
 {
     try
     {
         var targets = GetTargets(range, damageType, ignoreShields, from, ignoredChampions);
         return targets != null ? targets.FirstOrDefault() : null;
     }
     catch (Exception ex)
     {
         Global.Logger.AddItem(new LogItem(ex));
     }
     return null;
 }
        public static IEnumerable<Obj_AI_Hero> GetTargets(float range,
            DamageType damageType = DamageType.True,
            bool ignoreShields = true,
            Vector3 from = default(Vector3),
            IEnumerable<Obj_AI_Hero> ignoredChampions = null)
        {
            try
            {
                Weights.Range = Math.Max(range, Weights.Range);

                var selectedTarget = Selected.GetTarget(range, damageType, ignoreShields, from);
                if (selectedTarget != null)
                {
                    return new List<Obj_AI_Hero> { selectedTarget };
                }

                range = Mode == TargetingMode.Weights && ForceFocus ? Weights.Range : range;

                var targets =
                    Humanizer.FilterTargets(Targets.Items)
                        .Where(
                            h => ignoredChampions == null || ignoredChampions.All(i => i.NetworkId != h.Hero.NetworkId))
                        .Where(h => IsValidTarget(h.Hero, range, damageType, ignoreShields, from))
                        .ToList();

                if (targets.Count > 0)
                {
                    var t = GetOrderedChampions(targets).ToList();
                    if (t.Count > 0)
                    {
                        if (Selected.Target != null && Focus && t.Count > 1)
                        {
                            t = t.OrderByDescending(x => x.Hero.NetworkId.Equals(Selected.Target.NetworkId)).ToList();
                        }
                        return t.Select(h => h.Hero).ToList();
                    }
                }
            }
            catch (Exception ex)
            {
                Global.Logger.AddItem(new LogItem(ex));
            }
            return new List<Obj_AI_Hero>();
        }
 public static bool IsInvulnerable(Obj_AI_Base target, DamageType damageType, bool ignoreShields = true)
 {
     try
     {
         var hero = target as Obj_AI_Hero;
         return hero != null && Invulnerable.Check(hero, damageType, ignoreShields);
     }
     catch (Exception ex)
     {
         Global.Logger.AddItem(new LogItem(ex));
     }
     return false;
 }
Exemple #18
0
 private LeagueSharp.Common.TargetSelector.DamageType ConvertDamageType(DamageType type)
 {
     switch (type)
     {
         case DamageType.Physical:
             return LeagueSharp.Common.TargetSelector.DamageType.Physical;
         case DamageType.Magical:
             return LeagueSharp.Common.TargetSelector.DamageType.Magical;
         case DamageType.True:
             return LeagueSharp.Common.TargetSelector.DamageType.True;
     }
     return LeagueSharp.Common.TargetSelector.DamageType.Physical;
 }
 public Item(string champion,
     string buffName,
     DamageType? damageType,
     bool isShield,
     Func<Obj_AI_Base, DamageType, bool> customCheck = null)
 {
     Champion = champion;
     BuffName = buffName;
     DamageType = damageType;
     IsShield = isShield;
     CustomCheck = customCheck;
 }
 public Item(string champion,
     string buffName,
     DamageType? damageType,
     bool isShield,
     int minHealthPercent = -1,
     Func<Obj_AI_Base, DamageType, bool> customCheck = null)
 {
     Champion = champion;
     BuffName = buffName;
     DamageType = damageType;
     IsShield = isShield;
     MinHealthPercent = minHealthPercent;
     CustomCheck = customCheck;
 }