public override void CreateMenu()
        {
            base.CreateMenu();

            var menu = MenuManager.AddSubMenu("Drawings");

            {
                menu.NewCheckbox("disable", "Kapalı", false);
                menu.NewCheckbox("damageindicator", "Hasar Tespiti");
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewCheckbox("e", "E");
            };

            menu = MenuManager.AddSubMenu("Combo");
            {
                menu.NewCheckbox("r", "R Kullan");
                menu.NewSlider("r.health%", "Can şundan azsa ulti kullan %", 30, 1, 99);
                menu.NewSlider("r.minenemies", "Ulti için en az düşman sayısı", 2, 1, 5);
            };

            menu = MenuManager.AddSubMenu("Misc");
            {
                menu.NewKeybind("insec", "Alistar kafa atış oto insec", false, KeyBind.BindTypes.HoldActive, 'J');
                menu.NewSlider("W/Q Delay", "W/Q Gecikmesi", 0, -200, 200, true);
                menu.NewCheckbox("heal", "Kullan E", true, true);
                menu.NewCheckbox("heal.myself", "Kendine Can bas");
                menu.NewSlider("heal.health%", "[E]Dostların Canı şu kadarsa % is at", 50, 1, 99, true);
                menu.NewSlider("heal.mana%", "[E]Can için en az mana%", 50, 1, 99, true);
                menu.NewCheckbox("gapcloser", "W/Q on enemy gapcloser", true, true);
                menu.NewCheckbox("interrupter", "Interrupt enemy spells");
                menu.NewKeybind("hu3", "hu3HU3hu3", false, KeyBind.BindTypes.HoldActive, 'U', true);
                menu.NewSlider("hu3.mode", "hu3HU3hu3 mode, 1:joke, 2:taunt, 3:dance, 4:laugh", 3, 1, 4);
            };
        }
Пример #2
0
        public override void CreateMenu()
        {
            base.CreateMenu();

            var menu = MenuManager.AddSubMenu("Drawings");

            {
                menu.NewCheckbox("disable", "Disable", false);
                menu.NewCheckbox("damageindicator", "Damage Indicator");
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewCheckbox("e", "E");
            };

            menu = MenuManager.AddSubMenu("Combo");
            {
                menu.NewCheckbox("r", "R");
                menu.NewSlider("r.health%", "Health% to ult", 30, 1, 99);
                menu.NewSlider("r.minenemies", "Min Enemies to ult", 2, 1, 5);
            };

            menu = MenuManager.AddSubMenu("Misc");
            {
                menu.NewKeybind("insec", "Insec", false, KeyBind.BindTypes.HoldActive, 'J');
                menu.NewSlider("W/Q Delay", "W/Q Delay", 0, -200, 200, true);
                menu.NewCheckbox("heal", "Use E", true, true);
                menu.NewCheckbox("heal.myself", "Heal myself");
                menu.NewSlider("heal.health%", "[E]Heal when ally health% is at", 50, 1, 99, true);
                menu.NewSlider("heal.mana%", "[E]Heal min mana%", 50, 1, 99, true);
                menu.NewCheckbox("gapcloser", "W/Q on enemy gapcloser", true, true);
                menu.NewCheckbox("interrupter", "Interrupt enemy spells");
                menu.NewKeybind("hu3", "hu3HU3hu3", false, KeyBind.BindTypes.HoldActive, 'U', true);
                menu.NewSlider("hu3.mode", "hu3HU3hu3 mode, 1:joke, 2:taunt, 3:dance, 4:laugh", 3, 1, 4);
            };
        }
Пример #3
0
 public SpellBase AddConfigurableHitChancePercent(int defaultValue = 0)
 {
     if (!MenuManager.SubMenus.ContainsKey("Prediction"))
     {
         MenuManager.AddSubMenu("Prediction");
     }
     Slider = MenuManager.GetSubMenu("Prediction").Add(SlotName, new Slider(SlotName + " HitChancePercent", defaultValue > 0 ? defaultValue : (int)MinHitChancePercent));
     return(this);
 }
Пример #4
0
        public Xerath()
        {
            Q = new SpellBase(SpellSlot.Q, SpellType.Linear, 1500)
            {
                CastDelay = 500,
                Width     = 100,
            };
            W = new SpellBase(SpellSlot.W, SpellType.Circular, 1000)
            {
                CastDelay = 750,
                Width     = 100,//Width = 250,
            };
            E = new SpellBase(SpellSlot.E, SpellType.Linear, 1125)
            {
                CastDelay             = 250,
                Speed                 = 1400,
                Width                 = 60,
                CollidesWithYasuoWall = true,
                AllowedCollisionCount = 0,
            };
            R = new SpellBase(SpellSlot.R, SpellType.Circular, 5600)
            {
                Width     = 190,
                CastDelay = 600,
            };
            foreach (var enemy in EntityManager.Heroes.Enemies)
            {
                IsKillableOnEnemyPosition.Add(enemy.NetworkId, new Text("R KILLABLE", new Font("Arial", TextEnemyPositionSize, FontStyle.Bold))
                {
                    Color = Color.Red,
                });
                IsKillableOnScreen.Add(enemy.NetworkId, new Text(enemy.BaseSkinName + " is killable", new Font("Arial", TextScreenSize, FontStyle.Bold))
                {
                    Color = Color.Red,
                });
            }
            Obj_AI_Base.OnProcessSpellCast += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
            {
                if (sender.IsMe)
                {
                    switch (args.Slot)
                    {
                    case SpellSlot.Q:
                        Q.LastCastTime = Core.GameTickCount;
                        break;

                    case SpellSlot.W:
                        W.LastCastTime    = Core.GameTickCount;
                        W.LastEndPosition = args.End;
                        break;

                    case SpellSlot.E:
                        E.LastCastTime    = Core.GameTickCount;
                        E.LastEndPosition = sender.Position + (args.End - sender.Position).Normalized() * E.Range;
                        break;

                    case SpellSlot.R:
                        R.LastCastTime = Core.GameTickCount;
                        TapKeyPressed  = false;
                        break;
                    }
                }
            };
            GameObject.OnCreate += delegate(GameObject sender, EventArgs args)
            {
                var missile = sender as MissileClient;
                if (missile != null && missile.SpellCaster.IsMe && missile.SData.Name.ToLower() == Spells.E.MissileName)
                {
                    Spells.E.Missile = missile;
                }
            };
            GameObject.OnDelete += delegate(GameObject sender, EventArgs args)
            {
                var missile = sender as MissileClient;
                if (missile != null && missile.SpellCaster.IsMe && missile.SData.Name.ToLower() == Spells.E.MissileName)
                {
                    Spells.E.Missile = null;
                }
            };
            Gapcloser.OnGapcloser += delegate(AIHeroClient sender, Gapcloser.GapcloserEventArgs args)
            {
                if (sender.IsEnemy && AutomaticMenu.CheckBox("Gapcloser") && args.End.Distance(MyHero, true) <= sender.Distance(MyHero, true))
                {
                    CastE(sender);
                }
            };
            Dash.OnDash += delegate(Obj_AI_Base sender, Dash.DashEventArgs args)
            {
                if (sender.IsEnemy && AutomaticMenu.CheckBox("Gapcloser") && args.EndPos.Distance(MyHero, true) <= sender.Distance(MyHero, true))
                {
                    CastE(sender);
                }
            };
            Interrupter.OnInterruptableSpell +=
                delegate(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs args)
            {
                if (sender.IsEnemy && AutomaticMenu.CheckBox("Interrupter"))
                {
                    CastE(sender);
                }
            };

            MenuManager.AddSubMenu("Keys");
            {
                KeysMenu.AddValue("TapKey",
                                  new KeyBind("R Tap Key", false, KeyBind.BindTypes.HoldActive, 'T')).OnValueChange += delegate(ValueBase <bool> sender, ValueBase <bool> .ValueChangeArgs args)
                {
                    if (args.NewValue && R.IsLearned)
                    {
                        TapKeyPressed = true;
                        if (!IsCastingR)
                        {
                            R.Cast();
                        }
                    }
                };
                ToggleManager.RegisterToggle(
                    KeysMenu.AddValue("StartWithCC",
                                      new KeyBind("Start with CC", false, KeyBind.BindTypes.PressToggle, 'L')),
                    delegate
                {
                });
            }
            Q.AddConfigurableHitChancePercent();
            W.AddConfigurableHitChancePercent();
            E.AddConfigurableHitChancePercent();
            R.AddConfigurableHitChancePercent();

            MenuManager.AddSubMenu("Combo");
            {
                ComboMenu.AddValue("Q", new CheckBox("Use Q"));
                ComboMenu.AddValue("W", new CheckBox("Use W"));
                ComboMenu.AddValue("E", new CheckBox("Use E"));
            }

            MenuManager.AddSubMenu("Ultimate");
            {
                UltimateMenu.AddStringList("Mode", "R AIM Mode", new[] { "Disabled", "Using TapKey", "Automatic" }, 2);
                UltimateMenu.AddValue("Delay", new Slider("Delay between R's (in ms)", 0, 0, 1500));
                UltimateMenu.AddValue("NearMouse", new GroupLabel("Near Mouse Settings"));
                UltimateMenu.AddValue("NearMouse.Enabled", new CheckBox("Only select target near mouse", false));
                UltimateMenu.AddValue("NearMouse.Radius", new Slider("Near mouse radius", 500, 100, 1500));
                UltimateMenu.AddValue("NearMouse.Draw", new CheckBox("Draw near mouse radius"));
            }

            MenuManager.AddSubMenu("Harass");
            {
                HarassMenu.AddValue("Q", new CheckBox("Use Q", false));
                HarassMenu.AddValue("W", new CheckBox("Use W", false));
                HarassMenu.AddValue("E", new CheckBox("Use E", false));
                HarassMenu.AddValue("ManaPercent", new Slider("Minimum Mana Percent", 25));
            }

            MenuManager.AddSubMenu("Clear");
            {
                ClearMenu.AddValue("LaneClear", new GroupLabel("LaneClear"));
                {
                    ClearMenu.AddValue("LaneClear.Q", new Slider("Use Q if hit is greater than {0}", 0, 0, 10));
                    ClearMenu.AddValue("LaneClear.W", new Slider("Use W if hit is greater than {0}", 3, 0, 10));
                    ClearMenu.AddValue("LaneClear.ManaPercent", new Slider("Minimum Mana Percent", 50));
                }
                ClearMenu.AddValue("JungleClear", new GroupLabel("JungleClear"));
                {
                    ClearMenu.AddValue("JungleClear.Q", new CheckBox("Use Q"));
                    ClearMenu.AddValue("JungleClear.W", new CheckBox("Use W"));
                    ClearMenu.AddValue("JungleClear.E", new CheckBox("Use E"));
                    ClearMenu.AddValue("JungleClear.ManaPercent", new Slider("Minimum Mana Percent", 20));
                }
            }
            MenuManager.AddKillStealMenu();
            {
                KillStealMenu.AddValue("Q", new CheckBox("Use Q"));
                KillStealMenu.AddValue("W", new CheckBox("Use W"));
                KillStealMenu.AddValue("E", new CheckBox("Use E"));
                KillStealMenu.AddValue("R", new CheckBox("Use R", false));
            }
            MenuManager.AddSubMenu("Automatic");
            {
                AutomaticMenu.AddValue("Interrupter", new CheckBox("Use E on channeling spells"));
                AutomaticMenu.AddValue("Gapcloser", new CheckBox("Use E on hero gapclosing / dashing"));
            }
            MenuManager.AddDrawingsMenu();
            {
                Q.AddDrawings();
                W.AddDrawings();
                E.AddDrawings();
                R.AddDrawings();
                DrawingsMenu.AddValue("R.Killable", new CheckBox("Draw text if target is r killable"));
                DrawingsMenu.AddValue("Toggles", new CheckBox("Draw toggles status"));
            }
        }
Пример #5
0
        public Cassiopeia()
        {
            Q = new SpellBase(SpellSlot.Q, SpellType.Circular, 850)
            {
                Width     = 130,
                CastDelay = 400
            };
            W = new SpellBase(SpellSlot.W, SpellType.Circular, 900)
            {
                Width     = 180,
                CastDelay = 250,
                Speed     = 3000
            };
            E = new SpellBase(SpellSlot.E, SpellType.Targeted, 730)
            {
                Speed     = 1900,
                CastDelay = 125
            };
            R = new SpellBase(SpellSlot.R, SpellType.Cone, 825)
            {
                Width     = 80,
                CastDelay = 500
            };

            Spellbook.OnCastSpell += delegate(Spellbook sender, SpellbookCastSpellEventArgs args)
            {
                if (sender.Owner.IsMe)
                {
                    switch (args.Slot)
                    {
                    case SpellSlot.Q:
                        Q.LastSentTime    = Core.GameTickCount;
                        Q.LastEndPosition = args.EndPosition;
                        break;

                    case SpellSlot.W:
                        W.LastSentTime    = Core.GameTickCount;
                        W.LastEndPosition = args.EndPosition;
                        break;
                    }
                }
            };

            Gapcloser.OnGapcloser += delegate(AIHeroClient sender, Gapcloser.GapcloserEventArgs args)
            {
                if ((ModeManager.LastHit || ModeManager.Harass) && sender.IsEnemy && args.End.Distance(MyHero, true) <= 700 && args.End.Distance(MyHero, true) > 500)
                {
                    CastW(sender);
                }

                else if (sender.IsEnemy && (ModeManager.Harass || ModeManager.Flee) && args.End.Distance(MyHero, true) <= 900 && args.End.Distance(MyHero, true) > 500)
                {
                    foreach (
                        var ally in
                        EntityManager.Heroes.Allies.Where(ally => sender.IsFacing(ally)))
                    {
//
                        {
                            CastW(sender);
                        }
                    }
                }
            };

            Obj_AI_Base.OnProcessSpellCast += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
            {
                if (sender.IsMe)
                {
                    switch (args.Slot)
                    {
                    case SpellSlot.Q:
                        Q.LastCastTime    = Core.GameTickCount;
                        Q.LastEndPosition = args.End;
                        break;

                    case SpellSlot.W:
                        W.LastCastTime    = Core.GameTickCount;
                        W.LastEndPosition = args.End;
                        break;
                    }
                }
            };

            Obj_AI_Base.OnBasicAttack += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
            {
                if (ModeManager.Harass && sender.IsValidTarget(800) && Q.IsReady && KeysMenu.KeyBind("HarassToggle") && sender.IsEnemy && sender.Type == GameObjectType.AIHeroClient)
                {
                    Q.Cast(sender.ServerPosition + 20);
                }
            };


            MenuManager.AddSubMenu("Keys");
            {
                KeysMenu.AddValue("AssistedUltimate",
                                  new KeyBind("Assisted Ultimate", false, KeyBind.BindTypes.HoldActive, 'T'));
                ToggleManager.RegisterToggle(
                    KeysMenu.AddValue("HarassToggle",
                                      new KeyBind("Harass Toggle", false, KeyBind.BindTypes.PressToggle, 'K')),
                    delegate
                {
                    if (!ModeManager.Combo)
                    {
                    }
                });
            }
            Q.AddConfigurableHitChancePercent();
            W.AddConfigurableHitChancePercent();
            R.AddConfigurableHitChancePercent();


            MenuManager.AddSubMenu("Combo");
            {
                ComboMenu.AddValue("Q", new CheckBox("Use Q"));
                ComboMenu.AddValue("W", new CheckBox("Use W"));
                ComboMenu.AddStringList("E", "Use E", new[] { "Never", "If Poisoned", "Always" }, 1);
                ComboMenu.AddValue("R", new Slider("Use R if hit >= {0}", 3, 0, 5));
            }

            MenuManager.AddSubMenu("Harass");
            {
                HarassMenu.AddValue("Q", new CheckBox("Use Q"));
                HarassMenu.AddValue("W", new CheckBox("Use W"));
                HarassMenu.AddStringList("E", "Use E", new[] { "Never", "If Poisoned", "Always" }, 1);
                HarassMenu.AddValue("ManaPercent", new Slider("Minimum Mana Percent", 25));
            }

            MenuManager.AddSubMenu("Clear");
            {
                ClearMenu.AddValue("LaneClear", new GroupLabel("LaneClear"));
                {
                    ClearMenu.AddValue("LaneClear.Q", new Slider("Use Q if hit >= {0}", 2, 0, 10));
                    ClearMenu.AddValue("LaneClear.W", new Slider("Use W if hit >= {0}", 3, 0, 10));
                    ClearMenu.AddStringList("LaneClear.E", "Use E", new[] { "Never", "If Poisoned", "Always" }, 1);
                    ClearMenu.AddValue("LaneClear.ManaPercent", new Slider("Minimum Mana Percent", 50));
                }
                ClearMenu.AddValue("LastHit", new GroupLabel("LastHit"));
                {
                    ClearMenu.AddStringList("LastHit.E", "Use E", new[] { "Never", "If Poisoned", "Always" }, 1);
                    ClearMenu.AddValue("LastHit.ManaPercent", new Slider("Minimum Mana Percent", 50));
                }
                ClearMenu.AddValue("JungleClear", new GroupLabel("JungleClear"));
                {
                    ClearMenu.AddValue("JungleClear.Q", new CheckBox("Use Q"));
                    ClearMenu.AddValue("JungleClear.W", new CheckBox("Use W"));
                    ClearMenu.AddValue("JungleClear.E", new CheckBox("Use E"));
                    ClearMenu.AddValue("JungleClear.ManaPercent", new Slider("Minimum Mana Percent", 20));
                }
            }
            MenuManager.AddKillStealMenu();
            {
                KillStealMenu.AddValue("Q", new CheckBox("Use Q"));
                KillStealMenu.AddValue("W", new CheckBox("Use W"));
                KillStealMenu.AddValue("E", new CheckBox("Use E"));
                KillStealMenu.AddValue("R", new CheckBox("Use R", false));
            }
            MenuManager.AddSubMenu("Automatic");
            {
                AutomaticMenu.AddValue("R", new CheckBox("Use R on channeling spells"));
            }
            MenuManager.AddDrawingsMenu();
            {
                Q.AddDrawings();
                W.AddDrawings(false);
                E.AddDrawings();
                R.AddDrawings();
                DrawingsMenu.AddValue("Toggles", new CheckBox("Draw toggles status"));
            }
        }
