| 211 | }; |
| 212 | |
| 213 | void AssignBuildableLocations(PlacementReserve &reserve, UnitType type, TilePosition desiredPosition) |
| 214 | { |
| 215 | TilePosition start = desiredPosition - TilePosition(MAX_RANGE,MAX_RANGE)/2; |
| 216 | |
| 217 | // Reserve space for the addon as well |
| 218 | bool hasAddon = type.canBuildAddon(); |
| 219 | |
| 220 | // Assign 1 to all buildable locations |
| 221 | reserve.iterate( [&](PlacementReserve *pr, int x, int y) |
| 222 | { |
| 223 | if ( (!hasAddon || Broodwar->canBuildHere(start+TilePosition(x+4,y+1), UnitTypes::Terran_Missile_Turret) ) && |
| 224 | Broodwar->canBuildHere(start+TilePosition(x,y), type) ) |
| 225 | { |
| 226 | pr->setValue(x, y, 1); |
| 227 | } |
| 228 | }); |
| 229 | } |
| 230 | |
| 231 | void RemoveDisconnected(PlacementReserve &reserve, TilePosition desiredPosition) |
| 232 | { |
no test coverage detected