예제 #1
0
        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>");
        }
예제 #2
0
        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));
        }
예제 #3
0
        /// <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);
        }
예제 #4
0
파일: Evader.cs 프로젝트: wade1990/PortAIO
        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);
        }