Пример #6
0
 public static void Initialize()
 {
     if (EntityManager.Heroes.Enemies.Count > 0)
     {
         if (Menu == null)
         {
             MenuManager.AddSubMenu("Evader");
         }
         if (Menu != null)
         {
             foreach (var enemy in EntityManager.Heroes.Enemies)
             {
                 Menu.AddLabel(enemy.Hero.ToString());
                 foreach (var slot in AllowedSlots)
                 {
                     if (!SpellsAddedToMenu.Contains(enemy.Hero.ToString() + slot))
                     {
                         Menu.AddValue(enemy.Hero.ToString() + slot, new CheckBox(slot.ToString(), false));
                         SpellsAddedToMenu.Add(enemy.Hero.ToString() + slot);
                     }
                 }
             }
         }
     }
     Obj_AI_Base.OnProcessSpellCast += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
     {
         var hero = sender as AIHeroClient;
         if (hero != null && sender.IsEnemy && AllowedSlots.Contains(args.Slot) && hero.IsValidTarget(1500f) &&
             SpellsAddedToMenu.Contains(hero.Hero.ToString() + args.Slot) &&
             Menu.CheckBox(hero.Hero.ToString() + args.Slot))
         {
             if (DangerousSpellSlots.ContainsKey(hero.Hero) && DangerousSpellSlots[hero.Hero] == args.Slot)
             {
                 if (DangerousSpellNames.ContainsKey(hero.Hero) &&
                     DangerousSpellNames[hero.Hero] != args.SData.Name)
                 {
                     return;
                 }
             }
             var evadeArgs = new EvaderArgs
             {
                 Sender    = hero,
                 StartTick = Core.GameTickCount,
                 Spell     = args,
                 SData     = args.SData
             };
             EvaderList.Add(evadeArgs);
             if (OnEvader != null && evadeArgs.WillHitMyHero())
             {
                 OnEvader(evadeArgs);
             }
         }
     };
     GameObject.OnCreate += delegate(GameObject sender, EventArgs args)
     {
         var missile = sender as MissileClient;
         if (missile != null)
         {
             var hero = missile.SpellCaster as AIHeroClient;
             if (hero != null && hero.IsEnemy && hero.IsValidTarget(1500f))
             {
                 var evaderArgs =
                     EvaderList.FirstOrDefault(
                         args1 =>
                         args1.Sender.IdEquals(hero) &&
                         args1.SData.AlternateName == missile.SData.AlternateName);
                 if (evaderArgs != null)
                 {
                     evaderArgs.SData   = missile.SData;
                     evaderArgs.Missile = missile;
                 }
                 else if (EvaderList.Count(args1 => args1.Sender.IdEquals(hero)) == 1)
                 {
                     evaderArgs = EvaderList.FirstOrDefault(args1 => args1.Sender.IdEquals(hero));
                     if (evaderArgs != null)
                     {
                         evaderArgs.SData   = missile.SData;
                         evaderArgs.Missile = missile;
                     }
                 }
             }
         }
     };
     GameObject.OnDelete += delegate(GameObject sender, EventArgs args)
     {
         var missile = sender as MissileClient;
         if (missile != null)
         {
             var hero = missile.SpellCaster as AIHeroClient;
             if (hero != null)
             {
                 foreach (var evaderArgs in EvaderList.Where(evaderArgs => evaderArgs.Missile != null))
                 {
                     evaderArgs.Missile = null;
                 }
             }
         }
     };
     Game.OnTick += delegate
     {
         EvaderList.RemoveAll(args => Core.GameTickCount - args.StartTick > 1800 || !args.Sender.IsValidTarget());
         if (EvaderList.Count == 0 || OnEvader == null)
         {
             return;
         }
         foreach (var args in EvaderList.Where(args => args.WillHitMyHero()))
         {
             OnEvader(args);
         }
     };
 }
Пример #7
0
        public override void CreateMenu()
        {
            base.CreateMenu();

            var menu = MenuManager.AddSubMenu("Drawings");

            {
                menu.NewCheckbox("disable", "Deaktif", false);
                menu.NewCheckbox("damageindicator", "Hasar Tespiti");
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("e", "E");
                menu.NewCheckbox("r", "R");
            }

            menu = MenuManager.AddSubMenu("Combo");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("q.smart", "Akıllı Q");
                menu.NewCheckbox("q.gapclose", "Q on units to gapclose");
                menu.NewCheckbox("w", "W", true, true);
                menu.NewCheckbox("w.beforeq", "W'yi Q'dan önce kullan");
                menu.NewCheckbox("e", "E", true, true);
                menu.NewCheckbox("e.jiws", "Sabit atabilecekse E kullan");
                menu.NewCheckbox("r", "R", true, true);
                menu.NewCheckbox("r.jisa", "R'yi kendi kendine kullan");
                menu.NewCheckbox("r.gapclose", "R on units to gapclose");
            }

            menu = MenuManager.AddSubMenu("Harass");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W", true, true);
                menu.NewCheckbox("w.beforeq", "W'den önce Q");
                menu.NewCheckbox("e", "E", true, true);
                menu.NewCheckbox("e.jiws", "Stun olacaksa E kullan");
                menu.NewSlider("mana%", "en az mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Lane Clear");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewSlider("mana%", "en az mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Last Hit");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewSlider("mana%", "en az mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Jungle Clear");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewCheckbox("e", "E");
                menu.NewSlider("mana%", "en az mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Flee");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("e", "E");
                menu.NewCheckbox("r", "R");
            }

            menu = MenuManager.AddSubMenu("Misc");
            {
                menu.NewCheckbox("ks", "KS");
                menu.NewCheckbox("interrupter", "Interrupter");
                menu.NewCheckbox("gapcloser", "Stun/Yavaşlatma düşmanda kullan,gapclose");
                menu.NewCheckbox("eithe", "Kule Düşmana vuracaksa E kullan");
            }
        }
Пример #8
0
        public override void CreateMenu()
        {
            base.CreateMenu();

            var menu = MenuManager.AddSubMenu("Drawings");

            {
                menu.NewCheckbox("disable", "Disable", false);
                menu.NewCheckbox("damageindicator", "Damage Indicator");
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("e", "E");
                menu.NewCheckbox("r", "R");
            }

            menu = MenuManager.AddSubMenu("Combo");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewSlider("q.hitchance%", "Q HitChance%", 65, 1, 100);
                menu.NewCheckbox("w", "W", true, true);
                menu.NewCheckbox("e", "E");
                menu.NewCheckbox("r", "R");
            }

            menu = MenuManager.AddSubMenu("Harass");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewSlider("q.hitchance%", "Q HitChance%", 65, 1, 100);
                menu.NewCheckbox("w", "W", true, true);
                menu.NewCheckbox("e", "E");
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Lane Clear");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Last Hit");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Jungle Clear");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewCheckbox("e", "E");
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Misc");
            {
                menu.NewCheckbox("ks", "KS");
                menu.NewCheckbox("ks.r", "KS with R ?");
                menu.NewCheckbox("interrupter", "Interrupter");
                menu.NewKeybind("insec.normal", "Normal insec", false, KeyBind.BindTypes.HoldActive, 'J');
                menu.NewKeybind("insec.godlike", "God like insec", false, KeyBind.BindTypes.HoldActive, 'G');
            }
        }
Пример #9
0
        public override void CreateMenu()
        {
            base.CreateMenu();

            var menu = MenuManager.AddSubMenu("Drawings");

            {
                menu.NewCheckbox("disable", "Disable", false);
                menu.NewCheckbox("damageindicator", "Damage Indicator");
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("e", "E");
                menu.NewCheckbox("r", "R");
            }

            menu = MenuManager.AddSubMenu("Combo");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("q.smart", "SmartQ");
                menu.NewCheckbox("q.gapclose", "Q on units to gapclose");
                menu.NewCheckbox("w", "W", true, true);
                menu.NewCheckbox("w.beforeq", "W before Q");
                menu.NewCheckbox("e", "E", true, true);
                menu.NewCheckbox("e.jiws", "Just E if will stun");
                menu.NewCheckbox("r", "R", true, true);
                menu.NewCheckbox("r.jisa", "R just if self-actived");
                menu.NewCheckbox("r.gapclose", "R on units to gapclose");
            }

            menu = MenuManager.AddSubMenu("Harass");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W", true, true);
                menu.NewCheckbox("w.beforeq", "W before Q");
                menu.NewCheckbox("e", "E", true, true);
                menu.NewCheckbox("e.jiws", "Just E if will stun");
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Lane Clear");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Last Hit");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Jungle Clear");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewCheckbox("e", "E");
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Flee");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("e", "E");
                menu.NewCheckbox("r", "R");
            }

            menu = MenuManager.AddSubMenu("Misc");
            {
                menu.NewCheckbox("ks", "KS");
                menu.NewCheckbox("interrupter", "Interrupter");
                menu.NewCheckbox("gapcloser", "Stun/Slow on enemy gapcloser");
                menu.NewCheckbox("eithe", "Auto E if tower hit enemy");
            }
        }
Пример #10
0
        public override void CreateMenu()
        {
            base.CreateMenu();

            var menu = MenuManager.AddSubMenu("线圈");

            {
                menu.NewCheckbox("disable", "屏蔽", false);
                menu.NewCheckbox("damageindicator", "伤害指示器");
                menu.NewCheckbox("q", "Q");
            }

            menu = MenuManager.AddSubMenu("连招");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("q.smartq", "智能Q");
                menu.NewCheckbox("q.saveqtododgespells", "保留Q进行躲避", true, true);
                menu.NewCheckbox("w.aareset", "W 普攻重置", true, true);
                menu.NewCheckbox("e", "E");
                menu.NewCheckbox("r", "R");
            }

            menu = MenuManager.AddSubMenu("骚扰");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w.aareset", "W 普攻重置");
                menu.NewCheckbox("e", "E");
            }

            menu = MenuManager.AddSubMenu("清线");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("q.jimwd", "使用Q如果可击杀小兵", true, true);
                menu.NewSlider("q.minminions", "最低小兵数量 Q", 4, 1, 4, true);
                menu.NewSlider("mana%", "最低蓝量%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("清野");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("e", "E");
                menu.NewSlider("mana%", "最低蓝量%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("杂项");
            {
                menu.NewCheckbox("ks", "抢头");
                menu.NewCheckbox("dodgefireballs", "尝试躲避小龙火球攻击", true, true);
                menu.NewCheckbox("gapcloser", "突进");
            }

            menu = MenuManager.AddSubMenu("Q/W Evade Options");
            {
                menu.NewCheckbox("q/wonlyoncombo", "只在连招中躲避");

                foreach (AIHeroClient hero in EntityManager.Heroes.Enemies)
                {
                    menu.AddGroupLabel(hero.BaseSkinName);
                    {
                        foreach (SpellDataInst spell in hero.Spellbook.Spells)
                        {
                            if (DodgeSpells.Any(el => el == spell.SData.Name))
                            {
                                menu.NewSlider(spell.Name, hero.BaseSkinName + " : " + spell.Slot.ToString() + " : " + spell.Name, 3, 0, 3);
                                MenuSpells.Add(spell.Name);
                            }
                        }
                    }

                    menu.AddSeparator();
                }
            }
        }
Пример #11
0
        public override void CreateMenu()
        {
            base.CreateMenu();

            var menu = MenuManager.AddSubMenu("Drawings");

            {
                menu.NewCheckbox("disable", "Deaktif", false);
                menu.NewCheckbox("damageindicator", "Hasar Tespiti");
                menu.NewCheckbox("r", "R");
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("e", "E");
                menu.NewCheckbox("ultpos&hits", "R pozisyonu çarpacak mı?");
            }

            menu = MenuManager.AddSubMenu("Combo");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewCheckbox("e", "E");
                menu.NewCheckbox("r", "R", true);
                menu.NewSlider("r.minenemies", "R için en az düşman sayısı", 2, 1, 5);
            }

            menu = MenuManager.AddSubMenu("Harass");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewCheckbox("e", "E");
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Last Hit");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewSlider("mana%", "en az mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Lane Clear");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewCheckbox("e", "E");
                menu.NewSlider("e.minminions", "E için en az minyon", 3, 1, 7);
                menu.NewSlider("mana%", "en az mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Jungle Clear");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewCheckbox("e", "E");
                menu.NewSlider("mana%", "en az mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Flee");
            {
                menu.NewCheckbox("q", "Q");
            }

            menu = MenuManager.AddSubMenu("Misc");
            {
                menu.NewCheckbox("ks", "KS");
                menu.NewCheckbox("interrupter", "İnterrupt için R");
                menu.NewCheckbox("gapcloser", "Gapclose için Q", true);
                menu.NewKeybind("ult", "Otomatik R (Düşman azsa görmezden gel)", false, KeyBind.BindTypes.HoldActive, 'J', true);
            }
        }
