{ "ATTACK_SHIP" = { "DESIRED_RANGE_ACHIEVED" = ("setStateTo: DETONATE"); ENTER = ("setDesiredRangeTo: 25.0", performIntercept); EXIT = (); "TARGET_DESTROYED" = ("setStateTo: EXPLODE"); "TARGET_LOST" = ("setStateTo: EXPLODE"); "ECM" = ("setStateTo: EXPLODE"); "GONE_BEYOND_RANGE" = ("setStateTo: EXPLODE"); UPDATE = ("setDesiredRangeTo: 30000.0", checkDistanceTravelled, "setDesiredRangeTo: 25.0", "pauseAI: 5.0"); }; DETONATE = { ENTER = ("setDesiredRangeTo: 250.0", dealEnergyDamageWithinDesiredRange, becomeExplosion); EXIT = (); UPDATE = (); }; EXPLODE = { ENTER = (becomeExplosion); EXIT = (); UPDATE = (); }; GLOBAL = { ENTER = ("setSpeedFactorTo: 1.0", "setStateTo: ATTACK_SHIP"); EXIT = (); UPDATE = (); }; }