예제 #1
0
        public void Moon()
        {
            if (m_target == null && ComboReady())
            {
                m_target = TargetSelector.GetTarget(2000, TargetSelector.DamageType.Magical);
            }

            if (!LXOrbwalkerEnabled)
            {
                Orbwalking.Orbwalk(m_target, Game.CursorPos);
            }
            else
            {
                LXOrbwalker.Orbwalk(Game.CursorPos, m_target);
            }

            if (m_target != null)
            {
                var minion = MinionManager.GetMinions(Spells[R].Range, MinionTypes.All, MinionTeam.Enemy, MinionOrderTypes.None).Where(p => p.HasBuff("dianamoonlight")).OrderByDescending(q => q.ServerPosition.Distance(ObjectManager.Player.ServerPosition)).OrderBy(r => r.ServerPosition.Distance(Game.CursorPos)).FirstOrDefault();
                if (minion == null)
                {
                    minion = MinionManager.GetMinions(Spells[Q].Range, MinionTypes.All, MinionTeam.Enemy, MinionOrderTypes.None).Where(p => p.Health > Spells[Q].GetDamage(p)).OrderByDescending(q => q.ServerPosition.Distance(ObjectManager.Player.ServerPosition)).ThenByDescending(t => t.Health).FirstOrDefault();
                    if (minion != null && !m_moon_r_casted)
                    {
                        Spells[Q].Cast(minion.ServerPosition);
                        m_moon_start_tick = Environment.TickCount;
                        m_moon_r_casted   = false;
                    }
                }

                if (minion != null)
                {
                    if (minion.ServerPosition.Distance(m_target.ServerPosition) < Spells[E].Range - 10 && Environment.TickCount - m_moon_start_tick > 500)
                    {
                        if (Spells[E].IsReady() && !m_moon_r_casted && Spells[R].IsInRange(minion)) //because r->e combo
                        {
                            Spells[R].CastOnUnit(minion);
                            m_moon_r_casted = true;
                        }
                    }
                }


                if (m_moon_r_casted)
                {
                    if (Spells[E].IsReady() && !m_target.IsDead)
                    {
                        Spells[E].Cast();
                    }
                    if (Spells[W].IsReady() && !m_target.IsDead)
                    {
                        Spells[W].Cast();
                    }

                    if (Spells[Q].IsReady() && !m_target.IsDead)
                    {
                        Spells[Q].SPredictionCastArc(m_target, HitChance.High, Config.Item("QPREDTYPE").GetValue <StringList>().SelectedIndex == 0, 100);
                    }

                    if (Spells[R].IsReady() && !m_target.IsDead && HasMoonlight(m_target))
                    {
                        Spells[R].Cast();
                    }
                    m_moon_start_tick = 0;
                }
            }
        }