Пример #12
0
        public override void CreateMenu()
        {
            base.CreateMenu();

            var menu = MenuManager.AddSubMenu("线圈");

            {
                menu.NewCheckbox("disable", "关闭线圈", false);
                menu.NewCheckbox("damageindicator", "伤害显示");
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("e", "E");
                menu.NewCheckbox("r", "R");
            }

            menu = MenuManager.AddSubMenu("连招");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewSlider("q.hitchance%", "Q 命中率%", 65, 1, 100);
                menu.NewCheckbox("w", "W", true, true);
                menu.NewCheckbox("e", "E");
                menu.NewCheckbox("r", "R");
            }

            menu = MenuManager.AddSubMenu("骚扰");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewSlider("q.hitchance%", "Q 骚扰%", 65, 1, 100);
                menu.NewCheckbox("w", "W", true, true);
                menu.NewCheckbox("e", "E");
                menu.NewSlider("mana%", "最低蓝消耗%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("清线");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewSlider("mana%", "最低蓝消耗%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("尾兵");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewSlider("mana%", "最低蓝消耗%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("清野");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewCheckbox("e", "E");
                menu.NewSlider("mana%", "最低蓝消耗%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("杂项");
            {
                menu.NewCheckbox("ks", "抢头");
                menu.NewCheckbox("ks.r", "用R抢头 ?");
                menu.NewCheckbox("interrupter", "技能打断");
                menu.NewKeybind("insec.normal", "普通漂移推人", false, KeyBind.BindTypes.HoldActive, 'J');
                menu.NewKeybind("insec.godlike", "神级漂移推人", false, KeyBind.BindTypes.HoldActive, 'G');
            }
        }
Пример #13
0
        public override void CreateMenu()
        {
            base.CreateMenu();

            var menu = MenuManager.AddSubMenu("线圈");

            {
                menu.NewCheckbox("disable", "关闭线圈", false);
                menu.NewCheckbox("damageindicator", "伤害显示");
                menu.NewCheckbox("q/w/r", "Q/W/R");
                menu.NewCheckbox("flash+r", "闪现 + R");
                menu.NewCheckbox("ultpos&hits", "大招施放位置&命中数量");
            }

            menu = MenuManager.AddSubMenu("连招");
            {
                menu.NewCheckbox("aa", "平A ?");
                menu.NewCheckbox("aa.maxrange", "最远距离平A?", false);
                menu.NewCheckbox("q", "Q", true, true);
                menu.NewCheckbox("w", "W");
                menu.NewCheckbox("r", "R", true, true);
                menu.NewCheckbox("r.jiws", "能击晕时直接R");
                menu.NewSlider("r.minenemies", "最低R敌人数量", 2, 1, 5, true);
            }

            menu = MenuManager.AddSubMenu("骚扰");
            {
                menu.NewCheckbox("aa.maxrange", "最远距离平A?", false);
                menu.NewCheckbox("q", "Q", true, true);
                menu.NewCheckbox("w", "W");
                menu.NewSlider("mana%", "最低蓝消耗%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("清线");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewSlider("q.mode", "Q 模式, 0 : 一直, 1 : 附近无敌人, 2 : 保留晕眩", 1, 0, 2);
                menu.NewCheckbox("w", "W", true, true);
                menu.NewSlider("w.minminions", "最低小兵数量W", 3, 1, 7);
                menu.NewSlider("mana%", "最低蓝消耗%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("尾兵");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewSlider("q.mode", "Q 模式, 0 : 一直, 1 : 附近无敌人, 2 : 保留晕眩", 0, 0, 2);
            }

            menu = MenuManager.AddSubMenu("清野");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewSlider("mana%", "最低蓝消耗%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("杂项");
            {
                menu.NewCheckbox("ks", "抢头");
                menu.NewCheckbox("stackstun", "叠加晕眩");
                menu.NewCheckbox("interrupter", "技能打断");
                menu.NewCheckbox("gapcloser", "击晕突击的敌人");
                menu.NewKeybind("autor", "对目标自动R (无视最低敌人数量设置):", false, KeyBind.BindTypes.HoldActive, 'J', true);
                menu.NewKeybind("autoflash+r", "闪现 + R (不无视最低敌人数量设置):", false, KeyBind.BindTypes.HoldActive, 'J', true);
            }
        }
Пример #14
0
        public override void CreateMenu()
        {
            base.CreateMenu();

            var menu = MenuManager.AddSubMenu("Drawings");

            {
                menu.NewCheckbox("disable", "Disable", false);
                menu.NewCheckbox("damageindicator", "Damage Indicator");
                menu.NewCheckbox("r", "R");
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("e", "E");
                menu.NewCheckbox("ultpos&hits", "Draw R position and hits");
            }

            menu = MenuManager.AddSubMenu("Combo");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewCheckbox("e", "E");
                menu.NewCheckbox("r", "R", true);
                menu.NewSlider("r.minenemies", "Min enemies R", 2, 1, 5);
            }

            menu = MenuManager.AddSubMenu("Harass");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewCheckbox("e", "E");
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Last Hit");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Lane Clear");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewCheckbox("e", "E");
                menu.NewSlider("e.minminions", "Min minions E", 3, 1, 7);
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Jungle Clear");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewCheckbox("e", "E");
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Flee");
            {
                menu.NewCheckbox("q", "Q");
            }

            menu = MenuManager.AddSubMenu("Misc");
            {
                menu.NewCheckbox("ks", "KS");
                menu.NewCheckbox("interrupter", "R to interrupt spells");
                menu.NewCheckbox("gapcloser", "Q on enemy gapcloser", true);
                menu.NewKeybind("ult", "Auto R (ignore min enemies slider)", false, KeyBind.BindTypes.HoldActive, 'J', true);
            }
        }
Пример #15
0
        public override void CreateMenu()
        {
            base.CreateMenu();

            var menu = MenuManager.AddSubMenu("Drawings");

            {
                menu.NewCheckbox("disable", "Disable", false);
                menu.NewCheckbox("damageindicator", "Damage Indicator");
                menu.NewCheckbox("q/w/r", "Q/W/R");
                menu.NewCheckbox("flash+r", "Flash + R");
                menu.NewCheckbox("ultpos&hits", "Ult pos and hits");
            }

            menu = MenuManager.AddSubMenu("Combo");
            {
                menu.NewCheckbox("aa", "AA ?");
                menu.NewCheckbox("aa.maxrange", "AA max range ?", false);
                menu.NewCheckbox("q", "Q", true, true);
                menu.NewCheckbox("w", "W");
                menu.NewCheckbox("r", "R", true, true);
                menu.NewCheckbox("r.jiws", "Just R if will stun");
                menu.NewSlider("r.minenemies", "Min enemies R", 2, 1, 5, true);
            }

            menu = MenuManager.AddSubMenu("Harass");
            {
                menu.NewCheckbox("aa.maxrange", "AA max range ?", false);
                menu.NewCheckbox("q", "Q", true, true);
                menu.NewCheckbox("w", "W");
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Lane Clear");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewSlider("q.mode", "Q mode, 0 : Always, 1 : AlwaysIfNoEnemiesAround, 2 : AlwaysIfNoStun", 1, 0, 2);
                menu.NewCheckbox("w", "W", true, true);
                menu.NewSlider("w.minminions", "Min minions W", 3, 1, 7);
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Last Hit");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewSlider("q.mode", "Q mode, 0 : Always, 1 : AlwaysIfNoEnemiesAround, 2 : AlwaysIfNoStun", 0, 0, 2);
            }

            menu = MenuManager.AddSubMenu("Jungle Clear");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Misc");
            {
                menu.NewCheckbox("ks", "KS");
                menu.NewCheckbox("stackstun", "Stack stun");
                menu.NewCheckbox("interrupter", "Interrupter");
                menu.NewCheckbox("gapcloser", "Stun on enemy gapcloser");
                menu.NewKeybind("autor", "Auto R on target (Ignore the min enemies slider):", false, KeyBind.BindTypes.HoldActive, 'J', true);
                menu.NewKeybind("autoflash+r", "Auto Flash + R (Doesn't ignore the min enemies slider):", false, KeyBind.BindTypes.HoldActive, 'J', true);
            }
        }
Пример #16
0
        public override void CreateMenu()
        {
            base.CreateMenu();

            var menu = MenuManager.AddSubMenu("Drawings");

            {
                menu.NewCheckbox("disable", "Disable", false);
                menu.NewCheckbox("damageindicator", "Damage Indicator");
                menu.NewCheckbox("r", "R");
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
            }

            menu = MenuManager.AddSubMenu("Combo");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewSlider("q.hitchance%", "Q HitChance%", 85, 1, 100);
                menu.NewCheckbox("w", "W", true, true);
                menu.NewCheckbox("e", "E");
                menu.NewCheckbox("r", "R", true);
                menu.NewSlider("r.minenemies", "Min enemies R", 2, 1, 5);
            }

            menu = MenuManager.AddSubMenu("Harass");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewSlider("q.hitchance%", "Q HitChance%", 85, 1, 100);
                menu.NewCheckbox("w", "W", true, true);
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Last Hit");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Lane Clear");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewCheckbox("e", "E");
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Jungle Clear");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewCheckbox("e", "E");
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Flee");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewCheckbox("e", "E");
            }

            menu = MenuManager.AddSubMenu("Misc");
            {
                menu.NewCheckbox("ks", "KS");
                menu.NewCheckbox("interrupter", "Interrupt spells");
                menu.NewCheckbox("gapcloser", "Q on enemy gapcloser", true);
            }
        }
Пример #17
0
        public override void CreateMenu()
        {
            base.CreateMenu();

            var menu = MenuManager.AddSubMenu("Drawings");

            {
                menu.NewCheckbox("disable", "Disable", false);
                menu.NewCheckbox("damageindicator", "Damage Indicator");
                menu.NewCheckbox("r", "R");
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("e", "E");
                menu.NewCheckbox("w", "W", false);
            }

            menu = MenuManager.AddSubMenu("Combo");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewSlider("q.hitchance%", "Q HitChance%", 85, 1, 100);
                menu.NewCheckbox("w", "W");
                menu.NewCheckbox("r", "R", true);
                menu.NewSlider("r.minenemies", "Min enemies R", 2, 1, 5);
            }

            menu = MenuManager.AddSubMenu("Harass");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewSlider("q.hitchance%", "Q HitChance%", 85, 1, 100);
                menu.NewCheckbox("w", "W", true, true);
                menu.NewCheckbox("w.jitii", "Just W if target is immobile");
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Lane Clear");
            {
                menu.NewCheckbox("w", "W");
                menu.NewSlider("w.minminions", "Min minions W", 3, 1, 7);
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Jungle Clear");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Flee");
            {
                menu.NewCheckbox("q", "Q");
            }

            menu = MenuManager.AddSubMenu("Misc");
            {
                menu.NewCheckbox("ks", "KS", false);
                menu.NewCheckbox("aaminionswhenallynear", "AA minions when ally near?");
                menu.NewCheckbox("autoqonimmobile", "Auto Q on immobile enemies", true);
                menu.NewCheckbox("autoqonflash", "Auto Q on flash", true);
                menu.NewCheckbox("autoqondash", "Auto Q on dash", true);
                menu.NewCheckbox("autowonimmobile", "Auto W on immobile enemies", true);
                menu.NewCheckbox("gapcloser", "Q on enemy gapcloser", true);
            }

            //---------------------------------------||   EMenu   ||------------------------------------------

            EMenu = MenuManager.AddSubMenu("E Options");
            EMenu.AddSeparator();

            foreach (var ally in EntityManager.Heroes.Allies)
            {
                EMenu.Add(ally.BaseSkinName, new Slider(string.Format("{0}'s Priority", ally.BaseSkinName), 3, 1, 5));
                EMenu.AddSeparator();
            }

            EMenu.AddSeparator();

            EMenu.Add("UseShield?", new CheckBox("Use Shield?"));

            EMenu.AddSeparator();

            EMenu.AddGroupLabel("Use shield for:");

            EMenu.AddSeparator();

            foreach (AIHeroClient hero in EntityManager.Heroes.Enemies)
            {
                EMenu.AddGroupLabel(hero.BaseSkinName);
                {
                    foreach (SpellDataInst spell in hero.Spellbook.Spells)
                    {
                        if (ESpells.Any(el => el == spell.SData.Name))
                        {
                            EMenu.Add(spell.Name, new CheckBox(hero.BaseSkinName + " : " + spell.Slot.ToString() + " : " + spell.Name));
                            MenuSpells.Add(spell.Name);
                        }
                    }
                }

                EMenu.AddSeparator();
            }
        }
Пример #18
0
        public override void CreateMenu()
        {
            base.CreateMenu();

            var menu = MenuManager.AddSubMenu("Drawings");

            {
                menu.NewCheckbox("disable", "Deaktif", false);
                menu.NewCheckbox("damageindicator", "Hasar Tespiti");
                menu.NewCheckbox("q/w/r", "Q/W/R");
                menu.NewCheckbox("flash+r", "Flash + R");
                menu.NewCheckbox("ultpos&hits", "Ulti pozisyonu Vuracak mı");
            }

            menu = MenuManager.AddSubMenu("Combo");
            {
                menu.NewCheckbox("aa", "AA ?");
                menu.NewCheckbox("aa.maxrange", "AA en fazla menzil ?", false);
                menu.NewCheckbox("q", "Q", true, true);
                menu.NewCheckbox("w", "W");
                menu.NewCheckbox("r", "R", true, true);
                menu.NewCheckbox("r.jiws", "Stunlanacaksa R kullan");
                menu.NewSlider("r.minenemies", "R için gerekli düşman", 2, 1, 5, true);
            }

            menu = MenuManager.AddSubMenu("Harass");
            {
                menu.NewCheckbox("aa.maxrange", "AA en fazla menzil ?", false);
                menu.NewCheckbox("q", "Q", true, true);
                menu.NewCheckbox("w", "W");
                menu.NewSlider("mana%", "en az mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Lane Clear");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewSlider("q.mode", "Q mode, 0 : Her zaman, 1 : Düşman Yakında olmadıkça, 2 : Hiç Kullanma", 1, 0, 2);
                menu.NewCheckbox("w", "W", true, true);
                menu.NewSlider("w.minminions", "Min minions W", 3, 1, 7);
                menu.NewSlider("mana%", "en az mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Last Hit");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewSlider("q.mode", "Q mode, 0 : Her zaman, 1 : Düşman Yakında olmadıkça, 2 : Hiç Kullanma", 0, 0, 2);
            }

            menu = MenuManager.AddSubMenu("Jungle Clear");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewSlider("mana%", "en az mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Misc");
            {
                menu.NewCheckbox("ks", "KS");
                menu.NewCheckbox("stackstun", "Sabitlemek için yük kas");
                menu.NewCheckbox("interrupter", "Interrupter");
                menu.NewCheckbox("gapcloser", "Düşmanı sabitle");
                menu.NewKeybind("autor", "Otomatik R hedefe (Az düşmana Aldırma):", false, KeyBind.BindTypes.HoldActive, 'J', true);
                menu.NewKeybind("autoflash+r", "Auto Flash + R (Az düşman diye aldırmamazlık yapma):", false, KeyBind.BindTypes.HoldActive, 'J', true);
            }
        }
