/// <summary> /// The combo damage. /// </summary> /// <param name="target"> /// The target. /// </param> /// <returns> /// The <see cref="double"/>. /// </returns> public static double ComboDamage(Obj_AI_Base target) { double damage = 0; if ((CannonQ_CD_R == 0) && (CannonE_CD_R != 0)) { damage += CannonQDmg(target); } if ((CannonQ_CD_R == 0) && (CannonE_CD_R == 0)) { damage += CannonQEDmg(target); } if (HammerQ_CD_R == 0) { damage += Q1.GetDamage(target); } if (HammerW_CD_R == 0) { damage += W1.GetDamage(target); } if (HammerE_CD_R == 0) { damage += HammerEDmg(target); } return(damage); }
public static void KS() { var PacketCast = SkyLv_AurelionSol.Menu.Item("AurelionSol.PacketCastKS").GetValue <bool>(); var useIgniteKS = SkyLv_AurelionSol.Menu.Item("AurelionSol.UseIgniteKS").GetValue <bool>(); var useQKS = SkyLv_AurelionSol.Menu.Item("AurelionSol.UseQKS").GetValue <bool>(); var useWKS = SkyLv_AurelionSol.Menu.Item("AurelionSol.UseWKS").GetValue <bool>(); var useRKS = SkyLv_AurelionSol.Menu.Item("AurelionSol.UseRKS").GetValue <bool>(); foreach (var target in ObjectManager.Get <Obj_AI_Hero>().Where(target => !target.IsMe && target.Team != ObjectManager.Player.Team)) { if (!target.HasBuff("SionPassiveZombie") && !target.HasBuff("Udying Rage") && !target.HasBuff("JudicatorIntervention")) { if (useQKS && Q.IsReady() && target.Health < MathsLib.QDamage(target) && !target.IsDead) { var prediction = Q.GetPrediction(target); if (prediction.Hitchance >= HitChance.High) { Q.Cast(prediction.CastPosition, PacketCast); return; } } if (useWKS && W1.IsReady() && target.Health < W1.GetDamage(target) && !target.IsDead) { if (Player.Distance(target) > W1.Range - 20 && Player.Distance(target) < W1.Range + 20 && MathsLib.isWInLongRangeMode()) { W2.Cast(PacketCast); return; } if (Player.Distance(target) > W2.Range - 20 && Player.Distance(target) < W2.Range + 20 && !MathsLib.isWInLongRangeMode()) { W1.Cast(PacketCast); return; } return; } if (useRKS && R.IsReady() && target.Health < MathsLib.RDamage(target) && !target.IsDead) { var prediction = R.GetPrediction(target); if (prediction.Hitchance == HitChance.VeryHigh) { R.Cast(prediction.CastPosition, PacketCast); return; } return; } if (useIgniteKS && SkyLv_AurelionSol.IgniteSlot.IsReady() && target.Health < Player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite) && Player.Distance(target) <= 600 && !target.IsDead && target.IsValidTarget()) { Player.Spellbook.CastSpell(SkyLv_AurelionSol.IgniteSlot); return; } } } }
public static void KS() { var PacketCast = SkyLv_AurelionSol.Menu.Item("AurelionSol.PacketCastKS").GetValue <bool>(); var UseIgniteKS = SkyLv_AurelionSol.Menu.Item("AurelionSol.UseIgniteKS").GetValue <bool>(); var UseQKS = SkyLv_AurelionSol.Menu.Item("AurelionSol.UseQKS").GetValue <bool>(); var UseWKS = SkyLv_AurelionSol.Menu.Item("AurelionSol.UseWKS").GetValue <bool>(); var UseRKS = SkyLv_AurelionSol.Menu.Item("AurelionSol.UseRKS").GetValue <bool>(); foreach (var target in ObjectManager.Get <AIHeroClient>().Where(target => !target.IsMe && !target.IsDead && target.Team != ObjectManager.Player.Team && !target.IsZombie && (SkyLv_AurelionSol.Ignite.Slot != SpellSlot.Unknown || !target.HasBuff("summonerdot")))) { if (UseQKS && Player.Distance(target) <= Q.Range && Q.IsReady() && target.Health < CustomLib.QDamage(target) && Player.Mana >= Q.ManaCost) { Q.CastIfHitchanceEquals(target, HitChance.VeryHigh, PacketCast); } if (UseWKS && W1.IsReady() && target.Health < W1.GetDamage(target)) { if (Player.Distance(target) > W1.Range - 20 && Player.Distance(target) < W1.Range + 20 && CustomLib.isWInLongRangeMode()) { W2.Cast(PacketCast); } if (Player.Distance(target) > W2.Range - 20 && Player.Distance(target) < W2.Range + 20 && !CustomLib.isWInLongRangeMode()) { W1.Cast(PacketCast); } } if (UseRKS && Player.Distance(target) <= R.Range && R.IsReady() && target.Health < CustomLib.RDamage(target) && Player.Mana >= R.ManaCost) { R.CastIfHitchanceEquals(target, HitChance.VeryHigh, PacketCast); } if (UseIgniteKS && SkyLv_AurelionSol.Ignite.Slot != SpellSlot.Unknown && target.Health < Player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite) && Player.Distance(target) <= SkyLv_AurelionSol.Ignite.Range) { SkyLv_AurelionSol.Ignite.Cast(target, true); } } }
private static void doCombo() { var Target = SimpleTs.GetTarget(Q1.Range, SimpleTs.DamageType.Magical); var Marked = Target.HasBuff("nidaleepassivehunted", true); var Hunting = Player.HasBuff("nidaleepassivehunting", true); var Distance = Player.Distance(Target); var useItems = Config.Item("combo_Items").GetValue <bool>(); if (useItems) { if (Items.CanUseItem(Bork.Id)) { Bork.Cast(Target); } if (Items.CanUseItem(Cutlass.Id)) { Cutlass.Cast(Target); } } var comboUT = Config.Item("combo_UT").GetValue <bool>(); /* Human Form */ if (!IsCougar) { if (Marked && R.IsReady() && Config.Item("combo_R").GetValue <bool>() && Distance < 750f || (!Q1.IsReady() && !Q1.IsReady(2500) && Target.Distance(Player) < 300f) && (!Utility.UnderTurret(Target, true) || comboUT)) { R.CastOnUnit(Player, PacketCasting); } else if (Q1.IsReady() && Config.Item("combo_Q1").GetValue <bool>()) { Q1.Cast(Target, PacketCasting); } else if (W1.IsReady() && Config.Item("combo_W1").GetValue <bool>()) { W1.Cast(Target, PacketCasting); } else if (E1.IsReady() && Config.Item("combo_E1").GetValue <bool>() && (!R.IsReady() || !Marked && Distance < W2.Range + 75f)) { E1.CastOnUnit(Player, PacketCasting); } } /* Cougar Form */ else { if (!Marked && R.IsReady() && Config.Item("combo_R").GetValue <bool>() && Distance < W2.Range + 75f) { R.CastOnUnit(Player, PacketCasting); return; } // Deathfire grasp / Blackfire Torch var dmg = Q1.GetDamage(Target, 1) + W1.GetDamage(Target, 1) + E1.GetDamage(Target, 1); if (Target.IsValidTarget(DFG.Range) && Q1.IsReady() && W1.IsReady() && E1.IsReady() && dmg < Target.Health && (dmg * 1.2f) + (Target.MaxHealth * (DFG.Id == 3188 ? 0.20f : 0.15f)) > Target.Health && useItems) { DFG.Cast(Target); } if (Marked && Hunting && W2.IsReady() && Config.Item("combo_W2").GetValue <bool>() && Distance < 750f && Distance > 200f && (!Utility .UnderTurret(Target, true) || comboUT)) { Player.Spellbook.CastSpell(SpellSlot.W, Target); } else if (E2.IsReady() && Distance < 300f) { var Pred = Prediction.GetPrediction(Target, 0.5f); E2.Cast(Pred.CastPosition, PacketCasting); } } }