예제 #1
0
 /// <summary>
 /// Добивание всей кучей
 /// </summary>
 public static void GroupRush()
 {
     if (!AllMyUnits.HasOrders())
     {
         CommonAttack(AllMyUnits, new List <VehicleType> {
             VehicleType.Tank, VehicleType.Ifv, VehicleType.Helicopter, VehicleType.Fighter, VehicleType.Arrv
         });
         AllMyUnits.Scale(0.1);
     }
 }
예제 #2
0
        /// <summary>
        /// Тактика добивания
        /// </summary>
        /// <param name="expand"></param>
        public static void Rush(bool expand)
        {
            if (_rushStartedTick == -1)
            {
                _rushStartedTick = Global.World.TickIndex;
            }

            var tick = Global.World.TickIndex - _rushStartedTick;

            if (tick == 0 && expand)
            {
                Fighters.Scale(4);
                Helicopters.Scale(4);
                Arrvs.Scale(4);
                Ifvs.Scale(4);
                Tanks.Scale(4);
            }
            else
            {
                if (!Tanks.HasOrders())
                {
                    CommonAttack(Tanks, new List <VehicleType> {
                        VehicleType.Tank, VehicleType.Ifv, VehicleType.Arrv, VehicleType.Fighter, VehicleType.Helicopter
                    });
                    Tanks.Scale(0.1);
                }
                if (!Ifvs.HasOrders())
                {
                    CommonAttack(Ifvs, new List <VehicleType> {
                        VehicleType.Helicopter, VehicleType.Fighter, VehicleType.Arrv, VehicleType.Ifv, VehicleType.Tank
                    });
                    Ifvs.Scale(0.1);
                }
                if (!Helicopters.HasOrders())
                {
                    CommonAttack(Helicopters, new List <VehicleType> {
                        VehicleType.Tank, VehicleType.Arrv, VehicleType.Helicopter, VehicleType.Ifv, VehicleType.Fighter
                    });
                    Helicopters.Scale(0.1);
                }
                if (!Fighters.HasOrders())
                {
                    if (Global.Units.Values.Any(i => i.PlayerId != Global.Me.Id && (i.Type == VehicleType.Helicopter || i.Type == VehicleType.Fighter)))
                    {
                        CommonAttack(Fighters, new List <VehicleType> {
                            VehicleType.Helicopter, VehicleType.Fighter
                        });
                    }
                    else
                    {
                        CommonAttack(Fighters, new List <VehicleType> {
                            VehicleType.Tank, VehicleType.Ifv, VehicleType.Arrv
                        }, self: true);
                    }
                    Fighters.Scale(0.1);
                }

                if (!Arrvs.HasOrders())
                {
                    Arrvs.MoveTo(0.2 * Global.World.Width, 0.8 * Global.World.Height);
                    Arrvs.Scale(0.1);
                }
            }
        }