private static void Interrupter2_OnInterruptableTarget(Obj_AI_Hero sender, Interrupter2.InterruptableTargetEventArgs args) { if (Config.GetBool("打断Q") && !sender.HasSpellShield() && Q.CanCast(sender)) { Q.Cast(sender); } if (Config.GetBool("R打断") && args.MovementInterrupts && !sender.HasSpellShield() && R.CanCast(sender)) { R.Cast(sender); } }
public override void Execute(Obj_AI_Hero target) { if ((Provider.IsMarked(target) || target.IsPoisoned() && target.GetPoisonedTime() > Delay || (IsKillable(target) && (!OnlyKillNonPIn1V1 || ObjectManager.Player.CountEnemiesInRange(1500) == 1))) && !target.HasSpellShield() && !target.IsBehindWindWall()) { Cast(target); } }
public override void Execute(Obj_AI_Hero target) { var distance = target.Distance(ObjectManager.Player); //Todo: make him use fireminions even in range, just for showoff and potential AOE. Check if hes on fire too though if (distance < 950 && distance > 650 && UseMinions) { var fireMinion = MinionManager.GetMinions(650, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.None).Where(minion => minion.HasBuff("brandablaze") && minion.Distance(target) < 300).MinOrDefault(minion => minion.Distance(target)); if (fireMinion != null) { if (Cast(fireMinion) == CastStates.SuccessfullyCasted && !target.HasSpellShield()) Provider.SetMarked(target); } } if (distance < 650) { if (Cast(target) == CastStates.SuccessfullyCasted && !target.HasSpellShield()) Provider.SetMarked(target); } }
public override void Execute(Obj_AI_Hero target) { var distance = target.Distance(ObjectManager.Player); //Todo: make him use fireminions even in range, just for showoff and potential AOE. Check if hes on fire too though if (distance < 950 && distance > 650 && UseMinions) { var fireMinion = MinionManager.GetMinions(650, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.None).Where(minion => minion.HasBuff("brandablaze") && minion.Distance(target) < 300).MinOrDefault(minion => minion.Distance(target)); if (fireMinion != null) { if (Cast(fireMinion) == CastStates.SuccessfullyCasted && !target.HasSpellShield()) { Provider.SetMarked(target); } } } if (distance < 650) { if (Cast(target) == CastStates.SuccessfullyCasted && !target.HasSpellShield()) { Provider.SetMarked(target); } } }
public static bool IsKillableTarget(this Obj_AI_Hero target, SpellSlot spell) { var totalHealth = target.TotalShieldHealth(); if (target.HasUndyingBuff() || target.HasSpellShield() || target.IsInvulnerable) { return(false); } if (target.ChampionName == "Blitzcrank" && !target.HasBuff("BlitzcrankManaBarrierCD") && !target.HasBuff("ManaBarrier")) { totalHealth += target.Mana / 2; } return(ObjectManager.Player.GetSpellDamage(target, spell) >= totalHealth); }
public static bool IsAttackableTarget(this Obj_AI_Hero target) { return(!target.HasUndyingBuff() && !target.HasSpellShield() && !target.IsInvulnerable); }