Unit AI Finite State Machine
This is the top level unit AI finite state machine. Square are states and diamonds are transients between states.
There initial state is IDLE. The combat unit will remain IDLE until an unexplored hex becomes detected, or an area needs to be patrolled.
The need to explore a hex could be determined by another combat unit already on another mission.
The need to patrol a hex is determined by lack of intelligence about a hex. Intel and Visible are different status for a hex.
The EXPLORE state is a higher priority than the PATROL state.
THE AI will ensure that only 1 combat unit is assigned to an EXPLORE or PATROL mission in a hex area. While in the EXPLORE state the combat unit will continue to explore unexplored hexs until either it comes into contavt with an enemy combat unit, ( <Enemy Unit Seen> transient to ATTACK UNIT) ,
or the combat unit discovers an Enemy Depot (<Enemy Depot Seen> transient to ATTACK ENEMY DEPOT>,
or the combat unit discovers a new Strategic Point (<Vacant Strategic Point Seen> transient to DEFEND STRATEGIC Point),
or unit is notified of a support request from another combat unit. <<Respond to Support Request> transient to SUPPORT ATTACK
