static void Combo() { if (SpellManager.IgniteSlot != SpellSlot.Unknown && Player.GetSpell(SpellManager.IgniteSlot).IsReady()) { var enemy = TargetSelector.GetTarget(600, TargetSelector.DamageType.True); if (enemy != null) { if (DamageCalc.GetTotalDamage(enemy) > enemy.Health) { Player.Spellbook.CastSpell(SpellManager.IgniteSlot, enemy); } } } if (SpellManager.Q.IsReady() && Config.ComboQ) { var enemy = TargetSelector.GetTarget(SpellManager.Q.Range, TargetSelector.DamageType.Magical); if (enemy != null) { if (Orbwalking.InAutoAttackRange(enemy)) { SpellManager.CastSpell(SpellManager.Q, enemy); return; } } } if (SpellManager.W.IsReady() && Config.ComboW) { var enemy = TargetSelector.GetTarget(SpellManager.W.Range, TargetSelector.DamageType.Magical); if (enemy != null) { SpellManager.CastSpell(SpellManager.W, enemy, HitChance.VeryHigh); return; } } if (SpellManager.E.IsReady() && Config.ComboE) { var enemy = TargetSelector.GetTarget(SpellManager.E.Range + SpellManager.E2.Range, TargetSelector.DamageType.Magical); if (enemy != null) { CastE(enemy); } } if (SpellManager.R.IsReady() && Config.ComboR && !SpellManager.UltHasBeenCasted) { var enemy = TargetSelector.GetTarget(SpellManager.R.Range, TargetSelector.DamageType.Magical); if (enemy != null) { if (DamageCalc.GetTotalDamage(enemy) > enemy.Health) { Utility.DelayAction.Add(200, () => SpellManager.CastSpell(SpellManager.R, enemy)); } } var enemies = HeroManager.Enemies.Where(x => x.IsValidTarget(SpellManager.R.Range)); foreach (var t in enemies) { if (t.GetEnemiesInRange(SpellManager.R.Width).Count >= Config.ComboRHit) { SpellManager.CastSpell(SpellManager.R, t); } } } }
static void AutoFollow() { if (SpellManager.UltHasBeenCasted && Config.AutoFollow) { var t = HeroManager.Enemies.Where(x => x.IsValidTarget(SpellManager.R.Range) && DamageCalc.RemainingUltCanKill(x)).FirstOrDefault(); if (t != null) //Killable first { Utility.DelayAction.Add(100, () => SpellManager.CastSpell(SpellManager.R, t)); } else //Then target { t = TargetSelector.GetTarget(SpellManager.R.Range, TargetSelector.DamageType.Magical); if (t != null) { Utility.DelayAction.Add(100, () => SpellManager.CastSpell(SpellManager.R, t)); } } } }