Ejemplo n.º 1
0
        private static void GameOnOnGameLoad(object sender, EventArgs args)
        {
            TextBold = new Font(Drawing.Direct3DDevice, new FontDescription
            {
                FaceName = "Impact", Height = 30, Weight = FontWeight.Normal, OutputPrecision = FontPrecision.Default, Quality = FontQuality.ClearType
            });

            enemySpawn = ObjectManager.Get <Obj_SpawnPoint>().FirstOrDefault(x => x.IsEnemy);
            Q          = new Spell(SpellSlot.Q);
            W          = new Spell(SpellSlot.W);
            E          = new Spell(SpellSlot.E);
            R          = new Spell(SpellSlot.R);

            Config = new Menu("OneKeyToWin AIO", "OneKeyToWin_AIO " + Player.CharacterName, true);

            #region MENU ABOUT OKTW

            var about = new Menu("aboutoktw", "About OKTW©");
            about.Add(new MenuBool("debug", "Debug"));
            about.Add(new MenuBool("debugChat", "Debug Chat"));
            about.Add(new Menu("0", "OneKeyToWin© by Sebby"));
            about.Add(new Menu("1", "visit joduska.me"));
            about.Add(new Menu("2", "DONATE: [email protected]"));
            about.Add(new MenuBool("print", "OKTW NEWS in chat", true));
            Config.Add(about);

            #endregion

            Config.Add(new MenuList <string>("AIOmode", "AIO mode", new[] { "Utility and Champion", "Only Champion", "Only Utility" }, Player.CharacterName)
            {
                Index = 0
            });

            AIOmode = Config.GetValue <MenuList <string> >("AIOmode").Index;

            if (AIOmode != 1)
            {
                var utilityDraws = new Menu("utilitydraws", "Utility, Draws OKTW©");
                var gankTimer    = new Menu("ganktimer", "GankTimer");
                gankTimer.Add(new MenuBool("enabled", "Enabled", true));
                gankTimer.Add(new Menu("1", "RED - be careful"));
                gankTimer.Add(new Menu("2", "ORANGE - you have time"));
                gankTimer.Add(new Menu("3", "GREEN - jungler visible"));
                gankTimer.Add(new Menu("4", "CYAN jungler dead - take objectives"));
                utilityDraws.Add(gankTimer);
                Config.Add(utilityDraws);
            }

            var predictionmode = new Menu("predictionmode", "Prediction Mode");
            predictionmode.Add(new MenuList <string>("Qpred", "Q Prediction MODE", new[] { "SDK", "OKTW© PREDICTION", "SPrediction press F5 if not loaded (outdated)", "Exory prediction" })
            {
                Index = 1
            });
            predictionmode.Add(new MenuList <string>("QHitChance", "Q Hit Chance", new[] { "Very High", "High", "Medium" }, Player.CharacterName)
            {
                Index = 0
            });
            predictionmode.Add(new MenuList <string>("Wpred", "W Prediction MODE", new[] { "SDK", "OKTW© PREDICTION", "SPrediction press F5 if not loaded (outdated)", "Exory prediction" })
            {
                Index = 1
            });
            predictionmode.Add(new MenuList <string>("WHitChance", "W Hit Chance", new[] { "Very High", "High", "Medium" }, Player.CharacterName)
            {
                Index = 0
            });
            predictionmode.Add(new MenuList <string>("Epred", "E Prediction MODE", new[] { "SDK", "OKTW© PREDICTION", "SPrediction press F5 if not loaded (outdated)", "Exory prediction" })
            {
                Index = 1
            });
            predictionmode.Add(new MenuList <string>("EHitChance", "E Hit Chance", new[] { "Very High", "High", "Medium" }, Player.CharacterName)
            {
                Index = 0
            });
            predictionmode.Add(new MenuList <string>("Rpred", "R Prediction MODE", new[] { "SDK", "OKTW© PREDICTION", "SPrediction press F5 if not loaded (outdated)", "Exory prediction" })
            {
                Index = 1
            });
            predictionmode.Add(new MenuList <string>("RHitChance", "R Hit Chance", new[] { "Very High", "High", "Medium" }, Player.CharacterName)
            {
                Index = 0
            });
            predictionmode.Add(new MenuBool("debugPred", "Draw Aiming OKTW© PREDICTION"));
            Config.Add(predictionmode);

            if (AIOmode != 2)
            {
                var extraSet = new Menu("extraSet", "Extra settings OKTW©");
                extraSet.Add(new MenuBool("supportMode", "Support Mode", false, Player.CharacterName));
                extraSet.Add(new MenuBool("comboDisableMode", "Disable auto-attack in combo mode", false, Player.CharacterName));
                extraSet.Add(new MenuBool("manaDisable", "Disable mana manager in combo", false, Player.CharacterName));
                extraSet.Add(new MenuBool("collAA", "Disable auto-attack if Yasuo wall collision", true, Player.CharacterName));
                extraSet.Add(new MenuBool("harassLaneclear", "Skill-Harass in lane clear", true));
                Config.Add(extraSet);
                extraSet.GetValue <MenuBool>("supportMode").Value = false;

                #region LOAD CHAMPIONS

                #endregion

                var player = Config[Player.CharacterName] as Menu;
                if (player == null)
                {
                    player = new Menu(Player.CharacterName, Player.CharacterName);
                    Config.Add(player);
                }
                var farm = player["farm"] as Menu;
                if (farm == null)
                {
                    farm = new Menu("farm", "Farm");
                    player.Add(farm);
                }
                var spellsfarmtoggle = new Menu("spellsfarmtoggle", "SPELLS FARM TOGGLE");
                spellsfarmtoggle.Add(new MenuBool("spellFarm", "OKTW spells farm", true));
                spellsfarmtoggle.Add(new MenuList <string>("spellFarmMode", "SPELLS FARM TOGGLE MODE", new[] { "Scroll down", "Scroll press", "Key toggle", "Disable" })
                {
                    Index = 1
                });
                spellsfarmtoggle.Add(new MenuKeyBind("spellFarmKeyToggle", "Key toggle", Keys.N, KeyBindType.Toggle));
                spellsfarmtoggle.Add(new MenuBool("showNot", "Show notification", true));
                farm.Add(spellsfarmtoggle);
                spellsfarmtoggle.GetValue <MenuBool>("spellFarm").Permashow(true);
            }

            foreach (var hero in GameObjects.EnemyHeroes)
            {
                if (IsJungler(hero))
                {
                    jungler = hero;
                }
            }

            if (AIOmode != 1)
            {
                new Core.Activator().LoadOKTW();
                new Core.AutoLvlUp().LoadOKTW();
                new Core.OKTWdraws().LoadOKTW();
                new Core.OKTWtracker().LoadOKTW();
                new Core.OKTWward().LoadOKTW();
            }


            Config.Add(new Menu("aiomodes", "!!! PRESS F5 TO RELOAD MODE !!!"));
            Config.Attach();

            Game.OnUpdate  += Game_OnUpdate;
            Game.OnWndProc += Game_OnWndProc;
            Drawing.OnDraw += Drawing_OnDraw;
            Variables.Orbwalker.OnAction += Orbwalker_OnAction;

            if (Config["aboutoktw"].GetValue <MenuBool>("print").Value)
            {
                Chat.PrintChat("<font size='30'>OneKeyToWin</font> <font color='#b756c5'>by Sebby</font>");
                Chat.PrintChat("<font color='#b756c5'>OKTW NEWS: </font>" + OktwNews);
            }
        }
