Beispiel #1
0
 private static void RemoveItems(CommonMenu mainMenu)
 {
     mainMenu.HarasMenu.Items.Remove(mainMenu.HarasMenu.Item(KoreanUtils.ParamName(mainMenu, "useetoharas")));
     mainMenu.LaneClearMenu.Items.Remove(
         mainMenu.LaneClearMenu.Item(KoreanUtils.ParamName(mainMenu, "useetolaneclear")));
     mainMenu.ComboMenu.Items.Remove(mainMenu.ComboMenu.Item(KoreanUtils.ParamName(mainMenu, "useetocombo")));
 }
Beispiel #2
0
        private static bool ExtendedQIsReady(CommonChampion lucian, bool laneclear = false)
        {
            Spell q = lucian.Spells.Q;

            if (!KoreanUtils.GetParamBool(lucian.MainMenu, "extendedq") || !q.IsReady())
            {
                return(false);
            }

            List <Obj_AI_Base> minions = MinionManager.GetMinions(AdvancedQ.Range);

            if (minions.Count == 0)
            {
                return(false);
            }

            if (!laneclear)
            {
                if (lucian.Player.CountEnemiesInRange(AdvancedQ.Range) == 0)
                {
                    return(false);
                }
            }

            return(true);
        }
Beispiel #3
0
        public override void LastHitMode()
        {
            if (!KoreanUtils.GetParamBool(champion.MainMenu, "useqtofarm"))
            {
                return;
            }

            Obj_AI_Base target =
                MinionManager.GetMinions(champion.Player.Position, Q.Range)
                .Where(
                    minion =>
                    !champion.Player.CanAttack ||
                    (champion.Player.CanAttack &&
                     champion.Player.Distance(minion) > Orbwalking.GetRealAutoAttackRange(champion.Player)))
                .FirstOrDefault(
                    minion =>
                    Q.GetDamage(minion) >
                    HealthPrediction.GetHealthPrediction(minion,
                                                         (int)(champion.Player.Distance(minion) / Q.Speed) * 1000, (int)Q.Delay * 1000));

            if (target != null)
            {
                UseQ(target);
            }
        }
Beispiel #4
0
        private static void LoadOptionsMenu(CommonChampion champion)
        {
            CommonMenu mainMenu = champion.MainMenu;

            Menu flashUlt = mainMenu.MiscMenu.AddSubMenu(new Menu("Flash + Ult (If killable)", "flashultmenu"));

            flashUlt.AddItem(
                new MenuItem(KoreanUtils.ParamName(mainMenu, "flashult"), "Key").SetValue(
                    new KeyBind('T', KeyBindType.Press)));
            flashUlt.AddItem(
                new MenuItem(KoreanUtils.ParamName(mainMenu, "orbwalktoflashult"), "Orbwalk").SetValue(true));

            MenuItem autoStackPassive = mainMenu.MiscMenu.AddItem(
                new MenuItem(KoreanUtils.ParamName(mainMenu, "autostackpassive"), "Auto stack passive").SetValue(true));

            autoStackPassive.ValueChanged += delegate(object sender, OnValueChangeEventArgs e)
            {
                if (e.GetNewValue <bool>())
                {
                    Orbwalking.BeforeAttack += ((ChoGath)champion).stackPassive.StackR;
                }
                else
                {
                    Orbwalking.BeforeAttack -= ((ChoGath)champion).stackPassive.StackR;
                }
            };

            //mainMenu.MiscMenu.AddItem(
            //    new MenuItem(KoreanUtils.ParamName(mainMenu, "koreanprediction"), "Use korean prediction").SetValue(true));
        }
Beispiel #5
0
        private void UseOffensiveItems(Obj_AI_Base target)
        {
            if (target == null)
            {
                return;
            }

            if (KoreanUtils.GetParamBool(champion.MainMenu, "usebilgewatercutlass") &&
                ItemData.Bilgewater_Cutlass.GetItem().IsReady())
            {
                ItemData.Bilgewater_Cutlass.GetItem().Cast(target);
            }

            if (KoreanUtils.GetParamBool(champion.MainMenu, "usehextechgunblade") &&
                ItemData.Hextech_Gunblade.GetItem().IsReady())
            {
                ItemData.Hextech_Gunblade.GetItem().Cast(target);
            }

            if (KoreanUtils.GetParamBool(champion.MainMenu, "usebotrk") &&
                ItemData.Blade_of_the_Ruined_King.GetItem().IsReady())
            {
                ItemData.Blade_of_the_Ruined_King.GetItem().Cast(target);
            }
        }
