public static Vector3 DashPos(AIHeroClient target) { Vector3 pos = new Vector3(); switch (MenuValue.DashLogic.RLogicValue) { case 0: { pos = player.Position.Extend(Game.CursorPos, R.Range).To3DWorld(); } break; case 1: { var Path = player.Position.CirclesIntersection(R.Range, target.Position, R.Radius - 100); if (MenuValue.DashLogic.TryE) { var location = Path.OrderBy(x => x.Distance(Game.CursorPos)).FirstOrDefault(x => VectorHelper.Linear_Collision_Point(x.To3DWorld(), target.Position, E.Range, E.Width, E.Speed, E.CastDelay) == Vector2.Zero); pos = location.To3DWorld(); } else { pos = Path.OrderBy(x => x.Distance(Game.CursorPos)).FirstOrDefault().To3DWorld(); } } break; case 2: { pos = player.Position.Extend(target.Position, R.Range).To3DWorld(); } break; } return(CheckDangerous(pos, target.BrainIsCharged(), target.IsKillable(SpellSlot.R))); }