コード例 #1
0
        public static void Execute()
        {
            if (Player.Instance.ChampionName != ChampName)
            {
                return;
            }

            menuIni = MainMenu.AddMenu("KappaDarius", "KappaDarius");
            menuIni.AddGroupLabel("Darius The Dank Memes Master!");
            menuIni.AddGroupLabel("Global Settings");
            menuIni.Add("Items", new CheckBox("Item Kullanilsin?"));
            menuIni.Add("Combo", new CheckBox("Kullan Kombo?"));
            menuIni.Add("Harass", new CheckBox("Durtme Kullan?"));
            menuIni.Add("Clear", new CheckBox("Temizleme Kullan?"));
            menuIni.Add("Drawings", new CheckBox("Gosterge Kullan?"));
            menuIni.Add("KillSteal", new CheckBox("Oldurme sekli kullan?"));

            QMenu = menuIni.AddSubMenu("Q Settings");
            QMenu.AddGroupLabel("Q Settings");
            QMenu.Add("Combo", new CheckBox("Komboda Q"));
            QMenu.Add("Harass", new CheckBox("Durtmede Q"));
            QMenu.AddGroupLabel("Q LaneClear Settings");
            QMenu.Add("Clear", new CheckBox("Koridor Temizlemede Q"));
            QMenu.Add("Qlc", new Slider("Minyona son vurus Q >=", 3, 1, 10));
            QMenu.AddSeparator();
            QMenu.AddGroupLabel("Extra Settings");
            QMenu.Add("QE", new CheckBox("E den once surekli Q", false));
            QMenu.Add("Stick", new CheckBox("Secili hedefe Q"));
            QMenu.Add("QAA", new CheckBox("AA beklemede ise Q kullan", false));
            QMenu.Add("range", new CheckBox("AA araliginda dusman oldugunda Q atmayin", false));
            QMenu.Add("Flee", new CheckBox("Kacarken Q (Secili hedefi yok sayar)"));
            QMenu.Add("QFlee", new Slider("Kacarken Q canim sundan dusukse %", 90));
            QMenu.Add("Qaoe", new CheckBox("Otomatik Q AoE"));
            QMenu.Add("Qhit", new Slider("Q Aoe Hit >=", 3, 1, 5));

            WMenu = menuIni.AddSubMenu("W Settings");
            WMenu.AddGroupLabel("W Settings");
            WMenu.Add("Combo", new CheckBox("Komboda W"));
            WMenu.Add("Harass", new CheckBox("Durtmede W"));
            WMenu.Add("Clear", new CheckBox("Koridor temizlemede W"));
            WMenu.AddGroupLabel("Extra Settings");
            WMenu.Add("AAr", new CheckBox("W ile AA sifirla"));

            EMenu = menuIni.AddSubMenu("E Settings");
            EMenu.AddGroupLabel("E Settings");
            EMenu.Add("Combo", new CheckBox("Komboda E"));
            EMenu.Add("Harass", new CheckBox("Durtmede E"));
            EMenu.AddGroupLabel("Extra Settings");
            EMenu.Add("Interrupt", new CheckBox("Keserken E"));

            RMenu = menuIni.AddSubMenu("R Settings");
            RMenu.AddGroupLabel("R Settings");
            RMenu.Add("Combo", new CheckBox("Kombo bitirmede R"));
            RMenu.Add("stack", new CheckBox("Pasif biriktirmede R", false));
            RMenu.Add("count", new Slider("R icin gereken pasif >=", 5, 0, 5));
            RMenu.Add("SaveR", new CheckBox("Hedef AA ile olucekse R kullanma", false));
            RMenu.Add("SR", new Slider("Dont Use Ult if target can be kill With X AA", 1, 0, 6));
            RMenu.Add("semiR", new KeyBind("Yari otomatik R", false, KeyBind.BindTypes.HoldActive));

            KillStealMenu = menuIni.AddSubMenu("KillSteal");
            KillStealMenu.AddGroupLabel("KillSteal Settings");
            KillStealMenu.Add("Rks", new CheckBox("R ile oldur"));

            if (Player.Spells.FirstOrDefault(o => o.SData.Name.Contains("SummonerDot")) != null)
            {
                KillStealMenu.Add("IGP", new CheckBox("Tutustur + Pasif ile oldur"));
                KillStealMenu.Add("IG", new CheckBox("Sadece Tutustur", false));
                KillStealMenu.AddLabel("Tutustur + Pasif, Max Tutustur + Pasif hasarini hesaba katar.");
                Ignite = new Spell.Targeted(ObjectManager.Player.GetSpellSlotFromName("summonerdot"), 600);
            }

            ManaMenu = menuIni.AddSubMenu("Mana Manager");
            ManaMenu.AddGroupLabel("Harass");
            ManaMenu.Add("harassmana", new Slider("Durtme Mana %", 75));
            ManaMenu.AddGroupLabel("Lane Clear");
            ManaMenu.Add("lanemana", new Slider("Koridor temizleme Mana %", 60));

            ItemsMenu = menuIni.AddSubMenu("Items");
            ItemsMenu.AddGroupLabel("Items Settings");
            ItemsMenu.Add("Hydra", new CheckBox("Kullan Hydra / Timat / Titanic"));
            ItemsMenu.Add("useGhostblade", new CheckBox("Kullan Youmuu's Ghostblade"));
            ItemsMenu.Add("UseBOTRK", new CheckBox("Kullan Mahvolmus"));
            ItemsMenu.Add("UseBilge", new CheckBox("Kullan Bilgewater Palasi"));
            ItemsMenu.AddSeparator();
            ItemsMenu.Add("eL", new Slider("Use On Enemy health", 65));
            ItemsMenu.Add("oL", new Slider("Use On My health", 65));

            DrawMenu = menuIni.AddSubMenu("Drawings");
            DrawMenu.AddGroupLabel("Drawing Settings");
            DrawMenu.Add("Q", new CheckBox("Goster Q"));
            DrawMenu.Add("W", new CheckBox("Goster W"));
            DrawMenu.Add("E", new CheckBox("Goster E"));
            DrawMenu.Add("R", new CheckBox("Goster R"));
            DrawMenu.AddSeparator();
            DrawMenu.AddGroupLabel("Ultimate Drawings");
            DrawMenu.Add("DrawD", new CheckBox("Goster R Hasari"));
            DrawMenu.Add("Killable", new CheckBox("Goster Oldurulebilir"));
            DrawMenu.Add("Stacks", new CheckBox("Goster Pasif Sayisi"));
            DrawMenu.Add("PPx", new Slider("Passive Stacks Position X", 100, 0, 150));
            DrawMenu.Add("PPy", new Slider("Passive Stacks Position Y", 100, 0, 150));
            DrawMenu.Add("RHealth", new CheckBox("Goster R den sonra kalicak cani"));
            DrawMenu.Add("RHx", new Slider("After R health Position", 135, 0, 150));

            Q = new Spell.Active(SpellSlot.Q, 400);
            W = new Spell.Active(SpellSlot.W, 300);
            E = new Spell.Skillshot(SpellSlot.E, 550, SkillShotType.Cone, 250, 666, 100);
            R = new Spell.Targeted(SpellSlot.R, 460);

            Game.OnUpdate                    += OnUpdate;
            Drawing.OnDraw                   += OnDraw;
            Drawing.OnEndScene               += OnEndScene;
            Orbwalker.OnPostAttack           += OnAfterAttack;
            Obj_AI_Base.OnSpellCast          += Obj_AI_Base_OnSpellCast;
            Interrupter.OnInterruptableSpell += OnInterruptableTarget;
        }