Beispiel #6
0
        private static void ComboMenu(CommonChampion akali)
        {
            var menu = akali.MainMenu;

            menu.ComboMenu.Items.Remove(KoreanUtils.GetParam(menu, "minenemiestor"));
            menu.ComboMenu.Items.Remove(KoreanUtils.GetParam(menu, "disableaa"));
        }
Beispiel #7
0
        private void ButtonControl(WndEventArgs args)
        {
            ShowEasyButton = (KoreanUtils.GetParamBool(annie.MainMenu, "showeeasybutton"));

            if (ShowEasyButton)
            {
                if ((args.Msg == (uint)WindowsMessages.WM_LBUTTONUP) &&
                    (MouseOnButton(StunButtonOn) || MouseOnButton(StunButtonOff)))
                {
                    if (StunButtonOn.Visible)
                    {
                        KoreanUtils.SetValueBool(annie.MainMenu, "savestunforcombo", false);
                    }
                    else if (StunButtonOff.Visible)
                    {
                        KoreanUtils.SetValueBool(annie.MainMenu, "savestunforcombo", true);
                    }
                }
                else if ((args.Msg == (uint)WindowsMessages.WM_MOUSEMOVE) && (args.WParam == 5) &&
                         (MouseOnButton(StunButtonOn) || MouseOnButton(StunButtonOff)))
                {
                    MoveButtons(
                        new Vector2(Utils.GetCursorPos().X - (StunButtonOn.Width / 2), Utils.GetCursorPos().Y - 10));
                }

                StunButtonOn.Visible  = KoreanUtils.GetParamBool(annie.MainMenu, "savestunforcombo");
                StunButtonOff.Visible = !StunButtonOn.Visible;
            }
            else
            {
                StunButtonOff.Visible = false;
                StunButtonOn.Visible  = false;
            }
        }
Beispiel #8
0
 private void AntiGapcloser_OnEnemyGapcloser(ActiveGapcloser gapcloser)
 {
     if (KoreanUtils.GetParamBool(vlady.MainMenu, "antigapcloser") && W.IsReady())
     {
         W.Cast();
     }
 }
Beispiel #9
0
        public AnnieButtons(Annie annie)
        {
            this.annie = annie;

            ShowEasyButton = (KoreanUtils.GetParamBool(annie.MainMenu, "showeeasybutton"));

            int posX = KoreanUtils.GetParamInt(annie.MainMenu, "easybuttonpositionx");

            posX = (posX == 0) ? 50 : posX;
            int posY = KoreanUtils.GetParamInt(annie.MainMenu, "easybuttonpositiony");

            posY = (posY == 0) ? 50 : posY;
            Vector2 pos = new Vector2(posX, posY);

            StunButtonOn       = new Render.Sprite(Resources.StunON, pos);
            StunButtonOn.Scale = new Vector2(0.90f, 0.90f);
            StunButtonOn.Add();

            StunButtonOff       = new Render.Sprite(Resources.StunOFF, pos);
            StunButtonOff.Scale = new Vector2(0.90f, 0.90f);
            StunButtonOff.Add();

            if (ShowEasyButton)
            {
                StunButtonOn.Visible  = KoreanUtils.GetParamBool(annie.MainMenu, "savestunforcombo");
                StunButtonOff.Visible = !StunButtonOn.Visible;
            }

            KoreanUtils.GetParam(annie.MainMenu, "savestunforcombo").ValueChanged += SaveStunForComboValueChanged;
            Game.OnWndProc += ButtonControl;
        }
Beispiel #10
0
        public override void LastHitMode()
        {
            if (KoreanUtils.GetParamBool(champion.MainMenu, "useqtofarm") && Q.IsReady())
            {
                Obj_AI_Base target =
                    MinionManager.GetMinions(Q.Range).OrderByDescending(minion => minion.MaxHealth)
                    .FirstOrDefault(minion =>
                                    Q.GetDamage(minion) >
                                    HealthPrediction.GetHealthPrediction(minion,
                                                                         (int)(champion.Player.Distance(minion) / Q.Speed) * 1000, (int)Q.Delay * 1000));

                if (target != null)
                {
                    Q.Cast(target);
                }
            }

            if (E.IsReady() && !Q.IsReady())
            {
                int farmCount = MinionManager.GetMinions(E.Range).Count(minion => E.IsKillable(minion));

                if (farmCount >= 2)
                {
                    E.Cast();
                }
            }
        }
