void checkSupportedUnitType(const BWAPI::UnitType & type) { if (type == BWAPI::UnitTypes::None || type == BWAPI::UnitTypes::Unknown) { System::FatalError("Unknown unit type in experiment file"); } if (type == BWAPI::UnitTypes::Protoss_Corsair || type == BWAPI::UnitTypes::Zerg_Devourer || type == BWAPI::UnitTypes::Zerg_Scourge || type == BWAPI::UnitTypes::Terran_Valkyrie) { System::FatalError("Units with just air weapons currently not supported correctly: " + type.getName()); } if (type.isBuilding() && (type != BWAPI::UnitTypes::Protoss_Photon_Cannon || type != BWAPI::UnitTypes::Zerg_Sunken_Colony || type != BWAPI::UnitTypes::Terran_Missile_Turret)) { System::FatalError("Non-attacking buildings not currently supported: " + type.getName()); } if (type.isSpellcaster()) { System::FatalError("Spell casting units not currently supported: " + type.getName()); } }
void checkSupportedUnitType(const BWAPI::UnitType & type) { if (type == BWAPI::UnitTypes::None || type == BWAPI::UnitTypes::Unknown) { System::FatalError("Unknown unit type in experiment file, not supported"); } if (type == BWAPI::UnitTypes::Protoss_Corsair || type == BWAPI::UnitTypes::Zerg_Devourer || type == BWAPI::UnitTypes::Zerg_Scourge || type == BWAPI::UnitTypes::Terran_Valkyrie) { System::FatalError("Units with just air weapons currently not supported correctly: " + type.getName()); } // if (type.isBuilding() && !(type == BWAPI::UnitTypes::Protoss_Photon_Cannon && type == BWAPI::UnitTypes::Zerg_Sunken_Colony && type == BWAPI::UnitTypes::Terran_Missile_Turret)) // { // System::FatalError("Non-attacking buildings not currently supported: " + type.getName()); // } if (type.isSpellcaster() && type!=BWAPI::UnitTypes::Terran_Medic && type!=BWAPI::UnitTypes::Protoss_High_Templar) if (type.isSpellcaster() && type!=BWAPI::UnitTypes::Terran_Medic) { System::FatalError("Spell casting units not currently supported: " + type.getName()); } // Don't support units loading other units yet if (type == BWAPI::UnitTypes::Terran_Vulture_Spider_Mine || type == BWAPI::UnitTypes::Protoss_Carrier || type == BWAPI::UnitTypes::Protoss_Interceptor || type == BWAPI::UnitTypes::Protoss_Reaver || type == BWAPI::UnitTypes::Protoss_Scarab || type == BWAPI::UnitTypes::Zerg_Broodling) { System::FatalError("Units which have unit projectiles not supported: " + type.getName()); } }
bool isSupportedUnitType(const BWAPI::UnitType & type) { if (type == BWAPI::UnitTypes::None || type == BWAPI::UnitTypes::Unknown) { return false; } if (type == BWAPI::UnitTypes::Protoss_Corsair || type == BWAPI::UnitTypes::Zerg_Devourer || type == BWAPI::UnitTypes::Zerg_Scourge || type == BWAPI::UnitTypes::Terran_Valkyrie) { return false; } // if (type.isBuilding() && !(type == BWAPI::UnitTypes::Protoss_Photon_Cannon || type == BWAPI::UnitTypes::Zerg_Sunken_Colony || type == BWAPI::UnitTypes::Terran_Missile_Turret)) // { // return false; // } if (type.isSpellcaster() && type!=BWAPI::UnitTypes::Terran_Medic) { return false; } // Don't support units loading other units yet if (type == BWAPI::UnitTypes::Terran_Vulture_Spider_Mine || type == BWAPI::UnitTypes::Protoss_Carrier || type == BWAPI::UnitTypes::Protoss_Interceptor || type == BWAPI::UnitTypes::Protoss_Reaver || type == BWAPI::UnitTypes::Protoss_Scarab || type == BWAPI::UnitTypes::Zerg_Broodling) { return false; } return true; }