private static void KillSteal() { if (KillStealOption.UseQ && Q.IsReady() && Me.Mana > Q.ManaCost + E.ManaCost) { foreach (var target in ObjectManager.Heroes.Enemies .Where( x => x.IsValidTarget(QExtend.Range) && !x.IsUnKillable() && x.Health < MyDamageCalculate.GetQDamage(x))) { QLogic(target); return; } } if (KillStealOption.UseW && W.IsReady() && Me.Mana > W.ManaCost + Q.ManaCost + E.ManaCost) { foreach (var target in ObjectManager.Heroes.Enemies .Where( x => x.IsValidTarget(W.Range) && !x.IsUnKillable() && x.Health < MyDamageCalculate.GetWDamage(x)) ) { if (target.IsValidTarget(W.Range)) { var wPred = W.GetPrediction(target); if (wPred.Hitchance >= HitChance.VeryHigh) { W.Cast(wPred.CastPosition, true); return; } } } } }
private static void Combo() { if (ComboOption.GetBool("ComboEDash") && E.IsReady()) { var target = TargetSelector.GetTarget(Me.AttackRange + Me.BoundingRadius, TargetSelector.DamageType.Physical); if (target.IsValidTarget(Me.AttackRange + Me.BoundingRadius + E.Range) && !target.IsValidTarget(Me.AttackRange + Me.BoundingRadius)) { ELogic(target, 0); } } if (ComboOption.GetBool("ComboQExtend") && QExtend.IsReady() && !Me.IsDashing() && !havePassive && !havePassiveBuff) { var target = TargetSelector.GetTarget(QExtend.Range, TargetSelector.DamageType.Physical); if (target.IsValidTarget(QExtend.Range) && !target.IsValidTarget(Q.Range)) { QLogic(target); } } if (ComboOption.UseR && R.IsReady()) { var target = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Physical); if (target.IsValidTarget(R.Range) && !target.IsUnKillable() && !Me.IsUnderEnemyTurret() && !target.IsValidTarget(Me.AttackRange + Me.BoundingRadius)) { if ( ObjectManager.Heroes.Enemies.Any( x => x.NetworkId != target.NetworkId && x.Distance(target) <= 550)) { return; } var rDMG = MyDamageCalculate.GetRDamage(target); if (target.Health + target.HPRegenRate * 3 < rDMG) { if (target.DistanceToPlayer() <= 800 && target.Health < rDMG * 0.6) { R.Cast(target, true); } else if (target.DistanceToPlayer() <= 1000 && target.Health < rDMG * 0.4) { R.Cast(target, true); } } } } }
private static void Combo() { var target = TargetSelector.GetTarget(QExtend.Range, TargetSelector.DamageType.Physical); if (target.IsValidTarget(QExtend.Range)) { if (ComboOption.UseR && R.IsReady() && target.IsValidTarget(R.Range)) { if (MiscOption.GetBool("RSafe") && !Me.UnderTurret(true)) { foreach ( var rTarget in ObjectManager.Heroes.Enemies.Where( x => x.IsValidTarget(R.Range) && !MiscOption.GetBool("Dontr" + target.ChampionName.ToLower())) .OrderByDescending(x => E.IsReady() ? E.GetDamage(x) : 0 + Q.GetDamage(x) * 2)) { if (rTarget.CountEnemiesInRange(R.Range) <= MiscOption.GetSlider("RSwap")) { if (MiscOption.GetBool("RAlly") && Me.UnderAllyTurret() && rTarget.DistanceToPlayer() <= 350) { R.CastOnUnit(rTarget); } if (MiscOption.GetBool("RKill") && target.Health < MyDamageCalculate.GetComboDamage(target)) { R.CastOnUnit(rTarget); } } } } } if (ComboOption.UseE && E.IsReady() && target.IsValidTarget(E.Range) && (Q.IsReady() || target.Health < E.GetDamage(target))) { SpellManager.PredCast(E, target, true); } if (ComboOption.UseW && W.IsReady()) { if (target.DistanceToPlayer() <= Me.AttackRange + Me.BoundingRadius) { if (ComboOption.GetBool("ComboWAlways")) { W.Cast(); } if (Me.HealthPercent <= ComboOption.GetSlider("ComboWLowHp")) { W.Cast(); } } if (ComboOption.GetBool("ComboWBuff") && HaveEBuff(target) && Q.IsReady()) { W.Cast(); } } if (ComboOption.UseQ && Q.IsReady() && target.IsValidTarget(QExtend.Range)) { if (!HaveEBuff(target) && target.IsValidTarget(Q.Range)) { if (ComboOption.GetBool("ComboFirstE") && E.IsReady() && ComboOption.UseE && target.IsValidTarget(E.Range)) { SpellManager.PredCast(E, target, true); } else { SpellManager.PredCast(Q, target); } } else if (target.IsValidTarget(QExtend.Range) && HaveEBuff(target)) { QExtend.Cast(target); } } } }