예제 #2
0
        public override void CreateConfigMenu()
        {
            combo = new Menu("Combo", "Combo");
            combo.AddItem(new MenuItem("CUSEQ", "Use Q").SetValue(true));
            combo.AddItem(new MenuItem("CUSEW", "Use W").SetValue(true));
            combo.AddItem(new MenuItem("CUSEE", "Use E").SetValue(true));
            //
            ult = new Menu("R Settings", "rsettings");
            ult.AddItem(new MenuItem("CUSER", "Use R").SetValue(true));
            ult.AddItem(new MenuItem("CUSERTOWER", "Dont Use R if Enemy is Under Tower").SetValue(false));
            ult.AddItem(new MenuItem("CUSERMETHOD", "R Method").SetValue <StringList>(new StringList(new string[] { "Use Smart R", "Use Only R To Moonlight Debuffed", "Use R Always" }, 0)));
            //
            combo.AddSubMenu(ult);

            harass = new Menu("Harass", "Harass");
            harass.AddItem(new MenuItem("HUSEQ", "Use Q").SetValue(true));
            harass.AddItem(new MenuItem("HUSEW", "Use W").SetValue(true));
            harass.AddItem(new MenuItem("HUSEE", "Use E").SetValue(false));
            harass.AddItem(new MenuItem("HUSER", "Use R if Moonlight Debuffed").SetValue(true));
            harass.AddItem(new MenuItem("HMANA", "Min. Mana Percent").SetValue(new Slider(50, 100, 0)));

            laneclear = new Menu("LaneClear/JungleClear", "LaneClear");
            laneclear.AddItem(new MenuItem("LUSEQ", "Use Q").SetValue(true));
            laneclear.AddItem(new MenuItem("LUSEW", "Use W").SetValue(true));
            laneclear.AddItem(new MenuItem("LMINC", "Min. Minions to use Q & W").SetValue <Slider>(new Slider(3, 1, 6)));
            laneclear.AddItem(new MenuItem("LMANA", "Min. Mana Percent").SetValue(new Slider(50, 100, 0)));

            misc = new Menu("Misc", "Misc");
            misc.AddItem(new MenuItem("QPREDTYPE", "Q Prediction Type").SetValue(new StringList(new[] { "Only Tail Arc", "Tail Arc + Circle" }, 0)));
            misc.AddItem(new MenuItem("MMISAYA", "Misaya Combo Key").SetValue <KeyBind>(new KeyBind('T', KeyBindType.Press)))
            .ValueChanged += (s, ar) =>
            {
                if (!ar.GetNewValue <KeyBind>().Active)
                {
                    m_target            = null;
                    m_misaya_start_tick = 0;
                }
            };
            misc.AddItem(new MenuItem("MMISAYADR", "Misaya Combo Dont Use 2nd R").SetValue(false));
            misc.AddItem(new MenuItem("MMOON", "Moon Combo Key").SetValue(new KeyBind('G', KeyBindType.Press)))
            .ValueChanged += (s, ar) =>
            {
                if (!ar.GetNewValue <KeyBind>().Active)
                {
                    m_target          = null;
                    m_moon_start_tick = 0;
                    m_moon_r_casted   = false;
                }
            };
            misc.AddItem(new MenuItem("MFLEE", "Flee Key").SetValue(new KeyBind('A', KeyBindType.Press)));
            misc.AddItem(new MenuItem("MINTERRUPTE", "Use E For Interrupt").SetValue(true));
            misc.AddItem(new MenuItem("MINTERRUPTRE", "Use R->E to Interrupt Important Spells").SetValue(true));
            misc.AddItem(new MenuItem("MGAPCLOSEW", "Use W For Gapcloser").SetValue(true));
            misc.AddItem(new MenuItem("MLXORBWALKER", "Use LXOrbwalker").SetValue(false))
            .ValueChanged += (s, ar) =>
            {
                if (ar.GetNewValue <bool>())
                {
                    Orbwalker.Disable();
                    OrbwalkingFunctions[(int)Orbwalking.OrbwalkingMode.Combo]     -= Combo;
                    OrbwalkingFunctions[(int)Orbwalking.OrbwalkingMode.Mixed]     -= Harass;
                    OrbwalkingFunctions[(int)Orbwalking.OrbwalkingMode.LaneClear] -= LaneClear;

                    OrbwalkingFunctions[(int)LXOrbwalker.Mode.Combo]     += Combo;
                    OrbwalkingFunctions[(int)LXOrbwalker.Mode.Harass]    += Harass;
                    OrbwalkingFunctions[(int)LXOrbwalker.Mode.LaneClear] += LaneClear;
                    LXOrbwalker.Enable();
                }
                else
                {
                    LXOrbwalker.Disable();
                    OrbwalkingFunctions[(int)LXOrbwalker.Mode.Combo]     -= Combo;
                    OrbwalkingFunctions[(int)LXOrbwalker.Mode.Harass]    -= Harass;
                    OrbwalkingFunctions[(int)LXOrbwalker.Mode.LaneClear] -= LaneClear;

                    OrbwalkingFunctions[(int)Orbwalking.OrbwalkingMode.Combo]     += Combo;
                    OrbwalkingFunctions[(int)Orbwalking.OrbwalkingMode.Mixed]     += Harass;
                    OrbwalkingFunctions[(int)Orbwalking.OrbwalkingMode.LaneClear] += LaneClear;
                    Orbwalker.Enable();
                }
            };
            misc.AddItem(new MenuItem("MKILLABLEDRAW", "Disable Notifier Drawings").SetValue(false));
            LXOrbwalker.AddToMenu(misc.SubMenu("LXOrbwalker Settings"));

            Config.AddSubMenu(combo);
            Config.AddSubMenu(harass);
            Config.AddSubMenu(laneclear);
            Config.AddSubMenu(misc);
            Config.AddToMainMenu();

            BeforeOrbWalking += BeforeOrbwalk;
            BeforeDrawing    += BeforeDraw;
            if (!LXOrbwalkerEnabled)
            {
                OrbwalkingFunctions[(int)Orbwalking.OrbwalkingMode.Combo]     += Combo;
                OrbwalkingFunctions[(int)Orbwalking.OrbwalkingMode.Mixed]     += Harass;
                OrbwalkingFunctions[(int)Orbwalking.OrbwalkingMode.LaneClear] += LaneClear;
            }
            else
            {
                OrbwalkingFunctions[(int)LXOrbwalker.Mode.Combo]     += Combo;
                OrbwalkingFunctions[(int)LXOrbwalker.Mode.Harass]    += Harass;
                OrbwalkingFunctions[(int)LXOrbwalker.Mode.LaneClear] += LaneClear;
                LXOrbwalker.Enable();
            }
        }
예제 #3
0
        //r q w r e
        public void Misaya()
        {
            if (m_target == null && Spells[Q].IsReady() && Spells[R].IsReady())
            {
                m_target = TargetSelector.GetTarget(1500, TargetSelector.DamageType.Magical);
            }

            if (!LXOrbwalkerEnabled)
            {
                Orbwalking.Orbwalk(m_target, Game.CursorPos);
            }
            else
            {
                LXOrbwalker.Orbwalk(Game.CursorPos, m_target);
            }

            if (m_target != null)
            {
                if (m_target.ServerPosition.Distance(ObjectManager.Player.ServerPosition) <= 810f)
                {
                    if (m_misaya_start_tick == 0) //begin combo
                    {
                        m_misaya_start_tick = Environment.TickCount;
                        Spells[R].CastOnUnit(m_target);
                    }
                }

                if (m_misaya_start_tick != 0)
                {
                    Spells[Q].Cast(m_target.ServerPosition);
                    if (!m_target.IsDead && Spells[W].IsInRange(m_target))
                    {
                        Spells[W].Cast();
                    }
                    if (!Config.Item("MMISAYADR").GetValue <bool>())
                    {
                        if (!m_target.IsDead)
                        {
                            Spells[R].CastOnUnit(m_target);
                        }
                        if (!m_target.IsDead && Spells[E].IsInRange(m_target))
                        {
                            Spells[E].Cast();
                        }
                    }
                    else
                    {
                        if (HasMoonlight(m_target))
                        {
                            if (!m_target.IsDead)
                            {
                                Spells[R].CastOnUnit(m_target);
                            }
                            if (!m_target.IsDead && Spells[E].IsInRange(m_target))
                            {
                                Spells[E].Cast();
                            }
                        }
                    }
                }
            }
        }