Пример #19
0
        public Orianna()
        {
            try
            {
                AIO.Initializers.Add(delegate
                {
                    _ballObject =
                        ObjectManager.Get <Obj_GeneralParticleEmitter>()
                        .FirstOrDefault(
                            o => o.IsValid && !o.IsDead && o.Name.Equals(BallName));
                });
                Q = new SpellBase(SpellSlot.Q, SpellType.Circular, 815)
                {
                    Speed = 1200,
                    Width = 80,
                    CollidesWithYasuoWall = false
                };
                Q.SetSourceFunction(() => Ball);
                W = new SpellBase(SpellSlot.W, SpellType.Self, 255);
                W.SetSourceFunction(() => Ball);
                W.SetRangeCheckSourceFunction(() => Ball);
                E = new SpellBase(SpellSlot.E, SpellType.Circular, 1095)
                {
                    Speed = 1800,
                    Width = 85,
                    MinHitChancePercent   = 45,
                    CollidesWithYasuoWall = false
                };
                E.SetSourceFunction(() => Ball);
                R = new SpellBase(SpellSlot.R, SpellType.Self, 400)
                {
                    CastDelay = 500
                };
                R.SetSourceFunction(() => Ball);
                R.SetRangeCheckSourceFunction(() => Ball);
                Spellbook.OnCastSpell += delegate(Spellbook sender, SpellbookCastSpellEventArgs args)
                {
                    if (sender.Owner.IsMe)
                    {
                        if (args.Slot == SpellSlot.R && MiscMenu.CheckBox("R.Block"))
                        {
                            args.Process = _hitR != 0 && !_ballIsMissile;
                        }
                    }
                };
                GameObject eTarget = null;
                Obj_AI_Base.OnProcessSpellCast += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
                {
                    if (sender.IsMe)
                    {
                        if (args.Slot == SpellSlot.E)
                        {
                            eTarget = args.Target;
                        }
                    }
                };
                GameObject.OnCreate += delegate(GameObject sender, EventArgs args)
                {
                    if (sender.Name.Equals(BallName))
                    {
                        _ballObject = sender;
                    }
                    else
                    {
                        var missile = sender as MissileClient;
                        if (missile != null && missile.SpellCaster != null && missile.SpellCaster.IsMe)
                        {
                            if (missile.SData.Name.Equals("orianaizuna") || missile.SData.Name.Equals("orianaredact"))
                            {
                                _ballObject = missile;
                            }
                        }
                    }
                };
                GameObject.OnDelete += delegate(GameObject sender, EventArgs args)
                {
                    var missile = sender as MissileClient;
                    if (missile != null && missile.SpellCaster != null && missile.SpellCaster.IsMe)
                    {
                        if (missile.SData.Name.Equals("orianaredact"))
                        {
                            _ballObject = eTarget;
                        }
                    }
                };
                Obj_AI_Base.OnPlayAnimation += delegate(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
                {
                    if (sender.IsMe && args.Animation.Equals("Prop"))
                    {
                        _ballObject = sender;
                    }
                };
                Gapcloser.OnGapcloser += delegate(AIHeroClient sender, Gapcloser.GapcloserEventArgs args)
                {
                    if (sender.IsAlly)
                    {
                        if (Target != null && AutomaticMenu.CheckBox("Gapcloser") &&
                            Ball.GetDistanceSqr(Target) > args.End.Distance(Target, true) &&
                            args.End.Distance(Target, true) < args.Sender.GetDistanceSqr(Target))
                        {
                            CastE(sender);
                        }
                    }
                };
                Dash.OnDash += delegate(Obj_AI_Base sender, Dash.DashEventArgs args)
                {
                    if (sender.IsAlly)
                    {
                        if (Target != null && AutomaticMenu.CheckBox("Gapcloser") &&
                            Ball.GetDistanceSqr(Target) > args.EndPos.Distance(Target, true) &&
                            args.EndPos.Distance(Target, true) < sender.GetDistanceSqr(Target))
                        {
                            CastE(sender);
                        }
                    }
                };
                Interrupter.OnInterruptableSpell +=
                    delegate(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs args)
                {
                    if (sender.IsEnemy)
                    {
                        if (AutomaticMenu.CheckBox("Interrupter"))
                        {
                            if (!Ball.InRange(args.Sender, R.Range))
                            {
                                ThrowBall(args.Sender);
                            }
                            else
                            {
                                CastR(args.Sender);
                            }
                        }
                    }
                };
                Obj_AI_Base.OnBasicAttack += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
                {
                    if (sender.IsEnemy && _canShield && args.Target != null && args.Target.IsMe)
                    {
                        if (sender.Type == GameObjectType.AIHeroClient)
                        {
                            if (sender.IsMelee)
                            {
                                CastE(MyHero);
                            }
                        }
                        else if (sender.Type == GameObjectType.obj_AI_Turret)
                        {
                            CastE(MyHero);
                        }
                    }
                };
                Obj_AI_Base.OnProcessSpellCast += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
                {
                    if (sender.IsEnemy && _canShield && args.Target != null && args.Target.IsMe)
                    {
                        if (sender.Type == GameObjectType.AIHeroClient)
                        {
                            CastE(MyHero);
                        }
                    }
                };

                Q.AddConfigurableHitChancePercent();
                R.AddConfigurableHitChancePercent();

                MenuManager.AddSubMenu("Combo");
                {
                    ComboMenu.AddValue("TeamFight",
                                       new Slider("Use TeamFight logic if enemies near is greater than {0}", 3, 1, 5));
                    ComboMenu.AddValue("Common", new GroupLabel("Common logic"));
                    ComboMenu.AddValue("Q", new CheckBox("Use Q"));
                    ComboMenu.AddValue("W", new CheckBox("Use W"));
                    ComboMenu.AddValue("E.Shield", new CheckBox("Use E on enemy spells"));
                    ComboMenu.AddValue("E.HealthPercent", new Slider("Use E if my % of health is less than {0}", 40));
                    ComboMenu.AddValue("1vs1", new GroupLabel("1 vs 1 logic"));
                    ComboMenu.AddValue("R.Killable", new CheckBox("Use R if target is killable"));
                    ComboMenu.AddValue("TeamFightLogic", new GroupLabel("TeamFight logic"));
                    ComboMenu.AddValue("Q.Hit", new Slider("Use Q if hit is greater than {0}", 2, 1, 5));
                    ComboMenu.AddValue("W.Hit", new Slider("Use W if hit is greater than {0}", 2, 1, 5));
                    ComboMenu.AddValue("R.Hit", new Slider("Use R if hit is greater than {0}", 3, 1, 5));
                }

                MenuManager.AddSubMenu("Harass");
                {
                    HarassMenu.AddValue("Q", new CheckBox("Use Q"));
                    HarassMenu.AddValue("W", new CheckBox("Use W"));
                    HarassMenu.AddValue("E.Shield", new CheckBox("Use E on enemy spells"));
                    HarassMenu.AddValue("E.HealthPercent", new Slider("Use E if my % of health is less than {0}", 40));
                    HarassMenu.AddValue("ManaPercent", new Slider("Minimum Mana Percent", 25));
                }

                MenuManager.AddSubMenu("Clear");
                {
                    ClearMenu.AddValue("LaneClear", new GroupLabel("LaneClear"));
                    {
                        ClearMenu.AddValue("LaneClear.Q", new Slider("Use Q if hit is greater than {0}", 4, 0, 10));
                        ClearMenu.AddValue("LaneClear.W", new Slider("Use W if hit is greater than {0}", 3, 0, 10));
                        ClearMenu.AddValue("LaneClear.E", new Slider("Use E if hit is greater than {0}", 6, 0, 10));
                        ClearMenu.AddValue("LaneClear.ManaPercent", new Slider("Minimum Mana Percent", 50));
                    }
                    ClearMenu.AddValue("LastHit", new GroupLabel("LastHit"));
                    {
                        ClearMenu.AddStringList("LastHit.Q", "Use Q", new[] { "Never", "Smartly", "Always" }, 1);
                        ClearMenu.AddValue("LastHit.ManaPercent", new Slider("Minimum Mana Percent", 50));
                    }
                    ClearMenu.AddValue("JungleClear", new GroupLabel("JungleClear"));
                    {
                        ClearMenu.AddValue("JungleClear.Q", new CheckBox("Use Q"));
                        ClearMenu.AddValue("JungleClear.W", new CheckBox("Use W"));
                        ClearMenu.AddValue("JungleClear.E", new CheckBox("Use E"));
                        ClearMenu.AddValue("JungleClear.ManaPercent", new Slider("Minimum Mana Percent", 20));
                    }
                }

                MenuManager.AddKillStealMenu();
                {
                    KillStealMenu.AddValue("Q", new CheckBox("Use Q"));
                    KillStealMenu.AddValue("W", new CheckBox("Use W"));
                    KillStealMenu.AddValue("E", new CheckBox("Use E"));
                    KillStealMenu.AddValue("R", new CheckBox("Use R", false));
                }

                MenuManager.AddSubMenu("Automatic");
                {
                    AutomaticMenu.AddValue("Gapcloser", new CheckBox("Use E on hero gapclosing / dashing"));
                    AutomaticMenu.AddValue("Interrupter", new CheckBox("Use R on channeling spells"));
                    AutomaticMenu.AddValue("E.Shield", new CheckBox("Use E on enemy spells"));
                    AutomaticMenu.AddValue("W.Hit", new Slider("Use W if hit is greater than {0}", 2, 1, 5));
                    AutomaticMenu.AddValue("R.Hit", new Slider("Use R if hit is greater than {0}", 3, 1, 5));
                }

                MenuManager.AddDrawingsMenu();
                {
                    var c = DrawingsMenu.AddValue("Ball", new CheckBox("Draw ball position"));
                    CircleManager.Circles.Add(new Circle(c, new ColorBGRA(0, 0, 255, 100), () => 120, () => true,
                                                         () => Ball)
                    {
                        Width = 3
                    });
                    Q.AddDrawings();
                    W.AddDrawings();
                    E.AddDrawings(false);
                    R.AddDrawings();
                }
                MenuManager.AddSubMenu("Misc");
                {
                    MiscMenu.AddValue("R.Block", new CheckBox("Block R if will not hit"));
                    if (EntityManager.Heroes.Enemies.Count > 0)
                    {
                        var enemiesAdded = new HashSet <string>();
                        MiscMenu.AddValue("BlackList.R", new GroupLabel("Don't use R on:"));
                        foreach (var enemy in EntityManager.Heroes.Enemies)
                        {
                            if (!enemiesAdded.Contains(enemy.ChampionName))
                            {
                                MiscMenu.AddValue("BlackList." + enemy.ChampionName,
                                                  new CheckBox(enemy.ChampionName, false));
                                enemiesAdded.Add(enemy.ChampionName);
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                AIO.WriteInConsole(e.ToString());
            }
        }
Пример #20
0
        //                                         h                  1000

        public override void CreateMenu()
        {
            base.CreateMenu();

            var menu = MenuManager.AddSubMenu("Drawings");

            {
                menu.NewCheckbox("disable", "Disable", false);
                menu.NewCheckbox("damageindicator", "Damage Indicator");
                menu.NewCheckbox("w", "W");
                menu.NewCheckbox("e", "E");
                menu.NewCheckbox("r", "R");
                menu.NewCheckbox("burst", "Burst possible", true);
                menu.NewCheckbox("flash+w", "Flash+W");
            }

            menu = MenuManager.AddSubMenu("Combo");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewCheckbox("e", "E");
                menu.NewCheckbox("r", "R");
                menu.NewCheckbox("r.noprediction", "Don't use prediction for R (faster cast)", true, true);
                menu.NewSlider("r.minenemies", "Min enemies R", 1, 1, 5, true);
            }

            menu = MenuManager.AddSubMenu("Harass");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewCheckbox("e", "E");
            }

            menu = MenuManager.AddSubMenu("Lane Clear");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewCheckbox("e", "E");
            }

            menu = MenuManager.AddSubMenu("Jungle Clear");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewCheckbox("e", "E");
            }

            menu = MenuManager.AddSubMenu("Flee");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewCheckbox("e", "E");
            }

            menu = MenuManager.AddSubMenu("Misc");
            {
                menu.NewCheckbox("q.keepalive", "Keep Q Alive");
                menu.NewSlider("q1/q2.delay", "Q1/Q2 Cancel Animation Delay", 250, 0, 450);
                menu.NewSlider("q3.delay", "Q3 Cancel Animation Delay", 380, 300, 500);
                menu.NewCheckbox("ks", "KS", true, true);
                menu.NewCheckbox("ks.r.noprediction", "[KS] Don't use prediction for R (faster cast)");
                menu.NewCheckbox("interrupter", "Interrupter", true, true);
                menu.NewCheckbox("gapcloser", "Stun on enemy gapcloser");
                menu.NewKeybind("burst", "Burst/FlashBurst", false, KeyBind.BindTypes.HoldActive, 'J');
            }
        }