Beispiel #11
0
 public static void Load(CommonChampion lucian)
 {
     if (KoreanUtils.GetParamKeyBind(lucian.MainMenu, "toggleextendedq"))
     {
         Game.OnUpdate += AutoExtendedQ;
     }
 }
Beispiel #12
0
        public override void HarasMode()
        {
            AIHeroClient target;

            if (Q.UseOnHaras && Q.IsReady() &&
                champion.Player.ManaPercent > KoreanUtils.GetParamSlider(champion.MainMenu, "minenergytoharas"))
            {
                target = TargetSelector.GetTarget(Q.Range, Q.DamageType);
                if (target != null)
                {
                    Q.Cast(target);
                }
            }

            if (E.UseOnHaras && E.IsReady() &&
                champion.Player.ManaPercent > KoreanUtils.GetParamSlider(champion.MainMenu, "minenergytoharas"))
            {
                target = TargetSelector.GetTarget(E.Range, E.DamageType);
                if (target != null)
                {
                    E.Cast();
                }
            }

            LastHitMode();
        }
Beispiel #13
0
        private void DrawRanges(EventArgs args)
        {
            if (!KoreanUtils.GetParamBool(champion.MainMenu, "drawskillranges"))
            {
                return;
            }

            if (KoreanUtils.GetParamKeyBind(champion.MainMenu, "flashult") && (spells.R.IsReady()) &&
                (FlashSpell.Flash(champion.Player).IsReady))
            {
                Render.Circle.DrawCircle(champion.Player.Position, champion.Spells.RFlash.Range, Color.DarkGreen, 5);
            }
            else if (spells.Q.IsReady() && spells.Q.CanCast())
            {
                Render.Circle.DrawCircle(champion.Player.Position, spells.Q.Range, Color.DarkGreen, 5);
            }
            else if (spells.W.IsReady() && spells.W.CanCast())
            {
                Render.Circle.DrawCircle(champion.Player.Position, spells.W.Range, Color.DarkGreen, 5);
            }
            else if (spells.R.IsReady() && spells.R.CanCast())
            {
                Render.Circle.DrawCircle(champion.Player.Position, spells.R.Range, Color.DarkGreen, 5);
            }
        }
Beispiel #14
0
        private static void HarasMenu(CommonChampion vladimir)
        {
            var menu = vladimir.MainMenu;

            menu.HarasMenu.Items.Remove(KoreanUtils.GetParam(menu, "manalimittoharas"));
            KoreanUtils.GetParam(menu, "usewtoharas").SetValue(false);
            menu.HarasMenu.Items.Remove(KoreanUtils.GetParam(menu, "usewtoharas"));
        }
Beispiel #15
0
 private static void LoadLaneClear(CommonMenu mainMenu)
 {
     mainMenu.LaneClearMenu.AddItem(
         new MenuItem(KoreanUtils.ParamName(mainMenu, "saveqtofarm"), "Save Q to Farm").SetValue(true));
     mainMenu.LaneClearMenu.AddItem(
         new MenuItem(KoreanUtils.ParamName(mainMenu, "minminionstow"), "W Must Hit at Least").SetValue(
             new Slider(3, 1, 6)));
 }
Beispiel #16
0
 private bool CheckHaras(AIHeroClient target)
 {
     if (target == null)
     {
         return(false);
     }
     return(KoreanUtils.GetParamBool(lucian.MainMenu, target.ChampionName.ToLowerInvariant()));
 }
Beispiel #17
0
        private static bool CheckHaras(CommonChampion lucian, Obj_AI_Hero target)
        {
            if (target == null)
            {
                return(false);
            }

            return(KoreanUtils.GetParamBool(lucian.MainMenu, target.ChampionName.ToLowerInvariant()));
        }
Beispiel #18
0
 private void Drawing_OnDraw(EventArgs args)
 {
     if (KoreanUtils.GetParamBool(lucian.MainMenu, "drawingetext"))
     {
         Text.X = (int)lucian.Player.HPBarPosition.X + 5;
         Text.Y = (int)lucian.Player.HPBarPosition.Y + 180;
         Text.OnEndScene();
     }
 }
