protected Base() { ObjConstants = new Constants(); ObjHeroes = new Heroes(); ObjMinions = new Minions(); ObjTurrets = new Turrets(); Menu = new Menu("AIM", "AIM", true); //AIM Settings Menu.AddItem(new MenuItem("Enabled", "Enabled").SetValue(new KeyBind(32, KeyBindType.Toggle))); Menu.AddItem(new MenuItem("LowHealth", "Self Low Health %").SetValue(new Slider(20, 10, 50))); Menu.AddItem(new MenuItem("autobounds", "AUTO SET MIN MAX(turn off to manually set)").SetValue(true)); Menu.AddItem(new MenuItem("MinDist", "Min Dist ").SetValue(new Slider(100, -500, 1000))); Menu.AddItem(new MenuItem("MaxDist", "Max Dist ").SetValue(new Slider(300, -500, 1000))); //Humanizer var move = Menu.AddSubMenu(new Menu("Humanizer", "humanizer")); move.AddItem(new MenuItem("MovementEnabled", "Enabled").SetValue(true)); move.AddItem(new MenuItem("MovementDelay", "Movement Delay")).SetValue(new Slider(400, 0, 5000)); Menu.AddToMainMenu(); Console.WriteLine("Menu Init Success!"); ObjHQ = new HQ(); Orbwalker = Menu.AddSubMenu(new Menu("Orbwalker", "Orbwalker")); OrbW = new Orbwalking.Orbwalker(Orbwalker); Obj_AI_Base.OnIssueOrder += Obj_AI_Base_OnIssueOrder; }
/// <summary> /// Returns a random position in the team zone or the position of the ally champion farthest from base /// </summary> internal static Vector2 GetPos() { //Game.PrintChat("TeamFightGetPos"); if (Game.MapId == GameMapId.HowlingAbyss) { var allyZonePathList = Util.AllyZone().OrderBy(p => Randoms.Rand.Next()).FirstOrDefault(); var allyZoneVectorList = new List<Vector2>(); //create vectors from points and remove walls foreach (var point in allyZonePathList) { var v2 = new Vector2(point.X, point.Y); if (!v2.IsWall()) { allyZoneVectorList.Add(v2); } } var pointClosestToEnemyHQ = allyZoneVectorList.OrderBy(p => p.Distance(HQ.EnemyHQ.Position)).FirstOrDefault(); var zz = new Constants(); int minNum = 250; int maxNum = 600; var closestEnemy = Utils.GetEnemyPosList().OrderByDescending(b => b.Distance(HQ.AllyHQ.Position)).FirstOrDefault(); if (Heroes.Me.Team == GameObjectTeam.Order) { //Game.PrintChat("Team Order"); pointClosestToEnemyHQ = Utils.GetAllyPosList().OrderByDescending(b => b.Distance(HQ.AllyHQ.Position)).FirstOrDefault(); var randy = Randoms.Rand.Next(minNum, maxNum); pointClosestToEnemyHQ.X = pointClosestToEnemyHQ.X - Randoms.Rand.Next(minNum, maxNum); pointClosestToEnemyHQ.Y = pointClosestToEnemyHQ.Y - Randoms.Rand.Next(minNum, maxNum); } if (Heroes.Me.Team == GameObjectTeam.Chaos) { // Game.PrintChat("Team Chaos"); pointClosestToEnemyHQ = Utils.GetAllyPosList().OrderByDescending(q => q.Distance(HQ.AllyHQ.Position)).FirstOrDefault(); pointClosestToEnemyHQ.X = pointClosestToEnemyHQ.X + Randoms.Rand.Next(minNum, maxNum); pointClosestToEnemyHQ.Y = pointClosestToEnemyHQ.Y + Randoms.Rand.Next(minNum, maxNum); } return pointClosestToEnemyHQ; } //for SR :s var minion = ObjectManager.Get<Obj_AI_Minion>().OrderBy(m => m.Distance(HQ.EnemyHQ)).FirstOrDefault().Position.To2D(); var turret = ObjectManager.Get<Obj_AI_Turret>().OrderByDescending(m => m.Distance(HQ.AllyHQ)).FirstOrDefault().Position.To2D(); return (minion != null && minion.IsValid()) ? minion : turret; }