internal static void Init() { var target = TargetSelector.GetTarget(1300, TargetSelector.DamageType.Magical); if (target.Check(1300)) { if (Menu.GetBool("ComboIgnite") && Ignite != SpellSlot.Unknown && Ignite.IsReady() && target.IsValidTarget(600) && (target.Health < DamageCalculate.GetComboDamage(target) || target.Health < Me.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite))) { Me.Spellbook.CastSpell(Ignite, target); } if (Menu.GetBool("ComboE") && E.IsReady()) { SpellManager.CastE(target); } if (Menu.GetBool("ComboQ") && Q.IsReady() && target.IsValidTarget(Q.Range)) { Q.CastOnUnit(target, true); } if (Menu.GetBool("ComboQGap") && Q.IsReady() && Me.Level >= Menu.GetSlider("ComboQGapLevel") && Me.Buffs.Any( x => x.Name == "viktorqaug" || x.Name == "viktorqwaug" || x.Name == "viktorqweaug" || x.Name == "viktorqeauh") && target.DistanceToPlayer() > Q.Range + 80 && target.DistanceToPlayer() <= Q.Range + 300) { var qMinion = MinionManager.GetMinions(Me.Position, Q.Range, MinionTypes.All, MinionTeam.NotAlly) .FirstOrDefault(x => Q.CanCast(x)); if (qMinion != null && qMinion.IsValidTarget(Q.Range)) { Q.CastOnUnit(qMinion, true); } } if (Menu.GetBool("ComboW") && W.IsReady() && target.IsValidTarget(W.Range + W.Width)) { if (Menu.GetBool("ComboWLogic") && Me.CountEnemiesInRange(W.Range + W.Width) <= 2) { var wPred = W.GetPrediction(target); if (wPred.CastPosition.Distance(target.Position) > 100 && wPred.Hitchance >= HitChance.VeryHigh) { if (Me.Position.Distance(target.ServerPosition) > Me.Position.Distance(target.Position)) { if (target.Position.Distance(Me.ServerPosition) < target.Position.Distance(Me.Position)) { if (wPred.Hitchance >= HitChance.VeryHigh) { W.Cast(W.GetPrediction(target).CastPosition, true); } } } else { if (target.Position.Distance(Me.ServerPosition) > target.Position.Distance(Me.Position)) { if (wPred.Hitchance >= HitChance.VeryHigh) { W.Cast(W.GetPrediction(target).CastPosition, true); } } } } } if (Menu.GetBool("ComboWTeam") && Me.CountEnemiesInRange(W.Range + W.Width) >= Menu.GetSlider("ComboWTeamHit")) { W.CastIfWillHit(target, Menu.GetSlider("ComboWTeamHit"), true); } } if (Menu.GetBool("ComboR") && R.IsReady() && target.IsValidTarget(R.Range)) { if (Menu.GetBool("ComboRalways")) { R.Cast(target.Position, true); } if (Menu.GetBool("ComboRKill") && ((target.Health < DamageCalculate.GetComboDamage(target) && target.IsValidTarget(R.Range - 200)) || target.Health < R.GetDamage(target))) { R.Cast(target.Position, true); } if (Menu.GetBool("ComboRTeam") && Me.CountEnemiesInRange(R.Range + R.Width) >= Menu.GetSlider("ComboRTeamHit")) { R.CastIfWillHit(target, Menu.GetSlider("ComboRTeamHit"), true); } } } }
internal static void Init() { AIHeroClient target = null; target = TargetSelector.GetSelectedTarget() ?? TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical); if (target.Check(Q.Range)) { if (Menu.GetBool("ComboDot") && Ignite != SpellSlot.Unknown && Ignite.IsReady() && target.IsValidTarget(600) && (target.Health < DamageCalculate.GetComboDamage(target) || target.Health < Me.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite))) { Me.Spellbook.CastSpell(Ignite, target); } if (Me.Level < 6) { if (Menu.GetBool("ComboQ") && Q.IsReady() && target.IsValidTarget(Q.Range)) { var qPred = Q.GetPrediction(target, true, -1, new[] { CollisionableObjects.YasuoWall }); if (qPred.Hitchance >= HitChance.VeryHigh || qPred.Hitchance == HitChance.Immobile) { Q.Cast(qPred.CastPosition, true); } } if (Menu.GetBool("ComboW") && W.IsReady() && target.IsValidTarget(W.Range)) { W.Cast(true); } if (Menu.GetBool("ComboE") && E.IsReady() && target.DistanceToPlayer() > Orbwalking.GetRealAutoAttackRange(Me) + 50 && target.IsValidTarget(E.Range - 30) && !target.HasBuffOfType(BuffType.SpellShield)) { E.Cast(true); } } else { switch (Menu.GetList("ComboMode")) { case 0: if (Menu.GetBool("ComboR") && R.IsReady() && Menu.GetBool("ComboQ") && Q.IsReady() && target.IsValidTarget(R.Range) && target.DistanceToPlayer() >= 600) { Q.Cast(target, true); R.Cast(target, true); } if (Menu.GetBool("ComboQ") && Q.IsReady() && target.IsValidTarget(Q.Range)) { var qPred = Q.GetPrediction(target, true, -1, new[] { CollisionableObjects.YasuoWall }); if (qPred.Hitchance >= HitChance.VeryHigh || qPred.Hitchance == HitChance.Immobile) { Q.Cast(qPred.CastPosition, true); } } if (Menu.GetBool("ComboR") && R.IsReady() && target.IsValidTarget(R.Range)) { LogicCast(target); } if (Menu.GetBool("ComboW") && W.IsReady() && target.IsValidTarget(W.Range)) { W.Cast(true); } if (Menu.GetBool("ComboE") && E.IsReady() && target.DistanceToPlayer() > Orbwalking.GetRealAutoAttackRange(Me) + 50 && target.IsValidTarget(E.Range - 30) && !target.HasBuffOfType(BuffType.SpellShield)) { E.Cast(true); } break; case 1: if (target.IsValidTarget(R.Range)) { if (Menu.GetBool("ComboR") && R.IsReady() && Menu.GetBool("ComboQ") && Q.IsReady() && target.IsValidTarget(R.Range) && target.DistanceToPlayer() >= Menu.GetSlider("MisayaRange")) { R.Cast(target, true); Q.Cast(target, true); } if (Menu.GetBool("ComboQ") && Q.IsReady() && target.IsValidTarget(Q.Range)) { var qPred = Q.GetPrediction(target, true, -1, new[] { CollisionableObjects.YasuoWall }); if (qPred.Hitchance >= HitChance.VeryHigh || qPred.Hitchance == HitChance.Immobile) { Q.Cast(qPred.CastPosition, true); } } if (Menu.GetBool("ComboR") && R.IsReady() && target.IsValidTarget(R.Range)) { LogicCast(target); } if (Menu.GetBool("ComboW") && W.IsReady() && target.IsValidTarget(W.Range)) { W.Cast(true); } if (Menu.GetBool("ComboE") && E.IsReady() && target.DistanceToPlayer() > Orbwalking.GetRealAutoAttackRange(Me) + 50 && target.IsValidTarget(E.Range - 30) && !target.HasBuffOfType(BuffType.SpellShield)) { E.Cast(true); } } break; } } } }