Esempio n. 1
0
        static Lucian()
        {
            Q = new Spell.Targeted(SpellSlot.Q, 750);
            W = new Spell.Skillshot(SpellSlot.W, 1000, SkillShotType.Circular, 250, 1500, 80);
            E = new Spell.Skillshot(SpellSlot.E, 420, SkillShotType.Linear);
            R = new Spell.Skillshot(SpellSlot.R, 1150, SkillShotType.Linear, 250, 2000, 110);

            ColorPicker = new ColorPicker[3];

            ColorPicker[0] = new ColorPicker("LucianQ", new ColorBGRA(10, 106, 138, 255));
            ColorPicker[1] = new ColorPicker("LucianR", new ColorBGRA(177, 67, 191, 255));
            ColorPicker[2] = new ColorPicker("LucianHpBar", new ColorBGRA(255, 134, 0, 255));

            DamageIndicator.Initalize(
                System.Drawing.Color.FromArgb(ColorPicker[2].Color.R, ColorPicker[2].Color.G, ColorPicker[2].Color.B));
            DamageIndicator.DamageDelegate = HandleDamageIndicator;

            ColorPicker[2].OnColorChange += (a, b) => { DamageIndicator.Color = System.Drawing.Color.FromArgb(b.Color.A, b.Color.R, b.Color.G, b.Color.B); };

            Orbwalker.OnPostAttack += Orbwalker_OnPostAttack;
            Game.OnPostTick        += args => IsPreAttack = false;
            Orbwalker.OnPreAttack  += Orbwalker_OnPreAttack;

            Obj_AI_Base.OnProcessSpellCast += Obj_AI_Base_OnProcessSpellCast;

            PermaShow = new PermaShow("Lucian PermaShow", new Vector2(200, 200));
        }
        public static void Init(string[] args)
        {
            if (initialized)
            {
                return;
            }

            initialized = true;

            CultureInfo.DefaultThreadCurrentCulture   = CultureInfo.InvariantCulture;
            CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.InvariantCulture;
            Thread.CurrentThread.CurrentCulture       = CultureInfo.InvariantCulture;
            Thread.CurrentThread.CurrentUICulture     = CultureInfo.InvariantCulture;

            // Initial notification.
            Logging.Write()(LogLevel.Info, "[-- SDK Bootstrap Loading --]");

            // Load Resource Content.
            ResourceLoader.Initialize();
            Logging.Write()(LogLevel.Info, "[SDK Bootstrap] Resources Initialized.");

            // Load GameObjects.
            GameObjects.Initialize();
            Logging.Write()(LogLevel.Info, "[SDK Bootstrap] GameObjects Initialized.");

            // Create E# menu.
            Variables.EnsoulSharpMenu = new Menu("EnsoulSharp", "EnsoulSharp", true).Attach();
            MenuCustomizer.Initialize(Variables.EnsoulSharpMenu);
            Logging.Write()(LogLevel.Info, "[SDK Bootstrap] EnsoulSharp Menu Created.");

            // Load the Orbwalker.
            Variables.Orbwalker = new Orbwalker(Variables.EnsoulSharpMenu);
            Logging.Write()(LogLevel.Info, "[SDK Bootstrap] Orbwalker Initialized.");

            // Load the TargetSelector.
            Variables.TargetSelector = new TargetSelector(Variables.EnsoulSharpMenu);
            Logging.Write()(LogLevel.Info, "[SDK Bootstrap] TargetSelector Initialized.");

            // Load the Notifications.
            Notifications.Initialize(Variables.EnsoulSharpMenu);
            Logging.Write()(LogLevel.Info, "[SDK Bootstrap] Notifications Initialized.");

            // Load the Permashow.
            PermaShow.Initialize(Variables.EnsoulSharpMenu);
            Logging.Write()(LogLevel.Info, "[SDK Bootstrap] Permashow Initialized.");

            // Load Damages.
            Damage.Initialize(Variables.GameVersion);
            Logging.Write()(LogLevel.Info, "[SDK Bootstrap] Damage Library Initialized.");

            // Final notification.
            Logging.Write()(LogLevel.Info, "[-- SDK Bootstrap Loading --]");
        }
Esempio n. 3
0
        static Vayne()
        {
            Q = new Spell.Skillshot(SpellSlot.Q, 300, SkillShotType.Linear);
            W = new Spell.Active(SpellSlot.W);
            E = new Spell.Targeted(SpellSlot.E, 650);
            R = new Spell.Active(SpellSlot.R);

            Orbwalker.OnPostAttack += Orbwalker_OnPostAttack;
            Orbwalker.OnPreAttack  += Orbwalker_OnPreAttack;
            Spellbook.OnCastSpell  += Spellbook_OnCastSpell;
            Game.OnPostTick        += args => IsPostAttack = false;

            if (EntityManager.Heroes.Enemies.Any(client => client.Hero == Champion.Rengar))
            {
                GameObject.OnCreate += Obj_AI_Base_OnCreate;
            }
            Text = new Text("", new Font("calibri", 15, FontStyle.Regular));

            PermaShow = new PermaShow("Vayne PermaShow", new Vector2(200, 200));
        }
Esempio n. 4
0
        static Urgot()
        {
            Q        = new Spell.Skillshot(SpellSlot.Q, 900, SkillShotType.Linear, 250, 1550, 60);
            SecoundQ = new Spell.Skillshot(SpellSlot.Q, 1200, SkillShotType.Linear, 250, 1550, 60)
            {
                AllowedCollisionCount = int.MaxValue
            };

            W = new Spell.Active(SpellSlot.W);
            E = new Spell.Skillshot(SpellSlot.E, 900, SkillShotType.Circular, 250, 1550, 250);
            R = new Spell.Targeted(SpellSlot.R, 500);

            ColorPicker = new ColorPicker[4];

            ColorPicker[0] = new ColorPicker("UrgotQ", new ColorBGRA(10, 106, 138, 255));
            ColorPicker[1] = new ColorPicker("UrgotE", new ColorBGRA(177, 67, 191, 255));
            ColorPicker[2] = new ColorPicker("UrgotR", new ColorBGRA(177, 67, 191, 255));
            ColorPicker[3] = new ColorPicker("UrgotHpBar", new ColorBGRA(255, 134, 0, 255));


            DamageIndicator.Initalize(Color.FromArgb(ColorPicker[3].Color.R, ColorPicker[3].Color.G, ColorPicker[3].Color.B));
            DamageIndicator.DamageDelegate = HandleDamageIndicator;

            ColorPicker[3].OnColorChange +=
                (a, b) =>
                DamageIndicator.Color =
                    Color.FromArgb(ColorPicker[3].Color.R, ColorPicker[3].Color.G, ColorPicker[3].Color.B);

            PermaShow = new PermaShow("Urgot PermaShow", new Vector2(200, 200));

            Game.OnTick     += Game_OnTick;
            Game.OnPostTick += args =>
            {
                Q.Range = 900;
                Q.AllowedCollisionCount = 0;
            };
            Orbwalker.OnPreAttack += Orbwalker_OnPreAttack;
        }