Ejemplo n.º 2
0
        public void LoadOKTW()
        {
            var activator = new Menu("activator", "Activator OKTW©");

            #region Summoner

            var summoner = new Menu("summoner", "Summoners");

            var smite = new Menu("smite", "Smite");
            smite.Add(new MenuBool("SmiteEnemy", "Auto Smite enemy under 50% hp", true));
            smite.Add(new MenuBool("SmiteEnemyKS", "Auto Smite enemy KS", true));
            smite.Add(new MenuKeyBind("Smite", "Auto Smite mobs OKTW", Keys.N, KeyBindType.Toggle));
            smite.Add(new MenuBool("Rdragon", "Dragon", true, Player.CharacterName));
            smite.Add(new MenuBool("Rbaron", "Baron", true, Player.CharacterName));
            smite.Add(new MenuBool("Rherald", "Herald", true, Player.CharacterName));
            smite.Add(new MenuBool("Rred", "Red", true, Player.CharacterName));
            smite.Add(new MenuBool("Rblue", "Blue", true, Player.CharacterName));
            smite.GetValue <MenuKeyBind>("Smite").Permashow(true);
            summoner.Add(smite);

            var exhaust = new Menu("exhaust", "Exhaust");
            exhaust.Add(new MenuBool("Exhaust", "Exhaust", true));
            exhaust.Add(new MenuBool("Exhaust1", "Exhaust if Channeling Important Spell", true));
            exhaust.Add(new MenuBool("Exhaust2", "Always in combo"));
            summoner.Add(exhaust);

            var heal = new Menu("heal", "Heal");
            heal.Add(new MenuBool("Heal", "Heal", true));
            heal.Add(new MenuBool("AllyHeal", "AllyHeal", true));
            summoner.Add(heal);

            summoner.Add(new MenuBool("Barrier", "Barrier", true));
            summoner.Add(new MenuBool("Ignite", "Ignite", true));
            summoner.Add(new MenuBool("Cleanse", "Cleanse", true));

            activator.Add(summoner);

            #endregion

            activator.Add(new MenuBool("pots", "Potion, ManaPotion, Flask, Biscuit, Refillable, Hunter, Corrupting", true));

            #region Offensives

            var offensives = new Menu("offensives", "Offensives");

            var botrk = new Menu("botrk", "Botrk");
            botrk.Add(new MenuBool("Botrk", "Botrk", true));
            botrk.Add(new MenuBool("BotrkKS", "Botrk KS", true));
            botrk.Add(new MenuBool("BotrkCombo", "Botrk always in combo", true));
            offensives.Add(botrk);

            var cutlass = new Menu("cutlass", "Cutlass");
            cutlass.Add(new MenuBool("Cutlass", "Cutlass", true));
            cutlass.Add(new MenuBool("CutlassKS", "Cutlass KS", true));
            cutlass.Add(new MenuBool("CutlassCombo", "Cutlass always in combo", true));
            offensives.Add(cutlass);

            var hextech = new Menu("hextech", "Hextech");
            hextech.Add(new MenuBool("Hextech", "Hextech", true));
            hextech.Add(new MenuBool("HextechKS", "Hextech KS", true));
            hextech.Add(new MenuBool("HextechCombo", "Hextach always in combo", true));
            offensives.Add(hextech);

            var protobelt = new Menu("protobelt", "Protobelt");
            protobelt.Add(new MenuBool("Protobelt", "Protobelt", true));
            protobelt.Add(new MenuBool("ProtobeltKS", "Protobelt KS", true));
            protobelt.Add(new MenuBool("ProtobeltCombo", "Protobelt always in combo", true));
            offensives.Add(protobelt);

            var glp800 = new Menu("glp800", "GLP800");
            glp800.Add(new MenuBool("GLP800", "GLP800", true));
            glp800.Add(new MenuBool("GLP800KS", "GLP800 KS", true));
            glp800.Add(new MenuBool("GLP800Combo", "GLP800 always in combo", true));
            offensives.Add(glp800);

            var youmuus = new Menu("youmuus", "Youmuus");
            youmuus.Add(new MenuBool("Youmuus", "Youmuus", true));
            youmuus.Add(new MenuBool("YoumuusR", "TwitchR, AsheQ", true));
            youmuus.Add(new MenuBool("YoumuusKS", "Youmuus KS", true));
            youmuus.Add(new MenuBool("YoumuusCombo", "Youmuus always in combo"));
            offensives.Add(youmuus);

            var hydra = new Menu("hydra", "Hydra");
            hydra.Add(new MenuBool("Hydra", "Hydra", true));
            offensives.Add(hydra);

            var hydratitanic = new Menu("hydratitanic", "HydraTitanic");
            hydratitanic.Add(new MenuBool("HydraTitanic", "Hydra Titanic", true));
            offensives.Add(hydratitanic);

            activator.Add(offensives);

            #endregion

            #region Defensive

            var defensives = new Menu("defensives", "Defensives");

            defensives.Add(new MenuBool("Randuin", "Randuin", true));

            var zhonya = new Menu("zhonya", "Zhonya");
            zhonya.Add(new MenuBool("Zhonya", "Zhonya", true));
            foreach (var enemy in GameObjects.EnemyHeroes)
            {
                var spell = enemy.Spellbook.Spells[3];
                zhonya.Add(new MenuBool("spellZ" + spell.SData.Name, enemy.CharacterName + ": " + spell.Name, spell.SData.TargettingType == SpellDataTargetType.Unit));
            }
            defensives.Add(zhonya);

            defensives.Add(new MenuBool("Seraph", "Seraph", true));
            defensives.Add(new MenuBool("Solari", "Solari", true));

            activator.Add(defensives);

            #endregion

            #region Cleansers

            var cleansers = new Menu("cleansers", "Cleansers");

            cleansers.Add(new MenuBool("Clean", "Quicksilver, Miskaels, Mercurial, Dervish", true));

            var mikaelsally = new Menu("Mikaelsallys", "Mikaels allys");
            foreach (var ally in GameObjects.AllyHeroes)
            {
                mikaelsally.Add(new MenuBool("MikaelsAlly" + ally.CharacterName, ally.CharacterName, true));
            }
            cleansers.Add(mikaelsally);

            cleansers.Add(new MenuSlider("CSSdelay", "Delay x ms", 0, 0, 1000));
            cleansers.Add(new MenuSlider("cleanHP", "Use only under % HP", 80, 0, 100));

            var bufftype = new Menu("bufftype", "Buff type");
            bufftype.Add(new MenuBool("Stun", "Stun", true));
            bufftype.Add(new MenuBool("Snare", "Snare", true));
            bufftype.Add(new MenuBool("Charm", "Charm", true));
            bufftype.Add(new MenuBool("Flee", "Flee", true));
            bufftype.Add(new MenuBool("Suppression", "Suppression", true));
            bufftype.Add(new MenuBool("Taunt", "Taunt", true));
            bufftype.Add(new MenuBool("Blind", "Blind", true));
            cleansers.Add(bufftype);

            activator.Add(cleansers);

            #endregion

            Config.Add(activator);

            Game.OnUpdate                += Game_OnUpdate;
            Spellbook.OnCastSpell        += Spellbook_OnCastSpell;
            AIBaseClient.OnDoCast        += AIBaseClient_OnDoCast;
            Variables.Orbwalker.OnAction += Orbwalker_OnAction;
        }
