static void SetSpells() { Q = new EloBuddy.SDK.Spell.Skillshot(EloBuddy.SpellSlot.Q, 900, EloBuddy.SDK.Enumerations.SkillShotType.Linear, 250, 1700, 50); W = new EloBuddy.SDK.Spell.Targeted(EloBuddy.SpellSlot.W, 600); E = new EloBuddy.SDK.Spell.Targeted(EloBuddy.SpellSlot.E, 600); R = new EloBuddy.SDK.Spell.Active(EloBuddy.SpellSlot.R); }
public static void Game_OnGameLoad() { // Champ validation if (player.ChampionName != CHAMP_NAME) return; // Define spells Q = new LeagueSharp.Common.Spell(SpellSlot.Q, 600); W = new LeagueSharp.Common.Spell(SpellSlot.W, 700); E = new LeagueSharp.Common.Spell(SpellSlot.E, rangeE); R = new LeagueSharp.Common.Spell(SpellSlot.R, 700); // Finetune spells Q.SetTargetted(0.25f, 2000); W.SetSkillshot(0.5f, 300, float.MaxValue, false, SkillshotType.SkillshotCircle); E.SetSkillshot(0, 80, speedE, false, SkillshotType.SkillshotLine); R.SetSkillshot(0.25f, 450f, float.MaxValue, false, SkillshotType.SkillshotCircle); EELO = new EloBuddy.SDK.Spell.Skillshot(SpellSlot.E, 525, SkillShotType.Linear, 250, int.MaxValue, 100); EELO.AllowedCollisionCount = int.MaxValue; // Create menu SetupMenu(); // Register events Game.OnUpdate += Game_OnGameUpdate; Drawing.OnDraw += Drawing_OnDraw; Orbwalker.OnUnkillableMinion += Orbwalker_OnUnkillableMinion; Orbwalker.OnPreAttack += OrbwalkingOnBeforeAttack; EloBuddy.SDK.Events.Gapcloser.OnGapcloser += Gapcloser_OnGapcloser; EloBuddy.SDK.Events.Interrupter.OnInterruptableSpell += Interrupter_OnInterruptableSpell; }
public virtual Vector3 FarmCastCircular(EloBuddy.SDK.Spell.Skillshot spell, IEnumerable <Obj_AI_Minion> mobList, int minHit = 2) { var bestPos = Vector3.Zero; var countBestPos = 0; foreach (var aiBase in mobList) { if (countBestPos == 0) { bestPos = aiBase.ServerPosition; countBestPos = EntityManager.MinionsAndMonsters.CombinedAttackable.Count( t => t != null && t.IsValidTarget(spell.Radius)); } else { var newBestPos = EntityManager.MinionsAndMonsters.CombinedAttackable.Count( t => t != null && t.IsValidTarget(spell.Radius)); if (newBestPos <= countBestPos) { continue; } countBestPos = newBestPos; bestPos = aiBase.ServerPosition; } } return(countBestPos >= minHit ? bestPos : Vector3.Zero); }
public static void Game_OnGameLoad() { // Champ validation if (player.ChampionName != CHAMP_NAME) { return; } // Define spells Q = new LeagueSharp.Common.Spell(SpellSlot.Q, 600); W = new LeagueSharp.Common.Spell(SpellSlot.W, 700); E = new LeagueSharp.Common.Spell(SpellSlot.E, rangeE); R = new LeagueSharp.Common.Spell(SpellSlot.R, 700); // Finetune spells Q.SetTargetted(0.25f, 2000); W.SetSkillshot(0.5f, 300, float.MaxValue, false, SkillshotType.SkillshotCircle); E.SetSkillshot(0, 80, speedE, false, SkillshotType.SkillshotLine); R.SetSkillshot(0.25f, 450f, float.MaxValue, false, SkillshotType.SkillshotCircle); EELO = new EloBuddy.SDK.Spell.Skillshot(SpellSlot.E, 525, SkillShotType.Linear, 250, int.MaxValue, 100); EELO.AllowedCollisionCount = int.MaxValue; // Create menu SetupMenu(); // Register events Game.OnUpdate += Game_OnGameUpdate; Drawing.OnDraw += Drawing_OnDraw; Orbwalker.OnUnkillableMinion += Orbwalker_OnUnkillableMinion; Orbwalker.OnPreAttack += OrbwalkingOnBeforeAttack; EloBuddy.SDK.Events.Gapcloser.OnGapcloser += Gapcloser_OnGapcloser; EloBuddy.SDK.Events.Interrupter.OnInterruptableSpell += Interrupter_OnInterruptableSpell; }
static void SetSpells() { Q = new EloBuddy.SDK.Spell.Skillshot(EloBuddy.SpellSlot.Q, 900, EloBuddy.SDK.Enumerations.SkillShotType.Linear, 250, 1700, 50); if (HasRyzeRBuff) { Q.AllowedCollisionCount = int.MaxValue; } W = new EloBuddy.SDK.Spell.Targeted(EloBuddy.SpellSlot.W, 600); E = new EloBuddy.SDK.Spell.Targeted(EloBuddy.SpellSlot.E, 600); R = new EloBuddy.SDK.Spell.Active(EloBuddy.SpellSlot.R); }
public static void OnLoad() { if (myHero.Hero != Champion.KogMaw) { return; } Menu = MainMenu.AddMenu("SharpShooter Kog", "kogmaw"); Menu.AddLabel("Ported from SharpShooter - Berb"); Menu.AddSeparator(); Menu.AddGroupLabel("Combo"); Menu.Add("useQ", new CheckBox("Use Q")); Menu.Add("useW", new CheckBox("Use W")); Menu.Add("useE", new CheckBox("Use E")); Menu.Add("useR", new CheckBox("Use R")); Menu.Add("manaW", new CheckBox("Keep Mana For W")); Menu.Add("dontw", new KeyBind("Don't move in combo", false, KeyBind.BindTypes.PressToggle, 'A')); Menu.Add("rLimit", new Slider("R stack limit", 3, 1, 6)); Menu.Add("onlyRHP", new CheckBox("Only R if HP of target < than X")); Menu.Add("hpOfTarget", new Slider("HP% Of Target")); Menu.AddSeparator(); Menu.AddGroupLabel("Harass"); Menu.Add("useQH", new CheckBox("Use Q")); Menu.Add("useEH", new CheckBox("Use E")); Menu.Add("useRH", new CheckBox("Use R")); Menu.Add("rLimitH", new Slider("R stack limit", 1, 1, 6)); Menu.Add("manaH", new Slider("Do Harass if mana is greater than :", 60, 1)); Menu.AddSeparator(); Menu.AddGroupLabel("Lane Clear"); Menu.Add("useELC", new CheckBox("Use E")); Menu.Add("useRLC", new CheckBox("Use R")); Menu.Add("rLimitLC", new Slider("R stack limit", 1, 1, 6)); Menu.Add("manaLC", new Slider("Do Lane Clear if mana is greater than :", 60, 1)); Menu.AddSeparator(); Menu.AddGroupLabel("Jungle Clear"); Menu.Add("useWJG", new CheckBox("Use W")); Menu.Add("useEJG", new CheckBox("Use E")); Menu.Add("useRJG", new CheckBox("Use R")); Menu.Add("rLimitJG", new Slider("R stack limit", 2, 1, 6)); Menu.Add("manaJG", new Slider("Do Jungle if mana is greater than :", 60, 1)); Menu.AddSeparator(); Q = new EloBuddy.SDK.Spell.Skillshot(SpellSlot.Q, 950, SkillShotType.Linear, 250, 1650, 70); W = new EloBuddy.SDK.Spell.Active(SpellSlot.W, (uint)myHero.GetAutoAttackRange()); E = new EloBuddy.SDK.Spell.Skillshot(SpellSlot.E, 650, SkillShotType.Linear, 500, 1400, 120); R = new EloBuddy.SDK.Spell.Skillshot(SpellSlot.R, 1800, SkillShotType.Circular, 1200, int.MaxValue, 120); Drawing.OnDraw += OnDraw; Game.OnTick += OnTick; Orbwalker.OnPreAttack += OnPreAttack; }
public virtual bool HitChanceCast(EloBuddy.SDK.Spell.Skillshot spell, Obj_AI_Base target, float chance = 85) { var pred = spell.GetPrediction(target); if (pred.HitChancePercent >= chance) { if (spell.Cast(pred.CastPosition)) { return(true); } } return(false); }
/// <summary> /// Sets the Spell Data to Skill-shot data. /// </summary> /// <param name="delay"> /// Spell Delay /// </param> /// <param name="skillWidth"> /// Spell Width /// </param> /// <param name="speed"> /// Spell Speed /// </param> /// <param name="collision"> /// Spell Collision Flag /// </param> /// <param name="type"> /// Skill-shot Type /// </param> /// <param name="fromVector3"> /// From Vector3 Source /// </param> /// <param name="rangeCheckFromVector3"> /// Range Check From Vector3 Source /// </param> /// <returns> /// The <see cref="Spell" />. /// </returns> public Spell SetSkillshot( float delay, float skillWidth, float speed, bool collision, SkillshotType type, Vector3 fromVector3 = default(Vector3), Vector3 rangeCheckFromVector3 = default(Vector3)) { this.Delay = delay; this.Width = skillWidth; this.Speed = speed; this.From = fromVector3; this.Collision = collision; this.Type = type; this.RangeCheckFrom = rangeCheckFromVector3; this.IsSkillshot = true; IsChargedSpell = false; if (speed == float.MaxValue) { speed = 2147483648f; } charge = null; if (type == SkillshotType.SkillshotCircle) { skillshot = new EloBuddy.SDK.Spell.Skillshot(Slot, (uint)range, EloBuddy.SDK.Enumerations.SkillShotType.Circular, (int)(delay * 1000), (int)(speed), (int)width); } if (Type == SkillshotType.SkillshotCone) { skillshot = new EloBuddy.SDK.Spell.Skillshot(Slot, (uint)range, EloBuddy.SDK.Enumerations.SkillShotType.Cone, (int)(delay * 1000), (int)(speed), (int)width); } if (Type == SkillshotType.SkillshotLine) { skillshot = new EloBuddy.SDK.Spell.Skillshot(Slot, (uint)range, EloBuddy.SDK.Enumerations.SkillShotType.Linear, (int)(delay * 1000), (int)(speed), (int)width); } if (collision) { skillshot.AllowedCollisionCount = 0; } return(this); }
static SpellManager() { Q = new EloBuddy.SDK.Spell.Skillshot(SpellSlot.Q, 1175, SkillShotType.Linear, 250, 1200, 70) { AllowedCollisionCount = 1 }; W = new EloBuddy.SDK.Spell.Skillshot(SpellSlot.W, 1075, SkillShotType.Linear, 0, 1400, 85) { AllowedCollisionCount = int.MaxValue }; E = new EloBuddy.SDK.Spell.Skillshot(SpellSlot.E, 1100, SkillShotType.Circular, 250, 1300, 275) { AllowedCollisionCount = int.MaxValue }; R = new EloBuddy.SDK.Spell.Skillshot(SpellSlot.R, 3340, SkillShotType.Circular, 500, int.MaxValue, 250) { AllowedCollisionCount = int.MaxValue }; }
/// <summary> /// Fired when the game loads. /// </summary> /// <param name="args">The <see cref="EventArgs" /> instance containing the event data.</param> public static void OnGameLoad(EventArgs args) { try { if (Player.ChampionName != "AurelionSol") { return; } var igniteSlot = Player.GetSpellSlot("summonerdot"); if (igniteSlot != SpellSlot.Unknown) { IgniteSpell = new Spell(igniteSlot, 600f); } Q = new Spell(SpellSlot.Q, 650f); W1 = new Spell(SpellSlot.W, 350f); W = new Spell(SpellSlot.W, 600f); E = new Spell(SpellSlot.E, 400f); R = new Spell(SpellSlot.R, 1420f); Q.SetSkillshot(0.25f, 180, 850, false, SkillshotType.SkillshotLine); R.SetSkillshot(0.25f, 300, 4500, false, SkillshotType.SkillshotLine); ElR = new EloBuddy.SDK.Spell.Skillshot(SpellSlot.R, 1420, EloBuddy.SDK.Enumerations.SkillShotType.Linear, 250, 1750, 180); GenerateMenu(); Game.OnUpdate += OnUpdate; Drawing.OnDraw += OnDraw; Orbwalking.BeforeAttack += OrbwalkingBeforeAttack; AntiGapcloser.OnEnemyGapcloser += AntiGapcloser_OnEnemyGapcloser; Interrupter2.OnInterruptableTarget += Interrupter2_OnInterruptableTarget; } catch (Exception exception) { Console.WriteLine(exception); } }
public void SetSkillshot(float delay, float width, float speed, bool collision, SkillshotType type, Vector3 from = new Vector3(), Vector3 rangeCheckFrom = new Vector3()) { From = from; Collision = collision; Type = type; RangeCheckFrom = rangeCheckFrom; IsTargeted = false; IsSkillshot = true; IsChargedSpell = false; if (speed == float.MaxValue) { speed = 2147483648f; } charge = null; targeted = null; if (type == SkillshotType.SkillshotCircle) { skillshot = new EloBuddy.SDK.Spell.Skillshot(Slot, (uint)_range, SkillShotType.Circular, (int)(delay * 1000), (int)(speed), (int)width); } if (Type == SkillshotType.SkillshotCone) { skillshot = new EloBuddy.SDK.Spell.Skillshot(Slot, (uint)_range, SkillShotType.Cone, (int)(delay * 1000), (int)(speed), (int)width); } if (Type == SkillshotType.SkillshotLine) { skillshot = new EloBuddy.SDK.Spell.Skillshot(Slot, (uint)_range, SkillShotType.Linear, (int)(delay * 1000), (int)(speed), (int)width); } if (collision) { skillshot.AllowedCollisionCount = 0; } }
public static void OnLoad() { if (myHero.Hero != Champion.Draven) { return; } Chat.Print("<font color=\"#7CFC00\"><b>League Of Draven:</b></font> Loaded"); Menu = MainMenu.AddMenu("League Of Draven", "draven"); Menu.AddLabel("Ported from Exory's Ultima Series + Extra's - Berb"); Menu.AddSeparator(); Menu.AddGroupLabel("Combo"); Menu.Add("useQ", new CheckBox("Use Q")); Menu.Add("useW", new CheckBox("Use W")); Menu.Add("useE", new CheckBox("Use E")); Menu.Add("useR", new CheckBox("Use R")); Menu.Add("enemyCount", new Slider("Use R if it will hit X enemies", 2, 1, 5)); Menu.AddSeparator(); Menu.AddGroupLabel("Harass"); Menu.Add("useQH", new CheckBox("Use Q")); Menu.Add("useWH", new CheckBox("Use W")); Menu.Add("useEH", new CheckBox("Use E")); Menu.Add("manaH", new Slider("Mininum Mana for Harass", 65)); Menu.AddSeparator(); Menu.AddGroupLabel("Lane Clear"); Menu.Add("useQLC", new CheckBox("Use Q")); Menu.Add("useELC", new CheckBox("Use E")); Menu.Add("manaLC", new Slider("Mininum Mana for Lane Clear", 90)); Menu.AddSeparator(); Menu.AddGroupLabel("Jungle Clear"); Menu.Add("useQJG", new CheckBox("Use Q")); Menu.Add("useEJG", new CheckBox("Use E")); Menu.Add("manaJG", new Slider("Mininum Mana for Jungle Clear", 65)); Menu.AddSeparator(); Menu.AddGroupLabel("Misc."); Menu.Add("interrupt", new CheckBox("Interrupter")); Menu.Add("gapcloser", new CheckBox("Gapcloser")); Menu.Add("catchaxe", new CheckBox("Auto Catch Axe")); Menu.Add("onlycatch", new CheckBox("Only catch when orbwalking?")); Menu.AddSeparator(); Menu.Add("drawe", new CheckBox("Draw E")); Menu.Add("drawr", new CheckBox("Draw R")); Menu.Add("drawaxe", new CheckBox("Draw Axe Catch Range")); Menu.Add("drawaxedrop", new CheckBox("Draw Axe Object")); Menu.AddSeparator(); Menu.Add("mine", new Slider("Mininum Mana for E", 65)); Menu.Add("catchaxerange", new Slider("Axe Catch Range", 600, 0, 2000)); Menu.AddSeparator(); Q = new EloBuddy.SDK.Spell.Active(SpellSlot.Q, (uint)myHero.GetAutoAttackRange()); W = new EloBuddy.SDK.Spell.Active(SpellSlot.W); E = new EloBuddy.SDK.Spell.Skillshot(SpellSlot.E, 1020, SkillShotType.Linear, 250, 1400, 120); R = new EloBuddy.SDK.Spell.Skillshot(SpellSlot.R, 2500, SkillShotType.Linear, 400, 2000, 160); Game.OnTick += OnUpdate; Drawing.OnDraw += Drawing_OnDraw; Orbwalker.OnPreAttack += Orbwalker_OnPreAttack; GameObject.OnCreate += GameObject_OnCreate; GameObject.OnDelete += GameObject_OnDelete; Player.OnIssueOrder += Player_OnIssueOrder; EloBuddy.SDK.Events.Gapcloser.OnGapcloser += OnEnemyGapcloser; EloBuddy.SDK.Events.Interrupter.OnInterruptableSpell += OnInterruptableTarget; Obj_AI_Base.OnProcessSpellCast += Obj_AI_Base_OnProcessSpellCast; }
private static void OnTick(EventArgs args) { if (myHero.IsDead) return; W = new EloBuddy.SDK.Spell.Active(SpellSlot.W, (uint)(565 + 60 + W.Level * 30 + 65)); R = new EloBuddy.SDK.Spell.Skillshot(SpellSlot.R, (uint)(900 + R.Level * 300), SkillShotType.Circular, 1500, int.MaxValue, 225); if (Orbwalker.CanMove) { if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) { if (useQ) { if (QIsReadyPerfectly()) { if (!manaW || W.Level <= 0 || myHero.Mana - getSpellMana(SpellSlot.Q) >= getSpellMana(SpellSlot.W)) { var target = TargetSelector.GetTarget(Q.Range, DamageType.Magical); if (target != null) { Q.Cast(target); } } } } if (useW) { if (WIsReadyPerfectly()) { if (EntityManager.Heroes.Enemies.Any(x => x.IsValidTarget(W.Range))) { W.Cast(); } } } if (useE) { if (EIsReadyPerfectly()) { if (!manaW || W.Level <= 0 || myHero.Mana - getSpellMana(SpellSlot.E) >= getSpellMana(SpellSlot.W)) { var target = TargetSelector.GetTarget(E.Range, DamageType.Magical); if (target != null) { E.Cast(target); } } } } if (useR) { if (RIsReadyPerfectly()) { if (!manaW || W.Level <= 0 || myHero.Mana - getSpellMana(SpellSlot.R) >= getSpellMana(SpellSlot.W)) { if (myHero.GetBuffCount("kogmawlivingartillerycost") < rLimit) { var target = TargetSelector.GetTarget(R.Range, DamageType.Magical); if (target != null) { if (onlyRHP) { if (target.HealthPercent < hpOfTarget) { R.Cast(target); } } else { R.Cast(target); } } } else { var killableTarget = EntityManager.Heroes.Enemies.FirstOrDefault(x => x.IsKillableAndValidTarget(myHero.GetSpellDamage(x, SpellSlot.R), DamageType.Magical, R.Range) && R.GetPrediction(x).HitChance >= EloBuddy.SDK.Enumerations.HitChance.High); if (killableTarget != null) { R.Cast(killableTarget); } } } } } } else if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass)) { if (useQH) { if (QIsReadyPerfectly()) if (myHero.IsManaPercentOkay(manaH)) { var target = TargetSelector.GetTarget(Q.Range, DamageType.Magical); if (target != null) Q.Cast(target); } } if (useEH) { if (EIsReadyPerfectly()) if (myHero.IsManaPercentOkay(manaH)) { var target = TargetSelector.GetTarget(E.Range, DamageType.Magical); if (target != null) E.Cast(target); } } if (useRH) { if (RIsReadyPerfectly()) { if (myHero.IsManaPercentOkay(manaH)) { if (myHero.GetBuffCount("kogmawlivingartillerycost") < rLimitH) { var target = TargetSelector.GetTarget(R.Range, DamageType.Magical); if (target != null) R.Cast(target); } } } } } else if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear)) { foreach ( var minion in EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy, myHero.ServerPosition, myHero.GetAutoAttackRange())) { if (useELC) { if (myHero.IsManaPercentOkay(manaLC)) { if (EIsReadyPerfectly()) { var minions = EntityManager.MinionsAndMonsters.GetLaneMinions( EntityManager.UnitTeam.Enemy, myHero.ServerPosition, E.Range); var farmLocation = EntityManager.MinionsAndMonsters.GetLineFarmLocation( minions, E.Width, (int)E.Range); if (farmLocation.HitNumber >= 3) E.Cast(farmLocation.CastPosition); } } } if (useRLC) { if (myHero.IsManaPercentOkay(manaLC)) { if (RIsReadyPerfectly()) { if (myHero.GetBuffCount("kogmawlivingartillerycost") < rLimitLC) { var minions = EntityManager.MinionsAndMonsters.GetLaneMinions( EntityManager.UnitTeam.Enemy, myHero.ServerPosition, R.Range); var farmLocation = EntityManager.MinionsAndMonsters.GetCircularFarmLocation(minions, R.Width, (int)R.Range); if (farmLocation.HitNumber >= 2) { R.Cast(farmLocation.CastPosition); } } } } } } foreach ( var jungleMobs in ObjectManager.Get<Obj_AI_Minion>() .Where( o => o.IsValidTarget(W.Range) && o.Team == GameObjectTeam.Neutral && o.IsVisible && !o.IsDead)) { if (WIsReadyPerfectly()) if (useWJG) W.Cast(); if (useEJG) { if (myHero.IsManaPercentOkay(manaJG)) { if (EIsReadyPerfectly()) { var minions = EntityManager.MinionsAndMonsters.GetJungleMonsters(myHero.ServerPosition, E.Range); var farmLocation = EntityManager.MinionsAndMonsters.GetLineFarmLocation( minions, E.Width, (int)E.Range); if (farmLocation.HitNumber >= 2) { E.Cast(farmLocation.CastPosition); } } } } if (useRJG) { if (myHero.IsManaPercentOkay(manaJG)) { if (RIsReadyPerfectly()) { if (myHero.GetBuffCount("kogmawlivingartillerycost") < rLimitJG) { var minions = EntityManager.MinionsAndMonsters.GetJungleMonsters( myHero.ServerPosition, R.Range); var farmLocation = EntityManager.MinionsAndMonsters.GetCircularFarmLocation(minions, R.Width, (int)R.Range); if (farmLocation.HitNumber >= 2) { R.Cast(farmLocation.CastPosition); } } } } } } } } }
public static void OnLoad() { if (myHero.Hero != Champion.KogMaw) { return; } Menu = MainMenu.AddMenu("SharpShooter Kog", "kogmaw"); Menu.AddLabel("Ported from SharpShooter - Berb"); Menu.AddSeparator(); Menu.AddGroupLabel("Combo"); Menu.Add("useQ", new CheckBox("Use Q")); Menu.Add("useW", new CheckBox("Use W")); Menu.Add("useE", new CheckBox("Use E")); Menu.Add("useR", new CheckBox("Use R")); Menu.Add("manaW", new CheckBox("Keep Mana For W")); Menu.Add("dontw", new KeyBind("Don't move in combo", false, KeyBind.BindTypes.PressToggle, 'A')); Menu.Add("rLimit", new Slider("R stack limit", 3, 1, 6)); Menu.Add("onlyRHP", new CheckBox("Only R if HP of target < than X")); Menu.Add("hpOfTarget", new Slider("HP% Of Target")); Menu.AddSeparator(); Menu.AddGroupLabel("Harass"); Menu.Add("useQH", new CheckBox("Use Q")); Menu.Add("useEH", new CheckBox("Use E")); Menu.Add("useRH", new CheckBox("Use R")); Menu.Add("rLimitH", new Slider("R stack limit", 1, 1, 6)); Menu.Add("manaH", new Slider("Do Harass if mana is greater than :", 60, 1)); Menu.AddSeparator(); Menu.AddGroupLabel("Lane Clear"); Menu.Add("useELC", new CheckBox("Use E")); Menu.Add("useRLC", new CheckBox("Use R")); Menu.Add("rLimitLC", new Slider("R stack limit", 1, 1, 6)); Menu.Add("manaLC", new Slider("Do Lane Clear if mana is greater than :", 60, 1)); Menu.AddSeparator(); Menu.AddGroupLabel("Jungle Clear"); Menu.Add("useWJG", new CheckBox("Use W")); Menu.Add("useEJG", new CheckBox("Use E")); Menu.Add("useRJG", new CheckBox("Use R")); Menu.Add("rLimitJG", new Slider("R stack limit", 2, 1, 6)); Menu.Add("manaJG", new Slider("Do Jungle if mana is greater than :", 60, 1)); Menu.AddSeparator(); Q = new EloBuddy.SDK.Spell.Skillshot(SpellSlot.Q, 950, SkillShotType.Linear, 250, 1650, 70); W = new EloBuddy.SDK.Spell.Active(SpellSlot.W, (uint)myHero.GetAutoAttackRange()); E = new EloBuddy.SDK.Spell.Skillshot(SpellSlot.E, 650, SkillShotType.Linear, 500, 1400, 120); R = new EloBuddy.SDK.Spell.Skillshot(SpellSlot.R, 1800, SkillShotType.Circular, 1200, int.MaxValue, 120); Drawing.OnDraw += OnDraw; Game.OnTick += OnTick; Orbwalker.OnPreAttack += OnPreAttack; }
public LeeSin() { Q = new LeagueSharp.SDK.Spell(SpellSlot.Q, 995).SetSkillshot(0.265f, 69, 1850, true, SkillshotType.SkillshotLine); QELO = new EloBuddy.SDK.Spell.Skillshot(SpellSlot.Q, 995, SkillShotType.Linear, 265, 1850, 69); Q2 = new LeagueSharp.SDK.Spell(Q.Slot, 1300); W = new LeagueSharp.SDK.Spell(SpellSlot.W, 700); E = new LeagueSharp.SDK.Spell(SpellSlot.E, 425).SetTargetted(0.265f, float.MaxValue); E2 = new LeagueSharp.SDK.Spell(E.Slot, 570); R = new LeagueSharp.SDK.Spell(SpellSlot.R, 375); R2 = new LeagueSharp.SDK.Spell(R.Slot).SetSkillshot(0.325f, 0, 950, false, Q.Type); Q.DamageType = Q2.DamageType = W.DamageType = R.DamageType = DamageType.Physical; E.DamageType = DamageType.Magical; Q.MinHitChance = LeagueSharp.SDK.HitChance.VeryHigh; WardManager.Init(); Insec.Init(); kuMenu = config.AddSubMenu("KnockUp", "Knock Up"); kuMenu.AddGroupLabel("Auto Knock Up Settings"); kuMenu.Add("RAuto", new KeyBind("Use R", false, KeyBind.BindTypes.PressToggle, 'L')); kuMenu.Add("RAutoKill", new CheckBox("If Kill Enemy Behind")); kuMenu.Add("RAutoCountA", new Slider("Or Hit Enemy Behind >=", 1, 1, 4)); comboMenu = config.AddSubMenu("Combo", "Combo"); comboMenu.Add("Ignite", new CheckBox("Use Ignite")); comboMenu.Add("Item", new CheckBox("Use Item")); comboMenu.Add("W", new CheckBox("Use W", false)); comboMenu.Add("E", new CheckBox("Use E")); comboMenu.AddGroupLabel("Q Settings"); comboMenu.Add("Q", new CheckBox("Use Q")); comboMenu.Add("Q2", new CheckBox("Also Q2")); comboMenu.Add("Q2Obj", new CheckBox("Q2 Even Miss", false)); comboMenu.Add("QCol", new CheckBox("Smite Collision")); comboMenu.AddGroupLabel("Star Combo Settings"); comboMenu.Add("Star", new KeyBind("Star Combo", false, KeyBind.BindTypes.HoldActive, 'X')); comboMenu.Add("StarKill", new CheckBox("Auto Star Combo If Killable", false)); lcMenu = config.AddSubMenu("LaneClear", "Lane Clear"); lcMenu.Add("W", new CheckBox("Use W", false)); lcMenu.Add("E", new CheckBox("Use E")); lcMenu.AddGroupLabel("Q Settings"); lcMenu.Add("Q", new CheckBox("Use Q")); lcMenu.Add("QBig", new CheckBox("Only Q Big Mob In Jungle")); lhMenu = config.AddSubMenu("LastHit", "Last Hit"); lhMenu.Add("Q", new CheckBox("Use Q1")); 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")); ksMenu.AddGroupLabel("Extra R Settings"); foreach (var enemy in ObjectManager.Get<AIHeroClient>().Where(o => o.IsEnemy)) { ksMenu.Add("RCast" + enemy.NetworkId, new CheckBox("Cast On " + enemy.ChampionName, false)); } drawMenu = config.AddSubMenu("Draw", "Draw"); drawMenu.Add("Q", new CheckBox("Q Range", false)); drawMenu.Add("W", new CheckBox("W Range", false)); drawMenu.Add("E", new CheckBox("E Range", false)); drawMenu.Add("R", new CheckBox("R Range", false)); drawMenu.Add("KnockUp", new CheckBox("Auto Knock Up Status")); miscMenu = config.AddSubMenu("Misc", "Misc"); miscMenu.Add("FleeW", new KeyBind("Use W To Flee", false, KeyBind.BindTypes.HoldActive, 'C')); miscMenu.Add("RFlash", new KeyBind("R-Flash To Mouse", false, KeyBind.BindTypes.HoldActive, 'Z')); Console.WriteLine("-----------DON'T MIND THE ERRORS BELOW-----------------"); Console.WriteLine("-----------DON'T MIND THE ERRORS BELOW-----------------"); Console.WriteLine("-----------DON'T MIND THE ERRORS BELOW-----------------"); Game.OnUpdate += OnUpdate; Drawing.OnDraw += OnDraw; Game.OnUpdate += args => { if (cPassive == 0 || cPassive == 1) { return; } var count = Player.GetBuffCount("BlindMonkFlurry"); if (count < cPassive) { cPassive = count; } }; Obj_AI_Base.OnBuffGain += (sender, args) => { if (sender.IsMe) { if (args.Buff.DisplayName == "BlindMonkFlurry") { cPassive = 2; } else if (args.Buff.DisplayName == "BlindMonkQTwoDash") { isDashing = true; } } else if (sender.IsEnemy && args.Buff.Caster.IsMe) { if (args.Buff.DisplayName == "BlindMonkSonicWave") { objQ = sender; } else if (args.Buff.Name == "blindmonkrroot" && sender is AIHeroClient && Flash.IsReady()) { CastRFlash(sender); } } }; Obj_AI_Base.OnBuffLose += (sender, args) => { if (sender.IsMe) { if (args.Buff.DisplayName == "BlindMonkFlurry") { cPassive = 0; } else if (args.Buff.DisplayName == "BlindMonkQTwoDash") { isDashing = false; } } else if (sender.IsEnemy && args.Buff.Caster.IsMe && args.Buff.DisplayName == "BlindMonkSonicWave") { objQ = null; } }; Obj_AI_Base.OnProcessSpellCast += (sender, args) => { if (!sender.IsMe || args.Slot != SpellSlot.R) { return; } lastR = Variables.TickCount; }; }
static void SetSpells() { Q = new EloBuddy.SDK.Spell.Skillshot(EloBuddy.SpellSlot.Q, 900, EloBuddy.SDK.Enumerations.SkillShotType.Linear, 250, 1700, 50); W = new EloBuddy.SDK.Spell.Targeted(EloBuddy.SpellSlot.W, 600); E = new EloBuddy.SDK.Spell.Targeted(EloBuddy.SpellSlot.E, 600); R = new EloBuddy.SDK.Spell.Active(EloBuddy.SpellSlot.R); }
public static void OnLoad() { if (myHero.Hero != Champion.Draven) { return; } Chat.Print("<font color=\"#7CFC00\"><b>League Of Draven:</b></font> Loaded"); Menu = MainMenu.AddMenu("德莱联盟", "draven"); Menu.AddLabel("Ported from Exory's Ultima Series + Extra's - Berb"); Menu.AddSeparator(); Menu.AddGroupLabel("连招"); Menu.Add("useQ", new CheckBox("Use Q")); Menu.Add("useW", new CheckBox("Use W")); Menu.Add("useE", new CheckBox("Use E")); Menu.Add("useR", new CheckBox("Use R")); Menu.Add("enemyCount", new Slider("Use R if it will hit X enemies", 2, 1, 5)); Menu.AddSeparator(); Menu.AddGroupLabel("骚扰"); Menu.Add("useQH", new CheckBox("使用 Q")); Menu.Add("useEH", new CheckBox("使用 E")); Menu.Add("useRH", new CheckBox("使用 R")); Menu.Add("manaH", new Slider("Mininum Mana for Harass", 65)); Menu.AddSeparator(); Menu.AddGroupLabel("清线"); Menu.Add("useQLC", new CheckBox("使用 Q", true)); Menu.Add("useELC", new CheckBox("使用 E", true)); Menu.Add("manaLC", new Slider("Mininum Mana for Lane Clear", 90)); Menu.AddSeparator(); Menu.AddGroupLabel("清野"); Menu.Add("useQJG", new CheckBox("使用 Q", true)); Menu.Add("useEJG", new CheckBox("使用 E", true)); Menu.Add("manaJG", new Slider("Mininum Mana for Jungle Clear", 65)); Menu.AddSeparator(); Menu.AddGroupLabel("杂项."); Menu.Add("interrupt", new CheckBox("技能打断")); Menu.Add("gapcloser", new CheckBox("防突进")); Menu.Add("catchaxe", new CheckBox("自动接斧头")); Menu.Add("onlycatch", new CheckBox("只在移动时接?(EB按键移动,非鼠标)")); Menu.AddSeparator(); Menu.Add("drawe", new CheckBox("显示 E")); Menu.Add("drawr", new CheckBox("显示 R")); Menu.Add("drawaxe", new CheckBox("显示接斧头范围")); Menu.Add("drawaxedrop", new CheckBox("显示斧头物体位置")); Menu.AddSeparator(); Menu.Add("mine", new Slider("最低蓝量使用E", 65)); Menu.Add("catchaxerange", new Slider("接斧范围", 600, 0, 2000)); Menu.AddSeparator(); Q = new EloBuddy.SDK.Spell.Active(SpellSlot.Q, (uint)myHero.GetAutoAttackRange()); W = new EloBuddy.SDK.Spell.Active(SpellSlot.W); E = new EloBuddy.SDK.Spell.Skillshot(SpellSlot.E, 1020, SkillShotType.Linear, 250, 1400, 120); R = new EloBuddy.SDK.Spell.Skillshot(SpellSlot.R, 2500, SkillShotType.Linear, 400, 2000, 160); Game.OnTick += OnUpdate; Drawing.OnDraw += Drawing_OnDraw; Orbwalker.OnPreAttack += Orbwalker_OnPreAttack; GameObject.OnCreate += GameObject_OnCreate; GameObject.OnDelete += GameObject_OnDelete; Player.OnIssueOrder += Player_OnIssueOrder; EloBuddy.SDK.Events.Gapcloser.OnGapcloser += OnEnemyGapcloser; EloBuddy.SDK.Events.Interrupter.OnInterruptableSpell += OnInterruptableTarget; Obj_AI_Base.OnProcessSpellCast += Obj_AI_Base_OnProcessSpellCast; }
private static void OnTick(EventArgs args) { if (myHero.IsDead) { return; } W = new EloBuddy.SDK.Spell.Active(SpellSlot.W, (uint)(565 + 60 + W.Level * 30 + 65)); R = new EloBuddy.SDK.Spell.Skillshot(SpellSlot.R, (uint)(900 + R.Level * 300), SkillShotType.Circular, 1500, int.MaxValue, 225); if (Orbwalker.CanMove) { if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) { if (useQ) { if (QIsReadyPerfectly()) { if (!manaW || W.Level <= 0 || myHero.Mana - getSpellMana(SpellSlot.Q) >= getSpellMana(SpellSlot.W)) { var target = TargetSelector.GetTarget(Q.Range, DamageType.Magical); if (target != null) { Q.Cast(target); } } } } if (useW) { if (WIsReadyPerfectly()) { if (EntityManager.Heroes.Enemies.Any(x => x.IsValidTarget(W.Range))) { W.Cast(); } } } if (useE) { if (EIsReadyPerfectly()) { if (!manaW || W.Level <= 0 || myHero.Mana - getSpellMana(SpellSlot.E) >= getSpellMana(SpellSlot.W)) { var target = TargetSelector.GetTarget(E.Range, DamageType.Magical); if (target != null) { E.Cast(target); } } } } if (useR) { if (RIsReadyPerfectly()) { if (!manaW || W.Level <= 0 || myHero.Mana - getSpellMana(SpellSlot.R) >= getSpellMana(SpellSlot.W)) { if (myHero.GetBuffCount("kogmawlivingartillerycost") < rLimit) { var target = TargetSelector.GetTarget(R.Range, DamageType.Magical); if (target != null) { if (onlyRHP) { if (target.HealthPercent < hpOfTarget) { R.Cast(target); } } else { R.Cast(target); } } } else { var killableTarget = EntityManager.Heroes.Enemies.FirstOrDefault(x => x.IsKillableAndValidTarget(myHero.GetSpellDamage(x, SpellSlot.R), DamageType.Magical, R.Range) && R.GetPrediction(x).HitChance >= EloBuddy.SDK.Enumerations.HitChance.High); if (killableTarget != null) { R.Cast(killableTarget); } } } } } } else if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass)) { if (useQH) { if (QIsReadyPerfectly()) { if (myHero.IsManaPercentOkay(manaH)) { var target = TargetSelector.GetTarget(Q.Range, DamageType.Magical); if (target != null) { Q.Cast(target); } } } } if (useEH) { if (EIsReadyPerfectly()) { if (myHero.IsManaPercentOkay(manaH)) { var target = TargetSelector.GetTarget(E.Range, DamageType.Magical); if (target != null) { E.Cast(target); } } } } if (useRH) { if (RIsReadyPerfectly()) { if (myHero.IsManaPercentOkay(manaH)) { if (myHero.GetBuffCount("kogmawlivingartillerycost") < rLimitH) { var target = TargetSelector.GetTarget(R.Range, DamageType.Magical); if (target != null) { R.Cast(target); } } } } } } else if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear)) { foreach ( var minion in EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy, myHero.ServerPosition, myHero.GetAutoAttackRange())) { if (useELC) { if (myHero.IsManaPercentOkay(manaLC)) { if (EIsReadyPerfectly()) { var minions = EntityManager.MinionsAndMonsters.GetLaneMinions( EntityManager.UnitTeam.Enemy, myHero.ServerPosition, E.Range); var farmLocation = EntityManager.MinionsAndMonsters.GetLineFarmLocation( minions, E.Width, (int)E.Range); if (farmLocation.HitNumber >= 3) { E.Cast(farmLocation.CastPosition); } } } } if (useRLC) { if (myHero.IsManaPercentOkay(manaLC)) { if (RIsReadyPerfectly()) { if (myHero.GetBuffCount("kogmawlivingartillerycost") < rLimitLC) { var minions = EntityManager.MinionsAndMonsters.GetLaneMinions( EntityManager.UnitTeam.Enemy, myHero.ServerPosition, R.Range); var farmLocation = EntityManager.MinionsAndMonsters.GetCircularFarmLocation(minions, R.Width, (int)R.Range); if (farmLocation.HitNumber >= 2) { R.Cast(farmLocation.CastPosition); } } } } } } foreach ( var jungleMobs in ObjectManager.Get <Obj_AI_Minion>() .Where( o => o.IsValidTarget(W.Range) && o.Team == GameObjectTeam.Neutral && o.IsVisible && !o.IsDead)) { if (WIsReadyPerfectly()) { if (useWJG) { W.Cast(); } } if (useEJG) { if (myHero.IsManaPercentOkay(manaJG)) { if (EIsReadyPerfectly()) { var minions = EntityManager.MinionsAndMonsters.GetJungleMonsters(myHero.ServerPosition, E.Range); var farmLocation = EntityManager.MinionsAndMonsters.GetLineFarmLocation( minions, E.Width, (int)E.Range); if (farmLocation.HitNumber >= 2) { E.Cast(farmLocation.CastPosition); } } } } if (useRJG) { if (myHero.IsManaPercentOkay(manaJG)) { if (RIsReadyPerfectly()) { if (myHero.GetBuffCount("kogmawlivingartillerycost") < rLimitJG) { var minions = EntityManager.MinionsAndMonsters.GetJungleMonsters( myHero.ServerPosition, R.Range); var farmLocation = EntityManager.MinionsAndMonsters.GetCircularFarmLocation(minions, R.Width, (int)R.Range); if (farmLocation.HitNumber >= 2) { R.Cast(farmLocation.CastPosition); } } } } } } } } }