public Evader(out Menu _evade, EvadeMethods method = EvadeMethods.None, Spell spl = null) { SpecialMethod = method; EvadeSpell = spl; evade = new Menu("(E) Evader", "(E) Evader"); foreach (var enemy in HeroManager.Enemies) { foreach (var spell in SpellDatabase.EvadeableSpells.Where(p => p.ChampionName == enemy.ChampionName && p.EvadeMethods.HasFlag(method))) evade.AddItem(new MenuItem(spell.SpellName, String.Format("{0} ({1})", spell.ChampionName, spell.Slot)).SetValue(true)); } evade.AddItem(new MenuItem("EVADEMETHOD", "Evade Method: ").SetValue(new StringList(new[] { "Near Turret", "Less Enemies", "Auto" }, 2))); evade.AddItem(new MenuItem("EVADEENABLE", "Enabled").SetValue(false)); if (method.HasFlag(EvadeMethods.MorganaE) || method.HasFlag(EvadeMethods.KayleR)) { shieldAlly = new Menu("Ally Shielding", "allyshield"); foreach (var ally in HeroManager.Allies) if(!ally.IsMe) shieldAlly.AddItem(new MenuItem("shield" + ally.ChampionName, "Shield " + ally.ChampionName).SetValue(true)); shieldAlly.AddItem(new MenuItem("SHIELDENABLED", "Enabled").SetValue(true)); evade.AddSubMenu(shieldAlly); } _evade = evade; m_evade_thread = new Thread(new ThreadStart(EvadeThread)); m_evade_thread.Start(); Game.OnUpdate += Game_OnUpdate; Obj_AI_Base.OnProcessSpellCast += Obj_AI_Base_OnProcessSpellCast; Game.PrintChat("<font color='#ff3232'>HikiCarry Ekko: </font><font color='#d4d4d4'>Evader loaded! You can rekt everyone with this assembly!</font>"); }
public Evader(out Menu _evade, EvadeMethods method = EvadeMethods.None, Spell spl = null) { SpecialMethod = method; EvadeSpell = spl; evade = new Menu("Evade Settings", "Evade Settings"); foreach (var enemy in HeroManager.Enemies) { foreach (var spell in SpellDatabase.EvadeableSpells.Where(p => p.ChampionName == enemy.ChampionName && p.EvadeMethods.HasFlag(method))) evade.AddItem(new MenuItem(spell.SpellName, String.Format("{0} ({1})", spell.ChampionName, spell.Slot)).SetValue(true)); } evade.AddItem(new MenuItem("EVADEMETHOD", "Evade Method: ").SetValue(new StringList(new[] { "Near Turret", "Less Enemies", "Auto" }, 2))); evade.AddItem(new MenuItem("EVADEENABLE", "Enabled").SetValue(false)); if (method.HasFlag(EvadeMethods.MorganaE) || method.HasFlag(EvadeMethods.KayleR)) { shieldAlly = new Menu("Ally Shielding", "allyshield"); foreach (var ally in HeroManager.Allies) if(!ally.IsMe) shieldAlly.AddItem(new MenuItem("shield" + ally.ChampionName, "Shield " + ally.ChampionName).SetValue(true)); shieldAlly.AddItem(new MenuItem("SHIELDENABLED", "Enabled").SetValue(true)); evade.AddSubMenu(shieldAlly); } _evade = evade; m_evade_thread = new Thread(new ThreadStart(EvadeThread)); m_evade_thread.Start(); Game.OnUpdate += Game_OnUpdate; Obj_AI_Base.OnProcessSpellCast += Obj_AI_Base_OnProcessSpellCast; Game.PrintChat("<font color='#ff3232'>Hikigaya Lee Sin: </font><font color='#d4d4d4'>Evader loaded! Be Gripex or Dandy or Insec ! Yes Its Possible </font>", ObjectManager.Player.ChampionName); Game.PrintChat(string.Format("<font color='#ff3232'>Hikigaya Lee Sin - </font><font color='#d4d4d4'>Assembly Version: </font><font color='#ff3232'><b>{0}</b></font> ", typeof(Program).Assembly.GetName().Version)); }
/// <summary> /// The callback when called spell hit detected /// </summary> /// <param name="direction">The skillshot direction.</param> /// <param name="target">The target.</param> public void OnSpellHitDetected(Vector2 direction, AIHeroClient target) { EvadeData edata; Vector2 evade_direction = direction.Perpendicular(); Vector2 evade_pos = ObjectManager.Player.ServerPosition.To2D() + evade_direction * EvadeSpell.Range; bool position_needed = SpecialMethod.HasFlag(EvadeMethods.Dash) || SpecialMethod.HasFlag(EvadeMethods.Blink); if (position_needed) { switch (getSliderItem("EVADEMETHOD")) { case 0: //near turret CorrectNearTurret(ref evade_pos, evade_direction); break; case 1: //less enemies CorrectLessEnemies(ref evade_pos, evade_direction); break; case 2: //both if (!CorrectLessEnemies(ref evade_pos, evade_direction)) { CorrectNearTurret(ref evade_pos, evade_direction); } break; } } edata = new EvadeData (evade_pos, ObjectManager.Player.CharData.BaseSkinName == "Morgana" || ObjectManager.Player.CharData.BaseSkinName == "Lissandra", ObjectManager.Player.CharData.BaseSkinName == "Sivir" || ObjectManager.Player.CharData.BaseSkinName == "Nocturne" || ObjectManager.Player.CharData.BaseSkinName == "Vladimir", target); m_evade_queue.Enqueue(edata); }
public void OnSpellHitDetected(Vector2 direction, Obj_AI_Base target) { EvadeData edata; Vector2 evade_direction = direction.Perpendicular(); Vector2 evade_pos = ObjectManager.Player.ServerPosition.To2D() + evade_direction * EvadeSpell.Range; bool position_needed = !(SpecialMethod.HasFlag(EvadeMethods.MorganaE) || SpecialMethod.HasFlag(EvadeMethods.LissandraR) || SpecialMethod.HasFlag(EvadeMethods.KayleR) || SpecialMethod.HasFlag(EvadeMethods.SivirE) || SpecialMethod.HasFlag(EvadeMethods.NocturneW) || SpecialMethod.HasFlag(EvadeMethods.VladimirW)); if (position_needed) { switch (evade.Item("EVADEMETHOD").GetValue <StringList>().SelectedIndex) { case 0: //near turret CorrectNearTurret(ref evade_pos, evade_direction); break; case 1: //less enemies CorrectLessEnemies(ref evade_pos, evade_direction); break; case 2: //both if (!CorrectLessEnemies(ref evade_pos, evade_direction)) { CorrectNearTurret(ref evade_pos, evade_direction); } break; } } edata = new EvadeData (evade_pos, SpecialMethod.HasFlag(EvadeMethods.MorganaE) || SpecialMethod.HasFlag(EvadeMethods.LissandraR) || SpecialMethod.HasFlag(EvadeMethods.KayleR), SpecialMethod.HasFlag(EvadeMethods.SivirE) || SpecialMethod.HasFlag(EvadeMethods.NocturneW) || SpecialMethod.HasFlag(EvadeMethods.VladimirW), target); m_evade_queue.Enqueue(edata); }