BWAPI
|
00001 #include "BuildOrderManager.h" 00002 00003 #include "PlayerTracker.h" 00004 00005 void BuildOrderManagerClass::LoadOtherBuilds() 00006 { 00007 using namespace BWAPI::Races; 00008 using namespace BWAPI::UnitTypes; 00009 using namespace BWAPI::UpgradeTypes; 00010 using namespace BWAPI::TechTypes; 00011 00012 int ID_1 = 0; 00013 int ID_2 = 0; 00014 int ID_3 = 0; 00015 00016 mBuildOrders[BuildOrderID::Unknown] = BuildOrder(BuildOrderID::Unknown, "Unknown"); 00017 mBuildOrders[BuildOrderID::Unknown].setArmyBehaviour(ArmyBehaviour::Default); 00018 mBuildOrders[BuildOrderID::Unknown].addSquad(SquadType::DefaultSquad, 1); 00019 00020 mBuildOrders[BuildOrderID::Unknown].addOrder(Order::TrainWorkers); 00021 mBuildOrders[BuildOrderID::Unknown].addOrder(Order::Scout); 00022 mBuildOrders[BuildOrderID::Unknown].addOrder(Order::SupplyManager); 00023 mBuildOrders[BuildOrderID::Unknown].addOrder(Order::RefineryManager); 00024 mBuildOrders[BuildOrderID::Unknown].addOrder(Order::MacroArmyProduction); 00025 mBuildOrders[BuildOrderID::Unknown].addOrder(Order::CanRemoveSquads); 00026 mBuildOrders[BuildOrderID::Unknown].addOrder(Order::ExpansionManager); 00027 mBuildOrders[BuildOrderID::Unknown].addOrder(Order::MacroProductionFacilities); 00028 mBuildOrders[BuildOrderID::Unknown].addOrder(Order::MacroCanTech); 00029 00030 if(BWAPI::Broodwar->self()->getRace() == BWAPI::Races::Protoss) 00031 { 00032 mBuildOrders[BuildOrderID::Unknown].addProduce(BWAPI::UnitTypes::Protoss_Zealot, 2); 00033 mBuildOrders[BuildOrderID::Unknown].addProduce(BWAPI::UnitTypes::Protoss_Dragoon, 3); 00034 mBuildOrders[BuildOrderID::Unknown].addProduce(BWAPI::UnitTypes::Protoss_High_Templar, 1); 00035 mBuildOrders[BuildOrderID::Unknown].addProduce(BWAPI::UnitTypes::Protoss_Arbiter, 1); 00036 } 00037 else if(BWAPI::Broodwar->self()->getRace() == BWAPI::Races::Terran) 00038 { 00039 mBuildOrders[BuildOrderID::Unknown].addProduce(BWAPI::UnitTypes::Terran_Marine, 5); 00040 mBuildOrders[BuildOrderID::Unknown].addProduce(BWAPI::UnitTypes::Terran_Medic, 1); 00041 if(PlayerTracker::Instance().isEnemyRace(BWAPI::Races::Zerg)) 00042 mBuildOrders[BuildOrderID::Unknown].addProduce(BWAPI::UnitTypes::Terran_Firebat, 1); 00043 mBuildOrders[BuildOrderID::Unknown].addProduce(BWAPI::UnitTypes::Terran_Science_Vessel, 1); 00044 } 00045 else if(BWAPI::Broodwar->self()->getRace() == BWAPI::Races::Zerg) 00046 { 00047 mBuildOrders[BuildOrderID::Unknown].addProduce(BWAPI::UnitTypes::Zerg_Zergling, 1); 00048 } 00049 00050 mBuildOrders[BuildOrderID::None] = BuildOrder(BuildOrderID::None, "None"); 00051 00052 // BuildOrder testBuild(Protoss, BuildOrderID::Test, "Test Build"); 00053 // 00054 // testBuild.addStartingCondition(Condition(ConditionType::defaultCondition)); 00055 // 00056 // mBuildOrders[BuildOrderID::Test] = testBuild; 00057 }