Ejemplo n.º 3
0
        public static void CreateMenu()
        {
            Menu = new Menu("Evade", "Evade#", true);

            // Create the evade spells submenus.
            evadeSpells = new Menu("evadeSpells", "Evade spells");
            foreach (var spell in EvadeSpellDatabase.Spells)
            {
                var subMenu = new Menu(spell.Name, spell.Name);

                subMenu.Add(new MenuSlider("DangerLevel" + spell.Name, "Danger level", spell.DangerLevel, 1, 5));

                if (spell.IsTargetted && spell.ValidTargets.Contains(SpellValidTargets.AllyWards))
                {
                    subMenu.Add(new MenuBool("WardJump" + spell.Name, "WardJump", true));
                }

                subMenu.Add(new MenuBool("Enabled" + spell.Name, "Enabled", true));

                evadeSpells.Add(subMenu);
            }
            Menu.Add(evadeSpells);

            // Create the skillshots submenus.
            skillShots = new Menu("Skillshots", "Skillshots");
            foreach (var hero in GameObjects.Heroes)
            {
                if (hero.Team != ObjectManager.Player.Team || TestOnAllies)
                {
                    foreach (var spell in SpellDatabase.Spells)
                    {
                        if (String.Equals(spell.ChampionName, hero.CharacterName, StringComparison.InvariantCultureIgnoreCase))
                        {
                            var subMenu = new Menu(spell.MenuItemName, spell.MenuItemName);

                            subMenu.Add(new MenuSlider("DangerLevel" + spell.MenuItemName, "Danger level", spell.DangerValue, 1, 5));
                            subMenu.Add(new MenuBool("IsDangerous" + spell.MenuItemName, "Is Dangerous", spell.IsDangerous));
                            subMenu.Add(new MenuBool("Draw" + spell.MenuItemName, "Draw", true));
                            subMenu.Add(new MenuBool("Enabled" + spell.MenuItemName, "Enabled", !spell.DisabledByDefault));

                            skillShots.Add(subMenu);
                        }
                    }
                }
            }
            Menu.Add(skillShots);

            shielding = new Menu("Shielding", "Ally shielding");
            foreach (var ally in GameObjects.AllyHeroes)
            {
                if (!ally.IsMe)
                {
                    shielding.Add(new MenuBool("shield" + ally.CharacterName, "Shield " + ally.CharacterName, true));
                }
            }
            Menu.Add(shielding);

            collision = new Menu("Collision", "Collision");
            collision.Add(new MenuBool("MinionCollision", "Minion collision", false));
            collision.Add(new MenuBool("HeroCollision", "Hero collision", false));
            collision.Add(new MenuBool("YasuoCollision", "Yasuo wall collision", true));
            collision.Add(new MenuBool("EnableCollision", "Enabled", false));
            Menu.Add(collision);

            drawings = new Menu("Drawings", "Drawings");
            drawings.Add(new MenuColor("EnabledColor", "Enabled spell color", Color.White));
            drawings.Add(new MenuColor("DisabledColor", "Disabled spell color", Color.Red));
            drawings.Add(new MenuColor("MissileColor", "Missile color", Color.LimeGreen));
            drawings.Add(new MenuSlider("Border", "Border Width", 2, 1, 5));
            drawings.Add(new MenuBool("EnableDrawings", "Enabled", true));
            Menu.Add(drawings);

            misc = new Menu("Misc", "Misc");
            misc.Add(new MenuList <string>("BlockSpells", "Block spells while evading", new[] { "No", "Only dangerous", "Always" })
            {
                Index = 1
            });
            misc.Add(new MenuBool("DisableFow", "Disable fog of war dodging", false));
            misc.Add(new MenuBool("ShowEvadeStatus", "Show Evade Status", false));
            if (ObjectManager.Player.Hero == Champion.Olaf)
            {
                misc.Add(new MenuBool("DisableEvadeForOlafR", "Automatic disable Evade when Olaf's ulti is active!", true));
            }
            Menu.Add(misc);

            Menu.Add(new MenuKeyBind("Enabled", "Enabled", Keys.K, KeyBindType.Toggle)
            {
                Active = true
            }).Permashow(true, "Evade");
            Menu.Add(new MenuKeyBind("OnlyDangerous", "Dodge only dangerous", Keys.Space, KeyBindType.Press)).Permashow();

            Menu.Attach();
        }
