| 2908 | } |
| 2909 | |
| 2910 | bool TerranMultiplayerBot::BuildRefinery() { |
| 2911 | const ObservationInterface* observation = Observation(); |
| 2912 | Units bases = observation->GetUnits(Unit::Alliance::Self, IsTownHall()); |
| 2913 | |
| 2914 | if (CountUnitType(observation, UNIT_TYPEID::TERRAN_REFINERY) >= observation->GetUnits(Unit::Alliance::Self, IsTownHall()).size() * 2) { |
| 2915 | return false; |
| 2916 | } |
| 2917 | |
| 2918 | for (const auto& base : bases) { |
| 2919 | if (base.assigned_harvesters >= base.ideal_harvesters) { |
| 2920 | if (base.build_progress == 1) { |
| 2921 | if (TryBuildGas(ABILITY_ID::BUILD_REFINERY, UNIT_TYPEID::TERRAN_SCV, base.pos)) { |
| 2922 | return true; |
| 2923 | } |
| 2924 | } |
| 2925 | } |
| 2926 | } |
| 2927 | return false; |
| 2928 | } |
| 2929 | void TerranMultiplayerBot::OnStep() { |
| 2930 | |
| 2931 |
nothing calls this directly
no test coverage detected