public static double GetBurstComboDamage(Obj_AI_Hero eTarget) { double totalComboDamage = 0; totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.R); totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.Q); totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.W); if (itemManager.IsReadyDFG()) { totalComboDamage = totalComboDamage * 1.2; } if (itemManager.IsReadyDFG()) { totalComboDamage += Player.GetItemDamage(eTarget, Damage.DamageItems.Dfg); } if (summonerSpellManager.IsReadyIgnite()) { totalComboDamage += Player.GetSummonerSpellDamage(eTarget, Damage.SummonerSpell.Ignite); } return(totalComboDamage); }
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>(); double totalComboDamage = 0; if (R.IsReady()) { totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.R); totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.Q); totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.E); } totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.Q); totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.E); totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.E); totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.E); totalComboDamage += summonerSpellManager.GetIgniteDamage(eTarget); double totalManaCost = 0; if (R.IsReady()) { 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 (eTarget.Health < totalComboDamage && Player.Mana >= totalManaCost && !eTarget.IsInvulnerable) { if (R.IsReady() && useR && eTarget.IsValidTarget(R.Range) && eTarget.IsFacing(Player)) { if (totalComboDamage * 0.3 < eTarget.Health) // Anti R OverKill { if (mustDebug) { Game.PrintChat("BurstCombo R"); } if (R.Cast(eTarget, packetCast, true) == Spell.CastStates.SuccessfullyCasted) { dtBurstComboStart = Environment.TickCount; } } else { if (mustDebug) { Game.PrintChat("BurstCombo OverKill"); } dtBurstComboStart = Environment.TickCount; } } } if (dtBurstComboStart + 5000 > Environment.TickCount && summonerSpellManager.IsReadyIgnite() && eTarget.IsValidTarget(600)) { if (mustDebug) { Game.PrintChat("Ignite"); } summonerSpellManager.CastIgnite(eTarget); } }
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; if (R.IsReady()) { totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.R); totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.Q); totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.E); } totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.Q); totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.E); totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.E); totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.E); totalComboDamage += summonerSpellManager.GetIgniteDamage(eTarget); double totalManaCost = 0; if (R.IsReady()) { 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 (eTarget.Health < totalComboDamage && Player.Mana >= totalManaCost) { if (R.IsReady() && useR && eTarget.IsValidTarget(R.Range) && eTarget.IsFacing(Player)) { if (totalComboDamage * 0.3 < eTarget.Health) // Anti R OverKill { if (mustDebug) { Game.PrintChat("BurstCombo R"); } R.Cast(eTarget.ServerPosition, packetCast); dtBurstComboStart = DateTime.Now; } else { if (mustDebug) { Game.PrintChat("BurstCombo OverKill"); } dtBurstComboStart = DateTime.Now; } } } if (dtBurstComboStart.AddSeconds(5) > DateTime.Now && summonerSpellManager.IsReadyIgnite() && eTarget.IsValidTarget(600)) { if (mustDebug) { Game.PrintChat("Ignite"); } summonerSpellManager.CastIgnite(eTarget); } }