private void Game_OnGameLoad(EventArgs args)
{
ConsoleDebug.WriteLineColor("Loading...", ConsoleColor.Blue, true);
try
{
Menu = MainMenu.AddMenu("AdEvade", "AdEvade");
ConsoleDebug.WriteLineColor(" Creating Menu...", ConsoleColor.Yellow, true);
Menu.AddGroupLabel("AdEvade (EzEvade Port)");
Menu.AddLabel("Please report any bugs or anything you think is a ");
Menu.AddLabel("problem / issue, on the GitHub Issues Section, or with a reply to the AdEvade forum thread.");
Menu.Add("OpenGithub", new CheckBox("Open Github's Issues Section in browser", false)).OnValueChange +=
delegate(ValueBase<bool> sender, ValueBase<bool>.ValueChangeArgs changeArgs)
{
if (changeArgs.OldValue == false && changeArgs.NewValue)
{
sender.CurrentValue = false;
Process.Start(@"https://github.com/coman3/EloBuddy.Addons/issues");
}
};
Menu.AddLabel("All Credit for the actual evading (Movement and detection) in this assembly ");
Menu.AddLabel("goes to the creator of EzEvade.");
Menu.AddSeparator(100);
Menu.AddLabel("Created By: Coman3");
Menu.AddLabel(" Github: https://github.com/coman3/");
Menu.Add("OpenGithubComan3", new CheckBox("Open Coman3's Github in Browser", false)).OnValueChange +=
delegate (ValueBase<bool> sender, ValueBase<bool>.ValueChangeArgs changeArgs)
{
if (changeArgs.OldValue == false && changeArgs.NewValue)
{
sender.CurrentValue = false;
Process.Start(@"https://github.com/coman3/");
}
};
Menu.AddLabel("Last Update: " + LastUpdate);
Menu mainMenu = Menu.AddSubMenu("Main", "Main");
mainMenu.Add(new DynamicKeyBind(ConfigValue.DodgeSkillShots, "Dodge SkillShots", true, KeyBind.BindTypes.PressToggle, 'K'));
mainMenu.Add(new DynamicKeyBind(ConfigValue.ActivateEvadeSpells, "Use Evade Spells", true, KeyBind.BindTypes.PressToggle, 'K'));
mainMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.OnlyDodgeDangerous, "Dodge Only Dangerous", false));
mainMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.DodgeFowSpells, "Dodge FOW SkillShots", true));
mainMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.DodgeCircularSpells, "Dodge Circular SkillShots", true));
mainMenu.AddSeparator();
mainMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.DodgeDangerousKeysEnabled, "Enable Dodge Only Dangerous Keys", false));
mainMenu.Add(new DynamicKeyBind(ConfigValue.DodgeDangerousKey1, "Dodge Only Dangerous Key", false, KeyBind.BindTypes.HoldActive, 32));
mainMenu.Add(new DynamicKeyBind(ConfigValue.DodgeDangerousKey2, "Dodge Only Dangerous Key 2", false, KeyBind.BindTypes.HoldActive, 'V'));
mainMenu.AddSeparator();
mainMenu.Add(new DynamicComboBox(ConfigDataType.Data, ConfigValue.EvadeMode, "Evade Mode", 1, Enum.GetNames(typeof(EvadeMode))));
ConsoleDebug.WriteLineColor(" Detecting Spells...", ConsoleColor.Yellow, true);
SpellDetector = new SpellDetector(Menu);
_evadeSpell = new EvadeSpell(Menu);
ConsoleDebug.WriteLineColor(" Adding Humanizer and Miscellaneous Menus...", ConsoleColor.Yellow, true);
Menu miscMenu = Menu.AddSubMenu("Misc Settings", "MiscSettings");
miscMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.HighPrecision, "Enhanced Dodge Precision", false));
miscMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.RecalculatePath, "Recalculate Path", true));
miscMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.ContinueMovement, "Continue Last Movement", true));
miscMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.CalculateWindupDelay, "Calculate Windup Delay", true));
miscMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.CheckSpellCollision, "Check Spell Collision", false));
miscMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.PreventDodgingUnderTower, "Prevent Dodging Under Tower", false));
miscMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.PreventDodgingNearEnemy, "Prevent Dodging Near Enemies", false));
miscMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.AdvancedSpellDetection, "Advanced Spell Detection", false));
miscMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.ExtraDetectionRange, "Extra Detection Range", 1000, 500, 5000));
//TODO: Add Reset
//miscMenu.AddSeparator(100);
//miscMenu.AddGroupLabel("Reset");
//miscMenu.Add("ResetConfig", new DynamicCheckBox(ConfigDataType.Data, "ResetConfig", "Reset Properties", false).CheckBox);
Menu fastEvadeMenu = Menu.AddSubMenu("Fast Evade", "FastEvade");
fastEvadeMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.FastMovementBlock, "Fast Movement Block", false));
fastEvadeMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.FastEvadeActivationTime, "FastEvade Activation Time", 65, 0, 500));
fastEvadeMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.SpellActivationTime, "Spell Activation Time", 200, 0, 1000));
fastEvadeMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.RejectMinDistance, "Collision Distance Buffer", 10, 0, 100));
Menu limiterMenu = Menu.AddSubMenu("Humanizer", "Limiter");
limiterMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.ClickOnlyOnce, "Click Only Once", true));
limiterMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.EnableEvadeDistance, "Extended Evade", false));
limiterMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.TickLimiter, "Tick Limiter", 100, 0, 500));
limiterMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.SpellDetectionTime, "Spell Detection Time", 0, 0, 1000));
limiterMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.ReactionTime, "Reaction Time", 0, 0, 500));
limiterMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.DodgeInterval, "Dodge Interval", 0, 0, 2000));
Menu randomizerMenu = Menu.AddSubMenu("Randomizer", "Randomizer");
randomizerMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.EnableRandomizer, "Enable", false));
randomizerMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.DrawBlockedRandomizerSpells, "Draw Blocked Spells", true));
randomizerMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.RandomizerPercentage, "Accuracy", 80, 0, 100));
randomizerMenu.Add(new DynamicComboBox(ConfigDataType.Data, ConfigValue.RandomizerMaxDangerLevel, "Maximum Danger Level", (int)SpellDangerLevel.High, Enum.GetNames(typeof(SpellDangerLevel))));
Menu bufferMenu = Menu.AddSubMenu("Adv. Humanizer", "ExtraBuffers");
bufferMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.ExtraPingBuffer, "Extra Ping Buffer", 65, 0, 200));
bufferMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.ExtraCpaDistance, "Extra Collision Distance", 10, 0, 150));
bufferMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.ExtraSpellRadius, "Extra Spell Radius", 0, 0, 100));
bufferMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.ExtraEvadeDistance, "Extra Evade Distance", 100, 0, 300));
//bufferMenu.Add(ConfigValue.ExtraSpellRadius.Name(), new DynamicSlider(ConfigDataType.Data, ConfigValue.ExtraSpellRadius, "Extra Avoid Distance", 50, 0, 300).Slider);
bufferMenu.Add(new DynamicSlider(ConfigDataType.Data, ConfigValue.MinimumComfortZone, "Minimum Distance to Champions", 550, 0, 1000));
Menu debugMenu = Menu.AddSubMenu("Debug", "DebugMenu");
debugMenu.AddGroupLabel("Debug");
debugMenu.Add(new DynamicCheckBox(ConfigDataType.Data, ConfigValue.ShowDebugInfo, "Show Debug Info (Console)", false)).OnValueChange +=
(sender, changeArgs) =>
{
ConsoleDebug.Enabled = sender.CurrentValue;
};
debugMenu.AddSeparator();
_spellDrawer = new SpellDrawer(Menu);
ConsoleDebug.WriteLineColor(" Hooking Events...", ConsoleColor.Yellow, true);
Player.OnIssueOrder += Game_OnIssueOrder;
Spellbook.OnCastSpell += Game_OnCastSpell;
Game.OnUpdate += Game_OnGameUpdate;
ConsoleDebug.WriteLineColor(" Loading Spells...", ConsoleColor.Yellow, true);
SpellDetector.LoadSpellDictionary();
SpellDetector.InitChannelSpells();
AIHeroClient.OnProcessSpellCast += Game_OnProcessSpell;
Game.OnEnd += Game_OnGameEnd;
SpellDetector.OnProcessDetectedSpells += SpellDetector_OnProcessDetectedSpells;
Orbwalker.OnPreAttack += Orbwalking_BeforeAttack;
ConsoleDebug.WriteLineColor(" Setting Loaded Presets Values...", ConsoleColor.Yellow, true);
}
catch (Exception e)
{
ConsoleDebug.WriteLineColor(e, ConsoleColor.Red, true);
}
ConsoleDebug.WriteLineColor("Successfully Loaded!", ConsoleColor.Green, true);
}