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; }
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; }
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); }
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; }
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); }
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; }
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; }