Пример #21
0
        public Diana()
        {
            Q = new SpellBase(SpellSlot.Q, SpellType.Circular, 825)
            {
                Width     = 185,
                CastDelay = 250,
                Speed     = 1640
            };
            W = new SpellBase(SpellSlot.W, SpellType.Self, 250);
            E = new SpellBase(SpellSlot.E, SpellType.Self, 450)
            {
                CastDelay = 250
            };
            R = new SpellBase(SpellSlot.R, SpellType.Targeted, 825)
            {
                Speed = 2500
            };
            Obj_AI_Base.OnProcessSpellCast += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
            {
                if (sender.IsMe)
                {
                    switch (args.Slot)
                    {
                    case SpellSlot.Q:
                        Q.LastCastTime = Core.GameTickCount;
                        QEndPosition   = args.End;   // +(args.End - sender.ServerPosition).Normalized() * Q.Width / 2;
                        break;

                    case SpellSlot.R:
                        R.LastCastTime = Core.GameTickCount;
                        break;
                    }
                }
            };
            GameObject.OnCreate += delegate(GameObject sender, EventArgs args)
            {
                var missile = sender as MissileClient;
                if (missile != null && missile.SpellCaster != null && missile.SpellCaster.IsMe)
                {
                    if (missile.SData.Name.Equals(QMissileName))
                    {
                        QMissile = missile;
                    }
                }
            };
            GameObject.OnDelete += delegate(GameObject sender, EventArgs args)
            {
                var missile = sender as MissileClient;
                if (missile != null && missile.SpellCaster != null && missile.SpellCaster.IsMe)
                {
                    if (missile.SData.Name.Equals(QMissileName))
                    {
                        QMissile = null;
                    }
                }
            };
            Gapcloser.OnGapcloser += delegate(AIHeroClient sender, Gapcloser.GapcloserEventArgs args)
            {
                if (sender.IsEnemy)
                {
                    if (AutomaticMenu.CheckBox("Gapcloser"))
                    {
                        E.Cast(sender);
                    }
                }
            };
            Interrupter.OnInterruptableSpell +=
                delegate(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs args)
            {
                if (sender.IsEnemy)
                {
                    if (AutomaticMenu.CheckBox("Interrupter"))
                    {
                        E.Cast(sender);
                    }
                }
            };
            Dash.OnDash += delegate(Obj_AI_Base sender, Dash.DashEventArgs args)
            {
                if (sender.IsEnemy)
                {
                    if (AutomaticMenu.CheckBox("Gapcloser"))
                    {
                        E.Cast(sender);
                    }
                }
            };
            Q.AddConfigurableHitChancePercent();
            MenuManager.AddSubMenu("Combo");
            {
                ComboMenu.AddValue("Q", new CheckBox("Use Q"));
                ComboMenu.AddValue("W", new CheckBox("Use W"));
                ComboMenu.AddValue("QR", new CheckBox("Use QR on minion to gapclose"));
                ComboMenu.AddValue("Ignite", new CheckBox("Use Ignite if target is killable", false));
                ComboMenu.AddStringList("E", "Use E", new[] { "Never", "Smartly", "Always" }, 1);
                ComboMenu.AddStringList("R", "Use R", new[] { "Never", "Smartly", "Always" }, 1);
                ComboMenu.AddValue("2ndR", new CheckBox("Use always second r", false));
            }

            MenuManager.AddSubMenu("Harass");
            {
                HarassMenu.AddValue("Q", new CheckBox("Use Q"));
                HarassMenu.AddValue("W", new CheckBox("Use W"));
                HarassMenu.AddValue("E", new CheckBox("Use E", false));
                HarassMenu.AddValue("ManaPercent", new Slider("Minimum Mana Percent", 25));
            }

            MenuManager.AddSubMenu("Clear");
            {
                ClearMenu.AddValue("LaneClear", new GroupLabel("LaneClear"));
                {
                    ClearMenu.AddValue("LaneClear.Q", new Slider("Use Q if hit is greater than {0}", 4, 0, 10));
                    ClearMenu.AddValue("LaneClear.W", new Slider("Use W if hit is greater than {0}", 3, 0, 10));
                    ClearMenu.AddValue("LaneClear.ManaPercent", new Slider("Minimum Mana Percent", 50));
                }
                ClearMenu.AddValue("LastHit", new GroupLabel("LastHit"));
                {
                    ClearMenu.AddStringList("LastHit.Q", "Use Q", new[] { "Never", "Smartly", "Always" }, 1);
                    ClearMenu.AddValue("LastHit.ManaPercent", new Slider("Minimum Mana Percent", 50));
                }
                ClearMenu.AddValue("JungleClear", new GroupLabel("JungleClear"));
                {
                    ClearMenu.AddValue("JungleClear.Q", new CheckBox("Use Q"));
                    ClearMenu.AddValue("JungleClear.W", new CheckBox("Use W"));
                    ClearMenu.AddValue("JungleClear.R", new CheckBox("Use R"));
                    ClearMenu.AddValue("JungleClear.ManaPercent", new Slider("Minimum Mana Percent", 20));
                }
            }

            MenuManager.AddKillStealMenu();
            {
                KillStealMenu.AddValue("Q", new CheckBox("Use Q"));
                KillStealMenu.AddValue("W", new CheckBox("Use W"));
                KillStealMenu.AddValue("R", new CheckBox("Use R"));
            }

            MenuManager.AddSubMenu("Automatic");
            {
                AutomaticMenu.AddValue("Gapcloser", new CheckBox("Use E on hero gapclosing / dashing"));
                AutomaticMenu.AddValue("Interrupter", new CheckBox("Use E on channeling spells"));
            }
            MenuManager.AddDrawingsMenu();
            {
                Q.AddDrawings();
                W.AddDrawings();
                E.AddDrawings(false);
                R.AddDrawings();
            }
        }
Пример #22
0
        public Syndra()
        {
            Q = new SpellBase(SpellSlot.Q, SpellType.Circular, 825)
            {
                CastDelay = 600,
                Width     = Spells.Q.Width,
            };
            W = new SpellBase(SpellSlot.W, SpellType.Circular, 950)
            {
                CastDelay = 250,
                Width     = Spells.W.Width,
                Speed     = 1450,
            };
            E = new SpellBase(SpellSlot.E, SpellType.Cone, 675 + Spells.E.ExtraRange)
            {
                CastDelay = 250,
                Width     = Spells.E.Level1Angle,
                Speed     = 2500,
            };
            QE = new SpellBase(SpellSlot.E, SpellType.Linear, Spells.QE.Range)
            {
                CastDelay = Spells.QE.CastDelay,
                Width     = 60,
                Speed     = Spells.QE.Speed,
            };
            R = new SpellBase(SpellSlot.R, SpellType.Targeted, Spells.R.Level1Range);
            foreach (var enemy in EntityManager.Heroes.Enemies)
            {
                IsKillableOnEnemyPosition.Add(enemy.NetworkId, new Text("R KILLABLE", new Font("Arial", TextEnemyPositionSize, FontStyle.Bold))
                {
                    Color = Color.Red,
                });
                IsKillableOnScreen.Add(enemy.NetworkId, new Text(enemy.BaseSkinName + " is killable", new Font("Arial", TextScreenSize, FontStyle.Bold))
                {
                    Color = Color.Red,
                });
            }

            Obj_AI_Base.OnBasicAttack += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
            {
                if (sender == Target && (ModeManager.LastHit || ModeManager.Flee || ModeManager.Harass || ModeManager.LaneClear) && sender.IsValidTarget(1300) && sender.IsEnemy && sender.Type == GameObjectType.AIHeroClient)
                {
                    if (Q.IsReady && sender.IsValidTarget(825))
                    {
                        Q.Cast(sender.ServerPosition);
                    }
                    if (W.IsReady && sender.IsValidTarget(950))
                    {
                        CastW(sender);
                    }
                    if (E.IsReady && sender.IsValidTarget(1300))
                    {
                        CastE(sender);
                    }
                }
            };

            Obj_AI_Base.OnProcessSpellCast += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
            {
                if (sender.IsMe)
                {
                    switch (args.Slot)
                    {
                    case SpellSlot.Q:
                        Q.LastEndPosition = args.End.IsInRange(sender, Q.Range) ? args.End : (MyHero.Position + (args.End - MyHero.Position).Normalized() * Q.Range);
                        Q.LastCastTime    = Core.GameTickCount;
                        break;

                    case SpellSlot.W:
                        if (args.SData.Name.ToLower() == "syndrawcast")
                        {
                            W.LastEndPosition = args.End.IsInRange(sender, W.Range) ? args.End : (MyHero.Position + (args.End - MyHero.Position).Normalized() * W.Range);
                            W.LastCastTime    = Core.GameTickCount;
                        }
                        break;

                    case SpellSlot.E:
                        E.LastCastTime = Core.GameTickCount;
                        break;
                    }
                }
                {
                    if (!sender.IsDashing() && sender == Target && (ModeManager.LastHit || ModeManager.Flee || ModeManager.Harass || ModeManager.LaneClear) && sender.IsValidTarget(1300) && sender.IsEnemy && sender.Type == GameObjectType.AIHeroClient)
                    {
                        if (Q.IsReady && sender.IsValidTarget(825))
                        {
                            Q.Cast(sender.ServerPosition);
                        }
                        if (W.IsReady && sender.IsValidTarget(950))
                        {
                            CastW(sender);
                        }
                        if (E.IsReady && sender.IsValidTarget(1300))
                        {
                            CastE(sender);
                        }
                    }
                }
            };
            GameObject.OnCreate += delegate(GameObject sender, EventArgs args)
            {
                var objBase = sender as Obj_AI_Base;
                if (objBase != null && Sphere.IsMySphere(objBase))
                {
                    Spheres.Add(new Sphere(objBase));
                }
            };
            Gapcloser.OnGapcloser += delegate(AIHeroClient sender, Gapcloser.GapcloserEventArgs args)
            {
                if (sender.IsEnemy && AutomaticMenu.CheckBox("Gapcloser") && args.End.Distance(MyHero, true) <= sender.Distance(MyHero, true) && args.End.Distance(MyHero, true) <= 900)
                {
                    E.Cast(args.End);
                    CastQE(sender);
                }
            };
            Dash.OnDash += delegate(Obj_AI_Base sender, Dash.DashEventArgs args)
            {
                if (sender.IsEnemy && AutomaticMenu.CheckBox("Gapcloser") && args.EndPos.Distance(MyHero, true) <= sender.Distance(MyHero, true) && args.EndPos.Distance(MyHero, true) <= E.Range)
                {
                    CastE(sender);
                    CastQE(sender);
                }
            };
            Interrupter.OnInterruptableSpell +=
                delegate(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs args)
            {
                if (sender.IsEnemy && AutomaticMenu.CheckBox("Interrupter"))
                {
                    CastE(sender);
                    CastQE(sender);
                }
            };
            MenuManager.AddSubMenu("Keys");
            {
                KeysMenu.AddValue("QE",
                                  new KeyBind("Use QE/WE on enemy near mouse", false, KeyBind.BindTypes.HoldActive, 'E'));
                ToggleManager.RegisterToggle(
                    KeysMenu.AddValue("HarassToggle",
                                      new KeyBind("Harass Toggle", false, KeyBind.BindTypes.PressToggle, 'K')),
                    delegate
                {
                    if (!ModeManager.Combo)
                    {
                        Harass(HarassMenu);
                    }
                });
            }
            Q.AddConfigurableHitChancePercent(50);
            W.AddConfigurableHitChancePercent(60);
            QE.AddConfigurableHitChancePercent(75);

            MenuManager.AddSubMenu("Combo");
            {
                ComboMenu.AddValue("Q", new CheckBox("Use Q"));
                ComboMenu.AddValue("W", new CheckBox("Use W"));
                ComboMenu.AddValue("E", new CheckBox("Use E"));
                ComboMenu.AddValue("QE", new CheckBox("Use QE"));
                ComboMenu.AddValue("WE", new CheckBox("Use WE"));
            }

            MenuManager.AddSubMenu("Ultimate");
            {
                UltimateMenu.AddValue("BlackList", new GroupLabel("BlackList"));
                var hashSet = new HashSet <string>();
                foreach (var enemy in EntityManager.Heroes.Enemies.Where(enemy => hashSet.Add(enemy.ChampionName)))
                {
                    UltimateMenu.AddValue("BlackList." + enemy.ChampionName, new CheckBox(enemy.ChampionName));
                }
            }
            MenuManager.AddSubMenu("Harass");
            {
                HarassMenu.AddValue("Turret", new CheckBox("Don't harass under enemy turret"));
                HarassMenu.AddValue("Q", new CheckBox("Use Q"));
                HarassMenu.AddValue("W", new CheckBox("Use W", false));
                HarassMenu.AddValue("E", new CheckBox("Use E", false));
                HarassMenu.AddValue("QE", new CheckBox("Use QE", false));
                HarassMenu.AddValue("WE", new CheckBox("Use WE", false));
                HarassMenu.AddValue("ManaPercent", new Slider("Minimum Mana Percent", 25));
            }
            MenuManager.AddSubMenu("Clear");
            {
                ClearMenu.AddValue("LaneClear", new GroupLabel("LaneClear"));
                {
                    ClearMenu.AddValue("LaneClear.Q", new Slider("Use Q if hit >= {0}", 3, 0, 10));
                    ClearMenu.AddValue("LaneClear.W", new Slider("Use W if hit >= {0}", 3, 0, 10));
                    ClearMenu.AddValue("LaneClear.ManaPercent", new Slider("Minimum Mana Percent", 50));
                }
                ClearMenu.AddValue("LastHit", new GroupLabel("LastHit"));
                {
                    ClearMenu.AddStringList("LastHit.Q", "Use Q", new[] { "Never", "Smartly", "Always" }, 1);
                    ClearMenu.AddValue("LastHit.ManaPercent", new Slider("Minimum Mana Percent", 50));
                }
                ClearMenu.AddValue("JungleClear", new GroupLabel("JungleClear"));
                {
                    ClearMenu.AddValue("JungleClear.Q", new CheckBox("Use Q"));
                    ClearMenu.AddValue("JungleClear.W", new CheckBox("Use W"));
                    ClearMenu.AddValue("JungleClear.E", new CheckBox("Use E"));
                    ClearMenu.AddValue("JungleClear.ManaPercent", new Slider("Minimum Mana Percent", 20));
                }
            }
            MenuManager.AddKillStealMenu();
            {
                KillStealMenu.AddValue("Q", new CheckBox("Use Q"));
                KillStealMenu.AddValue("W", new CheckBox("Use W"));
                KillStealMenu.AddValue("E", new CheckBox("Use E"));
                KillStealMenu.AddValue("R", new CheckBox("Use R", false));
            }
            MenuManager.AddSubMenu("Automatic");
            {
                AutomaticMenu.AddValue("Interrupter", new CheckBox("Use E on channeling spells"));
                AutomaticMenu.AddValue("Gapcloser", new CheckBox("Use E on hero gapclosing / dashing"));
            }
            MenuManager.AddSubMenu("Misc");
            {
                MiscMenu.AddValue("QE.ReducedRange", new Slider("Less QE Range", 0, 0, 650));
            }
            MenuManager.AddDrawingsMenu();
            {
                Q.AddDrawings();
                W.AddDrawings();
                QE.AddDrawings();
                R.AddDrawings();
                DrawingsMenu.AddValue("R.Killable", new CheckBox("Draw text if target is r killable"));
                DrawingsMenu.AddValue("Toggles", new CheckBox("Draw toggles status"));
                DrawingsMenu.AddValue("E.Lines", new CheckBox("Draw lines for E"));
            }
            foreach (var sphere in ObjectManager.Get <Obj_AI_Minion>().Where(o => o.IsValid && o.IsVisible && !o.IsDead && Sphere.IsMySphere(o)))
            {
                Spheres.Add(new Sphere(sphere));
            }
        }
