#pragma once #include #include #include "CUnit.h" #include "Macro.h" using namespace BWAPI; class Military { public: static void attackMaxed(); static void attackNonMaxed(); static void addSquadlessUnits(int squadIndex); static void checkAttack(); static void checkDefense(); static double checkEnemiesAt(CBase base); static void checkSquads(); static std::pair getAttackLocation(); static int getAttackSquadsIndex(); static double getBaseDefense(CBase b, std::string type, int playerID); static int getClosestSquad(TilePosition tp); static int getIdleSquad(); static std::pair getMostVulnerableBase(int playerID); static bool inThreatRange(TilePosition tp, CUnit unit); static bool isThreatened(TilePosition tp); static double likelihoodToAttack(); static void sendDefense(TilePosition tp, int attackerScore, int defenseScore); static bool shouldAttackNonMaxed(); };