{ GLOBAL = { ENTER = (switchLightsOn, "setStateTo: ATTACK_SHIP"); }; "ATTACK_SHIP" = { ENTER = (performAttack); "ENERGY_LOW" = ("setStateTo: FLEE"); "INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE"); "TARGET_DESTROYED" = ("setStateTo: DOCK_WITH_STATION"); "TARGET_LOST" = ("setStateTo: DOCK_WITH_STATION"); }; "DOCK_WITH_STATION" = { ENTER = (switchLightsOff, setTargetToStation, "setDesiredRangeTo: 5000.0", performIntercept); "ACCEPT_DISTRESS_CALL" = (setTargetToFoundTarget, "setAITo: interceptAI.plist"); ATTACKED = (switchLightsOn, setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP"); "GROUP_ATTACK_TARGET" = (switchLightsOn, setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP"); "DESIRED_RANGE_ACHIEVED" = ("setAITo: dockingAI.plist"); "INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE"); RESTARTED = ("setStateTo: DOCK_WITH_STATION"); }; FLEE = { ENTER = (performFlee); "ENERGY_FULL" = ("setStateTo: ATTACK_SHIP"); "TARGET_LOST" = ("setStateTo: DOCK_WITH_STATION"); "TARGET_DESTROYED" = ("setStateTo: DOCK_WITH_STATION"); "INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE"); }; }