Пример #23
0
        public Cassiopeia()
        {
            Q = new SpellBase(SpellSlot.Q, SpellType.Circular, 750)
            {
                Width     = 130,
                CastDelay = 400
            };
            W = new SpellBase(SpellSlot.W, SpellType.Circular, 800)
            {
                Width     = 180,
                CastDelay = 250,
                Speed     = 3000
            };
            E = new SpellBase(SpellSlot.E, SpellType.Targeted, 700)
            {
                Speed     = 1900,
                CastDelay = 125
            };
            R = new SpellBase(SpellSlot.R, SpellType.Cone, 825)
            {
                Width     = 80,
                CastDelay = 500
            };

            Spellbook.OnCastSpell += delegate(Spellbook sender, SpellbookCastSpellEventArgs args)
            {
                if (sender.Owner.IsMe)
                {
                    switch (args.Slot)
                    {
                    case SpellSlot.Q:
                        Q.LastSentTime    = Core.GameTickCount;
                        Q.LastEndPosition = args.EndPosition;
                        break;

                    case SpellSlot.W:
                        W.LastSentTime    = Core.GameTickCount;
                        W.LastEndPosition = args.EndPosition;
                        break;
                    }
                }
            };

            Obj_AI_Base.OnProcessSpellCast += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
            {
                if (sender.IsMe)
                {
                    switch (args.Slot)
                    {
                    case SpellSlot.Q:
                        Q.LastCastTime    = Core.GameTickCount;
                        Q.LastEndPosition = args.End;
                        break;

                    case SpellSlot.W:
                        W.LastCastTime    = Core.GameTickCount;
                        W.LastEndPosition = args.End;
                        break;
                    }
                }
            };

            MenuManager.AddSubMenu("Keys");
            {
                KeysMenu.AddValue("AssistedUltimate",
                                  new KeyBind("Assisted Ultimate", false, KeyBind.BindTypes.HoldActive, 'T'));
                ToggleManager.RegisterToggle(
                    KeysMenu.AddValue("HarassToggle",
                                      new KeyBind("Harass Toggle", false, KeyBind.BindTypes.PressToggle, 'K')),
                    delegate
                {
                    if (!ModeManager.Combo)
                    {
                        Harass(HarassMenu);
                    }
                });
                ToggleManager.RegisterToggle(
                    KeysMenu.AddValue("LastHitToggle",
                                      new KeyBind("LastHit Toggle", false, KeyBind.BindTypes.PressToggle, 'L')),
                    delegate
                {
                    if (!ModeManager.Combo)
                    {
                        LastHit(ClearMenu);
                    }
                });
            }
            Q.AddConfigurableHitChancePercent();
            W.AddConfigurableHitChancePercent();
            R.AddConfigurableHitChancePercent();

            MenuManager.AddSubMenu("Combo");
            {
                ComboMenu.AddValue("Q", new CheckBox("Use Q"));
                ComboMenu.AddValue("W", new CheckBox("Use W"));
                ComboMenu.AddStringList("E", "Use E", new[] { "Never", "If Poisoned", "Always" }, 1);
                ComboMenu.AddValue("R", new Slider("Use R if hit >= {0}", 3, 0, 5));
            }

            MenuManager.AddSubMenu("Harass");
            {
                HarassMenu.AddValue("Q", new CheckBox("Use Q"));
                HarassMenu.AddValue("W", new CheckBox("Use W"));
                HarassMenu.AddStringList("E", "Use E", new[] { "Never", "If Poisoned", "Always" }, 1);
                HarassMenu.AddValue("ManaPercent", new Slider("Minimum Mana Percent", 25));
            }

            MenuManager.AddSubMenu("Clear");
            {
                ClearMenu.AddValue("LaneClear", new GroupLabel("LaneClear"));
                {
                    ClearMenu.AddValue("LaneClear.Q", new Slider("Use Q if hit >= {0}", 2, 0, 10));
                    ClearMenu.AddValue("LaneClear.W", new Slider("Use W if hit >= {0}", 3, 0, 10));
                    ClearMenu.AddStringList("LaneClear.E", "Use E", new[] { "Never", "If Poisoned", "Always" }, 1);
                    ClearMenu.AddValue("LaneClear.ManaPercent", new Slider("Minimum Mana Percent", 50));
                }
                ClearMenu.AddValue("LastHit", new GroupLabel("LastHit"));
                {
                    ClearMenu.AddStringList("LastHit.E", "Use E", new[] { "Never", "If Poisoned", "Always" }, 1);
                    ClearMenu.AddValue("LastHit.ManaPercent", new Slider("Minimum Mana Percent", 50));
                }
                ClearMenu.AddValue("JungleClear", new GroupLabel("JungleClear"));
                {
                    ClearMenu.AddValue("JungleClear.Q", new CheckBox("Use Q"));
                    ClearMenu.AddValue("JungleClear.W", new CheckBox("Use W"));
                    ClearMenu.AddValue("JungleClear.E", new CheckBox("Use E"));
                    ClearMenu.AddValue("JungleClear.ManaPercent", new Slider("Minimum Mana Percent", 20));
                }
            }
            MenuManager.AddKillStealMenu();
            {
                KillStealMenu.AddValue("Q", new CheckBox("Use Q"));
                KillStealMenu.AddValue("W", new CheckBox("Use W"));
                KillStealMenu.AddValue("E", new CheckBox("Use E"));
                KillStealMenu.AddValue("R", new CheckBox("Use R", false));
            }
            MenuManager.AddSubMenu("Automatic");
            {
                AutomaticMenu.AddValue("R", new CheckBox("Use R on channeling spells"));
            }
            MenuManager.AddDrawingsMenu();
            {
                Q.AddDrawings();
                W.AddDrawings(false);
                E.AddDrawings();
                R.AddDrawings();
                DrawingsMenu.AddValue("Toggles", new CheckBox("Draw toggles status"));
            }
        }
Пример #24
0
        public override void CreateMenu()
        {
            base.CreateMenu();

            var menu = MenuManager.AddSubMenu("Drawings");

            {
                menu.NewCheckbox("disable", "Disable");
                menu.NewCheckbox("damageindicator", "Damage Indicator");
                menu.NewCheckbox("q", "Q");
            }

            menu = MenuManager.AddSubMenu("Combo");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("q.aarange?qondash", "Enemy AARange ? Just Q on dash!");
                menu.NewSlider("q.delay", "Use E and after some milliseconds use Q (1000ms = 1sec):", 1500, 0, 1900);
                menu.NewCheckbox("w", "W", true, true);
                menu.NewCheckbox("w.aareset", "Use W AA Reset");
                menu.NewCheckbox("e", "E", true, true);
                menu.NewCheckbox("e.aaj", "Auto stun if possible", false);
                menu.NewCheckbox("r", "R", true, true);
                menu.NewCheckbox("r.1v1logic", "Use 1v1 R Logic");
                menu.NewSlider("r.minenemies", "Min enemies R", 2, 1, 5, true);
            }

            menu = MenuManager.AddSubMenu("Harass");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("q.aarange?justqondash", "Enemy AARange ? Just Q on dash!");
                menu.NewSlider("q.delay", "Use E and after some milliseconds use Q (1000ms = 1sec):", 1500, 0, 1900, true);
                menu.NewCheckbox("w", "W", true, true);
                menu.NewCheckbox("w.aareset", "Use W AA Reset");
                menu.NewCheckbox("e", "E", true, true);
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Lane Clear");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("q.jimwd", "Just Q if minion will die");
                menu.NewCheckbox("w", "W", true, true);
                menu.NewCheckbox("e", "E", true, true);
                menu.NewSlider("e.minminions", "Min minions E", 3, 1, 7);
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Last Hit");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Jungle Clear");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w", "W");
                menu.NewCheckbox("e", "E");
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Misc");
            {
                menu.NewCheckbox("ks", "KS");
                menu.NewKeybind("wardjump", "Ward Jump", false, KeyBind.BindTypes.HoldActive, 'T');
            }
        }
Пример #25
0
        public Jhin()
        {
            foreach (var enemy in EntityManager.Heroes.Enemies)
            {
                TextsInScreen.Add(enemy.NetworkId, new Text(enemy.ChampionName + " 可击杀", new Font("Arial", 30F, FontStyle.Bold))
                {
                    Color = Color.Red
                });
                TextsInHeroPosition.Add(enemy.NetworkId, new Text("R 可击杀", new Font("Arial", 23F, FontStyle.Bold))
                {
                    Color = Color.Red
                });
                LastPredictedPositionText.Add(enemy.NetworkId, new Text(enemy.ChampionName + " 最后预知位置", new Font("Arial", 23F, FontStyle.Bold))
                {
                    Color = Color.Red
                });
            }
            Q = new SpellBase(SpellSlot.Q, SpellType.Targeted, 600)
            {
                Width     = 450,
                Speed     = 1800,
                CastDelay = 250,
            };
            W = new SpellBase(SpellSlot.W, SpellType.Linear, 2500)
            {
                Width                 = 40,
                CastDelay             = 750,
                AllowedCollisionCount = -1,
            };
            E = new SpellBase(SpellSlot.E, SpellType.Circular, 750)
            {
                Width     = 135,
                CastDelay = 250,
                Speed     = 1600,
            };
            R = new SpellBase(SpellSlot.R, SpellType.Linear, 3500)
            {
                Width                 = 80,
                CastDelay             = 200,
                Speed                 = 5000,
                AllowedCollisionCount = -1,
            };
            Evader.OnEvader += delegate
            {
                if (EvaderMenu.CheckBox("BlockW"))
                {
                    LastBlockTick = Core.GameTickCount;
                }
            };

            Spellbook.OnCastSpell += delegate(Spellbook sender, SpellbookCastSpellEventArgs args)
            {
                if (sender.Owner.IsMe)
                {
                    if (args.Slot == SpellSlot.W)
                    {
                        args.Process = Core.GameTickCount - LastBlockTick > 750;
                    }
                }
            };
            Obj_AI_Base.OnProcessSpellCast += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
            {
                if (sender.IsMe)
                {
                    switch (args.Slot)
                    {
                    case SpellSlot.W:
                        W.LastCastTime    = Core.GameTickCount;
                        W.LastEndPosition = args.End;
                        break;

                    case SpellSlot.R:
                        if (args.SData.Name == "JhinR")
                        {
                            IsCastingR = true;
                            LastRCone  = new Geometry.Polygon.Sector(sender.Position, args.End, (float)(60f * Math.PI / 180f), R.Range);
                            Stacks     = 4;
                        }
                        else if (args.SData.Name == "JhinRShot")
                        {
                            R.LastCastTime = Core.GameTickCount;
                            TapKeyPressed  = false;
                            Stacks--;
                        }
                        break;
                    }
                }
            };
            Gapcloser.OnGapcloser += delegate(AIHeroClient sender, Gapcloser.GapcloserEventArgs args)
            {
                if (sender.IsValidTarget() && sender.IsEnemy)
                {
                    if (MyHero.Distance(args.Start, true) > MyHero.Distance(args.End))
                    {
                        if (AutomaticMenu.CheckBox("E.Gapcloser") && MyHero.IsInRange(args.End, E.Range))
                        {
                            E.Cast(args.End);
                        }
                        if (MyHero.Distance(args.End, true) < (sender.GetAutoAttackRange(MyHero) * 1.5f).Pow())
                        {
                            WShouldWaitTick = Core.GameTickCount;
                        }
                    }
                }
            };

            MenuManager.AddSubMenu("Keys");
            {
                KeysMenu.AddValue("TapKey", new KeyBind("R 半自动发射", false, KeyBind.BindTypes.HoldActive, 32)).OnValueChange +=
                    delegate(ValueBase <bool> sender, ValueBase <bool> .ValueChangeArgs args)
                {
                    if (args.NewValue && R.IsLearned && IsCastingR)
                    {
                        TapKeyPressed = true;
                    }
                };
                ToggleManager.RegisterToggle(
                    KeysMenu.AddValue("AutoW",
                                      new KeyBind("自动W开关", true, KeyBind.BindTypes.PressToggle, 'K')),
                    delegate
                {
                    foreach (var enemy in UnitManager.ValidEnemyHeroes.Where(TargetHaveEBuff))
                    {
                        if (MyHero.ManaPercent >= MiscMenu.Slider("W.ManaPercent"))
                        {
                            if (MiscMenu.CheckBox("自动W." + enemy.ChampionName))
                            {
                                CastW(enemy);
                            }
                        }
                    }
                });
            }

            W.AddConfigurableHitChancePercent();
            R.AddConfigurableHitChancePercent();

            MenuManager.AddSubMenu("Combo");
            {
                ComboMenu.AddValue("Q", new CheckBox("Use Q"));
                ComboMenu.AddValue("E", new CheckBox("Use E"));
                ComboMenu.AddValue("Items", new CheckBox("Use offensive items"));
                ComboMenu.AddStringList("W", "Use W", new[] { "Never", "Only buffed enemies", "Always" }, 2);
            }
            MenuManager.AddSubMenu("Ultimate");
            {
                UltimateMenu.AddStringList("Mode", "R 瞄准模式", new[] { "不使用", "使用扳机键", "自动" }, 2);
                UltimateMenu.AddValue("OnlyKillable", new CheckBox("只攻击可击杀目标"));
                UltimateMenu.AddValue("Delay", new Slider("R之间的延迟(毫秒)", 0, 0, 1500));
                UltimateMenu.AddValue("NearMouse", new GroupLabel("鼠标附近设置"));
                UltimateMenu.AddValue("NearMouse.Enabled", new CheckBox("只选择鼠标附近目标", false));
                UltimateMenu.AddValue("NearMouse.Radius", new Slider("靠近鼠标半径", 500, 100, 1500));
                UltimateMenu.AddValue("NearMouse.Draw", new CheckBox("显示鼠标半径"));
            }
            MenuManager.AddSubMenu("Harass");
            {
                HarassMenu.AddValue("Q", new CheckBox("Use Q"));
                HarassMenu.AddValue("W", new CheckBox("Use W", false));
                HarassMenu.AddValue("E", new CheckBox("Use E", false));
                HarassMenu.AddValue("ManaPercent", new Slider("Minimum Mana Percent", 20));
            }

            MenuManager.AddSubMenu("Clear");
            {
                ClearMenu.AddValue("LaneClear", new GroupLabel("LaneClear"));
                {
                    ClearMenu.AddValue("LaneClear.Q", new Slider("Use Q if hit is greater than {0}", 3, 0, 10));
                    ClearMenu.AddValue("LaneClear.W", new Slider("Use W if hit is greater than {0}", 5, 0, 10));
                    ClearMenu.AddValue("LaneClear.E", new Slider("Use E if hit is greater than {0}", 4, 0, 10));
                    ClearMenu.AddValue("LaneClear.ManaPercent", new Slider("Minimum Mana Percent", 50));
                }
                ClearMenu.AddValue("LastHit", new GroupLabel("LastHit"));
                {
                    ClearMenu.AddStringList("LastHit.Q", "Use Q", new[] { "Never", "Smartly", "Always" }, 1);
                    ClearMenu.AddValue("LastHit.ManaPercent", new Slider("Minimum Mana Percent", 50));
                }
                ClearMenu.AddValue("JungleClear", new GroupLabel("JungleClear"));
                {
                    ClearMenu.AddValue("JungleClear.Q", new CheckBox("Use Q"));
                    ClearMenu.AddValue("JungleClear.W", new CheckBox("Use W"));
                    ClearMenu.AddValue("JungleClear.E", new CheckBox("Use E"));
                    ClearMenu.AddValue("JungleClear.ManaPercent", new Slider("Minimum Mana Percent", 20));
                }
            }

            MenuManager.AddKillStealMenu();
            {
                KillStealMenu.AddValue("Q", new CheckBox("Use Q"));
                KillStealMenu.AddValue("W", new CheckBox("Use W"));
                KillStealMenu.AddValue("E", new CheckBox("Use E"));
                KillStealMenu.AddValue("R", new CheckBox("Use R"));
            }

            MenuManager.AddSubMenu("Automatic");
            {
                AutomaticMenu.AddValue("E.Gapcloser", new CheckBox("Use E on hero gapclosing / dashing"));
                AutomaticMenu.AddValue("Immobile", new CheckBox("对无法移动目标使用E"));
            }
            MenuManager.AddSubMenu("Evader");
            {
                EvaderMenu.AddValue("BlockW", new CheckBox("保留W进行躲避"));
            }
            Evader.Initialize();
            Evader.AddCrowdControlSpells();
            Evader.AddDangerousSpells();
            MenuManager.AddSubMenu("Misc");
            {
                MiscMenu.AddValue("W.ManaPercent", new Slider("最低蓝量百分比使用自动W", 10));
                MiscMenu.AddValue("Champions", new GroupLabel("自动使用W英雄"));
                foreach (var enemy in EntityManager.Heroes.Enemies)
                {
                    MiscMenu.AddValue("自动W." + enemy.ChampionName, new CheckBox(enemy.ChampionName));
                }
            }
            MenuManager.AddDrawingsMenu();
            {
                Q.AddDrawings(false);
                W.AddDrawings();
                E.AddDrawings(false);
                R.AddDrawings();
                DrawingsMenu.AddValue("Toggles", new CheckBox("Draw toggles status"));
                DrawingsMenu.AddValue("R.Killable", new CheckBox("显示可被R击杀的目标"));
                DrawingsMenu.AddValue("R.LastPredictedPosition", new CheckBox("显示预判敌人最后出现位置"));
            }
        }
