{
    GLOBAL = {
        ENTER = ( "setStateTo: RECEIVE_DOCKING" );
    };
    RECEIVE_DOCKING = { 
        ACCEPT_DISTRESS_CALL = ( setTargetToFoundTarget, launchDefenseShip, groupAttackTarget );
        ATTACKED = ( setTargetToFoundTarget, groupAttackTarget );
        ATTACKED_BY_CLOAKED = ( launchDefenseShip );
        DOCKING_COMPLETE = ( "setStateTo: WAIT_A_MOMENT" );
        ENTER = ( "setSpeedFactorTo: 0.0", performStop );
        GROUP_ATTACK_TARGET = ( setTargetToFoundTarget, launchDefenseShip );
        INCOMING_MISSILE = ( fireECM );
        OFFENCE_COMMITTED = ( setTargetToFoundTarget, "markTargetForOffence: 7", deployEscorts, groupAttackTarget );
        TARGET_DECLOAKED = ( groupAttackTarget );
        TARGET_FOUND = ( setTargetToFoundTarget, groupAttackTarget );
        UPDATE = ( "pauseAI: 10.0" );
    };
    WAIT_A_MOMENT = {
        ACCEPT_DISTRESS_CALL = ( setTargetToFoundTarget, launchDefenseShip, groupAttackTarget );
        ATTACKED = ( setTargetToFoundTarget, groupAttackTarget );
        ATTACKED_BY_CLOAKED = ( launchDefenseShip );
        DOCKING_REQUESTED = ( "setStateTo: RECEIVE_DOCKING" );
        ENTER = ( "pauseAI: 10.0" );
        GROUP_ATTACK_TARGET = ( setTargetToFoundTarget, launchDefenseShip );
        INCOMING_MISSILE = ( fireECM );
        OFFENCE_COMMITTED = ( setTargetToFoundTarget, "markTargetForOffence: 7", deployEscorts, groupAttackTarget );
        TARGET_DECLOAKED = ( groupAttackTarget );
        UPDATE = ( exitAI );
    };
}