Section 1
//Beam (beam.Beam)
package beam {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class Beam extends MovieClip {
private var LASER_FIRE_DURATION;// = 2500
private var laserStopTimer:Timer;
private var glowBeam:Sprite;
private var glowBeamThickness:Number;
private var frontBeamThickness:Number;
private var backBeam:Sprite;
private var startX:Number;
private var startY:Number;
private var frontBeam:Sprite;
private var beamType:String;
private var beamClip:Sprite;
private var fluctuationScalar:int;// = 1
private var backBeamColor:Number;
private var frontBeamColor:Number;
private var angle:Number;
private var endX:Number;
private var endY:Number;
private var backBeamThickness:Number;
private var glowBeamAlpha:Number;
private var contactGlow:ContactGlow;
public function Beam(_arg1:String){
fluctuationScalar = 1;
LASER_FIRE_DURATION = 2500;
super();
setBeamType(_arg1);
init();
}
public function setBeamType(_arg1:String){
if (_arg1 == BeamManager.BLUE_BEAM){
this.beamType = BeamManager.BLUE_BEAM;
this.backBeamColor = BeamManager.BLUE_BEAM_BACK_COLOR;
this.frontBeamColor = BeamManager.BLUE_BEAM_FRONT_COLOR;
this.glowBeamAlpha = BeamManager.BLUE_GLOW_BEAM_ALPHA;
contactGlow = new BlueContactGlow();
} else {
if (_arg1 == BeamManager.GREEN_BEAM){
this.beamType = BeamManager.GREEN_BEAM;
this.backBeamColor = BeamManager.GREEN_BEAM_BACK_COLOR;
this.frontBeamColor = BeamManager.GREEN_BEAM_FRONT_COLOR;
this.glowBeamAlpha = BeamManager.GREEN_GLOW_BEAM_ALPHA;
contactGlow = new GreenContactGlow();
} else {
if (_arg1 == BeamManager.RED_BEAM){
this.beamType = BeamManager.RED_BEAM;
this.backBeamColor = BeamManager.RED_BEAM_BACK_COLOR;
this.frontBeamColor = BeamManager.RED_BEAM_FRONT_COLOR;
this.glowBeamAlpha = BeamManager.RED_GLOW_BEAM_ALPHA;
contactGlow = new RedContactGlow();
};
};
};
}
public function init(){
beamClip = new Sprite();
glowBeam = new Sprite();
backBeam = new Sprite();
frontBeam = new Sprite();
beamClip.addChild(glowBeam);
beamClip.addChild(backBeam);
beamClip.addChild(frontBeam);
startX = 0;
endX = 0;
startY = 0;
endY = 0;
angle = 0;
frontBeamThickness = BeamManager.FRONT_BEAM_THICKNESS;
backBeamThickness = BeamManager.BACK_BEAM_THICKNESS;
glowBeamThickness = BeamManager.GLOW_BEAM_THICKNESS;
}
public function drawBeam(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Sprite{
this.startX = _arg1;
this.endX = _arg3;
this.startY = _arg2;
this.endY = _arg4;
contactGlow.x = _arg3;
contactGlow.y = _arg4;
beamClip.addChild(contactGlow);
drawBeams();
beamClip.addEventListener(Event.ENTER_FRAME, fluctuateBeams);
laserStopTimer = new Timer(LASER_FIRE_DURATION, 1);
laserStopTimer.addEventListener(TimerEvent.TIMER, stopFiring);
laserStopTimer.start();
return (beamClip);
}
private function stopFiring(_arg1:TimerEvent){
laserStopTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, stopFiring);
unloadBeam();
Game.g.beamManager.totalLasers--;
Game.g.beamManager.checkLasers();
Game.g.resetAllPrevGameElements();
}
public function unloadBeam():void{
eraseBeams();
beamClip.removeEventListener(Event.ENTER_FRAME, fluctuateBeams);
beamClip.removeChild(contactGlow);
beamClip.parent.removeChild(beamClip);
}
public function fluctuateBeams(_arg1:Event){
eraseBeams();
frontBeamThickness = (BeamManager.FRONT_BEAM_THICKNESS + (BeamManager.BEAM_THICKNESS_FLUCTUATION * fluctuationScalar));
backBeamThickness = (BeamManager.BACK_BEAM_THICKNESS + (BeamManager.BEAM_THICKNESS_FLUCTUATION * fluctuationScalar));
glowBeamThickness = (BeamManager.GLOW_BEAM_THICKNESS + (BeamManager.BEAM_THICKNESS_FLUCTUATION * fluctuationScalar));
fluctuationScalar = (fluctuationScalar * -1);
drawBeams();
}
public function eraseBeams(){
glowBeam.graphics.clear();
backBeam.graphics.clear();
frontBeam.graphics.clear();
}
private function drawBeams(){
glowBeam.graphics.lineStyle(glowBeamThickness, backBeamColor, glowBeamAlpha);
glowBeam.graphics.moveTo(startX, startY);
glowBeam.graphics.lineTo(endX, endY);
backBeam.graphics.lineStyle(backBeamThickness, backBeamColor);
backBeam.graphics.moveTo(startX, startY);
backBeam.graphics.lineTo(endX, endY);
frontBeam.graphics.lineStyle(frontBeamThickness, frontBeamColor);
frontBeam.graphics.moveTo(startX, startY);
frontBeam.graphics.lineTo(endX, endY);
}
}
}//package beam
Section 2
//BeamManager (beam.BeamManager)
package beam {
import gameElements.interactiveElements.modifiers.filters.*;
import flash.display.*;
import gameElements.*;
public class BeamManager {
private var allBeams:Array;
private var snifferClip:Sprite;
private var cos:Number;
private var laserBeam:Beam;
private var endX:Number;
private var endY:Number;
private var sin:Number;
private var tan:Number;
private var MAX_LASERS:Number;// = 40
private var newBeams:Array;
public var totalLasers:Number;// = 0
private var startY:Number;
private var MAX_BEAM_LENGTH:Number;// = 800
private var startX:Number;
public static var BLUE_BEAM_FRONT_COLOR:Number = 10079487;
public static var BLUE_BEAM:String = "BLUE";
public static var GREEN_GLOW_BEAM_ALPHA:Number = 0.8;
public static var RED_BEAM_FRONT_COLOR:Number = 16751001;
public static var RED_BEAM:String = "RED";
public static var RED_GLOW_BEAM_ALPHA:Number = 0.8;
public static var GREEN_BEAM_FRONT_COLOR:Number = 6750105;
public static var BACK_BEAM_THICKNESS:Number = 10.25;
public static var BLUE_BEAM_BACK_COLOR:Number = 6724095;
public static var GREEN_BEAM_BACK_COLOR:Number = 0x33CC00;
public static var GREEN_BEAM:String = "GREEN";
public static var BEAM_THICKNESS_FLUCTUATION:Number = 2;
public static var RED_BEAM_BACK_COLOR:Number = 0xFF0000;
public static var GLOW_BEAM_THICKNESS:Number = 4;
public static var FRONT_BEAM_THICKNESS:Number = 2.5;
public static var BLUE_GLOW_BEAM_ALPHA:Number = 0.8;
public function BeamManager(){
MAX_BEAM_LENGTH = 800;
MAX_LASERS = 40;
totalLasers = 0;
super();
allBeams = new Array();
newBeams = new Array();
}
private function drawLaser(_arg1:String, _arg2:String, _arg3:Number){
var _local4:int;
var _local5:Boolean;
var _local6:Boolean;
var _local7:Number;
var _local8:Number;
var _local9:GameElement;
var _local10:int;
_local4 = 0;
_local5 = false;
_local6 = false;
while ((((((_local4 <= MAX_BEAM_LENGTH)) && (!(_local5)))) && (!(_local6)))) {
_local7 = (startX + (_local4 * cos));
_local8 = (startY + (_local4 * sin));
if (Game.g.interactiveElementsContainer.numChildren > 0){
_local10 = 0;
while (_local10 < Game.g.interactiveElementsContainer.numChildren) {
if (Game.g.interactiveElementsContainer.getChildAt(_local10).hitTestPoint(_local7, _local8, true)){
if (((!((Game.g.interactiveElementsContainer.getChildAt(_local10).name == _arg1))) && (!((Game.g.interactiveElementsContainer.getChildAt(_local10).name == Game.g.powerGeneratorName))))){
if (_local9 == null){
_local9 = GameElement(Game.g.interactiveElementsContainer.getChildAt(_local10));
if ((((_local9.prevName == _arg1)) && (!((Game.g.interactiveElementsContainer.getChildAt(_local10) is Filter))))){
_local6 = true;
} else {
_local9.prevName = _arg1;
endX = _local7;
endY = _local8;
_local5 = true;
};
};
};
};
_local10++;
};
};
if (_local4 == MAX_BEAM_LENGTH){
endX = _local7;
endY = _local8;
};
_local4++;
};
if (_local6){
} else {
totalLasers++;
laserBeam = new Beam(_arg2);
Game.g.beamContainer.addChild(laserBeam.drawBeam(startX, startY, endX, endY));
if (_local9 != null){
_local9.onLaserHit(endX, endY, _arg3, _arg2);
};
};
}
public function fireLaser(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:String):void{
this.startX = _arg2;
this.startY = _arg3;
sin = Math.sin(((_arg4 * Math.PI) / 180));
cos = Math.cos(((_arg4 * Math.PI) / 180));
tan = Math.tan(((_arg4 * Math.PI) / 180));
endX = (_arg2 + (cos * MAX_BEAM_LENGTH));
endY = (_arg3 + (sin * MAX_BEAM_LENGTH));
drawLaser(_arg1, _arg5, _arg4);
}
public function checkLasers(){
if (totalLasers == 0){
Game.g.checkStrandedDevices();
};
}
}
}//package beam
Section 3
//BlueContactGlow (beam.BlueContactGlow)
package beam {
public class BlueContactGlow extends ContactGlow {
}
}//package beam
Section 4
//ContactGlow (beam.ContactGlow)
package beam {
import flash.display.*;
public class ContactGlow extends MovieClip {
}
}//package beam
Section 5
//GreenContactGlow (beam.GreenContactGlow)
package beam {
public class GreenContactGlow extends ContactGlow {
}
}//package beam
Section 6
//RedContactGlow (beam.RedContactGlow)
package beam {
public class RedContactGlow extends ContactGlow {
}
}//package beam
Section 7
//ControlScheme (control.ControlScheme)
package control {
public class ControlScheme {
public var keyPresses:Array;
public function ControlScheme(){
keyPresses = new Array();
}
public function addKey(_arg1:String){
var _local2:KeyPress;
_local2 = new KeyPress(_arg1);
if (_local2.getKeyValue() != 666){
keyPresses.push(_local2);
};
}
}
}//package control
Section 8
//KeyListener (control.KeyListener)
package control {
import flash.events.*;
import gameElements.interactiveElements.*;
public class KeyListener {
private var prevIETarget:InteractiveElement;
private var ieTarget:InteractiveElement;
private var keyPresses:Array;
public function KeyListener(){
Game.g.stage.addEventListener(KeyboardEvent.KEY_DOWN, checkForKeyPresses);
Game.g.stage.addEventListener(KeyboardEvent.KEY_UP, checkForKeyReleases);
keyPresses = new Array();
}
private function checkForKeyPresses(_arg1:KeyboardEvent){
var _local2:int;
if (Game.g.currentIE != null){
if (keyPresses.length > 0){
_local2 = 0;
while (_local2 < keyPresses.length) {
if (_arg1.keyCode == keyPresses[_local2].getKeyValue()){
Game.g.currentIE.keyIsPressed(keyPresses[_local2].getKey());
};
_local2++;
};
};
};
}
public function getKeyValue(_arg1:String):Number{
var _local2:Number;
if (_arg1.toLowerCase() == "a"){
_local2 = 65;
} else {
if (_arg1.toLowerCase() == "b"){
_local2 = 66;
} else {
if (_arg1.toLowerCase() == "c"){
_local2 = 67;
} else {
if (_arg1.toLowerCase() == "d"){
_local2 = 68;
} else {
if (_arg1.toLowerCase() == "e"){
_local2 = 69;
} else {
if (_arg1.toLowerCase() == "f"){
_local2 = 70;
} else {
if (_arg1.toLowerCase() == "g"){
_local2 = 71;
} else {
if (_arg1.toLowerCase() == "h"){
_local2 = 72;
} else {
if (_arg1.toLowerCase() == "i"){
_local2 = 73;
} else {
if (_arg1.toLowerCase() == "j"){
_local2 = 74;
} else {
if (_arg1.toLowerCase() == "k"){
_local2 = 75;
} else {
if (_arg1.toLowerCase() == "l"){
_local2 = 76;
} else {
if (_arg1.toLowerCase() == "m"){
_local2 = 77;
} else {
if (_arg1.toLowerCase() == "n"){
_local2 = 78;
} else {
if (_arg1.toLowerCase() == "o"){
_local2 = 79;
} else {
if (_arg1.toLowerCase() == "p"){
_local2 = 80;
} else {
if (_arg1.toLowerCase() == "q"){
_local2 = 81;
} else {
if (_arg1.toLowerCase() == "r"){
_local2 = 82;
} else {
if (_arg1.toLowerCase() == "s"){
_local2 = 83;
} else {
if (_arg1.toLowerCase() == "t"){
_local2 = 84;
} else {
if (_arg1.toLowerCase() == "u"){
_local2 = 85;
} else {
if (_arg1.toLowerCase() == "v"){
_local2 = 86;
} else {
if (_arg1.toLowerCase() == "w"){
_local2 = 87;
} else {
if (_arg1.toLowerCase() == "x"){
_local2 = 88;
} else {
if (_arg1.toLowerCase() == "y"){
_local2 = 89;
} else {
if (_arg1.toLowerCase() == "z"){
_local2 = 90;
} else {
if (_arg1.toLowerCase() == "ctrl"){
_local2 = 17;
} else {
if (_arg1.toLowerCase() == "enter"){
_local2 = 13;
} else {
if (_arg1.toLowerCase() == "space"){
_local2 = 32;
} else {
if (_arg1.toLowerCase() == "shift"){
_local2 = 16;
} else {
if (_arg1.toLowerCase() == "esc"){
_local2 = 27;
} else {
if (_arg1.toLowerCase() == "up"){
_local2 = 27;
} else {
if (_arg1.toLowerCase() == "down"){
_local2 = 27;
} else {
if (_arg1.toLowerCase() == "left"){
_local2 = 27;
} else {
if (_arg1.toLowerCase() == "right"){
_local2 = 27;
} else {
_local2 = 666;
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
return (_local2);
}
public function checkKeyStatus(_arg1:String):Number{
var _local2:Boolean;
var _local3:int;
_local2 = false;
_local3 = 0;
while ((((_local2 == false)) || ((_local3 < keyPresses.length)))) {
if (keyPresses[_local3].getKey() == _arg1){
if (keyPresses[_local3].isPressed()){
return (1);
};
return (0);
};
_local3++;
};
return (2);
}
private function checkForKeyReleases(_arg1:KeyboardEvent){
var _local2:int;
if (Game.g.currentIE != null){
if (keyPresses.length > 0){
_local2 = 0;
while (_local2 < keyPresses.length) {
if (_arg1.keyCode == keyPresses[_local2].getKeyValue()){
Game.g.currentIE.keyIsReleased(keyPresses[_local2].getKey());
};
_local2++;
};
};
};
}
public function setKeyState(_arg1:String, _arg2:Boolean):void{
var _local3:Boolean;
var _local4:int;
_local3 = false;
_local4 = 0;
while ((((_local3 == false)) || ((_local4 < keyPresses.length)))) {
if (keyPresses[_local4].getKey() == _arg1){
keyPresses[_local4].setState(_arg2);
_local3 = true;
};
_local4++;
};
}
public function setControlScheme(_arg1:ControlScheme){
keyPresses = null;
keyPresses = _arg1.keyPresses;
}
public function stopListening(){
}
}
}//package control
Section 9
//KeyPress (control.KeyPress)
package control {
public class KeyPress {
public var keyValue:Number;
public var keyState:Boolean;// = false
public var key:String;
public function KeyPress(_arg1:String){
keyState = false;
super();
this.key = _arg1;
keyValue = Game.g.keyListener.getKeyValue(_arg1);
}
public function getKeyValue():Number{
return (keyValue);
}
public function getKey():String{
return (key);
}
public function setKeyValue(_arg1:Number){
this.keyValue = _arg1;
}
public function setState(_arg1:Boolean){
this.keyState = _arg1;
}
public function isPressed():Boolean{
return (keyState);
}
}
}//package control
Section 10
//Destroyer (gameElements.interactiveElements.destroyers.Destroyer)
package gameElements.interactiveElements.destroyers {
import flash.events.*;
import gameElements.interactiveElements.*;
import flash.display.*;
public class Destroyer extends InteractiveElement {
private var fireKey:String;// = "space"
public var hitTestBox:MovieClip;
public function Destroyer(){
fireKey = "space";
super();
addFrameScript(0, frame1, 75, frame76);
init();
controlScheme.addKey(moveForwardKey);
controlScheme.addKey(rotateLeftKey);
controlScheme.addKey(moveBackwardKey);
controlScheme.addKey(rotateRightKey);
controlScheme.addKey(fireKey);
setHitTestBox(this.hitTestBox);
}
override public function keyIsReleased(_arg1:String):void{
rotationKeyReleaseCheck(_arg1);
accelerationKeyReleaseCheck(_arg1);
}
function frame1(){
stop();
}
private function checkForEnd(_arg1:Event){
if (this.currentFrame == this.totalFrames){
Game.g.soundManager.playDestroyerDestroyed();
Game.g.displayMessage("Oh NO!", "Your destroyer... it's ... destroyed! \n\nThe destroyer cannot handle an energy beam of that magnitude! \n Oh dear... I guess you'll have to do without it now.");
this.removeEventListener(Event.ENTER_FRAME, checkForEnd);
this.parent.removeChild(this);
};
}
function frame76(){
stop();
}
override public function onLaserHit(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:String):void{
blowUp();
}
public function blowUp(){
this.gotoAndPlay("blowUp");
this.addEventListener(Event.ENTER_FRAME, checkForEnd);
}
override public function keyIsPressed(_arg1:String):void{
rotationKeyPressCheck(_arg1);
accelerationKeyPressCheck(_arg1);
if (_arg1 == fireKey){
Game.g.createBullet(this.x, this.y, this.rotation, velX, velY);
};
}
}
}//package gameElements.interactiveElements.destroyers
Section 11
//Filter (gameElements.interactiveElements.modifiers.filters.Filter)
package gameElements.interactiveElements.modifiers.filters {
import gameElements.interactiveElements.*;
public class Filter extends InteractiveElement {
private var filterType;
override public function keyIsReleased(_arg1:String):void{
rotationKeyReleaseCheck(_arg1);
accelerationKeyReleaseCheck(_arg1);
}
public function setFilterType(_arg1:String){
this.filterType = _arg1;
}
override public function onLaserHit(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:String):void{
var _local5:Number;
_local5 = ((_arg3 * -1) + rotation);
Game.g.beamManager.fireLaser(this.name, _arg1, _arg2, _arg3, filterType);
}
override public function keyIsPressed(_arg1:String):void{
rotationKeyPressCheck(_arg1);
accelerationKeyPressCheck(_arg1);
}
}
}//package gameElements.interactiveElements.modifiers.filters
Section 12
//FilterBlue (gameElements.interactiveElements.modifiers.filters.FilterBlue)
package gameElements.interactiveElements.modifiers.filters {
import flash.display.*;
import beam.*;
public class FilterBlue extends Filter {
public var hitTestBox:MovieClip;
public function FilterBlue(){
init();
controlScheme.addKey("w");
controlScheme.addKey("a");
controlScheme.addKey("s");
controlScheme.addKey("d");
setFilterType(BeamManager.BLUE_BEAM);
setHitTestBox(this.hitTestBox);
}
}
}//package gameElements.interactiveElements.modifiers.filters
Section 13
//FilterGreen (gameElements.interactiveElements.modifiers.filters.FilterGreen)
package gameElements.interactiveElements.modifiers.filters {
import flash.display.*;
import beam.*;
public class FilterGreen extends Filter {
public var hitTestBox:MovieClip;
public function FilterGreen(){
init();
controlScheme.addKey("w");
controlScheme.addKey("a");
controlScheme.addKey("s");
controlScheme.addKey("d");
setFilterType(BeamManager.GREEN_BEAM);
setHitTestBox(this.hitTestBox);
}
}
}//package gameElements.interactiveElements.modifiers.filters
Section 14
//FilterRed (gameElements.interactiveElements.modifiers.filters.FilterRed)
package gameElements.interactiveElements.modifiers.filters {
import flash.display.*;
import beam.*;
public class FilterRed extends Filter {
public var hitTestBox:MovieClip;
public function FilterRed(){
init();
controlScheme.addKey("w");
controlScheme.addKey("a");
controlScheme.addKey("s");
controlScheme.addKey("d");
setFilterType(BeamManager.RED_BEAM);
setHitTestBox(this.hitTestBox);
}
}
}//package gameElements.interactiveElements.modifiers.filters
Section 15
//Splitter (gameElements.interactiveElements.modifiers.splitters.Splitter)
package gameElements.interactiveElements.modifiers.splitters {
import gameElements.interactiveElements.*;
public class Splitter extends InteractiveElement {
}
}//package gameElements.interactiveElements.modifiers.splitters
Section 16
//Splitter1 (gameElements.interactiveElements.modifiers.splitters.Splitter1)
package gameElements.interactiveElements.modifiers.splitters {
import flash.display.*;
import flash.geom.*;
public class Splitter1 extends Splitter {
public var firePoint1:MovieClip;
public var firePoint2:MovieClip;
private var firePt1:Point;
private var firePt2:Point;
public var hitTestBox:MovieClip;
public function Splitter1(){
init();
controlScheme.addKey(moveForwardKey);
controlScheme.addKey(rotateLeftKey);
controlScheme.addKey(moveBackwardKey);
controlScheme.addKey(rotateRightKey);
setHitTestBox(this.hitTestBox);
}
override public function keyIsReleased(_arg1:String):void{
rotationKeyReleaseCheck(_arg1);
accelerationKeyReleaseCheck(_arg1);
}
override public function onLaserHit(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:String):void{
var _local5:Number;
var _local6:Number;
_local5 = rotation;
_local6 = (rotation + 180);
firePt1 = new Point(firePoint1.x, firePoint1.y);
firePt2 = new Point(firePoint2.x, firePoint2.y);
Game.g.beamManager.fireLaser(this.name, this.localToGlobal(firePt1).x, this.localToGlobal(firePt1).y, _local5, _arg4);
Game.g.beamManager.fireLaser(this.name, this.localToGlobal(firePt2).x, this.localToGlobal(firePt2).y, _local6, _arg4);
}
override public function keyIsPressed(_arg1:String):void{
rotationKeyPressCheck(_arg1);
accelerationKeyPressCheck(_arg1);
}
}
}//package gameElements.interactiveElements.modifiers.splitters
Section 17
//Splitter2 (gameElements.interactiveElements.modifiers.splitters.Splitter2)
package gameElements.interactiveElements.modifiers.splitters {
import flash.display.*;
import flash.geom.*;
public class Splitter2 extends Splitter {
public var firePoint1:MovieClip;
public var firePoint2:MovieClip;
public var firePoint3:MovieClip;
private var firePt1:Point;
private var firePt2:Point;
private var firePt3:Point;
public var hitTestBox:MovieClip;
public function Splitter2(){
init();
controlScheme.addKey(moveForwardKey);
controlScheme.addKey(rotateLeftKey);
controlScheme.addKey(moveBackwardKey);
controlScheme.addKey(rotateRightKey);
setHitTestBox(this.hitTestBox);
}
override public function keyIsReleased(_arg1:String):void{
rotationKeyReleaseCheck(_arg1);
accelerationKeyReleaseCheck(_arg1);
}
override public function onLaserHit(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:String):void{
var _local5:Number;
var _local6:Number;
var _local7:Number;
_local5 = rotation;
_local6 = (rotation + 90);
_local7 = (rotation + 180);
firePt1 = new Point(firePoint1.x, firePoint1.y);
firePt2 = new Point(firePoint2.x, firePoint2.y);
firePt3 = new Point(firePoint3.x, firePoint3.y);
Game.g.beamManager.fireLaser(this.name, this.localToGlobal(firePt1).x, this.localToGlobal(firePt1).y, _local5, _arg4);
Game.g.beamManager.fireLaser(this.name, this.localToGlobal(firePt2).x, this.localToGlobal(firePt2).y, _local6, _arg4);
Game.g.beamManager.fireLaser(this.name, this.localToGlobal(firePt3).x, this.localToGlobal(firePt3).y, _local7, _arg4);
}
override public function keyIsPressed(_arg1:String):void{
rotationKeyPressCheck(_arg1);
accelerationKeyPressCheck(_arg1);
}
}
}//package gameElements.interactiveElements.modifiers.splitters
Section 18
//Splitter3 (gameElements.interactiveElements.modifiers.splitters.Splitter3)
package gameElements.interactiveElements.modifiers.splitters {
import flash.display.*;
import flash.geom.*;
public class Splitter3 extends Splitter {
public var firePoint1:MovieClip;
public var firePoint2:MovieClip;
public var firePoint3:MovieClip;
private var firePt1:Point;
private var firePt2:Point;
private var firePt3:Point;
private var firePt4:Point;
public var firePoint4:MovieClip;
public var hitTestBox:MovieClip;
public function Splitter3(){
init();
controlScheme.addKey(moveForwardKey);
controlScheme.addKey(rotateLeftKey);
controlScheme.addKey(moveBackwardKey);
controlScheme.addKey(rotateRightKey);
setHitTestBox(this.hitTestBox);
}
override public function keyIsReleased(_arg1:String):void{
rotationKeyReleaseCheck(_arg1);
accelerationKeyReleaseCheck(_arg1);
}
override public function onLaserHit(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:String):void{
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local5 = rotation;
_local6 = (rotation + 90);
_local7 = (rotation + 180);
_local8 = (rotation + 270);
firePt1 = new Point(firePoint1.x, firePoint1.y);
firePt2 = new Point(firePoint2.x, firePoint2.y);
firePt3 = new Point(firePoint3.x, firePoint3.y);
firePt4 = new Point(firePoint4.x, firePoint4.y);
Game.g.beamManager.fireLaser(this.name, this.localToGlobal(firePt1).x, this.localToGlobal(firePt1).y, _local5, _arg4);
Game.g.beamManager.fireLaser(this.name, this.localToGlobal(firePt2).x, this.localToGlobal(firePt2).y, _local6, _arg4);
Game.g.beamManager.fireLaser(this.name, this.localToGlobal(firePt3).x, this.localToGlobal(firePt3).y, _local7, _arg4);
Game.g.beamManager.fireLaser(this.name, this.localToGlobal(firePt4).x, this.localToGlobal(firePt4).y, _local8, _arg4);
}
override public function keyIsPressed(_arg1:String):void{
rotationKeyPressCheck(_arg1);
accelerationKeyPressCheck(_arg1);
}
}
}//package gameElements.interactiveElements.modifiers.splitters
Section 19
//Splitter4 (gameElements.interactiveElements.modifiers.splitters.Splitter4)
package gameElements.interactiveElements.modifiers.splitters {
import flash.display.*;
import flash.geom.*;
public class Splitter4 extends Splitter {
public var firePoint1:MovieClip;
public var firePoint2:MovieClip;
private var firePt1:Point;
private var firePt2:Point;
public var hitTestBox:MovieClip;
public function Splitter4(){
init();
controlScheme.addKey(moveForwardKey);
controlScheme.addKey(rotateLeftKey);
controlScheme.addKey(moveBackwardKey);
controlScheme.addKey(rotateRightKey);
setHitTestBox(this.hitTestBox);
}
override public function keyIsReleased(_arg1:String):void{
rotationKeyReleaseCheck(_arg1);
accelerationKeyReleaseCheck(_arg1);
}
override public function onLaserHit(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:String):void{
var _local5:Number;
var _local6:Number;
_local5 = (rotation + 45);
_local6 = (rotation + 135);
firePt1 = new Point(firePoint1.x, firePoint1.y);
firePt2 = new Point(firePoint2.x, firePoint2.y);
Game.g.beamManager.fireLaser(this.name, this.localToGlobal(firePt1).x, this.localToGlobal(firePt1).y, _local5, _arg4);
Game.g.beamManager.fireLaser(this.name, this.localToGlobal(firePt2).x, this.localToGlobal(firePt2).y, _local6, _arg4);
}
override public function keyIsPressed(_arg1:String):void{
rotationKeyPressCheck(_arg1);
accelerationKeyPressCheck(_arg1);
}
}
}//package gameElements.interactiveElements.modifiers.splitters
Section 20
//Splitter5 (gameElements.interactiveElements.modifiers.splitters.Splitter5)
package gameElements.interactiveElements.modifiers.splitters {
import flash.display.*;
import flash.geom.*;
public class Splitter5 extends Splitter {
public var firePoint1:MovieClip;
public var firePoint2:MovieClip;
public var firePoint3:MovieClip;
private var firePt1:Point;
private var firePt2:Point;
private var firePt3:Point;
public var hitTestBox:MovieClip;
public function Splitter5(){
init();
controlScheme.addKey(moveForwardKey);
controlScheme.addKey(rotateLeftKey);
controlScheme.addKey(moveBackwardKey);
controlScheme.addKey(rotateRightKey);
setHitTestBox(this.hitTestBox);
}
override public function keyIsReleased(_arg1:String):void{
rotationKeyReleaseCheck(_arg1);
accelerationKeyReleaseCheck(_arg1);
}
override public function onLaserHit(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:String):void{
var _local5:Number;
var _local6:Number;
var _local7:Number;
_local5 = (rotation + 30);
_local6 = (rotation + 150);
_local7 = (rotation + 270);
firePt1 = new Point(firePoint1.x, firePoint1.y);
firePt2 = new Point(firePoint2.x, firePoint2.y);
firePt3 = new Point(firePoint3.x, firePoint3.y);
Game.g.beamManager.fireLaser(this.name, this.localToGlobal(firePt1).x, this.localToGlobal(firePt1).y, _local5, _arg4);
Game.g.beamManager.fireLaser(this.name, this.localToGlobal(firePt2).x, this.localToGlobal(firePt2).y, _local6, _arg4);
Game.g.beamManager.fireLaser(this.name, this.localToGlobal(firePt3).x, this.localToGlobal(firePt3).y, _local7, _arg4);
}
override public function keyIsPressed(_arg1:String):void{
rotationKeyPressCheck(_arg1);
accelerationKeyPressCheck(_arg1);
}
}
}//package gameElements.interactiveElements.modifiers.splitters
Section 21
//Splitter6 (gameElements.interactiveElements.modifiers.splitters.Splitter6)
package gameElements.interactiveElements.modifiers.splitters {
import flash.display.*;
import flash.geom.*;
public class Splitter6 extends Splitter {
public var firePoint1:MovieClip;
public var firePoint2:MovieClip;
private var firePt1:Point;
private var firePt2:Point;
public var hitTestBox:MovieClip;
public function Splitter6(){
init();
controlScheme.addKey(moveForwardKey);
controlScheme.addKey(rotateLeftKey);
controlScheme.addKey(moveBackwardKey);
controlScheme.addKey(rotateRightKey);
setHitTestBox(this.hitTestBox);
}
override public function keyIsReleased(_arg1:String):void{
rotationKeyReleaseCheck(_arg1);
accelerationKeyReleaseCheck(_arg1);
}
override public function onLaserHit(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:String):void{
var _local5:Number;
var _local6:Number;
_local5 = (rotation + 135);
_local6 = (rotation + 270);
firePt1 = new Point(firePoint1.x, firePoint1.y);
firePt2 = new Point(firePoint2.x, firePoint2.y);
Game.g.beamManager.fireLaser(this.name, this.localToGlobal(firePt1).x, this.localToGlobal(firePt1).y, _local5, _arg4);
Game.g.beamManager.fireLaser(this.name, this.localToGlobal(firePt2).x, this.localToGlobal(firePt2).y, _local6, _arg4);
}
override public function keyIsPressed(_arg1:String):void{
rotationKeyPressCheck(_arg1);
accelerationKeyPressCheck(_arg1);
}
}
}//package gameElements.interactiveElements.modifiers.splitters
Section 22
//Reflector (gameElements.interactiveElements.modifiers.Reflector)
package gameElements.interactiveElements.modifiers {
import gameElements.interactiveElements.*;
import flash.display.*;
public class Reflector extends InteractiveElement {
public var hitTestBox:MovieClip;
public function Reflector(){
init();
controlScheme.addKey("w");
controlScheme.addKey("a");
controlScheme.addKey("s");
controlScheme.addKey("d");
setHitTestBox(this.hitTestBox);
}
override public function keyIsReleased(_arg1:String):void{
rotationKeyReleaseCheck(_arg1);
accelerationKeyReleaseCheck(_arg1);
}
override public function onLaserHit(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:String):void{
var _local5:Number;
var _local6:Number;
_local5 = ((this.rotation - 90) * 1);
_arg3 = (_arg3 * -1);
_local6 = (((this.rotation + _local5) + _arg3) + 90);
Game.g.beamManager.fireLaser(this.name, _arg1, _arg2, _local6, _arg4);
}
override public function keyIsPressed(_arg1:String):void{
rotationKeyPressCheck(_arg1);
accelerationKeyPressCheck(_arg1);
}
}
}//package gameElements.interactiveElements.modifiers
Section 23
//InteractiveElement (gameElements.interactiveElements.InteractiveElement)
package gameElements.interactiveElements {
import control.*;
import flash.events.*;
import flash.display.*;
import flash.media.*;
import gameElements.*;
public class InteractiveElement extends GameElement {
public var SPEED_DEFAULT:Number;// = 2
protected var moveForwardKey:String;
public var isMoving:Boolean;// = false
public var smallestMoveInc:Number;// = 0.1
public var velX:Number;
private var thrust:Sound;
public var velY:Number;
public var speed:Number;
public var acceleration:Number;// = 0
private var lostBuffer:Number;// = 50
public var rocketsFiring:Boolean;// = false
protected var moveBackwardKey2:String;
public var isRotating:Boolean;// = false
protected var rotateRightKey2:String;
protected var rotateLeftKey2:String;
protected var moveBackwardKey:String;
protected var rotateLeftKey:String;
private var displayLostInSpace;// = false
protected var rotateRightKey:String;
public var SPEED_MAX:Number;// = 5
public var accelerationDecrease:Number;// = 0.1
protected var selectedCircle:SelectedCircle;
protected var controlScheme:ControlScheme;
public var ACCELERATION_DEFAULT;// = 0.5
private var rocketSounding:Boolean;// = false
public var ROTATION_INC:Number;// = 2.5
protected var moveForwardKey2:String;
private var thrustChannel:SoundChannel;
public var rotateAmount:Number;// = 0
public var hitTestBox_mc:MovieClip;
public var rotationDirectionVal;// = 1
public var accX:Number;
public var accY:Number;
public function InteractiveElement(){
isRotating = false;
isMoving = false;
rocketsFiring = false;
displayLostInSpace = false;
ROTATION_INC = 2.5;
rotateAmount = 0;
rotationDirectionVal = 1;
SPEED_DEFAULT = 2;
SPEED_MAX = 5;
ACCELERATION_DEFAULT = 0.5;
acceleration = 0;
accelerationDecrease = 0.1;
smallestMoveInc = 0.1;
lostBuffer = 50;
rocketSounding = false;
super();
}
public function rotateShip():void{
this.rotation = (this.rotation + (rotateAmount * rotationDirectionVal));
}
public function keyIsReleased(_arg1:String):void{
}
public function setKeyListener(){
Game.g.keyListener.setControlScheme(controlScheme);
}
public function accelerationKeyReleaseCheck(_arg1:String){
if (_arg1 == moveForwardKey){
Game.g.keyListener.setKeyState(moveForwardKey, false);
this.rocketsFiring = false;
acceleration = 0;
rocketSilence();
};
if (_arg1 == moveBackwardKey){
Game.g.keyListener.setKeyState(moveForwardKey, false);
this.rocketsFiring = false;
acceleration = 0;
rocketSilence();
};
}
public function deselect(){
var indexNumber:Number;
try {
indexNumber = getChildIndex(selectedCircle);
removeChildAt(indexNumber);
} catch(e:ArgumentError) {
};
this.addEventListener(MouseEvent.MOUSE_DOWN, onClick);
rotateAmount = 0;
accX = 0;
accY = 0;
rocketsFiring = false;
rocketSilence();
}
protected function setHitTestBox(_arg1:MovieClip){
this.hitTestBox_mc = _arg1;
}
public function onClick(_arg1:MouseEvent){
Game.g.deselectCurrentIE();
Game.g.currentIE = this;
setKeyListener();
selectedCircle = new SelectedCircle();
this.addChild(selectedCircle);
this.removeEventListener(MouseEvent.MOUSE_DOWN, onClick);
}
public function setSpeed(_arg1:Number){
this.speed = _arg1;
}
public function fireRockets(){
accX = (Math.sin(((this.rotation * Math.PI) / 180)) * acceleration);
accY = (Math.cos(((this.rotation * Math.PI) / 180)) * acceleration);
}
public function init(){
moveForwardKey = "w";
moveBackwardKey = "s";
rotateRightKey = "d";
rotateLeftKey = "a";
moveForwardKey2 = "up";
moveBackwardKey2 = "down";
rotateRightKey2 = "right";
rotateLeftKey2 = "left";
velX = 0;
velY = 0;
accX = 0;
accY = 0;
setSpeed(SPEED_DEFAULT);
controlScheme = new ControlScheme();
thrust = new Thrust();
this.addEventListener(Event.ENTER_FRAME, shipControl);
this.addEventListener(MouseEvent.MOUSE_DOWN, onClick);
}
private function rocketSilence(){
if (rocketSounding){
thrustChannel.stop();
rocketSounding = false;
};
}
private function rocketSounds(){
if (!rocketSounding){
thrustChannel = thrust.play(0, 999, null);
rocketSounding = true;
};
}
public function destroyShip(){
this.parent.removeChild(this);
if (Game.g.currentIE == this){
Game.g.currentIE = null;
};
}
public function rotationKeyPressCheck(_arg1:String){
if (_arg1 == rotateLeftKey){
Game.g.keyListener.setKeyState(rotateLeftKey, true);
this.isRotating = true;
rotationDirectionVal = -1;
rotateAmount = ROTATION_INC;
};
if (_arg1 == rotateRightKey){
Game.g.keyListener.setKeyState(rotateRightKey, true);
this.isRotating = true;
rotationDirectionVal = 1;
rotateAmount = ROTATION_INC;
};
}
public function shipControl(_arg1:Event){
if (rocketsFiring){
fireRockets();
} else {
accX = (accY = 0);
};
moveShip();
rotateShip();
}
public function accelerationKeyPressCheck(_arg1:String){
if (_arg1 == moveForwardKey){
Game.g.keyListener.setKeyState(moveForwardKey, true);
this.rocketsFiring = true;
acceleration = ACCELERATION_DEFAULT;
rocketSounds();
};
if (_arg1 == moveBackwardKey){
Game.g.keyListener.setKeyState(moveBackwardKey, true);
this.rocketsFiring = true;
acceleration = (ACCELERATION_DEFAULT * -1);
rocketSounds();
};
}
public function moveShip(){
var _local1:Number;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:Sound;
var _local6:SoundChannel;
velX = (velX + accX);
velY = (velY + accY);
if (velX > SPEED_MAX){
velX = SPEED_MAX;
};
if (velY > SPEED_MAX){
velY = SPEED_MAX;
};
if (velX < (-1 * SPEED_MAX)){
velX = (-1 * SPEED_MAX);
};
if (velY < (-1 * SPEED_MAX)){
velY = (-1 * SPEED_MAX);
};
this.x = (this.x + velX);
this.y = (this.y - velY);
_local1 = Math.atan((velY / velX));
_local2 = Math.sqrt(((velX * velX) + (velY * velY)));
_local3 = (_local2 * Math.cos(_local1));
_local4 = (_local2 * Math.sin(_local1));
if (_local2 > 0.1){
velX = (velX * 0.9);
velY = (velY * 0.9);
} else {
velX = 0;
velY = 0;
};
if ((((((((x < (0 - lostBuffer))) || ((x > (Game.g.stage.stageWidth + lostBuffer))))) || ((y < (0 - lostBuffer))))) || ((y > (Game.g.stage.stageHeight + lostBuffer))))){
if (!displayLostInSpace){
_local5 = new LostInSpace();
_local6 = _local5.play();
Game.g.displayMessage("Lost in space!", "Warning! Objects that stray from the edges of the screen will be LOOSSSTT IIINNN SSPPAAACCEE.\n\n Careful! Not only can bad flying lead to lost devices, but asteroids can also bump your beam modifiers into the void!");
rocketSilence();
displayLostInSpace = true;
Game.g.deselectCurrentIE();
destroyShip();
};
} else {
displayLostInSpace = false;
};
}
public function rotationKeyReleaseCheck(_arg1:String){
if (_arg1 == rotateLeftKey){
if (Game.g.keyListener.checkKeyStatus(rotateRightKey) == 0){
this.isRotating = false;
rotateAmount = 0;
};
rotationDirectionVal = 1;
Game.g.keyListener.setKeyState(rotateLeftKey, false);
} else {
if (_arg1 == rotateRightKey){
if (Game.g.keyListener.checkKeyStatus(rotateLeftKey) == 0){
this.isRotating = false;
rotateAmount = 0;
};
rotationDirectionVal = -1;
Game.g.keyListener.setKeyState(rotateRightKey, false);
};
};
}
public function keyIsPressed(_arg1:String):void{
}
}
}//package gameElements.interactiveElements
Section 24
//PowerGenerator (gameElements.interactiveElements.PowerGenerator)
package gameElements.interactiveElements {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import beam.*;
import flash.utils.*;
import flash.geom.*;
public class PowerGenerator extends InteractiveElement {
public var hitTestBox:MovieClip;
private var firePt:Point;
private var pauseTimer:Timer;
public var firePoint:MovieClip;
public var isFiring:Boolean;
private var fireLaserKey:String;// = "space"
public function PowerGenerator(){
fireLaserKey = "space";
super();
init();
controlScheme.addKey(fireLaserKey);
}
private function enableFiring(_arg1:TimerEvent){
pauseTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, enableFiring);
isFiring = false;
}
private function pauseFiring(){
pauseTimer = new Timer(3000, 1);
pauseTimer.addEventListener(TimerEvent.TIMER_COMPLETE, enableFiring);
pauseTimer.start();
}
override public function keyIsPressed(_arg1:String):void{
var _local2:LaserSound;
var _local3:SoundTransform;
var _local4:SoundChannel;
if (_arg1 == fireLaserKey){
if (!isFiring){
isFiring = true;
_local2 = new LaserSound();
_local3 = new SoundTransform(0.5, 0);
_local2.transform = _local3;
_local4 = _local2.play();
firePt = new Point(firePoint.x, firePoint.y);
Game.g.beamManager.fireLaser(this.name, this.localToGlobal(firePt).x, this.localToGlobal(firePt).y, this.rotation, BeamManager.RED_BEAM);
pauseFiring();
};
};
}
}
}//package gameElements.interactiveElements
Section 25
//Asteroid (gameElements.noninteractiveElements.hazards.Asteroid)
package gameElements.noninteractiveElements.hazards {
import flash.events.*;
import gameElements.interactiveElements.*;
import flash.display.*;
public class Asteroid extends Hazard {
public var hitTestCircle:MovieClip;
private var isRotating:Boolean;// = false
private var buffer:Number;
public function Asteroid(){
isRotating = false;
super();
addFrameScript(0, frame1, 54, frame55);
init();
}
public function setScale(_arg1:Number){
this.scaleX = _arg1;
this.scaleY = _arg1;
buffer = this.width;
}
private function checkForCollisions(){
var _local1:int;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local1 = 0;
while (_local1 < Game.g.interactiveElementsContainer.numChildren) {
if (this.hitTestCircle.hitTestObject(Game.g.interactiveElementsContainer.getChildAt(_local1))){
if ((((Game.g.interactiveElementsContainer.getChildAt(_local1) is InteractiveElement)) && (!((Game.g.interactiveElementsContainer.getChildAt(_local1) is PowerGenerator))))){
if (this.hitTestCircle.hitTestObject(InteractiveElement(Game.g.interactiveElementsContainer.getChildAt(_local1)).hitTestBox_mc)){
_local2 = ((Game.g.interactiveElementsContainer.getChildAt(_local1).y - this.y) * -1);
_local3 = (Game.g.interactiveElementsContainer.getChildAt(_local1).x - this.x);
_local4 = (_local2 / _local3);
_local5 = (Math.atan(_local4) / (Math.PI / 180));
if (_local3 < 0){
_local5 = (_local5 + 180);
};
if ((((_local3 >= 0)) && ((_local2 < 0)))){
_local5 = (_local5 + 360);
};
_local6 = Math.sqrt((((_local2 * _local2) + _local3) + _local3));
InteractiveElement(Game.g.interactiveElementsContainer.getChildAt(_local1)).velX = (3 * Math.cos(((_local5 * Math.PI) / 180)));
InteractiveElement(Game.g.interactiveElementsContainer.getChildAt(_local1)).velY = (3 * Math.sin(((_local5 * Math.PI) / 180)));
};
};
};
_local1++;
};
}
private function init():void{
rotationAmount = ROTATION_INC;
velX = 0;
velY = 0;
this.addEventListener(Event.ENTER_FRAME, frameActions);
}
public function stopListeners(){
this.addEventListener(Event.ENTER_FRAME, checkForEnd);
this.removeEventListener(Event.ENTER_FRAME, frameActions);
}
function frame1(){
stop();
}
public function setRotate(_arg1:Boolean){
this.isRotating = _arg1;
}
private function checkForEnd(_arg1:Event){
var _local2:Number;
if (this.currentFrame == this.totalFrames){
this.removeEventListener(Event.ENTER_FRAME, checkForEnd);
this.parent.removeChild(this);
_local2 = Game.g.asteroidArray.indexOf(this);
Game.g.asteroidArray.splice(_local2, 1);
};
}
function frame55(){
stop();
}
private function frameActions(_arg1:Event){
var _local2:Number;
if (isRotating){
this.rotation = (this.rotation + rotationAmount);
};
this.x = (this.x + velX);
this.y = (this.y + velY);
if ((((((((this.x > (Game.g.stage.stageWidth + buffer))) || ((this.x < (0 - buffer))))) || ((this.y < (0 - buffer))))) || ((this.y > (Game.g.stage.stageHeight + buffer))))){
_local2 = Game.g.asteroidArray.indexOf(this.name, 0);
Game.g.asteroidArray.splice(_local2, 1);
this.removeEventListener(Event.ENTER_FRAME, frameActions);
this.parent.removeChild(this);
};
checkForCollisions();
}
public function blowUp(){
this.gotoAndPlay("blowUp");
rotationAmount = 0;
stopListeners();
}
}
}//package gameElements.noninteractiveElements.hazards
Section 26
//Hazard (gameElements.noninteractiveElements.hazards.Hazard)
package gameElements.noninteractiveElements.hazards {
import gameElements.*;
public class Hazard extends GameElement {
protected var velX:Number;
protected var velY:Number;
protected var rotationAmount:Number;
protected var ROTATION_INC:Number;// = 1
public function Hazard(){
ROTATION_INC = 1;
super();
}
public function setVelocities(_arg1:Number, _arg2:Number){
this.velX = _arg1;
this.velY = _arg2;
}
}
}//package gameElements.noninteractiveElements.hazards
Section 27
//Satellite (gameElements.noninteractiveElements.strandedElements.Satellite)
package gameElements.noninteractiveElements.strandedElements {
public class Satellite extends StrandedElement {
public function Satellite(_arg1:String){
addFrameScript(9, frame10, 32, frame33);
setBeamType(_arg1);
}
function frame10(){
stop();
}
function frame33(){
stop();
}
}
}//package gameElements.noninteractiveElements.strandedElements
Section 28
//Shuttle (gameElements.noninteractiveElements.strandedElements.Shuttle)
package gameElements.noninteractiveElements.strandedElements {
public class Shuttle extends StrandedElement {
public function Shuttle(_arg1:String){
addFrameScript(9, frame10, 32, frame33);
setBeamType(_arg1);
}
function frame10(){
stop();
}
function frame33(){
stop();
}
}
}//package gameElements.noninteractiveElements.strandedElements
Section 29
//SpaceStation (gameElements.noninteractiveElements.strandedElements.SpaceStation)
package gameElements.noninteractiveElements.strandedElements {
public class SpaceStation extends StrandedElement {
public function SpaceStation(_arg1:String){
addFrameScript(9, frame10, 32, frame33);
setBeamType(_arg1);
}
function frame10(){
stop();
}
function frame33(){
stop();
}
}
}//package gameElements.noninteractiveElements.strandedElements
Section 30
//StrandedElement (gameElements.noninteractiveElements.strandedElements.StrandedElement)
package gameElements.noninteractiveElements.strandedElements {
import flash.events.*;
import beam.*;
import gameElements.*;
import flash.filters.*;
public class StrandedElement extends GameElement {
public var isPoweredUp:Boolean;// = false
private var beamColor:Number;
private var filterList:Array;
private var blurInactiveLength:Number;// = -5
protected var glowFilter:GlowFilter;
public var beamType:String;
private var currentBlur;// = 10
private var GLOW_STRENGTH:Number;// = 10
private var HIGHEST_BLUR:Number;// = 10
private var blurDecreaseAmount:Number;// = 0.5
public function StrandedElement(){
filterList = new Array();
HIGHEST_BLUR = 10;
currentBlur = 10;
GLOW_STRENGTH = 10;
blurDecreaseAmount = 0.5;
blurInactiveLength = -5;
isPoweredUp = false;
super();
}
public function setBeamType(_arg1:String){
this.beamType = _arg1;
if (this.beamType == BeamManager.RED_BEAM){
beamColor = BeamManager.RED_BEAM_BACK_COLOR;
} else {
if (this.beamType == BeamManager.BLUE_BEAM){
beamColor = BeamManager.BLUE_BEAM_BACK_COLOR;
} else {
if (this.beamType == BeamManager.GREEN_BEAM){
beamColor = BeamManager.GREEN_BEAM_BACK_COLOR;
};
};
};
createGlowFilter();
startPulse();
}
public function powerOff(){
gotoAndPlay("powerOff");
startPulse();
}
public function startPulse(){
this.addEventListener(Event.ENTER_FRAME, pulse);
}
public function createGlowFilter():void{
glowFilter = new GlowFilter();
glowFilter.alpha = 1;
glowFilter.color = beamColor;
glowFilter.blurX = HIGHEST_BLUR;
glowFilter.blurY = HIGHEST_BLUR;
glowFilter.strength = GLOW_STRENGTH;
filterList.push(glowFilter);
this.filters = filterList;
}
private function pulse(_arg1:Event){
filterList = null;
this.filters = null;
currentBlur = (currentBlur - blurDecreaseAmount);
if (currentBlur <= blurInactiveLength){
currentBlur = HIGHEST_BLUR;
} else {
if (currentBlur >= 0){
glowFilter.blurX = currentBlur;
glowFilter.blurY = currentBlur;
filterList = new Array();
filterList.push(glowFilter);
this.filters = filterList;
};
};
}
public function stopPulse(){
this.removeEventListener(Event.ENTER_FRAME, pulse);
this.filters = null;
}
private function energize(){
this.gotoAndPlay("poweredUp");
isPoweredUp = true;
stopPulse();
}
override public function onLaserHit(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:String):void{
if (_arg4 == this.beamType){
energize();
};
}
public function powerOn(){
gotoAndPlay("powerOn");
}
}
}//package gameElements.noninteractiveElements.strandedElements
Section 31
//Bullet (gameElements.particles.Bullet)
package gameElements.particles {
import flash.events.*;
import gameElements.noninteractiveElements.hazards.*;
import flash.display.*;
public class Bullet extends MovieClip {
private var rotationAngle:Number;
private var SPEED:Number;// = 5
private var velX:Number;
private var speed:Number;
private var velY:Number;
public function Bullet(_arg1:Number, _arg2:Number, _arg3:Number){
SPEED = 5;
super();
speed = SPEED;
this.rotationAngle = _arg1;
velX = ((Math.cos((((_arg1 * Math.PI) / 180) + ((Math.PI * 3) / 2))) * speed) + _arg2);
velY = ((Math.sin((((_arg1 * Math.PI) / 180) + ((Math.PI * 3) / 2))) * speed) - _arg3);
this.addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
public function onEnterFrame(_arg1:Event){
var _local2:int;
this.x = (this.x + velX);
this.y = (this.y + velY);
if ((((((((this.x < 0)) || ((this.x > Game.g.stage.stageWidth)))) || ((this.y < 0)))) || ((this.y > Game.g.stage.stageHeight)))){
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame);
parent.removeChild(this);
Game.g.totalBullets--;
} else {
_local2 = 0;
while (_local2 < Game.g.asteroidArray.length) {
if (Asteroid(Game.g.asteroidArray[_local2]).hitTestCircle.hitTestObject(this)){
Asteroid(Game.g.asteroidArray[_local2]).blowUp();
this.removeEventListener(Event.ENTER_FRAME, onEnterFrame);
Game.g.totalBullets--;
parent.removeChild(this);
break;
};
_local2++;
};
};
}
}
}//package gameElements.particles
Section 32
//GameElement (gameElements.GameElement)
package gameElements {
import flash.display.*;
public class GameElement extends MovieClip {
public var prevName:String;// = ""
public function GameElement(){
prevName = "";
super();
}
public function onLaserHit(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:String):void{
}
}
}//package gameElements
Section 33
//InGameMenu (gui.InGameMenu)
package gui {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public class InGameMenu extends MovieClip {
public var tryAgainButton:SimpleButton;
public var mainMenuButton:SimpleButton;
public var closeButton:SimpleButton;
public var playMoreGamesButton:SimpleButton;
public function InGameMenu(){
tryAgainButton.addEventListener(MouseEvent.CLICK, tryAgain);
mainMenuButton.addEventListener(MouseEvent.CLICK, backToMenu);
playMoreGamesButton.addEventListener(MouseEvent.CLICK, playMoreGames);
closeButton.addEventListener(MouseEvent.CLICK, closeWindowEvent);
}
private function closeWindow(){
tryAgainButton.removeEventListener(MouseEvent.CLICK, tryAgain);
mainMenuButton.removeEventListener(MouseEvent.CLICK, backToMenu);
playMoreGamesButton.removeEventListener(MouseEvent.CLICK, playMoreGames);
}
private function backToMenu(_arg1:MouseEvent){
Game.g.loadMainScreen();
closeWindow();
}
private function tryAgain(_arg1:MouseEvent){
Game.g.loadLevel();
closeWindow();
}
private function closeWindowEvent(_arg1:MouseEvent){
closeWindow();
this.parent.removeChild(this);
}
private function playMoreGames(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.armorgames.com"));
closeWindow();
}
}
}//package gui
Section 34
//Level (level.Level)
package level {
import flash.events.*;
import flash.media.*;
import flash.utils.*;
public class Level {
private var asteroidMinTime:Number;// = 15
private var lvlSounds:SoundChannel;
public var flyingAsteroids:Boolean;// = false
private var asteroidTimer:Timer;
private var asteroidMaxTime:Number;// = 30
public var winTitle:String;// = ""
private var asteroidWarning:Sound;
public var winBody:String;// = ""
public function Level(){
winTitle = "";
winBody = "";
flyingAsteroids = false;
asteroidMinTime = 15;
asteroidMaxTime = 30;
super();
}
public function completeLevel(){
stopAsteroids();
Game.g.displayWinMessage();
}
public function startFlyingAsteroids(){
flyingAsteroids = true;
asteroidTimer = new Timer(40000);
asteroidTimer.addEventListener(TimerEvent.TIMER, newAsteroid);
asteroidTimer.start();
}
public function loadLevelElements(){
}
protected function setWinTitle(_arg1:String){
this.winTitle = _arg1;
}
protected function setWinBody(_arg1:String){
this.winBody = _arg1;
}
public function stopAsteroids(){
if (flyingAsteroids){
asteroidTimer.stop();
asteroidTimer.removeEventListener(TimerEvent.TIMER, newAsteroid);
flyingAsteroids = false;
};
}
private function newAsteroid(_arg1:Event){
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
asteroidWarning = new AsteroidWarning2();
lvlSounds = asteroidWarning.play();
if (Math.random() > 0.5){
_local2 = (Math.random() * Game.g.stage.stageWidth);
_local3 = ((0 - 30) + 1);
_local4 = ((Math.random() * 2) - 2);
_local5 = (Math.random() * 2);
} else {
_local3 = (Math.random() * Game.g.stage.stageWidth);
_local2 = ((0 - 30) + 1);
_local5 = ((Math.random() * 2) - 2);
_local4 = (Math.random() * 2);
};
Game.g.createAsteroid(_local2, _local3, _local4, _local5, 100, true);
}
public function loadLevel():void{
Game.g.clearScreen();
loadLevelElements();
Game.g.loadBG();
Game.g.loadGUI();
}
}
}//package level
Section 35
//Level1 (level.Level1)
package level {
import beam.*;
public class Level1 extends Level {
public function Level1(){
loadLevel();
setWinTitle("Good work!");
setWinBody("Now on to the next stranded device. Keep track of the password, that way you won't need to repeat this level!");
}
override public function loadLevelElements(){
Game.g.createStrandedElement("Station", BeamManager.RED_BEAM, 540, 240, 0);
Game.g.createGenerator(100, 240, 0);
Game.g.displayMessage("Help has finally arrived!", "What a solar storm! Most, if not all, of NASA's orbitting devices have been disabled. They're floating adrift without power! Quickly, SELECT the beam emitter and press SPACE to give this Space Station a little jump start.");
}
}
}//package level
Section 36
//Level10 (level.Level10)
package level {
import beam.*;
public class Level10 extends Level {
public function Level10(){
loadLevel();
setWinTitle("Nice work!");
setWinBody("You seem like you know what you're doing now, so I'll just chime in when you might need some more advice.");
}
override public function loadLevelElements(){
Game.g.createGenerator(476, 223, 0);
Game.g.createStrandedElement("Shuttle", BeamManager.RED_BEAM, 80, 383, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 198, 234, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 325, 234, 0);
Game.g.createSplitter(602, 253, 4, 100);
Game.g.createSplitter(582, 304, 4, 30);
Game.g.createReflector(522, 119, 60);
Game.g.createReflector(564, 148, 30);
Game.g.createReflector(597, 193, -60);
Game.g.displayMessage("Awkward Positioning.", "Hmmm... looks like the power generator is pointing in the wrong direction.");
}
}
}//package level
Section 37
//Level11 (level.Level11)
package level {
import beam.*;
public class Level11 extends Level {
public function Level11(){
loadLevel();
setWinTitle("Good Job!");
setWinBody("");
}
override public function loadLevelElements(){
Game.g.createAsteroid(246, 152, 0, 0, 100, false);
Game.g.createAsteroid(401, 152, 0, 0, 100, false);
Game.g.createAsteroid(249, 292, 0, 0, 100, false);
Game.g.createAsteroid(404, 287, 0, 0, 100, false);
Game.g.createGenerator(192, 226, 0);
Game.g.createStrandedElement("Shuttle", BeamManager.RED_BEAM, 149, 69, 0);
Game.g.createStrandedElement("Satellite", BeamManager.BLUE_BEAM, 552, 228, 0);
Game.g.createStrandedElement("Satellite", BeamManager.BLUE_BEAM, 161, 382, 0);
Game.g.createStrandedElement("Station", BeamManager.RED_BEAM, 325, 443, 0);
Game.g.createFilter(111, 220, 0, BeamManager.BLUE_BEAM);
Game.g.createSplitter(134, 168, 2, 0);
Game.g.createSplitter(120, 263, 1, 30);
Game.g.createReflector(64, 176, 60);
Game.g.createReflector(58, 262, 30);
}
}
}//package level
Section 38
//Level12 (level.Level12)
package level {
import beam.*;
public class Level12 extends Level {
public function Level12(){
loadLevel();
setWinTitle("Good thinking!");
setWinBody("");
}
override public function loadLevelElements(){
Game.g.createGenerator(330, 126, 90);
Game.g.createGenerator(322, 356, -90);
Game.g.createStrandedElement("Shuttle", BeamManager.RED_BEAM, 75, 112, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 570, 100, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 75, 377, 0);
Game.g.createStrandedElement("Station", BeamManager.RED_BEAM, 570, 373, 0);
Game.g.createSplitter(286, 199, 1, 0);
Game.g.createSplitter(319, 251, 1, 30);
Game.g.createReflector(348, 198, 60);
Game.g.displayMessage("Two generators?", "You'll have to be quick to fire the two of them at the same time.");
}
}
}//package level
Section 39
//Level13 (level.Level13)
package level {
import beam.*;
public class Level13 extends Level {
public function Level13(){
loadLevel();
setWinTitle("Wow!");
setWinBody("That was interesting.");
}
override public function loadLevelElements(){
Game.g.createGenerator(103, 240, 0);
Game.g.createStrandedElement("Shuttle", BeamManager.GREEN_BEAM, 118, 139, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 229, 70, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 337, 70, 0);
Game.g.createStrandedElement("Station", BeamManager.GREEN_BEAM, 449, 70, 0);
Game.g.createStrandedElement("Shuttle", BeamManager.BLUE_BEAM, 118, 334, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 226, 405, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 337, 405, 0);
Game.g.createStrandedElement("Station", BeamManager.BLUE_BEAM, 454, 405, 0);
Game.g.createSplitter(272, 0x0101, 2, 40);
Game.g.createSplitter(313, 232, 2, -45);
Game.g.createSplitter(310, 270, 2, 20);
Game.g.createSplitter(345, 248, 1, 30);
Game.g.createReflector(272, 210, 60);
Game.g.createReflector(362, 282, -200);
Game.g.createFilter(238, 0x0100, 0, BeamManager.GREEN_BEAM);
Game.g.createFilter(272, 217, 0, BeamManager.BLUE_BEAM);
}
}
}//package level
Section 40
//Level14 (level.Level14)
package level {
import beam.*;
public class Level14 extends Level {
public function Level14(){
loadLevel();
setWinTitle("Nice shooting!");
setWinBody("");
}
override public function loadLevelElements(){
Game.g.createGenerator(103, 240, 0);
Game.g.createAsteroid(386, 38, 0, 0, 50, false);
Game.g.createAsteroid(314, 108, 0, 0, 50, false);
Game.g.createAsteroid(380, 117, 0, 0, 50, false);
Game.g.createAsteroid(475, 82, 0, 0, 50, false);
Game.g.createAsteroid(559, 97, 0, 0, 50, false);
Game.g.createAsteroid(252, 169, 0, 0, 50, false);
Game.g.createAsteroid(281, 239, 0, 0, 50, false);
Game.g.createAsteroid(354, 243, 0, 0, 50, false);
Game.g.createAsteroid(418, 224, 0, 0, 50, false);
Game.g.createAsteroid(479, 204, 0, 0, 50, false);
Game.g.createAsteroid(551, 175, 0, 0, 50, false);
Game.g.createAsteroid(621, 206, 0, 0, 50, false);
Game.g.createAsteroid(267, 321, 0, 0, 50, false);
Game.g.createAsteroid(353, 359, 0, 0, 50, false);
Game.g.createAsteroid(457, 337, 0, 0, 50, false);
Game.g.createAsteroid(521, 360, 0, 0, 50, false);
Game.g.createAsteroid(583, 289, 0, 0, 50, false);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 350, 184, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 458, 152, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 381, 300, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 511, 265, 0);
Game.g.createSplitter(138, 184, 3, 40);
Game.g.createDestroyer(150, 284, 50);
}
}
}//package level
Section 41
//Level15 (level.Level15)
package level {
import beam.*;
public class Level15 extends Level {
public function Level15(){
loadLevel();
setWinTitle("Nice shooting!");
setWinBody("");
}
override public function loadLevelElements(){
Game.g.createGenerator(106, 433, -90);
Game.g.createAsteroid(222, 27, 0, 0, 100, false);
Game.g.createAsteroid(396, 32, 0, 0, 72, false);
Game.g.createAsteroid(249, 149, 0, 0, 100, false);
Game.g.createAsteroid(424, 105, 0, 0, 100, false);
Game.g.createAsteroid(56, 260, 0, 0, 100, false);
Game.g.createAsteroid(163, 214, 0, 0, 100, false);
Game.g.createAsteroid(243, 228, 0, 0, 80, false);
Game.g.createAsteroid(394, 207, 0, 0, 100, false);
Game.g.createAsteroid(469, 268, 0, 0, 100, false);
Game.g.createAsteroid(579, 249, 0, 0, 100, false);
Game.g.createAsteroid(330, 359, 0, 0, 297, false);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 587, 340, 0);
Game.g.createStrandedElement("Shuttle", BeamManager.RED_BEAM, 480, 446, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 580, 439, 0);
Game.g.createSplitter(113, 362, 2, 30);
Game.g.createReflector(65, 354, 40);
Game.g.createReflector(109, 326, -20);
Game.g.createReflector(162, 338, 100);
Game.g.createReflector(153, 372, -60);
}
}
}//package level
Section 42
//Level16 (level.Level16)
package level {
import beam.*;
public class Level16 extends Level {
public function Level16(){
loadLevel();
setWinTitle("Nice shooting!");
setWinBody("");
}
override public function loadLevelElements(){
Game.g.createGenerator(70, 87, 30);
Game.g.createGenerator(70, 400, -30);
Game.g.createStrandedElement("Station", BeamManager.RED_BEAM, 224, 55, 0);
Game.g.createStrandedElement("Shuttle", BeamManager.GREEN_BEAM, 437, 55, 0);
Game.g.createStrandedElement("Satellite", BeamManager.BLUE_BEAM, 330, 182, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 330, 295, 0);
Game.g.createStrandedElement("Shuttle", BeamManager.GREEN_BEAM, 224, 435, 0);
Game.g.createStrandedElement("Station", BeamManager.BLUE_BEAM, 437, 435, 0);
Game.g.createSplitter(121, 163, 5, 30);
Game.g.createSplitter(51, 224, 5, -50);
Game.g.createReflector(74, 182, 40);
Game.g.createReflector(65, 263, -20);
Game.g.createFilter(112, 220, 0, BeamManager.RED_BEAM);
Game.g.createFilter(154, 237, 0, BeamManager.RED_BEAM);
Game.g.createFilter(127, 226, 0, BeamManager.GREEN_BEAM);
Game.g.createFilter(94, 287, 0, BeamManager.BLUE_BEAM);
Game.g.createFilter(137, 304, 0, BeamManager.GREEN_BEAM);
}
}
}//package level
Section 43
//Level17 (level.Level17)
package level {
import flash.media.*;
import beam.*;
public class Level17 extends Level {
public function Level17(){
loadLevel();
setWinTitle("Nice shooting!");
setWinBody("");
}
override public function loadLevelElements(){
var _local1:Sound;
var _local2:SoundChannel;
Game.g.createGenerator(580, 244, 180);
Game.g.createStrandedElement("Satellite", BeamManager.BLUE_BEAM, 232, 37, 0);
Game.g.createStrandedElement("Satellite", BeamManager.GREEN_BEAM, 320, 43, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 463, 168, 0);
Game.g.createStrandedElement("Station", BeamManager.GREEN_BEAM, 60, 236, 0);
Game.g.createStrandedElement("Satellite", BeamManager.BLUE_BEAM, 232, 447, 0);
Game.g.createStrandedElement("Satellite", BeamManager.GREEN_BEAM, 317, 449, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 463, 329, 0);
Game.g.createSplitter(509, 224, 2, 30);
Game.g.createSplitter(466, 240, 5, -50);
Game.g.createSplitter(505, 271, 2, -50);
Game.g.createFilter(555, 196, 0, BeamManager.GREEN_BEAM);
Game.g.createFilter(555, 290, 0, BeamManager.BLUE_BEAM);
Game.g.createDestroyer(150, 300, 50);
startFlyingAsteroids();
_local1 = new AsteroidWarning1();
_local2 = _local1.play();
}
}
}//package level
Section 44
//Level18 (level.Level18)
package level {
import flash.media.*;
import beam.*;
public class Level18 extends Level {
public function Level18(){
loadLevel();
setWinTitle("Nice shooting!");
setWinBody("");
}
override public function loadLevelElements(){
var _local1:Sound;
var _local2:SoundChannel;
Game.g.createGenerator(64, 150, 0);
Game.g.createGenerator(64, 340, 0);
Game.g.createStrandedElement("Satellite", BeamManager.BLUE_BEAM, 577, 70, 0);
Game.g.createStrandedElement("Shuttle", BeamManager.GREEN_BEAM, 577, 180, 0);
Game.g.createStrandedElement("Satellite", BeamManager.BLUE_BEAM, 577, 290, 0);
Game.g.createStrandedElement("Station", BeamManager.GREEN_BEAM, 577, 400, 0);
Game.g.createSplitter(155, 188, 1, 30);
Game.g.createSplitter(101, 259, 1, -50);
Game.g.createFilter(72, 213, 0, BeamManager.GREEN_BEAM);
Game.g.createFilter(72, 296, 0, BeamManager.BLUE_BEAM);
Game.g.createReflector(123, 222, 30);
Game.g.createReflector(194, 251, 0);
Game.g.createReflector(141, 293, -50);
Game.g.createReflector(199, 317, -20);
Game.g.createDestroyer(150, 300, 50);
startFlyingAsteroids();
_local1 = new AsteroidWarning1();
_local2 = _local1.play();
}
}
}//package level
Section 45
//Level19 (level.Level19)
package level {
import flash.media.*;
import beam.*;
public class Level19 extends Level {
public function Level19(){
loadLevel();
setWinTitle("Nice shooting!");
setWinBody("");
}
override public function loadLevelElements(){
var _local1:Sound;
var _local2:SoundChannel;
Game.g.createGenerator(46, 48, 90);
Game.g.createStrandedElement("Satellite", BeamManager.GREEN_BEAM, 240, 40, 0);
Game.g.createStrandedElement("Shuttle", BeamManager.GREEN_BEAM, 389, 52, 0);
Game.g.createStrandedElement("Satellite", BeamManager.BLUE_BEAM, 489, 158, 0);
Game.g.createStrandedElement("Station", BeamManager.GREEN_BEAM, 240, 206, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 195, 281, 0);
Game.g.createStrandedElement("Shuttle", BeamManager.BLUE_BEAM, 490, 301, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 189, 437, 0);
Game.g.createStrandedElement("Station", BeamManager.RED_BEAM, 340, 437, 0);
Game.g.createSplitter(104, 66, 2, 30);
Game.g.createSplitter(89, 113, 3, -50);
Game.g.createSplitter(26, 113, 2, -50);
Game.g.createFilter(139, 91, 0, BeamManager.GREEN_BEAM);
Game.g.createFilter(59, 156, 0, BeamManager.BLUE_BEAM);
Game.g.createReflector(119, 167, 30);
Game.g.createDestroyer(59, 180, 50);
startFlyingAsteroids();
_local1 = new AsteroidWarning1();
_local2 = _local1.play();
}
}
}//package level
Section 46
//Level2 (level.Level2)
package level {
import beam.*;
public class Level2 extends Level {
public function Level2(){
loadLevel();
setWinTitle("Nice trajectory!");
setWinBody("Too bad we can't rotate the beam emitter. We'll need to use any beam modifiers available to help alter the beam's path and power the stranded devices.");
}
override public function loadLevelElements(){
Game.g.createGenerator(100, 340, -45);
Game.g.createStrandedElement("Shuttle", BeamManager.RED_BEAM, 540, 340, 0);
Game.g.createReflector(120, 100, 30);
Game.g.displayMessage("Oh, RATS!", "The beam emitter's rotational thrusters were disabled in the storm. Luckily, one of our solar reflectors is in the area. SELECT the reflector, then MOVE and ROTATE it with the 'W', 'A', 'S', and 'D' keys into the correct position. Try to bounce the beam off of it and onto the shuttle. ");
}
}
}//package level
Section 47
//Level20 (level.Level20)
package level {
import beam.*;
public class Level20 extends Level {
public function Level20(){
loadLevel();
setWinTitle("Nice shooting!");
setWinBody("");
}
override public function loadLevelElements(){
Game.g.createGenerator(203, 101, 45);
Game.g.createGenerator(338, 115, 90);
Game.g.createGenerator(133, 223, 0);
Game.g.createGenerator(193, 371, -45);
Game.g.createGenerator(273, 371, -90);
Game.g.createStrandedElement("Satellite", BeamManager.BLUE_BEAM, 270, 52, 0);
Game.g.createStrandedElement("Satellite", BeamManager.GREEN_BEAM, 459, 90, 0);
Game.g.createStrandedElement("Satellite", BeamManager.GREEN_BEAM, 459, 221, 0);
Game.g.createStrandedElement("Satellite", BeamManager.BLUE_BEAM, 459, 373, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 332, 436, 0);
Game.g.createFilter(100, 100, 0, BeamManager.BLUE_BEAM);
Game.g.createFilter(130, 110, 0, BeamManager.GREEN_BEAM);
Game.g.displayMessage("Adult swim only.", "You've done so well! However, these final 5 levels are going to be a bit more difficult. Remember! There is at least ONE way to complete each level. I promise. \n Love, \n James the Programmer");
}
}
}//package level
Section 48
//Level21 (level.Level21)
package level {
import beam.*;
public class Level21 extends Level {
public function Level21(){
loadLevel();
setWinTitle("Nice shooting!");
setWinBody("");
}
override public function loadLevelElements(){
Game.g.createGenerator(103, 243, 0);
Game.g.createStrandedElement("Satellite", BeamManager.GREEN_BEAM, 266, 239, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 465, 240, 0);
Game.g.createStrandedElement("Shuttle", BeamManager.BLUE_BEAM, 566, 78, 0);
Game.g.createStrandedElement("Station", BeamManager.BLUE_BEAM, 566, 398, 0);
Game.g.createAsteroid(271, 168, 0, 0, 100, false);
Game.g.createAsteroid(461, 168, 0, 0, 100, false);
Game.g.createAsteroid(271, 306, 0, 0, 100, false);
Game.g.createAsteroid(461, 306, 0, 0, 100, false);
Game.g.createFilter(161, 187, 0, BeamManager.BLUE_BEAM);
Game.g.createFilter(120, 204, 0, BeamManager.GREEN_BEAM);
Game.g.createFilter(178, 289, 0, BeamManager.RED_BEAM);
Game.g.createSplitter(76, 181, 4, 100);
Game.g.createSplitter(156, 230, 4, 100);
Game.g.createSplitter(153, 333, 1, 100);
Game.g.createReflector(120, 161, -30);
Game.g.createReflector(58, 307, 30);
Game.g.createReflector(120, 314, 0);
}
}
}//package level
Section 49
//Level22 (level.Level22)
package level {
import beam.*;
public class Level22 extends Level {
public function Level22(){
loadLevel();
setWinTitle("Nice shooting!");
setWinBody("");
}
override public function loadLevelElements(){
Game.g.createGenerator(103, 243, 0);
Game.g.createStrandedElement("Satellite", BeamManager.GREEN_BEAM, 95, 89, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 492, 41, 0);
Game.g.createStrandedElement("Shuttle", BeamManager.RED_BEAM, 564, 217, 0);
Game.g.createStrandedElement("Station", BeamManager.BLUE_BEAM, 68, 336, 0);
Game.g.createStrandedElement("Satellite", BeamManager.GREEN_BEAM, 556, 342, 0);
Game.g.createStrandedElement("Satellite", BeamManager.BLUE_BEAM, 88, 422, 0);
Game.g.createStrandedElement("Satellite", BeamManager.GREEN_BEAM, 456, 422, 0);
Game.g.createAsteroid(266, 151, 0, 0, 100, false);
Game.g.createAsteroid(443, 235, 0, 0, 100, false);
Game.g.createAsteroid(327, 405, 0, 0, 100, false);
Game.g.createFilter(74, 159, 0, BeamManager.BLUE_BEAM);
Game.g.createFilter(52, 193, 0, BeamManager.GREEN_BEAM);
Game.g.createFilter(93, 193, 0, BeamManager.GREEN_BEAM);
Game.g.createSplitter(159, 264, 1, 100);
Game.g.createSplitter(128, 295, 6, 100);
Game.g.createSplitter(200, 285, 2, 100);
Game.g.createSplitter(164, 311, 5, 100);
}
}
}//package level
Section 50
//Level23 (level.Level23)
package level {
import flash.media.*;
import beam.*;
public class Level23 extends Level {
public function Level23(){
loadLevel();
setWinTitle("Nice shooting!");
setWinBody("");
}
override public function loadLevelElements(){
var _local1:Sound;
var _local2:SoundChannel;
Game.g.createGenerator(463, 233, 0);
Game.g.createStrandedElement("Station", BeamManager.GREEN_BEAM, 74, 60, 0);
Game.g.createStrandedElement("Satellite", BeamManager.GREEN_BEAM, 398, 60, 0);
Game.g.createStrandedElement("Shuttle", BeamManager.GREEN_BEAM, 521, 60, 0);
Game.g.createStrandedElement("Satellite", BeamManager.BLUE_BEAM, 586, 177, 0);
Game.g.createStrandedElement("Satellite", BeamManager.BLUE_BEAM, 593, 292, 0);
Game.g.createStrandedElement("Station", BeamManager.RED_BEAM, 197, 410, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 398, 410, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 0x0200, 410, 0);
Game.g.createFilter(318, 166, 0, BeamManager.GREEN_BEAM);
Game.g.createFilter(321, 201, 0, BeamManager.RED_BEAM);
Game.g.createFilter(381, 212, 0, BeamManager.BLUE_BEAM);
Game.g.createSplitter(374, 174, 5, 0);
Game.g.createSplitter(251, 211, 3, -30);
Game.g.createSplitter(392, 263, 5, 100);
Game.g.createReflector(304, 212, 30);
Game.g.createReflector(334, 248, 0);
Game.g.createReflector(290, 260, -50);
Game.g.createReflector(349, 278, 100);
Game.g.createDestroyer(150, 300, 50);
startFlyingAsteroids();
_local1 = new AsteroidWarning1();
_local2 = _local1.play();
}
}
}//package level
Section 51
//Level24 (level.Level24)
package level {
import flash.media.*;
import beam.*;
public class Level24 extends Level {
public function Level24(){
loadLevel();
setWinTitle("Nice shooting!");
setWinBody("");
}
override public function loadLevelElements(){
var _local1:Sound;
var _local2:SoundChannel;
Game.g.createGenerator(50, 233, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 60, 147, 0);
Game.g.createStrandedElement("Satellite", BeamManager.BLUE_BEAM, 336, 56, 0);
Game.g.createStrandedElement("Satellite", BeamManager.GREEN_BEAM, 486, 56, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 55, 324, 0);
Game.g.createStrandedElement("Satellite", BeamManager.BLUE_BEAM, 336, 412, 0);
Game.g.createStrandedElement("Satellite", BeamManager.GREEN_BEAM, 486, 412, 0);
Game.g.createFilter(144, 200, 0, BeamManager.GREEN_BEAM);
Game.g.createFilter(127, 233, 0, BeamManager.RED_BEAM);
Game.g.createFilter(142, 262, 0, BeamManager.BLUE_BEAM);
Game.g.createSplitter(189, 164, 4, 0);
Game.g.createSplitter(213, 208, 4, -30);
Game.g.createSplitter(180, 236, 1, 100);
Game.g.createSplitter(218, 265, 4, 50);
Game.g.createSplitter(198, 307, 4, -30);
Game.g.createReflector(136, 156, 30);
Game.g.createReflector(148, 301, 0);
Game.g.createDestroyer(150, 320, 50);
startFlyingAsteroids();
_local1 = new AsteroidWarning1();
_local2 = _local1.play();
}
}
}//package level
Section 52
//Level25 (level.Level25)
package level {
import flash.media.*;
import beam.*;
public class Level25 extends Level {
public function Level25(){
loadLevel();
setWinTitle("Nice shooting!");
setWinBody("");
}
override public function loadLevelElements(){
var _local1:Sound;
var _local2:SoundChannel;
Game.g.createGenerator(50, 241, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 184, 56, 0);
Game.g.createStrandedElement("Satellite", BeamManager.BLUE_BEAM, 424, 56, 0);
Game.g.createStrandedElement("Satellite", BeamManager.BLUE_BEAM, 304, 156, 0);
Game.g.createStrandedElement("Satellite", BeamManager.BLUE_BEAM, 534, 156, 0);
Game.g.createStrandedElement("Satellite", BeamManager.GREEN_BEAM, 184, 243, 0);
Game.g.createStrandedElement("Satellite", BeamManager.BLUE_BEAM, 434, 243, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 304, 343, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 534, 343, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 424, 433, 0);
Game.g.createFilter(71, 285, 0, BeamManager.GREEN_BEAM);
Game.g.createFilter(123, 287, 0, BeamManager.RED_BEAM);
Game.g.createFilter(96, 318, 0, BeamManager.BLUE_BEAM);
Game.g.createSplitter(90, 159, 2, 0);
Game.g.createSplitter(128, 185, 6, -30);
Game.g.createSplitter(70, 206, 6, 100);
Game.g.createSplitter(106, 242, 4, 50);
Game.g.createSplitter(54, 335, 3, -30);
Game.g.createReflector(89, 133, 30);
Game.g.createDestroyer(150, 320, 50);
startFlyingAsteroids();
_local1 = new AsteroidWarning1();
_local2 = _local1.play();
}
}
}//package level
Section 53
//Level26 (level.Level26)
package level {
public class Level26 extends Level {
public function Level26(){
loadLevel();
setWinTitle("Nice shooting!");
setWinBody("");
}
override public function loadLevelElements(){
Game.g.displayGameOverMessage();
}
}
}//package level
Section 54
//Level3 (level.Level3)
package level {
import beam.*;
public class Level3 extends Level {
public function Level3(){
loadLevel();
setWinTitle("Good split!");
setWinBody("You're doing great so far! Let's see how we can help some of the other stranded devices.");
}
override public function loadLevelElements(){
Game.g.createGenerator(100, 240, 0);
Game.g.createStrandedElement("Station", BeamManager.RED_BEAM, 540, 100, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 540, 400, 0);
Game.g.createSplitter(200, 100, 1, 0);
Game.g.displayMessage("Ah, two birds with one stone!", "What luck! Two stranded devices in one area! Hmmm, you'll need to use a splitter to finish this job. SELECT the splitter and MOVE it into position to split one beam into two. Charge both devices with one shot to move on.");
}
}
}//package level
Section 55
//Level4 (level.Level4)
package level {
import beam.*;
public class Level4 extends Level {
public function Level4(){
loadLevel();
setWinTitle("Good show, old chap!");
setWinBody("We're more than happy to lend a helping hand. Let's see who else needs our assistance.");
}
override public function loadLevelElements(){
Game.g.createGenerator(100, 240, -30);
Game.g.createStrandedElement("Satellite", BeamManager.BLUE_BEAM, 540, 400, 0);
Game.g.createReflector(120, 100, 30);
Game.g.createFilter(100, 400, 0, BeamManager.BLUE_BEAM);
Game.g.displayMessage("Helping friends in need!", "Looks like our neighbors in Great Britain need our help! Problem is, their devices require a different colored beam. No worries, that's what filters are for! SELECT the filter, then MOVE it into position to change the beam from red to blue before it hits the satellite.");
}
}
}//package level
Section 56
//Level5 (level.Level5)
package level {
import beam.*;
public class Level5 extends Level {
public function Level5(){
loadLevel();
setWinTitle("Nice beam bending!");
setWinBody("I wish I could say that this will be the last asteroid we have to deal with, but the upper atmosphere is littered with these pesky annoyances.");
}
override public function loadLevelElements(){
Game.g.createAsteroid(320, 240, 0, 0, 150, true);
Game.g.createGenerator(100, 240, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 540, 240, 0);
Game.g.createReflector(120, 130, 30);
Game.g.createReflector(140, 400, 100);
Game.g.displayMessage("Asteroids!", "How annoying! This would be an easy job if it weren't for that blasted piece of space debris in the way. See if you can use some reflectors to get around it.");
}
}
}//package level
Section 57
//Level6 (level.Level6)
package level {
import beam.*;
public class Level6 extends Level {
public function Level6(){
loadLevel();
setWinTitle("Great job!");
setWinBody("Quick thinking, space cadet! I guess that wasn't as hard as it seemed.");
}
override public function loadLevelElements(){
Game.g.createGenerator(100, 240, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 197, 75, 0);
Game.g.createStrandedElement("Shuttle", BeamManager.GREEN_BEAM, 518, 75, 0);
Game.g.createStrandedElement("Station", BeamManager.BLUE_BEAM, 358, 404, 0);
Game.g.createSplitter(134, 196, 1, 100);
Game.g.createSplitter(134, 324, 1, 50);
Game.g.createFilter(100, 150, 0, BeamManager.BLUE_BEAM);
Game.g.createFilter(100, 400, 0, BeamManager.GREEN_BEAM);
Game.g.displayMessage("Uh oh, this looks interesting.", "Hmmm, three stranded objects, but only two splittlers. Any ideas?\n\nURGENT NOTICE: The boys in the lab have noticed that beam modifiers don't work correctly when they're too close! Try and make sure that they have a nice gap in between them.");
}
}
}//package level
Section 58
//Level7 (level.Level7)
package level {
import flash.media.*;
import beam.*;
public class Level7 extends Level {
public function Level7(){
loadLevel();
setWinTitle("What a mess!");
setWinBody("That was a real pain in the neck! I wish that there was some way to get rid of those big chunks of rock.");
}
override public function loadLevelElements(){
var _local1:Sound;
var _local2:SoundChannel;
Game.g.createAsteroid(80, 110, 0, 0, 100, false);
Game.g.createAsteroid(291, 54, 0, 0, 105, false);
Game.g.createAsteroid(569, 46, 0, 0, 95, false);
Game.g.createAsteroid(354, 230, 0, 0, 95, false);
Game.g.createAsteroid(68, 341, 0, 0, 95, false);
Game.g.createAsteroid(304, 409, 0, 0, 95, false);
Game.g.createAsteroid(500, 390, 0, 0, 95, false);
Game.g.createGenerator(89, 235, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 0x0101, 239, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 540, 135, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 475, 311, 0);
Game.g.createSplitter(129, 191, 2, 100);
Game.g.createReflector(165, 232, 30);
Game.g.createReflector(132, 278, 100);
Game.g.displayMessage("Incoming Asteroids!", "WARNING, we're stuck in an asteroid field! While immobile space rocks are annoying obstacles, mobile asteroids can bump your beam modifiers out into the void of space! Fly them out of the way.");
startFlyingAsteroids();
_local1 = new AsteroidWarning1();
_local2 = _local1.play();
}
}
}//package level
Section 59
//Level8 (level.Level8)
package level {
import flash.media.*;
import beam.*;
public class Level8 extends Level {
public function Level8(){
loadLevel();
setWinTitle("What a blast!");
setWinBody("That asteroid buster was a real life saver!");
}
override public function loadLevelElements(){
var _local1:Sound;
var _local2:SoundChannel;
Game.g.createAsteroid(326, 65, 0, 0, 90, false);
Game.g.createAsteroid(339, 155, 0, 0, 100, false);
Game.g.createAsteroid(310, 244, 0, 0, 120, false);
Game.g.createAsteroid(337, 338, 0, 0, 95, false);
Game.g.createAsteroid(307, 423, 0, 0, 100, false);
Game.g.createGenerator(100, 240, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 481, 150, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 567, 350, 0);
Game.g.createSplitter(134, 196, 1, 100);
Game.g.createDestroyer(150, 300, 50);
Game.g.displayMessage("Heavy artillery!", "Ask and you shall receive! An asteroid buster is in the area! SELECT the destroyer and MOVE it. Press SPACE to fire. Careful, though. The destroyer is quite fragile. It may not react well to a direct hit from the particle beam.");
_local1 = new AsteroidBuster();
_local2 = _local1.play();
}
}
}//package level
Section 60
//Level9 (level.Level9)
package level {
import beam.*;
public class Level9 extends Level {
public function Level9(){
loadLevel();
setWinTitle("TOUCHDOWN!");
setWinBody("[** The quarterback and coaches are contemplating a two point conversion, but the defensive line looks ready to... **] \nOh wait, sorry. Let's move on...");
}
override public function loadLevelElements(){
Game.g.createGenerator(461, 80, 135);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 146, 103, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 250, 198, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 423, 340, 0);
Game.g.createStrandedElement("Satellite", BeamManager.RED_BEAM, 539, 412, 0);
Game.g.createStrandedElement("Satellite", BeamManager.GREEN_BEAM, 210, 397, 0);
Game.g.createSplitter(390, 102, 2, 100);
Game.g.createSplitter(411, 146, 4, 30);
Game.g.createSplitter(459, 142, 4, -30);
Game.g.createFilter(415, 67, 0, BeamManager.GREEN_BEAM);
Game.g.displayMessage("Football is starting soon!", "These satellites support the nation's sports broadcasting companies. Thousands of football crazed fans will thank you if you get them back up and running.");
}
}
}//package level
Section 61
//SoundManager (sounds.SoundManager)
package sounds {
import flash.media.*;
public class SoundManager {
private var asteroidWarningNum:Number;
public var destroyerDestroyeds:Array;
private var victoryVoiceNum:Number;
public var asteroidWarnings:Array;
public var victoryVoices:Array;
private var destroyerDestroyedNum:Number;
private var soundChannel:SoundChannel;
public function SoundManager(){
init();
victoryVoiceNum = 0;
asteroidWarningNum = 0;
destroyerDestroyedNum = 0;
}
private function initVictoryVoices(){
var _local1:Sound;
_local1 = new VictoryVoice1();
victoryVoices.push(_local1);
_local1 = new VictoryVoice2();
victoryVoices.push(_local1);
_local1 = new VictoryVoice3();
victoryVoices.push(_local1);
_local1 = new VictoryVoice4();
victoryVoices.push(_local1);
_local1 = new VictoryVoice5();
victoryVoices.push(_local1);
_local1 = new VictoryVoice6();
victoryVoices.push(_local1);
}
private function initAsteroidWarnings(){
var _local1:Sound;
_local1 = new AsteroidWarning1();
asteroidWarnings.push(_local1);
_local1 = new AsteroidWarning2();
asteroidWarnings.push(_local1);
}
public function init(){
victoryVoices = new Array();
asteroidWarnings = new Array();
destroyerDestroyeds = new Array();
initVictoryVoices();
initAsteroidWarnings();
initDestroyerDestroyeds();
}
private function initDestroyerDestroyeds(){
var _local1:Sound;
_local1 = new DestroyedDestroyer1();
destroyerDestroyeds.push(_local1);
_local1 = new DestroyedDestroyer2();
destroyerDestroyeds.push(_local1);
}
public function playDestroyerDestroyed(){
soundChannel = Sound(destroyerDestroyeds[destroyerDestroyedNum]).play();
destroyerDestroyedNum++;
if (destroyerDestroyedNum == destroyerDestroyeds.length){
destroyerDestroyedNum = 0;
};
}
public function playVictoryVoice(){
soundChannel = Sound(victoryVoices[victoryVoiceNum]).play();
victoryVoiceNum++;
if (victoryVoiceNum == victoryVoices.length){
victoryVoiceNum = 0;
};
}
public function playAsteroidWarning(){
soundChannel = Sound(asteroidWarnings[asteroidWarningNum]).play();
asteroidWarningNum++;
if (asteroidWarningNum == asteroidWarnings.length){
asteroidWarningNum = 0;
};
}
}
}//package sounds
Section 62
//VictorySong (sounds.VictorySong)
package sounds {
import flash.media.*;
public class VictorySong extends Sound {
}
}//package sounds
Section 63
//GameOverMessage (transmissions.GameOverMessage)
package transmissions {
import flash.events.*;
import flash.display.*;
import sounds.*;
import flash.media.*;
public class GameOverMessage extends Transmission {
public var Y_VAL:Number;// = 0xFF
public var mainButton:SimpleButton;
public var X_VAL:Number;// = 330
public function GameOverMessage(){
var _local1:VictorySong;
var _local2:SoundChannel;
X_VAL = 330;
Y_VAL = 0xFF;
super();
mainButton.addEventListener(MouseEvent.CLICK, backToMenu);
_local1 = new VictorySong();
_local2 = _local1.play();
}
private function backToMenu(_arg1:Event){
Game.g.loadMainScreen();
mainButton.removeEventListener(MouseEvent.CLICK, backToMenu);
}
}
}//package transmissions
Section 64
//Message (transmissions.Message)
package transmissions {
import flash.events.*;
import flash.display.*;
import flash.text.*;
public class Message extends Transmission {
public var rogerButton:SimpleButton;
public var Y_VAL:Number;// = 0xFF
public var transMessage:TextField;
public var transTitle:TextField;
public var X_VAL:Number;// = 330
public function Message(_arg1:String, _arg2:String){
X_VAL = 330;
Y_VAL = 0xFF;
super();
setTitle(_arg1);
setMessage(_arg2);
transTitle.text = _arg1;
transMessage.text = _arg2;
rogerButton.addEventListener(MouseEvent.CLICK, closeWindow);
}
private function closeWindow(_arg1:Event){
this.parent.removeChild(this);
rogerButton.removeEventListener(MouseEvent.CLICK, closeWindow);
}
}
}//package transmissions
Section 65
//Transmission (transmissions.Transmission)
package transmissions {
import flash.display.*;
public class Transmission extends MovieClip {
public var transMessageText:String;// = ""
public var transTitleText:String;// = ""
public function Transmission(){
transTitleText = "";
transMessageText = "";
super();
}
public function setTitle(_arg1:String):void{
this.transTitleText = _arg1;
}
public function setMessage(_arg1:String){
this.transMessageText = _arg1;
}
}
}//package transmissions
Section 66
//WinMessage (transmissions.WinMessage)
package transmissions {
import flash.events.*;
import flash.display.*;
import flash.text.*;
public class WinMessage extends Transmission {
public var nextButton:SimpleButton;
public var Y_VAL:Number;// = 0xFF
public var transMessage:TextField;
public var mainButton:SimpleButton;
public var transTitle:TextField;
public var X_VAL:Number;// = 330
public function WinMessage(_arg1:String, _arg2:String){
X_VAL = 330;
Y_VAL = 0xFF;
super();
transTitleText = _arg1;
transMessageText = ((_arg2 + "\n\nPassword: ") + Game.g.levelPasswords[Game.g.currentLevel]);
transTitle.text = transTitleText;
transMessage.text = transMessageText;
nextButton.addEventListener(MouseEvent.CLICK, nextLevel);
mainButton.addEventListener(MouseEvent.CLICK, backToMenu);
Game.g.soundManager.playVictoryVoice();
}
private function backToMenu(_arg1:Event){
Game.g.loadMainScreen();
nextButton.removeEventListener(MouseEvent.CLICK, nextLevel);
mainButton.removeEventListener(MouseEvent.CLICK, backToMenu);
}
private function nextLevel(_arg1:Event){
Game.g.loadNextLevel();
nextButton.removeEventListener(MouseEvent.CLICK, nextLevel);
mainButton.removeEventListener(MouseEvent.CLICK, backToMenu);
}
}
}//package transmissions
Section 67
//AsteroidBuster (AsteroidBuster)
package {
import flash.media.*;
public dynamic class AsteroidBuster extends Sound {
}
}//package
Section 68
//AsteroidWarning1 (AsteroidWarning1)
package {
import flash.media.*;
public dynamic class AsteroidWarning1 extends Sound {
}
}//package
Section 69
//AsteroidWarning2 (AsteroidWarning2)
package {
import flash.media.*;
public dynamic class AsteroidWarning2 extends Sound {
}
}//package
Section 70
//Buzzer (Buzzer)
package {
import flash.media.*;
public dynamic class Buzzer extends Sound {
}
}//package
Section 71
//DestroyedDestroyer1 (DestroyedDestroyer1)
package {
import flash.media.*;
public dynamic class DestroyedDestroyer1 extends Sound {
}
}//package
Section 72
//DestroyedDestroyer2 (DestroyedDestroyer2)
package {
import flash.media.*;
public dynamic class DestroyedDestroyer2 extends Sound {
}
}//package
Section 73
//Game (Game)
package {
import control.*;
import flash.events.*;
import gameElements.interactiveElements.destroyers.*;
import gameElements.interactiveElements.*;
import gameElements.interactiveElements.modifiers.*;
import gameElements.interactiveElements.modifiers.splitters.*;
import gameElements.interactiveElements.modifiers.filters.*;
import gameElements.noninteractiveElements.hazards.*;
import flash.display.*;
import sounds.*;
import flash.media.*;
import beam.*;
import level.*;
import flash.text.*;
import gameElements.particles.*;
import gui.*;
import transmissions.*;
import gameElements.*;
import gameElements.noninteractiveElements.strandedElements.*;
public class Game extends MovieClip {
private var generators:Array;
private var totalFilters:Number;// = 0
public var levelPasswords:Array;
public var lvl:Level;
public var keyListener:KeyListener;
private var totalAsteroids:Number;
private var bgArtContainer:Sprite;
public var currentIE:InteractiveElement;
private var totalGenerators:Number;// = 0
public var asteroidArray:Array;
private var bulletVol:SoundTransform;
private var intro:Intro;
public var interactiveElementsContainer:Sprite;
public var particlesForegroundContainer:Sprite;
private var gameMuted:Boolean;// = false
private var strandedElementsContainer:Sprite;
public var hazardsContainer:Sprite;
public var powerGeneratorName:String;// = "PowerGenerator"
public var beamManager:BeamManager;
private var particlesBackgroundContainer:Sprite;
private var totalIEs:Number;
private var bulletSound:Sound;
private var IN_GAME_MENU_BUTTON_X:Number;// = 597
private var IN_GAME_MENU_BUTTON_Y:Number;// = 22
public var loadBar:LoadBar;
public var powerGenerator:PowerGenerator;
private var musicPlayer:SoundChannel;
private var totalReflectors:Number;// = 0
private var gameElementsContainer:Sprite;
public var currentLevel:Number;
public var testField:TextField;
private var totalDestroyers:Number;// = 0
public var beamContainer:Sprite;
private var MAX_BULLETS:Number;// = 10
public var soundManager:SoundManager;
private var bulletChannel:SoundChannel;
private var GUIContainer:Sprite;
private var totalSplitters:Number;// = 0
private var MUTE_X:Number;// = 524
private var MUTE_Y:Number;// = 22
public var totalBullets:Number;
private var strandedDevices:Array;
public static var g:Game;
public function Game(){
powerGeneratorName = "PowerGenerator";
totalGenerators = 0;
totalFilters = 0;
totalReflectors = 0;
totalSplitters = 0;
totalDestroyers = 0;
MAX_BULLETS = 10;
bulletVol = new SoundTransform(0.5, 0);
asteroidArray = new Array();
MUTE_X = 524;
MUTE_Y = 22;
IN_GAME_MENU_BUTTON_X = 597;
IN_GAME_MENU_BUTTON_Y = 22;
gameMuted = false;
super();
addFrameScript(0, frame1);
this.addEventListener(Event.ENTER_FRAME, loadGame);
}
public function loadNextLevel(){
currentLevel++;
if (lvl != null){
lvl.stopAsteroids();
};
loadLevel();
}
public function deselectCurrentIE(){
if (Game.g.currentIE != null){
Game.g.currentIE.deselect();
};
}
public function setGameInstance(){
g = this;
}
public function displayGameOverMessage(){
var _local1:GameOverMessage;
_local1 = new GameOverMessage();
_local1.x = _local1.X_VAL;
_local1.y = _local1.Y_VAL;
GUIContainer.addChild(_local1);
}
private function loadInGameMenu(_arg1:MouseEvent){
var _local2:InGameMenu;
_local2 = new InGameMenu();
_local2.x = (this.stage.stageWidth / 2);
_local2.y = (this.stage.stageHeight / 2);
GUIContainer.addChild(_local2);
}
public function loadLevel(){
clearScreen();
if (currentLevel == 1){
lvl = new Level1();
} else {
if (currentLevel == 2){
lvl = new Level2();
} else {
if (currentLevel == 3){
lvl = new Level3();
} else {
if (currentLevel == 4){
lvl = new Level4();
} else {
if (currentLevel == 5){
lvl = new Level5();
} else {
if (currentLevel == 6){
lvl = new Level6();
} else {
if (currentLevel == 7){
lvl = new Level7();
} else {
if (currentLevel == 8){
lvl = new Level8();
} else {
if (currentLevel == 9){
lvl = new Level9();
} else {
if (currentLevel == 10){
lvl = new Level10();
} else {
if (currentLevel == 11){
lvl = new Level11();
} else {
if (currentLevel == 12){
lvl = new Level12();
} else {
if (currentLevel == 13){
lvl = new Level13();
} else {
if (currentLevel == 14){
lvl = new Level14();
} else {
if (currentLevel == 15){
lvl = new Level15();
} else {
if (currentLevel == 16){
lvl = new Level16();
} else {
if (currentLevel == 17){
lvl = new Level17();
} else {
if (currentLevel == 18){
lvl = new Level18();
} else {
if (currentLevel == 19){
lvl = new Level19();
} else {
if (currentLevel == 20){
lvl = new Level20();
} else {
if (currentLevel == 21){
lvl = new Level21();
} else {
if (currentLevel == 22){
lvl = new Level22();
} else {
if (currentLevel == 23){
lvl = new Level23();
} else {
if (currentLevel == 24){
lvl = new Level24();
} else {
if (currentLevel == 25){
lvl = new Level25();
} else {
if (currentLevel == 26){
lvl = new Level26();
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
}
public function loadGUI(){
var _local1:InGameMenuButton;
var _local2:MuteButton;
_local1 = new InGameMenuButton();
_local2 = new MuteButton();
_local1.x = IN_GAME_MENU_BUTTON_X;
_local1.y = IN_GAME_MENU_BUTTON_Y;
_local2.x = MUTE_X;
_local2.y = MUTE_Y;
_local1.addEventListener(MouseEvent.CLICK, loadInGameMenu);
_local2.addEventListener(MouseEvent.CLICK, muteGame);
GUIContainer.addChild(_local1);
GUIContainer.addChild(_local2);
}
function frame1(){
stop();
}
private function checkForIntroEnd(_arg1:Event){
if (intro.currentFrame == intro.totalFrames){
intro.removeEventListener(Event.ENTER_FRAME, checkForIntroEnd);
this.removeChild(intro);
startGame();
};
}
public function createDestroyer(_arg1:Number, _arg2:Number, _arg3:Number):Destroyer{
var _local4:Destroyer;
totalDestroyers++;
_local4 = new Destroyer();
_local4.name = ("Destroyer" + totalDestroyers);
_local4.x = _arg1;
_local4.y = _arg2;
_local4.rotation = _arg3;
interactiveElementsContainer.addChild(_local4);
return (_local4);
}
public function resetFocus(){
currentIE.setKeyListener();
}
public function resetAllPrevGameElements(){
var _local1:int;
_local1 = 0;
while (_local1 < interactiveElementsContainer.numChildren) {
GameElement(interactiveElementsContainer.getChildAt(_local1)).prevName = "";
_local1++;
};
}
private function movePlanet(_arg1:Event){
_arg1.target.x = (_arg1.target.x - 0.1);
if ((_arg1.target.x + (_arg1.target.width / 2)) < 0){
_arg1.target.x = ((stage.stageWidth + (_arg1.target.width / 2)) + 200);
};
}
public function displayMessage(_arg1:String, _arg2:String){
var _local3:Message;
_local3 = new Message(_arg1, _arg2);
_local3.x = _local3.X_VAL;
_local3.y = _local3.Y_VAL;
GUIContainer.addChild(_local3);
}
private function startMusic(){
var _local1:Song;
_local1 = new Song();
musicPlayer = _local1.play(0, 999, null);
}
public function displayWinMessage(){
var _local1:WinMessage;
_local1 = new WinMessage(lvl.winTitle, lvl.winBody);
_local1.x = _local1.X_VAL;
_local1.y = _local1.Y_VAL;
GUIContainer.addChild(_local1);
}
public function loadMainScreen(){
var _local1:MainMenu;
clearScreen();
currentLevel = 1;
keyListener.setControlScheme(new ControlScheme());
_local1 = new MainMenu();
GUIContainer.addChild(_local1);
}
public function clearScreen(){
var _local1:uint;
unloadGUI();
while (bgArtContainer.numChildren > 0) {
bgArtContainer.removeChild(bgArtContainer.getChildAt(0));
};
if (lvl != null){
lvl.stopAsteroids();
};
if (asteroidArray.length > 0){
_local1 = 0;
while (_local1 < asteroidArray.length) {
Asteroid(asteroidArray[_local1]).stopListeners();
_local1++;
};
};
asteroidArray = null;
asteroidArray = new Array();
totalAsteroids = 0;
totalBullets = 0;
while (interactiveElementsContainer.numChildren > 0) {
interactiveElementsContainer.removeChild(interactiveElementsContainer.getChildAt(0));
};
while (particlesForegroundContainer.numChildren > 0) {
particlesForegroundContainer.removeChild(particlesForegroundContainer.getChildAt(0));
};
strandedDevices = null;
strandedDevices = new Array();
asteroidArray = null;
asteroidArray = new Array();
generators = null;
generators = new Array();
}
public function createBullet(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number){
var _local6:Bullet;
if ((totalBullets + 1) <= MAX_BULLETS){
totalBullets++;
_local6 = new Bullet(_arg3, _arg4, _arg5);
_local6.x = _arg1;
_local6.y = _arg2;
_local6.name = ("bullet" + totalBullets);
particlesForegroundContainer.addChild(_local6);
bulletSound = new Laser();
bulletChannel = bulletSound.play();
bulletChannel.soundTransform = bulletVol;
};
}
private function loadIntro(){
intro = new Intro();
intro.name = "intro";
intro.addEventListener(Event.ENTER_FRAME, checkForIntroEnd);
intro.x = (this.stage.stageWidth / 2);
intro.y = (this.stage.stageHeight / 2);
this.addChild(intro);
}
public function init(){
beamContainer = new Sprite();
bgArtContainer = new Sprite();
gameElementsContainer = new Sprite();
GUIContainer = new Sprite();
interactiveElementsContainer = new Sprite();
hazardsContainer = new Sprite();
particlesForegroundContainer = new Sprite();
particlesBackgroundContainer = new Sprite();
strandedElementsContainer = new Sprite();
this.addChild(bgArtContainer);
this.addChild(particlesForegroundContainer);
this.addChild(gameElementsContainer);
this.addChild(GUIContainer);
gameElementsContainer.addChild(hazardsContainer);
gameElementsContainer.addChild(strandedElementsContainer);
gameElementsContainer.addChild(beamContainer);
gameElementsContainer.addChild(interactiveElementsContainer);
gameElementsContainer.addChild(beamContainer);
setGameInstance();
beamManager = new BeamManager();
keyListener = new KeyListener();
totalIEs = 0;
totalAsteroids = 0;
asteroidArray = new Array();
totalBullets = 0;
strandedDevices = new Array();
currentLevel = 1;
levelPasswords = new Array();
createPasswords();
loadMainScreen();
soundManager = new SoundManager();
}
public function createGenerator(_arg1:Number, _arg2:Number, _arg3:Number):PowerGenerator{
var _local4:PowerGenerator;
totalGenerators++;
_local4 = new PowerGenerator();
_local4.name = ("powerGenerator" + totalGenerators);
_local4.x = _arg1;
_local4.y = _arg2;
_local4.rotation = _arg3;
interactiveElementsContainer.addChild(_local4);
generators.push(_local4);
return (_local4);
}
public function checkPasswords(_arg1:String){
var _local2:Number;
var _local3:uint;
_local2 = 0;
_local3 = 0;
while (_local3 < levelPasswords.length) {
if (_arg1 == levelPasswords[_local3]){
_local2 = (_local3 + 1);
};
_local3++;
};
return (_local2);
}
public function startGame(){
init();
startMusic();
}
public function createStrandedElement(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number){
var _local6:StrandedElement;
if (_arg1 == "Shuttle"){
_local6 = new Shuttle(_arg2);
_local6.name = "Shuttle";
} else {
if (_arg1 == "Satellite"){
_local6 = new Satellite(_arg2);
_local6.name = "Satellite";
} else {
if (_arg1 == "Station"){
_local6 = new SpaceStation(_arg2);
_local6.name = "Station";
};
};
};
_local6.x = _arg3;
_local6.y = _arg4;
_local6.rotation = _arg5;
strandedDevices.push(_local6);
interactiveElementsContainer.addChild(_local6);
}
public function createFilter(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:String):Filter{
var _local5:Filter;
totalFilters++;
if (_arg4 == BeamManager.RED_BEAM){
_local5 = new FilterRed();
} else {
if (_arg4 == BeamManager.GREEN_BEAM){
_local5 = new FilterGreen();
} else {
if (_arg4 == BeamManager.BLUE_BEAM){
_local5 = new FilterBlue();
};
};
};
_local5.name = ("Filter" + totalFilters);
_local5.x = _arg1;
_local5.y = _arg2;
_local5.rotation = _arg3;
interactiveElementsContainer.addChild(_local5);
return (_local5);
}
public function createPasswords(){
levelPasswords.push("nasa is cool");
levelPasswords.push("lunartic");
levelPasswords.push("blackholez");
levelPasswords.push("lasers are hot");
levelPasswords.push("moon babies");
levelPasswords.push("astronautics");
levelPasswords.push("shooting starz");
levelPasswords.push("shuttle scoot");
levelPasswords.push("hubble bubble");
levelPasswords.push("mir");
levelPasswords.push("deep field project");
levelPasswords.push("quantum");
levelPasswords.push("into the void");
levelPasswords.push("solar calipso");
levelPasswords.push("lunar landerz");
levelPasswords.push("space balls");
levelPasswords.push("moon craters");
levelPasswords.push("crash landing");
levelPasswords.push("star chaser");
levelPasswords.push("trig is hard");
levelPasswords.push("stupor nova");
levelPasswords.push("jupiters rings");
levelPasswords.push("halleys comment");
levelPasswords.push("gallactix");
levelPasswords.push("synchronized orbits");
levelPasswords.push("victorious");
}
public function loadBG(){
var _local1:Stars;
var _local2:Planet;
var _local3:Number;
_local1 = new Stars();
_local2 = new Planet();
_local1.x = (stage.stageWidth / 2);
_local1.y = (stage.stageHeight / 2);
_local1.rotation = (_local1.rotation + (360 * Math.random()));
_local2.x = (stage.stageWidth * Math.random());
_local2.y = (stage.stageHeight * Math.random());
_local2.addEventListener(Event.ENTER_FRAME, movePlanet);
_local3 = Math.random();
_local2.scaleX = (_local2.scaleX + _local3);
_local2.scaleY = (_local2.scaleY + _local3);
bgArtContainer.addChild(_local1);
bgArtContainer.addChild(_local2);
}
public function unloadGUI(){
while (GUIContainer.numChildren > 0) {
GUIContainer.removeChild(GUIContainer.getChildAt(0));
};
}
public function powerDownDevices(){
var _local1:uint;
_local1 = 0;
while (_local1 < strandedDevices.length) {
StrandedElement(strandedDevices[_local1]).powerOff();
_local1++;
};
}
public function checkStrandedDevices(){
var _local1:Boolean;
var _local2:uint;
var _local3:uint;
_local1 = true;
_local2 = 0;
while (((_local1) && ((_local2 < strandedDevices.length)))) {
if (!StrandedElement(strandedDevices[_local2]).isPoweredUp){
_local1 = false;
powerDownDevices();
};
_local2++;
};
if (_local1){
lvl.completeLevel();
} else {
_local3 = 0;
while (_local3 < strandedDevices.length) {
StrandedElement(strandedDevices[_local3]).isPoweredUp = false;
_local3++;
};
};
}
public function createReflector(_arg1:Number, _arg2:Number, _arg3:Number):Reflector{
var _local4:*;
totalReflectors++;
_local4 = new Reflector();
_local4.name = ("Reflector" + totalReflectors);
_local4.x = _arg1;
_local4.y = _arg2;
_local4.rotation = _arg3;
interactiveElementsContainer.addChild(_local4);
return (_local4);
}
public function createAsteroid(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Boolean):Asteroid{
var _local7:Asteroid;
totalAsteroids++;
_local7 = new Asteroid();
_local7.name = ("Asteroid" + totalAsteroids);
_local7.x = _arg1;
_local7.y = _arg2;
_local7.setScale((_arg5 / 100));
_local7.setVelocities(_arg3, _arg4);
_local7.setRotate(_arg6);
interactiveElementsContainer.addChild(_local7);
asteroidArray.push(_local7);
return (_local7);
}
public function createSplitter(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Splitter{
var _local5:Splitter;
totalSplitters++;
if (_arg3 == 1){
_local5 = new Splitter1();
} else {
if (_arg3 == 2){
_local5 = new Splitter2();
} else {
if (_arg3 == 3){
_local5 = new Splitter3();
} else {
if (_arg3 == 4){
_local5 = new Splitter4();
} else {
if (_arg3 == 5){
_local5 = new Splitter5();
} else {
if (_arg3 == 6){
_local5 = new Splitter6();
};
};
};
};
};
};
_local5.name = ("Splitter" + totalSplitters);
_local5.x = _arg1;
_local5.y = _arg2;
_local5.rotation = _arg4;
interactiveElementsContainer.addChild(_local5);
return (_local5);
}
private function muteGame(_arg1:MouseEvent){
if (gameMuted){
SoundMixer.soundTransform = new SoundTransform(1);
gameMuted = false;
} else {
SoundMixer.soundTransform = new SoundTransform(0);
gameMuted = true;
};
}
private function loadGame(_arg1:Event){
loadBar.loadBeam.scaleX = (this.loaderInfo.bytesLoaded / this.loaderInfo.bytesTotal);
if (this.loaderInfo.bytesLoaded == this.loaderInfo.bytesTotal){
this.removeChild(loadBar);
this.removeEventListener(Event.ENTER_FRAME, loadGame);
loadIntro();
};
}
}
}//package
Section 74
//InGameMenuButton (InGameMenuButton)
package {
import flash.display.*;
public dynamic class InGameMenuButton extends SimpleButton {
}
}//package
Section 75
//Intro (Intro)
package {
import flash.display.*;
public dynamic class Intro extends MovieClip {
public function Intro(){
addFrameScript(125, frame126);
}
function frame126(){
stop();
}
}
}//package
Section 76
//Laser (Laser)
package {
import flash.media.*;
public dynamic class Laser extends Sound {
}
}//package
Section 77
//LaserSound (LaserSound)
package {
import flash.media.*;
public dynamic class LaserSound extends Sound {
}
}//package
Section 78
//LinePoint (LinePoint)
package {
import flash.display.*;
public dynamic class LinePoint extends MovieClip {
}
}//package
Section 79
//LoadBar (LoadBar)
package {
import flash.display.*;
public dynamic class LoadBar extends MovieClip {
public var loadBeam:MovieClip;
}
}//package
Section 80
//LostInSpace (LostInSpace)
package {
import flash.media.*;
public dynamic class LostInSpace extends Sound {
}
}//package
Section 81
//MainMenu (MainMenu)
package {
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
public dynamic class MainMenu extends MovieClip {
public var hitTestCircle:MovieClip;
public var armorBlogButton:SimpleButton;
public var back2:SimpleButton;
public var back3:SimpleButton;
public var back1:SimpleButton;
public var startButton:SimpleButton;
public var instructionsButton:SimpleButton;
public var creditsButton:SimpleButton;
public var passwordEnterButton:SimpleButton;
public var continueButton:SimpleButton;
public var passwordInput:TextField;
public var playMoreGamesButton:SimpleButton;
public function MainMenu(){
addFrameScript(0, frame1, 1, frame2, 7, frame8, 17, frame18, 26, frame27);
}
public function eventPlayMoreGames(_arg1:MouseEvent){
var _local2:URLRequest;
_local2 = new URLRequest("http://www.armorgames.com");
navigateToURL(_local2);
}
public function goToArmorBlog(_arg1:MouseEvent){
var _local2:URLRequest;
_local2 = new URLRequest("http://www.armorblog.com");
navigateToURL(_local2);
}
function frame18(){
stop();
back2.addEventListener(MouseEvent.CLICK, eventBackToMain);
}
public function eventInstructions(_arg1:MouseEvent){
gotoAndStop("instructions");
}
function frame1(){
}
public function eventContinue(_arg1:MouseEvent){
gotoAndStop("password");
}
function frame8(){
stop();
back1.addEventListener(MouseEvent.CLICK, eventBackToMain);
passwordEnterButton.addEventListener(MouseEvent.CLICK, checkPassword);
}
function frame2(){
startButton.addEventListener(MouseEvent.CLICK, eventStart);
continueButton.addEventListener(MouseEvent.CLICK, eventContinue);
instructionsButton.addEventListener(MouseEvent.CLICK, eventInstructions);
creditsButton.addEventListener(MouseEvent.CLICK, eventCredits);
playMoreGamesButton.addEventListener(MouseEvent.CLICK, eventPlayMoreGames);
stop();
}
function frame27(){
stop();
back3.addEventListener(MouseEvent.CLICK, eventBackToMain);
armorBlogButton.addEventListener(MouseEvent.CLICK, goToArmorBlog);
}
public function eventCredits(_arg1:MouseEvent){
gotoAndStop("credits");
}
public function checkPassword(_arg1:MouseEvent){
var _local2:Number;
var _local3:SoundChannel;
var _local4:Buzzer;
_local2 = Game.g.checkPasswords(passwordInput.text.toLowerCase());
if (_local2 != 0){
Game.g.currentLevel = _local2;
Game.g.loadLevel();
} else {
_local4 = new Buzzer();
_local3 = _local4.play();
};
}
public function eventBackToMain(_arg1:MouseEvent){
gotoAndStop("main");
}
public function eventStart(_arg1:MouseEvent){
Game.g.loadLevel();
}
}
}//package
Section 82
//MuteButton (MuteButton)
package {
import flash.display.*;
public dynamic class MuteButton extends SimpleButton {
}
}//package
Section 83
//Planet (Planet)
package {
import flash.display.*;
public dynamic class Planet extends MovieClip {
}
}//package
Section 84
//SelectedCircle (SelectedCircle)
package {
import flash.display.*;
public dynamic class SelectedCircle extends MovieClip {
}
}//package
Section 85
//Song (Song)
package {
import flash.media.*;
public dynamic class Song extends Sound {
}
}//package
Section 86
//Stars (Stars)
package {
import flash.display.*;
public dynamic class Stars extends MovieClip {
}
}//package
Section 87
//Thrust (Thrust)
package {
import flash.media.*;
public dynamic class Thrust extends Sound {
}
}//package
Section 88
//VictoryVoice1 (VictoryVoice1)
package {
import flash.media.*;
public dynamic class VictoryVoice1 extends Sound {
}
}//package
Section 89
//VictoryVoice2 (VictoryVoice2)
package {
import flash.media.*;
public dynamic class VictoryVoice2 extends Sound {
}
}//package
Section 90
//VictoryVoice3 (VictoryVoice3)
package {
import flash.media.*;
public dynamic class VictoryVoice3 extends Sound {
}
}//package
Section 91
//VictoryVoice4 (VictoryVoice4)
package {
import flash.media.*;
public dynamic class VictoryVoice4 extends Sound {
}
}//package
Section 92
//VictoryVoice5 (VictoryVoice5)
package {
import flash.media.*;
public dynamic class VictoryVoice5 extends Sound {
}
}//package
Section 93
//VictoryVoice6 (VictoryVoice6)
package {
import flash.media.*;
public dynamic class VictoryVoice6 extends Sound {
}
}//package