示例#1
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);
                        }
                    }
                    ;
                }
                ;
            };
        }
示例#2
0
        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);
                        }
                    }
                    ;
                }
                ;
            };
        }