Beispiel #19
0
        public StackPassive(CommonChampion champion)
        {
            R             = champion.Spells.R;
            this.champion = champion;

            if (KoreanUtils.GetParamBool(champion.MainMenu, "autostackpassive"))
            {
                Orbwalking.BeforeAttack += StackR;
            }
        }
Beispiel #20
0
        public SemiAutomaticE(Lucian lucian)
        {
            this.lucian = lucian;
            E           = lucian.Spells.E;

            if (KoreanUtils.GetParamBool(lucian.MainMenu, "dashmode"))
            {
                Game.OnWndProc += Game_OnWndProc;
            }
        }
Beispiel #21
0
        static private void LoadLaneClear(CommonChampion champion)
        {
            CommonMenu mainMenu = champion.MainMenu;

            mainMenu.LaneClearMenu.AddItem(
                new MenuItem(KoreanUtils.ParamName(mainMenu, "minminionstoq"), "Q must hit at least").SetValue(
                    new Slider(6, 1, 6)));
            mainMenu.LaneClearMenu.AddItem(
                new MenuItem(KoreanUtils.ParamName(mainMenu, "minminionstow"), "W must hit at least").SetValue(
                    new Slider(6, 1, 6)));
        }
Beispiel #22
0
        private static void LoadComboMenu(CommonChampion champion)
        {
            Menu menu = champion.MainMenu.ComboMenu;

            MenuItem useRToCombo = menu.Item(KoreanUtils.ParamName(champion.MainMenu, "usertocombo"));

            useRToCombo.SetValue(false);
            menu.Items.Remove(useRToCombo);

            menu.Items.Remove(menu.Item(KoreanUtils.ParamName(champion.MainMenu, "minenemiestor")));
        }
Beispiel #23
0
 public override void Ultimate(AIHeroClient target)
 {
     if (target == null)
     {
         R.Cast(Game.CursorPos);
     }
     else if (KoreanUtils.GetParamBool(champion.MainMenu, "lockr"))
     {
         R.Cast(target.Position);
     }
 }
Beispiel #24
0
        public override void LaneClearMode()
        {
            if (CheckPassive())
            {
                return;
            }

            lock (lockObject)
            {
                if (Q.UseOnLaneClear && Q.IsReady() && Q.CanCast() && !CheckPassive() && HaveManaToLaneclear() &&
                    champion.CastExtendedQToLaneClear())
                {
                    ProcessSpell();
                }

                if (W.UseOnLaneClear && W.IsReady() && W.CanCast() && !CheckPassive() && HaveManaToHaras())
                {
                    List <Obj_AI_Base>         minions      = MinionManager.GetMinions(W.Range).ToList();
                    MinionManager.FarmLocation farmLocation = W.GetCircularFarmLocation(minions);

                    int minMinions = KoreanUtils.GetParamSlider(champion.MainMenu, "wcounthit");

                    if (farmLocation.MinionsHit >= minMinions && minions.Count >= minMinions)
                    {
                        if (W.Cast(farmLocation.Position))
                        {
                            ProcessSpell();
                        }
                    }
                }

                if (E.UseOnLaneClear && lucian.semiAutomaticE.Holding && E.IsReady() && E.CanCast() && !CheckPassive() &&
                    (E.Instance.SData.Mana.Equals(0) || (E.Instance.SData.Mana > 0 && HaveManaToHaras())))
                {
                    Obj_AI_Base target =
                        MinionManager.GetMinions(E.Range + Orbwalking.GetRealAutoAttackRange(champion.Player))
                        .FirstOrDefault(
                            minion =>
                            champion.Player.Distance(minion) > Orbwalking.GetRealAutoAttackRange(champion.Player) &&
                            Game.CursorPos.Distance(minion.Position) < champion.Player.Distance(minion));

                    if (target != null && lucian.semiAutomaticE.Cast(target))
                    {
                        ProcessSpell();
                        champion.Orbwalker.ForceTarget(target);
                    }
                }
            }

            if (KoreanUtils.GetParamBool(champion.MainMenu, "harasonlaneclear"))
            {
                HarasMode();
            }
        }
Beispiel #25
0
        private static void HarasMenu(CommonChampion akali)
        {
            var menu = akali.MainMenu;

            menu.HarasMenu.Items.Remove(KoreanUtils.GetParam(menu, "usewtoharas"));
            menu.HarasMenu.Items.Remove(KoreanUtils.GetParam(menu, "manalimittoharas"));

            menu.HarasMenu.AddItem(
                new MenuItem(KoreanUtils.ParamName(menu, "minenergytoharas"), "Min energy to haras").SetValue(
                    new Slider(60, 0, 100)));
        }
