public override void DemandStartupUnits() { // Assembler UnitType unitType = new UnitType(); unitType.MinAssemblerLevel = 1; unitType.MaxAssemblerLevel = 1; unitType.MinExtractorLevel = 3; unitType.MaxExtractorLevel = 3; DemandedUnitTypes.Add(unitType); // Container unitType = new UnitType(); unitType.MinContainerLevel = 3; unitType.MaxContainerLevel = 3; unitType.MinExtractorLevel = 1; unitType.MaxExtractorLevel = 1; DemandedUnitTypes.Add(unitType); // Container x 2 unitType = new UnitType(); unitType.MinContainerLevel = 3; unitType.MaxContainerLevel = 3; unitType.MinExtractorLevel = 1; unitType.MaxExtractorLevel = 1; DemandedUnitTypes.Add(unitType); }
public Attack() { Range = 0; Livetime = 40; for (int i = 0; i < 1; i++) { // Tank UnitType unitType = new UnitType(); unitType.MinArmorLevel = 1; unitType.MaxArmorLevel = 1; unitType.MinEngineLevel = 1; unitType.MinEngineLevel = 1; unitType.MaxEngineLevel = 1; unitType.MinWeaponLevel = 1; unitType.MaxWeaponLevel = 1; unitType.MinAssemblerLevel = 0; unitType.MaxAssemblerLevel = 0; unitType.MinExtractorLevel = 1; unitType.MaxExtractorLevel = 1; DemandedUnitTypes.Add(unitType); } }
public void FindScoutingPositions(Dispatcher dispatcher, Player player) { VisiblePostitions.Clear(); foreach (TileWithDistance t in CollectIncludedPositions(Center, 3).Values) { VisiblePostitions.Add(t.Pos); } bool otherTilesFound = false; Dictionary <Position, TileWithDistance> positionsToScount = Map.EnumerateTiles(Center, Range); foreach (TileWithDistance t in positionsToScount.Values) { if (VisiblePostitions.Contains(t.Pos)) { continue; } otherTilesFound = true; ScoutPosition scoutPosition = new ScoutPosition(); scoutPosition.Pos = t.Pos; ScoutingPositions.Add(scoutPosition); foreach (TileWithDistance tx in CollectIncludedPositions(t.Pos, 3).Values) { VisiblePostitions.Add(tx.Pos); } } if (!otherTilesFound) { ScoutPosition scoutPosition = new ScoutPosition(); scoutPosition.Pos = Center; ScoutingPositions.Add(scoutPosition); } int unitsNeeded = 3; // 2 + ScoutingPositions.Count / 4; while (DemandedUnitTypes.Count < unitsNeeded) { UnitType unitType = new UnitType(); unitType.MinEngineLevel = 1; unitType.MinArmorLevel = 1; unitType.MinWeaponLevel = 1; unitType.MinExtractorLevel = 1; unitType.MaxEngineLevel = 1; unitType.MaxArmorLevel = 1; unitType.MaxWeaponLevel = 1; unitType.MaxExtractorLevel = 1; unitType.MaxContainerLevel = 0; unitType.MaxRadarLevel = 0; unitType.MaxReactorLevel = 0; unitType.MaxAssemblerLevel = 0; DemandedUnitTypes.Add(unitType); } }
public Collect() { Range = 3; UnitType unitType = new UnitType(); unitType.MinEngineLevel = 1; unitType.MaxEngineLevel = 1; unitType.MinExtractorLevel = 2; unitType.MaxExtractorLevel = 2; unitType.MinContainerLevel = 1; unitType.MaxContainerLevel = 1; DemandedUnitTypes.Add(unitType); }