Ejemplo n.º 4
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="Orbwalker" /> class.
        /// </summary>
        /// <param name="menu">The menu.</param>
        internal Orbwalker(Menu menu)
        {
            var drawing = new Menu("drawings", "Drawings");

            drawing.Add(new MenuBool("drawAARange", "Auto-Attack Range", true));
            drawing.Add(new MenuBool("drawAARangeEnemy", "Auto-Attack Range Enemy"));
            drawing.Add(new MenuBool("drawExtraHoldPosition", "Extra Hold Position"));
            drawing.Add(new MenuBool("drawKillableMinion", "Killable Minions"));
            drawing.Add(new MenuBool("drawKillableMinionFade", "Killable Minions Fade Effect"));
            this.Menu.Add(drawing);

            var advanced = new Menu("advanced", "Advanced");

            advanced.Add(new MenuSeparator("separatorMovement", "Movement"));
            advanced.Add(new MenuBool("movementRandomize", "Randomize Location", true));
            advanced.Add(new MenuSlider("movementExtraHold", "Extra Hold Position", 0, 0, 250));
            advanced.Add(new MenuSlider("movementMaximumDistance", "Maximum Distance", 1500, 500, 1500));

            advanced.Add(new MenuSeparator("separatorDelay", "Delay"));
            advanced.Add(new MenuSlider("delayMovement", "Movement", 0, 0, 500));
            advanced.Add(new MenuSlider("delayWindup", "Windup", 80, 0, 200));
            advanced.Add(new MenuSlider("delayFarm", "Farm", 30, 0, 200));

            advanced.Add(new MenuSeparator("separatorPrioritization", "Prioritization"));
            advanced.Add(new MenuBool("prioritizeFarm", "Farm Over Harass", true));
            advanced.Add(new MenuBool("prioritizeMinions", "Minions Over Objectives"));
            advanced.Add(new MenuBool("prioritizeSmallJungle", "Small Jungle"));
            advanced.Add(new MenuBool("prioritizeWards", "Wards"));
            advanced.Add(new MenuBool("prioritizeSpecialMinions", "Special Minions"));

            advanced.Add(new MenuSeparator("separatorAttack", "Attack"));
            advanced.Add(new MenuBool("attackWards", "Wards"));
            advanced.Add(new MenuBool("attackBarrels", "Barrels"));
            advanced.Add(new MenuBool("attackClones", "Clones"));
            advanced.Add(new MenuBool("attackSpecialMinions", "Special Minions", true));

            advanced.Add(new MenuSeparator("separatorMisc", "Miscellaneous"));
            advanced.Add(new MenuBool("miscMissile", "Use Missile Checks", true));
            advanced.Add(new MenuBool("miscAttackSpeed", "Don't Kite if Attack Speed > 2.5", true));

            this.Menu.Add(advanced);

            this.Menu.Add(new MenuSeparator("separatorKeys", "Key Bindings"));
            this.Menu.Add(new MenuKeyBind("lasthitKey", "Last Hit", Keys.X, KeyBindType.Press));
            this.Menu.Add(new MenuKeyBind("laneclearKey", "Lane Clear", Keys.V, KeyBindType.Press));
            this.Menu.Add(new MenuKeyBind("hybridKey", "Hybrid", Keys.C, KeyBindType.Press));
            this.Menu.Add(new MenuKeyBind("comboKey", "Combo", Keys.Space, KeyBindType.Press));
            this.Menu.Add(new MenuBool("enabledOption", "Enabled", true));

            this.Menu.MenuValueChanged += (sender, args) =>
            {
                var keyBind = sender as MenuKeyBind;
                if (keyBind != null)
                {
                    var            modeName = keyBind.Name.Substring(0, keyBind.Name.IndexOf("Key", StringComparison.Ordinal));
                    OrbwalkingMode mode;
                    this.ActiveMode = Enum.TryParse(modeName, true, out mode)
                                              ? keyBind.Active
                                                    ? mode
                                                    : mode == this.ActiveMode
                                                          ? this.Menu["lasthitKey"].GetValue <MenuKeyBind>().Active
                                                                ? OrbwalkingMode.LastHit
                                                                : this.Menu["laneclearKey"].GetValue <MenuKeyBind>()
                                      .Active
                                                                      ? OrbwalkingMode.LaneClear
                                                                      : this.Menu["hybridKey"].GetValue <MenuKeyBind>()
                                      .Active
                                                                            ? OrbwalkingMode.Hybrid
                                                                            : this.Menu["comboKey"]
                                      .GetValue <MenuKeyBind>().Active
                                                                                  ? OrbwalkingMode.Combo
                                                                                  : OrbwalkingMode.None
                                                          : this.ActiveMode
                                              : this.ActiveMode;
                }

                var boolean = sender as MenuBool;
                if (boolean != null)
                {
                    if (boolean.Name.Equals("enabledOption"))
                    {
                        this.Enabled = boolean.Value;
                    }
                }
            };

            menu.Add(this.Menu);
            this.Selector = new OrbwalkerSelector(this);
            this.Enabled  = this.Menu["enabledOption"].GetValue <MenuBool>().Value;
        }
Ejemplo n.º 5
0
        /// <inheritdoc />
        public void AddToMenu(Menu tsMenu)
        {
            this.menu = tsMenu;

            this.weightsMenu = new Menu("weights", "Weights");

            var heroPercentMenu = new Menu("heroPercentage", "Hero Percentage");

            foreach (var enemy in GameObjects.EnemyHeroes)
            {
                heroPercentMenu.Add(
                    new MenuSlider(
                        enemy.CharacterName,
                        enemy.CharacterName,
                        DefaultPercentage,
                        MinPercentage,
                        MaxPercentage));
            }

            this.weightsMenu.Add(heroPercentMenu);

            this.weightsMenu.Add(
                new MenuButton("export", "Export to Clipboard", "Export")
            {
                Action = this.ExportSettings
            });
            this.weightsMenu.Add(
                new MenuButton("import", "Import from Clipboard", "Import")
            {
                Action = this.ImportSettings
            });
            this.weightsMenu.Add(new MenuButton("reset", "Reset to Default", "Reset")
            {
                Action = this.ResetSettings
            });

            foreach (var weight in this.pItems)
            {
                this.weightsMenu.Add(
                    new MenuSlider(
                        weight.Name,
                        weight.DisplayName,
                        Math.Min(MaxWeight, Math.Max(MinWeight, weight.Weight)),
                        MinWeight,
                        MaxWeight));
            }

            this.weightsMenu.MenuValueChanged += (sender, args) =>
            {
                var slider = sender as MenuSlider;
                if (slider != null)
                {
                    foreach (var weight in this.pItems.Where(weight => slider.Name.Equals(weight.Name)))
                    {
                        weight.Weight = slider.Value;
                    }
                }
            };

            this.menu.Add(this.weightsMenu);

            foreach (var weight in this.pItems)
            {
                weight.Weight = this.weightsMenu[weight.Name].GetValue <MenuSlider>().Value;
            }

            foreach (var enemy in GameObjects.EnemyHeroes)
            {
                this.weightsMenu["heroPercentage"][enemy.CharacterName].GetValue <MenuSlider>().Value = DefaultPercentage;
            }
        }