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; } } } }
private static void LaneClear() { if (ObjectManager.Player.ManaPercent < getSliderItem(laneclearMenu, "taliyah.laneclear.manaperc")) { return; } if (getCheckBoxItem(laneclearMenu, "taliyah.laneclear.useq") && Q.IsReady()) { var farm = Q.GetCircularFarmLocation(ObjectManager.Get <Obj_AI_Minion>().Where(p => p.IsEnemy && p.DistanceToPlayer() < Q.Range).ToList()); if (farm.MinionsHit >= getSliderItem(laneclearMenu, "taliyah.laneclear.minq")) { Q.Cast(farm.Position); } } if (getCheckBoxItem(laneclearMenu, "taliyah.laneclear.useew") && W.IsReady() && E.IsReady()) { var farm = W.GetCircularFarmLocation(ObjectManager.Get <Obj_AI_Minion>().Where(p => p.IsEnemy && p.DistanceToPlayer() < W.Range).ToList()); if (farm.MinionsHit >= getSliderItem(laneclearMenu, "taliyah.laneclear.minew")) { E.Cast(farm.Position); lastE = ObjectManager.Player.ServerPosition; if (W.Instance.Name == "TaliyahW") { W.Cast(farm.Position); } DelayAction.Add(250, () => ObjectManager.Player.Spellbook.CastSpell(SpellSlot.W, lastE, false)); } } }
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 override void OnDraw(EventArgs args) { base.OnDraw(args); if (getCheckBoxItem(MainMenu, "draww")) { Render.Circle.DrawCircle(ObjectManager.Player.Position, 550, W.IsReady() ? Color.Turquoise : Color.Red); } if (getCheckBoxItem(MainMenu, "drawq")) { Render.Circle.DrawCircle(ObjectManager.Player.Position, 800, Q.IsReady() ? Color.DarkMagenta : Color.Red); } if (getCheckBoxItem(MainMenu, "drawdebug")) { foreach (var healingCandidate in EntityManager.Heroes.Allies.Where(a => !a.IsMe && a.ServerPosition.Distance(ObjectManager.Player.ServerPosition) < 550 && !HealBlacklistMenu["dontheal" + a.CharData.BaseSkinName].Cast <CheckBox>().CurrentValue)) { if (healingCandidate != null) { var wtsPos = Drawing.WorldToScreen(healingCandidate.Position); Drawing.DrawText(wtsPos.X, wtsPos.Y, Color.White, "1W Heals " + Math.Round(GetWHealingAmount()) + "HP"); } } } }
public void HandleQ(OrbwalkingMode orbMode) { if (orbMode == OrbwalkingMode.Combo && IsOn(orbMode)) { var heroes = Variables.TargetSelector.GetTargets(SpellQ.Range, DamageType.Magical, false); foreach (var hero in heroes) { if (SpellQ.IsReady() && SpellQ.IsInRange(hero)) { var pred = SpellQ.GetPrediction(hero).CastPosition; SpellQ.Cast(pred); } } } else if ((orbMode == OrbwalkingMode.Hybrid || orbMode == OrbwalkingMode.LaneClear) && IsOn(orbMode)) { var minions = GameObjects.EnemyMinions.Where(m => SpellQ.IsInRange(m)).ToList(); var farmloc = SpellQ.GetLineFarmLocation(minions); var minionsN = GameObjects.Jungle.Where(m => SpellQ.IsInRange(m)).ToList(); var farmlocN = SpellQ.GetLineFarmLocation(minionsN); if (farmloc.MinionsHit >= 3) { SpellQ.Cast(farmloc.Position); } if (farmlocN.MinionsHit >= 1) { SpellQ.Cast(farmlocN.Position); } } else if (orbMode == OrbwalkingMode.LastHit && IsOn(orbMode)) { var minions = GameObjects.EnemyMinions.Where(m => SpellQ.IsInRange(m)).ToList(); var farmloc = SpellQ.GetLineFarmLocation(minions); if (farmloc.MinionsHit >= 3) { SpellQ.Cast(farmloc.Position); } } }
/// <summary> /// Thats basically provide combo damage /// </summary> /// <param name="spell1">Q Spell</param> /// <param name="spell2">W Spell</param> /// <param name="spell3">E Spell</param> /// <param name="spell4">R Spell</param> /// <param name="unit">Target</param> /// <returns></returns> public static float ComboDamage(this Spell spell1, Spell spell2, Spell spell3, Spell spell4, AIHeroClient unit) { var combodamage = 0f; if (spell1.IsReady()) { combodamage += spell1.GetDamage(unit); } if (spell2.IsReady()) { combodamage += spell2.GetDamage(unit); } if (spell3.IsReady()) { combodamage += spell2.GetDamage(unit); } if (spell4.IsReady()) { combodamage += spell2.GetDamage(unit); } return combodamage; }
/// <summary> /// Thats basically provide combo damage /// </summary> /// <param name="spell1">Q Spell</param> /// <param name="spell2">W Spell</param> /// <param name="spell3">E Spell</param> /// <param name="spell4">R Spell</param> /// <param name="unit">Target</param> /// <returns></returns> public static float ComboDamage(this Spell spell1, Spell spell2, Spell spell3, Spell spell4, AIHeroClient unit) { var combodamage = 0f; if (spell1.IsReady()) { combodamage += spell1.GetDamage(unit); } if (spell2.IsReady()) { combodamage += spell2.GetDamage(unit); } if (spell3.IsReady()) { combodamage += spell2.GetDamage(unit); } if (spell4.IsReady()) { combodamage += spell2.GetDamage(unit); } return(combodamage); }
public void DrawSpell(LeagueSharp.SDK.Spell spell) { if (spell == null) { return; } var color = System.Drawing.Color.White; var CanDraw = true; switch (spell.Slot) { case SpellSlot.Q: color = QColor; CanDraw = DrawQ; break; case SpellSlot.W: color = WColor; CanDraw = DrawW; break; case SpellSlot.E: color = EColor; CanDraw = DrawE; break; case SpellSlot.R: color = RColor; CanDraw = DrawR; break; } if (CanDraw && (!DrawReady || spell.IsReady())) { Render.Circle.DrawCircle(Me.Position, spell.Range, color); } }
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 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; } }; }
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() { 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)); }; }
private static void OnCombo() { try { bool useQ = ComboMenu["comboUseQ"].GetValue <MenuBool>() && Q.IsReady(); bool useW = ComboMenu["comboUseW"].GetValue <MenuBool>() && W.IsReady(); bool useE = ComboMenu["comboUseE"].GetValue <MenuBool>() && E.IsReady(); bool useR = ComboMenu["comboUseR"].GetValue <MenuBool>() && R.IsReady(); bool killpriority = TestFeatures["spPriority"].GetValue <MenuBool>() && R.IsReady(); bool rKillSteal = RSolo["rLastHit"].GetValue <MenuBool>(); AIHeroClient Etarget = Variables.TargetSelector.GetTarget(maxRangeE, DamageType.Magical); AIHeroClient Qtarget = Variables.TargetSelector.GetTarget(Q.Range, DamageType.Magical); AIHeroClient RTarget = Variables.TargetSelector.GetTarget(R.Range, DamageType.Magical); if (killpriority && Qtarget != null & Etarget != null && Etarget != Qtarget && ((Etarget.Health > TotalDmg(Etarget, false, true, false, false)) || (Etarget.Health > TotalDmg(Etarget, false, true, true, false) && Etarget == RTarget)) && Qtarget.Health < TotalDmg(Qtarget, true, true, false, false)) { Etarget = Qtarget; } if (RTarget != null && rKillSteal && useR && RSolo["RU" + RTarget.ChampionName].GetValue <MenuBool>()) { if (TotalDmg(RTarget, true, true, false, false) < RTarget.Health && TotalDmg(RTarget, true, true, true, true) > RTarget.Health) { R.Cast(RTarget.ServerPosition); } } if (useE) { if (Etarget != null) { PredictCastE(Etarget); } } if (useQ) { if (Qtarget != null) { Q.Cast(Qtarget); } } if (useW) { var t = Variables.TargetSelector.GetTarget(W.Range, DamageType.Magical); if (t != null) { if (t.Path.Count() < 2) { if (t.HasBuffOfType(BuffType.Slow)) { if (W.GetPrediction(t).Hitchance >= HitChance.VeryHigh) { if (W.Cast(t) == CastStates.SuccessfullyCasted) { return; } } } if (Extensions.CountEnemyHeroesInRange(t, 250) > 2) { if (W.GetPrediction(t).Hitchance >= HitChance.VeryHigh) { if (W.Cast(t) == CastStates.SuccessfullyCasted) { return; } } } } } } if (useR && R.Instance.Name == "ViktorChaosStorm" && player.CanCast && !player.Spellbook.IsCastingSpell) { foreach (var unit in GameObjects.EnemyHeroes.Where(h => h.IsValidTarget(R.Range))) { R.CastIfWillHit(unit, RMenu["HitR"].GetValue <MenuList>().Index + 1); } } } catch (Exception error) { Console.WriteLine(error.ToString()); } }
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; } }; }
private static void LaneClear() { if (ObjectManager.Player.ManaPercent < main_menu["taliyah.laneclear"]["taliyah.laneclear.manaperc"].GetValue <MenuSlider>().Value) { return; } if (main_menu["taliyah.laneclear"]["taliyah.laneclear.useq"].GetValue <MenuBool>().Value&& Q.IsReady()) { var farm = Q.GetCircularFarmLocation(ObjectManager.Get <Obj_AI_Minion>().Where(p => p.IsEnemy && p.DistanceToPlayer() < Q.Range).ToList()); if (farm.MinionsHit >= main_menu["taliyah.laneclear"]["taliyah.laneclear.minq"].GetValue <MenuSlider>().Value) { Q.Cast(farm.Position); } } if (main_menu["taliyah.laneclear"]["taliyah.laneclear.useew"].GetValue <MenuBool>().Value&& W.IsReady() && E.IsReady()) { var farm = W.GetCircularFarmLocation(ObjectManager.Get <Obj_AI_Minion>().Where(p => p.IsEnemy && p.DistanceToPlayer() < W.Range).ToList()); if (farm.MinionsHit >= main_menu["taliyah.laneclear"]["taliyah.laneclear.minew"].GetValue <MenuSlider>().Value) { E.Cast(farm.Position); lastE = ObjectManager.Player.ServerPosition; if (W.Instance.Name == "TaliyahW") { W.Cast(farm.Position, lastE.ToVector2()); } } } }
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); } } }; }