public static bool UseEkkoE2(EvadeSpellData evadeSpell, bool process = true) { if (MyHero.HasBuff("ekkoeattackbuff")) { var posInfo = EvadeHelper.GetBestPositionTargetedDash(evadeSpell); if (posInfo != null && posInfo.Target != null) { EvadeSpell.CastEvadeSpell(() => EvadeCommand.Attack(evadeSpell, posInfo.Target), process); //DelayAction.Add(50, () => myHero.IssueOrder(GameObjectOrder.MoveTo, posInfo.position.To3D())); return(true); } } return(false); }
public static bool UseEkkoR(EvadeSpellData evadeSpell, bool process = true) { foreach (var obj in ObjectManager.Get <Obj_AI_Minion>()) { if (obj != null && obj.IsValid && !obj.IsDead && obj.Name == "Ekko" && obj.IsAlly) { Vector2 blinkPos = obj.ServerPosition.To2D(); if (!blinkPos.CheckDangerousPos(10)) { EvadeSpell.CastEvadeSpell(() => EvadeCommand.CastSpell(evadeSpell), process); //DelayAction.Add(50, () => myHero.IssueOrder(GameObjectOrder.MoveTo, posInfo.position.To3D())); return(true); } } } return(false); }
private void Game_OnGameLoad(EventArgs args) { ConsoleDebug.WriteLineColor("Loading...", ConsoleColor.Blue, true); try { Menu = MainMenu.AddMenu("Evade", "Evade"); ConsoleDebug.WriteLineColor(" Creating Menu...", ConsoleColor.Yellow, true); Menu.AddGroupLabel("Evade (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 Evade 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", false)); 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", 3, 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", true)); 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", 200, 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", 100, 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", 10, 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", 300, 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); }