示例#1
0
 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);
 }
示例#2
0
        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;
        }
示例#3
0
        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);
        }
示例#4
0
        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;
        }
示例#5
0
 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);
 }
示例#6
0
文件: Program.cs 项目: riwalry1/AIO
        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;
        }
示例#7
0
        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);
        }
示例#8
0
        /// <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);
        }
示例#9
0
 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
     };
 }
示例#10
0
文件: AurelionSol.cs 项目: koyvn/hay
        /// <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);
            }
        }
示例#11
0
        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;
            }
        }
示例#12
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;
        }
示例#13
0
        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);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
示例#14
0
        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;
        }
示例#15
0
        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;
                };
        }
示例#16
0
 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);
 }
示例#17
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("德莱联盟", "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;
        }
示例#18
0
文件: Program.cs 项目: riwalry1/AIO
        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);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }