예제 #1
0
            public static void Init()
            {
                #region combo

                ComboMenu = Program.GlobalMenu.AddSubMenu("Fiora: Combo");

                ComboMenu.AddGroupLabel("Vital Settings");
                ComboMenu.CreateCheckBox("QValidvitals", "Q Valid Vitals Only");
                ComboMenu.CreateCheckBox("QShortvital", "Q Vital in Range");
                ComboMenu.CreateCheckBox("QLongvital", "Q Vitals Long Range");
                ComboMenu.CreateCheckBox("orbVital", "Orbwalk To Vitals");
                ComboMenu.CreateCheckBox("orbUltVital", "Orbwalk to R Vitals Only", false);
                ComboMenu.CreateCheckBox("aaVitl", "Orbwalk to Vitals in AA Range Only");
                ComboMenu.CreateCheckBox("focusR", "Force Focus Target with R Mark");
                ComboMenu.AddGroupLabel("Extra Settings");
                ComboMenu.CreateCheckBox("EReset", "E Reset Auto Attack");
                ComboMenu.CreateCheckBox("R", "Auto use R");

                #endregion combo

                #region Harass

                HMenu = Program.GlobalMenu.AddSubMenu("Fiora: Harass");
                HMenu.CreateKeyBind("autoHarass", "Auto Harass", false, KeyBind.BindTypes.PressToggle);
                HMenu.CreateCheckBox("qharass", "Q Vitals");
                HMenu.CreateCheckBox("qhturret", "Dont Q Dive Enemy Turret");
                HMenu.CreateSlider("qHarassHP", "Q Harass Health limit", 40);
                HMenu.CreateSlider("qHarassMana", "Q Harass Mana limit", 60);

                #endregion

                #region Evade

                spellblock = Program.GlobalMenu.AddSubMenu("Fiora: SpellBlock");
                spellblock.CreateCheckBox("enable", "Enable SpellBlock");
                spellblock.CreateCheckBox("executeBlock", "Block Any Spell if it will Kill Player");
                var enabledSpells = new List <SpellBlocker.EnabledSpell>();

                #region AutoAttacks
                var validAttacks = EmpowerdAttackDatabase.Current.Where(x => EntityManager.Heroes.Enemies.Any(h => h.Hero.Equals(x.Hero))).ToArray();
                if (validAttacks.Any())
                {
                    spellblock.AddGroupLabel("Empowered Attacks");
                    spellblock.CreateCheckBox("AABlock", "Block Empowered Attacks");
                    foreach (var s in validAttacks.OrderBy(s => s.Hero))
                    {
                        var spellname = s.MenuItemName;
                        if (!SpellBlocker.EnabledSpells.Any(x => x.SpellName.Equals(spellname)))
                        {
                            spellblock.AddLabel(spellname);
                            spellblock.CreateCheckBox("enable" + spellname, "Enable", s.DangerLevel > 1 || s.CrowdControl);
                            spellblock.CreateSlider("danger" + spellname, "Danger Level", s.DangerLevel, 1, 5);
                            enabledSpells.Add(new SpellBlocker.EnabledSpell(spellname));
                            spellblock.AddSeparator(0);
                        }
                    }
                }
                #endregion AutoAttacks

                #region buffs
                var validBuffs = DangerBuffDataDatabase.Current.Where(x => EntityManager.Heroes.Enemies.Any(h => h.Hero.Equals(x.Hero))).ToArray();
                if (validBuffs.Any())
                {
                    spellblock.AddSeparator(5);
                    spellblock.AddGroupLabel("Danger Buffs");
                    spellblock.CreateCheckBox("buffBlock", "Block Danger Buffs");

                    foreach (var s in validBuffs.OrderBy(s => s.Hero))
                    {
                        var spellname = s.MenuItemName;
                        if (!SpellBlocker.EnabledSpells.Any(x => x.SpellName.Equals(spellname)))
                        {
                            spellblock.AddLabel(spellname);
                            spellblock.CreateCheckBox("enable" + spellname, "Enable", s.DangerLevel > 1);
                            if (s.HasStackCount)
                            {
                                var stackCount = spellblock.CreateSlider("stackCount", "Block at Stack Count", s.StackCount, 1, s.MaxStackCount);
                                s.StackCountFromMenu = () => stackCount.CurrentValue;
                            }
                            spellblock.CreateSlider("danger" + spellname, "Danger Level", s.DangerLevel, 1, 5);
                            enabledSpells.Add(new SpellBlocker.EnabledSpell(spellname));
                            spellblock.AddSeparator(0);
                        }
                    }
                }
                #endregion buffs

                #region Targeted
                var validTargeted = TargetedSpellDatabase.Current.Where(x => EntityManager.Heroes.Enemies.Any(h => h.Hero.Equals(x.hero))).ToArray();
                if (validTargeted.Any())
                {
                    spellblock.AddSeparator(5);
                    spellblock.AddGroupLabel("Targeted Spells");
                    spellblock.CreateCheckBox("targetedBlock", "Block Targeted Spells");
                    foreach (var s in validTargeted.OrderBy(s => s.hero))
                    {
                        var spellname = s.MenuItemName;
                        if (!SpellBlocker.EnabledSpells.Any(x => x.SpellName.Equals(spellname)))
                        {
                            spellblock.AddLabel(spellname);
                            spellblock.CreateCheckBox("enable" + spellname, "Enable", s.DangerLevel > 1);
                            spellblock.CreateCheckBox("fast" + spellname, "Fast Block (Instant)", s.FastEvade);
                            spellblock.CreateSlider("danger" + spellname, "Danger Level", s.DangerLevel, 1, 5);
                            enabledSpells.Add(new SpellBlocker.EnabledSpell(spellname));
                            spellblock.AddSeparator(0);
                        }
                    }
                }
                #endregion Targeted

                #region Speical spells
                var specialSpells = SpecialSpellsDatabase.Current.Where(s => EntityManager.Heroes.Enemies.Any(h => s.Hero.Equals(h.Hero))).ToArray();
                if (specialSpells.Any())
                {
                    spellblock.AddSeparator(5);
                    spellblock.AddGroupLabel("Special Spells");
                    spellblock.CreateCheckBox("specialBlock", "Block Special Spells");
                    foreach (var s in specialSpells)
                    {
                        var display = s.MenuItemName;
                        if (!SpellBlocker.EnabledSpells.Any(x => x.SpellName.Equals(display)))
                        {
                            spellblock.AddLabel(display);
                            spellblock.CreateCheckBox($"enable{display}", "Enable", s.DangerLevel > 1);
                            spellblock.CreateCheckBox($"fast{display}", "Fast Block (Instant)", s.DangerLevel > 2);
                            spellblock.CreateSlider($"danger{display}", "Danger Level", s.DangerLevel, 1, 5);
                            enabledSpells.Add(new SpellBlocker.EnabledSpell(display));
                        }
                    }
                }
                #endregion Speical spells

                #region SkillShots
                var validskillshots =
                    SkillshotDatabase.Current.Where(s => (s.GameType.Equals(GameType.Normal) || s.GameType.Equals(Game.Type)) &&
                                                    EntityManager.Heroes.Enemies.Any(h => s.IsCasterName(Champion.Unknown) || s.IsCasterName(h.Hero))).OrderBy(s => s.CasterNames[0]);
                if (validskillshots.Any())
                {
                    spellblock.AddSeparator(5);
                    spellblock.AddGroupLabel("SkillShots");
                    spellblock.CreateCheckBox("skillshotBlock", "Block SkillShots");

                    foreach (var s in validskillshots)
                    {
                        var display = s.MenuItemName;
                        if (!SpellBlocker.EnabledSpells.Any(x => x.SpellName.Equals(display)))
                        {
                            spellblock.AddLabel(display);
                            spellblock.CreateCheckBox($"enable{display}", "Enable", s.DangerLevel > 1);
                            spellblock.CreateCheckBox($"fast{display}", "Fast Block (Instant)", s.FastEvade);
                            spellblock.CreateSlider($"danger{display}", "Danger Level", s.DangerLevel, 1, 5);
                            enabledSpells.Add(new SpellBlocker.EnabledSpell(display));
                        }
                    }
                }
                #endregion SkillShots

                SpellBlocker.EnabledSpells = enabledSpells.ToArray();

                #endregion evade

                #region laneclear

                LMenu = Program.GlobalMenu.AddSubMenu("Fiora: LaneClear");
                LMenu.CreateCheckBox("Eunk", "Use E On Unkillable Minions");
                LMenu.CreateCheckBox("ETurrets", "Use E Reset On Structures");
                LMenu.CreateCheckBox("EWard", "Use E Reset On Wards");
                LMenu.CreateSlider("ELaneMana", "E Mana Limit", 60);

                #endregion laneclear

                #region jungleclear

                JMenu = Program.GlobalMenu.AddSubMenu("Fiora: JungleClear");
                JMenu.CreateCheckBox("Ejung", "Use E");
                JMenu.CreateSlider("Ejungmana", "E Mana Limit", 60);

                #endregion

                #region Killsteal

                ksMenu = Program.GlobalMenu.AddSubMenu("Fiora: Killsteal");
                ksMenu.CreateCheckBox("Qks", "Use Q");
                ksMenu.CreateCheckBox("Wks", "Use W");

                #endregion Killsteal

                #region Misc

                MiscMenu = Program.GlobalMenu.AddSubMenu("Fiora: Misc");
                MiscMenu.CreateCheckBox("audio", "Play Audio");
                MiscMenu.AddGroupLabel("R Block list");
                foreach (var e in EntityManager.Heroes.Enemies)
                {
                    MiscMenu.CreateCheckBox(e.Name(), $"Dont R {e.Name()}", false);
                }

                #endregion Misc

                #region Drawing

                DMenu = Program.GlobalMenu.AddSubMenu("Fiora: Drawing");
                DMenu.CreateCheckBox("DrawQ", "Draw Q Range");
                DMenu.CreateCheckBox("DrawVitals", "Draw Vitals");
                DMenu.CreateCheckBox("DrawDamage", "Draw Damage On Enemies");

                #endregion Drawing
            }