BWAPI
|
00001 #include "TrainScarabAction.h" 00002 00003 bool TrainScarabAction::update(const Goal &squadGoal, const UnitGroup &squadUnitGroup) 00004 { 00005 if(mUnit->isLoaded()) 00006 return false; 00007 00008 int maxAmout = 5; 00009 if(BWAPI::Broodwar->self()->getUpgradeLevel(BWAPI::UpgradeTypes::Reaver_Capacity) > 0) 00010 maxAmout += 5; 00011 00012 if(mUnit->getTrainingQueue().size() < 5 && mUnit->getScarabCount() + (int)mUnit->getTrainingQueue().size() < maxAmout) 00013 { 00014 if(BWAPI::Broodwar->self()->minerals() >= BWAPI::UnitTypes::Protoss_Scarab.mineralPrice()) 00015 { 00016 mUnit->train(BWAPI::UnitTypes::Protoss_Scarab); 00017 return true; 00018 } 00019 } 00020 00021 return false; 00022 }