We'll need a way to determine if it is possible to win an engage against the enemy. Handling issues like altitude difference, distance, etc. for every unit will be too computationally extreme. For now at least, we can based everything off of all Army units each player has, and consider the distance from the average of both groups. The general idea of StarCraft's unit balancing is generally a rock-paper-scissors match. With this, we can roughly calculate based on what counters what for each race, to determine which side SHOULD win in a fight.
We will want 3 main Combat engines, one against each race to help split up the code base into more manageable pieces.
The Strategist should call whatever Combat engine is required(if the enemy's race has been determined) to determine what the play should be.