コード例 #1
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);
            }
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: wade1990/PortAIO
        /* private static void Farm()
         * {
         *   var mob =
         *       MinionManager.GetMinions(
         *           Player.ServerPosition,
         *           E.Range,
         *           MinionTypes.All,
         *           MinionTeam.Neutral,
         *           MinionOrderTypes.MaxHealth).FirstOrDefault();
         *   var Minions = MinionManager.GetMinions(Player.Position.Extend(Game.CursorPos, Q.Range), Player.AttackRange, MinionTypes.All);
         *   var useQ = qmenu.Item("UseQJ").GetValue<bool>();
         *
         *   int countMinions = 0;
         *   foreach (var minions in Minions.Where(minion => minion.Health < Player.GetAutoAttackDamage(minion) || minion.Health < Q.GetDamage(minion)))
         *   {
         *       countMinions++;
         *   }
         *
         *   if (countMinions >= 2 && useQ && Q.IsReady() && Minions != null)
         *       Q.Cast(Player.Position.Extend(Game.CursorPos, Q.Range/2));
         *
         *   if (useQ && Q.IsReady() && Orbwalking.InAutoAttackRange(mob) && mob != null)
         *   {
         *       Q.Cast(Game.CursorPos);
         *   }
         * }*/


        public static void Orbwalking_AfterAttack(AttackableUnit unit, AttackableUnit target)
        {
            if (!unit.IsMe)
            {
                return;
            }

            if (orbwalker.ActiveMode.ToString() == "LaneClear" &&
                100 * (Player.Mana / Player.MaxMana) > qmenu.Item("Junglemana").GetValue <Slider>().Value)
            {
                var mob =
                    MinionManager.GetMinions(
                        Player.ServerPosition,
                        E.Range,
                        MinionTypes.All,
                        MinionTeam.Neutral,
                        MinionOrderTypes.MaxHealth).FirstOrDefault();
                var Minions = MinionManager.GetMinions(
                    Player.Position.Extend(Game.CursorPos, Q.Range),
                    Player.AttackRange,
                    MinionTypes.All);
                var useQ         = qmenu.Item("UseQJ").GetValue <bool>();
                int countMinions = 0;
                foreach (var minions in
                         Minions.Where(
                             minion =>
                             minion.Health < Player.GetAutoAttackDamage(minion) ||
                             minion.Health < Q.GetDamage(minion) + Player.GetAutoAttackDamage(minion) || minion.Health < Q.GetDamage(minion)))
                {
                    countMinions++;
                }

                if (countMinions >= 2 && useQ && Q.IsReady() && Minions != null)
                {
                    Q.Cast(Player.Position.Extend(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 (menu.Item("aaqaa").GetValue <KeyBind>().Active)
            {
                if (Q.IsReady())
                {
                    Q.Cast(Game.CursorPos);
                }

                Orbwalking.Orbwalk(TargetSelector.GetTarget(625, TargetSelector.DamageType.Physical), Game.CursorPos);
            }

            if (orbwalker.ActiveMode.ToString() == "Combo")
            {
                if (Itemsmenu.Item("BOTRK").GetValue <bool>() &&
                    (tar.Health <= tar.MaxHealth * botrk.Item("theirhp").GetValue <Slider>().Value / 100) ||
                    (Player.Health <= Player.MaxHealth * botrk.Item("myhp").GetValue <Slider>().Value / 100))
                {
                    //Chat.Print("in");
                    if (Items.CanUseItem(3153))
                    {
                        Items.UseItem(3153, tar);
                    }
                    else if (Items.CanUseItem(3144))
                    {
                        {
                            Items.UseItem(3144, tar);
                        }
                    }
                }

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

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

            if (Q.IsReady() &&
                ((orbwalker.ActiveMode.ToString() == "Combo" && qmenu.Item("UseQC").GetValue <bool>()) ||
                 (orbwalker.ActiveMode.ToString() == "Mixed" && qmenu.Item("hq").GetValue <bool>())))
            {
                if (qmenu.Item("restrictq").GetValue <bool>())
                {
                    var after = ObjectManager.Player.Position
                                + Normalize(Game.CursorPos - ObjectManager.Player.Position) * 300;
                    //Chat.Print("After: {0}", after);
                    var disafter = Vector3.DistanceSquared(after, tar.Position);
                    //Chat.Print("DisAfter: {0}", disafter);
                    //Chat.Print("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);
            }
        }