コード例 #1
0
ファイル: Program.cs プロジェクト: eventyne/LeagueSharp2
        public static void Orbwalking_AfterAttack(AttackableUnit unit, AttackableUnit target)
        {
            if (!unit.IsMe)
            {
                return;
            }
            if (!(target is Obj_AI_Hero))
            {
                return;
            }

            tar = (Obj_AI_Hero)target;

            if (menu.Item("aaqaa").GetValue <KeyBind>().Active)
            {
                if (Q.IsReady())
                {
                    Q.Cast(Game.CursorPos);
                }
                Orbwalking.Orbwalk(TargetSelector.GetTarget(625, TargetSelector.DamageType.Physical), Game.CursorPos);
            }
            if (Itemsmenu.Item("BOTRK").GetValue <bool>() && ((tar.Health / tar.MaxHealth) < botrk.Item("theirhp").GetValue <Slider>().Value) && ((ObjectManager.Player.Health / ObjectManager.Player.MaxHealth) < botrk.Item("myhp").GetValue <Slider>().Value))
            {
                //Game.PrintChat("in");
                if (Items.CanUseItem(3153))
                {
                    Items.UseItem(3153, tar);
                }
            }

            if (Itemsmenu.Item("Ghostblade").GetValue <bool>())
            {
                if (Items.CanUseItem(3142))
                {
                    Items.UseItem(3142);
                }
            }

            if (menu.Item("UseEaa").GetValue <KeyBind>().Active)
            {
                E.Cast((Obj_AI_Base)target);
                menu.Item("UseEaa").SetValue <KeyBind>(new KeyBind("G".ToCharArray()[0], KeyBindType.Toggle));
            }

            if (((orbwalker.ActiveMode.ToString() != "Combo" || !menu.Item("UseQC").GetValue <bool>()) &&
                 ((orbwalker.ActiveMode.ToString() != "Mixed" || !menu.Item("hq").GetValue <bool>()) || !Q.IsReady())))
            {
                return;
            }

            if (menu.Item("restrictq").GetValue <bool>())
            {
                var after = ObjectManager.Player.Position +
                            Normalize(Game.CursorPos - ObjectManager.Player.Position) * 300;
                //Game.PrintChat("After: {0}", after);
                var disafter = Vector3.DistanceSquared(after, tar.Position);
                //Game.PrintChat("DisAfter: {0}", disafter);
                //Game.PrintChat("first calc: {0}", (disafter) - (630*630));
                if ((disafter < 630 * 630) && disafter > 150 * 150)
                {
                    Q.Cast(Game.CursorPos);
                }
                if (Vector3.DistanceSquared(tar.Position, ObjectManager.Player.Position) > 630 * 630 &&
                    disafter < 630 * 630)
                {
                    Q.Cast(Game.CursorPos);
                }
            }
            else
            {
                Q.Cast(Game.CursorPos);
            }
            //Q.Cast(Game.CursorPos);
        }
コード例 #2
0
        public static void Orbwalking_AfterAttack(AttackableUnit target, EventArgs args)
        {
            if ((Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear)) && 100 * (Player.Mana / Player.MaxMana) > getSliderItem(qmenu, "Junglemana"))
            {
                var mob =
                    MinionManager.GetMinions(
                        Player.ServerPosition,
                        E.Range,
                        MinionTypes.All,
                        MinionTeam.Neutral,
                        MinionOrderTypes.MaxHealth).FirstOrDefault();
                var Minions = MinionManager.GetMinions(
                    Player.Position.LSExtend(Game.CursorPos, Q.Range),
                    Player.AttackRange,
                    MinionTypes.All);
                var useQ         = getCheckBoxItem(qmenu, "UseQJ");
                int countMinions = 0;
                foreach (var minions in
                         Minions.Where(
                             minion =>
                             minion.Health < Player.LSGetAutoAttackDamage(minion) ||
                             minion.Health < Q.GetDamage(minion) + Player.LSGetAutoAttackDamage(minion) || minion.Health < Q.GetDamage(minion)))
                {
                    countMinions++;
                }

                if (countMinions >= 2 && useQ && Q.IsReady() && Minions != null)
                {
                    Q.Cast(Player.Position.LSExtend(Game.CursorPos, Q.Range / 2));
                }

                if (useQ && Q.IsReady() && Orbwalking.InAutoAttackRange(mob) && mob != null)
                {
                    Q.Cast(Game.CursorPos);
                }
            }

            if (!(target is AIHeroClient))
            {
                return;
            }

            tar = (AIHeroClient)target;

            if (getKeyBindItem(menu, "aaqaa"))
            {
                if (Q.IsReady())
                {
                    Q.Cast(Game.CursorPos);
                }

                Orbwalker.OrbwalkTo(Game.CursorPos);
            }

            if (getKeyBindItem(emenu, "UseEaa"))
            {
                E.Cast((Obj_AI_Base)target);
                emenu["UseEaa"].Cast <KeyBind>().CurrentValue = !getCheckBoxItem(emenu, "UseEaa");
            }

            if (Q.IsReady() &&
                ((Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) && getCheckBoxItem(qmenu, "UseQC")) || (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass) && getCheckBoxItem(qmenu, "hq"))))
            {
                if (getCheckBoxItem(qmenu, "restrictq"))
                {
                    var after = ObjectManager.Player.Position
                                + Normalize(Game.CursorPos - ObjectManager.Player.Position) * 300;
                    //Game.PrintChat("After: {0}", after);
                    var disafter = Vector3.DistanceSquared(after, tar.Position);
                    //Game.PrintChat("DisAfter: {0}", disafter);
                    //Game.PrintChat("first calc: {0}", (disafter) - (630*630));
                    if ((disafter < 630 * 630) && disafter > 150 * 150)
                    {
                        Q.Cast(Game.CursorPos);
                    }

                    if (Vector3.DistanceSquared(tar.Position, ObjectManager.Player.Position) > 630 * 630 &&
                        disafter < 630 * 630)
                    {
                        Q.Cast(Game.CursorPos);
                    }
                }
                else
                {
                    Q.Cast(Game.CursorPos);
                }
                //Q.Cast(Game.CursorPos);
            }
        }