Esempio n. 5
0
        protected override void CreateMenu()
        {
            ComboMenu = MenuManager.Menu.AddSubMenu("Combo");
            ComboMenu.AddGroupLabel("Combo mode settings for Urgot addon");

            ComboMenu.AddLabel("Acid Hunter (Q) settings :");
            ComboMenu.Add("Plugins.Urgot.ComboMenu.UseQ", new CheckBox("Use Q"));
            ComboMenu.AddSeparator(5);

            ComboMenu.AddLabel("Terror Capacitor (W) settings :");
            ComboMenu.Add("Plugins.Urgot.ComboMenu.UseW", new CheckBox("Use W"));
            ComboMenu.AddSeparator(5);

            ComboMenu.AddLabel("Noxian Corrosive Charge (E) settings :");
            ComboMenu.Add("Plugins.Urgot.ComboMenu.UseE", new CheckBox("Use E"));
            ComboMenu.AddSeparator(5);

            ComboMenu.AddLabel("Hyper-Kinetic Position Reverser (R) settings :");
            ComboMenu.Add("Plugins.Urgot.ComboMenu.UseR", new CheckBox("Use R"));
            ComboMenu.Add("Plugins.Urgot.ComboMenu.UseRToSwapPosUnderTower", new CheckBox("Try to swap enemy pos under tower"));
            ComboMenu.AddSeparator(5);

            HarassMenu = MenuManager.Menu.AddSubMenu("Harass");
            HarassMenu.AddGroupLabel("Harass mode settings for Urgot addon");

            HarassMenu.AddLabel("Acid Hunter (Q) settings :");
            HarassMenu.Add("Plugins.Urgot.HarassMenu.UseQ", new CheckBox("Use Q"));
            HarassMenu.Add("Plugins.Urgot.HarassMenu.MinManaQ", new Slider("Min mana percentage ({0}%) to use Q", 40, 1));
            HarassMenu.AddSeparator(5);

            HarassMenu.AddLabel("Noxian Corrosive Charge (E) settings :");
            HarassMenu.Add("Plugins.Urgot.HarassMenu.UseE", new CheckBox("Use E"));
            HarassMenu.Add("Plugins.Urgot.HarassMenu.MinManaE", new Slider("Min mana percentage ({0}%) to use E", 40, 1));
            HarassMenu.AddSeparator(5);

            LaneClearMenu = MenuManager.Menu.AddSubMenu("Clear");
            LaneClearMenu.AddGroupLabel("Lane clear settings for Urgot addon");

            LaneClearMenu.AddLabel("Basic settings :");
            LaneClearMenu.Add("Plugins.Urgot.LaneClearMenu.EnableLCIfNoEn", new CheckBox("Enable lane clear only if no enemies nearby"));
            var scanRange = LaneClearMenu.Add("Plugins.Urgot.LaneClearMenu.ScanRange", new Slider("Range to scan for enemies", 1500, 300, 2500));

            scanRange.OnValueChange += (a, b) =>
            {
                _changingRangeScan = true;
                Core.DelayAction(() =>
                {
                    if (!scanRange.IsLeftMouseDown && !scanRange.IsMouseInside)
                    {
                        _changingRangeScan = false;
                    }
                }, 2000);
            };
            LaneClearMenu.Add("Plugins.Urgot.LaneClearMenu.AllowedEnemies", new Slider("Allowed enemies amount", 1, 0, 5));
            LaneClearMenu.AddSeparator(5);

            LaneClearMenu.AddLabel("Acid Hunter (Q) settings :");
            LaneClearMenu.Add("Plugins.Urgot.LaneClearMenu.UseQInLaneClear", new CheckBox("Use Q in Lane Clear"));
            LaneClearMenu.Add("Plugins.Urgot.LaneClearMenu.UseQInJungleClear", new CheckBox("Use Q in Jungle Clear"));
            LaneClearMenu.Add("Plugins.Urgot.LaneClearMenu.MinManaQ", new Slider("Min mana percentage ({0}%) to use Q", 50, 1));
            LaneClearMenu.AddSeparator(5);

            LaneClearMenu.AddLabel("Noxian Corrosive Charge (E) settings :");
            LaneClearMenu.Add("Plugins.Urgot.LaneClearMenu.UseEInLaneClear", new CheckBox("Use E in Lane Clear"));
            LaneClearMenu.Add("Plugins.Urgot.LaneClearMenu.UseEInJungleClear", new CheckBox("Use E in Jungle Clear"));
            LaneClearMenu.Add("Plugins.Urgot.LaneClearMenu.MinManaE", new Slider("Min mana percentage ({0}%) to use E", 50, 1));

            MiscMenu = MenuManager.Menu.AddSubMenu("Misc");
            MiscMenu.AddGroupLabel("Misc settings for Urgot addon");
            MiscMenu.AddLabel("Basic settings :");
            MiscMenu.Add("Plugins.Urgot.MiscMenu.EnableKillsteal", new CheckBox("Enable Killsteal"));
            MiscMenu.AddSeparator(5);

            MiscMenu.AddLabel("Acid Hunter (Q) settings :");
            MiscMenu.Add("Plugins.Urgot.MiscMenu.AutoHarass",
                         new KeyBind("Auto harass", true, KeyBind.BindTypes.PressToggle, 'T')).OnValueChange +=
                (a, b) =>
            {
                if (AutoHarassBoolItemData != null)
                {
                    AutoHarassBoolItemData.Value = b.NewValue;
                }
            };
            MiscMenu.AddLabel("Enables Auto harass on enemies with E debuff in Lane Clear and Harass mode !");
            MiscMenu.AddSeparator(5);

            MiscMenu.AddLabel("Terror Capacitor (W) settings :");
            MiscMenu.Add("Plugins.Urgot.MiscMenu.WMinDamage", new Slider("Auto W if incoming damage will deal more than {0}% of my hp", 10, 1));
            MiscMenu.AddSeparator(5);

            MiscMenu.AddLabel("Hyper-Kinetic Position Reverser (R) settings :");
            MiscMenu.Add("Plugins.Urgot.MiscMenu.UseRAgainstGapclosers", new CheckBox("Use R against gapclosers"));
            MiscMenu.Add("Plugins.Urgot.MiscMenu.UseRToInterrupt", new CheckBox("Use R to interrupt dangerous spells"));

            MenuManager.BuildAntiGapcloserMenu();
            MenuManager.BuildInterrupterMenu();

            DrawingsMenu = MenuManager.Menu.AddSubMenu("Drawings");
            DrawingsMenu.AddGroupLabel("Drawings settings for Urgot addon");

            DrawingsMenu.AddLabel("Basic settings :");
            DrawingsMenu.Add("Plugins.Urgot.DrawingsMenu.DrawSpellRangesWhenReady", new CheckBox("Draw spell ranges only when they are ready"));
            DrawingsMenu.AddSeparator(5);

            DrawingsMenu.AddLabel("Acid Hunter (Q) settings :");
            DrawingsMenu.Add("Plugins.Urgot.DrawingsMenu.DrawQ", new CheckBox("Draw Q range"));
            DrawingsMenu.Add("Plugins.Urgot.DrawingsMenu.DrawQColor", new CheckBox("Change color", false)).OnValueChange += (a, b) =>
            {
                if (!b.NewValue)
                {
                    return;
                }

                ColorPicker[0].Initialize(Color.Aquamarine);
                a.CurrentValue = false;
            };
            DrawingsMenu.AddSeparator(5);

            DrawingsMenu.AddLabel("Noxian Corrosive Charge (E) settings :");
            DrawingsMenu.Add("Plugins.Urgot.DrawingsMenu.DrawE", new CheckBox("Draw E range"));
            DrawingsMenu.Add("Plugins.Urgot.DrawingsMenu.DrawEColor", new CheckBox("Change color", false)).OnValueChange += (a, b) =>
            {
                if (!b.NewValue)
                {
                    return;
                }

                ColorPicker[1].Initialize(Color.Aquamarine);
                a.CurrentValue = false;
            };
            DrawingsMenu.AddSeparator(5);

            DrawingsMenu.AddLabel("Hyper-Kinetic Position Reverser (R) settings :");
            DrawingsMenu.Add("Plugins.Urgot.DrawingsMenu.DrawR", new CheckBox("Draw R range", false));
            DrawingsMenu.Add("Plugins.Urgot.DrawingsMenu.DrawRColor", new CheckBox("Change color", false)).OnValueChange += (a, b) =>
            {
                if (!b.NewValue)
                {
                    return;
                }

                ColorPicker[2].Initialize(Color.Aquamarine);
                a.CurrentValue = false;
            };
            DrawingsMenu.AddSeparator(5);

            DrawingsMenu.AddLabel("Other settings :");
            DrawingsMenu.Add("Plugins.Urgot.DrawingsMenu.DrawInfo", new CheckBox("Draw Infos")).OnValueChange += (a, b) =>
            {
                if (b.NewValue)
                {
                    DamageIndicator.DamageDelegate = HandleDamageIndicator;
                }
                else if (!b.NewValue)
                {
                    DamageIndicator.DamageDelegate = null;
                }
            };
            DrawingsMenu.Add("Plugins.Urgot.DrawingsMenu.InfoColor", new CheckBox("Change color", false)).OnValueChange += (a, b) =>
            {
                if (!b.NewValue)
                {
                    return;
                }

                ColorPicker[3].Initialize(Color.Aquamarine);
                a.CurrentValue = false;
            };
            DrawingsMenu.AddLabel("Draws damage indicator");

            AutoHarassBoolItemData = PermaShow.AddItem("Auto harass", new BoolItemData("Enable Auto harass", Settings.Misc.AutoHarass, 14));
        }