Aka_s_Vayne.Logic.Mechanics.Insec C# (CSharp) Метод

Insec() публичный статический Метод

public static Insec ( ) : void
Результат void
        public static void Insec()
        {
            if (!Manager.MenuManager.InsecE) return;

            Orbwalker.OrbwalkTo(Game.CursorPos);
            var mode = (Manager.MenuManager.InsecPositions);
            var target = TargetSelector.GetTarget((int)Variables._Player.GetAutoAttackRange(),
            DamageType.Physical);
            if (target != null)
            {
                //var targetfuturepos = Prediction.GetPrediction(target, 0.1f).UnitPosition;
                bool caninsec = Variables._Player.Distance(target) <= 400;
                switch (mode)
                {
                    case 0:
                        var hero =
                            EntityManager.Heroes.Allies.Where(x => !x.IsMe && !x.IsDead)
                                .OrderByDescending(x => x.Distance(Variables._Player.Position))
                                .LastOrDefault();
                        if (hero != null && caninsec &&
                            Variables._Player.ServerPosition.Distance(hero.Position) + 100 >=
                            target.Distance(hero.Position))
                        {
                            var ePred = Manager.SpellManager.E2.GetPrediction(target);
                            int pushDist = 550;
                            for (int i = 0; i < pushDist; i += (int)target.BoundingRadius)
                            {
                                Vector3 loc3 =
                                    ePred.UnitPosition.To2D().Extend(GetFlashPos(target, true).To2D(), -i).To3D();
                                if (loc3.Distance(hero) < hero.Position.Distance(target))
                                {
                                    Variables._Player.Spellbook.CastSpell(Variables.FlashSlot, GetFlashPos(target, true));
                                    Manager.SpellManager.E.Cast(target);
                                }
                            }
                        }
                        break;
                    case 1:
                        var turret =
                            ObjectManager.Get<Obj_AI_Turret>()
                                .Where(x => x.IsAlly && !x.IsDead)
                                .OrderByDescending(x => x.Distance(Variables._Player.Position))
                                .LastOrDefault();
                        if (turret != null && caninsec &&
                            Variables._Player.ServerPosition.Distance(turret.Position) + 100 >=
                            target.Distance(turret.Position))
                        {
                            var ePred = Manager.SpellManager.E2.GetPrediction(target);
                            int pushDist = 550;
                            for (int i = 0; i < pushDist; i += (int)target.BoundingRadius)
                            {
                                Vector3 loc3 =
                                    ePred.UnitPosition.To2D().Extend(GetFlashPos(target, true).To2D(), -i).To3D();
                                if (loc3.Distance(turret) < turret.Position.Distance(target))
                                {
                                    Variables._Player.Spellbook.CastSpell(Variables.FlashSlot, GetFlashPos(target, true));
                                    Manager.SpellManager.E.Cast(target);
                                }
                            }
                        }
                        break;
                    case 2:
                        if (caninsec &&
                            Variables._Player.ServerPosition.Distance(Game.CursorPos) + 100 >=
                            target.Distance(Game.CursorPos))
                        {
                            var ePred = Manager.SpellManager.E2.GetPrediction(target);
                            int pushDist = 550;
                            for (int i = 0; i < pushDist; i += (int)target.BoundingRadius)
                            {
                                Vector3 loc3 =
                                    ePred.UnitPosition.To2D().Extend(GetFlashPos(target, true).To2D(), -i).To3D();
                                if (loc3.Distance(Game.CursorPos) < Game.CursorPos.Distance(target))
                                {
                                    Variables._Player.Spellbook.CastSpell(Variables.FlashSlot, GetFlashPos(target, true));
                                    Manager.SpellManager.E.Cast(target);
                                }
                            }
                        }
                        break;

                }
            }
        }