コード例 #2
0
ファイル: KappaDarius.cs プロジェクト: Comilion1/Worstaddons
        public static void Execute()
        {
            if (Player.Instance.ChampionName != ChampName)
            {
                return;
            }

            menuIni = MainMenu.AddMenu("KappaDarius", "KappaDarius");
            menuIni.AddGroupLabel("Darius The Dank Memes Master!");
            menuIni.AddGroupLabel("Global Settings");
            menuIni.Add("Items", new CheckBox("Use Items?"));
            menuIni.Add("Combo", new CheckBox("Use Combo?"));
            menuIni.Add("Harass", new CheckBox("Use Harass?"));
            menuIni.Add("Clear", new CheckBox("Use Clear?"));
            menuIni.Add("Drawings", new CheckBox("Use Drawings?"));
            menuIni.Add("KillSteal", new CheckBox("Use KillSteal?"));

            QMenu = menuIni.AddSubMenu("Q Settings");
            QMenu.AddGroupLabel("Q Settings");
            QMenu.Add("Combo", new CheckBox("Q Combo"));
            QMenu.Add("Harass", new CheckBox("Q Harass"));
            QMenu.AddGroupLabel("Q LaneClear Settings");
            QMenu.Add("Clear", new CheckBox("Q LaneClear"));
            QMenu.Add("Qlc", new Slider("Q On Hit Minions >=", 3, 1, 10));
            QMenu.AddSeparator();
            QMenu.AddGroupLabel("Extra Settings");
            QMenu.Add("QE", new CheckBox("Always Q Before E", false));
            QMenu.Add("Stick", new CheckBox("Stick to Target while Casting Q"));
            QMenu.Add("QAA", new CheckBox("Use Q if AA is in Cooldown", false));
            QMenu.Add("range", new CheckBox("Dont Cast Q when Enemy in AA range", false));
            QMenu.Add("Flee", new CheckBox("Q On Flee (Ignores Stick to target)"));
            QMenu.Add("QFlee", new Slider("Cast Q flee When HP is below %", 90, 0, 100));
            QMenu.Add("Qaoe", new CheckBox("Auto Q AoE"));
            QMenu.Add("Qhit", new Slider("Q Aoe Hit >=", 3, 1, 5));

            WMenu = menuIni.AddSubMenu("W Settings");
            WMenu.AddGroupLabel("W Settings");
            WMenu.Add("Combo", new CheckBox("W Combo"));
            WMenu.Add("Harass", new CheckBox("W Harass"));
            WMenu.Add("Clear", new CheckBox("W LaneClear"));
            WMenu.AddGroupLabel("Extra Settings");
            WMenu.Add("AAr", new CheckBox("W AA Reset"));

            EMenu = menuIni.AddSubMenu("E Settings");
            EMenu.AddGroupLabel("E Settings");
            EMenu.Add("Combo", new CheckBox("E Combo"));
            EMenu.Add("Harass", new CheckBox("E Harass"));
            EMenu.AddGroupLabel("Extra Settings");
            EMenu.Add("Interrupt", new CheckBox("E To Interrupt"));

            RMenu = menuIni.AddSubMenu("R Settings");
            RMenu.AddGroupLabel("R Settings");
            RMenu.Add("Combo", new CheckBox("R Combo Finisher"));
            RMenu.Add("stack", new CheckBox("Use R On Stacks", false));
            RMenu.Add("count", new Slider("Cast R On Stacks >=", 5, 0, 5));
            RMenu.Add("SaveR", new CheckBox("Dont Ult if target killable with AA", false));
            RMenu.Add("SR", new Slider("Dont Use Ult if target can be kill With X AA", 1, 0, 6));
            RMenu.Add("semiR", new KeyBind("Semi-Auto R", false, KeyBind.BindTypes.HoldActive));

            KillStealMenu = menuIni.AddSubMenu("KillSteal");
            KillStealMenu.AddGroupLabel("KillSteal Settings");
            KillStealMenu.Add("Rks", new CheckBox("R KillSteal"));

            if (Player.Spells.FirstOrDefault(o => o.SData.Name.Contains("SummonerDot")) != null)
            {
                KillStealMenu.Add("IGP", new CheckBox("Ignite + Passive Kill"));
                KillStealMenu.Add("IG", new CheckBox("Ignite Only", false));
                KillStealMenu.AddLabel("Iginte + Passive takes in account Max Ignite + Passive dmg");
                Ignite = new Spell.Targeted(ObjectManager.Player.GetSpellSlotFromName("summonerdot"), 600);
            }

            ManaMenu = menuIni.AddSubMenu("Mana Manager");
            ManaMenu.AddGroupLabel("Harass");
            ManaMenu.Add("harassmana", new Slider("Harass Mana %", 75, 0, 100));
            ManaMenu.AddGroupLabel("Lane Clear");
            ManaMenu.Add("lanemana", new Slider("Lane Clear Mana %", 60, 0, 100));

            ItemsMenu = menuIni.AddSubMenu("Items");
            ItemsMenu.AddGroupLabel("Items Settings");
            ItemsMenu.Add("Hydra", new CheckBox("Use Hydra / Timat / Titanic"));
            ItemsMenu.Add("useGhostblade", new CheckBox("Use Youmuu's Ghostblade"));
            ItemsMenu.Add("UseBOTRK", new CheckBox("Use Blade of the Ruined King"));
            ItemsMenu.Add("UseBilge", new CheckBox("Use Bilgewater Cutlass"));
            ItemsMenu.AddSeparator();
            ItemsMenu.Add("eL", new Slider("Use On Enemy health", 65, 0, 100));
            ItemsMenu.Add("oL", new Slider("Use On My health", 65, 0, 100));

            DrawMenu = menuIni.AddSubMenu("Drawings");
            DrawMenu.AddGroupLabel("Drawing Settings");
            DrawMenu.Add("Q", new CheckBox("Draw Q"));
            DrawMenu.Add("W", new CheckBox("Draw W"));
            DrawMenu.Add("E", new CheckBox("Draw E"));
            DrawMenu.Add("R", new CheckBox("Draw R"));
            DrawMenu.AddSeparator();
            DrawMenu.AddGroupLabel("Ultimate Drawings");
            DrawMenu.Add("DrawD", new CheckBox("Draw R Damage"));
            DrawMenu.Add("Killable", new CheckBox("Draw Killable"));
            DrawMenu.Add("Stacks", new CheckBox("Draw Passive Stacks"));
            DrawMenu.Add("PPx", new Slider("Passive Stacks Position X", 100, 0, 150));
            DrawMenu.Add("PPy", new Slider("Passive Stacks Position Y", 100, 0, 150));
            DrawMenu.Add("RHealth", new CheckBox("Draw After R health"));
            DrawMenu.Add("RHx", new Slider("After R health Position", 135, 0, 150));

            Q = new Spell.Active(SpellSlot.Q, 400);
            W = new Spell.Active(SpellSlot.W, 300);
            E = new Spell.Skillshot(SpellSlot.E, 550, SkillShotType.Cone, 250, 666, 100);
            R = new Spell.Targeted(SpellSlot.R, 460);

            Game.OnUpdate                    += OnUpdate;
            Drawing.OnDraw                   += OnDraw;
            Drawing.OnEndScene               += OnEndScene;
            Orbwalker.OnPostAttack           += OnAfterAttack;
            Obj_AI_Base.OnSpellCast          += Obj_AI_Base_OnSpellCast;
            Interrupter.OnInterruptableSpell += OnInterruptableTarget;
        }
