{
    ATTACK = {
        ATTACKED = ( setTargetToPrimaryAggressor, increaseAlertLevel, "sendScriptMessage: $launchDefenseShip", groupAttackTarget, "pauseAI: 5.0" );
        ENTER = ( increaseAlertLevel, "sendScriptMessage: $launchDefenseShip", groupAttackTarget );
        INCOMING_MISSILE = ( fireECM, increaseAlertLevel );
        NO_TARGET = ( "setStateTo: IDLE" );
        OFFENCE_COMMITTED = ( setTargetToFoundTarget, "markTargetForOffence: 15", "setStateTo: ATTACK" );
        RED_ALERT = ( "sendScriptMessage: $launchDefenseShip", "pauseAI: 5.0" );
        TARGET_DESTROYED = ( "setStateTo: IDLE" );
        TARGET_LOST = ( "setStateTo: IDLE" );
        UPDATE = ( "sendScriptMessage: $launchDefenseShip", "pauseAI: 5.0" );
    };
    CHECK_FOR_DEBRIS = {
        ACCEPT_DISTRESS_CALL = ( increaseAlertLevel, setTargetToFoundTarget, "setStateTo: ATTACK" );
        ATTACKED = ( setTargetToPrimaryAggressor, increaseAlertLevel, "setStateTo: ATTACK" );
        INCOMING_MISSILE = ( fireECM, setTargetToPrimaryAggressor, increaseAlertLevel, "setStateTo: ATTACK" );
        NOTHING_FOUND = ( "setStateTo: IDLE" );
        OFFENCE_COMMITTED = ( setTargetToFoundTarget, "markTargetForOffence: 15", "setStateTo: ATTACK" );
        TARGET_FOUND = ( "sendScriptMessage: $launchScavenger", "setStateTo: IDLE" );
        UPDATE = ( "setDesiredRangeTo: 25600", scanForLoot, "pauseAI: 10.0" );
    };
    GLOBAL = {
        ENTER = ( "setStateTo: IDLE" );
    };
    IDLE = {
        ACCEPT_DISTRESS_CALL = ( increaseAlertLevel, setTargetToFoundTarget, "setStateTo: ATTACK" );
        ATTACKED = ( setTargetToPrimaryAggressor, increaseAlertLevel, "setStateTo: ATTACK" );
        INCOMING_MISSILE = ( fireECM, setTargetToPrimaryAggressor, increaseAlertLevel, "setStateTo: ATTACK" );
        NOTHING_FOUND = ( "setStateTo: CHECK_FOR_DEBRIS" );
        OFFENCE_COMMITTED = ( setTargetToFoundTarget, "markTargetForOffence: 15", "sendTargetCommsMessage: [police-attack-warning]", "setStateTo: ATTACK" );
        TARGET_FOUND = ( increaseAlertLevel, setTargetToFoundTarget, "sendTargetCommsMessage: [police-attack-warning]", "setStateTo: ATTACK" );
        UPDATE = ( "sendScriptMessage: $scanForRandomOffender", "sendScriptMessage: $launchPatrolShip" );
    };
}