Beispiel #26
0
        private void MoveButtons(Vector2 newPosition)
        {
            StunButtonOn.Position       = newPosition;
            StunButtonOn.PositionUpdate = () => newPosition;
            StunButtonOn.PositionUpdate = null;

            StunButtonOff.Position       = newPosition;
            StunButtonOff.PositionUpdate = () => newPosition;
            StunButtonOff.PositionUpdate = null;

            KoreanUtils.SetValueInt(annie.MainMenu, "easybuttonpositionx", (int)StunButtonOn.Position.X);
            KoreanUtils.SetValueInt(annie.MainMenu, "easybuttonpositiony", (int)StunButtonOn.Position.Y);
        }
Beispiel #27
0
        private void DrawRanges(EventArgs args)
        {
            if (!KoreanUtils.GetParamBool(champion.MainMenu, "drawskillranges"))
            {
                return;
            }

            Render.Circle.DrawCircle(
                champion.Player.Position,
                spells.MaxRangeCombo,
                Color.FromArgb(150, Color.DarkGreen),
                10);
        }
Beispiel #28
0
        private static void LaneClearMenu(CommonChampion vladimir)
        {
            var menu = vladimir.MainMenu;

            menu.LaneClearMenu.Items.Remove(KoreanUtils.GetParam(menu, "manalimittolaneclear"));

            menu.LaneClearMenu.AddItem(
                new MenuItem(KoreanUtils.ParamName(menu, "saveqtofarm"), "Save Q to last hit").SetValue(true));

            menu.LaneClearMenu.AddItem(
                new MenuItem(KoreanUtils.ParamName(menu, "minminionstoe"), "Use E if will hit x minions").SetValue(
                    new Slider(6, 1, 10)));
        }
Beispiel #29
0
        public override void LaneClearMode()
        {
            if (E.IsReady() && E.UseOnLaneClear)
            {
                if (MinionManager.GetMinions(E.Range).Count >= KoreanUtils.GetParamSlider(champion.MainMenu, "minminionstoe"))
                {
                    E.Cast();
                }

                if (E.IsReady())
                {
                    if (MinionManager.GetMinions(E.Range, MinionTypes.All, MinionTeam.Neutral).Count > 0)
                    {
                        E.Cast();
                    }
                }
            }

            if (KoreanUtils.GetParamBool(champion.MainMenu, "saveqtofarm") &&
                KoreanUtils.GetParamBool(champion.MainMenu, "useqtofarm"))
            {
                LastHitMode();
            }
            else if (Q.IsReady() && Q.UseOnLaneClear)
            {
                Obj_AI_Base minion =
                    MinionManager.GetMinions(Q.Range).OrderByDescending(x => x.MaxHealth).FirstOrDefault();

                if (minion != null)
                {
                    Q.Cast(minion);
                }
            }

            if (Q.IsReady() && Q.UseOnLaneClear)
            {
                Obj_AI_Base jungleMob =
                    MinionManager.GetMinions(E.Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth)
                    .FirstOrDefault();

                if (jungleMob != null)
                {
                    Q.Cast(jungleMob);
                }
            }

            if (KoreanUtils.GetParamBool(champion.MainMenu, "harasonlaneclear"))
            {
                HarasMode();
            }
        }
Beispiel #30
0
 private void LoadLambdaExpressions()
 {
     ParamName       = s => KoreanUtils.ParamName(MainMenu, s);
     GetParamBool    = s => KoreanUtils.GetParamBool(MainMenu, s);
     SetValueBool    = (s, b) => KoreanUtils.SetValueBool(MainMenu, s, b);
     GetParamSlider  = s => KoreanUtils.GetParamSlider(MainMenu, s);
     GetParamKeyBind = s => KoreanUtils.GetParamKeyBind(MainMenu, s);
     CanFarm         =
         () =>
         (!GetParamBool("supportmode")) ||
         ((GetParamBool("supportmode")) && (Player.CountAlliesInRange(1500f) == 1));
     CheckStun = () => Player.HasBuff("pyromania_particle");
     SaveStun  = () => (CheckStun() && (GetParamBool("savestunforcombo")));
 }