| 21 | }; |
| 22 | |
| 23 | BWAPI::UnitFilter WeaponCanHit(WeaponType wpn) |
| 24 | { |
| 25 | return [wpn](Unit u)->bool |
| 26 | { |
| 27 | UnitType ut = u->getType(); |
| 28 | return !(( wpn.targetsOwn() && u->getPlayer() != Broodwar->self() ) || |
| 29 | ( !wpn.targetsAir() && !u->isFlying() ) || |
| 30 | ( !wpn.targetsGround() && u->isFlying() ) || |
| 31 | ( wpn.targetsMechanical() && ut.isMechanical() ) || |
| 32 | ( wpn.targetsOrganic() && ut.isOrganic() ) || |
| 33 | ( wpn.targetsNonBuilding() && !ut.isBuilding() ) || |
| 34 | ( wpn.targetsNonRobotic() && !ut.isRobotic() ) || |
| 35 | ( wpn.targetsOrgOrMech() && (ut.isOrganic() || ut.isMechanical()) )); |
| 36 | }; |
| 37 | }; |
| 38 | |
| 39 | auto LockdownReqs = [](Unit pTarg)->bool |
| 40 | { |
no test coverage detected