private static void Combo() { bool qcoll = false; var target = Variables.TargetSelector.GetTargetNoCollision(QShort); if (target == null) { target = Variables.TargetSelector.GetTarget(E.Range, DamageType.Magical); qcoll = true; } if (target != null) { if (Q.IsReady() && (!qcoll || ObjectManager.Player.HasBuff("ryzeqiconfullcharge") || (ObjectManager.Player.HasBuff("ryzeqiconfullcharge") && (ObjectManager.Player.GetBuff("ryzeqiconfullcharge").EndTime - Game.Time) * 1000f < 500))) { if (W.IsReady()) { if ((target.IsMelee && ObjectManager.Player.Distance(target) < 400) || (ObjectManager.Player.HasBuff("ryzeqiconhalfcharge") && ObjectManager.Player.HealthPercent < 20)) { W.Cast(target); } } if (ObjectManager.Player.HasBuff("ryzeqiconfullcharge")) { Q.Cast(target.ServerPosition); } else { Q.Cast(target); } return; } if (W.IsReady()) { if (target.IsValidTarget(W.Range)) { W.Cast(target); return; } } if (E.IsReady()) { if (target.IsValidTarget(E.Range)) { E.Cast(target); return; } } } }
public void CheckForImmobiles() { var heros = ObjectManager.Get <AIHeroClient>().Where(h => h.IsEnemy && h.Distance(GameObjects.Player) <= SpellQ.Range); foreach (var objAiHero in heros) { if ((objAiHero.HasBuffOfType(BuffType.Charm) || objAiHero.HasBuffOfType(BuffType.Stun) || objAiHero.HasBuffOfType(BuffType.Knockup) || objAiHero.HasBuffOfType(BuffType.Snare)) && Extensions.IsValidTarget(objAiHero, SpellQ.Range)) { Console.WriteLine("Cast on immo"); var pred = SpellQ.GetPrediction(objAiHero).CastPosition; SpellQ.Cast(pred); } } }
private static void Farm() { if (ObjectManager.Player.ManaPercent < MinQLaneclearManaPercent) { return; } if ( ObjectManager.Get <Obj_AI_Minion>() .Any(m => m.IsHPBarRendered && m.IsEnemy && m.Distance(ObjectManager.Player) < MyRange)) { if (TotalAxesCount < 2) { Q.Cast(); } } }
private static void QLastHit(Obj_AI_Base minion) { bool castQ = ((WaveClear["waveUseQLH"].GetValue <MenuBool>()) || WaveClear["waveUseQ"].GetValue <MenuBool>() && WaveClear["waveActive"].GetValue <MenuBool>()); if (castQ) { var distance = Extensions.Distance(player, minion); var t = 250 + (int)distance / 2; var predHealth = Health.GetPrediction(minion, t, 0); // Console.WriteLine(" Distance: " + distance + " timer : " + t + " health: " + predHealth); if (predHealth > 0 && Q.CanKill(minion)) { Q.Cast(minion); } } }
private static void Combo() { var target = TargetSelector.GetTarget(Q.Range, DamageType.Physical); var Ghost = ObjectManager.Get <Obj_AI_Minion>().Where(x => x.IsEnemy && x.IsHPBarRendered && x.LSIsValidTarget(Q.Range)).FirstOrDefault(x => x.HasBuff("illaoiespirit")); if (target != null && !target.IsDead && !target.IsZombie && target.IsHPBarRendered) { if (comboMenu["Q"].Cast <CheckBox>().CurrentValue&& Q.IsReady() && target.IsValidTarget(Q.Range) && Q.CanCast(target) && !(W.IsReady() && target.IsValidTarget(W.Range))) { Q.Cast(target); } if (comboMenu["E"].Cast <CheckBox>().CurrentValue&& E.IsReady() && !InAutoAttackRange(target) && target.IsValidTarget(E.Range)) { E.Cast(target); } if (comboMenu["R"].Cast <CheckBox>().CurrentValue&& R.IsReady() && target.LSIsValidTarget(R.Range)) { if (comboMenu["RSolo"].Cast <CheckBox>().CurrentValue&& target.Health <= GetDamage(target) + Me.GetAutoAttackDamage(target) * 3 && Me.CountEnemyHeroesInRange(R.Range) == 1) { R.Cast(target); } if (Me.CountEnemyHeroesInRange(R.Range - 50) >= comboMenu["RCount"].Cast <Slider>().CurrentValue) { R.Cast(); } } if (comboMenu["Ignite"].Cast <CheckBox>().CurrentValue&& Ignite != SpellSlot.Unknown && Ignite.IsReady() && target.LSIsValidTarget(600) && target.HealthPercent < 20) { Me.Spellbook.CastSpell(Ignite, target); } } else if (target == null && Ghost != null) { if (Ghost != null && Q.IsReady() && comboMenu["QGhost"].Cast <CheckBox>().CurrentValue&& comboMenu["Q"].Cast <CheckBox>().CurrentValue) { Q.Cast(Ghost); } } }
public void QLogic() { if (!Q.IsReady() || (ObjectManager.Player.Mana < 3 * GetWManaCost() && CanW())) { return; } var shouldntKS = EntityManager.Heroes.Allies.Any( h => h.Position.Distance(ObjectManager.Player.Position) < 600 && !h.IsDead && !h.IsMe); foreach (var hero in ValidTargets.Where(h => h.LSIsValidTarget(925))) { if (shouldntKS && Q.GetDamage(hero) > hero.Health) { continue; } var pred = Prediction.GetPrediction(hero, Q); if (((int)pred.Item1 > (int)HitChance.Medium || hero.HasBuff("SorakaEPacify")) && pred.Item2.Distance(ObjectManager.Player.ServerPosition) < Q.Range) { Q.Cast(pred.Item2); } } }
public Yasuo() { Q = new LeagueSharp.SDK.Spell(SpellSlot.Q, 505).SetSkillshot(QDelay, 20, float.MaxValue, false, SkillshotType.SkillshotLine); Q2 = new LeagueSharp.SDK.Spell(Q.Slot, 1100).SetSkillshot(Q2Delay, 90, 1200, true, Q.Type); Q3 = new LeagueSharp.SDK.Spell(Q.Slot, 250).SetTargetted(0.005f, float.MaxValue); W = new LeagueSharp.SDK.Spell(SpellSlot.W, 400); E = new LeagueSharp.SDK.Spell(SpellSlot.E, 475).SetTargetted(0, 1050); E2 = new LeagueSharp.SDK.Spell(E.Slot).SetTargetted(E.Delay + Q3.Delay, E.Speed); R = new LeagueSharp.SDK.Spell(SpellSlot.R, 1200); Q.DamageType = Q2.DamageType = R.DamageType = DamageType.Physical; E.DamageType = DamageType.Magical; Q.MinHitChance = Q2.MinHitChance = HitChance.VeryHigh; E.CastCondition += () => !posDash.IsValid(); if (YasuoPro.YasuoMenu.ComboM != null) { if (EntityManager.Heroes.Enemies.Any()) { Evade.Init(); } Evade.Evading += Evading; Evade.TryEvading += TryEvading; return; } comboMenu = config.AddSubMenu("Combo", "Combo"); comboMenu.AddGroupLabel("Q: Always On"); comboMenu.AddGroupLabel("E Gap Settings"); comboMenu.Add("EGap", new CheckBox("Use E")); comboMenu.Add("EMode", new ComboBox("Follow Mode", 0, "Enemy", "Mouse")); comboMenu.Add("ETower", new CheckBox("Under Tower", false)); comboMenu.Add("EStackQ", new CheckBox("Stack Q While Gap", false)); comboMenu.AddGroupLabel("R Settings"); comboMenu.Add("R", new KeyBind("Use R", false, KeyBind.BindTypes.PressToggle, 'X')); comboMenu.Add("RDelay", new CheckBox("Delay Cast")); comboMenu.Add("RHpU", new Slider("If Enemies Hp < (%)", 60)); comboMenu.Add("RCountA", new Slider("Or Count >=", 2, 1, 5)); hybridMenu = config.AddSubMenu("Hybrid", "Hybrid"); hybridMenu.AddGroupLabel("Q: Always On"); hybridMenu.Add("Q3", new CheckBox("Also Q3")); hybridMenu.Add("QLastHit", new CheckBox("Last Hit (Q1/2)")); hybridMenu.AddGroupLabel("Auto Q Settings"); hybridMenu.Add("AutoQ", new KeyBind("KeyBind", false, KeyBind.BindTypes.PressToggle, 'T')); hybridMenu.Add("AutoQ3", new CheckBox("Also Q3", false)); lcMenu = config.AddSubMenu("LaneClear", "Lane Clear"); lcMenu.AddGroupLabel("Q Settings"); lcMenu.Add("Q", new CheckBox("Use Q")); lcMenu.Add("Q3", new CheckBox("Also Q3", false)); lcMenu.AddGroupLabel("E Settings"); lcMenu.Add("E", new CheckBox("Use E")); lcMenu.Add("ELastHit", new CheckBox("Last Hit Only", false)); lcMenu.Add("ETower", new CheckBox("Under Tower", false)); lhMenu = config.AddSubMenu("LastHit", "Last Hit"); lhMenu.AddGroupLabel("Q Settings"); lhMenu.Add("Q", new CheckBox("Use Q")); lhMenu.Add("Q3", new CheckBox("Also Q3", false)); lhMenu.AddGroupLabel("E Settings"); lhMenu.Add("E", new CheckBox("Use E")); lhMenu.Add("ETower", new CheckBox("Under Tower", false)); ksMenu = config.AddSubMenu("KillSteal", "Kill Steal"); ksMenu.Add("Q", new CheckBox("Use Q")); ksMenu.Add("E", new CheckBox("Use E")); ksMenu.Add("R", new CheckBox("Use R")); foreach (var enemy in ObjectManager.Get <AIHeroClient>().Where(o => o.IsEnemy)) { ksMenu.Add("RCast" + enemy.NetworkId, new CheckBox("Cast On " + enemy.ChampionName, false)); } fleeMenu = config.AddSubMenu("Flee", "Flee"); fleeMenu.Add("E", new KeyBind("Use E", false, KeyBind.BindTypes.HoldActive, 'C')); fleeMenu.Add("Q", new CheckBox("Stack Q While Dash")); if (EntityManager.Heroes.Enemies.Any()) { Evade.Init(); } drawMenu = config.AddSubMenu("Draw", "Draw"); drawMenu.Add("Q", new CheckBox("Q Range", false)); drawMenu.Add("E", new CheckBox("E Range", false)); drawMenu.Add("R", new CheckBox("R Range", false)); drawMenu.Add("UseR", new CheckBox("R In Combo Status")); drawMenu.Add("StackQ", new CheckBox("Auto Stack Q Status")); miscMenu = config.AddSubMenu("Misc", "Misc"); miscMenu.Add("StackQ", new KeyBind("Auto Stack Q", false, KeyBind.BindTypes.PressToggle, 'Z')); Evade.Evading += Evading; Evade.TryEvading += TryEvading; Game.OnUpdate += OnUpdate; Drawing.OnDraw += OnDraw; Game.OnUpdate += args => { if (Player.IsDead) { if (isDash) { isDash = false; posDash = new Vector2(); } return; } if (isDash && !Player.IsDashing()) { isDash = false; DelayAction.Add(50, () => posDash = new Vector2()); } Q.Delay = GetQDelay(false); Q2.Delay = GetQDelay(true); E.Speed = E2.Speed = 1045 + (Player.MoveSpeed - 345); }; Orbwalker.OnPostAttack += (sender, args) => { if (!Q.IsReady() || haveQ3 || (!Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) || !Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear)) || Orbwalker.LastTarget is AIHeroClient || Orbwalker.LastTarget is Obj_AI_Minion) { return; } if (Q.GetTarget(50) != null || Common.ListMinions().Count(i => i.IsValidTarget(Q.Range + 50)) > 0) { return; } if ((Items.HasItem((int)ItemId.Sheen) && Items.CanUseItem((int)ItemId.Sheen)) || (Items.HasItem((int)ItemId.Trinity_Force) && Items.CanUseItem((int)ItemId.Trinity_Force))) { Q.Cast(Game.CursorPos); } }; Events.OnDash += (sender, args) => { if (!args.Unit.IsMe) { return; } isDash = true; posDash = args.EndPos; }; Obj_AI_Base.OnBuffGain += (sender, args) => { if (!sender.IsMe) { return; } switch (args.Buff.DisplayName) { case "YasuoQ3W": haveQ3 = true; break; case "YasuoDashScalar": cDash = 1; break; } }; Obj_AI_Base.OnBuffUpdate += (sender, args) => { if (!sender.IsMe || !args.Buff.Caster.IsMe || args.Buff.DisplayName != "YasuoDashScalar") { return; } cDash = 2; }; Obj_AI_Base.OnBuffLose += (sender, args) => { if (!sender.IsMe) { return; } switch (args.Buff.DisplayName) { case "YasuoQ3W": haveQ3 = false; break; case "YasuoDashScalar": cDash = 0; break; } }; Obj_AI_Base.OnSpellCast += (sender, args) => { if (!sender.IsMe || !args.SData.Name.StartsWith("YasuoQ") || args.SData.Name.EndsWith("Mis")) { return; } if (args.SData.Name.EndsWith("W")) { DelayAction.Add(50, Orbwalker.ResetAutoAttack); } EloBuddy.Player.IssueOrder(GameObjectOrder.AttackTo, Player.ServerPosition.LSExtend(args.End, -(Player.BoundingRadius * 2))); }; }
public Yasuo() { Q = new LeagueSharp.SDK.Spell(SpellSlot.Q, 505).SetSkillshot(0.4f, 20, float.MaxValue, false, SkillshotType.SkillshotLine); Q2 = new LeagueSharp.SDK.Spell(Q.Slot, 1100).SetSkillshot(Q.Delay, 90, 1250, true, Q.Type); Q3 = new LeagueSharp.SDK.Spell(Q.Slot, 250).SetTargetted(0.01f, float.MaxValue); W = new LeagueSharp.SDK.Spell(SpellSlot.W, 400); E = new LeagueSharp.SDK.Spell(SpellSlot.E, 475).SetTargetted(0.01f, 1250); E2 = new LeagueSharp.SDK.Spell(Q.Slot).SetTargetted(E.Delay + Q3.Delay, E.Speed); R = new LeagueSharp.SDK.Spell(SpellSlot.R, 1200); Q.DamageType = Q2.DamageType = R.DamageType = DamageType.Physical; E.DamageType = DamageType.Magical; Q.MinHitChance = Q2.MinHitChance = HitChance.VeryHigh; Q.CastCondition += () => !isBlockQ; Q2.CastCondition += () => !isBlockQ; Q3.CastCondition += () => !isBlockQ && IsDashing; if (YasuoPro.YasuoMenu.ComboM != null) { if (EntityManager.Heroes.Enemies.Any()) { Evade.Init(); } Evade.Evading += Evading; Evade.TryEvading += TryEvading; return; } comboMenu = config.AddSubMenu("Combo", "Combo"); comboMenu.AddGroupLabel("Q: Always On"); comboMenu.AddGroupLabel("E Gap Settings"); comboMenu.Add("EGap", new CheckBox("Use E")); comboMenu.Add("EMode", new ComboBox("Follow Mode", 0, "Enemy", "Mouse")); comboMenu.Add("ETower", new CheckBox("Under Tower", false)); comboMenu.Add("EStackQ", new CheckBox("Stack Q While Gap", false)); comboMenu.AddGroupLabel("R Settings"); comboMenu.Add("R", new KeyBind("Use R", false, KeyBind.BindTypes.PressToggle, 'X')); comboMenu.Add("RDelay", new CheckBox("Delay Cast")); comboMenu.Add("RHpU", new Slider("If Enemies Hp < (%)", 60)); comboMenu.Add("RCountA", new Slider("Or Count >=", 2, 1, 5)); hybridMenu = config.AddSubMenu("Hybrid", "Hybrid"); hybridMenu.AddGroupLabel("Q: Always On"); hybridMenu.Add("Q3", new CheckBox("Also Q3")); hybridMenu.Add("QLastHit", new CheckBox("Last Hit (Q1/2)")); hybridMenu.AddGroupLabel("Auto Q Settings"); hybridMenu.Add("AutoQ", new KeyBind("KeyBind", false, KeyBind.BindTypes.PressToggle, 'T')); hybridMenu.Add("AutoQ3", new CheckBox("Also Q3", false)); lcMenu = config.AddSubMenu("LaneClear", "Lane Clear"); lcMenu.AddGroupLabel("Q Settings"); lcMenu.Add("Q", new CheckBox("Use Q")); lcMenu.Add("Q3", new CheckBox("Also Q3", false)); lcMenu.AddGroupLabel("E Settings"); lcMenu.Add("E", new CheckBox("Use E")); lcMenu.Add("ELastHit", new CheckBox("Last Hit Only", false)); lcMenu.Add("ETower", new CheckBox("Under Tower", false)); lhMenu = config.AddSubMenu("LastHit", "Last Hit"); lhMenu.AddGroupLabel("Q Settings"); lhMenu.Add("Q", new CheckBox("Use Q")); lhMenu.Add("Q3", new CheckBox("Also Q3", false)); lhMenu.AddGroupLabel("E Settings"); lhMenu.Add("E", new CheckBox("Use E")); lhMenu.Add("ETower", new CheckBox("Under Tower", false)); ksMenu = config.AddSubMenu("KillSteal", "Kill Steal"); ksMenu.Add("Q", new CheckBox("Use Q")); ksMenu.Add("E", new CheckBox("Use E")); ksMenu.Add("R", new CheckBox("Use R")); foreach (var enemy in ObjectManager.Get <AIHeroClient>().Where(o => o.IsEnemy)) { ksMenu.Add("RCast" + enemy.NetworkId, new CheckBox("Cast On " + enemy.ChampionName, false)); } fleeMenu = config.AddSubMenu("Flee", "Flee"); fleeMenu.Add("E", new KeyBind("Use E", false, KeyBind.BindTypes.HoldActive, 'C')); fleeMenu.Add("Q", new CheckBox("Stack Q While Dash")); if (EntityManager.Heroes.Enemies.Any()) { Evade.Init(); } drawMenu = config.AddSubMenu("Draw", "Draw"); drawMenu.Add("Q", new CheckBox("Q Range", false)); drawMenu.Add("E", new CheckBox("E Range", false)); drawMenu.Add("R", new CheckBox("R Range", false)); drawMenu.Add("UseR", new CheckBox("R In Combo Status")); drawMenu.Add("StackQ", new CheckBox("Auto Stack Q Status")); miscMenu = config.AddSubMenu("Misc", "Misc"); miscMenu.Add("StackQ", new KeyBind("Auto Stack Q", false, KeyBind.BindTypes.PressToggle, 'Z')); Evade.Evading += Evading; Evade.TryEvading += TryEvading; Game.OnUpdate += OnUpdate; Drawing.OnDraw += OnDraw; Game.OnUpdate += args => { if (Player.IsDead) { if (endDashT > 0) { endDashT = 0; posDash = new Vector3(); } return; } if (endDashT > 0 && !Player.IsDashing()) { endDashT = 0; DelayAction.Add(70, () => posDash = new Vector3()); } if (!haveQ3 && Q.Delay > 0.18f) { var qDelay = Math.Max(0.4f * (1 - Math.Min((Player.AttackSpeedMod - 1) * 0.5f, 0.55f)), 0.18f); if (!Q.Delay.Equals(qDelay)) { Q.Delay = qDelay; } } if (haveQ3 && Q2.Delay > 0.27f) { var qDelay = Math.Max( 0.4f * (1 - Math.Min((Player.AttackSpeedMod - 1) * 0.296f, 0.325f)), 0.27f); if (!Q2.Delay.Equals(qDelay)) { Q2.Delay = qDelay; } } var eSpeed = 1250 + (Player.MoveSpeed - 345); if (!E.Speed.Equals(eSpeed)) { E.Speed = E2.Speed = eSpeed; } }; Orbwalker.OnPostAttack += (sender, args) => { if (!Q.IsReady() || haveQ3 || (!Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) || !Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear)) || Orbwalker.LastTarget is AIHeroClient || Orbwalker.LastTarget is Obj_AI_Minion) { return; } if (Q.GetTarget(50) != null || EntityManager.MinionsAndMonsters.EnemyMinions.Where(i => i.IsMinion() || i.IsPet(false)).Concat(EntityManager.MinionsAndMonsters.Monsters).Count(i => i.IsValidTarget(Q.Range + 50)) > 0) { return; } if ((Items.HasItem((int)ItemId.Sheen) && Items.CanUseItem((int)ItemId.Sheen)) || (Items.HasItem((int)ItemId.Trinity_Force) && Items.CanUseItem((int)ItemId.Trinity_Force))) { Q.Cast(Game.CursorPos); } }; Events.OnDash += (sender, args) => { if (!args.Unit.IsMe) { return; } posDash = args.EndPos.ToVector3(); endDashT = args.EndTick; }; Game.OnUpdate += args => { if (Player.IsDead) { return; } if (cDash == 1 && Player.GetBuffCount("YasuoDashScalar") == 2) { cDash = 2; } }; Obj_AI_Base.OnBuffGain += (sender, args) => { if (!sender.IsMe || !args.Buff.Caster.IsMe) { return; } switch (args.Buff.DisplayName) { case "YasuoQ3W": haveQ3 = true; break; case "YasuoDashScalar": cDash = 1; break; case "YasuoRArmorPen": haveR = isBlockQ = true; Orbwalker.DisableAttacking = true; Orbwalker.DisableMovement = true; break; case "yasuoeqcombosoundmiss": case "YasuoEQComboSoundHit": DelayAction.Add( 70, () => { if (Player.IsDead) { return; } Orbwalker.ResetAutoAttack(); EloBuddy.Player.IssueOrder(GameObjectOrder.AttackTo, Player.ServerPosition.LSExtend(Game.CursorPos, Player.BoundingRadius * 2)); }); break; } }; Obj_AI_Base.OnBuffLose += (sender, args) => { if (!sender.IsMe || !args.Buff.Caster.IsMe) { return; } switch (args.Buff.DisplayName) { case "YasuoQ3W": haveQ3 = false; break; case "YasuoDashScalar": cDash = 0; break; } }; Obj_AI_Base.OnBuffLose += (sender, args) => { if (sender.IsAlly || !haveR || args.Buff.DisplayName != "yasuorknockupcombotar") { return; } haveR = false; DelayAction.Add( 7, () => { Orbwalker.DisableAttacking = false; Orbwalker.DisableMovement = false; }); DelayAction.Add(22, () => isBlockQ = false); }; Obj_AI_Base.OnProcessSpellCast += (sender, args) => { if (!sender.IsMe || args.Slot != SpellSlot.Q) { return; } EloBuddy.Player.IssueOrder(GameObjectOrder.AttackTo, args.Start.LSExtend(args.End, Player.BoundingRadius * 2)); }; }
public Yasuo() { Q = new LeagueSharp.SDK.Spell(SpellSlot.Q, 500).SetSkillshot(0.4f, 20, float.MaxValue, false, SkillshotType.SkillshotLine); Q2 = new LeagueSharp.SDK.Spell(Q.Slot, 1100).SetSkillshot(Q.Delay, 90, 1250, true, Q.Type); Q3 = new LeagueSharp.SDK.Spell(Q.Slot, 250).SetTargetted(0.01f, float.MaxValue); W = new LeagueSharp.SDK.Spell(SpellSlot.W, 400); E = new LeagueSharp.SDK.Spell(SpellSlot.E, 475).SetTargetted(0.01f, 1250); E2 = new LeagueSharp.SDK.Spell(Q.Slot).SetTargetted(E.Delay + Q3.Delay, E.Speed); R = new LeagueSharp.SDK.Spell(SpellSlot.R, 1200); Q.DamageType = Q2.DamageType = R.DamageType = DamageType.Physical; E.DamageType = DamageType.Magical; Q.MinHitChance = Q2.MinHitChance = HitChance.VeryHigh; Q.CastCondition += () => !isBlockQ; Q2.CastCondition += () => !isBlockQ; Q3.CastCondition += () => !isBlockQ && IsDashing; comboMenu = config.AddSubMenu("Combo", "Combo"); comboMenu.AddGroupLabel("Q: Always On"); comboMenu.AddGroupLabel("E Gap Settings"); comboMenu.Add("EGap", new CheckBox("Use E")); comboMenu.Add("EMode", new ComboBox("Follow Mode", 0, "Enemy", "Mouse")); comboMenu.Add("ETower", new CheckBox("Under Tower", false)); comboMenu.Add("EStackQ", new CheckBox("Stack Q While Gap", false)); comboMenu.AddGroupLabel("R Settings"); comboMenu.Add("R", new KeyBind("Use R", false, KeyBind.BindTypes.PressToggle, 'X')); comboMenu.Add("RDelay", new CheckBox("Delay Cast")); comboMenu.Add("RHpU", new Slider("If Enemies Hp < (%)", 60)); comboMenu.Add("RCountA", new Slider("Or Count >=", 2, 1, 5)); hybridMenu = config.AddSubMenu("Hybrid", "Hybrid"); hybridMenu.AddGroupLabel("Q: Always On"); hybridMenu.Add("Q3", new CheckBox("Also Q3")); hybridMenu.Add("QLastHit", new CheckBox("Last Hit (Q1/2)")); hybridMenu.AddGroupLabel("Auto Q Settings"); hybridMenu.Add("AutoQ", new KeyBind("KeyBind", false, KeyBind.BindTypes.PressToggle, 'T')); hybridMenu.Add("AutoQ3", new CheckBox("Also Q3", false)); lcMenu = config.AddSubMenu("LaneClear", "Lane Clear"); lcMenu.AddGroupLabel("Q Settings"); lcMenu.Add("Q", new CheckBox("Use Q")); lcMenu.Add("Q3", new CheckBox("Also Q3", false)); lcMenu.AddGroupLabel("E Settings"); lcMenu.Add("E", new CheckBox("Use E")); lcMenu.Add("ELastHit", new CheckBox("Last Hit Only", false)); lcMenu.Add("ETower", new CheckBox("Under Tower", false)); lhMenu = config.AddSubMenu("LastHit", "Last Hit"); lhMenu.AddGroupLabel("Q Settings"); lhMenu.Add("Q", new CheckBox("Use Q")); lhMenu.Add("Q3", new CheckBox("Also Q3", false)); lhMenu.AddGroupLabel("E Settings"); lhMenu.Add("E", new CheckBox("Use E")); lhMenu.Add("ETower", new CheckBox("Under Tower", false)); ksMenu = config.AddSubMenu("KillSteal", "Kill Steal"); ksMenu.Add("Q", new CheckBox("Use Q")); ksMenu.Add("E", new CheckBox("Use E")); ksMenu.Add("R", new CheckBox("Use R")); foreach (var enemy in ObjectManager.Get<AIHeroClient>().Where(o => o.IsEnemy)) { ksMenu.Add("RCast" + enemy.NetworkId, new CheckBox("Cast On " + enemy.ChampionName, false)); } fleeMenu = config.AddSubMenu("Flee", "Flee"); fleeMenu.Add("E", new KeyBind("Use E", false, KeyBind.BindTypes.HoldActive, 'C')); fleeMenu.Add("Q", new CheckBox("Stack Q While Dash")); if (EntityManager.Heroes.Enemies.Any()) { Evade.Init(); } drawMenu = config.AddSubMenu("Draw", "Draw"); drawMenu.Add("Q", new CheckBox("Q Range", false)); drawMenu.Add("E", new CheckBox("E Range", false)); drawMenu.Add("R", new CheckBox("R Range", false)); drawMenu.Add("UseR", new CheckBox("R In Combo Status")); drawMenu.Add("StackQ", new CheckBox("Auto Stack Q Status")); miscMenu = config.AddSubMenu("Misc", "Misc"); miscMenu.Add("StackQ", new KeyBind("Auto Stack Q", false, KeyBind.BindTypes.PressToggle, 'Z')); Evade.Evading += Evading; Evade.TryEvading += TryEvading; Game.OnUpdate += OnUpdate; Drawing.OnDraw += OnDraw; Game.OnUpdate += args => { if (Player.IsDead) { if (endDashT > 0) { endDashT = 0; posDash = new Vector3(); } return; } if (endDashT > 0 && !Player.IsDashing()) { endDashT = 0; DelayAction.Add(70, () => posDash = new Vector3()); } if (!haveQ3 && Q.Delay > 0.18f) { var qDelay = Math.Max(0.4f * (1 - Math.Min((Player.AttackSpeedMod - 1) * 0.5f, 0.55f)), 0.18f); if (!Q.Delay.Equals(qDelay)) { Q.Delay = qDelay; } } if (haveQ3 && Q2.Delay > 0.27f) { var qDelay = Math.Max( 0.4f * (1 - Math.Min((Player.AttackSpeedMod - 1) * 0.296f, 0.325f)), 0.27f); if (!Q2.Delay.Equals(qDelay)) { Q2.Delay = qDelay; } } var eSpeed = 1250 + (Player.MoveSpeed - 345); if (!E.Speed.Equals(eSpeed)) { E.Speed = E2.Speed = eSpeed; } }; Orbwalker.OnPostAttack += (sender, args) => { if (!Q.IsReady() || haveQ3 || !Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) || !(sender is Obj_AI_Turret)) { return; } if (Q.GetTarget(100) != null || EntityManager.MinionsAndMonsters.EnemyMinions.Where(i => i.IsMinion() || i.IsPet(false)).Concat(EntityManager.MinionsAndMonsters.Monsters).Count(i => i.IsValidTarget(Q.Range + i.BoundingRadius * 2)) > 0) { return; } if ((Items.HasItem((int)ItemId.Sheen) && Items.CanUseItem((int)ItemId.Sheen)) || (Items.HasItem((int)ItemId.Trinity_Force) && Items.CanUseItem((int)ItemId.Trinity_Force))) { Q.Cast(Game.CursorPos); } }; Events.OnDash += (sender, args) => { if (!args.Unit.IsMe) { return; } posDash = args.EndPos.ToVector3(); endDashT = args.EndTick; }; Game.OnUpdate += args => { if (Player.IsDead) { return; } if (cDash == 1 && Player.GetBuffCount("YasuoDashScalar") == 2) { cDash = 2; } }; Obj_AI_Base.OnBuffGain += (sender, args) => { if (!sender.IsMe || !args.Buff.Caster.IsMe) { return; } switch (args.Buff.DisplayName) { case "YasuoQ3W": haveQ3 = true; break; case "YasuoDashScalar": cDash = 1; break; case "YasuoRArmorPen": haveR = isBlockQ = true; Orbwalker.DisableAttacking = true; Orbwalker.DisableMovement = true; break; case "yasuoeqcombosoundmiss": case "YasuoEQComboSoundHit": DelayAction.Add( 70, () => { if (Player.IsDead) { return; } Orbwalker.ResetAutoAttack(); EloBuddy.Player.IssueOrder(GameObjectOrder.AttackTo, Player.ServerPosition.LSExtend(Game.CursorPos, Player.BoundingRadius * 2)); }); break; } }; Obj_AI_Base.OnBuffLose += (sender, args) => { if (!sender.IsMe || !args.Buff.Caster.IsMe) { return; } switch (args.Buff.DisplayName) { case "YasuoQ3W": haveQ3 = false; break; case "YasuoDashScalar": cDash = 0; break; } }; Obj_AI_Base.OnBuffLose += (sender, args) => { if (sender.IsAlly || !haveR || args.Buff.DisplayName != "yasuorknockupcombotar") { return; } haveR = false; DelayAction.Add( 7, () => { Orbwalker.DisableAttacking = false; Orbwalker.DisableMovement = false; }); DelayAction.Add(20, () => isBlockQ = false); }; Obj_AI_Base.OnProcessSpellCast += (sender, args) => { if (!sender.IsMe || args.Slot != SpellSlot.Q) { return; } EloBuddy.Player.IssueOrder(GameObjectOrder.AttackTo, args.Start.LSExtend(args.End, Player.BoundingRadius * 2)); }; }
public Yasuo() { QEB = GetQ(); Q3EB = new EloBuddy.SDK.Spell.Skillshot(SpellSlot.Q, 1100, EloBuddy.SDK.Enumerations.SkillShotType.Linear, 300, 1200, 90) { AllowedCollisionCount = int.MaxValue }; Q = new LeagueSharp.SDK.Spell(SpellSlot.Q, 505).SetSkillshot(QDelay, 20, float.MaxValue, false, SkillshotType.SkillshotLine); Q2 = new LeagueSharp.SDK.Spell(Q.Slot, 1100).SetSkillshot(Q2Delay, 90, 1200, true, Q.Type); Q3 = new LeagueSharp.SDK.Spell(Q.Slot, 250).SetSkillshot(0.01f, 250, float.MaxValue, false, SkillshotType.SkillshotCircle); W = new LeagueSharp.SDK.Spell(SpellSlot.W, 400).SetTargetted(0.25f, float.MaxValue); E = new LeagueSharp.SDK.Spell(SpellSlot.E, 475).SetTargetted(0, 1200); E2 = new LeagueSharp.SDK.Spell(E.Slot, E.Range).SetTargetted(Q3.Delay, E.Speed); R = new LeagueSharp.SDK.Spell(SpellSlot.R, 1200); Q.DamageType = Q2.DamageType = R.DamageType = DamageType.Physical; E.DamageType = DamageType.Magical; Q.MinHitChance = Q2.MinHitChance = HitChance.VeryHigh; E.CastCondition += () => !posDash.IsValid(); if (YasuoPro.YasuoMenu.ComboM != null || YasuoSharpV2.YasuoSharp.comboMenu != null) { if (EntityManager.Heroes.Enemies.Any()) { Evade.Init(); } Evade.Evading += Evading; Evade.TryEvading += TryEvading; return; } comboMenu = config.AddSubMenu("Combo", "Combo"); comboMenu.AddGroupLabel("Q: Always On"); comboMenu.AddGroupLabel("Smart Settings"); comboMenu.Add("W", new CheckBox("Use W", false)); comboMenu.Add("E", new CheckBox("Use E", false)); comboMenu.AddGroupLabel("E Gap Settings"); comboMenu.Add("EGap", new CheckBox("Use E")); comboMenu.Add("EMode", new ComboBox("Follow Mode", 0, "Enemy", "Mouse")); comboMenu.Add("ETower", new CheckBox("Under Tower", false)); comboMenu.Add("EStackQ", new CheckBox("Stack Q While Gap", false)); comboMenu.AddGroupLabel("R Settings"); comboMenu.Add("R", new KeyBind("Use R", false, KeyBind.BindTypes.PressToggle, 'X')); comboMenu.Add("RDelay", new CheckBox("Delay Cast")); comboMenu.Add("RHpU", new Slider("If Enemies Hp < (%)", 60)); comboMenu.Add("RCountA", new Slider("Or Count >=", 2, 1, 5)); hybridMenu = config.AddSubMenu("Hybrid", "Hybrid"); hybridMenu.AddGroupLabel("Q: Always On"); hybridMenu.Add("Q3", new CheckBox("Also Q3")); hybridMenu.Add("QLastHit", new CheckBox("Last Hit (Q1/2)")); hybridMenu.AddGroupLabel("Auto Q Settings"); hybridMenu.Add("AutoQ", new KeyBind("KeyBind", false, KeyBind.BindTypes.PressToggle, 'T')); hybridMenu.Add("AutoQ3", new CheckBox("Also Q3", false)); lcMenu = config.AddSubMenu("LaneClear", "Lane Clear"); lcMenu.AddGroupLabel("Q Settings"); lcMenu.Add("Q", new CheckBox("Use Q")); lcMenu.Add("Q3", new CheckBox("Also Q3", false)); lcMenu.AddGroupLabel("E Settings"); lcMenu.Add("E", new CheckBox("Use E")); lcMenu.Add("ELastHit", new CheckBox("Last Hit Only", false)); lhMenu = config.AddSubMenu("LastHit", "Last Hit"); lhMenu.AddGroupLabel("Q Settings"); lhMenu.Add("Q", new CheckBox("Use Q")); lhMenu.Add("Q3", new CheckBox("Also Q3", false)); lhMenu.AddGroupLabel("E Settings"); lhMenu.Add("E", new CheckBox("Use E")); ksMenu = config.AddSubMenu("KillSteal", "Kill Steal"); ksMenu.Add("Q", new CheckBox("Use Q")); ksMenu.Add("E", new CheckBox("Use E")); ksMenu.Add("R", new CheckBox("Use R")); foreach (var enemy in ObjectManager.Get<AIHeroClient>().Where(o => o.IsEnemy)) { ksMenu.Add("RCast" + enemy.NetworkId, new CheckBox("Cast On " + enemy.ChampionName, false)); } fleeMenu = config.AddSubMenu("Flee", "Flee"); fleeMenu.Add("E", new KeyBind("Use E", false, KeyBind.BindTypes.HoldActive, 'C')); fleeMenu.Add("Q", new CheckBox("Stack Q While Dash")); if (EntityManager.Heroes.Enemies.Any()) { Evade.Init(); } drawMenu = config.AddSubMenu("Draw", "Draw"); drawMenu.Add("Q", new CheckBox("Q Range", false)); drawMenu.Add("E", new CheckBox("E Range", false)); drawMenu.Add("R", new CheckBox("R Range", false)); drawMenu.Add("UseR", new CheckBox("R In Combo Status")); drawMenu.Add("StackQ", new CheckBox("Auto Stack Q Status")); miscMenu = config.AddSubMenu("Misc", "Misc"); miscMenu.Add("StackQ", new KeyBind("Auto Stack Q", false, KeyBind.BindTypes.PressToggle, 'Z')); miscMenu.Add("EQ3Flash", new KeyBind("Use E-Q3-Flash", false, KeyBind.BindTypes.HoldActive, 'X')); Evade.Evading += Evading; Evade.TryEvading += TryEvading; Game.OnUpdate += OnUpdate; Drawing.OnDraw += OnDraw; Game.OnUpdate += args => { if (Player.IsDead) { if (isDash) { isDash = false; posDash = new Vector3(); } return; } if (isDash && !Player.IsDashing()) { isDash = false; DelayAction.Add( 50, () => { if (!isDash) { posDash = new Vector3(); } }); } Q.Delay = GetQDelay(false); Q2.Delay = GetQDelay(true); E.Speed = E2.Speed = 1200 + (Player.MoveSpeed - 345); }; LeagueSharp.Common.LSEvents.AfterAttack += (args) => { if (!PortAIO.OrbwalkerManager.isLaneClearActive || !(args.Target is Obj_AI_Turret) || !Q.IsReady() || haveQ3) { return; } if (Q.GetTarget(50) != null || Common.ListMinions().Count(i => i.IsValidTarget(Q.Range + 50)) > 0) { return; } if ((Items.HasItem((int)ItemId.Sheen) && Items.CanUseItem((int)ItemId.Sheen)) || (Items.HasItem((int)ItemId.Trinity_Force) && Items.CanUseItem((int)ItemId.Trinity_Force))) { Q.Cast(Game.CursorPos); } }; LeagueSharp.Common.LSEvents.BeforeAttack += (args) => { args.Process = !IsDashing; }; Events.OnDash += (sender, args) => { if (!args.Unit.IsMe) { return; } isDash = true; posDash = args.EndPos.ToVector3(); }; Obj_AI_Base.OnBuffGain += (sender, args) => { if (!sender.IsMe) { return; } switch (args.Buff.DisplayName) { case "YasuoQ3W": haveQ3 = true; break; case "YasuoDashScalar": cDash = 1; break; case "yasuoeqcombosoundmiss": case "YasuoEQComboSoundHit": DelayAction.Add( 70, () => { EloBuddy.Player.IssueOrder(GameObjectOrder.AttackTo, Player.ServerPosition.LSExtend(Game.CursorPos, Player.BoundingRadius)); }); break; } }; Obj_AI_Base.OnBuffUpdate += (sender, args) => { if (!sender.IsMe || !args.Buff.Caster.IsMe || args.Buff.DisplayName != "YasuoDashScalar") { return; } cDash = 2; }; Obj_AI_Base.OnBuffLose += (sender, args) => { if (!sender.IsMe) { return; } switch (args.Buff.DisplayName) { case "YasuoQ3W": haveQ3 = false; break; case "YasuoDashScalar": cDash = 0; break; } }; GameObjectNotifier<MissileClient>.OnCreate += (sender, args) => { var spellCaster = args.SpellCaster as AIHeroClient; if (spellCaster == null || !spellCaster.IsMe) { return; } switch (args.SData.Name) { case "YasuoWMovingWallMisL": wallLeft = args; break; case "YasuoWMovingWallMisR": wallRight = args; break; } }; GameObjectNotifier<MissileClient>.OnDelete += (sender, args) => { if (args.Compare(wallLeft)) { wallLeft = null; } else if (args.Compare(wallRight)) { wallRight = null; } }; }
public Lucian() { Q = new Spell(SpellSlot.Q, 700); Q2 = new Spell(SpellSlot.Q, 1150).SetSkillshot( 0.35f, 65, float.MaxValue, false, SkillshotType.SkillshotLine); W = new Spell(SpellSlot.W, 1000).SetSkillshot(0.35f, 55, 1700, true, SkillshotType.SkillshotLine); E = new Spell(SpellSlot.E, 475); R = new Spell(SpellSlot.R, 1400).SetSkillshot(0.1f, 110, 2700, true, SkillshotType.SkillshotLine); Q.DamageType = Q2.DamageType = E.DamageType = R.DamageType = DamageType.Physical; W.DamageType = DamageType.Magical; Q2.MinHitChance = W.MinHitChance = R.MinHitChance = HitChance.High; Game.OnUpdate += OnUpdate; Obj_AI_Base.OnBuffAdd += (sender, args) => { if (!sender.IsMe || !args.Buff.Caster.IsMe) { return; } if (args.Buff.DisplayName == "LucianR") { haveR = true; } }; Obj_AI_Base.OnBuffRemove += (sender, args) => { if (!sender.IsMe || !args.Buff.Caster.IsMe) { return; } if (args.Buff.DisplayName == "LucianR") { haveR = false; } }; Obj_AI_Base.OnDoCast += (sender, args) => { if (!sender.IsMe || (args.Slot != SpellSlot.Q && args.Slot != SpellSlot.W)) { return; } //Variables.Orbwalker.ResetSwingTimer(); }; Variables.Orbwalker.OnAction += (sender, args) => { if (args.Type != OrbwalkingType.AfterAttack || Variables.Orbwalker.GetActiveMode() != OrbwalkingMode.Combo) { return; } var target = args.Target as Obj_AI_Hero; if (target == null) { return; } if (E.IsReady()) { const float Angle = 65 * ((float)Math.PI / 180); var posTemp = Vector3.Subtract(target.ServerPosition, Player.ServerPosition).ToVector2(); var posDash = Vector2.Add( new Vector2( (float)(posTemp.X * Math.Cos(Angle) - posTemp.Y * Math.Sin(Angle)) / 4, (float)(posTemp.X * Math.Sin(Angle) + posTemp.Y * Math.Cos(Angle)) / 4), Player.ServerPosition.ToVector2()); E.Cast(posDash); } else { if (Q.IsReady()) { Q.CastOnUnit(target); } else if (W.IsReady()) { W.Cast(target.ServerPosition); } } }; }
private static void Combo() { if (W.Instance.Name == "TaliyahWNoClick") { if (Environment.TickCount - lastETick < 3000) { ObjectManager.Player.Spellbook.CastSpell(SpellSlot.W, lastE, false); } } else { if (W.IsReady()) //killable W { var target = W.GetTarget(); if (target != null && target.Health < WDamage(target) - 50) { var pred = W.GetPrediction(target); if (pred.Hitchance >= HitChance.High) { W.Cast(pred.UnitPosition); } } } if (!EWCasting) { if (E.IsReady() && getCheckBoxItem(comboMenu, "taliyah.combo.usee")) { if (W.IsReady() && getCheckBoxItem(comboMenu, "taliyah.combo.usew")) { //e w combo var target = W.GetTarget(); if (target != null) { var pred = W.GetPrediction(target); if (pred.Hitchance >= HitChance.High) { lastE = ObjectManager.Player.ServerPosition; E.Cast(ObjectManager.Player.ServerPosition.ToVector2() + (pred.CastPosition.ToVector2() - ObjectManager.Player.ServerPosition.ToVector2()).Normalized() * (E.Range - 200)); DelayAction.Add(250, () => W.Cast(pred.UnitPosition)); EWCasting = true; } } return; } else { var target = E.GetTarget(); if (target != null) { E.Cast(target); lastE = ObjectManager.Player.ServerPosition; } } } } if (W.IsReady() && getCheckBoxItem(comboMenu, "taliyah.combo.usew") && !EWCasting) { var target = W.GetTarget(); if (target != null) { var pred = W.GetPrediction(target); if (pred.Hitchance >= HitChance.High) { W.Cast(pred.UnitPosition); } } } } var qTarget = Q.GetTarget(); if (qTarget != null && getCheckBoxItem(comboMenu, "taliyah.combo.useq") && (!getCheckBoxItem(main_menu, "taliyah.onlyq5") || Q5x)) { Q.Cast(qTarget); } }
private static void Combo() { if (W.Instance.Name == "TaliyahWNoClick") { // } else { if (W.IsReady()) //killable W { var target = W.GetTarget(); if (target != null && target.Health < WDamage(target) - 50) { var pred = W.GetPrediction(target); if (pred.Hitchance >= HitChance.High) { W.Cast(pred.UnitPosition, ObjectManager.Player.ServerPosition); } } } if (!EWCasting) { if (E.IsReady() && main_menu["taliyah.combo"]["taliyah.combo.usee"].GetValue <MenuBool>().Value) { if (W.IsReady() && main_menu["taliyah.combo"]["taliyah.combo.usew"].GetValue <MenuBool>().Value) { //e w combo var target = W.GetTarget(); if (target != null) { var pred = W.GetPrediction(target); if (pred.Hitchance >= HitChance.High) { lastE = ObjectManager.Player.ServerPosition; E.Cast(ObjectManager.Player.ServerPosition.ToVector2() + (pred.CastPosition.ToVector2() - ObjectManager.Player.ServerPosition.ToVector2()).Normalized() * (E.Range - 200)); DelayAction.Add(250, () => { W.Cast(pred.UnitPosition, lastE); EWCasting = false; }); EWCasting = true; } } return; } else { var target = E.GetTarget(); if (target != null) { E.Cast(target); lastE = ObjectManager.Player.ServerPosition; } } } } if (W.IsReady() && main_menu["taliyah.combo"]["taliyah.combo.usew"].GetValue <MenuBool>().Value&& !EWCasting) { var target = W.GetTarget(); if (target != null) { var pred = W.GetPrediction(target); if (pred.Hitchance >= HitChance.High) { W.Cast(pred.UnitPosition, pred.UnitPosition); } } } } var q_target = Q.GetTarget(); if (q_target != null && main_menu["taliyah.combo"]["taliyah.combo.useq"].GetValue <MenuBool>().Value&& (!main_menu["taliyah.onlyq5"].GetValue <MenuBool>().Value || Q5x)) { Q.Cast(q_target); } }
public static void SmartCast(this LeagueSharp.SDK.Spell spell, Obj_AI_Base target = null, HitChance hitchance = HitChance.Medium, int minimunHits = 0) { if (target == null) { return; } if (!spell.CanCast(target)) { return; } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass)) { if (spell.IsSkillshot) { if (spell.Collision) { if (Me.CountEnemyHeroesInRange(spell.Range) <= (minimunHits == 0 ? 2 : minimunHits)) { spell.CastOnBestTarget(0f, true); return; } if (Me.CountEnemyHeroesInRange(spell.Range) >= (minimunHits == 0 ? 2 : minimunHits)) { spell.CastOnBestTarget(0f, true, 1); return; } } else { spell.CastIfHitchanceMinimum(target, hitchance); return; } } else { spell.CastOnUnit(target); return; } } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear)) { if (spell.Collision) { spell.CastIfHitchanceMinimum(target, HitChance.Low); return; } else { var minions = GameObjects.EnemyMinions.Where(m => m.LSIsValidTarget()) .OrderBy(m => m.Distance(target)) .ThenBy(m => m.Health) .ToList(); if (minions != null) { switch (spell.Type) { case SkillshotType.SkillshotLine: var posLine = spell.GetLineFarmLocation(minions); if (posLine.MinionsHit >= (minimunHits == 0 ? 1 : minimunHits)) { spell.Cast(posLine.Position); return; } break; case SkillshotType.SkillshotCircle: var posCircle = spell.GetCircularFarmLocation(minions); if (posCircle.MinionsHit >= (minimunHits == 0 ? 1 : minimunHits)) { spell.Cast(posCircle.Position); return; } break; case SkillshotType.SkillshotCone: var posCone = spell.GetLineFarmLocation(minions, spell.Width); if (posCone.MinionsHit >= (minimunHits == 0 ? 1 : minimunHits)) { spell.Cast(posCone.Position); return; } break; } } spell.CastIfHitchanceMinimum(target, HitChance.Medium); } } else { spell.CastOnUnit(target); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LastHit)) { if (spell.IsSkillshot) { spell.CastIfHitchanceMinimum(target, HitChance.Low); return; } spell.CastOnUnit(target); } }
public Yasuo() { QEB = GetQ(); Q3EB = new EloBuddy.SDK.Spell.Skillshot(SpellSlot.Q, 1100, EloBuddy.SDK.Enumerations.SkillShotType.Linear, 300, 1200, 90) { AllowedCollisionCount = int.MaxValue }; Q = new LeagueSharp.SDK.Spell(SpellSlot.Q, 505).SetSkillshot(QDelay, 20, float.MaxValue, false, SkillshotType.SkillshotLine); Q2 = new LeagueSharp.SDK.Spell(Q.Slot, 1100).SetSkillshot(Q2Delay, 90, 1200, true, Q.Type); Q3 = new LeagueSharp.SDK.Spell(Q.Slot, 220).SetSkillshot(0.001f, 220, float.MaxValue, false, SkillshotType.SkillshotCircle); W = new LeagueSharp.SDK.Spell(SpellSlot.W, 400).SetTargetted(0.25f, float.MaxValue); E = new LeagueSharp.SDK.Spell(SpellSlot.E, 475).SetTargetted(0, 1200); E2 = new LeagueSharp.SDK.Spell(E.Slot, E.Range).SetTargetted(Q3.Delay, E.Speed); R = new LeagueSharp.SDK.Spell(SpellSlot.R, 1200); Q.DamageType = Q2.DamageType = R.DamageType = DamageType.Physical; E.DamageType = DamageType.Magical; Q.MinHitChance = Q2.MinHitChance = HitChance.VeryHigh; E.CastCondition += () => !posDash.IsValid(); if (YasuoPro.YasuoMenu.ComboM != null || YasuoSharpV2.YasuoSharp.comboMenu != null) { if (EntityManager.Heroes.Enemies.Any()) { Evade.Init(); } Evade.Evading += Evading; Evade.TryEvading += TryEvading; return; } comboMenu = config.AddSubMenu("Combo", "Combo"); comboMenu.AddGroupLabel("Q: Always On"); comboMenu.AddGroupLabel("Smart Settings"); comboMenu.Add("W", new CheckBox("Use W", false)); comboMenu.Add("E", new CheckBox("Use E", false)); comboMenu.AddGroupLabel("E Gap Settings"); comboMenu.Add("EGap", new CheckBox("Use E")); comboMenu.Add("EMode", new ComboBox("Follow Mode", 0, "Enemy", "Mouse")); comboMenu.Add("ETower", new CheckBox("Under Tower", false)); comboMenu.Add("EStackQ", new CheckBox("Stack Q While Gap", false)); comboMenu.AddGroupLabel("R Settings"); comboMenu.Add("R", new KeyBind("Use R", false, KeyBind.BindTypes.PressToggle, 'X')); comboMenu.Add("RDelay", new CheckBox("Delay Cast")); comboMenu.Add("RHpU", new Slider("If Enemies Hp < (%)", 60)); comboMenu.Add("RCountA", new Slider("Or Count >=", 2, 1, 5)); hybridMenu = config.AddSubMenu("Hybrid", "Hybrid"); hybridMenu.AddGroupLabel("Q: Always On"); hybridMenu.Add("Q3", new CheckBox("Also Q3")); hybridMenu.Add("QLastHit", new CheckBox("Last Hit (Q1/2)")); hybridMenu.AddGroupLabel("Auto Q Settings"); hybridMenu.Add("AutoQ", new KeyBind("KeyBind", false, KeyBind.BindTypes.PressToggle, 'T')); hybridMenu.Add("AutoQ3", new CheckBox("Also Q3", false)); lcMenu = config.AddSubMenu("LaneClear", "Lane Clear"); lcMenu.AddGroupLabel("Q Settings"); lcMenu.Add("Q", new CheckBox("Use Q")); lcMenu.Add("Q3", new CheckBox("Also Q3", false)); lcMenu.AddGroupLabel("E Settings"); lcMenu.Add("E", new CheckBox("Use E")); lcMenu.Add("ELastHit", new CheckBox("Last Hit Only", false)); lhMenu = config.AddSubMenu("LastHit", "Last Hit"); lhMenu.AddGroupLabel("Q Settings"); lhMenu.Add("Q", new CheckBox("Use Q")); lhMenu.Add("Q3", new CheckBox("Also Q3", false)); lhMenu.AddGroupLabel("E Settings"); lhMenu.Add("E", new CheckBox("Use E")); ksMenu = config.AddSubMenu("KillSteal", "Kill Steal"); ksMenu.Add("Q", new CheckBox("Use Q")); ksMenu.Add("E", new CheckBox("Use E")); ksMenu.Add("R", new CheckBox("Use R")); foreach (var enemy in ObjectManager.Get <AIHeroClient>().Where(o => o.IsEnemy)) { ksMenu.Add("RCast" + enemy.NetworkId, new CheckBox("Cast On " + enemy.ChampionName, false)); } fleeMenu = config.AddSubMenu("Flee", "Flee"); fleeMenu.Add("E", new KeyBind("Use E", false, KeyBind.BindTypes.HoldActive, 'C')); fleeMenu.Add("Q", new CheckBox("Stack Q While Dash")); if (EntityManager.Heroes.Enemies.Any()) { Evade.Init(); } drawMenu = config.AddSubMenu("Draw", "Draw"); drawMenu.Add("Q", new CheckBox("Q Range", false)); drawMenu.Add("E", new CheckBox("E Range", false)); drawMenu.Add("R", new CheckBox("R Range", false)); drawMenu.Add("UseR", new CheckBox("R In Combo Status")); drawMenu.Add("StackQ", new CheckBox("Auto Stack Q Status")); miscMenu = config.AddSubMenu("Misc", "Misc"); miscMenu.Add("StackQ", new KeyBind("Auto Stack Q", false, KeyBind.BindTypes.PressToggle, 'Z')); miscMenu.Add("EQ3Flash", new KeyBind("Use E-Q3-Flash", false, KeyBind.BindTypes.HoldActive, 'X')); Evade.Evading += Evading; Evade.TryEvading += TryEvading; Game.OnUpdate += OnUpdate; Drawing.OnDraw += OnDraw; Game.OnUpdate += args => { if (Player.IsDead) { if (isDash) { isDash = false; posDash = new Vector3(); } return; } if (isDash && !Player.IsDashing()) { isDash = false; DelayAction.Add( 50, () => { if (!isDash) { posDash = new Vector3(); } }); } Q.Delay = GetQDelay(false); Q2.Delay = GetQDelay(true); E.Speed = E2.Speed = 1200 + (Player.MoveSpeed - 345); }; Orbwalker.OnPostAttack += (target, args) => { if (!Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear) || !(target is Obj_AI_Turret) || !Q.IsReady() || haveQ3) { return; } if (Q.GetTarget(50) != null || Common.ListMinions().Count(i => i.IsValidTarget(Q.Range + 50)) > 0) { return; } if ((Items.HasItem((int)ItemId.Sheen) && Items.CanUseItem((int)ItemId.Sheen)) || (Items.HasItem((int)ItemId.Trinity_Force) && Items.CanUseItem((int)ItemId.Trinity_Force))) { Q.Cast(Game.CursorPos); } }; Orbwalker.OnPreAttack += (target, args) => { args.Process = !IsDashing; }; Obj_AI_Base.OnProcessSpellCast += (sender, args) => { if (!sender.IsMe) { return; } if (args.Slot == SpellSlot.E) { lastE = Variables.TickCount; } }; Events.OnDash += (sender, args) => { if (!args.Unit.IsMe) { return; } isDash = true; posDash = args.EndPos.ToVector3(); }; Obj_AI_Base.OnBuffGain += (sender, args) => { if (!sender.IsMe) { return; } switch (args.Buff.DisplayName) { case "YasuoQ3W": haveQ3 = true; break; case "YasuoDashScalar": cDash = 1; break; } }; Obj_AI_Base.OnBuffUpdate += (sender, args) => { if (!sender.IsMe || !args.Buff.Caster.IsMe || args.Buff.DisplayName != "YasuoDashScalar") { return; } cDash = 2; }; Obj_AI_Base.OnBuffLose += (sender, args) => { if (!sender.IsMe) { return; } switch (args.Buff.DisplayName) { case "YasuoQ3W": haveQ3 = false; break; case "YasuoDashScalar": cDash = 0; break; } }; GameObjectNotifier <MissileClient> .OnCreate += (sender, args) => { var spellCaster = args.SpellCaster as AIHeroClient; if (spellCaster == null || !spellCaster.IsMe) { return; } switch (args.SData.Name) { case "YasuoWMovingWallMisL": wallLeft = args; break; case "YasuoWMovingWallMisR": wallRight = args; break; } }; GameObjectNotifier <MissileClient> .OnDelete += (sender, args) => { if (args.Compare(wallLeft)) { wallLeft = null; } else if (args.Compare(wallRight)) { wallRight = null; } }; }
public Yasuo() { Q = new Spell(SpellSlot.Q, 475).SetSkillshot(0.4f, 20, float.MaxValue, false, SkillshotType.SkillshotLine); spellQ = new Spell(Q.Slot).SetSkillshot(Q.Delay, Q.Width, Q.Speed, false, Q.Type); Q2 = new Spell(SpellSlot.Q, 1100).SetSkillshot(Q.Delay, 90, 1200, true, Q.Type); W = new Spell(SpellSlot.W, 400); E = new Spell(SpellSlot.E, 475).SetTargetted(0, 1025); R = new Spell(SpellSlot.R, 1200); Q.DamageType = Q2.DamageType = R.DamageType = DamageType.Physical; E.DamageType = DamageType.Magical; Q.MinHitChance = Q2.MinHitChance = HitChance.VeryHigh; var comboMenu = MainMenu.Add(new Menu("Combo", "Combo")); { comboMenu.Separator("Q: Always On"); comboMenu.Bool("Ignite", "Use Ignite"); comboMenu.Bool("Item", "Use Item"); comboMenu.Separator("E Gap Settings"); comboMenu.Bool("EGap", "Use E"); comboMenu.List("EMode", "Follow Mode", new[] { "Enemy", "Mouse" }); comboMenu.Bool("ETower", "Under Tower", false); comboMenu.Bool("EStackQ", "Stack Q While Gap", false); comboMenu.Separator("R Settings"); comboMenu.Bool("R", "Use R"); comboMenu.Bool("RDelay", "Delay Cast"); comboMenu.Slider("RHpU", "If Enemies Hp < (%)", 60); comboMenu.Slider("RCountA", "Or Count >=", 2, 1, 5); } var hybridMenu = MainMenu.Add(new Menu("Hybrid", "Hybrid")); { hybridMenu.Separator("Q: Always On"); hybridMenu.Bool("Q3", "Also Q3"); hybridMenu.Bool("QLastHit", "Last Hit (Q1/2)"); hybridMenu.Separator("Auto Q Settings"); hybridMenu.KeyBind("AutoQ", "KeyBind", Keys.T, KeyBindType.Toggle); hybridMenu.Bool("AutoQ3", "Also Q3", false); } var lcMenu = MainMenu.Add(new Menu("LaneClear", "Lane Clear")); { lcMenu.Separator("Q Settings"); lcMenu.Bool("Q", "Use Q"); lcMenu.Bool("Q3", "Also Q3", false); lcMenu.Separator("E Settings"); lcMenu.Bool("E", "Use E"); lcMenu.Bool("ELastHit", "Last Hit Only", false); lcMenu.Bool("ETower", "Under Tower", false); } var lhMenu = MainMenu.Add(new Menu("LastHit", "Last Hit")); { lhMenu.Separator("Q Settings"); lhMenu.Bool("Q", "Use Q"); lhMenu.Bool("Q3", "Also Q3", false); lhMenu.Separator("E Settings"); lhMenu.Bool("E", "Use E"); lhMenu.Bool("ETower", "Under Tower", false); } var ksMenu = MainMenu.Add(new Menu("KillSteal", "Kill Steal")); { ksMenu.Bool("Q", "Use Q"); ksMenu.Bool("E", "Use E"); ksMenu.Bool("R", "Use R"); ksMenu.Separator("Extra R Settings"); GameObjects.EnemyHeroes.ForEach( i => ksMenu.Bool("RCast" + i.ChampionName, "Cast On " + i.ChampionName, false)); } var fleeMenu = MainMenu.Add(new Menu("Flee", "Flee")); { fleeMenu.KeyBind("E", "Use E", Keys.C); fleeMenu.Bool("Q", "Stack Q While Dash"); } if (GameObjects.EnemyHeroes.Any()) { Evade.Init(); EvadeTarget.Init(); } var drawMenu = MainMenu.Add(new Menu("Draw", "Draw")); { drawMenu.Bool("Q", "Q Range", false); drawMenu.Bool("E", "E Range", false); drawMenu.Bool("R", "R Range", false); drawMenu.Bool("StackQ", "Auto Stack Q Status"); } MainMenu.KeyBind("StackQ", "Auto Stack Q", Keys.Z, KeyBindType.Toggle); Evade.Evading += Evading; Evade.TryEvading += TryEvading; Game.OnUpdate += OnUpdate; Drawing.OnDraw += OnDraw; Game.OnUpdate += args => { if (Player.IsDead) { return; } var qDelay = 0.4f * (1 - Math.Min((Player.AttackSpeedMod - 1) * 0.58552631578947f, 0.6675f)); if (!Q.Delay.Equals(qDelay)) { Q.Delay = Q2.Delay = spellQ.Delay = qDelay; } var eSpeed = 1025 + (Player.MoveSpeed - 345); if (!E.Speed.Equals(eSpeed)) { E.Speed = eSpeed; } }; Variables.Orbwalker.OnAction += (sender, args) => { if (!Q.IsReady() || haveQ3 || args.Type != OrbwalkingType.AfterAttack || Variables.Orbwalker.GetActiveMode() != OrbwalkingMode.LaneClear) { return; } var target = args.Target; if (target.Type == GameObjectType.obj_AI_Hero || target.Type == GameObjectType.obj_AI_Minion) { return; } if (Q.GetTarget(100) != null || GameObjects.EnemyMinions.Where(i => i.IsMinion() || i.IsPet(false)) .Concat(GameObjects.Jungle) .Count(i => i.IsValidTarget(Q.Range + i.BoundingRadius * 2)) > 0) { return; } if ((Items.HasItem((int)ItemId.Sheen) && Items.CanUseItem((int)ItemId.Sheen)) || (Items.HasItem((int)ItemId.Trinity_Force) && Items.CanUseItem((int)ItemId.Trinity_Force))) { Q.Cast(Game.CursorPos); } }; Events.OnDash += (sender, args) => { if (!args.Unit.IsMe) { return; } posDash = args.EndPos.ToVector3(); }; Obj_AI_Base.OnBuffUpdateCount += (sender, args) => { if (!sender.IsMe || !args.Buff.Caster.IsMe || args.Buff.DisplayName != "YasuoDashScalar") { return; } cDash = args.Buff.Count; }; Obj_AI_Base.OnBuffAdd += (sender, args) => { if (!sender.IsMe || !args.Buff.Caster.IsMe) { return; } switch (args.Buff.DisplayName) { case "YasuoQ3W": haveQ3 = true; break; case "YasuoDashScalar": cDash = 1; break; case "YasuoRArmorPen": haveR = true; break; } }; Obj_AI_Base.OnBuffRemove += (sender, args) => { if (!sender.IsMe || !args.Buff.Caster.IsMe) { return; } switch (args.Buff.DisplayName) { case "YasuoQ3W": haveQ3 = false; break; case "YasuoDashScalar": cDash = 0; break; } }; AttackableUnit.OnDamage += (sender, args) => { if (!haveR || Player.NetworkId != args.SourceNetworkId) { return; } DelayAction.Add( 200, () => { haveR = false; DelayAction.Add( 100, () => Player.IssueOrder( GameObjectOrder.MoveTo, Player.ServerPosition.Extend(Game.CursorPos, 100 + Player.BoundingRadius))); }); }; Obj_AI_Base.OnProcessSpellCast += (sender, args) => { if (!sender.IsMe || args.Slot != SpellSlot.Q || !Player.IsDashing()) { return; } Variables.Orbwalker.SetAttackState(false); DelayAction.Add( 200, () => { Variables.Orbwalker.SetAttackState(true); DelayAction.Add( 100, () => Player.IssueOrder( GameObjectOrder.MoveTo, Player.ServerPosition.Extend(Game.CursorPos, 100 + Player.BoundingRadius))); }); }; Spellbook.OnCastSpell += (sender, args) => { if (!sender.Owner.IsMe || args.Slot != SpellSlot.Q || !Player.IsDashing()) { return; } switch (Variables.Orbwalker.GetActiveMode()) { case OrbwalkingMode.Combo: if (haveQ3 && GetQCirTarget.Count == 0) { Game.PrintChat("Block Q: Combo"); args.Process = false; } break; case OrbwalkingMode.LaneClear: if (GetQCirObj.Count == 0) { Game.PrintChat("Block Q: Clear"); args.Process = false; } break; } }; }