コード例 #3
0
        private static void OnLoaded(EventArgs args)
        {
            if (Player.Instance.ChampionName != Hero)
            {
                return;
            }
            Bootstrap.Init(null);
            Q       = new Spell.Skillshot(SpellSlot.Q, 1175, SkillShotType.Linear, 250, 1200, 80);
            W       = new Spell.Skillshot(SpellSlot.W, 900, SkillShotType.Circular, 250, 2200, 350);
            E       = new Spell.Targeted(SpellSlot.E, 800);
            R       = new Spell.Active(SpellSlot.R, 600);
            Exhaust = new Spell.Targeted(ObjectManager.Player.GetSpellSlotFromName("summonerexhaust"), 650);

            Talisman        = new Item((int)ItemId.Talisman_of_Ascension);
            Randuin         = new Item((int)ItemId.Randuins_Omen);
            Zhonia          = new Item((int)ItemId.Zhonyas_Hourglass);
            AbilitySequence = new[] { 1, 3, 2, 1, 1, 4, 1, 2, 1, 2, 4, 2, 2, 3, 3, 4, 3, 3 };

            MorgMenu = MainMenu.AddMenu("Bloodimir Morgana", "bmorgana");
            MorgMenu.AddGroupLabel("Bloodimir Morgana");
            MorgMenu.AddSeparator();
            MorgMenu.AddLabel("Bloodimir Morgana v2.1.0.0");

            ComboMenu = MorgMenu.AddSubMenu("Combo", "sbtw");
            ComboMenu.AddGroupLabel("Combo Settings");
            ComboMenu.AddSeparator();
            ComboMenu.Add("usecomboq", new CheckBox("Use Q"));
            ComboMenu.Add("usecombow", new CheckBox("Use W"));

            AutoCastMenu = MorgMenu.AddSubMenu("Auto Cast", "ac");
            AutoCastMenu.AddGroupLabel("Auto Cast");
            AutoCastMenu.AddSeparator();
            AutoCastMenu.Add("qd", new CheckBox("Auto Q Dashing"));
            AutoCastMenu.Add("qi", new CheckBox("Auto Q Immobile"));
            AutoCastMenu.Add("ar", new CheckBox("Auto R"));
            AutoCastMenu.Add("rslider", new Slider("Minimum people for Auto R", 2, 0, 5));

            QMenu = MorgMenu.AddSubMenu("Q Settings", "qsettings");
            QMenu.AddGroupLabel("Q Settings");
            QMenu.AddSeparator();
            QMenu.Add("qmin", new Slider("Min Range", 150, 0, (int)Q.Range));
            QMenu.Add("qmax", new Slider("Max Range", (int)Q.Range, 0, (int)Q.Range));
            QMenu.AddSeparator();
            foreach (var obj in ObjectManager.Get <AIHeroClient>().Where(obj => obj.Team != Me.Team))
            {
                QMenu.Add("bind" + obj.ChampionName.ToLower(), new CheckBox("Bind " + obj.ChampionName));
            }
            QMenu.AddSeparator();
            QMenu.Add("mediumpred", new CheckBox("MEDIUM Bind Hitchance Prediction", false));
            QMenu.AddSeparator();
            QMenu.Add("intq", new CheckBox("Q to Interrupt"));

            SkinMenu = MorgMenu.AddSubMenu("Skin Changer", "skin");
            SkinMenu.AddGroupLabel("Choose the desired skin");

            var skinchange = SkinMenu.Add("sID", new Slider("Skin", 5, 0, 7));
            var sid        = new[] { "Default", "Exiled", "Sinful Succulence", "Blade Mistress", "Blackthorn", "Ghost Bride", "Victorius", "Lunar Wraith" };

            skinchange.DisplayName    = sid[skinchange.CurrentValue];
            skinchange.OnValueChange +=
                delegate(ValueBase <int> sender, ValueBase <int> .ValueChangeArgs changeArgs)
            {
                sender.DisplayName = sid[changeArgs.NewValue];
            };

            MiscMenu = MorgMenu.AddSubMenu("Misc", "misc");
            MiscMenu.AddGroupLabel("Misc");
            MiscMenu.AddSeparator();
            MiscMenu.Add("ksq", new CheckBox("KS with Q"));
            MiscMenu.Add("antigapcloser", new CheckBox("Anti Gapcloser"));
            MiscMenu.Add("talisman", new CheckBox("Use Talisman of Ascension"));
            MiscMenu.Add("randuin", new CheckBox("Use Randuin"));
            MiscMenu.Add("szhonya", new CheckBox("Smart Zhonya"));
            MiscMenu.Add("lvlup", new CheckBox("Auto Level Up Spells", false));
            MiscMenu.AddSeparator();
            MiscMenu.Add("EAllies", new CheckBox("Auto E"));
            foreach (var obj in ObjectManager.Get <AIHeroClient>().Where(obj => obj.Team == Me.Team))
            {
                MiscMenu.Add("shield" + obj.ChampionName.ToLower(), new CheckBox("Shield " + obj.ChampionName));
            }
            MiscMenu.AddSeparator();
            MiscMenu.Add("support", new CheckBox("Support Mode", false));
            MiscMenu.Add("useexhaust", new CheckBox("Use Exhaust"));
            foreach (var source in ObjectManager.Get <AIHeroClient>().Where(a => a.IsEnemy))
            {
                MiscMenu.Add(source.ChampionName + "exhaust",
                             new CheckBox("Exhaust " + source.ChampionName, false));
            }

            DrawMenu = MorgMenu.AddSubMenu("Drawings", "drawings");
            DrawMenu.AddGroupLabel("Drawings");
            DrawMenu.AddSeparator();
            DrawMenu.Add("drawq", new CheckBox("Draw Q"));
            DrawMenu.Add("draww", new CheckBox("Draw W"));
            DrawMenu.Add("drawe", new CheckBox("Draw E"));
            DrawMenu.Add("drawr", new CheckBox("Draw R"));
            DrawMenu.Add("drawaa", new CheckBox("Draw AA"));
            DrawMenu.Add("predictions", new CheckBox("Visualize Q Prediction"));

            LaneClear = MorgMenu.AddSubMenu("Lane Clear", "laneclear");
            LaneClear.AddGroupLabel("Lane Clear Settings");
            LaneClear.Add("LCW", new CheckBox("Use W"));

            LastHit = MorgMenu.AddSubMenu("Last Hit", "lasthit");
            LastHit.AddGroupLabel("Last Hit Settings");
            LastHit.Add("LHQ", new CheckBox("Use Q", false));

            Interrupter.OnInterruptableSpell += Interrupter_OnInterruptableSpell;
            Game.OnUpdate                  += OnUpdate;
            Orbwalker.OnPreAttack          += Orbwalker_OnPreAttack;
            Obj_AI_Base.OnProcessSpellCast += Auto_EOnProcessSpell;
            Gapcloser.OnGapcloser          += Gapcloser_OnGapcloser;
            Drawing.OnDraw                 += delegate
            {
                if (!Me.IsDead)
                {
                    if (DrawMenu["drawr"].Cast <CheckBox>().CurrentValue&& R.IsLearned)
                    {
                        Circle.Draw(Color.Red, R.Range, Player.Instance.Position);
                    }
                    if (DrawMenu["draww"].Cast <CheckBox>().CurrentValue&& W.IsLearned)
                    {
                        Circle.Draw(Color.Purple, W.Range, Player.Instance.Position);
                    }
                    if (DrawMenu["drawe"].Cast <CheckBox>().CurrentValue&& E.IsLearned)
                    {
                        Circle.Draw(Color.Green, E.Range, Player.Instance.Position);
                    }
                    if (DrawMenu["drawaa"].Cast <CheckBox>().CurrentValue)
                    {
                        Circle.Draw(Color.Blue, Q.Range, Player.Instance.Position);
                    }
                    var predictedPositions = new Dictionary <int, Tuple <int, PredictionResult> >();
                    var predictions        = DrawMenu["predictions"].Cast <CheckBox>().CurrentValue;
                    var qRange             = DrawMenu["drawq"].Cast <CheckBox>().CurrentValue;

                    foreach (
                        var enemy in
                        EntityManager.Heroes.Enemies.Where(
                            enemy => QMenu["bind" + enemy.ChampionName].Cast <CheckBox>().CurrentValue&&
                            enemy.IsValidTarget(Q.Range + 150) &&
                            !enemy.HasBuffOfType(BuffType.SpellShield)))
                    {
                        var predictionsq = Q.GetPrediction(enemy);
                        predictedPositions[enemy.NetworkId] = new Tuple <int, PredictionResult>(Environment.TickCount,
                                                                                                predictionsq);
                        if (qRange && Q.IsLearned)
                        {
                            Circle.Draw(Q.IsReady() ? Color.Blue : Color.Red, Q.Range,
                                        Player.Instance.Position);
                        }

                        if (!predictions)
                        {
                            return;
                        }

                        foreach (var prediction in predictedPositions.ToArray())
                        {
                            if (Environment.TickCount - prediction.Value.Item1 > 2000)
                            {
                                predictedPositions.Remove(prediction.Key);
                                continue;
                            }

                            Circle.Draw(Color.Red, 75, prediction.Value.Item2.CastPosition);
                            Line.DrawLine(System.Drawing.Color.GreenYellow, Player.Instance.Position,
                                          prediction.Value.Item2.CastPosition);
                            Line.DrawLine(System.Drawing.Color.CornflowerBlue,
                                          EntityManager.Heroes.Enemies.Find(o => o.NetworkId == prediction.Key).Position,
                                          prediction.Value.Item2.CastPosition);
                            Drawing.DrawText(prediction.Value.Item2.CastPosition.WorldToScreen() + new Vector2(0, -20),
                                             System.Drawing.Color.LimeGreen,
                                             string.Format("Hitchance: {0}%", Math.Ceiling(prediction.Value.Item2.HitChancePercent)),
                                             10);
                        }
                    }
                    ;
                }
                ;
            };
        }
