Section 1
//Collision (common.coll.Collision)
package common.coll {
import flash.display.*;
import flash.geom.*;
public class Collision {
public static function getCollisionRect(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:DisplayObjectContainer, _arg4:Boolean=false, _arg5:Number=0):Rectangle{
var _local6:Rectangle;
var _local7:Rectangle;
var _local8:Rectangle;
var _local9:BitmapData;
var _local10:BitmapData;
var _local11:uint;
var _local12:Rectangle;
var _local13:int;
_local6 = _arg1.getBounds(_arg3);
_local7 = _arg2.getBounds(_arg3);
_local8 = _local6.intersection(_local7);
if (_local8.size.length > 0){
if (_arg4){
_local8.width = Math.ceil(_local8.width);
_local8.height = Math.ceil(_local8.height);
_local9 = getAlphaMap(_arg1, _local8, BitmapDataChannel.RED, _arg3);
_local10 = getAlphaMap(_arg2, _local8, BitmapDataChannel.GREEN, _arg3);
_local9.draw(_local10, null, null, BlendMode.LIGHTEN);
if (_arg5 <= 0){
_local11 = 65792;
} else {
_arg5 = ((_arg5 > 1)) ? 1 : _arg5;
_local13 = Math.round((_arg5 * 0xFF));
_local11 = (((_local13 << 16) | (_local13 << 8)) | 0);
};
_local12 = _local9.getColorBoundsRect(_local11, _local11);
_local9.getColorBoundsRect(_local11, _local11).x = (_local12.x + _local8.x);
_local12.y = (_local12.y + _local8.y);
return (_local12);
} else {
return (_local8);
};
//unresolved jump
};
return (null);
}
public static function isColliding(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:DisplayObjectContainer, _arg4:Boolean=false, _arg5:Number=0):Boolean{
var _local6:Rectangle;
_local6 = getCollisionRect(_arg1, _arg2, _arg3, _arg4, _arg5);
if (((!((_local6 == null))) && ((_local6.size.length > 0)))){
return (true);
};
return (false);
}
public static function getCollisionPoint(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:DisplayObjectContainer, _arg4:Boolean=false, _arg5:Number=0):Point{
var _local6:Rectangle;
var _local7:Number;
var _local8:Number;
_local6 = getCollisionRect(_arg1, _arg2, _arg3, _arg4, _arg5);
if (((!((_local6 == null))) && ((_local6.size.length > 0)))){
_local7 = ((_local6.left + _local6.right) / 2);
_local8 = ((_local6.top + _local6.bottom) / 2);
return (new Point(_local7, _local8));
};
return (null);
}
private static function getAlphaMap(_arg1:DisplayObject, _arg2:Rectangle, _arg3:uint, _arg4:DisplayObjectContainer):BitmapData{
var _local5:Matrix;
var _local6:Matrix;
var _local7:BitmapData;
var _local8:BitmapData;
_local5 = _arg4.transform.concatenatedMatrix.clone();
_local5.invert();
_local6 = _arg1.transform.concatenatedMatrix.clone();
_local6.concat(_local5);
_local6.translate(-(_arg2.x), -(_arg2.y));
_local7 = new BitmapData(_arg2.width, _arg2.height, true, 0);
_local7.draw(_arg1, _local6);
_local8 = new BitmapData(_arg2.width, _arg2.height, false, 0);
_local8.copyChannel(_local7, _local7.rect, new Point(0, 0), BitmapDataChannel.ALPHA, _arg3);
return (_local8);
}
public static function pixelPerfect(_arg1:DisplayObject, _arg2:DisplayObject, _arg3:Number=0):Boolean{
return (isColliding(_arg1, _arg2, _arg1.parent, true, _arg3));
}
}
}//package common.coll
Section 2
//GuiElement (common.gui.GuiElement)
package common.gui {
import flash.events.*;
import common.inter.*;
import flash.display.*;
public class GuiElement extends MovieClip {
protected var listener:ActionListener;
public function GuiElement(){
this.addEventListener(Event.RENDER, onRender);
this.stage.invalidate();
this.listener = (this.root as ActionListener);
}
protected function init(){
trace("GuiElement::init is abstract");
}
public function onRender(_arg1:Event){
this.init();
}
}
}//package common.gui
Section 3
//TextButton (common.gui.TextButton)
package common.gui {
import flash.events.*;
import flash.text.*;
public class TextButton extends GuiElement {
public var colorText:uint;
public var colorTextHighlight:uint;
public var descriptor:String;
public var txCaption:TextField;
private var captionField:TextField;
public var caption:String;
override protected function init(){
captionField = (this.getChildByName("txCaption") as TextField);
captionField.text = caption;
captionField.textColor = colorText;
if (descriptor.length == 0){
descriptor = captionField.text;
};
this.addEventListener(MouseEvent.MOUSE_OVER, mouseOver);
this.addEventListener(MouseEvent.MOUSE_OUT, mouseOut);
this.addEventListener(MouseEvent.CLICK, click);
}
private function mouseOver(_arg1:MouseEvent){
captionField.textColor = colorTextHighlight;
}
private function mouseOut(_arg1:MouseEvent){
captionField.textColor = colorText;
}
private function click(_arg1:MouseEvent){
this.listener.handleAction(descriptor, this);
}
}
}//package common.gui
Section 4
//ActionListener (common.inter.ActionListener)
package common.inter {
public interface ActionListener {
function handleAction(_arg1:String, _arg2);
}
}//package common.inter
Section 5
//Matchable (common.inter.Matchable)
package common.inter {
public interface Matchable {
function equals(_arg1):Boolean;
}
}//package common.inter
Section 6
//Measureable (common.inter.Measureable)
package common.inter {
public interface Measureable {
function get length():Number;
}
}//package common.inter
Section 7
//Trackable (common.inter.Trackable)
package common.inter {
import common.math.*;
public interface Trackable {
function getPosition(_arg1:Number=0):Vector;
}
}//package common.inter
Section 8
//Matrix (common.math.Matrix)
package common.math {
public class Matrix {
public var _11:Number;
public var _10:Number;
public var _20:Number;
public var _21:Number;
public var _00:Number;
public var _01:Number;
public var _02:Number;
public var _12:Number;
public var _22:Number;
public function Matrix(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0, _arg8:Number=0, _arg9:Number=0){
this._00 = _arg1;
this._01 = _arg2;
this._02 = _arg3;
this._10 = _arg4;
this._11 = _arg5;
this._12 = _arg6;
this._20 = _arg7;
this._21 = _arg8;
this._22 = _arg9;
}
public function mScalar(_arg1:Number):Matrix{
_00 = (_00 * _arg1);
_01 = (_01 * _arg1);
_02 = (_02 * _arg1);
_10 = (_10 * _arg1);
_11 = (_11 * _arg1);
_12 = (_12 * _arg1);
_20 = (_20 * _arg1);
_21 = (_21 * _arg1);
_22 = (_22 * _arg1);
return (this);
}
public function mTranspose():Matrix{
var _local1:Number;
_local1 = _10;
_10 = _01;
_01 = _local1;
_local1 = _20;
_20 = _02;
_02 = _local1;
_local1 = _21;
_21 = _12;
_12 = _local1;
return (this);
}
public function mSub(_arg1:Matrix):Matrix{
_00 = (_00 - _arg1._00);
_01 = (_01 - _arg1._01);
_02 = (_02 - _arg1._02);
_10 = (_10 - _arg1._10);
_11 = (_11 - _arg1._11);
_12 = (_12 - _arg1._12);
_20 = (_20 - _arg1._20);
_21 = (_21 - _arg1._21);
_22 = (_22 - _arg1._22);
return (this);
}
public function get determinant():Number{
return ((((_00 * ((_11 * _22) - (_21 * _12))) - (_01 * ((_10 * _22) - (_20 * _12)))) + (_02 * ((_10 * _21) - (_20 * _11)))));
}
public function add(_arg1:Matrix):Matrix{
return (new Matrix((_00 + _arg1._00), (_01 + _arg1._01), (_02 + _arg1._02), (_10 + _arg1._10), (_11 + _arg1._11), (_12 + _arg1._12), (_20 + _arg1._20), (_21 + _arg1._21), (_22 + _arg1._22)));
}
public function scalar(_arg1:Number):Matrix{
return (new Matrix((_00 * _arg1), (_01 * _arg1), (_02 * _arg1), (_10 * _arg1), (_11 * _arg1), (_12 * _arg1), (_20 * _arg1), (_21 * _arg1), (_22 * _arg1)));
}
public function sub(_arg1:Matrix):Matrix{
return (new Matrix((_00 - _arg1._00), (_01 - _arg1._01), (_02 - _arg1._02), (_10 - _arg1._10), (_11 - _arg1._11), (_12 - _arg1._12), (_20 - _arg1._20), (_21 - _arg1._21), (_22 - _arg1._22)));
}
public function mult(_arg1:Matrix):Matrix{
return (new Matrix((((_00 * _arg1._00) + (_01 * _arg1._10)) + (_02 * _arg1._20)), (((_00 * _arg1._01) + (_01 * _arg1._11)) + (_02 * _arg1._21)), (((_00 * _arg1._02) + (_01 * _arg1._12)) + (_02 * _arg1._22)), (((_10 * _arg1._00) + (_11 * _arg1._10)) + (_12 * _arg1._20)), (((_10 * _arg1._01) + (_11 * _arg1._11)) + (_12 * _arg1._21)), (((_10 * _arg1._02) + (_11 * _arg1._12)) + (_12 * _arg1._22)), (((_20 * _arg1._00) + (_21 * _arg1._10)) + (_22 * _arg1._20)), (((_20 * _arg1._01) + (_21 * _arg1._11)) + (_22 * _arg1._21)), (((_20 * _arg1._02) + (_21 * _arg1._12)) + (_22 * _arg1._22))));
}
public function mAdd(_arg1:Matrix):Matrix{
_00 = (_00 + _arg1._00);
_01 = (_01 + _arg1._01);
_02 = (_02 + _arg1._02);
_10 = (_10 + _arg1._10);
_11 = (_11 + _arg1._11);
_12 = (_12 + _arg1._12);
_20 = (_20 + _arg1._20);
_21 = (_21 + _arg1._21);
_22 = (_22 + _arg1._22);
return (this);
}
public function transpose():Matrix{
return (new Matrix(_00, _10, _20, _01, _11, _21, _02, _12, _22));
}
public function toString():String{
return ((((((((((((((((((((("| " + _00) + ", ") + _01) + ", ") + _02) + " |") + "\n| ") + _10) + ", ") + _11) + ", ") + _12) + " |") + "\n| ") + _20) + ", ") + _21) + ", ") + _22) + " |"));
}
public function mMult(_arg1:Matrix):Matrix{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
_local2 = (((_00 * _arg1._00) + (_01 * _arg1._10)) + (_02 * _arg1._20));
_local3 = (((_00 * _arg1._01) + (_01 * _arg1._11)) + (_02 * _arg1._21));
_local4 = (((_00 * _arg1._02) + (_01 * _arg1._12)) + (_02 * _arg1._22));
_local5 = (((_10 * _arg1._00) + (_11 * _arg1._10)) + (_12 * _arg1._20));
_local6 = (((_10 * _arg1._01) + (_11 * _arg1._11)) + (_12 * _arg1._21));
_local7 = (((_10 * _arg1._02) + (_11 * _arg1._12)) + (_12 * _arg1._22));
_local8 = (((_20 * _arg1._00) + (_21 * _arg1._10)) + (_22 * _arg1._20));
_local9 = (((_20 * _arg1._01) + (_21 * _arg1._11)) + (_22 * _arg1._21));
_local10 = (((_20 * _arg1._02) + (_21 * _arg1._12)) + (_22 * _arg1._22));
_00 = _local2;
_01 = _local3;
_02 = _local4;
_10 = _local5;
_11 = _local6;
_12 = _local7;
_20 = _local8;
_21 = _local9;
_22 = _local10;
return (this);
}
public function equals(_arg1:Matrix):Boolean{
return ((((((((((((((((((_00 == _arg1._00)) && ((_01 == _arg1._01)))) && ((_02 == _arg1._02)))) && ((_10 == _arg1._10)))) && ((_11 == _arg1._11)))) && ((_12 == _arg1._12)))) && ((_20 == _arg1._20)))) && ((_21 == _arg1._21)))) && ((_22 == _arg1._22))));
}
public static function random(_arg1:Number=1):Matrix{
var _local2:Function;
_local2 = Math.random;
return (new Matrix((_local2() * _arg1), (_local2() * _arg1), (_local2() * _arg1), (_local2() * _arg1), (_local2() * _arg1), (_local2() * _arg1), (_local2() * _arg1), (_local2() * _arg1), (_local2() * _arg1)));
}
public static function unit():Matrix{
return (new Matrix(1, 0, 0, 0, 1, 0, 0, 0, 1));
}
public static function rotate(_arg1:Number){
var _local2:Number;
var _local3:Number;
_local2 = Math.cos(_arg1);
_local3 = Math.sin(_arg1);
return (new Matrix(_local2, _local3, 0, -(_local3), _local2, 0, 0, 0, 1));
}
public static function translate(_arg1:Vector){
return (new Matrix(1, 0, _arg1.x, 0, 1, _arg1.y, 0, 0, 1));
}
}
}//package common.math
Section 9
//Vector (common.math.Vector)
package common.math {
import common.inter.*;
public class Vector implements Measureable, Matchable {
public var y:Number;
public var x:Number;
public function Vector(_arg1:Number=0, _arg2:Number=0){
this.x = _arg1;
this.y = _arg2;
}
public function sub(_arg1:Vector):Vector{
return (new Vector((x - _arg1.x), (y - _arg1.y)));
}
public function transform(_arg1:Matrix):Vector{
return (new Vector((((_arg1._00 * x) + (_arg1._01 * y)) + _arg1._02), (((_arg1._10 * x) + (_arg1._11 * y)) + _arg1._12)));
}
public function dot(_arg1:Vector):Number{
return (((_arg1.x * x) + (_arg1.y * y)));
}
public function set length(_arg1:Number){
var _local2:Number;
_local2 = (1 / Math.sqrt(((x * x) + (y * y))));
x = (x * (_arg1 * _local2));
y = (y * (_arg1 * _local2));
}
public function normalize():Vector{
var _local1:Number;
_local1 = (1 / Math.sqrt(((x * x) + (y * y))));
return (new Vector((_local1 * x), (_local1 * y)));
}
public function toString():String{
return ((((("( " + x) + ", ") + y) + " )"));
}
public function saveNormalize():Vector{
var _local1:Number;
_local1 = Math.sqrt(((x * x) + (y * y)));
if (_local1 == 0){
return (new Vector(0, 0));
};
return (new Vector((x / _local1), (y / _local1)));
}
public function mSub(_arg1:Vector):Vector{
x = (x - _arg1.x);
y = (y - _arg1.y);
return (this);
}
public function projectOn(_arg1:Vector):Vector{
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local2 = _arg1.x;
_local3 = _arg1.y;
_local4 = (((x * _local2) + (y * _local3)) / ((_local2 * _local2) + (_local3 * _local3)));
return (new Vector((_local4 * _local2), (_local4 * _local3)));
}
public function get angle():Number{
return (Math.atan2(y, x));
}
public function get length2():Number{
return (((x * x) + (y * y)));
}
public function toVector():Vector{
return (new Vector(x, y));
}
public function mNormalize():Vector{
var _local1:Number;
_local1 = (1 / Math.sqrt(((x * x) + (y * y))));
x = (x * _local1);
y = (y * _local1);
return (this);
}
public function add(_arg1:Vector):Vector{
return (new Vector((x + _arg1.x), (y + _arg1.y)));
}
public function get length():Number{
return (Math.sqrt(((x * x) + (y * y))));
}
public function normal():Vector{
return (new Vector(-(y), x));
}
public function scalar(_arg1:Number):Vector{
return (new Vector((_arg1 * x), (_arg1 * y)));
}
public function mNormal():Vector{
y = -(y);
x = (x ^ y);
y = (y ^ x);
x = (x ^ y);
return (this);
}
public function copy():Vector{
return (new Vector(x, y));
}
public function mScalar(_arg1:Number):Vector{
x = (x * _arg1);
y = (y * _arg1);
return (this);
}
public function mAdd(_arg1:Vector):Vector{
x = (x + _arg1.x);
y = (y + _arg1.y);
return (this);
}
public function equals(_arg1):Boolean{
var _local2:Vector;
_local2 = (_arg1 as Vector);
return ((((x == _local2.x)) && ((y == _local2.y))));
}
public static function fromAngle(_arg1:Number):Vector{
return (new Vector(Math.cos(_arg1), Math.sin(_arg1)));
}
}
}//package common.math
Section 10
//Box (common.prim.Box)
package common.prim {
import common.math.*;
import flash.display.*;
public class Box extends Shape {
public var width:Number;
public var height:Number;
public var x:Number;
public var y:Number;
public function Box(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){
this.x = _arg1;
this.y = _arg2;
this.width = _arg3;
this.height = _arg4;
}
override public function draw(_arg1:MovieClip, _arg2:uint, _arg3:uint=undefined){
var _local4:Graphics;
_local4 = _arg1.graphics;
if (_arg3){
_local4.beginFill(_arg3);
};
_local4.lineStyle(1, _arg2);
_local4.moveTo(x, y);
_local4.lineTo((x + width), y);
_local4.lineTo((x + width), (y + height));
_local4.lineTo(x, (y + height));
_local4.lineTo(x, y);
if (_arg3){
_local4.endFill();
};
}
override public function getShapeID():Number{
return (BOX);
}
public function moveBy(_arg1:Vector):Box{
x = (x + _arg1.x);
y = (y + _arg1.y);
return (this);
}
public function get area():Number{
return ((width * height));
}
public function move(_arg1:Vector):Box{
return (new Box((x + _arg1.x), (y + _arg1.y), width, height));
}
public function expandBy(_arg1:Number):Box{
x = (x - _arg1);
y = (y - _arg1);
height = (height + (_arg1 * 2));
width = (width + (_arg1 * 2));
return (this);
}
public function expand(_arg1:Number):Box{
return (new Box((x - _arg1), (y - _arg1), (width + (_arg1 * 2)), (height + (_arg1 * 2))));
}
public function mergeWith(_arg1:Box):Box{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local2 = ((x < _arg1.x)) ? x : _arg1.x;
_local3 = (((x + width) > (_arg1.x + _arg1.width))) ? (x + width) : (_arg1.x + _arg1.width);
_local4 = ((y < _arg1.y)) ? y : _arg1.y;
_local5 = (((y + height) > (_arg1.y + _arg1.height))) ? (y + height) : (_arg1.y + _arg1.height);
x = _local2;
y = _local4;
width = (_local3 - _local2);
height = (_local5 - _local4);
return (this);
}
public function contains(_arg1:Box):Boolean{
if (_arg1.x < x){
return (false);
};
if (_arg1.y < y){
return (false);
};
if ((_arg1.x + _arg1.width) > (x + width)){
return (false);
};
if ((_arg1.y + _arg1.height) > (y + height)){
return (false);
};
return (true);
}
public function cutWith(_arg1:Box):Box{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local2 = ((x > _arg1.x)) ? x : _arg1.x;
_local3 = (((x + width) < (_arg1.x + _arg1.width))) ? (x + width) : (_arg1.x + _arg1.width);
_local4 = ((y > _arg1.y)) ? y : _arg1.y;
_local5 = (((y + height) < (_arg1.y + _arg1.height))) ? (y + height) : (_arg1.y + _arg1.height);
x = _local2;
y = _local4;
width = (_local3 - _local2);
height = (_local5 - _local4);
return (this);
}
public function toString():String{
return (((((((((("[" + (Math.round((x * 10)) / 10)) + ", ") + (Math.round((y * 10)) / 10)) + ", ") + ", ") + (Math.round((width * 10)) / 10)) + ", ") + (Math.round((height * 10)) / 10)) + "]"));
}
public function containsPoint(_arg1:Vector):Boolean{
if (_arg1.x < x){
return (false);
};
if (_arg1.y < y){
return (false);
};
if (_arg1.x > (x + width)){
return (false);
};
if (_arg1.y > (y + height)){
return (false);
};
return (true);
}
public function intersects(_arg1:Box, _arg2:Boolean=false):Boolean{
if (!_arg2){
if (_arg1.x > (x + width)){
return (false);
};
if (_arg1.y > (y + height)){
return (false);
};
if (x > (_arg1.x + _arg1.width)){
return (false);
};
if (y > (_arg1.y + _arg1.height)){
return (false);
};
} else {
if (_arg1.x >= (x + width)){
return (false);
};
if (_arg1.y >= (y + height)){
return (false);
};
if (x >= (_arg1.x + _arg1.width)){
return (false);
};
if (y >= (_arg1.y + _arg1.height)){
return (false);
};
};
return (true);
}
public function copy():Box{
return (new Box(x, y, width, height));
}
public static function getBoundingBox(_arg1:Array):Box{
var _local2:Box;
var _local3:uint;
if ((((_arg1 == null)) || ((_arg1.length == 0)))){
return (null);
};
_local2 = _arg1[0].copy();
_local3 = 1;
while (_local3 < _arg1.length) {
_local2.mergeWith(_arg1[_local3]);
_local3++;
};
return (_local2);
}
public static function sweepBox(_arg1:Box, _arg2:Vector):Box{
var _local3:Box;
_local3 = _arg1.copy();
_local3.x = (_local3.x + _arg2.x);
_local3.y = (_local3.y + _arg2.y);
return (_local3.mergeWith(_arg1));
}
}
}//package common.prim
Section 11
//Shape (common.prim.Shape)
package common.prim {
import flash.display.*;
public class Shape {
public static const CIRCLE:Number = 1;
public static const SHAPE:Number = 0;
public static const POLYGON:Number = 2;
public static const BOX:Number = 3;
public function draw(_arg1:MovieClip, _arg2:uint, _arg3:uint=undefined){
}
public function getShapeID():Number{
return (SHAPE);
}
}
}//package common.prim
Section 12
//SoundManager (common.sound.SoundManager)
package common.sound {
import flash.media.*;
public class SoundManager {
private var idCounter:uint;
private var sounds:Array;
private var muted:Boolean;
private var masterVolume:Number;
public function SoundManager(){
sounds = [];
super();
sounds = [];
idCounter = 0;
muted = false;
masterVolume = 1;
}
public function setVolume(_arg1:uint, _arg2:Number){
var _local3:SoundData;
_local3 = (sounds[_arg1] as SoundData);
_local3.setVolume(_arg2, masterVolume);
}
public function unmute(){
var _local1:SoundData;
if (!muted){
return;
};
muted = false;
for each (_local1 in sounds) {
_local1.setVolume(-1, masterVolume);
};
}
public function addSound(_arg1:Class):uint{
var _local2:SoundData;
_local2 = new SoundData(idCounter, (new (_arg1) as Sound), 1);
var _local3 = ++idCounter;
sounds[_local3] = _local2;
return (idCounter);
}
public function getMasterVolume():Number{
return (masterVolume);
}
public function play(_arg1:uint, _arg2:uint=0, _arg3:uint=0){
var _local4:SoundData;
if (muted){
return;
};
_local4 = (sounds[_arg1] as SoundData);
_local4.play(masterVolume, _arg2, _arg3);
}
public function mute(){
var _local1:SoundData;
if (muted){
return;
};
muted = true;
for each (_local1 in sounds) {
_local1.setVolume(-1, 0);
};
}
public function isMute():Boolean{
return (muted);
}
public function setMasterVolume(_arg1:Number){
var _local2:SoundData;
this.masterVolume = _arg1;
for each (_local2 in sounds) {
_local2.setVolume(-1, _arg1);
};
}
}
}//package common.sound
import flash.media.*;
class SoundData {
public var sound:Sound;
private var volume:Number;
public var id:uint;
private var soundChannels:Array;
private function SoundData(_arg1:uint, _arg2:Sound, _arg3:Number){
this.id = _arg1;
this.sound = _arg2;
this.soundChannels = [];
this.volume = _arg3;
}
public function play(_arg1:Number, _arg2:Number=0, _arg3:int=0){
var _local4:SoundChannel;
var _local5:SoundTransform;
_local4 = sound.play(_arg2, _arg3);
if (_local4 == null){
return;
};
_local5 = _local4.soundTransform;
_local5.volume = (this.volume * _arg1);
_local4.soundTransform = _local5;
soundChannels.push(_local4);
cleanChannels();
}
private function cleanChannels(){
var _local1:uint;
_local1 = 0;
while (_local1 < soundChannels.length) {
if (soundChannels[_local1] == null){
var _temp1 = _local1;
_local1 = (_local1 - 1);
soundChannels.splice(1, _temp1);
};
_local1++;
};
}
public function setVolume(_arg1:Number, _arg2:Number){
var _local3:SoundChannel;
var _local4:SoundTransform;
if (_arg1 >= 0){
this.volume = _arg1;
};
cleanChannels();
for each (_local3 in soundChannels) {
_local4 = _local3.soundTransform;
_local4.volume = (this.volume * _arg2);
_local3.soundTransform = _local4;
};
}
}
Section 13
//GlobalStage (common.tools.GlobalStage)
package common.tools {
import flash.display.*;
public class GlobalStage {
private static var stage:Stage = null;
public static function getStage():Stage{
return (stage);
}
public static function setStage(_arg1:Stage){
GlobalStage.stage = _arg1;
}
}
}//package common.tools
Section 14
//Recall (common.tools.Recall)
package common.tools {
import flash.events.*;
public class Recall {
private var listeners:Array;
private static var instance:Recall = null;
public function Recall(){
listeners = [];
GlobalStage.getStage().addEventListener(Event.ENTER_FRAME, update);
}
private function update(_arg1){
var _local2:uint;
_local2 = 0;
while (_local2 < listeners.length) {
if (--listeners[_local2].counter <= 0){
listeners[_local2].call();
listeners.splice(_local2, 1);
_local2--;
};
_local2++;
};
}
public function addCallback(_arg1:Function, _arg2:uint):void{
listeners.push({call:_arg1, counter:_arg2});
}
public static function getInstance():Recall{
if (instance == null){
instance = new (Recall);
};
return (instance);
}
}
}//package common.tools
Section 15
//ActivationEvent (event.ActivationEvent)
package event {
import spr.gun.*;
public class ActivationEvent extends GameEvent {
private var gun:Gun;
public function ActivationEvent(_arg1:uint, _arg2:Gun){
super(_arg1);
this.gun = _arg2;
}
override public function execute(){
gun.activate();
}
public function toString():String{
return ((((("_" + time) + "_") + gun) + "_"));
}
}
}//package event
Section 16
//AddBonusEvent (event.AddBonusEvent)
package event {
import spr.bonus.*;
public class AddBonusEvent extends GameEvent {
private var bonus:Bonus;
public function AddBonusEvent(_arg1:uint, _arg2:Bonus){
super(_arg1);
this.bonus = _arg2;
}
override public function execute(){
bonus.gotoAndPlay("init");
Main.getGame().addBonus(bonus);
}
public function toString():String{
return ((((("_" + time) + "_") + bonus) + "_"));
}
}
}//package event
Section 17
//DeactivationEvent (event.DeactivationEvent)
package event {
import spr.gun.*;
public class DeactivationEvent extends GameEvent {
private var gun:Gun;
public function DeactivationEvent(_arg1:uint, _arg2:Gun){
super(_arg1);
this.gun = _arg2;
}
override public function execute(){
gun.deactivate();
}
}
}//package event
Section 18
//EventSchedule (event.EventSchedule)
package event {
import common.math.*;
import game.*;
import spr.bonus.*;
import spr.gun.*;
public class EventSchedule {
private var events:Array;
private static const FPS:Number = 24;
private static const CENTER:Vector = new Vector((Main.STAGE_WIDTH / 2), (Main.STAGE_HEIGHT / 2));
public function EventSchedule(){
events = [];
}
public function scheduleScoreCirclePiece(_arg1:uint, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Vector, _arg6:uint, _arg7:uint=0){
var _local8:Number;
var _local9:Number;
var _local10:Vector;
var _local11:uint;
_local8 = _arg3;
_local9 = ((_arg4 - _arg3) / (_arg1 - 1));
_local11 = 0;
while (_local11 < _arg1) {
_local10 = _arg5.add(Vector.fromAngle(_local8).scalar(_arg2));
_local8 = (_local8 + _local9);
schedule(new AddBonusEvent(_arg6, new Data(_local10)));
_arg6 = (_arg6 + _arg7);
_local11++;
};
}
public function scheduleCenterSquare(_arg1:uint){
scheduleScoreRow(5, CENTER.add(new Vector(-7.5, -95)), new Vector(-15, 0), _arg1, (0.2 * FPS));
scheduleScoreRow(5, CENTER.add(new Vector(7.5, -95)), new Vector(15, 0), _arg1, (0.2 * FPS));
scheduleScoreRow(5, CENTER.add(new Vector(-7.5, 95)), new Vector(-15, 0), (_arg1 + (2 * FPS)), (0.2 * FPS));
scheduleScoreRow(5, CENTER.add(new Vector(7.5, 95)), new Vector(15, 0), (_arg1 + (2 * FPS)), (0.2 * FPS));
scheduleScoreRow(5, CENTER.add(new Vector(95, -7.5)), new Vector(0, -15), (_arg1 + (4 * FPS)), (0.2 * FPS));
scheduleScoreRow(5, CENTER.add(new Vector(95, 7.5)), new Vector(0, 15), (_arg1 + (4 * FPS)), (0.2 * FPS));
scheduleScoreRow(5, CENTER.add(new Vector(-95, -7.5)), new Vector(0, -15), (_arg1 + (6 * FPS)), (0.2 * FPS));
scheduleScoreRow(5, CENTER.add(new Vector(-95, 7.5)), new Vector(0, 15), (_arg1 + (6 * FPS)), (0.2 * FPS));
}
public function scheduleCenterCircle(_arg1:uint){
scheduleScoreCircle(20, 100, CENTER, _arg1, (0.2 * FPS));
}
public function scheduleLowerRow(_arg1:uint){
scheduleScoreRow(5, CENTER.add(new Vector(-12.5, 160)), new Vector(-25, 0), _arg1, (0.2 * FPS), 5);
scheduleScoreRow(5, CENTER.add(new Vector(12.5, 160)), new Vector(25, 0), _arg1, (0.2 * FPS), 5);
}
public function scheduleUpperRow(_arg1:uint){
scheduleScoreRow(5, CENTER.add(new Vector(-12.5, -155)), new Vector(-25, 0), _arg1, (0.2 * FPS), 5);
scheduleScoreRow(5, CENTER.add(new Vector(12.5, -155)), new Vector(25, 0), _arg1, (0.2 * FPS), 5);
}
public function schedule(_arg1:GameEvent){
events.push(_arg1);
}
public function scheduleGroupActivation(_arg1:Array, _arg2:uint, _arg3:uint=0){
var _local4:Gun;
for each (_local4 in _arg1) {
schedule(new ActivationEvent(_arg2, _local4));
_arg2 = (_arg2 + _arg3);
};
}
public function scheduleScoreRow(_arg1:uint, _arg2:Vector, _arg3:Vector, _arg4:uint, _arg5:uint=0, _arg6:uint=1){
_arg2 = _arg2.copy();
while (--_arg1 >= 0) {
schedule(new AddBonusEvent(_arg4, new Data(_arg2, _arg6)));
_arg4 = (_arg4 + _arg5);
_arg2.mAdd(_arg3);
};
}
public function scheduleBigSquare(_arg1:uint){
scheduleScoreRow(20, new Vector(60, 60), new Vector(15, 0), _arg1, (0.1 * FPS));
scheduleScoreRow(19, new Vector((60 + (19 * 15)), (60 + 15)), new Vector(0, 15), (_arg1 + (2 * FPS)), (0.1 * FPS));
scheduleScoreRow(19, new Vector((60 + (18 * 15)), (60 + (19 * 15))), new Vector(-15, 0), (_arg1 + (4 * FPS)), (0.1 * FPS));
scheduleScoreRow(18, new Vector(60, (60 + (18 * 15))), new Vector(0, -15), (_arg1 + (6 * FPS)), (0.1 * FPS));
}
public function scheduleFatCenterCircle(_arg1:uint){
scheduleScoreCircle(18, 110, CENTER, _arg1, (0.2 * FPS), 5);
}
public function scheduleScoreCircle(_arg1:uint, _arg2:Number, _arg3:Vector, _arg4:uint, _arg5:uint=0, _arg6:uint=1){
var _local7:Number;
var _local8:Number;
var _local9:Vector;
var _local10:uint;
_local7 = 0;
_local8 = ((2 * Math.PI) / _arg1);
_local10 = 0;
while (_local10 < _arg1) {
_local9 = _arg3.add(Vector.fromAngle(_local7).scalar(_arg2));
_local7 = (_local7 + _local8);
schedule(new AddBonusEvent(_arg4, new Data(_local9, _arg6)));
_arg4 = (_arg4 + _arg5);
_local10++;
};
}
public function scheduleDoubleCenterCircle(_arg1:uint){
scheduleScoreCircle(20, 100, CENTER, _arg1, (0.2 * FPS));
scheduleScoreCircle(20, 110, CENTER, _arg1, (0.2 * FPS));
}
public function scheduleLeftCircle(_arg1:uint){
scheduleScoreCirclePiece(10, 75, (1.5 * Math.PI), (2.5 * Math.PI), CENTER.add(new Vector(-210, -65)), _arg1, (0.2 * FPS));
scheduleScoreCirclePiece(8, 60, (1.5 * Math.PI), (2.5 * Math.PI), CENTER.add(new Vector(-210, -65)), _arg1, (0.2 * FPS));
}
public function scheduleRightCircle(_arg1:uint){
scheduleScoreCirclePiece(10, 75, (0.5 * Math.PI), (1.5 * Math.PI), CENTER.add(new Vector(210, 60)), _arg1, (0.2 * FPS));
scheduleScoreCirclePiece(8, 60, (0.5 * Math.PI), (1.5 * Math.PI), CENTER.add(new Vector(210, 60)), _arg1, (0.2 * FPS));
}
public function scheduleGroupDeactivation(_arg1:Array, _arg2:uint, _arg3:uint=0){
var _local4:Gun;
for each (_local4 in _arg1) {
schedule(new DeactivationEvent(_arg2, _local4));
_arg2 = (_arg2 + _arg3);
};
}
public function scheduleScoreSquare(_arg1:uint, _arg2:uint, _arg3:Vector, _arg4:uint, _arg5:uint=15, _arg6:uint=1){
var _local7:Vector;
var _local8:uint;
var _local9:uint;
_local7 = new Vector();
_local8 = 0;
while (_local8 < _arg1) {
_local9 = 0;
while (_local9 < _arg2) {
_local7.x = (_arg3.x + (_arg5 * _local8));
_local7.y = (_arg3.y + (_arg5 * _local9));
if (_arg1 > _arg2){
schedule(new AddBonusEvent((_arg4 + _local8), new Data(_local7, _arg6)));
} else {
schedule(new AddBonusEvent((_arg4 + _local9), new Data(_local7, _arg6)));
};
_local9++;
};
_local8++;
};
}
public function execute(_arg1:uint){
var _local2:Array;
var _local3:uint;
var _local4:GameEvent;
_local2 = [];
_local3 = 0;
while (_local3 < events.length) {
if (events[_local3].time <= _arg1){
_local2.push(events[_local3]);
events.splice(_local3, 1);
_local3--;
};
_local3++;
};
for each (_local4 in _local2) {
_local4.execute();
};
}
public function scheduleFatBonus(_arg1:uint){
scheduleScoreSquare(5, 5, CENTER.add(new Vector(140, -140)), _arg1, 10, 10);
}
public function scheduleUpperDoubleRow(_arg1:uint){
scheduleScoreSquare(10, 2, new Vector((220 - 75), 55), _arg1);
}
public function scheduleLowerDoubleRow(_arg1:uint){
scheduleScoreSquare(10, 2, new Vector((220 - 75), 380), _arg1);
}
public static function createSchedule(_arg1:GunManager):EventSchedule{
var eventSchedule:EventSchedule;
var gunManager = _arg1;
eventSchedule = new (EventSchedule);
var _local3 = eventSchedule;
with (_local3) {
scheduleGroupActivation(gunManager.centerGun, (0 * FPS), (0 * FPS));
scheduleGroupActivation(gunManager.trackingGuns, (5 * FPS), (0 * FPS));
scheduleGroupDeactivation(gunManager.trackingGuns, (15 * FPS), (0 * FPS));
scheduleGroupActivation(gunManager.chainGuns, (15 * FPS), (5 * FPS));
schedule(new ActivationEvent((22 * FPS), (gunManager.rocketLauncherLeft[0] as Gun)));
schedule(new DeactivationEvent((45 * FPS), (gunManager.rocketLauncherLeft[0] as Gun)));
scheduleGroupDeactivation(gunManager.chainGuns, (32 * FPS), (0 * FPS));
schedule(new ActivationEvent((34 * FPS), (gunManager.beamGuns[1] as Gun)));
schedule(new DeactivationEvent((43 * FPS), (gunManager.beamGuns[1] as Gun)));
scheduleGroupActivation(gunManager.trackingGuns, (40 * FPS), (1 * FPS));
scheduleGroupDeactivation(gunManager.trackingGuns, (45 * FPS), (1 * FPS));
scheduleGroupActivation(gunManager.shotGuns, (45 * FPS), (0 * FPS));
scheduleGroupActivation(gunManager.precisionGuns, (50 * FPS), (0 * FPS));
scheduleGroupDeactivation(gunManager.centerGun, (50 * FPS), (0 * FPS));
scheduleGroupActivation(gunManager.beamGuns, (50 * FPS), (1 * FPS));
scheduleGroupDeactivation(gunManager.shotGuns, (60 * FPS), (0 * FPS));
scheduleGroupDeactivation(gunManager.precisionGuns, (60 * FPS), (0 * FPS));
scheduleGroupDeactivation(gunManager.beamGuns, (60 * FPS), (0 * FPS));
scheduleGroupActivation(gunManager.rocketLauncherRight, (57 * FPS), (1 * FPS));
schedule(new ActivationEvent((60 * FPS), (gunManager.centerGun[0] as Gun)));
scheduleGroupActivation(gunManager.chainGuns, (70 * FPS), (2 * FPS));
scheduleGroupActivation(gunManager.beamGuns, (75 * FPS), (5 * FPS));
scheduleGroupDeactivation(gunManager.beamGuns, (85 * FPS), (5 * FPS));
scheduleGroupDeactivation(gunManager.chainGuns, (85 * FPS), (5 * FPS));
scheduleGroupActivation(gunManager.bouncerGuns, (95 * FPS), (3 * FPS));
scheduleGroupActivation(gunManager.shotGuns, (100 * FPS), (0 * FPS));
scheduleGroupActivation(gunManager.precisionGuns, (105 * FPS), (0 * FPS));
scheduleGroupActivation(gunManager.rocketLauncherLeft, (105 * FPS), (0 * FPS));
scheduleGroupActivation(gunManager.rocketLauncherRight, (105 * FPS), (0 * FPS));
schedule(new AddBonusEvent((0 * FPS), new Dare((gunManager.bouncerGuns[0] as Gun))));
schedule(new AddBonusEvent((0 * FPS), new Dare((gunManager.bouncerGuns[1] as Gun))));
schedule(new AddBonusEvent((2 * FPS), new Dare((gunManager.chainGuns[0] as Gun))));
schedule(new AddBonusEvent((2 * FPS), new Dare((gunManager.chainGuns[1] as Gun))));
schedule(new AddBonusEvent((5 * FPS), new Dare((gunManager.rocketLauncherRight[0] as Gun))));
schedule(new AddBonusEvent((5 * FPS), new Dare((gunManager.rocketLauncherRight[1] as Gun))));
schedule(new AddBonusEvent((10 * FPS), new Dare((gunManager.centerGun[0] as Gun))));
schedule(new AddBonusEvent((15 * FPS), new Dare((gunManager.rocketLauncherLeft[0] as Gun))));
schedule(new AddBonusEvent((15 * FPS), new Dare((gunManager.rocketLauncherLeft[1] as Gun))));
schedule(new AddBonusEvent((15 * FPS), new Dare((gunManager.rocketLauncherRight[0] as Gun))));
schedule(new AddBonusEvent((15 * FPS), new Dare((gunManager.rocketLauncherRight[1] as Gun))));
schedule(new AddBonusEvent((25 * FPS), new Dare((gunManager.shotGuns[0] as Gun))));
schedule(new AddBonusEvent((28 * FPS), new Dare((gunManager.chainGuns[0] as Gun))));
schedule(new AddBonusEvent((28 * FPS), new Dare((gunManager.chainGuns[1] as Gun))));
schedule(new AddBonusEvent((50 * FPS), new Dare((gunManager.centerGun[0] as Gun))));
schedule(new AddBonusEvent((55 * FPS), new Dare((gunManager.shotGuns[0] as Gun))));
schedule(new AddBonusEvent((58 * FPS), new Dare((gunManager.rocketLauncherRight[0] as Gun))));
schedule(new AddBonusEvent((58 * FPS), new Dare((gunManager.rocketLauncherRight[1] as Gun))));
schedule(new AddBonusEvent((61 * FPS), new Dare((gunManager.rocketLauncherLeft[0] as Gun))));
schedule(new AddBonusEvent((61 * FPS), new Dare((gunManager.rocketLauncherLeft[1] as Gun))));
schedule(new AddBonusEvent((63 * FPS), new Dare((gunManager.rocketLauncherRight[0] as Gun))));
schedule(new AddBonusEvent((63 * FPS), new Dare((gunManager.rocketLauncherRight[1] as Gun))));
schedule(new AddBonusEvent((63 * FPS), new Dare((gunManager.centerGun[0] as Gun))));
schedule(new AddBonusEvent((70 * FPS), new Dare((gunManager.centerGun[0] as Gun))));
schedule(new AddBonusEvent((90 * FPS), new Dare((gunManager.centerGun[0] as Gun))));
schedule(new AddBonusEvent((95 * FPS), new Dare((gunManager.chainGuns[0] as Gun))));
schedule(new AddBonusEvent((95 * FPS), new Dare((gunManager.chainGuns[1] as Gun))));
schedule(new AddBonusEvent((100 * FPS), new Dare((gunManager.centerGun[0] as Gun))));
schedule(new AddBonusEvent((105 * FPS), new Dare((gunManager.centerGun[0] as Gun))));
scheduleCenterSquare((5 * FPS));
scheduleUpperDoubleRow((15 * FPS));
scheduleLeftCircle((18 * FPS));
scheduleLowerDoubleRow((21 * FPS));
scheduleRightCircle((24 * FPS));
scheduleScoreSquare(3, 3, new Vector(340, 340), (26 * FPS));
scheduleBigSquare((28 * FPS));
scheduleCenterCircle((35 * FPS));
scheduleUpperDoubleRow((40 * FPS));
scheduleLowerDoubleRow((43 * FPS));
scheduleCenterSquare((48 * FPS));
scheduleBigSquare((56 * FPS));
scheduleDoubleCenterCircle((65 * FPS));
scheduleUpperRow((70 * FPS));
scheduleLowerRow((73 * FPS));
scheduleLeftCircle((76 * FPS));
scheduleRightCircle((79 * FPS));
scheduleFatCenterCircle((84 * FPS));
scheduleScoreSquare(3, 3, new Vector(100, 340), (90 * FPS), 5);
scheduleScoreSquare(3, 3, new Vector(340, 340), (95 * FPS), 5);
scheduleUpperRow((100 * FPS));
scheduleLowerRow((103 * FPS));
scheduleFatBonus((107 * FPS));
events.sortOn("time");
};
return (eventSchedule);
}
}
}//package event
Section 19
//GameEvent (event.GameEvent)
package event {
public class GameEvent {
public var time:uint;
public function GameEvent(_arg1:uint){
this.time = _arg1;
}
public function execute(){
trace("GameEvent::execute is abstract");
}
}
}//package event
Section 20
//MochiBot (external.mochi.MochiBot)
package external.mochi {
import flash.display.*;
import flash.net.*;
import flash.system.*;
public dynamic class MochiBot extends Sprite {
public static function track(_arg1:Sprite, _arg2:String):MochiBot{
var _local3:MochiBot;
var _local4:String;
var _local5:URLVariables;
var _local6:String;
var _local7:URLRequest;
var _local8:Loader;
if (Security.sandboxType == "localWithFile"){
return (null);
};
_local3 = new (MochiBot);
_arg1.addChild(_local3);
Security.allowDomain("*");
Security.allowInsecureDomain("*");
_local4 = "http://core.mochibot.com/my/core.swf";
_local5 = new URLVariables();
_local5["sb"] = Security.sandboxType;
_local5["v"] = Capabilities.version;
_local5["swfid"] = _arg2;
_local5["mv"] = "8";
_local5["fv"] = "9";
_local6 = _local3.root.loaderInfo.loaderURL;
if (_local6.indexOf("http") == 0){
_local5["url"] = _local6;
} else {
_local5["url"] = "local";
};
_local7 = new URLRequest(_local4);
_local7.contentType = "application/x-www-form-urlencoded";
_local7.method = URLRequestMethod.POST;
_local7.data = _local5;
_local8 = new Loader();
_local3.addChild(_local8);
_local8.load(_local7);
return (_local3);
}
}
}//package external.mochi
Section 21
//CanvasManager (game.CanvasManager)
package game {
import common.math.*;
import flash.display.*;
import common.coll.*;
import flash.filters.*;
public class CanvasManager {
private var pauseScreen:MovieClip;
private var podLayer:MovieClip;
private var canvas:MovieClip;
private var particleLayer:MovieClip;
private var bulletLayer:MovieClip;
private var gunLayer:MovieClip;
private var bonusLayer:MovieClip;
private var markerLayer:MovieClip;
public function CanvasManager(_arg1:MovieClip){
this.bulletLayer = new MovieClip();
this.gunLayer = new MovieClip();
this.podLayer = new MovieClip();
this.bonusLayer = new MovieClip();
this.particleLayer = new MovieClip();
this.markerLayer = new MovieClip();
this.canvas = _arg1;
bonusLayer.filters = [new GlowFilter(13826965, 0.5, 3, 3, 1, 1)];
this.canvas.addChild(new GameBackground());
_arg1.addChild(podLayer);
_arg1.addChild(gunLayer);
_arg1.addChild(bonusLayer);
_arg1.addChild(particleLayer);
_arg1.addChild(bulletLayer);
_arg1.addChild(markerLayer);
}
public function getMarkerLayer():MovieClip{
return (markerLayer);
}
public function getPodLayer():MovieClip{
return (podLayer);
}
public function checkCollisionWithBulletLayer(_arg1:MovieClip){
var _local2:Boolean;
bulletLayer.filters = [];
_local2 = Collision.pixelPerfect(_arg1, bulletLayer, 0.5);
bulletLayer.filters = [new GlowFilter(16777079, 1, 4, 4, 1, 1, false, false)];
return (_local2);
}
public function getGunLayer():MovieClip{
return (gunLayer);
}
public function getBonusLayer():MovieClip{
return (bonusLayer);
}
public function clearMarkerLayer(){
canvas.removeChild(markerLayer);
markerLayer = new MovieClip();
canvas.addChild(markerLayer);
}
public function getParticleLayer():MovieClip{
return (particleLayer);
}
public function getMousePosition():Vector{
return (new Vector(canvas.mouseX, canvas.mouseY));
}
public function getBulletLayer():MovieClip{
return (bulletLayer);
}
}
}//package game
Section 22
//Game (game.Game)
package game {
import common.math.*;
import common.inter.*;
import spr.bullet.*;
import spr.bonus.*;
import utils.*;
import flash.display.*;
import common.tools.*;
import spr.gun.*;
import event.*;
import common.prim.*;
import spr.*;
public class Game {
private var score:Score;
private var playerEstimator:MovementEstimator;
private var paused:Boolean;
private var gameIsOver:Boolean;
private var totalTime:int;
private var listener:ActionListener;
private var canvasManager:CanvasManager;
private var hits:uint;
private var gunManager:GunManager;
private var sprites:Array;
private var eventSchedule:EventSchedule;
private var positionCenter:Vector;
private var player:Player;
private var currentTime:int;
private var particleGenerator:ParticleGenerator;
private var spriteArea:Box;
public static const AREA_MARGIN:int = 30;
public static const FPS:Number = 24;
public function Game(_arg1:CanvasManager, _arg2:ActionListener){
currentTime = (totalTime = (115 * FPS));
this.score = new Score(115);
this.canvasManager = _arg1;
this.listener = _arg2;
this.paused = false;
this.gameIsOver = false;
sprites = [];
this.gunManager = new GunManager(sprites, _arg1);
positionCenter = new Vector((Main.STAGE_WIDTH / 2), (Main.STAGE_HEIGHT / 2));
spriteArea = new Box(-(AREA_MARGIN), -(AREA_MARGIN), (Main.STAGE_WIDTH + (2 * AREA_MARGIN)), (Main.STAGE_HEIGHT + (2 * AREA_MARGIN)));
particleGenerator = new ParticleGenerator(_arg1.getParticleLayer(), spriteArea);
player = new Player(GlobalStage.getStage().mouseX, GlobalStage.getStage().mouseY);
_arg1.getGunLayer().addChild(player);
playerEstimator = new MovementEstimator(player);
hits = 0;
eventSchedule = EventSchedule.createSchedule(gunManager);
}
public function addBullet(_arg1:Bullet):Bullet{
sprites.push(_arg1);
canvasManager.getBulletLayer().addChild(_arg1);
return (_arg1);
}
public function collecteDare():void{
score.files++;
}
public function collectData(_arg1:uint):void{
score.data = (score.data + _arg1);
}
public function removeBullet(_arg1:Bullet, _arg2:Boolean=true){
sprites.splice(sprites.indexOf(_arg1), 1);
if (_arg2){
canvasManager.getBulletLayer().removeChild(_arg1);
};
}
public function resume(){
paused = false;
}
public function getHits():uint{
return (hits);
}
public function getParticleGenerator():ParticleGenerator{
return (particleGenerator);
}
public function setMarker(_arg1:Vector){
var _local2:MovieClip;
}
public function getTime():Number{
return ((currentTime / FPS));
}
public function update(){
var _local1:Vector;
var _local2:Vector;
var _local3:Vector;
var _local4:GameSprite;
var _local5:uint;
if (paused){
return;
};
canvasManager.clearMarkerLayer();
particleGenerator.update();
if (!gameIsOver){
if (--currentTime == 0){
gameIsOver = true;
gameOver();
return;
};
_local1 = canvasManager.getMousePosition();
player.update(_local1);
playerEstimator.update();
_local2 = player.getPosition();
_local5 = 0;
while (_local5 < sprites.length) {
_local4 = (sprites[_local5] as GameSprite);
_local4.update(_local2);
_local3 = _local4.getPosition();
if (!spriteArea.containsPoint(_local3)){
sprites.splice(_local5, 1);
_local5--;
if ((_local4 is DisplayObject)){
canvasManager.getBulletLayer().removeChild((_local4 as DisplayObject));
};
};
_local5++;
};
if (canvasManager.checkCollisionWithBulletLayer(player)){
score.playerIsDead = true;
gameIsOver = true;
player.die();
Recall.getInstance().addCallback(gameOver, (FPS * 3.5));
};
eventSchedule.execute((totalTime - currentTime));
};
}
public function getScore():Score{
score.time = (currentTime / FPS);
return (score);
}
public function getPlayerEstimator():MovementEstimator{
return (playerEstimator);
}
public function quitGame():void{
if (((gameIsOver) || (paused))){
return;
};
player.leave();
gameIsOver = true;
Recall.getInstance().addCallback(gameOver, 30);
}
private function activate(_arg1:Array, _arg2:Array=null){
var _local3:Gun;
var _local4:uint;
if (_arg2 == null){
for each (_local3 in _arg1) {
_local3.activate();
};
} else {
for each (_local4 in _arg2) {
_arg1[_local4].activate();
};
};
}
private function deactivate(_arg1:Array, _arg2:Array=null){
var _local3:Gun;
var _local4:uint;
if (_arg2 == null){
for each (_local3 in _arg1) {
_local3.deactivate();
};
} else {
for each (_local4 in _arg2) {
_arg1[_local4].deactivate();
};
};
}
private function gameOver():void{
listener.handleAction("gameOver", this);
}
public function pause(){
paused = true;
}
public function isPaused():Boolean{
return (paused);
}
public function removeBonus(_arg1:Bonus, _arg2:Boolean=true){
sprites.splice(sprites.indexOf(_arg1), 1);
if (_arg2){
canvasManager.getBonusLayer().removeChild(_arg1);
};
}
public function getPlayerPos():Vector{
return (player.getPosition());
}
public function addBonus(_arg1:Bonus):Bonus{
sprites.push(_arg1);
canvasManager.getBonusLayer().addChild(_arg1);
return (_arg1);
}
}
}//package game
Section 23
//GunManager (game.GunManager)
package game {
import common.math.*;
import spr.gun.*;
public class GunManager {
public var beamGuns:Array;
public var trackingGuns:Array;
public var shotGuns:Array;
private var sprites:Array;
public var precisionGuns:Array;
public var chainGuns:Array;
public var rocketLauncherRight:Array;
public var centerGun:Array;
private var canvasManager:CanvasManager;
public var rocketLauncherLeft:Array;
public var bouncerGuns:Array;
public function GunManager(_arg1:Array, _arg2:CanvasManager){
var _local3:Vector;
super();
this.sprites = _arg1;
this.canvasManager = _arg2;
_local3 = new Vector((Main.STAGE_WIDTH / 2), (Main.STAGE_HEIGHT / 2));
rocketLauncherLeft = [addGun(new Vector(30, 130), GunFactory.ROCKET_LAUNCHER), addGun(new Vector(30, 170), GunFactory.ROCKET_LAUNCHER)];
rocketLauncherRight = [addGun(new Vector(410, 260), GunFactory.ROCKET_LAUNCHER), addGun(new Vector(410, 300), GunFactory.ROCKET_LAUNCHER)];
centerGun = [addGun(_local3, GunFactory.CENTER_GUN)];
trackingGuns = addGunCircle(5, 70, 0, GunFactory.TRACKING_GUN);
precisionGuns = [addGun(new Vector(220, 410), GunFactory.PRECISION_GUN)];
shotGuns = [addGun(new Vector(220, 350), GunFactory.SHOTGUN)];
bouncerGuns = [addGun(new Vector(180, 30), GunFactory.BOUNCER_GUN), addGun(new Vector(260, 30), GunFactory.BOUNCER_GUN)];
beamGuns = [addGun(new Vector(30, 30), GunFactory.BEAM_GUN), addGun(new Vector(30, 410), GunFactory.BEAM_GUN), addGun(new Vector(410, 410), GunFactory.BEAM_GUN)];
chainGuns = [addGun(new Vector(180, 100), GunFactory.CHAIN_GUN), addGun(new Vector(260, 100), GunFactory.CHAIN_GUN)];
}
public function addGunCircle(_arg1:uint, _arg2:Number, _arg3:Number, _arg4:uint):Array{
var _local5:Vector;
var _local6:Array;
var _local7:uint;
_local5 = new Vector();
_arg3 = (_arg3 * (Math.PI / 180));
_local6 = [];
_local7 = 0;
while (_local7 < _arg1) {
_local5.x = ((Math.sin((_arg3 + (((_local7 / _arg1) * 2) * Math.PI))) * _arg2) + (Main.STAGE_WIDTH / 2));
_local5.y = ((Math.cos((_arg3 + (((_local7 / _arg1) * 2) * Math.PI))) * _arg2) + (Main.STAGE_WIDTH / 2));
_local6.push(addGun(_local5, _arg4));
_local7++;
};
return (_local6);
}
public function addGun(_arg1:Vector, _arg2:uint):Gun{
var _local3:Gun;
var _local4:GunPod;
_local3 = GunFactory.createGun(_arg2, _arg1);
_local4 = GunFactory.createPod(_arg2, _local3);
sprites.push(_local3);
canvasManager.getPodLayer().addChild(_local4);
canvasManager.getGunLayer().addChild(_local3);
return (_local3);
}
}
}//package game
Section 24
//Options (game.Options)
package game {
import flash.events.*;
import flash.display.*;
import common.tools.*;
public class Options extends MovieClip {
private var sound:Boolean;
private var music:Boolean;
public var mcSound:MovieClip;
public var mcMusic:MovieClip;
private var mouseOver:Boolean;
private var soundSettings:MovieClip;
private var baseHeight:Number;
private var qualitySettings:MovieClip;
private var musicSettings:MovieClip;
public var mcQuality:MovieClip;
private var offset:Number;
private var baseY:Number;
private var quality:uint;
private static const BUTTON_ALPHA:Number = 0.75;
private static const BUTTON_FADE_FACTOR:Number = 0.25;
private static const MOVE_FACTOR:Number = 0.25;
public function Options(){
addEventListener(MouseEvent.MOUSE_OVER, onHover);
addEventListener(MouseEvent.MOUSE_OUT, onLeave);
addEventListener(MouseEvent.CLICK, onClick);
addEventListener(Event.ENTER_FRAME, update);
mouseOver = false;
baseY = (y = 405);
baseHeight = height;
offset = (440 - baseY);
qualitySettings = (getChildByName("mcQuality") as MovieClip);
soundSettings = (getChildByName("mcSound") as MovieClip);
musicSettings = (getChildByName("mcMusic") as MovieClip);
qualitySettings.alpha = (soundSettings.alpha = (musicSettings.alpha = BUTTON_ALPHA));
alpha = 0.1;
readSettings();
}
private function writeSettings():void{
var _local1:Stage;
var _local2:Array;
_local1 = GlobalStage.getStage();
_local2 = ["LOW", "MEDIUM", "HIGH"];
_local1.quality = _local2[(qualitySettings.currentFrame - 1)];
if (musicSettings.currentFrame == 1){
Main.getMusicManager().unmute();
} else {
Main.getMusicManager().mute();
};
if (soundSettings.currentFrame == 1){
Main.getSoundManager().unmute();
} else {
Main.getSoundManager().mute();
};
}
public function onLeave(_arg1:MouseEvent):void{
var _local2:MovieClip;
mouseOver = false;
_local2 = (_arg1.target as MovieClip);
if (_local2 == this){
return;
};
_local2.alpha = 0.999;
}
public function onHover(_arg1:MouseEvent):void{
var _local2:MovieClip;
mouseOver = true;
_local2 = (_arg1.target as MovieClip);
if (_local2 == this){
return;
};
_local2.alpha = 1;
}
public function update(_arg1:Event):void{
var _local2:Number;
var _local3:Array;
var _local4:MovieClip;
if (mouseOver){
_local2 = ((((baseY - baseHeight) + offset) - y) * MOVE_FACTOR);
} else {
_local2 = ((baseY - y) * MOVE_FACTOR);
};
y = (y + _local2);
alpha = ((alpha < 1)) ? (alpha * 2) : 1;
_local3 = [qualitySettings, soundSettings, musicSettings];
for each (_local4 in _local3) {
if (_local4.alpha == 1){
continue;
} else {
if (_local4.alpha > BUTTON_ALPHA){
_local4.alpha = (_local4.alpha - ((_local4.alpha - BUTTON_ALPHA) * BUTTON_FADE_FACTOR));
} else {
_local4.alpha = BUTTON_ALPHA;
};
};
};
}
private function readSettings():void{
var _local1:Stage;
_local1 = GlobalStage.getStage();
switch (_local1.quality){
case "HIGH":
qualitySettings.gotoAndStop(3);
break;
case "MEDIUM":
qualitySettings.gotoAndStop(2);
break;
case "LOW":
qualitySettings.gotoAndStop(1);
break;
};
if (Main.getSoundManager().isMute()){
soundSettings.gotoAndStop(2);
} else {
soundSettings.gotoAndStop(1);
};
if (Main.getMusicManager().isMute()){
musicSettings.gotoAndStop(2);
} else {
musicSettings.gotoAndStop(1);
};
}
public function onClick(_arg1:MouseEvent):void{
var _local2:MovieClip;
_local2 = (_arg1.target as MovieClip);
if (_local2 == this){
return;
};
_local2.gotoAndStop(((_local2.currentFrame % _local2.totalFrames) + 1));
writeSettings();
}
}
}//package game
Section 25
//QuickInstructions (game.QuickInstructions)
package game {
import flash.events.*;
import flash.display.*;
public class QuickInstructions extends MovieClip {
private var callback:Function;
public function QuickInstructions(_arg1:Function){
this.callback = _arg1;
this.addEventListener(MouseEvent.CLICK, onClick);
}
private function onClick(_arg1){
callback.call();
parent.removeChild(this);
}
}
}//package game
Section 26
//Score (game.Score)
package game {
public class Score {
public var scoreSubmitted:Boolean;
public var data:uint;
public var time:uint;
public var playerIsDead:Boolean;
public var totalTime:uint;
public var files:uint;
public function Score(_arg1:uint){
this.time = (this.totalTime = _arg1);
this.files = (this.data = 0);
this.playerIsDead = false;
this.scoreSubmitted = false;
}
}
}//package game
Section 27
//Bonus (spr.bonus.Bonus)
package spr.bonus {
import common.math.*;
import flash.display.*;
import spr.*;
public class Bonus extends MovieClip implements GameSprite {
protected var ttl:uint;
protected var position:Vector;
public function Bonus(_arg1:Vector){
this.position = new Vector();
this.ttl = (24 * 10);
setPosition(_arg1);
}
public function collect(){
trace("Bonus::collect is abstract");
}
protected function remove(_arg1:Boolean=false){
Main.getGame().removeBonus(this, false);
if (_arg1){
gotoAndPlay("decay");
} else {
gotoAndPlay("collect");
};
}
public function getPosition():Vector{
return (position);
}
public function setPosition(_arg1:Vector){
position = _arg1.copy();
x = position.x;
y = position.y;
}
public function update(_arg1:Vector){
if (--ttl <= 0){
remove(true);
return;
};
updateBonus(_arg1);
}
protected function updateBonus(_arg1:Vector){
trace("Bonus::updateBonus is abstract");
}
}
}//package spr.bonus
Section 28
//Dare (spr.bonus.Dare)
package spr.bonus {
import common.math.*;
import spr.gun.*;
public class Dare extends Bonus {
private const RADIUS:Number = 30;
private var target:Gun;
public function Dare(_arg1:Gun, _arg2:Vector=null){
addFrameScript(9, frame10, 16, frame17, 25, frame26);
super(((_arg2 == null)) ? _arg1.getPosition() : _arg2);
this.target = _arg1;
this.ttl = (24 * 5);
}
override public function collect(){
target.upgrade();
Main.getGame().collecteDare();
remove();
}
function frame10(){
stop();
}
function frame17(){
parent.removeChild(this);
}
function frame26(){
if (parent){
parent.removeChild(this);
};
}
override protected function updateBonus(_arg1:Vector){
if (position.sub(_arg1).length2 <= (RADIUS * RADIUS)){
collect();
};
}
}
}//package spr.bonus
Section 29
//Data (spr.bonus.Data)
package spr.bonus {
import common.math.*;
public class Data extends Bonus {
private const RADIUS:Number = 15;
private var value:uint;
public function Data(_arg1:Vector, _arg2:uint=1){
addFrameScript(9, frame10, 16, frame17, 24, frame25);
super(_arg1);
this.ttl = (24 * 8);
this.value = _arg2;
this.scaleX = (this.scaleY = Math.sqrt(_arg2));
}
override public function collect(){
Main.getGame().collectData(value);
Main.getSoundManager().play(Main.SOUND_COLLECT_SCORE);
remove();
}
function frame10(){
stop();
}
function frame17(){
parent.removeChild(this);
}
function frame25(){
if (parent){
parent.removeChild(this);
};
}
override protected function updateBonus(_arg1:Vector){
if (position.sub(_arg1).length2 <= (RADIUS * RADIUS)){
collect();
};
}
}
}//package spr.bonus
Section 30
//Ball (spr.bullet.Ball)
package spr.bullet {
import common.math.*;
public class Ball extends Bullet {
private var velocity:Vector;
public static const SPEED:Number = 6;
public function Ball(_arg1:Vector, _arg2:Number){
super(_arg1, _arg2);
this.velocity = Vector.fromAngle((((_arg2 - 90) * Math.PI) / 180)).scalar(SPEED);
}
override protected function updateBullet(_arg1:Vector){
position.mAdd(velocity);
}
}
}//package spr.bullet
Section 31
//Bouncer (spr.bullet.Bouncer)
package spr.bullet {
import common.math.*;
public class Bouncer extends Bullet {
private const SPEED:Number = 5.5;
private const RADIUS:Number = 7;
private const TTL:Number = 240;
private var ttl:Number;
private var velocity:Vector;
public function Bouncer(_arg1:Vector, _arg2:Number, _arg3:Number){
addFrameScript(9, frame10, 16, frame17);
super(_arg1, _arg2);
this.velocity = Vector.fromAngle((((_arg2 - 90) * Math.PI) / 180)).scalar(SPEED);
this.ttl = TTL;
this.rotation = _arg3;
}
override protected function updateBullet(_arg1:Vector){
var _local2:Number;
position.mAdd(velocity);
scaleX = (scaleX * 1.0025);
scaleY = scaleX;
_local2 = ((width + height) / 3);
if ((position.x - _local2) < 0){
velocity.x = -(velocity.x);
position.x = _local2;
} else {
if ((position.x + _local2) > Main.STAGE_WIDTH){
velocity.x = -(velocity.x);
position.x = (Main.STAGE_WIDTH - _local2);
};
};
if ((position.y - _local2) < 0){
velocity.y = -(velocity.y);
position.y = _local2;
} else {
if ((position.y + _local2) > Main.STAGE_HEIGHT){
velocity.y = -(velocity.y);
position.y = (Main.STAGE_HEIGHT - _local2);
};
};
if (--ttl <= 0){
Main.getGame().removeBullet(this, false);
gotoAndPlay("explode");
};
}
function frame10(){
gotoAndPlay(1);
}
function frame17(){
if (parent){
parent.removeChild(this);
};
}
}
}//package spr.bullet
Section 32
//Bullet (spr.bullet.Bullet)
package spr.bullet {
import common.math.*;
import flash.display.*;
import spr.*;
public class Bullet extends MovieClip implements GameSprite {
protected var position:Vector;
public function Bullet(_arg1:Vector, _arg2:Number=0){
this.position = _arg1.copy();
this.rotation = _arg2;
}
protected function updateBullet(_arg1:Vector){
}
public function getPosition():Vector{
return (position.copy());
}
public function setPosition(_arg1:Vector){
this.position = _arg1.copy();
}
public function update(_arg1:Vector){
updateBullet(_arg1);
x = position.x;
y = position.y;
}
}
}//package spr.bullet
Section 33
//ClusterRocket (spr.bullet.ClusterRocket)
package spr.bullet {
import common.math.*;
public class ClusterRocket extends Bullet {
private const SPEED:Number = 4;
private const ACC:Number = 0.5;
private const NEAR:Number = 80;
private const TTL:uint = 72;
private var ttl:uint;
private var level:uint;
private var velocity:Vector;
public function ClusterRocket(_arg1:Vector, _arg2:Number, _arg3:uint){
addFrameScript(0, frame1, 9, frame10);
super(_arg1, _arg2);
this.velocity = Vector.fromAngle((((_arg2 - 90) * Math.PI) / 180)).scalar(SPEED);
this.ttl = TTL;
this.level = _arg3;
}
override protected function updateBullet(_arg1:Vector){
var _local2:Number;
var _local3:Vector;
var _local4:Vector;
var _local5:uint;
var _local6:uint;
var _local7:Number;
if ((((--ttl <= 0)) || ((_arg1.sub(position).length2 < (NEAR * NEAR))))){
this.gotoAndPlay("explode");
Main.getGame().removeBullet(this, false);
_local5 = (level + 1);
_local6 = 0;
while (_local6 < _local5) {
Main.getGame().addBullet(new Rocket(position, (rotation + ((_local6 * 360) / _local5))));
_local6++;
};
return;
};
_local2 = _arg1.sub(position).length;
if (_local2 > 50){
_local7 = (_local2 / SPEED);
_local7 = ((_local7 > 10)) ? 10 : _local7;
_arg1 = Main.getGame().getPlayerEstimator().estimatePositionVerlet(_local7);
};
_local3 = _arg1.sub(position).normalize().scalar(SPEED);
_local4 = _local3.sub(velocity);
if (_local4.length2 > (ACC * ACC)){
_local4.length = ACC;
};
velocity.mAdd(_local4);
velocity.length = SPEED;
position.mAdd(velocity);
rotation = (90 + ((velocity.angle * 180) / Math.PI));
}
function frame10(){
if (parent){
parent.removeChild(this);
};
}
function frame1(){
stop();
}
}
}//package spr.bullet
Section 34
//Laser (spr.bullet.Laser)
package spr.bullet {
import common.math.*;
public class Laser extends Bullet {
private const SPEED:Number = 5;
private var velocity:Vector;
public function Laser(_arg1:Vector, _arg2:Number, _arg3:Number=5){
super(_arg1, _arg2);
this.velocity = Vector.fromAngle((((_arg2 - 90) * Math.PI) / 180)).scalar(_arg3);
}
override protected function updateBullet(_arg1:Vector){
position.mAdd(velocity);
}
}
}//package spr.bullet
Section 35
//Rocket (spr.bullet.Rocket)
package spr.bullet {
import common.math.*;
import utils.*;
public class Rocket extends Bullet {
private const SPEED:Number = 5.5;
private const ACC:Number = 0.6875;
private const NEAR:uint = 8;
private const TTL:uint = 120;
private var ttl:uint;
private var velocity:Vector;
public function Rocket(_arg1:Vector, _arg2:Number){
addFrameScript(0, frame1, 9, frame10);
super(_arg1, _arg2);
this.velocity = Vector.fromAngle((((_arg2 - 90) * Math.PI) / 180)).scalar(SPEED);
this.ttl = TTL;
}
override protected function updateBullet(_arg1:Vector){
var _local2:Number;
var _local3:Vector;
var _local4:Vector;
var _local5:Number;
if ((((--ttl <= 0)) || ((_arg1.sub(position).length2 < (NEAR * NEAR))))){
this.gotoAndPlay("explode");
Main.getGame().removeBullet(this, false);
return;
};
ParticleSettings.rocketTrail.angle = (((rotation + 90) * Math.PI) / 180);
Main.getGame().getParticleGenerator().spawn(position, ParticleSettings.rocketTrail);
_local2 = _arg1.sub(position).length;
if (_local2 > 50){
_local5 = (_local2 / SPEED);
_local5 = ((_local5 > 10)) ? 10 : _local5;
_arg1 = Main.getGame().getPlayerEstimator().estimatePositionVerlet(_local5);
};
_local3 = _arg1.sub(position).normalize().scalar(SPEED);
_local4 = _local3.sub(velocity);
if (_local4.length2 > (ACC * ACC)){
_local4.length = ACC;
};
velocity.mAdd(_local4);
velocity.length = SPEED;
position.mAdd(velocity);
rotation = (90 + ((velocity.angle * 180) / Math.PI));
}
function frame10(){
if (parent){
parent.removeChild(this);
};
}
function frame1(){
stop();
}
}
}//package spr.bullet
Section 36
//TripleRocket (spr.bullet.TripleRocket)
package spr.bullet {
import common.math.*;
public class TripleRocket extends Bullet {
private const SPEED:Number = 4;
private const ACC:Number = 0.5;
private const NEAR:Number = 75;
private const TTL:uint = 72;
private var ttl:uint;
private var velocity:Vector;
public function TripleRocket(_arg1:Vector, _arg2:Number){
addFrameScript(0, frame1, 9, frame10);
super(_arg1, _arg2);
this.velocity = Vector.fromAngle((((_arg2 - 90) * Math.PI) / 180)).scalar(SPEED);
this.ttl = TTL;
}
override protected function updateBullet(_arg1:Vector){
var _local2:Number;
var _local3:Vector;
var _local4:Vector;
var _local5:Number;
if ((((--ttl <= 0)) || ((_arg1.sub(position).length2 < (NEAR * NEAR))))){
this.gotoAndPlay("explode");
Main.getGame().removeBullet(this, false);
Main.getGame().addBullet(new Rocket(position, (rotation + 55)));
Main.getGame().addBullet(new Rocket(position, rotation));
Main.getGame().addBullet(new Rocket(position, (rotation - 55)));
return;
};
_local2 = _arg1.sub(position).length;
if (_local2 > 50){
_local5 = (_local2 / SPEED);
_local5 = ((_local5 > 10)) ? 10 : _local5;
_arg1 = Main.getGame().getPlayerEstimator().estimatePositionVerlet(_local5);
};
_local3 = _arg1.sub(position).normalize().scalar(SPEED);
_local4 = _local3.sub(velocity);
if (_local4.length2 > (ACC * ACC)){
_local4.length = ACC;
};
velocity.mAdd(_local4);
velocity.length = SPEED;
position.mAdd(velocity);
rotation = (90 + ((velocity.angle * 180) / Math.PI));
}
function frame10(){
if (parent){
parent.removeChild(this);
};
}
function frame1(){
stop();
}
}
}//package spr.bullet
Section 37
//TwinRocket (spr.bullet.TwinRocket)
package spr.bullet {
import common.math.*;
public class TwinRocket extends Bullet {
private const SPEED:Number = 4;
private const ACC:Number = 0.5;
private const NEAR:Number = 70;
private const TTL:uint = 72;
private var ttl:uint;
private var velocity:Vector;
public function TwinRocket(_arg1:Vector, _arg2:Number){
addFrameScript(0, frame1, 9, frame10);
super(_arg1, _arg2);
this.velocity = Vector.fromAngle((((_arg2 - 90) * Math.PI) / 180)).scalar(SPEED);
this.ttl = TTL;
}
override protected function updateBullet(_arg1:Vector){
var _local2:Number;
var _local3:Vector;
var _local4:Vector;
var _local5:Number;
if ((((--ttl <= 0)) || ((_arg1.sub(position).length2 < (NEAR * NEAR))))){
this.gotoAndPlay("explode");
Main.getGame().removeBullet(this, false);
Main.getGame().addBullet(new Rocket(position, (rotation + 45)));
Main.getGame().addBullet(new Rocket(position, (rotation - 45)));
return;
};
_local2 = _arg1.sub(position).length;
if (_local2 > 50){
_local5 = (_local2 / SPEED);
_local5 = ((_local5 > 10)) ? 10 : _local5;
_arg1 = Main.getGame().getPlayerEstimator().estimatePositionVerlet(_local5);
};
_local3 = _arg1.sub(position).normalize().scalar(SPEED);
_local4 = _local3.sub(velocity);
if (_local4.length2 > (ACC * ACC)){
_local4.length = ACC;
};
velocity.mAdd(_local4);
velocity.length = SPEED;
position.mAdd(velocity);
rotation = (90 + ((velocity.angle * 180) / Math.PI));
}
function frame10(){
if (parent){
parent.removeChild(this);
};
}
function frame1(){
stop();
}
}
}//package spr.bullet
Section 38
//BaseGun (spr.gun.BaseGun)
package spr.gun {
import common.math.*;
import spr.bullet.*;
public class BaseGun extends Gun {
public function BaseGun(_arg1:Vector, _arg2:uint){
addFrameScript(14, frame15, 30, frame31);
super(_arg1, _arg2);
}
private function fire(_arg1:Vector){
setCooldown();
Main.getSoundManager().play(Main.SOUND_FIRE);
Main.getGame().addBullet(new Laser(new Vector(x, y), rotation));
}
function frame15(){
stop();
}
function frame31(){
stop();
}
override protected function updateGun(_arg1:Vector){
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local2 = (((rotation + 90) * Math.PI) / 180);
_local3 = Math.atan2((y - _arg1.y), (x - _arg1.x));
_local4 = (_local3 - _local2);
_local5 = (_local4 + (2 * Math.PI));
while (_local5 > (2 * Math.PI)) {
_local5 = (_local5 - (2 * Math.PI));
};
if (Math.abs(_local4) > Math.abs(_local5)){
_local4 = _local5;
};
if (_local4 > (5 * (Math.PI / 180))){
_local2 = (_local2 + (_local4 * 0.2));
} else {
_local2 = _local3;
};
rotation = (((_local2 * 180) / Math.PI) - 90);
if (charged){
fire(_arg1);
};
}
}
}//package spr.gun
Section 39
//BeamGun (spr.gun.BeamGun)
package spr.gun {
import common.math.*;
import spr.bullet.*;
import flash.display.*;
public class BeamGun extends Gun {
private const STRENGTH_FACTOR:Number = 1.05;
private const MAX_ROT_SPEED:Number = 0.2;
private const FIRE_DURATION:uint = 132;
private const SIZE_FACTOR:Number = 1.07;
private const MAX_ROT_SPEED_FIRING:Number = 0.00174532925199433;
private var beamStrength:Number;
private var beamSize:Number;
private var fireCountdown:uint;
private var beamCanvas:Bullet;
public function BeamGun(_arg1:Vector, _arg2:uint){
addFrameScript(14, frame15, 30, frame31);
super(_arg1, _arg2);
}
private function fire(_arg1:Vector){
fireCountdown = FIRE_DURATION;
beamCanvas = new Bullet(position, rotation);
Main.getSoundManager().play(Main.SOUND_BEAM);
Main.getGame().addBullet(beamCanvas);
}
function frame15(){
stop();
}
function frame31(){
stop();
}
private function updateTracking(_arg1:Vector){
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:*;
_local2 = (((rotation + 90) * Math.PI) / 180);
_local3 = Math.atan2((y - _arg1.y), (x - _arg1.x));
_local4 = (_local3 - _local2);
_local5 = (_local4 + (2 * Math.PI));
while (_local5 > (2 * Math.PI)) {
_local5 = (_local5 - (2 * Math.PI));
};
if (Math.abs(_local4) > Math.abs(_local5)){
_local4 = _local5;
};
_local6 = (_local4 * 0.2);
if (Math.abs(_local4) > (MAX_ROT_SPEED / 2)){
_local6 = ((_local6 > MAX_ROT_SPEED)) ? MAX_ROT_SPEED : _local6;
_local6 = ((_local6 < -(MAX_ROT_SPEED))) ? -(MAX_ROT_SPEED) : _local6;
_local2 = (_local2 + _local6);
} else {
_local2 = _local3;
};
rotation = (((_local2 * 180) / Math.PI) - 90);
if (charged){
fire(_arg1);
};
}
override protected function updateGun(_arg1:Vector){
if (fireCountdown > 0){
updateFiring(_arg1);
} else {
updateTracking(_arg1);
};
}
private function updateFiring(_arg1:Vector){
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:*;
var _local7:Number;
var _local8:Graphics;
_local2 = (((rotation + 90) * Math.PI) / 180);
_local3 = Math.atan2((y - _arg1.y), (x - _arg1.x));
_local4 = (_local3 - _local2);
_local5 = (_local4 + (2 * Math.PI));
while (_local5 > (2 * Math.PI)) {
_local5 = (_local5 - (2 * Math.PI));
};
if (Math.abs(_local4) > Math.abs(_local5)){
_local4 = _local5;
};
_local6 = (_local4 * 0.2);
if (Math.abs(_local4) > (MAX_ROT_SPEED_FIRING / 2)){
_local6 = ((_local6 > MAX_ROT_SPEED_FIRING)) ? MAX_ROT_SPEED_FIRING : _local6;
_local6 = ((_local6 < -(MAX_ROT_SPEED_FIRING))) ? -(MAX_ROT_SPEED_FIRING) : _local6;
_local2 = (_local2 + _local6);
} else {
_local2 = _local3;
};
rotation = (((_local2 * 180) / Math.PI) - 90);
_local7 = 600;
if (fireCountdown > (FIRE_DURATION - 5)){
beamSize = 0.5;
beamStrength = 0.15;
} else {
if (fireCountdown > ((2 * FIRE_DURATION) / 3)){
beamSize = (beamSize * SIZE_FACTOR);
beamStrength = (beamStrength * STRENGTH_FACTOR);
} else {
if (fireCountdown <= (FIRE_DURATION / 3)){
beamSize = (beamSize / SIZE_FACTOR);
beamStrength = (beamStrength / STRENGTH_FACTOR);
};
};
};
beamSize = ((beamSize < 0.5)) ? 0.5 : beamSize;
_local8 = beamCanvas.graphics;
_local8.clear();
_local8.beginFill(0xFFFFFF, beamStrength);
_local8.lineStyle(0, 0, 0);
_local8.moveTo(-(beamSize), -10);
_local8.lineTo(-(beamSize), -(_local7));
_local8.lineTo(beamSize, -(_local7));
_local8.lineTo(beamSize, -10);
_local8.endFill();
beamCanvas.rotation = rotation;
if (--fireCountdown == 0){
Main.getGame().removeBullet(beamCanvas);
beamCanvas = null;
setCooldown();
};
}
}
}//package spr.gun
Section 40
//BouncerGun (spr.gun.BouncerGun)
package spr.gun {
import common.math.*;
import spr.bullet.*;
public class BouncerGun extends Gun {
private var angles:uint;
private var destRot:Number;
public function BouncerGun(_arg1:Vector, _arg2:uint){
addFrameScript(14, frame15, 30, frame31);
super(_arg1, _arg2);
destRot = ((3 * Math.PI) / 4);
angles = 35;
}
private function fire(_arg1:Vector){
setCooldown();
turn();
Main.getGame().addBullet(new Bouncer(new Vector(x, y), rotation, angles));
angles = ((angles + 157) % 360);
Main.getSoundManager().play(Main.SOUND_ELECTRO);
}
function frame15(){
stop();
}
protected function turn(){
destRot = (destRot + (Math.PI / 2));
while (destRot > (2 * Math.PI)) {
destRot = (destRot - (2 * Math.PI));
};
while (destRot < 0) {
destRot = (destRot + (2 * Math.PI));
};
}
function frame31(){
stop();
}
override protected function upgradeGun(){
activate();
}
override protected function updateGun(_arg1:Vector){
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local2 = (((rotation + 90) * Math.PI) / 180);
_local3 = (destRot - _local2);
_local4 = (-(_local3) + (2 * Math.PI));
while (_local4 > (2 * Math.PI)) {
_local4 = (_local4 - (2 * Math.PI));
};
if (Math.abs(_local3) > Math.abs(_local4)){
_local3 = _local4;
};
if (_local3 > (5 * (Math.PI / 180))){
_local2 = (_local2 + (_local3 * 0.2));
} else {
_local2 = destRot;
};
rotation = (((_local2 * 180) / Math.PI) - 90);
if (charged){
fire(_arg1);
};
}
}
}//package spr.gun
Section 41
//CenterGun (spr.gun.CenterGun)
package spr.gun {
import common.math.*;
import spr.bullet.*;
public class CenterGun extends Gun {
private var frenzyCountdown:int;
private var frenzyInterval:uint;
private var frenzyDuration:uint;
private var destRot:Number;
private var frenzyCounter:int;
public function CenterGun(_arg1:Vector, _arg2:uint){
addFrameScript(14, frame15, 30, frame31);
super(_arg1, _arg2);
destRot = 0;
frenzyInterval = (8 * 24);
frenzyDuration = 8;
frenzyCounter = frenzyInterval;
frenzyCountdown = frenzyDuration;
}
private function fire(_arg1:Vector){
var _local2:Vector;
var _local3:Number;
var _local4:uint;
setCooldown();
turn();
_local2 = new Vector(x, y);
_local3 = 5;
_local4 = 0;
while (_local4 < 4) {
Main.getGame().addBullet(new Ball(_local2.add(Vector.fromAngle((((rotation + ((_local4 - 1) * 90)) * Math.PI) / 180)).scalar(_local3)), (rotation + (_local4 * 90))));
_local4++;
};
Main.getSoundManager().play(Main.SOUND_FIRE_SHORT);
}
private function rotate(){
var _local1:Number;
var _local2:Number;
var _local3:Number;
_local1 = ((rotation * Math.PI) / 180);
while (destRot >= (2 * Math.PI)) {
destRot = (destRot - (2 * Math.PI));
};
while (destRot < 0) {
destRot = (destRot + (2 * Math.PI));
};
_local2 = (destRot - _local1);
while (_local2 >= (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = (_local2 + (2 * Math.PI));
while (_local3 >= (2 * Math.PI)) {
_local3 = (_local3 - (2 * Math.PI));
};
if (Math.abs(_local2) > Math.abs(_local3)){
_local2 = _local3;
};
if (_local2 > (5 * (Math.PI / 180))){
_local1 = (_local1 + (_local2 * 0.2));
} else {
_local1 = destRot;
};
rotation = ((_local1 * 180) / Math.PI);
}
function frame15(){
stop();
}
protected function turn(){
destRot = (destRot + ((45 * Math.PI) / 180));
while (destRot < 0) {
destRot = (destRot + (2 * Math.PI));
};
while (destRot > (2 * Math.PI)) {
destRot = (destRot - (2 * Math.PI));
};
}
function frame31(){
stop();
}
override protected function upgradeGun(){
frenzyDuration = (4 * (level + 1));
frenzyCountdown = frenzyDuration;
}
private function goFrenzy(){
if (frenzyCountdown == frenzyDuration){
rotation = 0;
frenzyCountdown--;
} else {
if (--frenzyCountdown <= 0){
frenzyCounter = frenzyInterval;
frenzyCountdown = frenzyDuration;
rotation = (destRot = 0);
return;
};
};
rotation = (rotation + (45 / frenzyDuration));
destRot = ((rotation * Math.PI) / 180);
fire(null);
}
override protected function updateGun(_arg1:Vector){
rotate();
if (level >= 1){
if (--frenzyCounter <= 0){
goFrenzy();
return;
};
};
if (charged){
fire(_arg1);
};
}
}
}//package spr.gun
Section 42
//ChainGun (spr.gun.ChainGun)
package spr.gun {
import common.math.*;
import spr.bullet.*;
public class ChainGun extends Gun {
private const MAX_ROT_SPEED:Number = 0.0872664625997165;
private const RELOAD:uint = 3;
private const MAX_ROT_SPEED_FIRING:Number = 0.0349065850398866;
private var reload:uint;
private var ammo:uint;
private var ammoCount:uint;
public function ChainGun(_arg1:Vector, _arg2:uint){
addFrameScript(14, frame15, 30, frame31);
super(_arg1, _arg2);
ammoCount = 4;
}
private function fire(_arg1:Vector){
var _local2:Number;
if (--reload > 0){
return;
};
if (--ammo <= 0){
setCooldown();
};
reload = RELOAD;
_local2 = (((rotation - 90) * Math.PI) / 180);
Main.getGame().addBullet(new Ball(position.add(Vector.fromAngle(_local2).scalar(10)), rotation));
Main.getSoundManager().play(Main.SOUND_FIRE_SHORT);
}
function frame15(){
stop();
}
function frame31(){
stop();
}
override protected function upgradeGun(){
ammoCount = (4 + (2 * level));
}
override protected function updateGun(_arg1:Vector){
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:*;
var _local7:Number;
if (level >= 4){
_local7 = (_arg1.sub(position).length / Ball.SPEED);
_local7 = ((_local7 > 10)) ? 10 : _local7;
_arg1 = Main.getGame().getPlayerEstimator().estimatePositionVerlet(_local7);
};
_local2 = (((rotation + 90) * Math.PI) / 180);
_local3 = Math.atan2((y - _arg1.y), (x - _arg1.x));
_local4 = (_local3 - _local2);
_local5 = (_local4 + (2 * Math.PI));
while (_local5 > (2 * Math.PI)) {
_local5 = (_local5 - (2 * Math.PI));
};
if (Math.abs(_local4) > Math.abs(_local5)){
_local4 = _local5;
};
_local6 = (_local4 * 0.2);
if (charged){
if (Math.abs(_local4) > (MAX_ROT_SPEED_FIRING / 2)){
_local6 = ((_local6 > MAX_ROT_SPEED_FIRING)) ? MAX_ROT_SPEED_FIRING : _local6;
_local6 = ((_local6 < -(MAX_ROT_SPEED_FIRING))) ? -(MAX_ROT_SPEED_FIRING) : _local6;
_local2 = (_local2 + _local6);
} else {
_local2 = _local3;
};
} else {
if (Math.abs(_local4) > (MAX_ROT_SPEED / 2)){
_local6 = ((_local6 > MAX_ROT_SPEED)) ? MAX_ROT_SPEED : _local6;
_local6 = ((_local6 < -(MAX_ROT_SPEED))) ? -(MAX_ROT_SPEED) : _local6;
_local2 = (_local2 + _local6);
} else {
_local2 = _local3;
};
};
rotation = (((_local2 * 180) / Math.PI) - 90);
if (charged){
fire(_arg1);
} else {
ammo = ammoCount;
};
}
}
}//package spr.gun
Section 43
//Gun (spr.gun.Gun)
package spr.gun {
import common.math.*;
import utils.*;
import flash.display.*;
import spr.*;
public class Gun extends MovieClip implements GameSprite {
private var active:Boolean;
protected var init:Boolean;
protected var position:Vector;
private var cooldownDuration:uint;
protected var charged:Boolean;
private var pod:GunPod;
private var cooldown:uint;
protected var level:uint;
public function Gun(_arg1:Vector, _arg2:uint){
this.charged = (this.init = (this.active = false));
this.position = new Vector();
this.pod = null;
this.level = 0;
this.cooldown = (this.cooldownDuration = _arg2);
setPosition(_arg1);
gotoAndStop("inactive");
}
public function activate(){
if (active){
return;
};
Main.getGame().getParticleGenerator().spawn(position, ParticleSettings.activateEffect);
active = true;
gotoAndPlay("activate");
}
public function upgrade(){
Main.getGame().getParticleGenerator().spawn(position, ParticleSettings.upgradeEffect);
Main.getSoundManager().play(Main.SOUND_UPGRADE_GUN);
level++;
upgradeGun();
}
public function deactivate(){
if (!active){
return;
};
active = false;
gotoAndPlay("deactivate");
}
public function setPod(_arg1:GunPod){
pod = _arg1;
pod.display(0);
}
public function getPosition():Vector{
return (position);
}
protected function upgradeGun(){
}
protected function updateGun(_arg1:Vector){
trace("Gun::fire is abstract");
}
public function setPosition(_arg1:Vector){
position = _arg1.copy();
x = position.x;
y = position.y;
}
public function update(_arg1:Vector){
if (((!(active)) && ((cooldown > 0)))){
pod.display(0);
return;
};
pod.display((1 - (cooldown / cooldownDuration)));
if (cooldown <= 0){
charged = true;
} else {
cooldown--;
};
updateGun(_arg1);
}
protected function setCooldown(){
charged = false;
cooldown = cooldownDuration;
}
}
}//package spr.gun
Section 44
//GunFactory (spr.gun.GunFactory)
package spr.gun {
import common.math.*;
public class GunFactory {
public static const SHOTGUN:uint = 6;
public static const CHAIN_GUN:uint = 4;
public static const ROCKET_LAUNCHER:uint = 2;
public static const BOUNCER_GUN:uint = 7;
public static const CENTER_GUN:uint = 1;
public static const BEAM_GUN:uint = 3;
public static const TRACKING_GUN:uint = 0;
public static const PRECISION_GUN:uint = 5;
public static function createPod(_arg1:uint, _arg2:Gun):GunPod{
var _local3:GunPod;
_local3 = new GunPod();
_local3.setPosition(_arg2.getPosition());
switch (_arg1){
case TRACKING_GUN:
_local3.scaleX = (_local3.scaleY = 0.8);
break;
case CENTER_GUN:
_local3.scaleX = (_local3.scaleY = 2);
break;
case BOUNCER_GUN:
case SHOTGUN:
case PRECISION_GUN:
case ROCKET_LAUNCHER:
case BEAM_GUN:
case CHAIN_GUN:
break;
default:
trace(("unknown id " + _arg1));
return (null);
};
_arg2.setPod(_local3);
return (_local3);
}
public static function createGun(_arg1:uint, _arg2:Vector):Gun{
var _local3:Gun;
_local3 = null;
switch (_arg1){
case TRACKING_GUN:
_local3 = new BaseGun(_arg2, (24 * 2));
break;
case CENTER_GUN:
_local3 = new CenterGun(_arg2, (24 * 1));
break;
case ROCKET_LAUNCHER:
_local3 = new RocketLauncher(_arg2, (24 * 6));
break;
case BEAM_GUN:
_local3 = new BeamGun(_arg2, (24 * 3));
break;
case CHAIN_GUN:
_local3 = new ChainGun(_arg2, (24 * 2.5));
break;
case PRECISION_GUN:
_local3 = new PrecisionGun(_arg2, (24 * 1.5));
break;
case SHOTGUN:
_local3 = new ShotGun(_arg2, (24 * 4));
break;
case BOUNCER_GUN:
_local3 = new BouncerGun(_arg2, (24 * 5));
break;
default:
trace(("unknown id " + _arg1));
return (null);
};
return (_local3);
}
}
}//package spr.gun
Section 45
//GunPod (spr.gun.GunPod)
package spr.gun {
import common.math.*;
import flash.display.*;
import spr.*;
public class GunPod extends MovieClip implements GameSprite {
private var bar:MovieClip;
private var position:Vector;
public var mcBar:MovieClip;
public function GunPod(){
position = new Vector(x, y);
bar = (getChildByName("mcBar") as MovieClip);
}
public function getPosition():Vector{
return (position);
}
public function setPosition(_arg1:Vector){
position = _arg1.copy();
x = position.x;
y = position.y;
}
public function display(_arg1:Number){
var _local2:uint;
_local2 = (Math.floor((_arg1 * 99)) + 1);
bar.gotoAndStop(_local2);
}
public function update(_arg1:Vector){
}
}
}//package spr.gun
Section 46
//PrecisionGun (spr.gun.PrecisionGun)
package spr.gun {
import common.math.*;
import spr.bullet.*;
public class PrecisionGun extends Gun {
private const BULLET_SPEED:Number = 18;
public function PrecisionGun(_arg1:Vector, _arg2:uint){
addFrameScript(14, frame15, 30, frame31);
super(_arg1, _arg2);
}
private function calculateShootingDir(_arg1:Number):Vector{
var _local2:Vector;
var _local3:Number;
_local2 = Main.getGame().getPlayerEstimator().estimatePositionVerlet(_arg1);
_local3 = Math.atan2((y - _local2.y), (x - _local2.x));
return (Vector.fromAngle(_local3));
}
private function fire(_arg1:Vector){
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:uint;
var _local6:Number;
setCooldown();
_local2 = ((position.sub(_arg1).length / BULLET_SPEED) - 2);
_local3 = (999 * 999);
_local4 = _local2;
_local5 = 0;
while (_local5 < 50) {
_local6 = estimateDiff(_local2);
if (_local6 < _local3){
_local3 = _local6;
_local4 = _local2;
};
_local2 = (_local2 + 0.05);
_local5++;
};
rotation = (-90 + ((calculateShootingDir(_local4).angle * 180) / Math.PI));
Main.getGame().addBullet(new Laser(position.add(Vector.fromAngle((((rotation - 90) * Math.PI) / 180)).scalar(5)), rotation, BULLET_SPEED));
Main.getSoundManager().play(Main.SOUND_SNIPER);
}
function frame15(){
stop();
}
function frame31(){
stop();
}
private function estimateDiff(_arg1:Number):Number{
var _local2:Vector;
var _local3:Vector;
_local2 = Main.getGame().getPlayerEstimator().estimatePositionVerlet(_arg1);
_local3 = calculateShootingDir(_arg1);
return (_local2.sub(position.add(_local3.scalar((_arg1 * BULLET_SPEED)))).length2);
}
override protected function updateGun(_arg1:Vector){
if (charged){
fire(_arg1);
};
}
}
}//package spr.gun
Section 47
//RocketLauncher (spr.gun.RocketLauncher)
package spr.gun {
import common.math.*;
import spr.bullet.*;
public class RocketLauncher extends Gun {
public function RocketLauncher(_arg1:Vector, _arg2:uint){
addFrameScript(14, frame15, 30, frame31);
super(_arg1, _arg2);
}
private function fire(_arg1:Vector){
setCooldown();
if (level == 0){
Main.getGame().addBullet(new Rocket(new Vector(x, y), rotation));
} else {
if (level == 1){
Main.getGame().addBullet(new TwinRocket(new Vector(x, y), rotation));
} else {
if (level == 2){
Main.getGame().addBullet(new TripleRocket(new Vector(x, y), rotation));
} else {
Main.getGame().addBullet(new ClusterRocket(new Vector(x, y), rotation, level));
};
};
};
Main.getSoundManager().play(Main.SOUND_MISSILE);
}
function frame15(){
stop();
}
function frame31(){
stop();
}
override protected function updateGun(_arg1:Vector){
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local2 = (((rotation + 90) * Math.PI) / 180);
_local3 = Math.atan2((y - _arg1.y), (x - _arg1.x));
_local4 = (_local3 - _local2);
_local5 = (_local4 + (2 * Math.PI));
while (_local5 > (2 * Math.PI)) {
_local5 = (_local5 - (2 * Math.PI));
};
if (Math.abs(_local4) > Math.abs(_local5)){
_local4 = _local5;
};
if (_local4 > (5 * (Math.PI / 180))){
_local2 = (_local2 + (_local4 * 0.2));
} else {
_local2 = _local3;
};
rotation = (((_local2 * 180) / Math.PI) - 90);
if (charged){
fire(_arg1);
};
}
}
}//package spr.gun
Section 48
//ShotGun (spr.gun.ShotGun)
package spr.gun {
import common.math.*;
import spr.bullet.*;
public class ShotGun extends Gun {
public function ShotGun(_arg1:Vector, _arg2:uint){
addFrameScript(14, frame15, 30, frame31);
super(_arg1, _arg2);
}
private function fire(_arg1:Vector){
var _local2:Vector;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:uint;
var _local8:Vector;
setCooldown();
_local2 = Vector.fromAngle((((rotation - 90) * Math.PI) / 180));
if (level <= 2){
Main.getGame().addBullet(new Laser(position.add(_local2.normal().scalar(5)).add(_local2.scalar(5)), rotation));
Main.getGame().addBullet(new Laser(position.add(_local2.normal().scalar(-5)).add(_local2.scalar(5)), rotation));
} else {
if (level <= 3){
Main.getGame().addBullet(new Laser(position.add(_local2.normal().scalar(8)).add(_local2.scalar(5)), rotation));
Main.getGame().addBullet(new Laser(position.add(_local2.normal().scalar(0)).add(_local2.scalar(8)), rotation));
Main.getGame().addBullet(new Laser(position.add(_local2.normal().scalar(-8)).add(_local2.scalar(5)), rotation));
} else {
Main.getGame().addBullet(new Laser(position.add(_local2.normal().scalar(10)).add(_local2.scalar(5)), rotation));
Main.getGame().addBullet(new Laser(position.add(_local2.normal().scalar(3)).add(_local2.scalar(8)), rotation));
Main.getGame().addBullet(new Laser(position.add(_local2.normal().scalar(-3)).add(_local2.scalar(8)), rotation));
Main.getGame().addBullet(new Laser(position.add(_local2.normal().scalar(-10)).add(_local2.scalar(5)), rotation));
};
};
_local3 = (60 + (level * 4));
_local4 = (level + 3);
_local5 = (_local3 / (_local4 - 1));
_local6 = (-(_local3) * 0.5);
_local7 = 0;
while (_local7 < _local4) {
_local8 = Vector.fromAngle(((((rotation + _local6) - 90) * Math.PI) / 180));
Main.getGame().addBullet(new Ball(position.add(_local8.scalar(10)), (rotation + _local6)));
_local6 = (_local6 + _local5);
_local7++;
};
Main.getSoundManager().play(Main.SOUND_SHOTGUN);
}
function frame15(){
stop();
}
function frame31(){
stop();
}
override protected function updateGun(_arg1:Vector){
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local2 = (((rotation + 90) * Math.PI) / 180);
_local3 = Math.atan2((y - _arg1.y), (x - _arg1.x));
_local4 = (_local3 - _local2);
_local5 = (_local4 + (2 * Math.PI));
while (_local5 > (2 * Math.PI)) {
_local5 = (_local5 - (2 * Math.PI));
};
if (Math.abs(_local4) > Math.abs(_local5)){
_local4 = _local5;
};
if (_local4 > (5 * (Math.PI / 180))){
_local2 = (_local2 + (_local4 * 0.2));
} else {
_local2 = _local3;
};
rotation = (((_local2 * 180) / Math.PI) - 90);
if (charged){
fire(_arg1);
};
}
}
}//package spr.gun
Section 49
//GameSprite (spr.GameSprite)
package spr {
import common.math.*;
public interface GameSprite {
function update(_arg1:Vector);
function setPosition(_arg1:Vector);
function getPosition():Vector;
}
}//package spr
Section 50
//Player (spr.Player)
package spr {
import common.math.*;
import utils.*;
import flash.display.*;
import common.tools.*;
public class Player extends MovieClip implements GameSprite {
private var position:Vector;
private var dead:Boolean;
private var meanSpeed:Vector;
public function Player(_arg1:Number, _arg2:Number){
addFrameScript(0, frame1, 38, frame39, 74, frame75);
x = _arg1;
y = _arg2;
position = new Vector(x, y);
meanSpeed = new Vector();
dead = false;
}
function frame75(){
stop();
}
private function dieParticleEffect(){
Main.getGame().getParticleGenerator().spawn(position, ParticleSettings.playerDeathEffect);
}
function frame1(){
stop();
}
public function die(){
if (dead){
return;
};
Main.getSoundManager().play(Main.SOUND_DEATH);
Recall.getInstance().addCallback(dieParticleEffect, 24);
dead = true;
gotoAndPlay(2);
}
function frame39(){
stop();
}
public function getPosition():Vector{
return (position.copy());
}
public function isDead():Boolean{
return (dead);
}
public function leave(){
if (dead){
return;
};
gotoAndPlay("leave");
}
public function setPosition(_arg1:Vector){
position = _arg1.copy();
x = position.x;
y = position.y;
}
public function update(_arg1:Vector){
var _local2:Vector;
if (dead){
return;
};
_local2 = _arg1.sub(position).scalar(0.5);
position.mAdd(_local2);
meanSpeed.mAdd(_local2).mScalar(0.5);
position.x = ((position.x < 0)) ? 0 : ((position.x > Main.STAGE_WIDTH)) ? Main.STAGE_WIDTH : position.x;
position.y = ((position.y < 0)) ? 0 : ((position.y > Main.STAGE_HEIGHT)) ? Main.STAGE_HEIGHT : position.y;
x = position.x;
y = position.y;
rotation = (90 + ((meanSpeed.angle * 180) / Math.PI));
}
}
}//package spr
Section 51
//sdfg_3 (survivor115_fettspielen_fla.sdfg_3)
package survivor115_fettspielen_fla {
import flash.events.*;
import flash.media.*;
import flash.display.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.utils.*;
import flash.external.*;
import flash.filters.*;
import flash.system.*;
import flash.ui.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class sdfg_3 extends MovieClip {
public function sdfg_3(){
addFrameScript(0, frame1, 251, frame252);
}
function frame1(){
this.useHandCursor = true;
this.clicked = function (_arg1){
navigateToURL(new URLRequest("http://www.fettspielen.de"), "_blank");
};
this.addEventListener(MouseEvent.CLICK, this.clicked);
}
function frame252(){
stop();
}
}
}//package survivor115_fettspielen_fla
Section 52
//MovementEstimator (utils.MovementEstimator)
package utils {
import common.math.*;
import common.inter.*;
import spr.*;
public class MovementEstimator implements Trackable {
private const SAMPLING_RATE:uint = 3;
private var currentAcc:Vector;
private var currentPosition:Vector;
private var target:GameSprite;
private var lastVelocity:Vector;
private var samplingCounter:uint;
private var currentVelocity:Vector;
private var lastPosition:Vector;
public function MovementEstimator(_arg1:GameSprite){
this.target = _arg1;
this.lastPosition = _arg1.getPosition();
this.currentPosition = _arg1.getPosition();
this.samplingCounter = SAMPLING_RATE;
this.currentVelocity = new Vector();
this.lastVelocity = new Vector();
this.currentAcc = new Vector();
}
public function update(){
if (--samplingCounter <= 0){
samplingCounter = SAMPLING_RATE;
lastPosition = currentPosition;
currentPosition = target.getPosition();
lastVelocity = currentVelocity;
currentVelocity.mAdd(currentPosition.sub(lastPosition)).mScalar(0.5);
currentAcc = currentVelocity.sub(lastVelocity);
};
Main.getGame().setMarker(estimatePositionVerlet(5));
}
public function getPosition(_arg1:Number=0):Vector{
return (estimatePositionVerlet(_arg1));
}
public function estimatePositionVerlet(_arg1:Number){
var _local2:Number;
_local2 = (_arg1 / SAMPLING_RATE);
return (target.getPosition().add(currentVelocity.scalar(_local2)).add(currentAcc.scalar(((0.5 * _local2) * _local2))));
}
}
}//package utils
Section 53
//ParticleGenerator (utils.ParticleGenerator)
package utils {
import common.math.*;
import flash.display.*;
import common.prim.*;
public class ParticleGenerator {
private var bounds:Box;
private var particleGroups:Array;
private var particleLayer:MovieClip;
public function ParticleGenerator(_arg1:MovieClip, _arg2:Box){
this.particleGroups = [];
this.particleLayer = _arg1;
this.bounds = _arg2;
}
public function update(){
var _local1:uint;
var _local2:ParticleGroup;
var _local3:Array;
var _local4:uint;
var _local5:uint;
var _local6:Particle;
var _local7:Vector;
var _local8:Vector;
var _local9:Vector;
var _local10:Number;
var _local11:Boolean;
if (_local4 > 500){
particleLayer.stage.quality = "lows";
} else {
if (_local4 > 100){
particleLayer.stage.quality = "medium";
} else {
particleLayer.stage.quality = "high";
};
};
_local1 = 0;
while (_local1 < particleGroups.length) {
_local2 = (particleGroups[_local1] as ParticleGroup);
_local3 = _local2.particles;
_local4 = _local3.length;
if (_local2.attractor == null){
_local5 = 0;
while (_local5 < _local4) {
_local6 = (_local3[_local5] as Particle);
_local6.display.x = (_local6.display.x + _local6.velocity.x);
_local6.display.y = (_local6.display.y + _local6.velocity.y);
_local6.display.scaleX = (_local6.display.scaleX * _local6.sizeFactor);
_local6.display.scaleX = (_local6.display.scaleX + _local6.sizeSummand);
_local6.display.scaleY = _local6.display.scaleX;
_local6.velocity.x = (_local6.velocity.x + _local6.acc.x);
_local6.velocity.y = (_local6.velocity.y + _local6.acc.y);
_local6.velocity.x = (_local6.velocity.x * _local6.friction);
_local6.velocity.y = (_local6.velocity.y * _local6.friction);
_local6.display.alpha = (_local6.display.alpha * _local6.alphaFactor);
_local6.display.alpha = (_local6.display.alpha + _local6.alphaSummand);
if ((((((((((((--_local6.ttl <= 0)) || ((_local6.display.alpha < 0.005)))) || ((_local6.display.x < bounds.x)))) || ((_local6.display.y < bounds.y)))) || ((_local6.display.x > (bounds.x + bounds.width))))) || ((_local6.display.y > (bounds.y + bounds.height))))){
var _temp1 = _local5;
_local5 = (_local5 - 1);
_local3.splice(_temp1, 1);
_local4--;
particleLayer.removeChild(_local6.display);
};
_local5++;
};
} else {
_local7 = _local2.attractor.getPosition(5);
_local8 = new Vector();
_local9 = new Vector();
_local10 = _local2.maxAttraction;
_local5 = 0;
while (_local5 < _local4) {
_local6 = (_local3[_local5] as Particle);
_local6.display.x = (_local6.display.x + _local6.velocity.x);
_local6.display.y = (_local6.display.y + _local6.velocity.y);
_local6.display.scaleX = (_local6.display.scaleX * _local6.sizeFactor);
_local6.display.scaleX = (_local6.display.scaleX + _local6.sizeSummand);
_local6.display.scaleY = _local6.display.scaleX;
_local6.velocity.x = (_local6.velocity.x + _local6.acc.x);
_local6.velocity.y = (_local6.velocity.y + _local6.acc.y);
_local8.x = (_local7.x - _local6.display.x);
_local8.y = (_local7.y - _local6.display.y);
_local9.x = (_local8.x - _local6.velocity.x);
_local9.y = (_local8.y - _local6.velocity.y);
if (_local9.length2 > (_local10 * _local10)){
_local9.length = _local10;
};
_local11 = (_local7.sub(new Vector(_local6.display.x, _local6.display.y)).length2 <= (_local2.swallowingRadius * _local2.swallowingRadius));
_local6.velocity.x = (_local6.velocity.x + _local9.x);
_local6.velocity.y = (_local6.velocity.y + _local9.y);
_local6.velocity.x = (_local6.velocity.x * _local6.friction);
_local6.velocity.y = (_local6.velocity.y * _local6.friction);
_local6.display.alpha = (_local6.display.alpha * _local6.alphaFactor);
_local6.display.alpha = (_local6.display.alpha + _local6.alphaSummand);
if ((((((((((((((--_local6.ttl <= 0)) || (_local11))) || ((_local6.display.alpha < 0.005)))) || ((_local6.display.x < bounds.x)))) || ((_local6.display.y < bounds.y)))) || ((_local6.display.x > (bounds.x + bounds.width))))) || ((_local6.display.y > (bounds.y + bounds.height))))){
var _temp2 = _local5;
_local5 = (_local5 - 1);
_local3.splice(_temp2, 1);
_local4--;
particleLayer.removeChild(_local6.display);
};
_local5++;
};
};
_local1++;
};
}
public function spawn(_arg1:Vector, _arg2:ParticleSettings){
var _local3:ParticleGroup;
var _local4:ParticleGroup;
var _local5:Vector;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:uint;
var _local10:Particle;
var _local11:Number;
var _local12:Vector;
_local3 = null;
for each (_local4 in particleGroups) {
if (_local4.groupId == _arg2.groupId){
_local3 = _local4;
break;
};
};
if (_local3 == null){
_local3 = new ParticleGroup(_arg2);
particleGroups.push(_local3);
};
_local6 = (Math.PI * _arg2.spread);
_local7 = (_arg2.angle - _local6);
_local8 = ((2 * _local6) / _arg2.amount);
_local9 = 0;
while (_local9 < _arg2.amount) {
_local10 = new Particle();
_local10.display = (new _arg2.Display() as DisplayObject);
_local10.display.cacheAsBitmap = true;
_local11 = (_local7 + (((Math.random() * _arg2.angleJitter) * 2) - _arg2.angleJitter));
_local12 = Vector.fromAngle(_local11);
_local5 = _arg1.add(_local12.scalar((_arg2.radius + (((Math.random() * _arg2.radiusJitter) * 2) - _arg2.radiusJitter))));
_local10.display.x = _local5.x;
_local10.display.y = _local5.y;
_local10.display.scaleX = (_local10.display.scaleY = (_arg2.size + (((Math.random() * _arg2.sizeJitter) * 2) - _arg2.sizeJitter)));
particleLayer.addChild(_local10.display);
_local10.acc = _arg2.acceleration;
_local10.velocity = _local12.scalar((_arg2.speed + (((Math.random() * _arg2.speedJitter) * 2) - _arg2.speedJitter)));
_local10.ttl = (_arg2.ttl + int((((Math.random() * _arg2.ttlJitter) * 2) - _arg2.ttlJitter)));
_local10.friction = (_arg2.friction + (((Math.random() * _arg2.frictionJitter) * 2) - _arg2.frictionJitter));
_local10.display.alpha = _arg2.alpha;
_local10.alphaFactor = _arg2.alphaFactor;
_local10.alphaSummand = _arg2.alphaSummand;
_local10.sizeFactor = _arg2.sizeFactor;
_local10.sizeSummand = _arg2.sizeSummand;
if (_arg2.useAbsoluteRotation){
_local10.display.rotation = (_arg2.rotation + (((Math.random() * _arg2.rotationJitter) * 2) - _arg2.rotationJitter));
} else {
_local10.display.rotation = (((_local11 * 180) / Math.PI) + (_arg2.rotation + (((Math.random() * _arg2.rotationJitter) * 2) - _arg2.rotationJitter)));
};
_local3.particles.push(_local10);
_local7 = (_local7 + _local8);
_local9++;
};
}
}
}//package utils
import common.math.*;
import common.inter.*;
import flash.display.*;
class Attractor {
private function Attractor(){
}
}
class Particle {
public var acc:Vector;
public var display:DisplayObject;
public var ttl:uint;
public var alphaFactor:Number;
public var sizeFactor:Number;
public var alphaSummand:Number;
public var friction:Number;
public var sizeSummand:Number;
public var velocity:Vector;
private function Particle(){
}
}
class ParticleGroup {
public var attractor:Trackable;
public var maxAttraction:Number;
public var particles:Array;
public var swallowingRadius:Number;
public var groupId:uint;
public var swallowing:Boolean;
private function ParticleGroup(_arg1:ParticleSettings){
groupId = _arg1.groupId;
particles = [];
attractor = _arg1.attractor;
swallowing = _arg1.swallowing;
swallowingRadius = _arg1.swallowingRadius;
maxAttraction = _arg1.maxAttraction;
}
}
Section 54
//ParticleSettings (utils.ParticleSettings)
package utils {
import common.math.*;
import common.inter.*;
public class ParticleSettings {
public var acceleration:Vector;
public var frictionJitter:Number;// = 0
public var size:Number;// = 1
public var groupId:uint;
public var rotationJitter:Number;// = 0
public var radius:Number;// = 0
public var speedJitter:Number;// = 0
public var angleJitter:Number;// = 0
public var Display:Class;
public var attractor:Trackable;// = null
public var radiusJitter:Number;// = 0
public var sizeFactor:Number;// = 1
public var speed:Number;// = 0
public var useAbsoluteRotation:Boolean;// = false
public var sizeJitter:Number;// = 0
public var swallowingRadius:Number;// = 0
public var angle:Number;// = 0
public var sizeSummand:Number;// = 0
public var alphaSummand:Number;// = 0
public var amount:uint;// = 0
public var alphaFactor:Number;// = 1
public var swallowing:Boolean;// = true
public var alpha:Number;// = 1
public var alphaJitter:Number;// = 0
public var maxAttraction:Number;// = 5
public var ttl:uint;// = 0
public var spread:Number;// = 1
public var ttlJitter:uint;// = 0
public var friction:Number;// = 1
public var rotation:Number;// = 0
private static var CURRENT_ID:uint = 0;
public static var playerDeathEffect:ParticleSettings;
public static var activateEffect:ParticleSettings = new (ParticleSettings);
;
public static var upgradeEffect:ParticleSettings = new (ParticleSettings);
;
public static var rocketTrail:ParticleSettings = new (ParticleSettings);
;
public function ParticleSettings(){
attractor = null;
swallowing = true;
swallowingRadius = 0;
maxAttraction = 5;
angle = 0;
spread = 1;
angleJitter = 0;
amount = 0;
radius = 0;
radiusJitter = 0;
speed = 0;
speedJitter = 0;
size = 1;
sizeJitter = 0;
sizeFactor = 1;
sizeSummand = 0;
rotation = 0;
rotationJitter = 0;
ttl = 0;
ttlJitter = 0;
acceleration = new Vector();
friction = 1;
frictionJitter = 0;
alpha = 1;
alphaJitter = 0;
alphaFactor = 1;
alphaSummand = 0;
useAbsoluteRotation = false;
super();
groupId = ++CURRENT_ID;
}
public function copy():ParticleSettings{
var _local1:ParticleSettings;
_local1 = new ParticleSettings();
_local1.acceleration = acceleration;
_local1.alpha = alpha;
_local1.alphaFactor = alphaFactor;
_local1.alphaJitter = alphaJitter;
_local1.alphaSummand = alphaSummand;
_local1.amount = amount;
_local1.angle = angle;
_local1.angleJitter = angleJitter;
_local1.attractor = attractor;
_local1.Display = Display;
_local1.friction = friction;
_local1.frictionJitter = frictionJitter;
_local1.maxAttraction = maxAttraction;
_local1.radius = radius;
_local1.radiusJitter = radiusJitter;
_local1.rotation = rotation;
_local1.rotationJitter = rotationJitter;
_local1.size = size;
_local1.sizeFactor = sizeFactor;
_local1.sizeJitter = sizeJitter;
_local1.sizeSummand = sizeSummand;
_local1.speed = speed;
_local1.speedJitter = speedJitter;
_local1.spread = spread;
_local1.swallowing = swallowing;
_local1.swallowingRadius = swallowingRadius;
_local1.ttl = ttl;
_local1.ttlJitter = ttlJitter;
_local1.useAbsoluteRotation = useAbsoluteRotation;
return (_local1);
}
public static function init(){
var _local2 = upgradeEffect;
with (_local2) {
Display = ParticleSquare;
angleJitter = ((20 * Math.PI) / 180);
amount = 20;
radius = 15;
radiusJitter = 1;
speed = 10;
speedJitter = 3;
sizeJitter = 0.95;
ttl = (24 * 10);
alpha = 0.5;
alphaJitter = 0.1;
alphaFactor = 0.9;
friction = 0.8;
frictionJitter = 0.1;
};
playerDeathEffect = upgradeEffect.copy();
_local2 = playerDeathEffect;
with (_local2) {
amount = 60;
sizeJitter = 0.5;
speed = 20;
speedJitter = 15;
alphaFactor = 0.97;
friction = 0.7;
};
_local2 = activateEffect;
with (_local2) {
Display = ParticleSquare;
angleJitter = ((20 * Math.PI) / 180);
amount = 15;
radius = 15;
radiusJitter = 1;
speed = 4;
speedJitter = 2;
ttl = (24 * 10);
alpha = 0.7;
alphaJitter = 0.1;
alphaFactor = 0.8;
size = 0.9;
sizeJitter = 0.2;
friction = 0.5;
frictionJitter = 0.2;
};
_local2 = rocketTrail;
with (_local2) {
Display = ParticleStroke;
amount = 3;
angle = 0;
angleJitter = ((20 * Math.PI) / 180);
spread = 0.01;
speed = 0;
speedJitter = 0;
ttl = (24 * 10);
alpha = 1;
alphaFactor = 0.5;
size = 0.7;
sizeJitter = 0.5;
sizeSummand = 0.7;
radius = 6;
radiusJitter = 6;
friction = 0.75;
frictionJitter = 0.2;
};
}
}
}//package utils
Section 55
//GameBackground (GameBackground)
package {
import flash.display.*;
public dynamic class GameBackground extends MovieClip {
}
}//package
Section 56
//Gui (Gui)
package {
import flash.display.*;
import flash.text.*;
public dynamic class Gui extends MovieClip {
public var txCountdown:TextField;
public var txScore:TextField;
}
}//package
Section 57
//Main (Main)
package {
import flash.events.*;
import game.*;
import common.inter.*;
import spr.bullet.*;
import utils.*;
import flash.display.*;
import common.tools.*;
import spr.gun.*;
import flash.geom.*;
import spr.*;
import external.mochi.*;
import common.sound.*;
import flash.net.*;
import flash.text.*;
import flash.utils.*;
import flash.ui.*;
public class Main extends MovieClip implements ActionListener {
public var mcLoaderBar:MovieClip;
private var countdown:TextField;
public var __setPropDict:Dictionary;
public var txData:TextField;
public var txFiles:TextField;
public var btSponsor:SimpleButton;
public var __id0_:textButton;
private var debug:TextField;
public var mcIntro:MovieClip;
public var __id1_:textButton;
private var currentState:Function;
public var __id2_:textButton;
public var __id3_:textButton;
public var __id4_:textButton;
public var __id5_:textButton;
public var txTotal:TextField;
public var __id6_:textButton;
public var button:DisplayObject;
private var gui:Gui;
public var __id7_:textButton;
private var timer:int;
private var canvas:MovieClip;
public var __id8_:textButton;
public var txTime:TextField;
public var __id9_:textButton;
private var soundManager:SoundManager;
private var musicManager:SoundManager;
private var introCounter:Number;
private var sendScore:shHighScores;
public static const STAGE_WIDTH:Number = 440;
public static const STAGE_HEIGHT:Number = 440;
public static var SOUND_DEATH:uint;
public static var SOUND_FIRE:uint;
private static var currentGame:Game = null;
public static var SOUND_UPGRADE_GUN:uint;
public static var SOUND_SNIPER:uint;
public static var MUSIC:uint;
public static var SOUND_SHOTGUN:uint;
public static var SOUND_ELECTRO:uint;
public static var SOUND_FIRE_SHORT:uint;
public static var SOUND_COLLECT_SCORE:uint;
public static var SOUND_MISSILE:uint;
private static var main:Main = null;
public static var SOUND_BEAM:uint;
public function Main(){
__setPropDict = new Dictionary(true);
super();
addFrameScript(7, frame8, 24, frame25, 54, frame55, 77, frame78, 93, frame94, 100, frame101, 107, frame108, 123, frame124, 130, frame131, 136, frame137, 59, frame60, 60, frame61, 61, frame62, 62, frame63, 63, frame64, 64, frame65, 65, frame66, 66, frame67, 67, frame68, 68, frame69, 69, frame70, 70, frame71, 71, frame72, 72, frame73, 73, frame74, 74, frame75, 75, frame76, 76, frame77, 78, frame79, 79, frame80, 80, frame81, 81, frame82, 82, frame83, 83, frame84, 84, frame85, 85, frame86, 86, frame87, 87, frame88, 88, frame89, 89, frame90, 90, frame91, 91, frame92, 92, frame93, 103, frame104, 104, frame105, 105, frame106, 106, frame107, 96, frame97, 97, frame98, 98, frame99, 99, frame100, 124, frame125, 125, frame126, 126, frame127, 127, frame128, 128, frame129, 129, frame130, 131, frame132, 132, frame133, 133, frame134, 134, frame135, 135, frame136, 21, frame22, 22, frame23, 23, frame24);
MochiBot.track(this, "b5ee3d64");
MochiBot.track(this, "02392780");
GlobalStage.setStage(stage);
main = this;
sendScore = null;
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown);
currentState = preload;
addEventListener(Event.ENTER_FRAME, enterFrame);
scrollRect = new Rectangle(0, 0, 440, 440);
(getChildByName("mcLoaderBar") as MovieClip).alpha = 0;
}
public function preload(){
var _local1:Number;
_local1 = (stage.loaderInfo.bytesLoaded / stage.loaderInfo.bytesTotal);
(getChildByName("mcLoaderBar") as MovieClip).alpha = 1;
(getChildByName("mcLoaderBar") as MovieClip).scaleX = _local1;
if (stage.loaderInfo.bytesLoaded >= stage.loaderInfo.bytesTotal){
gotoAndPlay("loaded");
changeState(preload, loadSound);
};
}
function __setProp___id4__Scene1_textButton_60(){
try {
__id4_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id4_.caption = "highscore";
__id4_.colorText = 0x666666;
__id4_.colorTextHighlight = 2651069;
__id4_.descriptor = "";
try {
__id4_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function frame22(){
if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 22)) && ((int(__setPropDict[__id0_]) <= 25))))))){
__setPropDict[__id0_] = currentFrame;
__setProp___id0__Scene1_survivor_22();
};
}
function frame23(){
if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 22)) && ((int(__setPropDict[__id0_]) <= 25))))))){
__setPropDict[__id0_] = currentFrame;
__setProp___id0__Scene1_survivor_22();
};
}
function frame24(){
if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 22)) && ((int(__setPropDict[__id0_]) <= 25))))))){
__setPropDict[__id0_] = currentFrame;
__setProp___id0__Scene1_survivor_22();
};
}
function frame25(){
if ((((__setPropDict[__id0_] == undefined)) || (!((((int(__setPropDict[__id0_]) >= 22)) && ((int(__setPropDict[__id0_]) <= 25))))))){
__setPropDict[__id0_] = currentFrame;
__setProp___id0__Scene1_survivor_22();
};
stop();
}
function __setProp___id1__Scene1_textButton_60(){
try {
__id1_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id1_.caption = "more games";
__id1_.colorText = 0x666666;
__id1_.colorTextHighlight = 2651069;
__id1_.descriptor = "";
try {
__id1_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
public function handleAction(_arg1:String, _arg2){
var menuOutroDuration:*;
var url:String;
var descriptor = _arg1;
var source = _arg2;
menuOutroDuration = 20;
switch (descriptor){
case "skip intro":
gotoAndPlay("skip_intro");
changeState(currentState, displayMenu);
break;
case "start":
if (currentState != displayMenu){
return;
};
changeState(currentState, emptyState);
play();
Recall.getInstance().addCallback(function (){
changeState(currentState, startGame);
}, menuOutroDuration);
break;
case "instructions":
if (currentState != displayMenu){
return;
};
changeState(currentState, emptyState);
play();
Recall.getInstance().addCallback(function (){
gotoAndPlay("instructions");
changeState(currentState, emptyState);
}, menuOutroDuration);
break;
case "about":
if (currentState != displayMenu){
return;
};
changeState(currentState, emptyState);
play();
Recall.getInstance().addCallback(function (){
gotoAndPlay("about");
changeState(currentState, emptyState);
}, menuOutroDuration);
break;
case "highscore":
url = loaderInfo.parameters.shallhsurl;
if (url == null){
url = "http://www.fettspielen.de/de/highscore/spiel/survivor115/page/1";
};
navigateToURL(new URLRequest(url), "_blank");
break;
case "more games":
navigateToURL(new URLRequest("http://www.fettspielen.de"), "_blank");
break;
case "retry":
if (getChildByName("mcScoreStatus") != null){
removeChild(getChildByName("mcScoreStatus"));
};
startGame();
break;
case "menu":
if (getChildByName("mcScoreStatus") != null){
removeChild(getChildByName("mcScoreStatus"));
};
gotoAndPlay("menu");
changeState(currentState, displayMenu);
break;
case "gameOver":
changeState(currentState, endGame);
break;
default:
trace(((("unknown action: " + descriptor) + " from ") + source));
break;
};
}
function frame8(){
stop();
}
public function updateGame(){
var _local1:Score;
currentGame.update();
_local1 = currentGame.getScore();
(gui.getChildByName("txCountdown") as TextField).text = (("" + Math.floor(_local1.time)) + " ");
(gui.getChildByName("txScore") as TextField).text = (" " + _local1.data);
}
public function quickInstructionsCallback(){
Mouse.hide();
currentGame.resume();
changeState(startGame, updateGame);
}
public function changeState(_arg1:Function, _arg2:Function){
currentState = _arg2;
}
private function submitScoreHandler(_arg1){
if (getChildByName("mcScoreStatus") != null){
(getChildByName("mcScoreStatus") as MovieClip).finished = true;
};
}
public function displayIntro(){
if (--introCounter <= 0){
play();
changeState(displayIntro, displayMenu);
};
}
function __setProp___id8__Scene1_textButton_125(){
try {
__id8_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id8_.caption = "retry";
__id8_.colorText = 0x666666;
__id8_.colorTextHighlight = 2651069;
__id8_.descriptor = "";
try {
__id8_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
private function calculateScore(_arg1:Number, _arg2:int, _arg3:int){
return (Math.round((((_arg1 * 35) + (_arg2 * 15)) * (1 + (_arg3 / 20)))));
}
function frame55(){
button = (this.getChildByName("btSponsor") as DisplayObject);
button.addEventListener(MouseEvent.CLICK, function (){
navigateToURL(new URLRequest("http://www.fettspielen.de"), "_blank");
});
}
function frame60(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function frame61(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function frame63(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function frame64(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function frame66(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function frame67(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function frame68(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
public function displayScore(){
var _local1:Score;
var _local2:TextField;
var _local3:TextField;
var _local4:TextField;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:uint;
if (--timer > 0){
return;
};
_local1 = getGame().getScore();
_local2 = (getChildByName("txTime") as TextField);
_local3 = (getChildByName("txData") as TextField);
_local4 = (getChildByName("txFiles") as TextField);
_local5 = Number(_local2.text);
_local6 = Number(_local3.text);
_local7 = Number(_local4.text);
if (_local5 < (_local1.totalTime - _local1.time)){
_local5++;
if (_local5 == (_local1.totalTime - _local1.time)){
timer = 24;
getSoundManager().play(SOUND_COLLECT_SCORE);
} else {
timer = 1;
};
} else {
if (_local6 < _local1.data){
_local6++;
if (_local6 == _local1.data){
timer = 24;
getSoundManager().play(SOUND_COLLECT_SCORE);
} else {
timer = 1;
};
} else {
if (_local7 < _local1.files){
_local7++;
timer = 8;
getSoundManager().play(SOUND_COLLECT_SCORE);
};
};
};
_local2.text = ("" + _local5);
_local3.text = ("" + _local6);
_local4.text = ("" + _local7);
_local8 = calculateScore(_local5, _local6, _local7);
(getChildByName("txTotal") as TextField).text = ("" + _local8);
}
function frame69(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function frame62(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function frame65(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function frame70(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function frame72(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function frame73(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function frame75(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function __setProp___id3__Scene1_textButton_60(){
try {
__id3_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id3_.caption = "instructions";
__id3_.colorText = 0x666666;
__id3_.colorTextHighlight = 2651069;
__id3_.descriptor = "";
try {
__id3_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function frame78(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
stop();
}
function frame77(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function frame74(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function frame76(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function frame79(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function __setProp___id6__Scene1_textButton_97(){
try {
__id6_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id6_.caption = "back to menu";
__id6_.colorText = 0x666666;
__id6_.colorTextHighlight = 2651069;
__id6_.descriptor = "menu";
try {
__id6_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function frame81(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function frame71(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function frame85(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function frame80(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function frame88(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function frame82(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function frame83(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function frame87(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function frame89(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function frame84(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function frame86(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
public function emptyState(){
}
function frame93(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
public function displayMenu(){
}
public function getSendScore():shHighScores{
if (sendScore == null){
sendScore = new shHighScores("1089294407", "6574971181", loaderInfo.parameters.host, loaderInfo.parameters.shss, loaderInfo.parameters.shsaurl, loaderInfo.parameters.shrn);
};
return (sendScore);
}
function frame92(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function frame94(){
stop();
}
function frame97(){
if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 97)) && ((int(__setPropDict[__id6_]) <= 101))))))){
__setPropDict[__id6_] = currentFrame;
__setProp___id6__Scene1_textButton_97();
};
}
function frame90(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
function frame91(){
if ((((__setPropDict[__id1_] == undefined)) || (!((((int(__setPropDict[__id1_]) >= 60)) && ((int(__setPropDict[__id1_]) <= 93))))))){
__setPropDict[__id1_] = currentFrame;
__setProp___id1__Scene1_textButton_60();
};
if ((((__setPropDict[__id3_] == undefined)) || (!((((int(__setPropDict[__id3_]) >= 60)) && ((int(__setPropDict[__id3_]) <= 93))))))){
__setPropDict[__id3_] = currentFrame;
__setProp___id3__Scene1_textButton_60();
};
if ((((__setPropDict[__id2_] == undefined)) || (!((((int(__setPropDict[__id2_]) >= 60)) && ((int(__setPropDict[__id2_]) <= 93))))))){
__setPropDict[__id2_] = currentFrame;
__setProp___id2__Scene1_textButton_60();
};
if ((((__setPropDict[__id4_] == undefined)) || (!((((int(__setPropDict[__id4_]) >= 60)) && ((int(__setPropDict[__id4_]) <= 93))))))){
__setPropDict[__id4_] = currentFrame;
__setProp___id4__Scene1_textButton_60();
};
if ((((__setPropDict[__id5_] == undefined)) || (!((((int(__setPropDict[__id5_]) >= 60)) && ((int(__setPropDict[__id5_]) <= 93))))))){
__setPropDict[__id5_] = currentFrame;
__setProp___id5__Scene1_textButton_60();
};
}
private function submitScore(){
var sendScore:shHighScores;
var score:Score;
var total:Number;
sendScore = getSendScore();
score = getGame().getScore();
total = calculateScore((score.totalTime - score.time), score.data, score.files);
try {
trace(("sending score: " + total));
sendScore.send(("" + total), submitScoreHandler);
} catch(Object) {
trace("score submittal failed");
if (getChildByName("mcScoreStatus") != null){
(getChildByName("mcScoreStatus") as MovieClip).gotoAndPlay("failed");
};
};
score.scoreSubmitted = true;
changeState(currentState, emptyState);
}
function frame98(){
if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 97)) && ((int(__setPropDict[__id6_]) <= 101))))))){
__setPropDict[__id6_] = currentFrame;
__setProp___id6__Scene1_textButton_97();
};
}
function frame100(){
if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 97)) && ((int(__setPropDict[__id6_]) <= 101))))))){
__setPropDict[__id6_] = currentFrame;
__setProp___id6__Scene1_textButton_97();
};
}
function frame101(){
if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 97)) && ((int(__setPropDict[__id6_]) <= 101))))))){
__setPropDict[__id6_] = currentFrame;
__setProp___id6__Scene1_textButton_97();
};
stop();
}
public function initScore(){
var _local1:MovieClip;
if (!getGame().getScore().scoreSubmitted){
_local1 = new ScoreStatus();
_local1.x = 220;
_local1.y = 335;
_local1.name = "mcScoreStatus";
_local1.finished = false;
addChild(_local1);
submitScore();
};
(getChildByName("txTime") as TextField).text = ("" + 0);
(getChildByName("txData") as TextField).text = ("" + 0);
(getChildByName("txFiles") as TextField).text = ("" + 0);
(getChildByName("txTotal") as TextField).text = ("" + 0);
timer = 0;
changeState(initScore, displayScore);
}
function __setProp___id0__Scene1_survivor_22(){
try {
__id0_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id0_.caption = "skip intro";
__id0_.colorText = 2651069;
__id0_.colorTextHighlight = 0xFFFFFF;
__id0_.descriptor = "";
try {
__id0_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function frame107(){
if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 104)) && ((int(__setPropDict[__id7_]) <= 108))))))){
__setPropDict[__id7_] = currentFrame;
__setProp___id7__Scene1_textButton_104();
};
}
public function endGame(){
Mouse.show();
removeChild(gui);
removeChild(canvas);
canvas = null;
if (getGame().getScore().playerIsDead){
gotoAndPlay("noscore");
changeState(endGame, emptyState);
} else {
gotoAndPlay("score");
changeState(endGame, initScore);
};
}
function frame104(){
if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 104)) && ((int(__setPropDict[__id7_]) <= 108))))))){
__setPropDict[__id7_] = currentFrame;
__setProp___id7__Scene1_textButton_104();
};
}
function frame105(){
if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 104)) && ((int(__setPropDict[__id7_]) <= 108))))))){
__setPropDict[__id7_] = currentFrame;
__setProp___id7__Scene1_textButton_104();
};
}
function frame108(){
if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 104)) && ((int(__setPropDict[__id7_]) <= 108))))))){
__setPropDict[__id7_] = currentFrame;
__setProp___id7__Scene1_textButton_104();
};
stop();
}
public function enterFrame(_arg1:Event){
currentState();
}
function frame106(){
if ((((__setPropDict[__id7_] == undefined)) || (!((((int(__setPropDict[__id7_]) >= 104)) && ((int(__setPropDict[__id7_]) <= 108))))))){
__setPropDict[__id7_] = currentFrame;
__setProp___id7__Scene1_textButton_104();
};
}
function frame99(){
if ((((__setPropDict[__id6_] == undefined)) || (!((((int(__setPropDict[__id6_]) >= 97)) && ((int(__setPropDict[__id6_]) <= 101))))))){
__setPropDict[__id6_] = currentFrame;
__setProp___id6__Scene1_textButton_97();
};
}
public function startGame(){
var _local1:CanvasManager;
var _local2:MovieClip;
gotoAndPlay("game");
ParticleSettings.init();
gui = new Gui();
addChild(gui);
canvas = new MovieClip();
addChild(canvas);
_local1 = new CanvasManager(canvas);
currentGame = new Game(_local1, this);
currentGame.pause();
_local2 = new QuickInstructions(quickInstructionsCallback);
addChild(_local2);
_local2.x = 220;
_local2.y = 220;
changeState(startGame, emptyState);
}
function __setProp___id5__Scene1_textButton_60(){
try {
__id5_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id5_.caption = "about";
__id5_.colorText = 0x666666;
__id5_.colorTextHighlight = 2651069;
__id5_.descriptor = "";
try {
__id5_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
public function keyDown(_arg1:KeyboardEvent):void{
switch (_arg1.charCode){
case 32:
if (getGame() != null){
getGame().quitGame();
};
break;
case 112:
if (getGame() != null){
if (getGame().isPaused()){
getGame().resume();
} else {
getGame().pause();
};
};
break;
default:
trace(_arg1.charCode);
};
}
function frame124(){
stop();
}
function frame125(){
if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 125)) && ((int(__setPropDict[__id9_]) <= 137))))))){
__setPropDict[__id9_] = currentFrame;
__setProp___id9__Scene1_textButton_125();
};
if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 125)) && ((int(__setPropDict[__id8_]) <= 137))))))){
__setPropDict[__id8_] = currentFrame;
__setProp___id8__Scene1_textButton_125();
};
}
function frame126(){
if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 125)) && ((int(__setPropDict[__id9_]) <= 137))))))){
__setPropDict[__id9_] = currentFrame;
__setProp___id9__Scene1_textButton_125();
};
if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 125)) && ((int(__setPropDict[__id8_]) <= 137))))))){
__setPropDict[__id8_] = currentFrame;
__setProp___id8__Scene1_textButton_125();
};
}
function frame127(){
if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 125)) && ((int(__setPropDict[__id9_]) <= 137))))))){
__setPropDict[__id9_] = currentFrame;
__setProp___id9__Scene1_textButton_125();
};
if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 125)) && ((int(__setPropDict[__id8_]) <= 137))))))){
__setPropDict[__id8_] = currentFrame;
__setProp___id8__Scene1_textButton_125();
};
}
function __setProp___id9__Scene1_textButton_125(){
try {
__id9_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id9_.caption = "quit";
__id9_.colorText = 0x666666;
__id9_.colorTextHighlight = 2651069;
__id9_.descriptor = "menu";
try {
__id9_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function __setProp___id7__Scene1_textButton_104(){
try {
__id7_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id7_.caption = "back to menu";
__id7_.colorText = 0x666666;
__id7_.colorTextHighlight = 2651069;
__id7_.descriptor = "menu";
try {
__id7_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function frame128(){
if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 125)) && ((int(__setPropDict[__id9_]) <= 137))))))){
__setPropDict[__id9_] = currentFrame;
__setProp___id9__Scene1_textButton_125();
};
if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 125)) && ((int(__setPropDict[__id8_]) <= 137))))))){
__setPropDict[__id8_] = currentFrame;
__setProp___id8__Scene1_textButton_125();
};
}
function frame129(){
if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 125)) && ((int(__setPropDict[__id9_]) <= 137))))))){
__setPropDict[__id9_] = currentFrame;
__setProp___id9__Scene1_textButton_125();
};
if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 125)) && ((int(__setPropDict[__id8_]) <= 137))))))){
__setPropDict[__id8_] = currentFrame;
__setProp___id8__Scene1_textButton_125();
};
}
function __setProp___id2__Scene1_textButton_60(){
try {
__id2_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id2_.caption = "start";
__id2_.colorText = 0x666666;
__id2_.colorTextHighlight = 2651069;
__id2_.descriptor = "";
try {
__id2_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function frame130(){
if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 125)) && ((int(__setPropDict[__id9_]) <= 137))))))){
__setPropDict[__id9_] = currentFrame;
__setProp___id9__Scene1_textButton_125();
};
if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 125)) && ((int(__setPropDict[__id8_]) <= 137))))))){
__setPropDict[__id8_] = currentFrame;
__setProp___id8__Scene1_textButton_125();
};
}
function frame131(){
if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 125)) && ((int(__setPropDict[__id9_]) <= 137))))))){
__setPropDict[__id9_] = currentFrame;
__setProp___id9__Scene1_textButton_125();
};
if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 125)) && ((int(__setPropDict[__id8_]) <= 137))))))){
__setPropDict[__id8_] = currentFrame;
__setProp___id8__Scene1_textButton_125();
};
stop();
}
function frame132(){
if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 125)) && ((int(__setPropDict[__id9_]) <= 137))))))){
__setPropDict[__id9_] = currentFrame;
__setProp___id9__Scene1_textButton_125();
};
if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 125)) && ((int(__setPropDict[__id8_]) <= 137))))))){
__setPropDict[__id8_] = currentFrame;
__setProp___id8__Scene1_textButton_125();
};
}
function frame134(){
if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 125)) && ((int(__setPropDict[__id9_]) <= 137))))))){
__setPropDict[__id9_] = currentFrame;
__setProp___id9__Scene1_textButton_125();
};
if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 125)) && ((int(__setPropDict[__id8_]) <= 137))))))){
__setPropDict[__id8_] = currentFrame;
__setProp___id8__Scene1_textButton_125();
};
}
public function loadSound(){
soundManager = new SoundManager();
soundManager.setMasterVolume(0.2);
SOUND_COLLECT_SCORE = soundManager.addSound(SoundCollectScore);
SOUND_UPGRADE_GUN = soundManager.addSound(SoundUpgradeGun);
SOUND_FIRE = soundManager.addSound(SoundFire);
soundManager.setVolume(SOUND_FIRE, 0.5);
SOUND_FIRE_SHORT = soundManager.addSound(SoundFireShort);
soundManager.setVolume(SOUND_FIRE_SHORT, 1.1);
SOUND_MISSILE = soundManager.addSound(SoundMissile);
SOUND_SNIPER = soundManager.addSound(SoundSniper);
SOUND_SHOTGUN = soundManager.addSound(SoundShotgun);
SOUND_ELECTRO = soundManager.addSound(SoundElectro);
SOUND_DEATH = soundManager.addSound(SoundDeath);
soundManager.setVolume(SOUND_DEATH, 0.3);
SOUND_BEAM = soundManager.addSound(SoundBeam);
musicManager = new SoundManager();
MUSIC = musicManager.addSound(Music);
musicManager.setVolume(MUSIC, 0.5);
musicManager.play(MUSIC, 0, 99999);
introCounter = 265;
changeState(loadSound, displayIntro);
}
function frame135(){
if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 125)) && ((int(__setPropDict[__id9_]) <= 137))))))){
__setPropDict[__id9_] = currentFrame;
__setProp___id9__Scene1_textButton_125();
};
if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 125)) && ((int(__setPropDict[__id8_]) <= 137))))))){
__setPropDict[__id8_] = currentFrame;
__setProp___id8__Scene1_textButton_125();
};
}
function frame136(){
if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 125)) && ((int(__setPropDict[__id9_]) <= 137))))))){
__setPropDict[__id9_] = currentFrame;
__setProp___id9__Scene1_textButton_125();
};
if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 125)) && ((int(__setPropDict[__id8_]) <= 137))))))){
__setPropDict[__id8_] = currentFrame;
__setProp___id8__Scene1_textButton_125();
};
}
function frame137(){
if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 125)) && ((int(__setPropDict[__id9_]) <= 137))))))){
__setPropDict[__id9_] = currentFrame;
__setProp___id9__Scene1_textButton_125();
};
if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 125)) && ((int(__setPropDict[__id8_]) <= 137))))))){
__setPropDict[__id8_] = currentFrame;
__setProp___id8__Scene1_textButton_125();
};
stop();
}
function frame133(){
if ((((__setPropDict[__id9_] == undefined)) || (!((((int(__setPropDict[__id9_]) >= 125)) && ((int(__setPropDict[__id9_]) <= 137))))))){
__setPropDict[__id9_] = currentFrame;
__setProp___id9__Scene1_textButton_125();
};
if ((((__setPropDict[__id8_] == undefined)) || (!((((int(__setPropDict[__id8_]) >= 125)) && ((int(__setPropDict[__id8_]) <= 137))))))){
__setPropDict[__id8_] = currentFrame;
__setProp___id8__Scene1_textButton_125();
};
}
public static function getInstance():Main{
return (main);
}
public static function getSoundManager():SoundManager{
return (main.soundManager);
}
public static function getMusicManager():SoundManager{
return (main.musicManager);
}
public static function getGame():Game{
return (currentGame);
}
}
}//package
Section 58
//Marker (Marker)
package {
import flash.display.*;
public dynamic class Marker extends MovieClip {
}
}//package
Section 59
//Music (Music)
package {
import flash.media.*;
public dynamic class Music extends Sound {
}
}//package
Section 60
//ParticleSquare (ParticleSquare)
package {
import flash.display.*;
public dynamic class ParticleSquare extends MovieClip {
}
}//package
Section 61
//ParticleStroke (ParticleStroke)
package {
import flash.display.*;
public dynamic class ParticleStroke extends MovieClip {
}
}//package
Section 62
//PauseScreen (PauseScreen)
package {
import flash.display.*;
public dynamic class PauseScreen extends MovieClip {
}
}//package
Section 63
//ScoreStatus (ScoreStatus)
package {
import flash.events.*;
import flash.media.*;
import flash.display.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.utils.*;
import flash.external.*;
import flash.filters.*;
import flash.system.*;
import flash.ui.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class ScoreStatus extends MovieClip {
public function ScoreStatus(){
addFrameScript(17, frame18, 59, frame60, 111, frame112);
}
function frame18(){
if (!this.finished){
this.gotoAndPlay("loop");
};
}
function frame112(){
this.parent.removeChild(this);
stop();
}
function frame60(){
this.parent.removeChild(this);
stop();
}
}
}//package
Section 64
//shHighScores (shHighScores)
package {
import flash.events.*;
import flash.net.*;
import flash.external.*;
public class shHighScores {
private const encHash;
private var shLoader:URLLoader;
private var ss:String;
private var saurl:String;
private var code1:String;
private var code2:String;
private var host:String;
private var rn:String;
private var userHandler:Function;
public function shHighScores(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:String, _arg6:String){
encHash = ["0587693124", "8204135769", "0831547926", "6350192847", "0682495317", "2409581367", "4327568109", "2561870349", "0684137529", "6904781325"];
shLoader = new URLLoader();
super();
code1 = _arg1;
code2 = _arg2;
host = _arg3;
ss = _arg4;
saurl = _arg5;
rn = _arg6;
}
private function shEncode(_arg1:String, _arg2:String):String{
var _local3:String;
var _local4:String;
var _local5:Number;
var _local6:String;
var _local7:String;
var _local8:String;
var _local9:uint;
var _local10:uint;
var _local11:uint;
_local3 = _arg1;
_local4 = _arg2;
_local5 = (_local3.length - _local4.length);
_local6 = "";
_local7 = "";
_local8 = "";
_local10 = 97;
_local9 = 0;
while (_local9 < Math.abs(_local5)) {
_local6 = (_local6 + "0");
_local9++;
};
if (_local5 < 0){
_local3 = (_local6 + _local3);
} else {
_local4 = (_local6 + _local4);
};
_local9 = 0;
while (_local9 < _local3.length) {
_local7 = (_local7 + encHash[(_local9 % encHash.length)].charAt(Number(_local3.charAt(_local9))));
_local9++;
};
_local3 = _local7;
_local7 = "";
_local9 = 0;
while (_local9 < _local4.length) {
_local7 = (_local7 + encHash[(_local9 % encHash.length)].charAt(Number(_local4.charAt(_local9))));
_local9++;
};
_local4 = _local7;
_local9 = 0;
while (_local9 < _local3.length) {
_local11 = (Number(_local3.charAt(_local9)) ^ Number(_local4.charAt(_local9)));
_local8 = (_local8 + String.fromCharCode((_local10 + _local11)));
_local9++;
};
return (_local8);
}
private function onResponse(_arg1:Event):void{
var res:String;
var tarr2:Array;
var tarr1:Array;
var s:String;
var i:uint;
var r:String;
var newShrn:String;
var e = _arg1;
trace(!((userHandler == null)));
shLoader.removeEventListener(Event.COMPLETE, onResponse);
try {
r = e.currentTarget.data;
} catch(err:Error) {
trace("onResponse(): Error parsing r");
return;
};
res = "";
tarr2 = [];
tarr1 = r.split("&");
s = "";
if (tarr1.length > 0){
i = 0;
while (i < tarr1.length) {
tarr2 = tarr1[i].split("=");
if ((((tarr2.length == 2)) && ((tarr2[0] == "result")))){
res = tarr2[1];
};
i = (i + 1);
};
};
if (res == ""){
return;
};
newShrn = shDecode(res, code2);
if (newShrn != "0"){
rn = res;
if (userHandler != null){
userHandler(r);
//unresolved jump
};
ExternalInterface.call("reloadScoreContainer");
};
}
private function shDecode(_arg1:String, _arg2:String):String{
var _local3:String;
var _local4:String;
var _local5:String;
var _local6:uint;
var _local7:uint;
_local3 = "";
_local4 = "";
_local5 = _arg2;
_local7 = 97;
_local6 = 0;
while (_local6 < (_arg1.length - _local5.length)) {
_local5 = ("0" + _local5);
_local6++;
};
_local6 = 0;
while (_local6 < _local5.length) {
_local4 = (_local4 + encHash[(_local6 % encHash.length)].charAt(Number(_local5.charAt(_local6))));
_local6++;
};
_local5 = _local4;
_local6 = 0;
while (_local6 < _arg1.length) {
_local3 = (_local3 + ((_arg1.charCodeAt(_local6) - _local7) ^ Number(_local5.charAt(_local6))));
_local6++;
};
_local4 = "";
_local6 = 0;
while (_local6 < _local3.length) {
_local4 = (_local4 + encHash[(_local6 % encHash.length)].indexOf(_local3.charAt(_local6)));
_local6++;
};
_local3 = _local4;
_local6 = 0;
while ((((_local6 < (_local3.length - 1))) && ((_local3.charAt(_local6) == "0")))) {
_local6++;
};
return (_local3.substring(_local6, _local3.length));
}
public function send(_arg1:String, _arg2:Function=null, _arg3:String=""){
var shRn1:String;
var shGameId:String;
var shScoresRn:String;
var params:*;
var urlto:*;
var shScore = _arg1;
var shOnSendComplete = _arg2;
var shAdditionalParams = _arg3;
userHandler = shOnSendComplete;
shRn1 = shDecode(rn, code2);
shGameId = shEncode(shDecode(ss, code1), (shScore + shRn1));
shScoresRn = shEncode((shScore + shRn1), code2);
params = ((("?game=" + shDecode(ss, code1)) + "&score=") + shScore);
urlto = ((((((host + saurl) + shGameId) + "/") + shScoresRn) + params) + ((shAdditionalParams)!="") ? ("&" + shAdditionalParams) : "");
trace(("Loading " + urlto));
try {
shLoader.addEventListener(Event.COMPLETE, onResponse);
shLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
shLoader.load(new URLRequest(urlto));
} catch(error:SecurityError) {
trace("A SecurityError has occurred.");
};
}
}
}//package
Section 65
//SoundBeam (SoundBeam)
package {
import flash.media.*;
public dynamic class SoundBeam extends Sound {
}
}//package
Section 66
//SoundCollectScore (SoundCollectScore)
package {
import flash.media.*;
public dynamic class SoundCollectScore extends Sound {
}
}//package
Section 67
//SoundDeath (SoundDeath)
package {
import flash.media.*;
public dynamic class SoundDeath extends Sound {
}
}//package
Section 68
//SoundElectro (SoundElectro)
package {
import flash.media.*;
public dynamic class SoundElectro extends Sound {
}
}//package
Section 69
//SoundFire (SoundFire)
package {
import flash.media.*;
public dynamic class SoundFire extends Sound {
}
}//package
Section 70
//SoundFireShort (SoundFireShort)
package {
import flash.media.*;
public dynamic class SoundFireShort extends Sound {
}
}//package
Section 71
//SoundMissile (SoundMissile)
package {
import flash.media.*;
public dynamic class SoundMissile extends Sound {
}
}//package
Section 72
//SoundShotgun (SoundShotgun)
package {
import flash.media.*;
public dynamic class SoundShotgun extends Sound {
}
}//package
Section 73
//SoundSniper (SoundSniper)
package {
import flash.media.*;
public dynamic class SoundSniper extends Sound {
}
}//package
Section 74
//SoundUpgradeGun (SoundUpgradeGun)
package {
import flash.media.*;
public dynamic class SoundUpgradeGun extends Sound {
}
}//package
Section 75
//textButton (textButton)
package {
import common.gui.*;
public dynamic class textButton extends TextButton {
}
}//package