public static void BurstCombo() { var eTarget = SimpleTs.GetTarget(R.Range, SimpleTs.DamageType.Magical); if (eTarget == null) { return; } var useQ = Config.Item("UseQCombo").GetValue <bool>(); var useW = Config.Item("UseWCombo").GetValue <bool>(); var useE = Config.Item("UseECombo").GetValue <bool>(); var useR = Config.Item("UseRCombo").GetValue <bool>(); var useIgnite = Config.Item("UseIgnite").GetValue <bool>(); var packetCast = Config.Item("PacketCast").GetValue <bool>(); double totalComboDamage = 0; totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.R); totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.Q); totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.E); totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.E); totalComboDamage += IgniteManager.IsReady() ? Player.GetSummonerSpellDamage(eTarget, Damage.SummonerSpell.Ignite) : 0; double totalManaCost = 0; totalManaCost += Player.Spellbook.GetSpell(SpellSlot.R).ManaCost; totalManaCost += Player.Spellbook.GetSpell(SpellSlot.Q).ManaCost; if (mustDebug) { Game.PrintChat("BurstCombo Damage {0}/{1} {2}", Convert.ToInt32(totalComboDamage), Convert.ToInt32(eTarget.Health), eTarget.Health < totalComboDamage ? "BustKill" : "Harras"); Game.PrintChat("BurstCombo Mana {0}/{1} {2}", Convert.ToInt32(totalManaCost), Convert.ToInt32(eTarget.Mana), Player.Mana >= totalManaCost ? "Mana OK" : "No Mana"); } if (Q.IsReady(2000) && R.IsReady() && useR && eTarget.IsValidTarget(R.Range)) { if (eTarget.Health < totalComboDamage && Player.Mana >= totalManaCost) { if (totalComboDamage / 2 < eTarget.Health) // Anti Overkill { R.Cast(eTarget.ServerPosition, packetCast); } dtBurstComboStart = DateTime.Now; } } if (dtBurstComboStart.AddSeconds(5) > DateTime.Now) { IgniteManager.Cast(eTarget); } }
public static void BurstCombo() { var eTarget = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical); if (eTarget == null) { return; } var useQ = Config.Item("UseQCombo").GetValue <bool>(); var useW = Config.Item("UseWCombo").GetValue <bool>(); var useE = Config.Item("UseECombo").GetValue <bool>(); var useR = Config.Item("UseRCombo").GetValue <bool>(); var useIgnite = Config.Item("UseIgnite").GetValue <bool>(); var packetCast = Config.Item("PacketCast").GetValue <bool>(); var UseRMinEnemies = Config.Item("UseRMinEnemies").GetValue <Slider>().Value; double totalComboDamage = 0; totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.Q); totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.W); totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.E); totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.R); totalComboDamage += igniteManager.IsReady() ? Player.GetSummonerSpellDamage(eTarget, Damage.SummonerSpell.Ignite) : 0; double totalManaCost = 0; totalManaCost += Player.Spellbook.GetSpell(SpellSlot.R).ManaCost; totalManaCost += Player.Spellbook.GetSpell(SpellSlot.W).ManaCost; if (mustDebug) { Game.PrintChat("BurstCombo Damage {0}/{1} {2}", Convert.ToInt32(totalComboDamage), Convert.ToInt32(eTarget.Health), eTarget.Health < totalComboDamage ? "BustKill" : "Harras"); Game.PrintChat("BurstCombo Mana {0}/{1} {2}", Convert.ToInt32(totalManaCost), Convert.ToInt32(eTarget.Mana), Player.Mana >= totalManaCost ? "Mana OK" : "No Mana"); } // Passive UP +1 enemy Combo if (useR && R.IsReady()) { var query = DevHelper.GetEnemyList() .Where(x => x.IsValidTarget(R.Range) && HasPassiveBuff(x) && Player.GetSpellDamage(x, SpellSlot.R) > x.Health).OrderBy(x => x.Health); if (query.Any()) { R.CastOnUnit(query.First(), packetCast); } } // Combo Damage if (R.IsReady() && useR && eTarget.IsValidTarget(R.Range)) { if (eTarget.Health < totalComboDamage * 0.9 && Player.Mana >= totalManaCost) { if (totalComboDamage * 0.3 < eTarget.Health) // Anti OverKill { if (mustDebug) { Game.PrintChat("BurstCombo R"); } R.CastOnUnit(eTarget, packetCast); } else { if (mustDebug) { Game.PrintChat("BurstCombo OverKill"); } } dtBurstComboStart = DateTime.Now; } } // R min enemies if (R.IsReady() && useR && eTarget.IsValidTarget(R.Range)) { var enemiesInRange = DevHelper.GetEnemyList().Where(x => x.Distance(eTarget) < 400); if (enemiesInRange.Count() >= UseRMinEnemies) { R.CastOnUnit(eTarget, packetCast); } } if (dtBurstComboStart.AddSeconds(5) > DateTime.Now && igniteManager.IsReady()) { if (mustDebug) { Game.PrintChat("Ignite"); } igniteManager.Cast(eTarget); } }