Пример #26
0
        public override void CreateMenu()
        {
            base.CreateMenu();

            var menu = MenuManager.AddSubMenu("Drawings");

            {
                menu.NewCheckbox("disable", "Deaktif", false);
                menu.NewCheckbox("damageindicator", "Hasar Tespiti");
                menu.NewCheckbox("q", "Q");
            }

            menu = MenuManager.AddSubMenu("Combo");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("q.smartq", "Akıllı Q");
                menu.NewCheckbox("q.saveqtododgespells", "Q ile Büyülerden Kaç", true, true);
                menu.NewCheckbox("w.aareset", "W ile AA sıfırla", true, true);
                menu.NewCheckbox("e", "E");
                menu.NewCheckbox("r", "R");
            }

            menu = MenuManager.AddSubMenu("Harass");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w.aareset", "W ile AA sıfırla");
                menu.NewCheckbox("e", "E");
            }

            menu = MenuManager.AddSubMenu("Lane Clear");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("q.jimwd", "Eğer minyon ölecekse Q kullan", true, true);
                menu.NewSlider("q.minminions", "Q için gerekli minyon sayısı", 4, 1, 4, true);
                menu.NewSlider("mana%", "en az mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Jungle Clear");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("e", "E");
                menu.NewSlider("mana%", "en az mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Misc");
            {
                menu.NewCheckbox("ks", "KS");
                menu.NewCheckbox("dodgefireballs", "Ejderin Ateşini Dodgelemeyi dene", true, true);
                menu.NewCheckbox("gapcloser", "Gapcloser");
            }

            menu = MenuManager.AddSubMenu("Q/W Evade Options");
            {
                menu.NewCheckbox("q/wonlyoncombo", "Komboda Kaçmak için büyü kullan");

                foreach (AIHeroClient hero in EntityManager.Heroes.Enemies)
                {
                    menu.AddGroupLabel(hero.BaseSkinName);
                    {
                        foreach (SpellDataInst spell in hero.Spellbook.Spells)
                        {
                            if (DodgeSpells.Any(el => el == spell.SData.Name))
                            {
                                menu.NewSlider(spell.Name, hero.BaseSkinName + " : " + spell.Slot.ToString() + " : " + spell.Name, 3, 0, 3);
                                MenuSpells.Add(spell.Name);
                            }
                        }
                    }

                    menu.AddSeparator();
                }
            }
        }