コード例 #4
0
        private static void OnLoaded(EventArgs args)
        {
            if (Player.Instance.ChampionName != "Morgana")
            {
                return;
            }
            Bootstrap.Init(null);
            Q = new Spell.Skillshot(SpellSlot.Q, 1200, SkillShotType.Linear, (int)250f, (int)1200f, (int)80f);
            W = new Spell.Skillshot(SpellSlot.W, 900, SkillShotType.Circular, (int)250f, (int)2200f, (int)400f);
            E = new Spell.Targeted(SpellSlot.E, 750);
            R = new Spell.Active(SpellSlot.R, 600);

            MorgMenu = MainMenu.AddMenu("B.Morgana", "bloodimirmorgana");
            MorgMenu.AddGroupLabel("Bloodimir.Morgana");
            MorgMenu.AddSeparator();
            MorgMenu.AddLabel("An Addon made my Bloodimir/turkey");

            ComboMenu = MorgMenu.AddSubMenu("Combo", "sbtw");
            ComboMenu.AddGroupLabel("Combo Settings");
            ComboMenu.AddSeparator();
            ComboMenu.Add("usecomboq", new CheckBox("Use Q"));
            ComboMenu.Add("usecombow", new CheckBox("Use W"));
            ComboMenu.Add("usecombor", new CheckBox("Use R"));
            ComboMenu.AddSeparator();
            ComboMenu.Add("rslider", new Slider("Minimum people for R", 1, 0, 5));

            QMenu = MorgMenu.AddSubMenu("Q Settings", "qsettings");
            QMenu.AddGroupLabel("Q Settings");
            QMenu.AddSeparator();
            QMenu.Add("qmin", new Slider("Min Range", 200, 0, (int)Q.Range));
            QMenu.Add("qmax", new Slider("Max Range", (int)Q.Range, 0, (int)Q.Range));
            QMenu.AddSeparator();
            foreach (var obj in ObjectManager.Get <AIHeroClient>().Where(obj => obj.Team != Me.Team))
            {
                QMenu.Add("bind" + obj.ChampionName.ToLower(), new CheckBox("Bind " + obj.ChampionName));
            }
            QMenu.AddSeparator();
            QMenu.AddLabel("EB's common prediction and hitchance is still beta and sometimes it wont cast Q." +
                           Environment.NewLine + "But it works just fine if you use Medium hitchance prediction." +
                           Environment.NewLine +
                           "This allows Q to cast more but also a slightly smaller bind success percentage.");
            QMenu.AddSeparator();
            QMenu.Add("mediumpred", new CheckBox("MEDIUM Bind Hitchance Prediction / Disabled = High", false));

            WMenu = MorgMenu.AddSubMenu("W Settings", "wsettings");
            WMenu.AddGroupLabel("W Settings");
            WMenu.AddSeparator();
            WMenu.Add("wmax", new Slider("Max Range", (int)W.Range, 0, (int)W.Range));
            WMenu.Add("wmin", new Slider("Min Range", 124, 0, (int)W.Range));
            WMenu.AddSeparator();
            WMenu.Add("mediumpred", new CheckBox("MEDIUM Soil Hitchance Prediction / Disabled = High"));

            SkinMenu = MorgMenu.AddSubMenu("Skin Changer", "skin");
            SkinMenu.AddGroupLabel("Choose the desired skin");

            var skinchange = SkinMenu.Add("sID", new Slider("Skin", 0, 0, 6));
            var sID        = new[]
            { "Default", "Exiled", "Sinful Succulence", "Blade Mistress", "Blackthorn", "Ghost Bride", "Victorius" };

            skinchange.DisplayName    = sID[skinchange.CurrentValue];
            skinchange.OnValueChange += delegate(ValueBase <int> sender, ValueBase <int> .ValueChangeArgs changeArgs)
            {
                sender.DisplayName = sID[changeArgs.NewValue];
                if (MiscMenu["debug"].Cast <CheckBox>().CurrentValue)
                {
                    Chat.Print("skin-changed");
                }
            };

            MiscMenu = MorgMenu.AddSubMenu("Misc", "misc");
            MiscMenu.AddGroupLabel("KS");
            MiscMenu.AddSeparator();
            MiscMenu.Add("ksq", new CheckBox("KS with Q"));
            MiscMenu.AddSeparator();
            MiscMenu.AddGroupLabel("Interrupt");
            MiscMenu.AddSeparator();
            MiscMenu.Add("intq", new CheckBox("Q to Interrupt"));
            MiscMenu.Add("dashq", new CheckBox("Q on Dashing"));
            MiscMenu.Add("immoq", new CheckBox("Q on Immobile"));
            MiscMenu.Add("immow", new CheckBox("W on Immobile"));
            MiscMenu.AddSeparator();
            MiscMenu.Add("support", new CheckBox("Support Mode", false));
            MiscMenu.Add("debug", new CheckBox("Debug", false));

            DrawMenu = MorgMenu.AddSubMenu("Drawings", "drawings");
            DrawMenu.AddGroupLabel("Drawings");
            DrawMenu.AddSeparator();
            DrawMenu.Add("drawq", new CheckBox("Draw Q"));
            DrawMenu.Add("draww", new CheckBox("Draw W"));

            LaneClear = MorgMenu.AddSubMenu("Lane Clear", "laneclear");
            LaneClear.AddGroupLabel("Lane Clear Settings");
            LaneClear.Add("LCW", new CheckBox("Use W"));

            Interrupter.OnInterruptableSpell += Interrupter_OnInterruptableSpell;
            Game.OnTick           += Tick;
            Drawing.OnDraw        += OnDraw;
            Orbwalker.OnPreAttack += Orbwalker_OnPreAttack;
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: Bloodimir/Projects
        private static void OnLoaded(EventArgs args)
        {
            if (Player.Instance.ChampionName != "Blitzcrank")
            {
                return;
            }
            Bootstrap.Init(null);
            Q = new Spell.Skillshot(SpellSlot.Q, 925, SkillShotType.Linear, 250, 1800, 70);
            W = new Spell.Active(SpellSlot.W);
            E = new Spell.Active(SpellSlot.E);
            R = new Spell.Active(SpellSlot.R, 550);
            var FlashSlot = Blitz.GetSpellSlotFromName("summonerflash");

            Flash    = new Spell.Skillshot(FlashSlot, 32767, SkillShotType.Linear);
            Talisman = new Item((int)ItemId.Talisman_of_Ascension);

            BlitzMenu = MainMenu.AddMenu("BloodimirBlitz", "bloodimirblitz");
            BlitzMenu.AddGroupLabel("Bloodimir Blitzcrank");
            BlitzMenu.AddSeparator();
            BlitzMenu.AddLabel("Bloodimir Blitzcrank v1.0.2.0");

            ComboMenu = BlitzMenu.AddSubMenu("Combo", "sbtw");
            ComboMenu.AddGroupLabel("Combo Settings");
            ComboMenu.AddSeparator();
            ComboMenu.Add("usecomboq", new CheckBox("Use Q"));
            ComboMenu.Add("usecombow", new CheckBox("Use W"));
            ComboMenu.Add("usecomboe", new CheckBox("Use E"));
            ComboMenu.Add("usecombor", new CheckBox("Use R"));
            ComboMenu.AddSeparator();
            ComboMenu.Add("rslider", new Slider("Minimum people for R", 2, 0, 5));
            ComboMenu.AddSeparator();
            ComboMenu.Add("flashq", new KeyBind("Flash Q", false, KeyBind.BindTypes.HoldActive, 'Y'));

            QMenu = BlitzMenu.AddSubMenu("Q Settings", "qsettings");
            QMenu.AddGroupLabel("Q Settings");
            QMenu.AddSeparator();
            QMenu.Add("qmin", new Slider("Min Range", 125, 0, (int)Q.Range));
            QMenu.Add("qmax", new Slider("Max Range", (int)Q.Range, 0, (int)Q.Range));
            QMenu.AddSeparator();
            foreach (var obj in ObjectManager.Get <AIHeroClient>().Where(obj => obj.Team != Blitz.Team))
            {
                QMenu.Add("grab" + obj.ChampionName.ToLower(), new CheckBox("Grab " + obj.ChampionName));
            }
            QMenu.AddSeparator();
            QMenu.Add("mediumpred", new CheckBox("MEDIUM Bind Hitchance Prediction / Disabled = High", false));
            QMenu.Add("intq", new CheckBox("Q to Interrupt"));
            QMenu.AddSeparator();

            SkinMenu = BlitzMenu.AddSubMenu("Skin Changer", "skin");
            SkinMenu.AddGroupLabel("Choose the desired skin");

            var skinchange = SkinMenu.Add("sID", new Slider("Skin", 4, 0, 8));
            var sID        = new[]
            {
                "Default", "Rusty", "Goalkeeper", "Boom Boom", "Piltover Customs", "DefNotBlitz", "iBlitzCrank",
                "RiotCrank", "Battle Boss"
            };

            skinchange.DisplayName    = sID[skinchange.CurrentValue];
            skinchange.OnValueChange +=
                delegate(ValueBase <int> sender, ValueBase <int> .ValueChangeArgs changeArgs)
            {
                sender.DisplayName = sID[changeArgs.NewValue];
            };

            MiscMenu = BlitzMenu.AddSubMenu("Misc", "misc");
            MiscMenu.AddGroupLabel("Misc");
            MiscMenu.AddSeparator();
            MiscMenu.Add("ksq", new CheckBox("KS with Q"));
            MiscMenu.Add("ksr", new CheckBox("KS with R"));
            MiscMenu.Add("LHE", new CheckBox("Last Hit E"));
            MiscMenu.AddSeparator();
            MiscMenu.Add("support", new CheckBox("Support Mode"));
            MiscMenu.Add("fleew", new CheckBox("Use W Flee"));
            MiscMenu.AddSeparator();
            MiscMenu.Add("talisman", new CheckBox("Use Talisman of Ascension"));


            DrawMenu = BlitzMenu.AddSubMenu("Drawings", "drawings");
            DrawMenu.AddGroupLabel("Drawings");
            DrawMenu.AddSeparator();
            DrawMenu.Add("drawq", new CheckBox("Draw Q"));
            DrawMenu.Add("drawr", new CheckBox("Draw R"));
            DrawMenu.Add("drawfq", new CheckBox("Draw FlashQ"));
            DrawMenu.Add("predictions", new CheckBox("Visualize prediction"));

            Interrupter.OnInterruptableSpell += Interrupter_OnInterruptableSpell;
            Game.OnUpdate          += Tick;
            Orbwalker.OnPreAttack  += Orbwalker_OnPreAttack;
            Orbwalker.OnPostAttack += Orbwalker_OnPostAttack;
            Core.DelayAction(FlashQ, 1);
            Drawing.OnDraw += delegate
            {
                if (DrawMenu["drawr"].Cast <CheckBox>().CurrentValue&& R.IsLearned)
                {
                    Drawing.DrawCircle(Blitz.Position, R.Range, System.Drawing.Color.LightBlue);
                }
                if (DrawMenu["drawfq"].Cast <CheckBox>().CurrentValue&& Q.IsLearned)
                {
                    Drawing.DrawCircle(Blitz.Position, 850 + 425, System.Drawing.Color.DarkBlue);
                }
                var predictedPositions = new Dictionary <int, Tuple <int, PredictionResult> >();
                var predictions        = DrawMenu["predictions"].Cast <CheckBox>().CurrentValue;
                var qRange             = DrawMenu["drawq"].Cast <CheckBox>().CurrentValue;

                foreach (
                    var enemy in
                    EntityManager.Heroes.Enemies.Where(
                        enemy => QMenu["grab" + enemy.ChampionName].Cast <CheckBox>().CurrentValue&&
                        enemy.IsValidTarget(Q.Range + 150) &&
                        !enemy.HasBuffOfType(BuffType.SpellShield)))
                {
                    var predictionsq = Q.GetPrediction(enemy);
                    predictedPositions[enemy.NetworkId] = new Tuple <int, PredictionResult>(Environment.TickCount,
                                                                                            predictionsq);
                    if (qRange && Q.IsLearned)
                    {
                        Circle.Draw(Q.IsReady() ? Color.Blue : Color.Red, Q.Range, Player.Instance.Position);
                    }

                    if (!predictions)
                    {
                        return;
                    }

                    foreach (var prediction in predictedPositions.ToArray())
                    {
                        if (Environment.TickCount - prediction.Value.Item1 > 2000)
                        {
                            predictedPositions.Remove(prediction.Key);
                            continue;
                        }

                        Circle.Draw(Color.Red, 75, prediction.Value.Item2.CastPosition);
                        Line.DrawLine(System.Drawing.Color.GreenYellow, Player.Instance.Position,
                                      prediction.Value.Item2.CastPosition);
                        Line.DrawLine(System.Drawing.Color.CornflowerBlue,
                                      EntityManager.Heroes.Enemies.Find(o => o.NetworkId == prediction.Key).Position,
                                      prediction.Value.Item2.CastPosition);
                        Drawing.DrawText(prediction.Value.Item2.CastPosition.WorldToScreen() + new Vector2(0, -20),
                                         System.Drawing.Color.LimeGreen,
                                         string.Format("Hitchance: {0}%", Math.Ceiling(prediction.Value.Item2.HitChancePercent)),
                                         10);
                    }
                }
                ;
            };
        }
コード例 #6
0
        public static void Execute()
        {
            if (Player.Instance.ChampionName != ChampName)
            {
                return;
            }

            menuIni = MainMenu.AddMenu("KappaDarius", "KappaDarius");
            menuIni.AddGroupLabel("Darius The Dank Memes Master!");
            menuIni.AddGroupLabel("Çeviri tradana");
            menuIni.AddGroupLabel("Genel Ayarlar");
            menuIni.Add("Items", new CheckBox("İtemleri Kullan?"));
            menuIni.Add("Combo", new CheckBox("Kombo Kullan?"));
            menuIni.Add("Harass", new CheckBox("Dürtme KUllan?"));
            menuIni.Add("Clear", new CheckBox("QSS Kullan?"));
            menuIni.Add("Drawings", new CheckBox("Göstergeler Aç?"));
            menuIni.Add("KillSteal", new CheckBox("Killçal?"));

            QMenu = menuIni.AddSubMenu("Q Settings");
            QMenu.AddGroupLabel("Q Ayarları");
            QMenu.Add("Combo", new CheckBox("Kombo'da Q"));
            QMenu.Add("Harass", new CheckBox("Dürtmede Q"));
            QMenu.AddGroupLabel("Lanetemizleme Ayarı Q için");
            QMenu.Add("Clear", new CheckBox("Q İle Lanetemizleme"));
            QMenu.Add("Qlc", new Slider("Q için en az minyon >=", 3, 1, 10));
            QMenu.AddSeparator();
            QMenu.AddGroupLabel("Ek Ayarlar");
            QMenu.Add("QE", new CheckBox("Her zaman Qdan Önce E", false));
            QMenu.Add("Stick", new CheckBox("Q atılacak Hedefe Doğru Yürü"));
            QMenu.Add("QAA", new CheckBox("Diğer düz vuruşu beklerken Q Kullan", false));
            QMenu.Add("range", new CheckBox("Düşman düzvuruş menzilindeyken Q atma", false));
            QMenu.Add("Flee", new CheckBox("Kaçarken Q (Hedef Takip Etmeyi Yok Say)"));
            QMenu.Add("QFlee", new Slider("Kaçarken Q için canım şundan az %", 90, 0, 100));
            QMenu.Add("Qaoe", new CheckBox("Alan Hasarı için Otomatik Q"));
            QMenu.Add("Qhit", new Slider("Q kaç kişiye vuracaksa >=", 3, 1, 5));

            WMenu = menuIni.AddSubMenu("W Settings");
            WMenu.AddGroupLabel("W Ayarları");
            WMenu.Add("Combo", new CheckBox("Komboda W"));
            WMenu.Add("Harass", new CheckBox("Dürtmede W"));
            WMenu.Add("Clear", new CheckBox("Lanetemizlemede W"));
            WMenu.AddGroupLabel("Ek Ayarlar");
            WMenu.Add("AAr", new CheckBox("W ile Düzvuruş Resetle"));

            EMenu = menuIni.AddSubMenu("E Settings");
            EMenu.AddGroupLabel("E Ayarları");
            EMenu.Add("Combo", new CheckBox("Komboda E"));
            EMenu.Add("Harass", new CheckBox("Dürtmede E"));
            EMenu.AddGroupLabel("Ek Ayarları");
            EMenu.Add("Interrupt", new CheckBox("Tehlikeli yeteneği bozmak için E kullan"));

            RMenu = menuIni.AddSubMenu("R Settings");
            RMenu.AddGroupLabel("R Ayarları");
            RMenu.Add("Combo", new CheckBox("R ile Komboyu bitir(hedefi mahvet)"));
            RMenu.Add("stack", new CheckBox("R kullanmak için Yük(kanama)", false));
            RMenu.Add("count", new Slider("R için Yük Say >=", 5, 0, 5));
            RMenu.Add("SaveR", new CheckBox("Eğer hedef düzvuruşla ölecek mesafedeyse R kullanma", false));
            RMenu.Add("SR", new Slider("Eğer hedef şu kadar düzvuruşla ölecekse R Kullanma X", 1, 0, 6));
            RMenu.Add("semiR", new KeyBind("Yarı Otomatik R", false, KeyBind.BindTypes.HoldActive));

            KillStealMenu = menuIni.AddSubMenu("KillSteal");
            KillStealMenu.AddGroupLabel("KillÇalma Ayarları");
            KillStealMenu.Add("Rks", new CheckBox("R İle çal"));

            if (Player.Spells.FirstOrDefault(o => o.SData.Name.Contains("SummonerDot")) != null)
            {
                KillStealMenu.Add("IGP", new CheckBox("Tutuştur+Kanamayla öldür"));
                KillStealMenu.Add("IG", new CheckBox("Sadece Tutuştur", false));
                KillStealMenu.AddLabel("Tutuştur ve Kanamanın hasarını hesaplayarak hareket et");
                Ignite = new Spell.Targeted(ObjectManager.Player.GetSpellSlotFromName("summonerdot"), 600);
            }

            ManaMenu = menuIni.AddSubMenu("Mana Manager");
            ManaMenu.AddGroupLabel("Dürtme");
            ManaMenu.Add("harassmana", new Slider("En az mana %", 75, 0, 100));
            ManaMenu.AddGroupLabel("Lanetemizleme");
            ManaMenu.Add("lanemana", new Slider("En az mana %", 60, 0, 100));

            ItemsMenu = menuIni.AddSubMenu("Items");
            ItemsMenu.AddGroupLabel("İtem Ayarları");
            ItemsMenu.Add("Hydra", new CheckBox("Kullan Hydra / Timat / Haşmetli Hydra"));
            ItemsMenu.Add("useGhostblade", new CheckBox("Kullan Youmuu'nun kılıcı"));
            ItemsMenu.Add("UseBOTRK", new CheckBox("Mahvolmuş Kılıç Kullan"));
            ItemsMenu.Add("UseBilge", new CheckBox("BilgeWater Palası Kullan"));
            ItemsMenu.AddSeparator();
            ItemsMenu.Add("eL", new Slider("Kullanmak için düşmanın canı", 65, 0, 100));
            ItemsMenu.Add("oL", new Slider("Kullanmak için benim canım", 65, 0, 100));

            DrawMenu = menuIni.AddSubMenu("Drawings");
            DrawMenu.AddGroupLabel("Gösterge Ayarları");
            DrawMenu.Add("Q", new CheckBox("Göster Q"));
            DrawMenu.Add("W", new CheckBox("Göster W"));
            DrawMenu.Add("E", new CheckBox("Göster E"));
            DrawMenu.Add("R", new CheckBox("Göster R"));
            DrawMenu.AddSeparator();
            DrawMenu.AddGroupLabel("Ulti Göstergesi");
            DrawMenu.Add("DrawD", new CheckBox("T hasarını Göster"));
            DrawMenu.Add("Killable", new CheckBox("Ölecek hedefi Göster"));
            DrawMenu.Add("Stacks", new CheckBox("Pasif Yükü Göster"));
            DrawMenu.Add("PPx", new Slider("Pasif Yük Pozisyonu X", 100, 0, 150));
            DrawMenu.Add("PPy", new Slider("Pasid Yük Pozisyonu Y", 100, 0, 150));
            DrawMenu.Add("RHealth", new CheckBox("R den sonraki canı göster"));
            DrawMenu.Add("RHx", new Slider("Rden sonra Can Pozisyonu", 135, 0, 150));

            Q = new Spell.Active(SpellSlot.Q, 400);
            W = new Spell.Active(SpellSlot.W, 300);
            E = new Spell.Skillshot(SpellSlot.E, 550, SkillShotType.Cone, 250, 666, 100);
            R = new Spell.Targeted(SpellSlot.R, 460);

            Game.OnUpdate                    += OnUpdate;
            Drawing.OnDraw                   += OnDraw;
            Drawing.OnEndScene               += OnEndScene;
            Orbwalker.OnPostAttack           += OnAfterAttack;
            Obj_AI_Base.OnSpellCast          += Obj_AI_Base_OnSpellCast;
            Interrupter.OnInterruptableSpell += OnInterruptableTarget;
        }
コード例 #7
0
ファイル: Program.cs プロジェクト: Bloodimir/Projects
        private static void OnLoaded(EventArgs args)
        {
            if (Player.Instance.ChampionName != Hero)
            {
                return;
            }
            Bootstrap.Init(null);
            Q = new Spell.Skillshot(SpellSlot.Q, 1200, SkillShotType.Linear, 250, 1200, 80);
            E = new Spell.Skillshot(SpellSlot.E, 750, SkillShotType.Linear);
            R = new Spell.Active(SpellSlot.R, 620);

            AbilitySequence = new[] { 1, 3, 2, 1, 1, 4, 1, 2, 1, 2, 4, 2, 2, 3, 3, 4, 3, 3 };

            ThreshMenu = MainMenu.AddMenu("Bloodimir Thresh", "bthresh");
            ThreshMenu.AddGroupLabel("Bloodimir Morgana");
            ThreshMenu.AddSeparator();
            ThreshMenu.AddLabel("Bloodimir Morgana v2.1.0.0");

            ComboMenu = ThreshMenu.AddSubMenu("Combo", "sbtw");
            ComboMenu.AddGroupLabel("Combo Settings");
            ComboMenu.AddSeparator();
            ComboMenu.Add("usecomboq", new CheckBox("Use Q"));

            AutoCastMenu = ThreshMenu.AddSubMenu("Auto Cast", "ac");
            AutoCastMenu.AddGroupLabel("Auto Cast");
            AutoCastMenu.AddSeparator();
            AutoCastMenu.Add("qd", new CheckBox("Auto Q Dashing"));
            AutoCastMenu.Add("qi", new CheckBox("Auto Q Immobile"));
            AutoCastMenu.Add("ar", new CheckBox("Auto R"));
            AutoCastMenu.Add("rslider", new Slider("Minimum people for Auto R", 2, 0, 5));

            QMenu = ThreshMenu.AddSubMenu("Q Settings", "qsettings");
            QMenu.AddGroupLabel("Q Settings");
            QMenu.AddSeparator();
            QMenu.Add("qmin", new Slider("Min Range", 150, 0, (int)Q.Range));
            QMenu.Add("qmax", new Slider("Max Range", (int)Q.Range, 0, (int)Q.Range));
            QMenu.AddSeparator();
            foreach (var obj in ObjectManager.Get <AIHeroClient>().Where(obj => obj.Team != Me.Team))
            {
                QMenu.Add("hook" + obj.ChampionName.ToLower(), new CheckBox("Hook " + obj.ChampionName));
            }
            QMenu.AddSeparator();
            QMenu.Add("mediumpred", new CheckBox("MEDIUM Bind Hitchance Prediction", false));
            QMenu.AddSeparator();
            QMenu.Add("intq", new CheckBox("Q to Interrupt"));

            SkinMenu = ThreshMenu.AddSubMenu("Skin Changer", "skin");
            SkinMenu.AddGroupLabel("Choose the desired skin");

            var skinchange = SkinMenu.Add("sID", new Slider("Skin", 3, 0, 5));
            var sid        = new[] { "Default", "Exiled", "Sinful Succulence", "Blade Mistress", "Blackthorn", "dasd" };

            skinchange.DisplayName    = sid[skinchange.CurrentValue];
            skinchange.OnValueChange +=
                delegate(ValueBase <int> sender, ValueBase <int> .ValueChangeArgs changeArgs)
            {
                sender.DisplayName = sid[changeArgs.NewValue];
            };

            MiscMenu = ThreshMenu.AddSubMenu("Misc", "misc");
            MiscMenu.AddGroupLabel("Misc");
            MiscMenu.AddSeparator();
            MiscMenu.Add("antigapcloser", new CheckBox("Anti Gapcloser"));
            MiscMenu.Add("lvlup", new CheckBox("Auto Level Up Spells", false));
            MiscMenu.AddSeparator();
            MiscMenu.Add("support", new CheckBox("Support Mode", false));

            DrawMenu = ThreshMenu.AddSubMenu("Drawings", "drawings");
            DrawMenu.AddGroupLabel("Drawings");
            DrawMenu.AddSeparator();
            DrawMenu.Add("drawq", new CheckBox("Draw Q"));
            DrawMenu.Add("drawe", new CheckBox("Draw E"));
            DrawMenu.Add("drawr", new CheckBox("Draw R"));
            DrawMenu.Add("drawaa", new CheckBox("Draw AA"));
            DrawMenu.Add("predictions", new CheckBox("Visualize Q Prediction"));

            Interrupter.OnInterruptableSpell += Interrupter_OnInterruptableSpell;
            Game.OnUpdate         += OnUpdate;
            Orbwalker.OnPreAttack += Orbwalker_OnPreAttack;
            Gapcloser.OnGapcloser += Gapcloser_OnGapcloser;
            Drawing.OnDraw        += delegate
            {
                if (!Me.IsDead)
                {
                    if (DrawMenu["drawr"].Cast <CheckBox>().CurrentValue&& R.IsLearned)
                    {
                        Circle.Draw(SharpDX.Color.Red, R.Range, Player.Instance.Position);
                    }
                    if (DrawMenu["drawe"].Cast <CheckBox>().CurrentValue&& E.IsLearned)
                    {
                        Circle.Draw(SharpDX.Color.Green, E.Range, Player.Instance.Position);
                    }
                    if (DrawMenu["drawaa"].Cast <CheckBox>().CurrentValue)
                    {
                        Circle.Draw(SharpDX.Color.Blue, Q.Range, Player.Instance.Position);
                    }
                    var predictedPositions = new Dictionary <int, Tuple <int, PredictionResult> >();
                    var predictions        = DrawMenu["predictions"].Cast <CheckBox>().CurrentValue;
                    var qRange             = DrawMenu["drawq"].Cast <CheckBox>().CurrentValue;

                    foreach (
                        var enemy in
                        EntityManager.Heroes.Enemies.Where(
                            enemy => QMenu["hook" + enemy.ChampionName].Cast <CheckBox>().CurrentValue&&
                            enemy.IsValidTarget(Q.Range + 150) &&
                            !enemy.HasBuffOfType(BuffType.SpellShield)))
                    {
                        var predictionsq = Q.GetPrediction(enemy);
                        predictedPositions[enemy.NetworkId] = new Tuple <int, PredictionResult>(Environment.TickCount,
                                                                                                predictionsq);
                        if (qRange && Q.IsLearned)
                        {
                            Circle.Draw(Q.IsReady() ? SharpDX.Color.Blue : SharpDX.Color.Red, Q.Range,
                                        Player.Instance.Position);
                        }

                        if (!predictions)
                        {
                            return;
                        }

                        foreach (var prediction in predictedPositions.ToArray())
                        {
                            if (Environment.TickCount - prediction.Value.Item1 > 2000)
                            {
                                predictedPositions.Remove(prediction.Key);
                                continue;
                            }

                            Circle.Draw(SharpDX.Color.Red, 75, prediction.Value.Item2.CastPosition);
                            Line.DrawLine(Color.GreenYellow, Player.Instance.Position,
                                          prediction.Value.Item2.CastPosition);
                            Line.DrawLine(Color.CornflowerBlue,
                                          EntityManager.Heroes.Enemies.Find(o => o.NetworkId == prediction.Key).Position,
                                          prediction.Value.Item2.CastPosition);
                            Drawing.DrawText(prediction.Value.Item2.CastPosition.WorldToScreen() + new Vector2(0, -20),
                                             System.Drawing.Color.LimeGreen,
                                             string.Format("Hitchance: {0}%", Math.Ceiling(prediction.Value.Item2.HitChancePercent)),
                                             10);
                        }
                    }
                    ;
                }
                ;
            };
        }