{ GLOBAL = { ENTER = (switchLightsOn, "setStateTo: ATTACK_SHIP"); }; "ATTACK_SHIP" = { ENTER = (performAttack); "ENERGY_LOW" = ("setStateTo: FLEE"); "ESCORT_ATTACKED" = (setTargetToPrimaryAggressor, groupAttackTarget); "INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE"); "TARGET_DESTROYED" = (performIdle, switchLightsOff, exitAI); "TARGET_LOST" = (performIdle, switchLightsOff, exitAI); }; FLEE = { ENTER = (deployEscorts, "setDesiredRangeTo: 25600", performFlee); "ENERGY_FULL" = ("setStateTo: ATTACK_SHIP"); "TARGET_LOST" = (performIdle, switchLightsOff, exitAI); "TARGET_DESTROYED" = (performIdle, switchLightsOff, exitAI); "REACHED_SAFETY" = (performIdle, switchLightsOff, exitAI); "INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE"); }; }