Пример #27
0
        public Zed()
        {
            Q = new SpellBase(SpellSlot.Q, SpellType.Linear, 925)
            {
                CastDelay = 250,
                Speed     = 1700,
                Width     = 50
            };
            Q.SetSourceFunction(() => MyHero);
            Q.SetRangeCheckSourceFunction(() => MyHero);
            W = new SpellBase(SpellSlot.W, SpellType.Linear, WRange)
            {
                Speed = 1750,
                Width = 60
            };
            E = new SpellBase(SpellSlot.E, SpellType.Self, 280);
            E.SetSourceFunction(() => MyHero);
            E.SetRangeCheckSourceFunction(() => MyHero);
            R          = new SpellBase(SpellSlot.R, SpellType.Targeted, 625);
            IsDeadText = new Text("", new Font("Arial", 30F, FontStyle.Bold))
            {
                Color    = Color.Red,
                Position = new Vector2(100, 50)
            };
            Obj_AI_Base.OnBuffGain += delegate(Obj_AI_Base sender, Obj_AI_BaseBuffGainEventArgs args)
            {
                var minion = sender as Obj_AI_Minion;
                if (minion != null && minion.IsAlly && minion.BaseSkinName == ShadowSkinName && args.Buff.Caster.IsMe)
                {
                    switch (args.Buff.Name)
                    {
                    case "zedwshadowbuff":
                        WShadow = minion;
                        break;

                    case "zedrshadowbuff":
                        RShadow = minion;
                        break;
                    }
                }
            };
            Obj_AI_Base.OnPlayAnimation += delegate(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
            {
                var minion = sender as Obj_AI_Minion;
                if (minion != null && minion.IsAlly && minion.BaseSkinName == ShadowSkinName)
                {
                    if (args.Animation == "Death")
                    {
                        if (WShadow.IdEquals(minion))
                        {
                            WShadow = null;
                        }
                        else if (RShadow.IdEquals(minion))
                        {
                            RShadow = null;
                        }
                    }
                }
            };
            GameObject.OnCreate += delegate(GameObject sender, EventArgs args)
            {
                if (sender.Name == IsDeadName && RTarget != null && RTarget.IsInRange(sender, 200))
                {
                    IsDeadObject = sender;
                }
            };
            GameObject.OnDelete += delegate(GameObject sender, EventArgs args)
            {
                var minion = sender as Obj_AI_Minion;
                if (minion != null && minion.IsAlly && minion.BaseSkinName == ShadowSkinName)
                {
                    if (WShadow.IdEquals(minion))
                    {
                        WShadow = null;
                    }
                    else if (RShadow.IdEquals(minion))
                    {
                        RShadow = null;
                    }
                }
                else if (sender.IdEquals(IsDeadObject))
                {
                    IsDeadObject = null;
                }
            };
            Obj_AI_Base.OnProcessSpellCast += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
            {
                if (sender.IsMe)
                {
                    switch (args.Slot)
                    {
                    case SpellSlot.W:
                        if (args.SData.Name == "ZedW")
                        {
                            W.LastCastTime    = Core.GameTickCount;
                            W.LastEndPosition = args.End;
                        }
                        break;

                    case SpellSlot.R:
                        if (args.SData.Name == "ZedR")
                        {
                            MarkedDamageReceived = 0;
                            EnemyWillDie         = false;
                        }
                        break;
                    }
                }
            };
            Evader.OnEvader += delegate(EvaderArgs args)
            {
                var w1Distance = W.IsReady && IsW1 && EvaderMenu.CheckBox("Evader.W1")
                    ? MyHero.GetDistanceSqr(args.Sender)
                    : 16000000;
                var w2Distance = W.IsReady && WShadowIsValid && EvaderMenu.CheckBox("Evader.W2") &&
                                 !args.WillHitMyHero(WShadow.Position)
                    ? WShadow.GetDistanceSqr(args.Sender)
                    : 16000000;
                var rTarget    = TargetSelector.GetTarget(R.Range, DamageType.Physical) ?? args.Sender;
                var r1Distance = R.IsReady && IsR1 && rTarget != null && R.InRange(rTarget) &&
                                 EvaderMenu.CheckBox("Evader.R1")
                    ? MyHero.GetDistanceSqr(args.Sender)
                    : 16000000;
                var r2Distance = R.IsReady && RShadowIsValid && EvaderMenu.CheckBox("Evader.R2") &&
                                 !args.WillHitMyHero(RShadow.Position)
                    ? RShadow.GetDistanceSqr(args.Sender)
                    : 16000000;
                var min = Math.Min(w1Distance, Math.Min(w2Distance, Math.Min(r1Distance, r2Distance)));
                if (min < 16000000)
                {
                    if (Math.Abs(min - r2Distance) < float.Epsilon)
                    {
                        R.Cast();
                    }
                    else if (Math.Abs(min - r1Distance) < float.Epsilon)
                    {
                        R.Cast(rTarget);
                    }
                    else if (Math.Abs(min - w2Distance) < float.Epsilon)
                    {
                        W.Cast();
                    }
                    else if (Math.Abs(min - w1Distance) < float.Epsilon)
                    {
                        var wPos = MyHero.ServerPosition +
                                   ((args.Sender.ServerPosition - MyHero.ServerPosition).Normalized() * WRange)
                                   .To2D()
                                   .Perpendicular()
                                   .To3DWorld();
                        W.Cast(wPos);
                    }
                }
            };

            AttackableUnit.OnDamage += delegate(AttackableUnit sender, AttackableUnitDamageEventArgs args)
            {
                if (args.Source.IsMe)
                {
                    var hero = args.Target as AIHeroClient;
                    if (hero != null && TargetHaveR(hero))
                    {
                        MarkedDamageReceived += args.Damage;
                    }
                }
            };

            MenuManager.AddSubMenu("Keys");
            {
                Orbwalker.RegisterKeyBind(
                    KeysMenu.AddValue("Combo2", new KeyBind("Combo without R", false, KeyBind.BindTypes.HoldActive, 'A')),
                    Orbwalker.ActiveModes.Combo);
                Orbwalker.RegisterKeyBind(
                    KeysMenu.AddValue("Harass2", new KeyBind("Harass WEQ", false, KeyBind.BindTypes.HoldActive, 'S')),
                    Orbwalker.ActiveModes.Harass);
            }

            Q.AddConfigurableHitChancePercent();

            MenuManager.AddSubMenu("Combo");
            {
                ComboMenu.AddStringList("Mode", "R Combo Mode", new[] { "Line", "Triangle", "MousePos" });
                ComboMenu.AddValue("Q", new CheckBox("Use Q"));
                ComboMenu.AddValue("W", new CheckBox("Use W"));
                ComboMenu.AddValue("E", new CheckBox("Use E"));
                ComboMenu.AddValue("R", new CheckBox("Use R"));
                ComboMenu.AddValue("Items", new CheckBox("Use offensive items"));
                ComboMenu.AddValue("SwapDead", new CheckBox("Use W2/R2 if target will die"));
                ComboMenu.AddValue("SwapGapclose", new CheckBox("Use W2/R2 to get close to target"));
                ComboMenu.AddValue("SwapHP", new Slider("Use W2/R2 if my % of health is less than {0}", 15));
                ComboMenu.AddValue("Prevent", new CheckBox("Don't use spells before R"));
                if (EntityManager.Heroes.Enemies.Count > 0)
                {
                    ComboMenu.AddValue("BlackList.R", new GroupLabel("Don't use R on:"));
                    var enemiesAdded = new HashSet <string>();
                    foreach (var enemy in EntityManager.Heroes.Enemies)
                    {
                        if (!enemiesAdded.Contains(enemy.ChampionName))
                        {
                            ComboMenu.AddValue("BlackList." + enemy.ChampionName,
                                               new CheckBox(enemy.ChampionName, false));
                            enemiesAdded.Add(enemy.ChampionName);
                        }
                    }
                }
            }
            MenuManager.AddSubMenu("Harass");
            {
                HarassMenu.AddValue("Collision", new CheckBox("Check collision when casting Q (more damage)", false));
                HarassMenu.AddValue("WE", new CheckBox("Only harass when combo WE will hit", false));
                HarassMenu.AddValue("SwapGapclose", new CheckBox("Use W2 if target is killable"));
                HarassMenu.AddValue("ManaPercent", new Slider("Minimum Mana Percent", 20));
            }

            MenuManager.AddSubMenu("Clear");
            {
                ClearMenu.AddValue("LaneClear", new GroupLabel("LaneClear"));
                {
                    ClearMenu.AddValue("LaneClear.Q", new Slider("Use Q if hit is greater than {0}", 3, 0, 10));
                    ClearMenu.AddValue("LaneClear.W", new Slider("Use W if hit is greater than {0}", 4, 0, 10));
                    ClearMenu.AddValue("LaneClear.E", new Slider("Use E if hit is greater than {0}", 3, 0, 10));
                    ClearMenu.AddValue("LaneClear.ManaPercent", new Slider("Minimum Mana Percent", 50));
                }
                ClearMenu.AddValue("LastHit", new GroupLabel("LastHit"));
                {
                    ClearMenu.AddStringList("LastHit.Q", "Use Q", new[] { "Never", "Smartly", "Always" }, 1);
                    ClearMenu.AddStringList("LastHit.E", "Use E", new[] { "Never", "Smartly", "Always" }, 1);
                    ClearMenu.AddValue("LastHit.ManaPercent", new Slider("Minimum Mana Percent", 50));
                }
                ClearMenu.AddValue("JungleClear", new GroupLabel("JungleClear"));
                {
                    ClearMenu.AddValue("JungleClear.Q", new CheckBox("Use Q"));
                    ClearMenu.AddValue("JungleClear.W", new CheckBox("Use W"));
                    ClearMenu.AddValue("JungleClear.E", new CheckBox("Use E"));
                    ClearMenu.AddValue("JungleClear.ManaPercent", new Slider("Minimum Mana Percent", 20));
                }
            }

            MenuManager.AddKillStealMenu();
            {
                KillStealMenu.AddValue("Q", new CheckBox("Use Q"));
                KillStealMenu.AddValue("W", new CheckBox("Use W"));
                KillStealMenu.AddValue("E", new CheckBox("Use E"));
            }

            MenuManager.AddSubMenu("Automatic");
            {
                AutomaticMenu.AddValue("E", new CheckBox("Use E", false));
                AutomaticMenu.AddValue("SwapDead", new CheckBox("Use W2/R2 if target will die", false));
            }
            MenuManager.AddSubMenu("Evader");
            {
                EvaderMenu.AddValue("Evader.W1", new CheckBox("Use W1", false));
                EvaderMenu.AddValue("Evader.W2", new CheckBox("Use W2"));
                EvaderMenu.AddValue("Evader.R1", new CheckBox("Use R1"));
                EvaderMenu.AddValue("Evader.R2", new CheckBox("Use R2"));
            }
            Evader.Initialize();
            Evader.AddCrowdControlSpells();
            Evader.AddDangerousSpells();
            MenuManager.AddDrawingsMenu();
            {
                Q.AddDrawings();
                W.AddDrawings();
                E.AddDrawings(false);
                R.AddDrawings();
                CircleManager.Circles.Add(new Circle(
                                              DrawingsMenu.AddValue("W.Shadow", new CheckBox("Draw W shadow circle")), SharpDX.Color.Blue,
                                              () => 100, () => WShadowIsValid,
                                              () => WShadow)
                {
                    Width = 1
                });

                CircleManager.Circles.Add(new Circle(
                                              DrawingsMenu.AddValue("R.Shadow", new CheckBox("Draw R shadow circle")), SharpDX.Color.Orange,
                                              () => 100, () => RShadowIsValid,
                                              () => RShadow)
                {
                    Width = 1
                });
                DrawingsMenu.AddValue("IsDead", new CheckBox("Draw text if target will die"));
                DrawingsMenu.AddValue("Passive", new CheckBox("Draw text when passive is available"));
            }
        }
Пример #28
0
        public override void CreateMenu()
        {
            base.CreateMenu();

            var menu = MenuManager.AddSubMenu("Drawings");

            {
                menu.NewCheckbox("disable", "Devredışı", false);
                menu.NewCheckbox("damageindicator", "Hasar Tespitçisi");
                menu.NewCheckbox("r", "R Göster");
                menu.NewCheckbox("q", "Q Göster");
                menu.NewCheckbox("e", "E Göster");
                menu.NewCheckbox("w", "W Göster", false);
            }

            menu = MenuManager.AddSubMenu("Combo");
            {
                menu.NewCheckbox("q", "Q Kullan");
                menu.NewSlider("q.hitchance%", "Q İsabet oranı%", 85, 1, 100);
                menu.NewCheckbox("w", "W Kullan");
                menu.NewCheckbox("r", "R Kullan", true);
                menu.NewSlider("r.minenemies", "R için en az düşman", 2, 1, 5);
            }

            menu = MenuManager.AddSubMenu("Harass");
            {
                menu.NewCheckbox("q", "Q Kullan");
                menu.NewSlider("q.hitchance%", "Q İsabet oranı%", 85, 1, 100);
                menu.NewCheckbox("w", "W Kullan", true, true);
                menu.NewCheckbox("w.jitii", "Hedef sabitse W kullan");
                menu.NewSlider("mana%", "ena z mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Lane Clear");
            {
                menu.NewCheckbox("w", "W Kullan");
                menu.NewSlider("w.minminions", "W için en az minyon", 3, 1, 7);
                menu.NewSlider("mana%", "en az mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Jungle Clear");
            {
                menu.NewCheckbox("q", "Q Kullan");
                menu.NewCheckbox("w", "W Kullan");
                menu.NewSlider("mana%", "en az mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Flee");
            {
                menu.NewCheckbox("q", "Q");
            }

            menu = MenuManager.AddSubMenu("Misc");
            {
                menu.NewCheckbox("ks", "Killçalma", false);
                menu.NewCheckbox("aaminionswhenallynear", "Dostlar ykaındayken minyona düz vuruş yap?");
                menu.NewCheckbox("autoqonimmobile", "Sabit hedefe Q at", true);
                menu.NewCheckbox("autoqonflash", "Otomatik Flash tan sonra Q kullan", true);
                menu.NewCheckbox("autoqondash", "Q ile otomatik dürt", true);
                menu.NewCheckbox("autowonimmobile", "Sabit hedefe otomatik W", true);
                menu.NewCheckbox("gapcloser", "Gapcloser için Q kullan", true);
            }

            //---------------------------------------||   EMenu   ||------------------------------------------

            EMenu = MenuManager.AddSubMenu("E Options");
            EMenu.AddSeparator();

            foreach (var ally in EntityManager.Heroes.Allies)
            {
                EMenu.Add(ally.BaseSkinName, new Slider(string.Format("{0}'s Önceliği", ally.BaseSkinName), 3, 1, 5));
                EMenu.AddSeparator();
            }

            EMenu.AddSeparator();

            EMenu.Add("UseShield?", new CheckBox("Kalkan kullan?"));

            EMenu.AddSeparator();

            EMenu.AddGroupLabel("Şunlar için kalkan kullan:");

            EMenu.AddSeparator();

            foreach (AIHeroClient hero in EntityManager.Heroes.Enemies)
            {
                EMenu.AddGroupLabel(hero.BaseSkinName);
                {
                    foreach (SpellDataInst spell in hero.Spellbook.Spells)
                    {
                        if (ESpells.Any(el => el == spell.SData.Name))
                        {
                            EMenu.Add(spell.Name, new CheckBox(hero.BaseSkinName + " : " + spell.Slot.ToString() + " : " + spell.Name));
                            MenuSpells.Add(spell.Name);
                        }
                    }
                }

                EMenu.AddSeparator();
            }
        }
Пример #29
0
        public Jhin()
        {
            foreach (var enemy in EntityManager.Heroes.Enemies)
            {
                TextsInScreen.Add(enemy.NetworkId, new Text(enemy.ChampionName + " is R killable", new Font("Arial", 30F, FontStyle.Bold))
                {
                    Color = Color.Red
                });
                TextsInHeroPosition.Add(enemy.NetworkId, new Text("R killable", new Font("Arial", 23F, FontStyle.Bold))
                {
                    Color = Color.Red
                });
                LastPredictedPositionText.Add(enemy.NetworkId, new Text(enemy.ChampionName + " last predicted position", new Font("Arial", 23F, FontStyle.Bold))
                {
                    Color = Color.Red
                });
            }
            Q = new SpellBase(SpellSlot.Q, SpellType.Targeted, 600)
            {
                Width     = 450,
                Speed     = 1800,
                CastDelay = 250,
            };
            W = new SpellBase(SpellSlot.W, SpellType.Linear, 2500)
            {
                Width                 = 40,
                CastDelay             = 750,
                Speed                 = 5000,
                AllowedCollisionCount = -1,
            };
            E = new SpellBase(SpellSlot.E, SpellType.Circular, 750)
            {
                Width     = 135,
                CastDelay = 250,
                Speed     = 1600,
            };
            R = new SpellBase(SpellSlot.R, SpellType.Linear, 3500)
            {
                Width                 = 65,
                CastDelay             = 250,
                Speed                 = 5000,
                AllowedCollisionCount = -1,
            };
            Evader.OnEvader += delegate
            {
                if (EvaderMenu.CheckBox("BlockW"))
                {
                    LastBlockTick = Core.GameTickCount;
                }
            };

            Spellbook.OnCastSpell += delegate(Spellbook sender, SpellbookCastSpellEventArgs args)
            {
                if (sender.Owner.IsMe)
                {
                    if (args.Slot == SpellSlot.W)
                    {
                        args.Process = Core.GameTickCount - LastBlockTick > 750;
                    }
                }
            };
            Obj_AI_Base.OnProcessSpellCast += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
            {
                if (sender.IsMe)
                {
                    switch (args.Slot)
                    {
                    case SpellSlot.W:
                        W.LastCastTime    = Core.GameTickCount;
                        W.LastEndPosition = args.End;
                        break;

                    case SpellSlot.R:
                        if (args.SData.Name == "JhinR")
                        {
                            IsCastingR = true;
                            LastRCone  = new Geometry.Polygon.Sector(sender.Position, args.End, (float)(45 * 2f * Math.PI / 175f), R.Range);
                            Stacks     = 4;
                        }
                        else if (args.SData.Name == "JhinRShot")
                        {
                            R.LastCastTime = Core.GameTickCount;
                            TapKeyPressed  = false;
                            Stacks--;
                        }
                        break;
                    }
                }
            };
            Gapcloser.OnGapcloser += delegate(AIHeroClient sender, Gapcloser.GapcloserEventArgs args)
            {
                if (sender.IsValidTarget(E.Range) && sender.IsEnemy)
                {
                    if (MyHero.Distance(args.Start, true) > MyHero.Distance(args.End))
                    {
                        if (AutomaticMenu.CheckBox("E.Gapcloser") && MyHero.IsInRange(args.End, E.Range) && E.IsReady)
                        {
                            E.Cast(args.End);
                        }
                        if (MyHero.Distance(args.End, true) < (sender.GetAutoAttackRange(MyHero) * 1.5f).Pow())
                        {
                            WShouldWaitTick = Core.GameTickCount;
                        }
                    }
                }
            };

            MenuManager.AddSubMenu("Keys");
            {
                KeysMenu.AddValue("TapKey", new KeyBind("R Tap Key", false, KeyBind.BindTypes.HoldActive, 'T')).OnValueChange +=
                    delegate(ValueBase <bool> sender, ValueBase <bool> .ValueChangeArgs args)
                {
                    if (args.NewValue && R.IsLearned && (R.IsReady || IsCastingR) && R.EnemyHeroes.Count > 0)
                    {
                        TapKeyPressed = true;
                    }
                };
                KeysMenu.AddValue("UltKey", new KeyBind("R Key in game", false, KeyBind.BindTypes.HoldActive, 'R')).OnValueChange +=
                    delegate(ValueBase <bool> sender, ValueBase <bool> .ValueChangeArgs args)
                {
                    if (args.NewValue && R.IsLearned && (R.IsReady || IsCastingR))
                    {
                        Player.IssueOrder(GameObjectOrder.Stop, Player.Instance.ServerPosition);
                    }
                };
                ToggleManager.RegisterToggle(
                    KeysMenu.AddValue("AutoW",
                                      new KeyBind("AutoW Toggle", false, KeyBind.BindTypes.PressToggle, 'K')),
                    delegate
                {
                    foreach (var enemy in UnitManager.ValidEnemyHeroes.Where(TargetHaveEBuff))
                    {
                        if (MiscMenu.CheckBox("AutoW." + enemy.ChampionName))
                        {
                            CastW(enemy);
                        }
                    }
                });
            }

            W.AddConfigurableHitChancePercent();
            R.AddConfigurableHitChancePercent();

            MenuManager.AddSubMenu("Combo");
            {
                ComboMenu.AddValue("Q", new CheckBox("Use Q"));
                ComboMenu.AddValue("W", new CheckBox("Use W", false));
                ComboMenu.AddValue("E", new CheckBox("Use E", false));
                ComboMenu.AddValue("Items", new CheckBox("Use offensive items"));
            }
            MenuManager.AddSubMenu("Ultimate");
            {
                UltimateMenu.AddStringList("Mode", "R AIM Mode", new[] { "Disabled", "Using TapKey", "Automatic" }, 3);
                UltimateMenu.AddValue("OnlyKillable", new CheckBox("Only attack if it's killable", false));
                UltimateMenu.AddValue("Delay", new Slider("Delay between R's (in ms)", 0, 0, 1500));
                UltimateMenu.AddValue("NearMouse", new GroupLabel("Near Mouse Settings"));
                UltimateMenu.AddValue("NearMouse.Enabled", new CheckBox("Only select target near mouse", false));
                UltimateMenu.AddValue("NearMouse.Radius", new Slider("Near mouse radius", 500, 100, 1500));
                UltimateMenu.AddValue("NearMouse.Draw", new CheckBox("Draw near mouse radius"));
            }
            MenuManager.AddSubMenu("Harass");
            {
                HarassMenu.AddValue("Q", new CheckBox("Use Q"));
                HarassMenu.AddValue("W", new CheckBox("Use W", false));
                HarassMenu.AddValue("E", new CheckBox("Use E", false));
                HarassMenu.AddValue("ManaPercent", new Slider("Minimum Mana Percent", 20));
            }

            MenuManager.AddSubMenu("Clear");
            {
                ClearMenu.AddValue("LaneClear", new GroupLabel("LaneClear"));
                {
                    ClearMenu.AddValue("LaneClear.Q", new Slider("Use Q if hit is greater than {0}", 5, 0, 10));
                    ClearMenu.AddValue("LaneClear.W", new Slider("Use W if hit is greater than {0}", 6, 0, 10));
                    ClearMenu.AddValue("LaneClear.E", new Slider("Use E if hit is greater than {0}", 5, 0, 10));
                    ClearMenu.AddValue("LaneClear.ManaPercent", new Slider("Minimum Mana Percent", 50));
                }
                ClearMenu.AddValue("LastHit", new GroupLabel("LastHit"));
                {
                    ClearMenu.AddStringList("LastHit.Q", "Use Q", new[] { "Never", "Smartly", "Always" }, 1);
                    ClearMenu.AddValue("LastHit.ManaPercent", new Slider("Minimum Mana Percent", 50));
                }
                ClearMenu.AddValue("JungleClear", new GroupLabel("JungleClear"));
                {
                    ClearMenu.AddValue("JungleClear.Q", new CheckBox("Use Q"));
                    ClearMenu.AddValue("JungleClear.W", new CheckBox("Use W", false));
                    ClearMenu.AddValue("JungleClear.E", new CheckBox("Use E", false));
                    ClearMenu.AddValue("JungleClear.ManaPercent", new Slider("Minimum Mana Percent", 20));
                }
            }

            MenuManager.AddKillStealMenu();
            {
                KillStealMenu.AddValue("Q", new CheckBox("Use Q"));
                KillStealMenu.AddValue("Qmin", new CheckBox("Use Q On Minions"));
                KillStealMenu.AddValue("W", new CheckBox("Use W"));
                KillStealMenu.AddValue("E", new CheckBox("Use E", false));
                KillStealMenu.AddValue("R", new CheckBox("Use R"));
            }

            MenuManager.AddSubMenu("Automatic");
            {
                AutomaticMenu.AddValue("E.Gapcloser", new CheckBox("Use E on hero gapclosing / dashing"));
                AutomaticMenu.AddValue("Immobile", new CheckBox("Use E on hero immobile"));
                AutomaticMenu.AddValue("Buffed", new CheckBox("Use W on hero with buff"));
            }
            MenuManager.AddSubMenu("Evader");
            {
                EvaderMenu.AddValue("BlockW", new CheckBox("Block W to Evade"));
            }
            Evader.Initialize();
            Evader.AddCrowdControlSpells();
            Evader.AddDangerousSpells();
            MenuManager.AddSubMenu("Misc");
            {
                MiscMenu.AddValue("Champions", new GroupLabel("Allowed champions to use Auto W"));
                foreach (var enemy in EntityManager.Heroes.Enemies)
                {
                    MiscMenu.AddValue("AutoW." + enemy.ChampionName, new CheckBox(enemy.ChampionName));
                }
            }
            MenuManager.AddDrawingsMenu();
            {
                Q.AddDrawings(false);
                W.AddDrawings();
                E.AddDrawings(false);
                R.AddDrawings();
                DrawingsMenu.AddValue("Toggles", new CheckBox("Draw toggles status"));
                DrawingsMenu.AddValue("R.Killable", new CheckBox("Draw text if target is r killable"));
                DrawingsMenu.AddValue("R.LastPredictedPosition", new CheckBox("Draw last predicted position"));
            }
        }
Пример #30
0
        public override void CreateMenu()
        {
            base.CreateMenu();

            var menu = MenuManager.AddSubMenu("Drawings");

            {
                menu.NewCheckbox("disable", "Disable", false);
                menu.NewCheckbox("damageindicator", "Damage Indicator");
                menu.NewCheckbox("q", "Q");
            }

            menu = MenuManager.AddSubMenu("Combo");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("q.smartq", "SmartQ");
                menu.NewCheckbox("q.saveqtododgespells", "Save Q to dodge spells", true, true);
                menu.NewCheckbox("w.aareset", "W AA reset", true, true);
                menu.NewCheckbox("e", "E");
                menu.NewCheckbox("r", "R");
            }

            menu = MenuManager.AddSubMenu("Harass");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("w.aareset", "W AA reset");
                menu.NewCheckbox("e", "E");
            }

            menu = MenuManager.AddSubMenu("Lane Clear");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("q.jimwd", "Just Q if minion will die", true, true);
                menu.NewSlider("q.minminions", "Min minions Q", 4, 1, 4, true);
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Jungle Clear");
            {
                menu.NewCheckbox("q", "Q");
                menu.NewCheckbox("e", "E");
                menu.NewSlider("mana%", "Min mana%", 30, 1, 99, true);
            }

            menu = MenuManager.AddSubMenu("Misc");
            {
                menu.NewCheckbox("ks", "KS");
                menu.NewCheckbox("dodgefireballs", "Try to dodge dragon fireballs", true, true);
                menu.NewCheckbox("gapcloser", "Gapcloser");
            }

            menu = MenuManager.AddSubMenu("Q/W Evade Options");
            {
                menu.NewCheckbox("q/wonlyoncombo", "Just dodge spells in combo");

                foreach (AIHeroClient hero in EntityManager.Heroes.Enemies)
                {
                    menu.AddGroupLabel(hero.BaseSkinName);
                    {
                        foreach (SpellDataInst spell in hero.Spellbook.Spells)
                        {
                            if (DodgeSpells.Any(el => el == spell.SData.Name))
                            {
                                menu.NewSlider(spell.Name, hero.BaseSkinName + " : " + spell.Slot.ToString() + " : " + spell.Name, 3, 0, 3);
                                MenuSpells.Add(spell.Name);
                            }
                        }
                    }

                    menu.AddSeparator();
                }
            }
        }