Section 1
//MD5 (com.gsolo.encryption.MD5)
package com.gsolo.encryption {
public class MD5 {
public static const HEX_FORMAT_LOWERCASE:uint = 0;
public static const HEX_FORMAT_UPPERCASE:uint = 1;
public static const BASE64_PAD_CHARACTER_DEFAULT_COMPLIANCE:String = "";
public static const BASE64_PAD_CHARACTER_RFC_COMPLIANCE:String = "=";
public static var hexcase:uint = 0;
public static var b64pad:String = "";
public static function md5_gg(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Number{
return (md5_cmn(((_arg2 & _arg4) | (_arg3 & ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7));
}
public static function md5_cmn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Number{
return (safe_add(bit_rol(safe_add(safe_add(_arg2, _arg1), safe_add(_arg4, _arg6)), _arg5), _arg3));
}
public static function binl_md5(_arg1:Array, _arg2:Number):Array{
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
_arg1[(_arg2 >> 5)] = (_arg1[(_arg2 >> 5)] | (128 << (_arg2 % 32)));
_arg1[((((_arg2 + 64) >>> 9) << 4) + 14)] = _arg2;
_local3 = 1732584193;
_local4 = -271733879;
_local5 = -1732584194;
_local6 = 271733878;
_local7 = 0;
while (_local7 < _arg1.length) {
_local8 = _local3;
_local9 = _local4;
_local10 = _local5;
_local11 = _local6;
_local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 7, -680876936);
_local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 1)], 12, -389564586);
_local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 17, 606105819);
_local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 3)], 22, -1044525330);
_local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 7, -176418897);
_local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 5)], 12, 1200080426);
_local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 17, -1473231341);
_local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 7)], 22, -45705983);
_local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 7, 1770035416);
_local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 9)], 12, -1958414417);
_local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 17, -42063);
_local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 11)], 22, -1990404162);
_local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 7, 1804603682);
_local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 13)], 12, -40341101);
_local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 17, -1502002290);
_local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 15)], 22, 1236535329);
_local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 5, -165796510);
_local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 6)], 9, -1069501632);
_local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 14, 643717713);
_local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 0)], 20, -373897302);
_local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 5, -701558691);
_local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 10)], 9, 38016083);
_local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 14, -660478335);
_local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 4)], 20, -405537848);
_local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 5, 568446438);
_local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 14)], 9, -1019803690);
_local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 14, -187363961);
_local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 8)], 20, 1163531501);
_local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 5, -1444681467);
_local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 2)], 9, -51403784);
_local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 14, 1735328473);
_local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 12)], 20, -1926607734);
_local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 4, -378558);
_local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 8)], 11, -2022574463);
_local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 16, 1839030562);
_local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 14)], 23, -35309556);
_local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 4, -1530992060);
_local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 4)], 11, 1272893353);
_local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 16, -155497632);
_local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 10)], 23, -1094730640);
_local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 4, 681279174);
_local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 0)], 11, -358537222);
_local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 16, -722521979);
_local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 6)], 23, 76029189);
_local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 4, -640364487);
_local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 12)], 11, -421815835);
_local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 16, 530742520);
_local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 2)], 23, -995338651);
_local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 6, -198630844);
_local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 7)], 10, 1126891415);
_local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 15, -1416354905);
_local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 5)], 21, -57434055);
_local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 6, 1700485571);
_local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 3)], 10, -1894986606);
_local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 15, -1051523);
_local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 1)], 21, -2054922799);
_local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 6, 1873313359);
_local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 15)], 10, -30611744);
_local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 15, -1560198380);
_local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 13)], 21, 1309151649);
_local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 6, -145523070);
_local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 11)], 10, -1120210379);
_local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 15, 718787259);
_local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 9)], 21, -343485551);
_local3 = safe_add(_local3, _local8);
_local4 = safe_add(_local4, _local9);
_local5 = safe_add(_local5, _local10);
_local6 = safe_add(_local6, _local11);
_local7 = (_local7 + 16);
};
return ([_local3, _local4, _local5, _local6]);
}
public static function str2rstr_utf16le(_arg1:String):String{
var _local2:String;
var _local3:Number;
_local2 = "";
_local3 = 0;
while (_local3 < _arg1.length) {
_local2 = (_local2 + String.fromCharCode((_arg1.charCodeAt(_local3) & 0xFF), ((_arg1.charCodeAt(_local3) >>> 8) & 0xFF)));
_local3++;
};
return (_local2);
}
public static function hex_hmac_md5(_arg1:String, _arg2:String):String{
return (rstr2hex(rstr_hmac_md5(str2rstr_utf8(_arg1), str2rstr_utf8(_arg2))));
}
public static function binl2rstr(_arg1:Array):String{
var _local2:String;
var _local3:Number;
_local2 = "";
_local3 = 0;
while (_local3 < (_arg1.length * 32)) {
_local2 = (_local2 + String.fromCharCode(((_arg1[(_local3 >> 5)] >>> (_local3 % 32)) & 0xFF)));
_local3 = (_local3 + 8);
};
return (_local2);
}
public static function md5_ff(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Number{
return (md5_cmn(((_arg2 & _arg3) | (~(_arg2) & _arg4)), _arg1, _arg2, _arg5, _arg6, _arg7));
}
public static function md5_ii(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Number{
return (md5_cmn((_arg3 ^ (_arg2 | ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7));
}
public static function rstr2binl(_arg1:String):Array{
var _local2:Array;
var _local3:Number;
_local2 = new Array((_arg1.length >> 2));
_local3 = 0;
while (_local3 < _local2.length) {
_local2[_local3] = 0;
_local3++;
};
_local3 = 0;
while (_local3 < (_arg1.length * 8)) {
_local2[(_local3 >> 5)] = (_local2[(_local3 >> 5)] | ((_arg1.charCodeAt((_local3 / 8)) & 0xFF) << (_local3 % 32)));
_local3 = (_local3 + 8);
};
return (_local2);
}
public static function md5_vm_test():Boolean{
return ((hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72"));
}
public static function b64_md5(_arg1:String):String{
return (rstr2b64(rstr_md5(str2rstr_utf8(_arg1))));
}
public static function any_hmac_md5(_arg1:String, _arg2:String, _arg3:String):String{
return (rstr2any(rstr_hmac_md5(str2rstr_utf8(_arg1), str2rstr_utf8(_arg2)), _arg3));
}
public static function hex_md5(_arg1:String):String{
return (rstr2hex(rstr_md5(str2rstr_utf8(_arg1))));
}
public static function bit_rol(_arg1:Number, _arg2:Number):Number{
return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2))));
}
public static function encrypt(_arg1:String):String{
return (hex_md5(_arg1));
}
public static function md5_hh(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Number{
return (md5_cmn(((_arg2 ^ _arg3) ^ _arg4), _arg1, _arg2, _arg5, _arg6, _arg7));
}
public static function rstr2hex(_arg1:String):String{
var _local2:String;
var _local3:String;
var _local4:Number;
var _local5:Number;
_local2 = (hexcase) ? "0123456789ABCDEF" : "0123456789abcdef";
_local3 = "";
_local5 = 0;
while (_local5 < _arg1.length) {
_local4 = _arg1.charCodeAt(_local5);
_local3 = (_local3 + (_local2.charAt(((_local4 >>> 4) & 15)) + _local2.charAt((_local4 & 15))));
_local5++;
};
return (_local3);
}
public static function any_md5(_arg1:String, _arg2:String):String{
return (rstr2any(rstr_md5(str2rstr_utf8(_arg1)), _arg2));
}
public static function b64_hmac_md5(_arg1:String, _arg2:String):String{
return (rstr2b64(rstr_hmac_md5(str2rstr_utf8(_arg1), str2rstr_utf8(_arg2))));
}
public static function rstr2b64(_arg1:String):String{
var _local2:String;
var _local3:String;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
_local2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
_local3 = "";
_local4 = _arg1.length;
_local5 = 0;
while (_local5 < _local4) {
_local6 = (((_arg1.charCodeAt(_local5) << 16) | (((_local5 + 1) < _local4)) ? (_arg1.charCodeAt((_local5 + 1)) << 8) : 0) | (((_local5 + 2) < _local4)) ? _arg1.charCodeAt((_local5 + 2)) : 0);
_local7 = 0;
while (_local7 < 4) {
if (((_local5 * 8) + (_local7 * 6)) > (_arg1.length * 8)){
_local3 = (_local3 + b64pad);
} else {
_local3 = (_local3 + _local2.charAt(((_local6 >>> (6 * (3 - _local7))) & 63)));
};
_local7++;
};
_local5 = (_local5 + 3);
};
return (_local3);
}
public static function safe_add(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
var _local4:Number;
_local3 = ((_arg1 & 0xFFFF) + (_arg2 & 0xFFFF));
_local4 = (((_arg1 >> 16) + (_arg2 >> 16)) + (_local3 >> 16));
return (((_local4 << 16) | (_local3 & 0xFFFF)));
}
public static function str2rstr_utf8(_arg1:String):String{
var _local2:String;
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local2 = "";
_local3 = -1;
while (++_local3 < _arg1.length) {
_local4 = _arg1.charCodeAt(_local3);
_local5 = (((_local3 + 1) < _arg1.length)) ? _arg1.charCodeAt((_local3 + 1)) : 0;
if ((((((((0xD800 <= _local4)) && ((_local4 <= 56319)))) && ((0xDC00 <= _local5)))) && ((_local5 <= 57343)))){
_local4 = ((65536 + ((_local4 & 1023) << 10)) + (_local5 & 1023));
_local3++;
};
if (_local4 <= 127){
_local2 = (_local2 + String.fromCharCode(_local4));
} else {
if (_local4 <= 2047){
_local2 = (_local2 + String.fromCharCode((192 | ((_local4 >>> 6) & 31)), (128 | (_local4 & 63))));
} else {
if (_local4 <= 0xFFFF){
_local2 = (_local2 + String.fromCharCode((224 | ((_local4 >>> 12) & 15)), (128 | ((_local4 >>> 6) & 63)), (128 | (_local4 & 63))));
} else {
if (_local4 <= 2097151){
_local2 = (_local2 + String.fromCharCode((240 | ((_local4 >>> 18) & 7)), (128 | ((_local4 >>> 12) & 63)), (128 | ((_local4 >>> 6) & 63)), (128 | (_local4 & 63))));
};
};
};
};
};
return (_local2);
}
public static function rstr_hmac_md5(_arg1:String, _arg2:String):String{
var _local3:Array;
var _local4:Array;
var _local5:Array;
var _local6:Number;
var _local7:Array;
_local3 = rstr2binl(_arg1);
if (_local3.length > 16){
_local3 = binl_md5(_local3, (_arg1.length * 8));
};
_local4 = new Array(16);
_local5 = new Array(16);
_local6 = 0;
while (_local6 < 16) {
_local4[_local6] = (_local3[_local6] ^ 909522486);
_local5[_local6] = (_local3[_local6] ^ 1549556828);
_local6++;
};
_local7 = binl_md5(_local4.concat(rstr2binl(_arg2)), (0x0200 + (_arg2.length * 8)));
return (binl2rstr(binl_md5(_local5.concat(_local7), (0x0200 + 128))));
}
public static function str2rstr_utf16be(_arg1:String):String{
var _local2:String;
var _local3:Number;
_local2 = "";
_local3 = 0;
while (_local3 < _arg1.length) {
_local2 = (_local2 + String.fromCharCode(((_arg1.charCodeAt(_local3) >>> 8) & 0xFF), (_arg1.charCodeAt(_local3) & 0xFF)));
_local3++;
};
return (_local2);
}
public static function rstr2any(_arg1:String, _arg2:String):String{
var _local3:Number;
var _local4:Array;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Array;
var _local9:Array;
var _local10:String;
_local3 = _arg2.length;
_local4 = [];
_local9 = new Array((_arg1.length / 2));
_local5 = 0;
while (_local5 < _local9.length) {
_local9[_local5] = ((_arg1.charCodeAt((_local5 * 2)) << 8) | _arg1.charCodeAt(((_local5 * 2) + 1)));
_local5++;
};
while (_local9.length > 0) {
_local8 = [];
_local7 = 0;
_local5 = 0;
while (_local5 < _local9.length) {
_local7 = ((_local7 << 16) + _local9[_local5]);
_local6 = Math.floor((_local7 / _local3));
_local7 = (_local7 - (_local6 * _local3));
if ((((_local8.length > 0)) || ((_local6 > 0)))){
_local8[_local8.length] = _local6;
};
_local5++;
};
_local4[_local4.length] = _local7;
_local9 = _local8;
};
_local10 = "";
_local5 = (_local4.length - 1);
while (_local5 >= 0) {
_local10 = (_local10 + _arg2.charAt(_local4[_local5]));
_local5--;
};
return (_local10);
}
public static function rstr_md5(_arg1:String):String{
return (binl2rstr(binl_md5(rstr2binl(_arg1), (_arg1.length * 8))));
}
}
}//package com.gsolo.encryption
Section 2
//Color (fl.motion.Color)
package fl.motion {
import flash.display.*;
import flash.geom.*;
public class Color extends ColorTransform {
private var _tintMultiplier:Number;// = 0
private var _tintColor:Number;// = 0
public function Color(_arg1:Number=1, _arg2:Number=1, _arg3:Number=1, _arg4:Number=1, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0, _arg8:Number=0){
_tintColor = 0;
_tintMultiplier = 0;
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
}
public function setTint(_arg1:uint, _arg2:Number):void{
var _local3:uint;
var _local4:uint;
var _local5:uint;
this._tintColor = _arg1;
this._tintMultiplier = _arg2;
this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = (1 - _arg2)));
_local3 = ((_arg1 >> 16) & 0xFF);
_local4 = ((_arg1 >> 8) & 0xFF);
_local5 = (_arg1 & 0xFF);
this.redOffset = Math.round((_local3 * _arg2));
this.greenOffset = Math.round((_local4 * _arg2));
this.blueOffset = Math.round((_local5 * _arg2));
}
public function set tintColor(_arg1:uint):void{
this.setTint(_arg1, this.tintMultiplier);
}
public function get brightness():Number{
return ((this.redOffset) ? (1 - this.redMultiplier) : (this.redMultiplier - 1));
}
private function deriveTintColor():uint{
var _local1:Number;
var _local2:uint;
var _local3:uint;
var _local4:uint;
var _local5:uint;
_local1 = (1 / this.tintMultiplier);
_local2 = Math.round((this.redOffset * _local1));
_local3 = Math.round((this.greenOffset * _local1));
_local4 = Math.round((this.blueOffset * _local1));
_local5 = (((_local2 << 16) | (_local3 << 8)) | _local4);
return (_local5);
}
public function get tintMultiplier():Number{
return (this._tintMultiplier);
}
public function get tintColor():uint{
return (this._tintColor);
}
public function set brightness(_arg1:Number):void{
var _local2:Number;
var _local3:Number;
if (_arg1 > 1){
_arg1 = 1;
} else {
if (_arg1 < -1){
_arg1 = -1;
};
};
_local2 = (1 - Math.abs(_arg1));
_local3 = 0;
if (_arg1 > 0){
_local3 = (_arg1 * 0xFF);
};
this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = _local2));
this.redOffset = (this.greenOffset = (this.blueOffset = _local3));
}
public function set tintMultiplier(_arg1:Number):void{
this.setTint(this.tintColor, _arg1);
}
private function parseXML(_arg1:XML=null):Color{
var _local2:XML;
var _local3:XML;
var _local4:String;
var _local5:uint;
if (!_arg1){
return (this);
};
_local2 = _arg1.elements()[0];
if (!_local2){
return (this);
};
for each (_local3 in _local2.attributes()) {
_local4 = _local3.localName();
if (_local4 == "tintColor"){
_local5 = (Number(_local3.toString()) as uint);
this.tintColor = _local5;
} else {
this[_local4] = Number(_local3.toString());
};
};
return (this);
}
public static function interpolateColor(_arg1:uint, _arg2:uint, _arg3:Number):uint{
var _local4:Number;
var _local5:uint;
var _local6:uint;
var _local7:uint;
var _local8:uint;
var _local9:uint;
var _local10:uint;
var _local11:uint;
var _local12:uint;
var _local13:uint;
var _local14:uint;
var _local15:uint;
var _local16:uint;
var _local17:uint;
_local4 = (1 - _arg3);
_local5 = ((_arg1 >> 24) & 0xFF);
_local6 = ((_arg1 >> 16) & 0xFF);
_local7 = ((_arg1 >> 8) & 0xFF);
_local8 = (_arg1 & 0xFF);
_local9 = ((_arg2 >> 24) & 0xFF);
_local10 = ((_arg2 >> 16) & 0xFF);
_local11 = ((_arg2 >> 8) & 0xFF);
_local12 = (_arg2 & 0xFF);
_local13 = ((_local5 * _local4) + (_local9 * _arg3));
_local14 = ((_local6 * _local4) + (_local10 * _arg3));
_local15 = ((_local7 * _local4) + (_local11 * _arg3));
_local16 = ((_local8 * _local4) + (_local12 * _arg3));
_local17 = ((((_local13 << 24) | (_local14 << 16)) | (_local15 << 8)) | _local16);
return (_local17);
}
public static function interpolateTransform(_arg1:ColorTransform, _arg2:ColorTransform, _arg3:Number):ColorTransform{
var _local4:Number;
var _local5:ColorTransform;
_local4 = (1 - _arg3);
_local5 = new ColorTransform(((_arg1.redMultiplier * _local4) + (_arg2.redMultiplier * _arg3)), ((_arg1.greenMultiplier * _local4) + (_arg2.greenMultiplier * _arg3)), ((_arg1.blueMultiplier * _local4) + (_arg2.blueMultiplier * _arg3)), ((_arg1.alphaMultiplier * _local4) + (_arg2.alphaMultiplier * _arg3)), ((_arg1.redOffset * _local4) + (_arg2.redOffset * _arg3)), ((_arg1.greenOffset * _local4) + (_arg2.greenOffset * _arg3)), ((_arg1.blueOffset * _local4) + (_arg2.blueOffset * _arg3)), ((_arg1.alphaOffset * _local4) + (_arg2.alphaOffset * _arg3)));
return (_local5);
}
public static function fromXML(_arg1:XML):Color{
return (Color(new (Color).parseXML(_arg1)));
}
}
}//package fl.motion
Section 3
//movEntryScreen_2 (HiScores_fla.movEntryScreen_2)
package HiScores_fla {
import flash.display.*;
import flash.text.*;
public dynamic class movEntryScreen_2 extends MovieClip {
public var txtName:TextField;
public var movCode:MovieClip;
public var txtMsg2:TextField;
public var btnRefreshCode:SimpleButton;
public var txtCode:TextField;
public var txtMsg1:TextField;
public var btnSubmit:SimpleButton;
}
}//package HiScores_fla
Section 4
//movInfoScreen_6 (HiScores_fla.movInfoScreen_6)
package HiScores_fla {
import flash.display.*;
import flash.text.*;
public dynamic class movInfoScreen_6 extends MovieClip {
public var btnView:SimpleButton;
public var txtInfo:TextField;
public var btnBack:SimpleButton;
}
}//package HiScores_fla
Section 5
//LifeBarFull_27 (OrbBlaster_fla.LifeBarFull_27)
package OrbBlaster_fla {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class LifeBarFull_27 extends MovieClip {
public function LifeBarFull_27(){
addFrameScript(0, frame1);
}
function frame1(){
this.stop();
}
}
}//package OrbBlaster_fla
Section 6
//Mob2copy_72 (OrbBlaster_fla.Mob2copy_72)
package OrbBlaster_fla {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class Mob2copy_72 extends MovieClip {
public function Mob2copy_72(){
addFrameScript(0, frame1, 5, frame6, 8, frame9);
}
function frame6(){
this.teleport();
}
function frame1(){
stop();
}
function frame9(){
this.doneTp();
}
}
}//package OrbBlaster_fla
Section 7
//MobMissile1copy_97 (OrbBlaster_fla.MobMissile1copy_97)
package OrbBlaster_fla {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class MobMissile1copy_97 extends MovieClip {
public function MobMissile1copy_97(){
addFrameScript(0, frame1, 12, frame13);
}
function frame1(){
stop();
}
function frame13(){
gotoAndPlay("activated_idle");
}
}
}//package OrbBlaster_fla
Section 8
//PowBarFull_25 (OrbBlaster_fla.PowBarFull_25)
package OrbBlaster_fla {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class PowBarFull_25 extends MovieClip {
public function PowBarFull_25(){
addFrameScript(0, frame1, 13, frame14);
}
function frame14(){
this.gotoAndStop(7);
}
function frame1(){
this.stop();
}
}
}//package OrbBlaster_fla
Section 9
//Sound_Package_114 (OrbBlaster_fla.Sound_Package_114)
package OrbBlaster_fla {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class Sound_Package_114 extends MovieClip {
public function Sound_Package_114(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package OrbBlaster_fla
Section 10
//TheEndSymbol_49 (OrbBlaster_fla.TheEndSymbol_49)
package OrbBlaster_fla {
import flash.display.*;
public dynamic class TheEndSymbol_49 extends MovieClip {
public var theEndText:MovieClip;
}
}//package OrbBlaster_fla
Section 11
//EndPoint (utils.EndPoint)
package utils {
public class EndPoint {
public var parent:OrbObject;
public var value:Number;
public var index:uint;
public var next:EndPoint;
public var prev:EndPoint;
public function EndPoint(_arg1:Number, _arg2:OrbObject){
value = _arg1;
parent = _arg2;
}
public function getParent():OrbObject{
return (parent);
}
}
}//package utils
Section 12
//PruneList (utils.PruneList)
package utils {
import flash.utils.*;
public class PruneList {
protected var endPointsX:Array;
protected var endPointsY:Array;
public function PruneList(){
endPointsX = new Array();
endPointsY = new Array();
}
public function findInsertIndex(_arg1:Array, _arg2:Number, _arg3:int, _arg4:int):int{
var _local5:int;
if (_arg4 < _arg3){
return (_arg3);
};
_local5 = ((_arg4 + _arg3) >> 1);
if (_arg1[_local5].value > _arg2){
return (findInsertIndex(_arg1, _arg2, _arg3, (_local5 - 1)));
};
if (_arg1[_local5].value < _arg2){
return (findInsertIndex(_arg1, _arg2, (_local5 + 1), _arg4));
};
return (_local5);
}
public function reorder(_arg1:Array, _arg2:EndPoint, _arg3:Number):void{
var _local4:Number;
var _local5:int;
var _local6:EndPoint;
var _local7:uint;
var _local8:Array;
_local4 = (_arg2.value + _arg3);
_local7 = 0;
if (_arg3 < 0){
while (((!((_arg2.prev == null))) && ((_arg2.prev.value > _arg2.value)))) {
_local7++;
};
if (_local7 != 0){
_local8 = _arg1.splice(_local5, 1);
_arg1.splice((_local5 - _local7), 0, _local8[0]);
_arg2.prev.next = _arg2.next;
};
} else {
_local5 = (_arg2.index + 1);
while (_local5 < _arg1.length) {
_local6 = _arg1[_local5];
if (_local6.value >= _local4){
break;
};
_local5++;
};
if (_local5 > _arg1.length){
_local5 = _arg1.length;
};
trace(((("ep.value: " + _arg2.value) + " | ep.index: ") + _arg2.index));
_arg1.splice(_local5, 0, _arg2);
_arg1.splice(_arg2.index, 1);
};
trace(_local5);
_arg2.index = _local5;
_arg2.value = _local4;
}
public function remove(_arg1:OrbObject):void{
var _local2:uint;
var _local3:uint;
_local2 = this.endPointsX.indexOf(_arg1.ex0);
this.endPointsX.splice(_local2, 1);
_local3 = this.endPointsX.indexOf(_arg1.ex1);
this.endPointsX.splice(_local3, 1);
_arg1.ex0.parent = null;
_arg1.ex1.parent = null;
}
public function hitTest(_arg1:OrbObject, _arg2:Number, _arg3:Number):OrbObject{
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:int;
var _local9:uint;
var _local10:uint;
_local4 = ((_arg1.x - _arg1.pruneRadius) + _arg2);
_local5 = ((_arg1.x + _arg1.pruneRadius) + _arg2);
_local6 = (_arg1.x + _arg2);
_local7 = (_arg1.y + _arg3);
_local8 = this.findInsertIndex(this.endPointsX, _local4, 0, (endPointsX.length - 1));
_local9 = endPointsX.length;
_local10 = _local8;
while (_local10 < _local9) {
if (endPointsX[_local10].value < _local5){
if (_arg1.radiusPreTest(_local6, _local7, endPointsX[_local10].getParent())){
return (endPointsX[_local10].getParent());
};
} else {
return (null);
};
_local10++;
};
}
public function add(_arg1:OrbObject):void{
var _local2:int;
var _local3:EndPoint;
var _local4:EndPoint;
var _local5:int;
var _local6:EndPoint;
var _local7:EndPoint;
var _local8:uint;
_local2 = (_arg1.width / 2);
_local3 = new EndPoint((_arg1.x - _local2), _arg1);
_local4 = new EndPoint((_arg1.x + _local2), _arg1);
_local5 = (_arg1.height / 2);
_local6 = new EndPoint((_arg1.y - _local5), _arg1);
_local7 = new EndPoint((_arg1.y + _local5), _arg1);
_local8 = this.findInsertIndex(this.endPointsX, _local3.value, 0, (endPointsX.length - 1));
_local3.index = _local8;
this.endPointsX.splice(_local8, 0, _local3);
_arg1.ex0 = _local3;
_local3.prev = endPointsX[(_local8 - 1)];
_local3.next = endPointsX[(_local8 + 1)];
_local8 = this.findInsertIndex(this.endPointsX, _local4.value, 0, (endPointsX.length - 1));
_local4.index = _local8;
this.endPointsX.splice(_local8, 0, _local4);
_arg1.ex1 = _local4;
_local4.prev = endPointsX[(_local8 - 1)];
_local4.next = endPointsX[(_local8 + 1)];
}
public function update(_arg1:OrbObject, _arg2:Number, _arg3:Number){
this.reorder(this.endPointsX, _arg1.ex0, _arg2);
this.reorder(this.endPointsX, _arg1.ex1, _arg2);
}
public function toString():void{
var _local1:String;
var _local2:String;
var _local3:int;
_local1 = "X endpoints:";
_local2 = "Y endpoints:";
_local3 = 0;
while (_local3 < endPointsX.length) {
_local1 = ((_local1 + " ") + endPointsX[_local3].value);
_local3++;
};
_local3 = 0;
while (_local3 < endPointsY.length) {
_local2 = ((_local2 + " ") + endPointsY[_local3].value);
_local3++;
};
trace(_local1);
trace(_local2);
}
public function getEndPointsX():Array{
return (endPointsX);
}
public function getEndPointsY():Array{
return (endPointsY);
}
public function test():void{
this.toString();
}
public function sort():void{
this.endPointsX.sortOn("value", Array.NUMERIC);
}
}
}//package utils
Section 13
//Bomb0 (Bomb0)
package {
public class Bomb0 extends Projectile {
public function Bomb0(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
this.speed = 13;
super(_arg1, _arg2, _arg3, _arg4, this.speed);
this.maxSpeed = 128;
this.maxPushSpeed = 128;
this.maxGravSpeed = 128;
this.type = 1;
this.damage = Projectile.bombDamage;
}
override public function gotHit():void{
OrbBlaster.objMgr.addProjEfx(10, this);
this.die();
}
}
}//package
Section 14
//Bomb1 (Bomb1)
package {
public class Bomb1 extends Projectile {
public function Bomb1(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
this.speed = 13;
super(_arg1, _arg2, _arg3, _arg4, this.speed);
this.maxSpeed = 128;
this.maxPushSpeed = 128;
this.maxGravSpeed = 128;
this.type = 1;
this.damage = Projectile.bombDamage;
this.radiusX = 8;
this.radiusY = 8;
}
override public function gotHit():void{
OrbBlaster.objMgr.addProjEfx(10, this);
this.die();
}
}
}//package
Section 15
//Bomb2 (Bomb2)
package {
public class Bomb2 extends Projectile {
public function Bomb2(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
this.speed = 13;
super(_arg1, _arg2, _arg3, _arg4, this.speed);
this.maxSpeed = 128;
this.maxPushSpeed = 128;
this.maxGravSpeed = 128;
this.type = 1;
this.damage = Projectile.bombDamage;
this.radiusX = 8;
this.radiusY = 8;
}
override public function gotHit():void{
OrbBlaster.objMgr.addProjEfx(10, this);
this.die();
}
}
}//package
Section 16
//BombDisplay0 (BombDisplay0)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class BombDisplay0 extends MovieClip {
public function BombDisplay0(){
addFrameScript(0, frame1, 13, frame14);
}
function frame14(){
this.gotoAndStop(10);
}
function frame1(){
this.stop();
}
}
}//package
Section 17
//BombDisplay1 (BombDisplay1)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class BombDisplay1 extends MovieClip {
public function BombDisplay1(){
addFrameScript(0, frame1, 13, frame14);
}
function frame14(){
this.gotoAndStop(10);
}
function frame1(){
this.stop();
}
}
}//package
Section 18
//BombDisplay2 (BombDisplay2)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class BombDisplay2 extends MovieClip {
public function BombDisplay2(){
addFrameScript(0, frame1, 13, frame14);
}
function frame14(){
this.gotoAndStop(10);
}
function frame1(){
this.stop();
}
}
}//package
Section 19
//Cannon0 (Cannon0)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class Cannon0 extends MovieClip {
public var firePoint:MovieClip;
public function Cannon0(){
addFrameScript(0, frame1);
}
function frame1(){
this.firePoint.visible = false;
stop();
}
}
}//package
Section 20
//Cannon1 (Cannon1)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class Cannon1 extends MovieClip {
public var firePoint:MovieClip;
public function Cannon1(){
addFrameScript(0, frame1);
}
function frame1(){
this.firePoint.visible = false;
stop();
}
}
}//package
Section 21
//Cannon2 (Cannon2)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class Cannon2 extends MovieClip {
public var firePoint:MovieClip;
public function Cannon2(){
addFrameScript(0, frame1);
}
function frame1(){
this.firePoint.visible = false;
stop();
}
}
}//package
Section 22
//ComboText (ComboText)
package {
import flash.events.*;
import flash.display.*;
import flash.text.*;
public class ComboText extends MovieClip {
public var text:String;
public var txtField:TextField;
public function ComboText(){
addFrameScript(0, frame1);
}
public function fadeOut():void{
this.visible = false;
}
function frame1(){
this.txtField.mouseEnabled = false;
}
public function enteringFrame(_arg1:Event):void{
trace("i run second");
trace(("at frame: " + this.currentFrame));
if (this.currentFrame == 3){
this.stop();
trace(crap);
trace(this.txtField2.text);
};
trace("");
}
public function updateText():void{
this.txtField.text = this.text;
trace(this.text);
}
public function setText(_arg1:String):void{
this.text = _arg1;
if (this.txtField == null){
return;
};
this.txtField.text = this.text;
this.visible = true;
}
}
}//package
Section 23
//ContinueScreen (ContinueScreen)
package {
import flash.display.*;
import flash.text.*;
public dynamic class ContinueScreen extends MovieClip {
public var continueNoButton:SimpleButton;
public var continueYesButton:SimpleButton;
public var penaltyScore:TextField;
public var finalScoreLabel:MovieClip;
public var finalScore:TextField;
}
}//package
Section 24
//CreditsScreen (CreditsScreen)
package {
import flash.display.*;
public dynamic class CreditsScreen extends MovieClip {
public var creditsBackButton:SimpleButton;
public var paulButton:SimpleButton;
public var doogogButton:SimpleButton;
}
}//package
Section 25
//Destroyer0 (Destroyer0)
package {
import flash.events.*;
import flash.utils.*;
public class Destroyer0 extends Mob {
public var fireState:uint;// = 0
public var orbitSpeed:Number;
public var fireAmount:uint;
public var fireTimer:Timer;
public var fireDelay:uint;
public var orbitRange:Number;
public var fireCycleDelay:uint;
public var lastOrbitSpeed:Number;
public var orbitRadius:Number;// = -1
public var explArr:Array;
public function Destroyer0(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
orbitRadius = -1;
fireState = 0;
super(_arg1, _arg2, _arg3, _arg4, this.speed);
this.damage = 10;
this.maxPushSpeed = 2.2;
this.pushAbility = 0;
this.points = 1000;
this.type = 1;
this.orbitSpeed = 0.005;
this.orbitRange = 200;
this.hitpoints = 100;
this.explArr = new Array();
this.fireCycleDelay = 2000;
this.fireDelay = 333;
this.fireAmount = 3;
this.fireTimer = new Timer(this.fireCycleDelay, 0);
this.fireTimer.addEventListener(TimerEvent.TIMER, fire);
}
override public function damagedBy(_arg1:OrbObject):void{
trace(this.hitpoints);
if ((_arg1 is Explosion)){
if (this.explArr.indexOf(_arg1.ID) == -1){
trace(("ID: " + _arg1.ID));
this.hitpoints = (this.hitpoints - _arg1.damage);
this.explArr.push(_arg1.ID);
};
} else {
this.hitpoints = (this.hitpoints - _arg1.damage);
};
trace(((_arg1.damage + " ") + this.hitpoints));
if (this.hitpoints <= 0){
this.die();
OrbBlaster.objMgr.addExplosion(this.explType, this.x, this.y, projID);
};
}
public function isInsideOrbit():Boolean{
if (this.orbitRadius != -1){
this.fireTimer.start();
return (true);
};
if ((((Math.abs((this.x - OrbBlaster.hero.x)) <= this.orbitRange)) && ((Math.abs((this.y - OrbBlaster.hero.y)) <= this.orbitRange)))){
this.orbitRadius = Math.sqrt((Math.pow((OrbBlaster.hero.x - this.x), 2) + Math.pow((OrbBlaster.hero.y - this.y), 2)));
return (true);
};
}
public function fire(_arg1:TimerEvent):void{
if (this.fireState == 0){
this.lastOrbitSpeed = this.orbitSpeed;
this.orbitSpeed = 0;
this.fireState++;
this.fireTimer.delay = this.fireDelay;
} else {
if (this.fireState <= this.fireAmount){
OrbBlaster.objMgr.addMobMissile(0, this.x, this.y, OrbBlaster.hero.x, OrbBlaster.hero.y, 3);
this.fireState++;
} else {
if (this.fireState > this.fireAmount){
this.orbitSpeed = this.lastOrbitSpeed;
this.fireTimer.delay = this.fireCycleDelay;
this.fireState = 0;
};
};
};
}
override public function die():void{
this.fireTimer.stop();
this.fireTimer.removeEventListener(TimerEvent, fire);
trace(("has event: " + this.fireTimer.hasEventListener(TimerEvent)));
OrbBlaster.objMgr.killMob(this);
}
override public function updatePosition():Boolean{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
if (!this.isInsideOrbit()){
_local1 = (this.vx + this.ax);
_local2 = (this.vy + this.ay);
this.maxSpeed = this.maxPushSpeed;
if (Math.abs(_local1) <= this.maxSpeed){
this.vx = _local1;
} else {
if (_local1 < 0){
this.vx = -(this.maxSpeed);
} else {
this.vx = this.maxSpeed;
};
};
if (Math.abs(_local2) <= this.maxSpeed){
this.vy = _local2;
} else {
if (_local2 < 0){
this.vy = -(this.maxSpeed);
} else {
this.vy = this.maxSpeed;
};
};
_local3 = (this.x + this.vx);
_local4 = (this.y + this.vy);
this.x = _local3;
this.y = _local4;
if (this.ex0 != null){
this.ex0.value = (this.x - this.radiusX);
this.ex1.value = (this.x + this.radiusX);
};
if (this.isOutBounds(_local3, _local4)){
return (false);
};
if (!this.isPassedWall){
this.isPassedWall = true;
};
return (true);
} else {
_local5 = Math.atan2((this.y - OrbBlaster.hero.y), (this.x - OrbBlaster.hero.x));
_local6 = (_local5 + this.orbitSpeed);
this.x = ((Math.cos(_local6) * this.orbitRadius) + OrbBlaster.hero.x);
this.y = ((Math.sin(_local6) * this.orbitRadius) + OrbBlaster.hero.y);
if (this.ex0 != null){
this.ex0.value = (this.x - this.radiusX);
this.ex1.value = (this.x + this.radiusX);
};
};
}
}
}//package
Section 26
//Destroyer1 (Destroyer1)
package {
public class Destroyer1 extends Destroyer0 {
public function Destroyer1(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
super(_arg1, _arg2, _arg3, _arg4);
this.damage = 10;
this.maxPushSpeed = 2.2;
this.pushAbility = 0;
this.points = 1000;
this.type = 1;
this.orbitSpeed = 0.005;
this.orbitRange = 200;
this.hitpoints = 100;
this.explArr = new Array();
this.fireCycleDelay = 2000;
this.fireDelay = 333;
this.fireAmount = 3;
this.explType = Explosion.MINE_5;
}
}
}//package
Section 27
//Destroyer2 (Destroyer2)
package {
public class Destroyer2 extends Destroyer0 {
public function Destroyer2(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
super(_arg1, _arg2, _arg3, _arg4);
this.damage = 10;
this.maxPushSpeed = 2.2;
this.pushAbility = 0;
this.points = 1000;
this.type = 1;
this.orbitSpeed = 0.005;
this.orbitRange = 200;
this.hitpoints = 100;
this.explArr = new Array();
this.fireCycleDelay = 2000;
this.fireDelay = 333;
this.fireAmount = 3;
this.explType = Explosion.MINE_5;
}
}
}//package
Section 28
//Destroyer3 (Destroyer3)
package {
public class Destroyer3 extends Destroyer0 {
public function Destroyer3(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
super(_arg1, _arg2, _arg3, _arg4);
this.damage = 10;
this.maxPushSpeed = 2.2;
this.pushAbility = 0;
this.points = 1000;
this.type = 1;
this.orbitSpeed = 0.005;
this.orbitRange = 200;
this.hitpoints = 100;
this.explArr = new Array();
this.fireCycleDelay = 2000;
this.fireDelay = 333;
this.fireAmount = 3;
this.explType = Explosion.MINE_5;
}
}
}//package
Section 29
//Destroyer4 (Destroyer4)
package {
public class Destroyer4 extends Destroyer0 {
public function Destroyer4(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
super(_arg1, _arg2, _arg3, _arg4);
this.damage = 10;
this.maxPushSpeed = 2.2;
this.pushAbility = 0;
this.points = 1000;
this.type = 1;
this.orbitSpeed = 0.005;
this.orbitRange = 200;
this.hitpoints = 100;
this.explArr = new Array();
this.fireCycleDelay = 2000;
this.fireDelay = 333;
this.fireAmount = 3;
this.explType = Explosion.MINE_5;
}
}
}//package
Section 30
//Doodad (Doodad)
package {
import flash.events.*;
import flash.display.*;
public class Doodad extends MovieClip {
public var av:Number;// = 0
public var ay:Number;
public var ax:Number;
public var vx:Number;
public var vy:Number;
public function Doodad():void{
av = 0;
super();
this.addEventListener(MouseEvent.CLICK, this.flourish);
}
public function die():void{
this.removeEventListener(MouseEvent.CLICK, this.flourish);
this.stop();
}
public function update():Boolean{
var _local1:Number;
this.rotation = (this.rotation + this.av);
this.x = (this.x + this.vx);
this.y = (this.y + this.vy);
_local1 = (Math.pow((this.x - 0), 2) + Math.pow((this.y - 0), 2));
if (_local1 <= Math.pow(500, 2)){
return (true);
};
return (false);
}
public function flourish(_arg1:MouseEvent):void{
SoundManager.playClick0();
}
}
}//package
Section 31
//DoodadMine0 (DoodadMine0)
package {
import flash.events.*;
import flash.geom.*;
public class DoodadMine0 extends Doodad {
public var timesClicked:uint;// = 0
public function DoodadMine0():void{
timesClicked = 0;
super();
this.rotation = OrbBlaster.random(0, 360);
this.av = OrbBlaster.random(-4, 4);
if (this.av >= 0){
this.av = (this.av + 7);
} else {
this.av = (this.av - 7);
};
this.vx = (this.vx * 0.8);
this.vy = (this.vy * 0.8);
}
override public function flourish(_arg1:MouseEvent):void{
var _local2:Point;
var _local3:Number;
if (this.timesClicked == 0){
mx = stage.mouseX;
my = stage.mouseY;
_local2 = new Point(this.x, this.y);
_local2 = OrbBlaster.hero.cannon.localToGlobal(_local2);
_local3 = OrbBlaster.getAngleTo(mx, my, _local2.x, _local2.y);
this.vx = (Math.cos(_local3) * 3);
this.vy = (Math.sin(_local3) * 3);
SoundManager.playClick0();
this.timesClicked++;
};
}
}
}//package
Section 32
//DoodadMine1 (DoodadMine1)
package {
import flash.events.*;
public class DoodadMine1 extends Doodad {
public var timesClicked:uint;// = 0
public function DoodadMine1():void{
timesClicked = 0;
super();
addFrameScript(0, frame1, 9, frame10);
this.rotation = OrbBlaster.random(0, 360);
this.av = OrbBlaster.random(-4, 4);
this.vx = (this.vx * 0.8);
this.vy = (this.vy * 0.8);
}
public function teleport():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local1 = OrbBlaster.random(0, 150);
_local2 = OrbBlaster.random(-(Math.PI), Math.PI);
_local3 = (Math.cos(_local2) * _local1);
_local4 = (Math.sin(_local2) * _local1);
this.x = _local3;
this.y = _local4;
}
function frame10(){
this.teleport();
}
function frame1(){
stop();
}
override public function flourish(_arg1:MouseEvent):void{
if (this.timesClicked == 0){
this.gotoAndPlay("teleport");
SoundManager.playClick0();
this.timesClicked++;
};
}
}
}//package
Section 33
//DoodadShip0 (DoodadShip0)
package {
import flash.events.*;
public class DoodadShip0 extends Doodad {
public function DoodadShip0():void{
addFrameScript(8, frame9, 33, frame34);
}
function frame9(){
this.gotoAndPlay("1");
}
function frame34(){
this.gotoAndPlay("1");
}
override public function flourish(_arg1:MouseEvent):void{
if (this.currentFrame < 10){
SoundManager.playClick0();
this.gotoAndPlay("flourish");
};
}
}
}//package
Section 34
//DoodadShip1 (DoodadShip1)
package {
import flash.events.*;
public class DoodadShip1 extends Doodad {
public var timesBoosted:uint;// = 0
public function DoodadShip1():void{
timesBoosted = 0;
super();
addFrameScript(8, frame9);
}
function frame9(){
this.gotoAndPlay("1");
}
override public function flourish(_arg1:MouseEvent):void{
if (this.timesBoosted < 2){
this.vx = (this.vx * 1.5);
this.vy = (this.vy * 1.5);
SoundManager.playClick0();
this.timesBoosted++;
};
}
}
}//package
Section 35
//DoodadShip2 (DoodadShip2)
package {
import flash.events.*;
public class DoodadShip2 extends Doodad {
public var timesClicked:uint;// = 0
public function DoodadShip2():void{
timesClicked = 0;
super();
addFrameScript(12, frame13, 22, frame23, 23, frame24, 33, frame34);
}
function frame13(){
this.gotoAndPlay("1");
}
function frame23(){
this.gotoAndPlay(1);
}
function frame24(){
this.vx = 0;
this.vy = 0;
}
function frame34(){
this.stop();
this.x = 400;
this.y = 400;
}
override public function flourish(_arg1:MouseEvent):void{
if (this.timesClicked < 4){
if (this.currentFrame < 10){
this.gotoAndPlay("flourish");
this.timesClicked++;
};
if (this.timesClicked == 4){
SoundManager.playMobExplosion();
this.gotoAndPlay("explode");
} else {
SoundManager.playClick0();
};
};
}
}
}//package
Section 36
//Expl_Detonator (Expl_Detonator)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class Expl_Detonator extends MovieClip {
public function Expl_Detonator(){
addFrameScript(10, frame11);
}
function frame11(){
OrbBlaster.objMgr.killEfx(this);
}
}
}//package
Section 37
//Explosion (Explosion)
package {
public class Explosion extends OrbObject {
public var baseRadius:Number;
public var ID:uint;
public var comboID:int;
public var type:uint;
public var damage:uint;
static var MINE_0:uint = 0;
static var MINE_1:uint = 1;
static var MINE_2:uint = 2;
static var MINE_3:uint = 3;
static var MINE_5:uint = 5;
static var MINE_4:uint = 4;
static var MINE_6:uint = 6;
static var SHIELD_BLAST:uint = 30;
public function Explosion(_arg1:Number, _arg2:Number){
this.pruneRadius = 50;
this.x = _arg1;
this.y = _arg2;
this.ax = 0;
this.ay = 0;
this.maxSpeed = 0;
this.baseRadius = 32;
this.radiusX = 0;
}
override public function die():void{
this.stop();
OrbBlaster.objMgr.killExpl(this);
}
public function updateRadius():void{
this.pruneRadius = ((this.width >> 1) + 20);
switch (this.currentFrame){
case 2:
this.radiusX = (this.baseRadius * this.scaleX);
break;
case 7:
this.radiusX = (43.5 * this.scaleX);
break;
case 10:
this.radiusX = (47.5 * this.scaleX);
case 12:
this.radiusX = 0;
break;
};
}
}
}//package
Section 38
//Explosion_Proj1 (Explosion_Proj1)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class Explosion_Proj1 extends MovieClip {
public function Explosion_Proj1(){
addFrameScript(5, frame6);
}
function frame6(){
OrbBlaster.objMgr.killEfx(this);
}
}
}//package
Section 39
//Explosion_Proj2 (Explosion_Proj2)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class Explosion_Proj2 extends MovieClip {
public function Explosion_Proj2(){
addFrameScript(5, frame6);
}
function frame6(){
OrbBlaster.objMgr.killEfx(this);
}
}
}//package
Section 40
//Explosion0 (Explosion0)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class Explosion0 extends MovieClip {
public function Explosion0(){
addFrameScript(14, frame15);
}
function frame15(){
OrbBlaster.objMgr.killEfx(this);
}
}
}//package
Section 41
//Explosion1 (Explosion1)
package {
public class Explosion1 extends Explosion {
public function Explosion1(_arg1:Number, _arg2:Number):void{
addFrameScript(10, frame11);
super(_arg1, _arg2);
this.type = Explosion.MINE_1;
this.pruneRadius = 50;
this.damage = 10;
}
function frame11(){
this.die();
}
}
}//package
Section 42
//Explosion2 (Explosion2)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class Explosion2 extends MovieClip {
public function Explosion2(){
addFrameScript(5, frame6);
}
function frame6(){
OrbBlaster.objMgr.killEfx(this);
}
}
}//package
Section 43
//Explosion3 (Explosion3)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class Explosion3 extends MovieClip {
public function Explosion3(){
addFrameScript(11, frame12);
}
function frame12(){
OrbBlaster.objMgr.killEfx(this);
}
}
}//package
Section 44
//Explosion4 (Explosion4)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class Explosion4 extends MovieClip {
public function Explosion4(){
addFrameScript(12, frame13);
}
function frame13(){
this.die();
}
}
}//package
Section 45
//Explosion5 (Explosion5)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class Explosion5 extends MovieClip {
public function Explosion5(){
addFrameScript(8, frame9);
}
function frame9(){
OrbBlaster.objMgr.killEfx(this);
}
}
}//package
Section 46
//Eyeball0 (Eyeball0)
package {
import flash.display.*;
public dynamic class Eyeball0 extends MovieClip {
}
}//package
Section 47
//FpsCounter (FpsCounter)
package {
import flash.display.*;
import flash.text.*;
public dynamic class FpsCounter extends MovieClip {
public var fpsText:TextField;
}
}//package
Section 48
//Hero (Hero)
package {
import flash.display.*;
import flash.utils.*;
public class Hero extends OrbObject {
public var isFireLooping:Boolean;
public var rapidBombTimer:uint;// = 0
public var bombReady:Boolean;
public var fireBombTimer:Timer;
public var bombCooldown:Number;
public var skinType:uint;// = 0
public var bombFrameArr:Array;
public var normalBombCooldown:uint;
public var cannon:MovieClip;
public var gunTimeCount:uint;
public var life:int;
public var fireReady:Boolean;
public var rapidFireTimer:uint;// = 0
public var isInvincible;// = false
public var fireLoopTimer:Timer;
public var cooldown:Number;
public var normalCooldown:uint;
public var curBombFrame:uint;// = 7
public var bombTimeCount:uint;
public var bombDisplay:MovieClip;
public function Hero(){
rapidFireTimer = 0;
rapidBombTimer = 0;
curBombFrame = 7;
isInvincible = false;
skinType = 0;
super();
this.pruneRadius = 60;
this.speed = 5;
this.normalCooldown = 4;
this.cooldown = this.normalCooldown;
this.normalBombCooldown = 60;
this.bombCooldown = this.normalBombCooldown;
this.bombReady = true;
this.life = 1;
this.radiusX = (this.radiusX - 4);
this.radiusY = (this.radiusY - 4);
this.gunTimeCount = 0;
this.bombTimeCount = 0;
this.isFireLooping = false;
this.bombDisplay = new BombDisplay0();
this.addChild(bombDisplay);
this.cannon = new Cannon0();
this.addChild(cannon);
this.fireReady = true;
this.bombFrameArr = new Array();
this.updateBombFrameArr();
}
public function fireBomb():void{
if (((((this.bombReady) && (OrbBlaster.gunEnabled))) && ((OrbBlaster.gameMode == 0)))){
SoundManager.playBombFire();
OrbBlaster.objMgr.playerFireBomb();
this.bombReady = false;
this.bombTimeCount = 0;
this.resetPowDisplay();
} else {
OrbBlaster.hero.startFireLoop();
};
}
public function fireLoop():void{
this.fireReady = true;
if (OrbBlaster.mouse.isDown()){
this.fire();
} else {
this.isFireLooping = false;
};
}
public function rotateCannon(_arg1:int):void{
this.cannon.rotation = _arg1;
}
public function fire():void{
if (((this.fireReady) && (OrbBlaster.gunEnabled))){
this.cannon.gotoAndPlay("fire");
SoundManager.playMachineGun();
OrbBlaster.objMgr.playerFire();
this.fireReady = false;
this.gunTimeCount = 0;
};
}
public function setNormalCooldown(_arg1:uint):void{
this.normalCooldown = _arg1;
this.cooldown = _arg1;
}
public function getHit():void{
this.setLife((this.life - 1));
if (this.life == 0){
this.die();
};
updateDisplay();
}
public function startFireLoop():void{
this.fire();
this.isFireLooping = true;
}
public function setLife(_arg1:int):void{
if ((((_arg1 <= 6)) && ((_arg1 >= 0)))){
this.life = _arg1;
this.updateDisplay();
};
}
override public function die():void{
this.visible = false;
OrbBlaster.gunEnabled = false;
OrbBlaster.isPauseable = false;
OrbBlaster.objMgr.addEfx(7, this);
OrbBlaster.spawner.wipeTimer.reset();
}
public function resetFireLoop():void{
this.gunTimeCount = 0;
}
public function glowPowDisplay():void{
this.curBombFrame = 10;
this.bombDisplay.gotoAndPlay(10);
}
public function update():void{
if (this.isFireLooping){
if (this.gunTimeCount >= this.cooldown){
this.fireLoop();
};
this.gunTimeCount++;
};
if (!this.bombReady){
this.bombTimeCount++;
if (this.bombTimeCount >= this.bombCooldown){
this.setBombReady();
};
this.updatePowDisplay();
};
if (this.rapidFireTimer > 0){
this.rapidFireTimer--;
if (this.rapidFireTimer == 0){
this.stopRapidFire();
};
};
if (this.rapidBombTimer > 0){
this.rapidBombTimer--;
if (this.rapidBombTimer == 0){
this.stopRapidBomb();
};
};
}
public function doneDying():void{
OrbBlaster.gameEnd();
}
public function updatePowDisplay():void{
if (this.bombTimeCount >= this.bombFrameArr[(this.curBombFrame + 1)]){
this.curBombFrame++;
this.bombDisplay.gotoAndStop(this.curBombFrame);
};
}
public function startRapidFire():void{
this.rapidFireTimer = 250;
this.cooldown = 2;
}
public function newSkin():void{
var _local1:uint;
this.removeChild(this.cannon);
this.removeChild(this.bombDisplay);
_local1 = Math.floor(OrbBlaster.random(0, 3));
switch (_local1){
case 0:
this.cannon = new Cannon0();
this.bombDisplay = new BombDisplay0();
break;
case 1:
this.cannon = new Cannon1();
this.bombDisplay = new BombDisplay1();
break;
case 2:
this.cannon = new Cannon2();
this.bombDisplay = new BombDisplay2();
break;
default:
this.cannon = new Cannon0();
this.bombDisplay = new BombDisplay0();
};
this.gotoAndStop((_local1 + 1));
this.skinType = _local1;
this.addChild(this.bombDisplay);
this.bombDisplay.gotoAndStop(10);
this.addChild(this.cannon);
this.cannon.firePoint.visible = false;
if (OrbBlaster.gameMode == 1){
this.bombDisplay.visible = false;
};
}
public function fireBombAlone():void{
if (((((this.bombReady) && (OrbBlaster.gunEnabled))) && ((OrbBlaster.gameMode == 0)))){
OrbBlaster.objMgr.playerFireBomb();
this.bombReady = false;
this.bombTimeCount = 0;
SoundManager.playBombFire();
this.resetPowDisplay();
};
}
public function stopRapidFire():void{
this.cooldown = this.normalCooldown;
}
public function startRapidBomb():void{
this.rapidBombTimer = 250;
this.bombCooldown = 10;
this.updateBombFrameArr();
}
public function updateDisplay():void{
OrbBlaster.statsBar.lifePieces.gotoAndStop((this.life + 1));
}
public function stopRapidBomb():void{
this.bombCooldown = this.normalBombCooldown;
this.updateBombFrameArr();
}
public function setBombReady():Boolean{
this.bombReady = true;
this.bombTimeCount = 0;
this.glowPowDisplay();
}
public function updateBombFrameArr():void{
var _local1:uint;
var _local2:Number;
var _local3:uint;
_local1 = 10;
this.bombFrameArr = new Array((_local1 + 1));
_local2 = (this.bombCooldown / _local1);
_local3 = 0;
while (_local3 < (_local1 + 1)) {
this.bombFrameArr[_local3] = (_local3 * _local2);
_local3++;
};
}
public function resetPowDisplay():void{
this.curBombFrame = 1;
this.bombDisplay.gotoAndStop(1);
}
}
}//package
Section 49
//HeroDeath (HeroDeath)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class HeroDeath extends MovieClip {
public function HeroDeath(){
addFrameScript(33, frame34);
}
function frame34(){
OrbBlaster.objMgr.killEfx(this);
OrbBlaster.hero.doneDying();
}
}
}//package
Section 50
//HiScores (HiScores)
package {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public dynamic class HiScores extends MovieClip {
private var KEY:String;// = "rocket"
private var score:Number;
private var lowIsBest:Boolean;
private var gameId:Number;
private var infoScreen:MovieClip;// = null
public var movEntryScreen:MovieClip;
private var levelId:Number;
private var entryScreen:MovieClip;// = null
public var movInfoScreen:MovieClip;
private var gameCode:String;
public static var HS_SERVLET_URL:String = (SERVER_URL + "/servlet/hiServlet");
public static var SERVER_URL:String = "http://www.gimme5games.com";
public static var INDEX_URL:String = (SERVER_URL + "/index.jsp?id=");
public function HiScores(){
KEY = "rocket";
infoScreen = null;
entryScreen = null;
super();
this.visible = false;
}
public function secCodeLoad():void{
var _local1:Loader;
var _local2:String;
_local1 = new Loader();
_local1.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, secCodeLoadError);
_local2 = ((HS_SERVLET_URL + "?type=genCode&cachebuster=") + new Date().getTime());
_local1.load(new URLRequest(_local2));
entryScreen["movCode"].addChild(_local1);
}
public function submitDetails():void{
var _local1:Boolean;
var _local2:String;
var _local3:String;
var _local4:Number;
var _local5:Number;
var _local6:URLVariables;
var _local7:URLRequest;
var _local8:URLLoader;
entryScreen.visible = false;
infoScreen.visible = true;
_local1 = true;
if (entryScreen["txtName"].text.length == 0){
showInfoMessage("Please enter your name.", true);
} else {
if (entryScreen["txtCode"].text.length != 5){
showInfoMessage("Please enter all 5 letters of the security code.", true);
} else {
showInfoMessage("Submitting hi-score details to the server, please wait.", true);
infoScreen["btnBack"].visible = false;
_local1 = false;
};
};
if (!_local1){
_local2 = ((((((((("save|" + entryScreen["txtName"].text) + "|") + entryScreen["txtCode"].text) + "|") + score) + "|") + gameId) + "|") + levelId);
_local3 = "";
_local4 = 0;
_local5 = 0;
while (_local4 < _local2.length) {
if (_local5 >= KEY.length){
_local5 = 0;
};
_local3 = (_local3 + String.fromCharCode(((_local2.charCodeAt(_local4) ^ KEY.charCodeAt(_local5)) + 1)));
_local4++;
_local5++;
};
_local6 = new URLVariables();
_local6.ffdata = _local3;
_local6.lowIsBest = lowIsBest;
_local7 = new URLRequest(HS_SERVLET_URL);
_local8 = new URLLoader();
_local8.dataFormat = URLLoaderDataFormat.VARIABLES;
_local7.data = _local6;
_local7.method = URLRequestMethod.POST;
_local8.addEventListener(Event.COMPLETE, submitHiScoreHandler);
_local8.addEventListener(IOErrorEvent.IO_ERROR, submitHiScoreError);
_local8.load(_local7);
};
}
public function back():void{
entryScreen.visible = true;
infoScreen.visible = false;
}
public function submitHiScoreHandler(_arg1:Event):void{
var _local2:URLLoader;
var _local3:Number;
_local2 = URLLoader(_arg1.target);
_local3 = _local2.data.res;
if (_local3 == -1){
showInfoMessage("Could not store hi-score details. Click on back, generate a new security code and re-submit.", true);
} else {
if (_local3 == 0){
showInfoMessage("Sorry, a better score already exists with that name.", false);
} else {
if (_local3 == 1){
showInfoMessage("Congratulations! You made it into the\nhi-score table.", false);
};
};
};
}
public function showInfoMessage(_arg1:String, _arg2:Boolean):void{
infoScreen["txtInfo"].text = _arg1;
infoScreen["btnBack"].visible = _arg2;
infoScreen["btnView"].visible = !(_arg2);
}
public function secCodeLoadError(_arg1:IOErrorEvent):void{
entryScreen.visible = false;
infoScreen.visible = true;
showInfoMessage("Could not generate a security code. Click on back and try to refresh the code window.", true);
}
public function setDetails(_arg1:Number, _arg2:Number, _arg3:String, _arg4:Boolean, _arg5:Number, _arg6:String, _arg7:String):void{
this.gameId = _arg1;
this.levelId = _arg2;
this.gameCode = _arg3;
this.lowIsBest = _arg4;
this.score = _arg5;
this.entryScreen = this["movEntryScreen"];
this.infoScreen = this["movInfoScreen"];
entryScreen["txtMsg1"].text = _arg6;
entryScreen["txtMsg2"].text = _arg7;
entryScreen["txtName"].text = "";
entryScreen["txtCode"].text = "";
entryScreen.visible = true;
infoScreen.visible = false;
secCodeLoad();
entryScreen["btnRefreshCode"].addEventListener(MouseEvent.MOUSE_DOWN, onButtonPress);
entryScreen["btnSubmit"].addEventListener(MouseEvent.MOUSE_DOWN, onButtonPress);
infoScreen["btnView"].addEventListener(MouseEvent.MOUSE_DOWN, onButtonPress);
infoScreen["btnBack"].addEventListener(MouseEvent.MOUSE_DOWN, onButtonPress);
this.visible = true;
}
public function submitHiScoreError(_arg1:IOErrorEvent):void{
showInfoMessage("A serious problem was encountered with the server, please try again in a few minutes.", true);
}
public function onButtonPress(_arg1:MouseEvent):void{
switch (_arg1.target.name){
case "btnRefreshCode":
secCodeLoad();
break;
case "btnSubmit":
submitDetails();
break;
case "btnView":
viewScore();
break;
case "btnBack":
back();
break;
};
}
public function viewScore():void{
var _local1:URLRequest;
_local1 = new URLRequest(((((((((INDEX_URL + gameCode) + "_hs") + "&name=") + entryScreen["txtName"].text) + "&levelId=") + levelId) + "&cachebuster=") + new Date().getTime()));
navigateToURL(_local1, "_blank");
}
}
}//package
Section 51
//Keyboard (Keyboard)
package {
import flash.events.*;
import flash.display.*;
public class Keyboard {
private static var initialized:Boolean = false;
private static var keysDown:Object = new Object();
public function initialize(_arg1:Stage){
if (!initialized){
_arg1.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
_arg1.addEventListener(KeyboardEvent.KEY_UP, keyReleased);
_arg1.addEventListener(Event.DEACTIVATE, clearKeys);
initialized = true;
};
}
public function updatePositions():void{
var _local1:Boolean;
var _local2:Boolean;
var _local3:Boolean;
_local1 = ((Keyboard.isDown(37)) || (Keyboard.isDown(65)));
_local2 = ((Keyboard.isDown(39)) || (Keyboard.isDown(68)));
_local3 = Keyboard.isDown(32);
if (_local1){
} else {
if (_local2){
OrbBlaster.objMgr.updatePositions();
} else {
if (_local3){
OrbBlaster.hero.fireBombAlone();
} else {
OrbBlaster.hero.idle();
};
};
};
}
private static function clearKeys(_arg1:Event):void{
keysDown = new Object();
}
private static function keyPressed(_arg1:KeyboardEvent):void{
keysDown[_arg1.keyCode] = true;
}
private static function keyReleased(_arg1:KeyboardEvent):void{
if ((_arg1.keyCode in keysDown)){
delete keysDown[_arg1.keyCode];
};
if ((((_arg1.keyCode == 80)) || ((_arg1.keyCode == 27)))){
OrbBlaster.pauseGame();
};
}
public static function isDown(_arg1:uint):Boolean{
if (!initialized){
throw (new Error("Key class has yet been initialized."));
};
return (Boolean((_arg1 in keysDown)));
}
}
}//package
Section 52
//LaunchEfx0 (LaunchEfx0)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class LaunchEfx0 extends MovieClip {
public function LaunchEfx0(){
addFrameScript(34, frame35);
}
function frame35(){
OrbBlaster.objMgr.killEfx(this);
}
}
}//package
Section 53
//LaunchEfx1 (LaunchEfx1)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class LaunchEfx1 extends MovieClip {
public function LaunchEfx1(){
addFrameScript(10, frame11);
}
function frame11(){
OrbBlaster.objMgr.killEfx(this);
}
}
}//package
Section 54
//LaunchEfx2 (LaunchEfx2)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class LaunchEfx2 extends MovieClip {
public function LaunchEfx2(){
addFrameScript(15, frame16);
}
function frame16(){
OrbBlaster.objMgr.killEfx(this);
}
}
}//package
Section 55
//LevelNumber (LevelNumber)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class LevelNumber extends MovieClip {
public var levelNumber:TextField;
public function LevelNumber(){
addFrameScript(42, frame43);
}
function frame43(){
OrbBlaster.objMgr.killEfx(this);
}
}
}//package
Section 56
//LevelStatsScreen (LevelStatsScreen)
package {
import flash.display.*;
import flash.text.*;
public dynamic class LevelStatsScreen extends MovieClip {
public var nextButton:SimpleButton;
public var lives:TextField;
public var totalBonus:TextField;
public var livesBonus:TextField;
public var timeBonus:TextField;
public var maxCombo:TextField;
public var maxComboBonus:TextField;
public var time:TextField;
}
}//package
Section 57
//Life_Explosion (Life_Explosion)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class Life_Explosion extends MovieClip {
public function Life_Explosion(){
addFrameScript(8, frame9);
}
function frame9(){
OrbBlaster.objMgr.killEfx(this);
}
}
}//package
Section 58
//MainMenu (MainMenu)
package {
import flash.display.*;
import flash.text.*;
public dynamic class MainMenu extends MovieClip {
public var jumpButton:SimpleButton;
public var survivalButton:SimpleButton;
public var jumpNumber:TextField;
public var background:MainMenuBackground;
public var levelDownButton:SimpleButton;
public var levelUpButton:SimpleButton;
public var creditsButton:SimpleButton;
public var debugButton:SimpleButton;
public var rootName:TextField;
public var levelJumpNumber:TextField;
public var moreGamesButton:SimpleButton;
public var normalButton:SimpleButton;
}
}//package
Section 59
//MainMenuBackground (MainMenuBackground)
package {
import flash.events.*;
import flash.display.*;
import fl.motion.*;
public class MainMenuBackground extends Sprite {
public var deadDoodads;
public var levelTwo:Sprite;
public var nextSpawn:uint;// = 50
public var levelOne:Sprite;
public var spawnTimer:uint;// = 0
public var levelThree:Sprite;
public function MainMenuBackground():void{
spawnTimer = 0;
nextSpawn = 50;
deadDoodads = new Array();
levelOne = new Sprite();
levelTwo = new Sprite();
levelThree = new Sprite();
super();
this.start();
this.addChild(levelThree);
this.addChild(levelTwo);
this.addChild(levelOne);
}
public function clearAll():void{
this.removeEventListener(Event.ENTER_FRAME, update);
}
public function start():void{
this.spawnTimer = 0;
this.addEventListener(Event.ENTER_FRAME, update);
this.newDoodad();
}
public function newDoodad():void{
var _local1:uint;
var _local2:Doodad;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Color;
_local1 = Math.floor(OrbBlaster.random(0, 7));
if (_local1 == 0){
_local2 = new DoodadShip0();
} else {
if (_local1 == 1){
_local2 = new DoodadShip1();
} else {
if (_local1 == 2){
_local2 = new DoodadShip2();
} else {
if ((((_local1 >= 3)) && ((_local1 <= 4)))){
_local2 = new DoodadMine0();
} else {
if ((((_local1 >= 5)) && ((_local1 <= 6)))){
_local2 = new DoodadMine1();
} else {
_local2 = new DoodadMine0();
};
};
};
};
};
_local3 = Math.floor(OrbBlaster.random(1, 4));
switch (_local3){
case 1:
_local4 = 0;
_local5 = OrbBlaster.random(2.4, 4);
this.levelOne.addChild(_local2);
_local2.scaleX = 1.1;
_local2.scaleY = 1.1;
break;
case 2:
_local4 = 0.35;
_local5 = OrbBlaster.random(2, 3);
this.levelTwo.addChild(_local2);
_local2.scaleX = 0.85;
_local2.scaleY = 0.85;
break;
case 3:
_local4 = 0.75;
_local5 = OrbBlaster.random(0.7, 1.7);
this.levelThree.addChild(_local2);
_local2.scaleX = 0.65;
_local2.scaleY = 0.65;
break;
default:
_local4 = 0;
_local5 = OrbBlaster.random(2, 4);
this.levelOne.addChild(_local2);
_local2.scaleX = 1.1;
_local2.scaleY = 1.1;
};
_local6 = OrbBlaster.random(330, 430);
_local7 = OrbBlaster.random(-(Math.PI), Math.PI);
_local8 = ((_local7 + Math.PI) + OrbBlaster.random(-1, 1));
_local9 = (Math.cos(_local7) * _local6);
_local10 = (Math.sin(_local7) * _local6);
_local2.vx = (Math.cos(_local8) * _local5);
_local2.vy = (Math.sin(_local8) * _local5);
_local2.x = _local9;
_local2.y = _local10;
_local2.rotation = (((_local8 * 180) / Math.PI) + 90);
_local11 = new Color();
_local11.setTint(0xFFFFFF, _local4);
_local2.transform.colorTransform = _local11;
}
public function update(_arg1:Event):void{
var _local2:*;
var _local3:uint;
var _local4:Doodad;
var _local5:uint;
var _local6:Sprite;
var _local7:Doodad;
var _local8:Number;
this.spawnTimer++;
if (this.spawnTimer == this.nextSpawn){
_local8 = OrbBlaster.random(0, 1);
if (_local8 > 0.5){
this.newDoodad();
};
this.spawnTimer = 0;
};
_local3 = 0;
_local2 = 1;
while (_local2 < 4) {
_local6 = this.getChildAt(_local2);
_local5 = _local6.numChildren;
_local3 = 0;
while (_local3 < _local5) {
_local4 = Doodad(_local6.getChildAt(_local3));
if (!_local4.update()){
this.deadDoodads.push(_local4);
};
_local3++;
};
_local2++;
};
while (deadDoodads.length != 0) {
_local7 = this.deadDoodads.pop();
_local7.parent.removeChild(_local7);
_local7.die();
};
}
}
}//package
Section 60
//Mob (Mob)
package {
import flash.display.*;
public class Mob extends OrbObject {
public var repelID:int;// = -1
public var eyeballL:MovieClip;
public var eyeballR:MovieClip;
public var pushAbility:Number;
public var speed2:Number;
public var points:uint;
public var type:uint;
public var damage:int;
public var gravFactor:Number;
public var explType:uint;
public function Mob(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{
var _local6:int;
var _local7:int;
var _local8:Number;
var _local9:Number;
var _local10:Number;
repelID = -1;
explType = Explosion.MINE_1;
super();
this.x = _arg1;
this.y = _arg2;
this.speed = _arg5;
this.gravFactor = 1;
this.maxGravSpeed = (this.gravFactor * OrbBlaster.mobGravSpeed);
this.maxPushSpeed = 2;
this.spinAbility = 4;
this.points = 50;
_local6 = (_arg3 - _arg1);
_local7 = (_arg4 - _arg2);
_local8 = Math.atan2(_local7, _local6);
this.heading = _local8;
_local9 = Math.cos(this.heading);
_local10 = Math.sin(this.heading);
this.ax = (OrbBlaster.GRAVITY * _local9);
this.ay = (OrbBlaster.GRAVITY * _local10);
this.vx = (this.speed * _local9);
this.vy = (this.speed * _local10);
}
public function damagedBy(_arg1:OrbObject):void{
this.hitpoints = (this.hitpoints - _arg1.damage);
if (this.hitpoints <= 0){
this.die();
OrbBlaster.objMgr.addExplosion(this.explType, this.x, this.y, projID);
};
}
public function gotHitBy(_arg1:OrbObject):void{
}
override public function die():void{
OrbBlaster.objMgr.killMob(this);
}
public function updateFace():void{
}
}
}//package
Section 61
//Mob0 (Mob0)
package {
public class Mob0 extends Mob {
public function Mob0(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
addFrameScript(0, frame1);
super(_arg1, _arg2, _arg3, _arg4, this.speed);
this.damage = 10;
this.pushAbility = 0.15;
this.type = 0;
this.hitpoints = 1;
this.explType = Explosion.MINE_3;
}
function frame1(){
this.stop();
}
}
}//package
Section 62
//Mob1 (Mob1)
package {
public class Mob1 extends Mob {
public var timesHit:uint;
public var endFrame;// = 10
public function Mob1(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
endFrame = 10;
addFrameScript(0, frame1);
super(_arg1, _arg2, _arg3, _arg4, this.speed);
this.damage = 10;
this.pushAbility = 0.02;
this.type = 0;
this.hitpoints = 1;
this.explType = Explosion.MINE_6;
this.timesHit = 0;
}
override public function gotHitBy(_arg1:OrbObject):void{
if (this.currentFrame != this.endFrame){
this.timesHit++;
if (this.timesHit == 1){
this.gotoAndStop((this.currentFrame + 1));
this.scaleX = (this.scaleX - 0.07);
this.scaleY = (this.scaleY - 0.07);
this.radiusX = (this.radiusX - (0.07 * this.radiusX));
this.radiusY = (this.radiusY - (0.07 * this.radiusX));
this.pushAbility = (this.pushAbility * 1.3);
this.timesHit = 0;
if ((this.currentFrame % 2) == 0){
this.explType--;
};
};
};
}
function frame1(){
this.stop();
}
}
}//package
Section 63
//Mob10 (Mob10)
package {
public class Mob10 extends Ship {
public function Mob10(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
addFrameScript(8, frame9, 19, frame20);
super(_arg1, _arg2, _arg3, _arg4);
this.fireTimerBase = 140;
this.maxPushSpeed = 3;
this.tetherForce = 0.25;
this.hitpoints = 270;
this.radiusX = (this.radiusX * 0.5);
this.radiusY = (this.radiusX * 0.5);
}
function frame20(){
gotoAndPlay("idle");
this.isSpinning = false;
}
function frame9(){
this.gotoAndPlay("idle");
}
}
}//package
Section 64
//Mob10_2 (Mob10_2)
package {
public class Mob10_2 extends Ship {
public function Mob10_2(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
addFrameScript(8, frame9, 19, frame20);
super(_arg1, _arg2, _arg3, _arg4);
this.fireTimerBase = 65;
this.maxPushSpeed = 3;
this.tetherForce = 0.25;
this.hitpoints = 550;
this.radiusX = (this.radiusX * 0.45);
this.radiusY = (this.radiusX * 0.45);
this.projSpeed = 3;
}
function frame20(){
gotoAndPlay("idle");
this.isSpinning = false;
}
function frame9(){
this.gotoAndPlay("idle");
}
}
}//package
Section 65
//Mob11 (Mob11)
package {
import flash.display.*;
import flash.geom.*;
public class Mob11 extends Ship {
public var firePoint1:MovieClip;
public function Mob11(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
addFrameScript(12, frame13, 23, frame24);
super(_arg1, _arg2, _arg3, _arg4);
this.explType = Explosion.MINE_6;
this.maxPushSpeed = 1.5;
this.hitpoints = 500;
this.tetherForce = 0.2;
this.minDist = 135;
this.maxDist = 230;
this.knockBack = 15;
this.fireTimerBase = 100;
this.fireTimer = OrbBlaster.random((this.fireTimerBase * 0.85), (this.fireTimerBase * 1.15));
this.projSpeed = 2.1;
this.firePoint.visible = false;
this.firePoint1.visible = false;
this.radiusX = (this.radiusX * 0.6);
this.radiusY = (this.radiusX * 0.6);
this.firePoint1.visible = false;
}
override public function fire():void{
var _local1:Point;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Point;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local1 = new Point(this.firePoint.x, this.firePoint.y);
_local1 = this.localToGlobal(_local1);
_local2 = ((this.rotation * (Math.PI / 180)) + (Math.PI / 2));
_local3 = (this.projSpeed * Math.cos(_local2));
_local4 = (this.projSpeed * Math.sin(_local2));
OrbBlaster.objMgr.addMobMissile(1, _local1.x, _local1.y, _local3, _local4, this.rotation);
_local5 = new Point(this.firePoint1.x, this.firePoint1.y);
_local5 = this.localToGlobal(_local5);
_local6 = ((this.rotation * (Math.PI / 180)) + (Math.PI / 2));
_local7 = (this.projSpeed * Math.cos(_local6));
_local8 = (this.projSpeed * Math.sin(_local6));
OrbBlaster.objMgr.addMobMissile(1, _local5.x, _local5.y, _local7, _local8, this.rotation);
this.fireTimer = OrbBlaster.random((this.fireTimerBase * 0.85), (this.fireTimerBase * 1.15));
}
function frame13(){
this.gotoAndPlay("idle");
}
function frame24(){
gotoAndPlay("idle");
this.isSpinning = false;
}
}
}//package
Section 66
//Mob11_2 (Mob11_2)
package {
import flash.display.*;
import flash.geom.*;
public class Mob11_2 extends Ship {
public var firePoint1:MovieClip;
public function Mob11_2(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
addFrameScript(12, frame13, 23, frame24);
super(_arg1, _arg2, _arg3, _arg4);
this.explType = Explosion.MINE_6;
this.maxPushSpeed = 1.8;
this.hitpoints = 800;
this.tetherForce = 0.2;
this.minDist = 135;
this.maxDist = 230;
this.knockBack = 15;
this.fireTimerBase = 70;
this.fireTimer = OrbBlaster.random((this.fireTimerBase * 0.85), (this.fireTimerBase * 1.15));
this.projSpeed = 2.1;
this.firePoint.visible = false;
this.firePoint1.visible = false;
this.radiusX = (this.radiusX * 0.6);
this.radiusY = (this.radiusX * 0.6);
this.firePoint1.visible = false;
}
override public function fire():void{
var _local1:Point;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Point;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local1 = new Point(this.firePoint.x, this.firePoint.y);
_local1 = this.localToGlobal(_local1);
_local2 = ((this.rotation * (Math.PI / 180)) + (Math.PI / 2));
_local3 = (this.projSpeed * Math.cos(_local2));
_local4 = (this.projSpeed * Math.sin(_local2));
OrbBlaster.objMgr.addMobMissile(1, _local1.x, _local1.y, _local3, _local4, this.rotation);
_local5 = new Point(this.firePoint1.x, this.firePoint1.y);
_local5 = this.localToGlobal(_local5);
_local6 = ((this.rotation * (Math.PI / 180)) + (Math.PI / 2));
_local7 = (this.projSpeed * Math.cos(_local6));
_local8 = (this.projSpeed * Math.sin(_local6));
OrbBlaster.objMgr.addMobMissile(1, _local5.x, _local5.y, _local7, _local8, this.rotation);
this.fireTimer = OrbBlaster.random((this.fireTimerBase * 0.85), (this.fireTimerBase * 1.15));
}
function frame13(){
this.gotoAndPlay("idle");
}
function frame24(){
gotoAndPlay("idle");
this.isSpinning = false;
}
}
}//package
Section 67
//Mob12 (Mob12)
package {
public class Mob12 extends Mob {
public function Mob12(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
addFrameScript(0, frame1);
super(_arg1, _arg2, _arg3, _arg4, this.speed);
this.damage = 10;
this.pushAbility = 0.1;
this.points = 100;
this.type = 0;
this.hitpoints = 1;
this.explType = Explosion.MINE_4;
}
function frame1(){
this.stop();
}
}
}//package
Section 68
//Mob2 (Mob2)
package {
public class Mob2 extends Mob {
public var isTping:Boolean;// = false
public function Mob2(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
isTping = false;
addFrameScript(0, frame1, 9, frame10, 12, frame13);
super(_arg1, _arg2, _arg3, _arg4, this.speed);
this.damage = 10;
this.pushAbility = 0.1;
this.type = 0;
this.hitpoints = 1;
this.explType = Explosion.MINE_4;
}
override public function gotHitBy(_arg1:OrbObject):void{
if (!this.isTping){
this.gotoAndPlay("getHit");
this.isTping = true;
};
}
function frame13(){
this.doneTp();
}
function frame1(){
stop();
}
function frame10(){
this.teleport();
}
public function teleport():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local1 = OrbBlaster.random(100, 225);
_local2 = OrbBlaster.random(-3.14, 3.14);
_local3 = (Math.cos(_local2) * _local1);
_local4 = (Math.sin(_local2) * _local1);
this.x = (OrbBlaster.CENTER_X + _local3);
this.y = (OrbBlaster.CENTER_Y + _local4);
}
public function doneTp():void{
this.isTping = false;
}
}
}//package
Section 69
//Mob3 (Mob3)
package {
import flash.display.*;
public class Mob3 extends Mob0 {
public var charge:MovieClip;
public var chargeMaxRadius:Number;
public var chargeMinRadius:Number;
public var chargeRadiusInc:Number;
public function Mob3(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
super(_arg1, _arg2, _arg3, _arg4);
this.damage = 10;
this.pushAbility = 0.1;
this.type = 0;
this.hitpoints = 1;
this.explType = Explosion.MINE_3;
this.chargeMaxRadius = this.charge.width;
this.chargeMinRadius = (this.chargeMaxRadius / 3);
this.charge.width = this.chargeMinRadius;
this.charge.height = this.chargeMinRadius;
this.chargeRadiusInc = (this.chargeMaxRadius / 15);
this.charge.stop();
}
override public function damagedBy(_arg1:OrbObject):void{
this.hitpoints = (this.hitpoints - _arg1.damage);
if (this.hitpoints <= 0){
this.die();
explType = 0;
if (this.charge.currentFrame < 3){
explType = Explosion.MINE_1;
} else {
if (this.charge.currentFrame < 5){
explType = Explosion.MINE_2;
} else {
if (this.charge.currentFrame < 8){
explType = Explosion.MINE_3;
} else {
if (this.charge.currentFrame < 11){
explType = Explosion.MINE_4;
} else {
explType = Explosion.MINE_6;
};
};
};
};
OrbBlaster.objMgr.addExplosion(this.explType, this.x, this.y, projID);
};
}
override public function gotHitBy(_arg1:OrbObject):void{
this.charge.width = (this.charge.width + this.chargeRadiusInc);
this.charge.height = (this.charge.height + this.chargeRadiusInc);
if (this.charge.width > this.chargeMaxRadius){
this.charge.width = this.chargeMaxRadius;
this.charge.height = this.chargeMaxRadius;
};
if (this.charge.currentFrame != 15){
this.charge.gotoAndStop((this.charge.currentFrame + 1));
};
}
override public function die():void{
this.charge.stop();
OrbBlaster.objMgr.killMob(this);
}
}
}//package
Section 70
//Mob4 (Mob4)
package {
public class Mob4 extends Mob {
public function Mob4(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
addFrameScript(0, frame1);
super(_arg1, _arg2, _arg3, _arg4, this.speed);
this.damage = 10;
this.pushAbility = 0.06;
this.spinAbility = 2;
this.type = 0;
this.hitpoints = 1;
this.explType = Explosion.MINE_5;
}
function frame1(){
stop();
}
}
}//package
Section 71
//Mob5 (Mob5)
package {
public class Mob5 extends Mob {
public function Mob5(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
addFrameScript(0, frame1);
super(_arg1, _arg2, _arg3, _arg4, this.speed);
this.damage = 10;
this.maxPushSpeed = 1;
this.pushAbility = 0.02;
this.spinAbility = 0.6;
this.gravFactor = 0.75;
this.maxGravSpeed = (this.gravFactor * OrbBlaster.mobGravSpeed);
this.type = 0;
this.hitpoints = 1;
this.explType = Explosion.MINE_6;
this.radiusX = 49;
this.radiusY = 49;
}
function frame1(){
stop();
}
}
}//package
Section 72
//Mob6 (Mob6)
package {
public class Mob6 extends Mob {
public var chargeState:uint;// = 0
public var tickingFrame:uint;// = 8
public var exploded:Boolean;// = false
public function Mob6(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
chargeState = 0;
tickingFrame = 8;
exploded = false;
addFrameScript(0, frame1, 9, frame10);
super(_arg1, _arg2, _arg3, _arg4, this.speed);
this.damage = 10;
this.pushAbility = 0.1;
this.spinAbility = 2;
this.type = 0;
this.hitpoints = 1;
this.explType = Explosion.MINE_3;
}
override public function damagedBy(_arg1:OrbObject):void{
this.hitpoints = (this.hitpoints - _arg1.damage);
if (this.hitpoints <= 0){
this.die();
};
if (this.exploded){
} else {
OrbBlaster.objMgr.addExplosion(this.explType, this.x, this.y, projID);
};
}
override public function gotHitBy(_arg1:OrbObject):void{
var _local2:uint;
if (this.currentFrame >= this.tickingFrame){
this.chargeState = 0;
this.gotoAndStop("idle");
} else {
_local2 = (this.currentFrame + 1);
if (_local2 == this.tickingFrame){
this.gotoAndPlay(_local2);
} else {
this.gotoAndStop(_local2);
};
};
}
function frame1(){
stop();
}
function frame10(){
gotoAndPlay(8);
}
override public function updateFace():void{
if (this.currentFrame >= this.tickingFrame){
if (this.chargeState == 40){
this.explType = Explosion.MINE_6;
OrbBlaster.objMgr.addExplosion(this.explType, this.x, this.y, projID);
this.exploded = true;
} else {
this.chargeState++;
};
};
}
}
}//package
Section 73
//Mob7 (Mob7)
package {
public class Mob7 extends Mob {
public function Mob7(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
addFrameScript(0, frame1);
super(_arg1, _arg2, _arg3, _arg4, this.speed);
this.damage = 10;
this.maxPushSpeed = 4;
this.pushAbility = 0.2;
this.type = 0;
this.hitpoints = 1;
this.explType = Explosion.MINE_3;
}
function frame1(){
stop();
}
}
}//package
Section 74
//Mob8 (Mob8)
package {
public class Mob8 extends Mob {
public var nextJolt:uint;
public var joltTimer:uint;// = 0
public function Mob8(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
joltTimer = 0;
addFrameScript(0, frame1, 13, frame14);
super(_arg1, _arg2, _arg3, _arg4, this.speed);
this.damage = 10;
this.pushAbility = 0.2;
this.type = 0;
this.hitpoints = 1;
this.explType = Explosion.MINE_3;
this.nextJolt = OrbBlaster.random(100, 0xFF);
}
function frame14(){
gotoAndStop("idle");
}
function frame1(){
this.stop();
}
override public function updateFace():void{
if (this.joltTimer == nextJolt){
this.gotoAndPlay("spin");
this.vx = OrbBlaster.random(-2, 2);
this.vy = OrbBlaster.random(-2, 2);
this.nextJolt = OrbBlaster.random(35, 100);
this.joltTimer = 0;
};
this.joltTimer++;
}
}
}//package
Section 75
//Mob9 (Mob9)
package {
public class Mob9 extends Ship {
public function Mob9(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
addFrameScript(5, frame6, 19, frame20);
super(_arg1, _arg2, _arg3, _arg4);
this.fireTimerBase = 140;
this.tetherForce = 1.2;
this.maxPushSpeed = 6;
this.radiusX = (this.radiusX * 0.6);
this.radiusY = (this.radiusX * 0.6);
}
function frame6(){
gotoAndPlay("idle");
}
function frame20(){
gotoAndPlay("idle");
this.isSpinning = false;
}
}
}//package
Section 76
//Mob9_2 (Mob9_2)
package {
import flash.display.*;
import flash.geom.*;
public class Mob9_2 extends Ship {
public var firePoint1:MovieClip;
public function Mob9_2(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
addFrameScript(5, frame6, 19, frame20);
super(_arg1, _arg2, _arg3, _arg4);
this.explType = Explosion.MINE_4;
this.tetherForce = 1.5;
this.maxPushSpeed = 6;
this.hitpoints = 450;
this.maxDist = 190;
this.knockBack = 5;
this.fireTimerBase = 70;
this.fireTimer = OrbBlaster.random((this.fireTimerBase * 0.85), (this.fireTimerBase * 1.15));
this.projSpeed = 2.1;
this.firePoint.visible = false;
this.firePoint1.visible = false;
}
override public function fire():void{
var _local1:Point;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Point;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local1 = new Point(this.firePoint.x, this.firePoint.y);
_local1 = this.localToGlobal(_local1);
_local2 = ((this.rotation * (Math.PI / 180)) + (Math.PI / 2));
_local3 = (this.projSpeed * Math.cos(_local2));
_local4 = (this.projSpeed * Math.sin(_local2));
OrbBlaster.objMgr.addMobMissile(1, _local1.x, _local1.y, _local3, _local4, this.rotation);
_local5 = new Point(this.firePoint1.x, this.firePoint1.y);
_local5 = this.localToGlobal(_local5);
_local6 = ((this.rotation * (Math.PI / 180)) + (Math.PI / 2));
_local7 = (this.projSpeed * Math.cos(_local6));
_local8 = (this.projSpeed * Math.sin(_local6));
OrbBlaster.objMgr.addMobMissile(1, _local5.x, _local5.y, _local7, _local8, this.rotation);
this.fireTimer = OrbBlaster.random((this.fireTimerBase * 0.85), (this.fireTimerBase * 1.15));
}
function frame6(){
gotoAndPlay("idle");
}
function frame20(){
gotoAndPlay("idle");
this.isSpinning = false;
}
}
}//package
Section 77
//MobMissile (MobMissile)
package {
public class MobMissile extends Mob {
public function MobMissile(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
super(_arg1, _arg2, _arg3, _arg4, 0);
this.ax = 0;
this.ay = 0;
this.type = 2;
}
override public function damagedBy(_arg1:OrbObject):void{
this.hitpoints = (this.hitpoints - _arg1.damage);
if (this.hitpoints <= 0){
this.die();
OrbBlaster.objMgr.addEfx(2, this);
};
}
override public function die():void{
OrbBlaster.objMgr.killProj(this);
}
override public function updatePosition():Boolean{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local1 = (this.vx + this.ax);
_local2 = (this.vy + this.ay);
this.maxSpeed = this.maxPushSpeed;
this.vx = _local1;
this.vy = _local2;
_local3 = (this.x + this.vx);
_local4 = (this.y + this.vy);
this.x = _local3;
this.y = _local4;
if (this.ex0 != null){
this.ex0.value = (this.x - this.radiusX);
this.ex1.value = (this.x + this.radiusX);
};
if (OrbBlaster.hero.visible == false){
if (this.isOutBounds(_local3, _local4)){
this.die();
};
};
return (true);
}
}
}//package
Section 78
//MobMissile1 (MobMissile1)
package {
public class MobMissile1 extends MobMissile {
public var activateTimer:uint;// = 0
public function MobMissile1(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
var _local5:*;
var _local6:Number;
activateTimer = 0;
addFrameScript(0, frame1, 12, frame13);
super(_arg1, _arg2, _arg3, _arg4);
this.type = 2;
_local5 = OrbBlaster.getAngleTo(this.x, this.y, OrbBlaster.hero.x, OrbBlaster.hero.y);
this.ax = 0;
this.ay = 0;
this.vx = _arg3;
this.vy = _arg4;
this.maxPushSpeed = 0;
this.radiusX = 19;
this.radiusY = 19;
}
override public function damagedBy(_arg1:OrbObject):void{
this.hitpoints = (this.hitpoints - _arg1.damage);
if (this.hitpoints <= 0){
this.die();
OrbBlaster.objMgr.addEfx(3, this);
};
}
function frame13(){
gotoAndPlay("activated_idle");
}
function frame1(){
stop();
}
override public function updateFace():void{
var _local1:*;
var _local2:Number;
if ((((this.activateTimer == 18)) && ((this.currentFrame == 1)))){
_local1 = OrbBlaster.getAngleTo(this.x, this.y, OrbBlaster.hero.x, OrbBlaster.hero.y);
this.ax = (Math.cos(_local1) * 0.1);
this.ay = (Math.sin(_local1) * 0.1);
this.vx = (Math.cos(_local1) * 0.6);
this.vy = (Math.sin(_local1) * 0.6);
this.gotoAndPlay("activate");
};
this.activateTimer++;
}
}
}//package
Section 79
//MochiAd (MochiAd)
package {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class MochiAd {
public static function getVersion():String{
return ("2.1");
}
public static function showTimedAd(_arg1:Object):void{
MochiAd.showInterLevelAd(_arg1);
}
public static function _allowDomains(_arg1:String):String{
var _local2:String;
_local2 = _arg1.split("/")[2].split(":")[0];
Security.allowDomain("*");
Security.allowDomain(_local2);
Security.allowInsecureDomain("*");
Security.allowInsecureDomain(_local2);
return (_local2);
}
public static function load(_arg1:Object):MovieClip{
var DEFAULTS:Object;
var clip:Object;
var depth:Number;
var mc:MovieClip;
var wh:Array;
var lv:URLVariables;
var k:String;
var server:String;
var hostname:String;
var lc:LocalConnection;
var name:String;
var loader:Loader;
var f:Function;
var g:Function;
var req:URLRequest;
var v:Object;
var options = _arg1;
DEFAULTS = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
if (!MochiAd._isNetworkAvailable()){
return (null);
};
if (clip._mochiad_loaded){
return (null);
};
depth = options.depth;
delete options.depth;
mc = createEmptyMovieClip(clip, "_mochiad", depth);
wh = MochiAd._getRes(options, clip);
options.res = ((wh[0] + "x") + wh[1]);
options.server = (options.server + options.id);
delete options.id;
clip._mochiad_loaded = true;
if (clip.loaderInfo.loaderURL.indexOf("http") == 0){
options.as3_swf = clip.loaderInfo.loaderURL;
};
lv = new URLVariables();
for (k in options) {
v = options[k];
if (!(v is Function)){
lv[k] = v;
};
};
server = lv.server;
delete lv.server;
hostname = _allowDomains(server);
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.lc = lc;
lv.lc = name;
lv.st = getTimer();
loader = new Loader();
f = function (_arg1:Object):void{
mc._mochiad_ctr_failed = true;
};
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f);
g = function (_arg1:Object):void{
MochiAd.unload(clip);
};
loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g);
req = new URLRequest((server + ".swf"));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader.load(req);
mc.addChild(loader);
mc._mochiad_ctr = loader;
return (mc);
}
public static function sendHighScore(_arg1:Object, _arg2:Object, _arg3:Object=null):Boolean{
var _local4:MovieClip;
_local4 = MochiAd._loadCommunicator({clip:_arg1.clip, id:_arg1.id});
if (!_local4){
return (false);
};
_local4.doSend(["sendHighScore", _arg1], _arg2, _arg3);
return (true);
}
public static function _parseOptions(_arg1:Object, _arg2:Object):Object{
var _local3:Object;
var _local4:String;
var _local5:Array;
var _local6:Number;
var _local7:Array;
_local3 = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
if (_arg1){
for (_local4 in _arg1) {
_local3[_local4] = _arg1[_local4];
};
};
_arg1 = _local3.clip.loaderInfo.parameters.mochiad_options;
if (_arg1){
_local5 = _arg1.split("&");
_local6 = 0;
while (_local6 < _local5.length) {
_local7 = _local5[_local6].split("=");
_local3[unescape(_local7[0])] = unescape(_local7[1]);
_local6++;
};
};
return (_local3);
}
public static function _isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function unload(_arg1:Object):Boolean{
if (((_arg1.clip) && (_arg1.clip._mochiad))){
_arg1 = _arg1.clip;
};
if (!_arg1._mochiad){
return (false);
};
if (_arg1._mochiad.onUnload){
_arg1._mochiad.onUnload();
};
_arg1.removeChild(_arg1._mochiad);
delete _arg1._mochiad_loaded;
delete _arg1._mochiad;
return (true);
}
public static function showInterLevelAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{
this.clip.stop();
}, ad_finished:function ():void{
this.clip.play();
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
options.ad_finished();
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
_local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = (_arg1 - 250);
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Number;
var _local3:Boolean;
var _local4:Number;
_local1 = this.parent._mochiad_ctr;
_local2 = (getTimer() - this.started);
_local3 = false;
if (!chk.showing){
_local4 = _local1.loaderInfo.bytesTotal;
if ((((_local4 > 0)) || (("number" == "undefined")))){
chk.showing = true;
chk.started = getTimer();
} else {
if (_local2 > chk.ad_timeout){
_local3 = true;
};
};
};
if ((((_local2 > chk.ad_msec)) || (this.parent._mochiad_ctr_failed))){
_local3 = true;
};
if (_local3){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function _getRes(_arg1:Object, _arg2:Object):Array{
var _local3:Object;
var _local4:Number;
var _local5:Number;
var _local6:Array;
_local3 = _arg2.getBounds(_arg2.root);
_local4 = 0;
_local5 = 0;
if (typeof(_arg1.res) != "undefined"){
_local6 = _arg1.res.split("x");
_local4 = parseFloat(_local6[0]);
_local5 = parseFloat(_local6[1]);
} else {
_local4 = (_local3.xMax - _local3.xMin);
_local5 = (_local3.yMax - _local3.yMin);
};
if ((((_local4 == 0)) || ((_local5 == 0)))){
_local4 = _arg2.stage.stageWidth;
_local5 = _arg2.stage.stageHeight;
};
return ([_local4, _local5]);
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{
var _local4:MovieClip;
_local4 = new MovieClip();
if (((false) && (_arg3))){
_arg1.addChildAt(_local4, _arg3);
} else {
_arg1.addChild(_local4);
};
_arg1[_arg2] = _local4;
_local4["_name"] = _arg2;
return (_local4);
}
public static function _loadCommunicator(_arg1:Object):MovieClip{
var DEFAULTS:Object;
var clip:Object;
var clipname:String;
var server:String;
var depth:Number;
var mc:MovieClip;
var lv:URLVariables;
var k:String;
var lc:LocalConnection;
var name:String;
var req:URLRequest;
var loader:Loader;
var options = _arg1;
DEFAULTS = {com_server:"http://x.mochiads.com/com/1/", method:"loadCommunicator", depth:10337, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
clipname = ("_mochiad_com_" + options.id);
if (!MochiAd._isNetworkAvailable()){
return (null);
};
if (clip[clipname]){
return (clip[clipname]);
};
server = (options.com_server + options.id);
MochiAd._allowDomains(server);
delete options.id;
delete options.com_server;
depth = options.depth;
delete options.depth;
mc = createEmptyMovieClip(clip, clipname, depth);
lv = new URLVariables();
for (k in options) {
lv[k] = options[k];
};
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.name = name;
mc.lc = lc;
lv.lc = name;
mc._id = 0;
mc._queue = [];
mc.rpcResult = function (_arg1:Object):void{
var _local3:Array;
var _local4:Array;
var _local5:Number;
var _local6:Object;
var _local7:Object;
_arg1 = parseInt(_arg1.toString());
_local3 = mc._callbacks[_arg1];
if (typeof(_local3) == "undefined"){
return;
};
delete mc._callbacks[_arg1];
_local4 = [];
_local5 = 2;
while (_local5 < _local3.length) {
_local4.push(_local3[_local5]);
_local5++;
};
_local5 = 1;
while (_local5 < arguments.length) {
_local4.push(arguments[_local5]);
_local5++;
};
_local6 = _local3[1];
_local7 = _local3[0];
if (((_local7) && ((typeof(_local6) == "string")))){
_local6 = _local7[_local6];
};
if (typeof(_local6) == "function"){
_local6.apply(_local7, _local4);
};
};
mc._didConnect = function (_arg1:String):void{
var _local2:Array;
var _local3:Function;
var _local4:Number;
var _local5:Array;
mc._endpoint = _arg1;
_local2 = mc._queue;
delete mc._queue;
_local3 = mc.doSend;
_local4 = 0;
while (_local4 < _local2.length) {
_local5 = _local2[_local4];
_local3.apply(this, _local5);
_local4++;
};
};
mc.doSend = function (_arg1:Array, _arg2:Object, _arg3:Object):void{
var _local5:Number;
var _local6:LocalConnection;
var _local7:Array;
var _local8:Number;
if (mc._endpoint == null){
_local7 = [];
_local8 = 0;
while (_local8 < arguments.length) {
_local7.push(arguments[_local8]);
_local8++;
};
mc._queue.push(_local7);
return;
};
mc._id = (mc._id + 1);
_local5 = mc._id;
mc._callbacks[_local5] = [_arg2, ((_arg3) || (_arg2))];
_local6 = new LocalConnection();
_local6.send(mc._endpoint, "rpc", _local5, _arg1);
};
mc._callbacks = {};
mc._callbacks[0] = [mc, "_didConnect"];
lv.st = getTimer();
req = new URLRequest((server + ".swf"));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader = new Loader();
loader.load(req);
mc.addChild(loader);
mc._mochiad_com = loader;
return (mc);
}
public static function showPreGameAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var bar:MovieClip;
var bar_color:Number;
var bar_background:Number;
var bar_outline:Number;
var backing_mc:MovieClip;
var backing:Object;
var inside_mc:MovieClip;
var inside:Object;
var outline_mc:MovieClip;
var outline:Object;
var complete:Boolean;
var unloaded:Boolean;
var f:Function;
var r:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, ad_started:function ():void{
this.clip.stop();
}, ad_finished:function ():void{
this.clip.mochiDone();
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
var fn:Function;
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.x = (w * -0.5);
chk.y = (h * -0.5);
bar = createEmptyMovieClip(chk, "_mochiad_bar", 4);
bar.x = 10;
bar.y = (h - 20);
bar_color = options.color;
delete options.color;
bar_background = options.background;
delete options.background;
bar_outline = options.outline;
delete options.outline;
backing_mc = createEmptyMovieClip(bar, "_outline", 1);
backing = backing_mc.graphics;
backing.beginFill(bar_background);
backing.moveTo(0, 0);
backing.lineTo((w - 20), 0);
backing.lineTo((w - 20), 10);
backing.lineTo(0, 10);
backing.lineTo(0, 0);
backing.endFill();
inside_mc = createEmptyMovieClip(bar, "_inside", 2);
inside = inside_mc.graphics;
inside.beginFill(bar_color);
inside.moveTo(0, 0);
inside.lineTo((w - 20), 0);
inside.lineTo((w - 20), 10);
inside.lineTo(0, 10);
inside.lineTo(0, 0);
inside.endFill();
inside_mc.scaleX = 0;
outline_mc = createEmptyMovieClip(bar, "_outline", 3);
outline = outline_mc.graphics;
outline.lineStyle(0, bar_outline, 100);
outline.moveTo(0, 0);
outline.lineTo((w - 20), 0);
outline.lineTo((w - 20), 10);
outline.lineTo(0, 10);
outline.lineTo(0, 0);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
_local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
complete = false;
unloaded = false;
f = function (_arg1:Event):void{
complete = true;
if (unloaded){
MochiAd.unload(clip);
};
};
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
if ((clip.root is MovieClip)){
r = (clip.root as MovieClip);
if (r.framesLoaded >= r.totalFrames){
complete = true;
};
};
mc.unloadAd = function ():void{
unloaded = true;
if (complete){
MochiAd.unload(clip);
};
};
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = _arg1;
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Object;
var _local3:Number;
var _local4:Boolean;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Object;
var _local10:Number;
var _local11:Number;
if (!this.parent.parent){
delete this["onEnterFrame"];
return;
};
_local1 = this.parent.parent.root;
_local2 = this.parent._mochiad_ctr;
_local3 = (getTimer() - this.started);
_local4 = false;
_local5 = _local1.loaderInfo.bytesTotal;
_local6 = _local1.loaderInfo.bytesLoaded;
_local7 = ((100 * _local6) / _local5);
_local8 = ((100 * _local3) / chk.ad_msec);
_local9 = this._mochiad_bar._inside;
_local10 = Math.min(100, Math.min(((_local7) || (0)), _local8));
_local10 = Math.max(this.last_pcnt, _local10);
this.last_pcnt = _local10;
_local9.scaleX = (_local10 * 0.01);
if (!chk.showing){
_local11 = _local2.loaderInfo.bytesTotal;
if ((((_local11 > 0)) || (("number" == "undefined")))){
chk.showing = true;
chk.started = getTimer();
} else {
if (_local3 > chk.ad_timeout){
_local4 = true;
};
};
};
if ((((_local3 > chk.ad_msec)) || (this.parent._mochiad_ctr_failed))){
_local4 = true;
};
if (((complete) && (_local4))){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function showPreloaderAd(_arg1:Object):void{
MochiAd.showPreGameAd(_arg1);
}
public static function fetchHighScores(_arg1:Object, _arg2:Object, _arg3:Object=null):Boolean{
var _local4:MovieClip;
_local4 = MochiAd._loadCommunicator({clip:_arg1.clip, id:_arg1.id});
if (!_local4){
return (false);
};
_local4.doSend(["fetchHighScores", _arg1], _arg2, _arg3);
return (true);
}
public static function doOnEnterFrame(_arg1:MovieClip):void{
var f:Function;
var mc = _arg1;
f = function (_arg1:Object):void{
if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){
mc.onEnterFrame();
} else {
mc.removeEventListener(Event.ENTER_FRAME, f);
};
};
mc.addEventListener(Event.ENTER_FRAME, f);
}
}
}//package
Section 80
//Mouse (Mouse)
package {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class Mouse {
public var clickCount:uint;
public var doubleClickWindow:Number;
public var doubleClickTimer:Timer;
protected var stage:Stage;
public var mouseDown:Boolean;
public function Mouse(_arg1:Stage){
this.doubleClickWindow = 200;
this.clickCount = 0;
stage = _arg1;
_arg1.addEventListener(MouseEvent.MOUSE_DOWN, mouse_Down);
_arg1.addEventListener(MouseEvent.MOUSE_UP, mouse_Up);
this.doubleClickTimer = new Timer(this.doubleClickWindow, 0);
this.doubleClickTimer.addEventListener(TimerEvent.TIMER, doubleClickTimerUp);
}
public function mouse_Up(_arg1:MouseEvent):void{
this.mouseDown = false;
}
public function mouseClick(_arg1:MouseEvent):void{
OrbBlaster.objMgr.addProj(OrbBlaster.CENTER_X, OrbBlaster.CENTER_Y, _arg1.stageX, _arg1.stageY);
}
public function mouse_Down(_arg1:MouseEvent):void{
if (OrbBlaster.gunEnabled){
this.clickCount++;
this.mouseDown = true;
OrbBlaster.hero.gunTimeCount = OrbBlaster.hero.cooldown;
if (this.clickCount == 2){
this.clickCount = 0;
OrbBlaster.hero.fireBomb();
this.doubleClickTimer.reset();
this.doubleClickTimer.start();
} else {
this.doubleClickTimer.start();
};
};
}
public function isDown():Boolean{
return (this.mouseDown);
}
public function update():void{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:int;
_local1 = stage.mouseX;
_local2 = stage.mouseY;
_local3 = (_local1 - OrbBlaster.hero.x);
_local4 = (_local2 - OrbBlaster.hero.y);
_local6 = Math.atan2(_local4, _local3);
_local7 = ((_local6 * 180) / Math.PI);
OrbBlaster.hero.rotateCannon((_local7 + 90));
}
public function mouse_Double(_arg1:MouseEvent):void{
trace("double clicked!");
OrbBlaster.hero.fireBomb();
}
public function doubleClickTimerUp(_arg1:TimerEvent):void{
this.clickCount = 0;
OrbBlaster.hero.startFireLoop();
this.doubleClickTimer.reset();
}
}
}//package
Section 81
//Music_Background (Music_Background)
package {
import flash.media.*;
public dynamic class Music_Background extends Sound {
}
}//package
Section 82
//ObjectManager (ObjectManager)
package {
import flash.events.*;
import flash.display.*;
import utils.*;
import flash.geom.*;
import flash.utils.*;
public class ObjectManager extends MovieClip {
protected var hero:Hero;
protected var explosions:MovieClip;
protected var efx:MovieClip;
public var curDestCount:uint;// = 0
protected var deadMobs:Array;
protected var mobPruneList:PruneList;
public var comboTimer:Timer;
public var mineCount:uint;// = 0
protected var repelCount:uint;// = 0
protected var mobs:MovieClip;
protected var world:OrbBlaster;
protected var projPruneList:PruneList;
protected var explCount:uint;// = 0
protected var bombCount:uint;// = 0
protected var projectiles:MovieClip;
protected var ships:MovieClip;
protected var deadProjs:Array;
protected var projCount:uint;// = 0
protected var curComboID:uint;// = 0
protected var projCnt:int;// = 0
public var mobCount:uint;// = 0
public function ObjectManager(){
mineCount = 0;
curDestCount = 0;
mobCount = 0;
projCnt = 0;
world = OrbBlaster.world;
projCount = 0;
bombCount = 0;
curComboID = 0;
repelCount = 0;
explCount = 0;
super();
this.mobPruneList = new PruneList();
this.mobs = new MovieClip();
this.ships = new MovieClip();
this.projectiles = new MovieClip();
this.explosions = new MovieClip();
this.efx = new MovieClip();
this.hero = OrbBlaster.hero;
this.addChild(this.hero);
this.addChild(mobs);
this.addChild(ships);
this.addChild(projectiles);
this.addChild(explosions);
this.addChild(efx);
this.comboTimer = new Timer(OrbBlaster.COMBO_TIMER_WINDOW, 1);
this.comboTimer.addEventListener(TimerEvent.TIMER, comboTimerUp);
}
public function pauseGame():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:int;
_local1 = this.explosions.numChildren;
i = 0;
while (i < _local1) {
this.explosions.getChildAt(i).stop();
i++;
};
_local2 = this.mobs.numChildren;
i = 0;
while (i < _local2) {
this.mobs.getChildAt(i).stop();
i++;
};
_local3 = this.ships.numChildren;
i = 0;
while (i < _local3) {
this.ships.getChildAt(i).stop();
i++;
};
_local4 = this.efx.numChildren;
i = 0;
while (i < _local4) {
this.efx.getChildAt(i).stop();
i++;
};
}
public function addBomb(_arg1:int, _arg2:int, _arg3:int, _arg4:int):void{
var _local5:Projectile;
switch (OrbBlaster.hero.skinType){
case 0:
_local5 = new Bomb0(_arg1, _arg2, _arg3, _arg4);
break;
case 1:
_local5 = new Bomb1(_arg1, _arg2, _arg3, _arg4);
break;
case 2:
_local5 = new Bomb2(_arg1, _arg2, _arg3, _arg4);
break;
default:
_local5 = new Bomb0(_arg1, _arg2, _arg3, _arg4);
};
this.projectiles.addChild(_local5);
this.bombCount++;
_local5.comboID = this.bombCount;
}
public function test():void{
}
public function updateExpl(_arg1:Explosion):void{
var _local2:Mob;
var _local3:int;
var _local4:int;
var _local5:*;
var _local6:Number;
var _local7:Number;
_arg1.updateRadius();
if (_arg1.type == Explosion.SHIELD_BLAST){
_local3 = this.mobs.numChildren;
_local4 = this.ships.numChildren;
_local5 = 0;
while (_local5 < _local3) {
_local2 = this.mobs.getChildAt(_local5);
if (this.repelCount != _local2.repelID){
if (_arg1.radiusTest(_local2)){
if (!(_local2 is MobMissile)){
_local2.repelled();
_local2.repelID = this.repelCount;
} else {
_local2.damagedBy(_arg1);
_local5--;
_local3--;
};
};
};
_local5++;
};
_local5 = 0;
while (_local5 < _local4) {
_local2 = this.ships.getChildAt(_local5);
if (this.repelCount != _local2.repelID){
if (_arg1.radiusTest(_local2)){
if (!(_local2 is MobMissile)){
_local2.repelled();
_local2.repelID = this.repelCount;
} else {
_local2.damagedBy(_arg1);
_local5--;
_local4--;
};
};
};
_local5++;
};
} else {
if (_arg1.type == Explosion.MINE_1){
_local2 = this.mobPruneList.hitTest(_arg1, 0, 0);
if (_local2 != null){
_local6 = _local2.x;
_local7 = _local2.y;
_local2.damagedBy(_arg1);
if (_local2.hitpoints <= 0){
if (this.comboTimer.running){
OrbBlaster.incrCombo();
} else {
OrbBlaster.incrCombo();
this.comboTimer.reset();
this.comboTimer.start();
};
};
};
} else {
if (_arg1.type == Explosion.MINE_0){
};
};
};
}
public function updateHero():void{
var _local1:Mob;
if (this.hero.life > 0){
_local1 = this.mobPruneList.hitTest(this.hero, 0, 0);
if (_local1 != null){
if (!this.hero.isInvincible){
this.hero.getHit();
this.addEfx(4, _local1);
this.killMob(_local1);
this.repelCount++;
this.addExplosion(Explosion.SHIELD_BLAST, this.hero.x, this.hero.y, -1);
} else {
this.killMob(_local1);
};
};
};
}
public function comboTimerUp(_arg1:TimerEvent){
if (OrbBlaster.comboCount > OrbBlaster.maxCombo){
OrbBlaster.maxCombo = OrbBlaster.comboCount;
};
OrbBlaster.resetCombo();
}
public function killExpl(_arg1:Explosion):void{
this.explosions.removeChild(_arg1);
}
public function updateMob(_arg1:Mob):void{
if (!_arg1.updatePosition()){
_arg1.realignGravity();
};
_arg1.updateFace();
}
public function addExplosion(_arg1:uint, _arg2:int, _arg3:int, _arg4:int):void{
var _local5:Explosion;
var _local6:Number;
SoundManager.playMobExplosion();
switch (_arg1){
case Explosion.MINE_0:
_local5 = new Explosion0(_arg2, _arg3);
_local5.width = 35;
_local5.height = 35;
break;
case Explosion.MINE_1:
_local5 = new Explosion1(_arg2, _arg3);
_local5.width = 50;
_local5.height = 50;
break;
case Explosion.MINE_2:
_local5 = new Explosion1(_arg2, _arg3);
_local5.width = 60;
_local5.height = 60;
break;
case Explosion.MINE_3:
_local5 = new Explosion1(_arg2, _arg3);
_local5.width = 70;
_local5.height = 70;
break;
case Explosion.MINE_4:
_local5 = new Explosion1(_arg2, _arg3);
_local5.width = 80;
_local5.height = 80;
break;
case Explosion.MINE_5:
_local5 = new Explosion1(_arg2, _arg3);
_local5.width = 100;
_local5.height = 100;
break;
case Explosion.MINE_6:
_local5 = new Explosion1(_arg2, _arg3);
_local5.width = 135;
_local5.height = 135;
break;
case Explosion.SHIELD_BLAST:
_local5 = new ShieldBlast(_arg2, _arg3);
break;
case 99:
_local5 = new TestExplosion();
default:
_local5 = new Explosion1(_arg2, _arg3);
_local5.width = 30;
_local5.height = 30;
};
_local6 = OrbBlaster.random(-0.05, 0.05);
_local5.scaleX = (_local5.scaleX + _local6);
_local5.scaleY = (_local5.scaleY + _local6);
this.explosions.addChild(_local5);
_local5.rotation = OrbBlaster.random(0, 360);
_local5.comboID = _arg4;
}
public function addPowerup(_arg1:int):void{
var _local2:Powerup;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:int;
_local3 = OrbBlaster.random(-(Math.PI), Math.PI);
_local4 = OrbBlaster.random(100, 200);
_local5 = ((Math.cos(_local3) * _local4) + OrbBlaster.hero.x);
_local6 = ((Math.sin(_local3) * _local4) + OrbBlaster.hero.y);
switch (_arg1){
case 0:
_local7 = OrbBlaster.random(1, 4);
this.addPowerup(-(_local7));
return;
case -1:
_local2 = new Powerup_Life(_local5, _local6);
break;
case -2:
_local2 = new Powerup_RapidFire(_local5, _local6);
break;
case -3:
_local2 = new Powerup_RapidBomb(_local5, _local6);
break;
case Powerup.LIFE2:
if (OrbBlaster.hero.life <= 2){
_local2 = new Powerup_Life(_local5, _local6);
break;
} else {
return;
};
default:
trace("ERROR: invalid powerup type");
return;
};
this.mobs.addChild(_local2);
this.mobPruneList.add(_local2);
}
public function addMobMissile(_arg1:uint, _arg2:Number, _arg3:Number, _arg4:int, _arg5:int, _arg6:Number):void{
var _local7:Mob;
switch (_arg1){
case 0:
SoundManager.playMobShot0();
_local7 = new MobMissile(_arg2, _arg3, _arg4, _arg5);
_local7.setSpeed(_arg6);
break;
case 1:
SoundManager.playMobShot1();
_local7 = new MobMissile1(_arg2, _arg3, _arg4, _arg5);
_local7.rotation = _arg6;
break;
};
this.ships.addChild(_local7);
this.mobPruneList.add(_local7);
}
public function addEfx(_arg1:uint, _arg2:OrbObject):void{
var _local3:MovieClip;
switch (_arg1){
case 0:
_local3 = new Explosion2();
break;
case 1:
_local3 = new Explosion2();
_local3.width = _arg2.width;
_local3.height = _arg2.width;
break;
case 2:
_local3 = new Explosion0();
_local3.width = 20;
_local3.height = _local3.width;
break;
case 3:
SoundManager.playMobExplosion();
_local3 = new Expl_Detonator();
_local3.width = 20;
_local3.height = _local3.width;
break;
case 4:
_local3 = new Explosion3();
_local3.width = (_arg2.radiusX * 1.1);
_local3.height = (_arg2.radiusX * 1.1);
break;
case 5:
_local3 = new Explosion5();
_local3.x = _arg2.x;
_local3.y = _arg2.y;
this.efx.addChild(_local3);
return;
case 6:
_local3 = new LevelNumber();
_local3.x = OrbBlaster.CENTER_X;
_local3.y = 125;
_local3.levelNumber.text = (OrbBlaster.curLevel - (OrbBlaster.gameMode * 100));
if (OrbBlaster.gameMode == 0){
_local3.levelNumber.textColor = 0xFFFF00;
} else {
_local3.levelNumber.textColor = 0xFF9900;
};
this.efx.addChild(_local3);
return;
case 7:
_local3 = new HeroDeath();
_local3.scaleX = 2;
_local3.scaleY = 2;
break;
case 8:
_local3 = new wipeExplosion();
_local3.width = _arg2.width;
_local3.height = _arg2.width;
break;
case 9:
_local3 = new Life_Explosion();
_local3.x = _arg2.x;
_local3.y = _arg2.y;
this.efx.addChild(_local3);
return;
default:
_local3 = new Explosion2();
};
_local3.x = _arg2.x;
_local3.y = _arg2.y;
_local3.rotation = OrbBlaster.random(0, 360);
this.efx.addChild(_local3);
}
public function addMob(_arg1:uint, _arg2:Number, _arg3:Number, _arg4:int, _arg5:int, _arg6:Number):void{
var _local7:Mob;
if (this.mobCount == OrbBlaster.MAX_MOBS){
return;
};
switch (_arg1){
case 0:
_local7 = new Mob0(_arg2, _arg3, _arg4, _arg5);
this.mineCount++;
break;
case 1:
_local7 = new Mob1(_arg2, _arg3, _arg4, _arg5);
this.mineCount++;
break;
case 2:
_local7 = new Mob2(_arg2, _arg3, _arg4, _arg5);
this.mineCount++;
break;
case 3:
_local7 = new Mob3(_arg2, _arg3, _arg4, _arg5);
this.mineCount++;
break;
case 4:
_local7 = new Mob4(_arg2, _arg3, _arg4, _arg5);
this.mineCount++;
break;
case 5:
_local7 = new Mob5(_arg2, _arg3, _arg4, _arg5);
this.mineCount++;
break;
case 6:
_local7 = new Mob6(_arg2, _arg3, _arg4, _arg5);
this.mineCount++;
break;
case 7:
_local7 = new Mob7(_arg2, _arg3, _arg4, _arg5);
this.mineCount++;
break;
case 8:
_local7 = new Mob8(_arg2, _arg3, _arg4, _arg5);
this.mineCount++;
break;
case 9:
_local7 = new Mob9(_arg2, _arg3, _arg4, _arg5);
this.curDestCount++;
break;
case 92:
_local7 = new Mob9_2(_arg2, _arg3, _arg4, _arg5);
this.curDestCount++;
break;
case 10:
_local7 = new Mob10(_arg2, _arg3, _arg4, _arg5);
this.curDestCount++;
break;
case 102:
_local7 = new Mob10_2(_arg2, _arg3, _arg4, _arg5);
this.curDestCount++;
break;
case 11:
_local7 = new Mob11(_arg2, _arg3, _arg4, _arg5);
this.curDestCount++;
break;
case 112:
_local7 = new Mob11_2(_arg2, _arg3, _arg4, _arg5);
this.curDestCount++;
break;
case 12:
_local7 = new Mob12(_arg2, _arg3, _arg4, _arg5);
this.mineCount++;
break;
case 13:
_local7 = new Destroyer3(_arg2, _arg3, _arg4, _arg5);
this.curDestCount++;
break;
case 14:
_local7 = new Destroyer4(_arg2, _arg3, _arg4, _arg5);
this.curDestCount++;
break;
default:
trace("ERROR: addMob type undefined");
};
_local7.setSpeed(_arg6);
_local7.rotation = OrbBlaster.random(0, 360);
if (_local7.type != 0){
this.ships.addChild(_local7);
} else {
this.mobs.addChild(_local7);
};
this.mobPruneList.add(_local7);
this.mobCount++;
OrbBlaster.mobsSpawned++;
}
public function getNextDestType():uint{
var _local1:uint;
var _local2:Number;
var _local3:uint;
_local1 = OrbBlaster.destTypeArr.length;
_local2 = OrbBlaster.random(0, OrbBlaster.destTypeProbTotal);
_local3 = 0;
while (_local3 < _local1) {
if (_local2 <= OrbBlaster.destTypeProbArr[_local3]){
return (OrbBlaster.destTypeArr[_local3]);
};
_local3++;
};
}
public function updatePositions():void{
var _local1:int;
var _local2:*;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:uint;
var _local7:OrbObject;
this.deadProjs = new Array();
this.deadMobs = new Array();
_local1 = this.mobs.numChildren;
_local2 = 0;
while (_local2 < _local1) {
this.updateMob(this.mobs.getChildAt(_local2));
_local2++;
};
_local3 = this.ships.numChildren;
_local2 = 0;
while (_local2 < _local3) {
this.updateMob(this.ships.getChildAt(_local2));
_local2++;
};
this.mobPruneList.sort();
this.updateHero();
_local4 = this.projectiles.numChildren;
_local2 = 0;
while (_local2 < _local4) {
this.updateProj(this.projectiles.getChildAt(_local2));
_local2++;
};
_local5 = this.explosions.numChildren;
_local2 = 0;
while (_local2 < _local5) {
this.updateExpl(this.explosions.getChildAt(_local2));
_local2++;
};
_local6 = this.deadProjs.length;
_local2 = 0;
while (_local2 < _local6) {
_local7 = this.deadProjs.pop();
if (_local7.parent != null){
if (_local7.type != 2){
_local7.parent.removeChild(_local7);
} else {
this.killMob(_local7);
};
};
_local2++;
};
}
public function addMine():void{
var _local1:Number;
var _local2:Number;
var _local3:uint;
switch (Math.floor(OrbBlaster.random(0, 4))){
case 0:
_local1 = OrbBlaster.random(0, 525);
_local2 = -50;
break;
case 1:
_local1 = OrbBlaster.random(0, 525);
_local2 = 600;
break;
case 2:
_local1 = -50;
_local2 = OrbBlaster.random(0, 525);
case 3:
_local1 = 600;
_local2 = OrbBlaster.random(0, 525);
break;
default:
trace("invalid starting position in add mine!");
_local1 = 600;
_local2 = OrbBlaster.random(0, 525);
};
_local3 = this.getNextMobType();
this.addMob(_local3, _local1, _local2, OrbBlaster.CENTER_X, OrbBlaster.CENTER_Y, OrbBlaster.random((OrbBlaster.mobGravSpeed >> 1), OrbBlaster.mobGravSpeed));
}
public function addProj(_arg1:int, _arg2:int, _arg3:int, _arg4:int):void{
var _local5:Projectile;
switch (OrbBlaster.hero.skinType){
case 0:
_local5 = new Projectile0(_arg1, _arg2, _arg3, _arg4);
break;
case 1:
_local5 = new Projectile1(_arg1, _arg2, _arg3, _arg4);
break;
case 2:
_local5 = new Projectile2(_arg1, _arg2, _arg3, _arg4);
break;
default:
_local5 = new Projectile0(_arg1, _arg2, _arg3, _arg4);
};
this.projectiles.addChild(_local5);
_local5.comboID = this.bombCount;
}
public function clear():void{
var _local1:Mob;
var _local2:Mob;
while (this.mobs.numChildren > 0) {
_local1 = this.mobs.removeChildAt(0);
this.mobPruneList.remove(_local1);
};
while (this.ships.numChildren > 0) {
_local2 = this.ships.removeChildAt(0);
this.mobPruneList.remove(_local2);
};
while (this.projectiles.numChildren > 0) {
this.projectiles.removeChildAt(0);
};
while (this.explosions.numChildren > 0) {
this.explosions.removeChildAt(0);
};
while (this.efx.numChildren > 0) {
this.efx.removeChildAt(0);
};
if (OrbBlaster.tutorialEfx != null){
if (OrbBlaster.tutorialEfx.parent != null){
OrbBlaster.tutorialEfx.parent.removeChild(OrbBlaster.tutorialEfx);
};
OrbBlaster.tutorialEfx.stop();
};
this.mobPruneList = new PruneList();
this.comboTimer.stop();
}
public function addDestroyer():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:uint;
switch (Math.floor(OrbBlaster.random(0, 4))){
case 0:
_local1 = OrbBlaster.random(0, 550);
_local2 = -75;
break;
case 1:
_local1 = OrbBlaster.random(0, 550);
_local2 = 650;
break;
case 2:
_local1 = -75;
_local2 = OrbBlaster.random(0, 550);
case 3:
_local1 = 650;
_local2 = OrbBlaster.random(0, 550);
break;
default:
trace("invalid starting position in addDestroyer");
_local1 = 650;
_local2 = OrbBlaster.random(0, 550);
};
_local3 = OrbBlaster.random(0.6, 2.1);
_local4 = this.getNextDestType();
this.addMob(_local4, _local1, _local2, OrbBlaster.CENTER_X, OrbBlaster.CENTER_Y, _local3);
}
public function wipe():void{
var _local1:Mob;
var _local2:Mob;
SoundManager.playMobExplosion();
SoundManager.playMobExplosion();
while (this.mobs.numChildren > 0) {
_local1 = this.mobs.removeChildAt(0);
this.addEfx(8, _local1);
this.mobPruneList.remove(_local1);
};
while (this.ships.numChildren > 0) {
_local2 = this.ships.removeChildAt(0);
this.addEfx(8, _local2);
this.mobPruneList.remove(_local2);
};
}
public function addLaunchEfx(_arg1:uint, _arg2:OrbObject):void{
var _local3:Sprite;
switch (_arg1){
case 0:
_local3 = new LaunchEfx0();
break;
case 1:
_local3 = new LaunchEfx1();
break;
case 2:
_local3 = new LaunchEfx2();
break;
default:
_local3 = new LaunchEfx0();
break;
};
_local3.x = _arg2.x;
_local3.y = _arg2.y;
_local3.rotation = OrbBlaster.hero.cannon.rotation;
this.efx.addChild(_local3);
}
public function playerFire():void{
var _local1:Point;
_local1 = new Point(OrbBlaster.hero.cannon.firePoint.x, OrbBlaster.hero.cannon.firePoint.y);
_local1 = OrbBlaster.hero.cannon.localToGlobal(_local1);
this.addProj(_local1.x, _local1.y, stage.mouseX, stage.mouseY);
}
public function killMob(_arg1:Mob):void{
if (_arg1.parent == null){
trace("ERROR: MOB PARENT NULL");
return;
};
switch (_arg1.type){
case 0:
this.mineCount--;
_arg1.parent.removeChild(_arg1);
break;
case 1:
this.curDestCount--;
OrbBlaster.destKilled++;
_arg1.parent.removeChild(_arg1);
break;
case 2:
this.mobPruneList.remove(_arg1);
_arg1.parent.removeChild(_arg1);
return;
case 3:
this.mobPruneList.remove(_arg1);
_arg1.parent.removeChild(_arg1);
return;
};
OrbBlaster.addPoints(_arg1.points);
this.mobCount--;
OrbBlaster.mobsKilled++;
_arg1.stop();
this.mobPruneList.remove(_arg1);
if ((((((OrbBlaster.mobsKilled >= OrbBlaster.killsGoal)) && ((OrbBlaster.gameMode == 0)))) && (!((OrbBlaster.hero.life == 0))))){
SoundManager.playCheer();
OrbBlaster.levelComplete();
};
}
public function addProjEfx(_arg1:uint, _arg2:OrbObject):void{
var _local3:Sprite;
switch (_arg1){
case 0:
_local3 = new Explosion2();
break;
case 1:
_local3 = new Explosion_Proj1();
break;
case 2:
_local3 = new Explosion_Proj2();
break;
case 10:
SoundManager.playMobExplosion();
_local3 = new Expl_Detonator();
_local3.width = 20;
_local3.height = _local3.width;
break;
default:
_local3 = new Explosion2();
break;
};
_local3.x = _arg2.x;
_local3.y = _arg2.y;
_local3.rotation = OrbBlaster.random(0, 360);
this.efx.addChild(_local3);
}
public function resumeGame():void{
var _local1:int;
var _local2:Mob;
var _local3:int;
var _local4:int;
var _local5:int;
_local1 = this.explosions.numChildren;
i = 0;
while (i < _local1) {
this.explosions.getChildAt(i).play();
i++;
};
_local3 = this.ships.numChildren;
i = 0;
while (i < _local3) {
_local2 = this.ships.getChildAt(i);
if ((((_local2 is MobMissile1)) && ((_local2.currentFrame == 1)))){
} else {
_local2.play();
};
i++;
};
_local4 = this.mobs.numChildren;
i = 0;
while (i < _local4) {
_local2 = this.mobs.getChildAt(i);
if ((_local2 is Powerup)){
_local2.play();
} else {
if ((((_local2 is Mob2)) && (!((_local2.currentFrame == 1))))){
_local2.play();
};
};
i++;
};
_local5 = this.efx.numChildren;
i = 0;
while (i < _local5) {
this.efx.getChildAt(i).play();
i++;
};
}
public function killEfx(_arg1:MovieClip):void{
_arg1.stop();
this.efx.removeChild(_arg1);
}
public function getNextMobType():uint{
var _local1:uint;
var _local2:Number;
var _local3:uint;
_local1 = OrbBlaster.mineTypeArr.length;
_local2 = OrbBlaster.random(0, OrbBlaster.mineTypeProbTotal);
_local3 = 0;
while (_local3 < _local1) {
if (_local2 <= OrbBlaster.mineTypeProbArr[_local3]){
return (OrbBlaster.mineTypeArr[_local3]);
};
_local3++;
};
}
public function updateProj(_arg1:Projectile):void{
var _local2:Mob;
var _local3:Number;
var _local4:Number;
_local2 = _arg1.collidedWith;
if (_local2 != null){
if (_arg1.type == 0){
if ((((_local2.type == 1)) || ((_local2.type == 2)))){
_local2.damagedBy(_arg1);
_local2.gotHitBy(_arg1);
} else {
if (_local2.type == 0){
_arg1.transferMomentum(_local2);
_local2.gotHitBy(_arg1);
} else {
if (_local2.type == 3){
if ((_local2 is Powerup_Life)){
this.addEfx(9, _local2);
} else {
this.addEfx(5, _local2);
};
SoundManager.playPowerup();
_local2.activatePowerup();
this.killMob(_local2);
};
};
};
_arg1.gotHit();
} else {
if (_arg1.type == 1){
if (_local2.type != 3){
_local3 = _local2.x;
_local4 = _local2.y;
_local2.damagedBy(_arg1);
} else {
SoundManager.playPowerup();
_local2.activatePowerup();
this.killMob(_local2);
this.addEfx(5, _local2);
};
_arg1.gotHit();
};
};
} else {
_local2 = this.mobPruneList.hitTest(_arg1, _arg1.vx, _arg1.vy);
if (_local2 != null){
_arg1.x = (_arg1.x + (_arg1.vx / 2));
_arg1.y = (_arg1.y + (_arg1.vy / 2));
_arg1.collidedWith = _local2;
} else {
if (!_arg1.updatePosition()){
this.killProj(_arg1);
};
};
};
}
public function killProj(_arg1:OrbObject):void{
this.deadProjs.push(_arg1);
}
public function addMineCluster(_arg1:uint){
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:uint;
var _local7:Number;
var _local8:uint;
if (_arg1 == 0){
return;
};
_local4 = 75;
_local5 = 75;
switch (Math.floor(OrbBlaster.random(0, 4))){
case 0:
_local2 = OrbBlaster.random(0, 550);
_local3 = -35;
_local5 = 0;
break;
case 1:
_local2 = OrbBlaster.random(0, 550);
_local3 = 570;
_local5 = 0;
break;
case 2:
_local2 = -35;
_local4 = 0;
_local3 = OrbBlaster.random(0, 550);
case 3:
_local2 = 570;
_local4 = 0;
_local3 = OrbBlaster.random(0, 550);
break;
default:
trace("invalid starting position in addMineCluster");
_local2 = 570;
_local4 = 0;
_local3 = OrbBlaster.random(0, 550);
};
_local6 = 0;
while (_local6 < _arg1) {
_local2 = (_local2 + OrbBlaster.random(-(_local4), _local4));
_local3 = (_local3 + OrbBlaster.random(-(_local5), _local5));
_local7 = OrbBlaster.random((OrbBlaster.mobGravSpeed >> 1), OrbBlaster.mobGravSpeed);
_local8 = this.getNextMobType();
this.addMob(_local8, _local2, _local3, OrbBlaster.CENTER_X, OrbBlaster.CENTER_Y, _local7);
_local6++;
};
}
public function getMobs():MovieClip{
return (this.mobs);
}
public function playerFireBomb():void{
var _local1:Point;
_local1 = new Point(OrbBlaster.hero.cannon.firePoint.x, OrbBlaster.hero.cannon.firePoint.y);
_local1 = OrbBlaster.hero.cannon.localToGlobal(_local1);
this.addBomb(_local1.x, _local1.y, stage.mouseX, stage.mouseY);
this.addLaunchEfx(OrbBlaster.hero.skinType, OrbBlaster.hero);
}
}
}//package
Section 83
//OrbBlaster (OrbBlaster)
package {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import com.gsolo.encryption.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
public dynamic class OrbBlaster extends MovieClip {
private var fpsArrLen:uint;// = 11
public var bg:Sprite;
private var fps_count:uint;// = 1
private var fps_t0:uint;// = 0
private var fps_t1:uint;// = 1000
public var rotatingOrb:MovieClip;
private var fps_display:MovieClip;
public var test:int;// = 15
public var percentLoaded:TextField;
private var fpsArr:Array;
static var pause:Boolean = true;
static var prevPoints:uint = 0;
static var GUI:Sprite;
static var comboCount:uint = 1;
static var curLevel:uint = 0;
static var scoreBar:MovieClip;
static var HUDItems:Sprite;
static var pausedTimerArr:Array;
static var progress:SharedObject;
static var GRAVITY:Number = 0.01;
static var destTypeProbArr:Array;
static var totalTime:uint = 0;
static var background:Sprite;
static var comboFadeTimer:Timer;
static var quitConfirmScreen:MovieClip;
static var totalPoints:uint = 0;
static var mainLoopTimer:Timer;
static var isDebug:Boolean = false;
static var Y_MIN:int = 10;
static var isPauseable:Boolean = false;
static var destTypeProbTotal:uint;
static var scoreSubmitScreen:MovieClip;
static var mineTypeProbTotal:uint;
static var Y_MAX:int = 490;
static var endLevelTimer:Timer;
static var mobsSpawned:uint = 0;
static var spawner:Spawner;
static var PROJ_X_MIN:int = -1;
static var nextLevelTimer:Timer;
static var musicStatus:Boolean = true;
static var COMBO_TIMER_WINDOW:uint = 1500;
static var maxLevel:int = 1;
static var PROJ_X_MAX:int = 501;
static var repelCount:uint = 0;
static var killsGoal:uint = 0;
static var MAX_MOBS:uint = 64;
static var maxCombo:uint = 1;
static var isContinued:Boolean = false;
static var comboCounter:ComboText;
static var movSplash:MovieClip;
static var objMgr:ObjectManager;
static var repelSpeed:Number = 3.5;
static var mouse:Mouse;
static var destroyersSpawned:uint = 0;
static var mobGravSpeed:Number = 0;
static var lastLevel:uint = 36;
static var gameMode:uint = 0;
static var framesPassed:uint = 0;
static var tutorialEfx:MovieClip;
static var destKilled:uint = 0;
static var destTypeArr:Array;
static var levelStatsScreen:MovieClip;
static var pauseButton:SimpleButton;
static var X_MIN:int = 10;
static var tutorialCounter:uint = 0;
static var creditsScreen:MovieClip;
static var mobsKilled:uint = 0;
static var mainMenu:MovieClip;
static var X_MAX:int = 490;
static var mineTypeProbArr:Array;
static var gunEnabled:Boolean = false;
static var continuePenalty:Number = 0.8;
static var keyboard:Keyboard;
static var bonusPoints:uint = 0;
static var PROJ_Y_MIN:int = -1;
static var CENTER_Y:int = 250;
static var soundStatus:Boolean = true;
static var timerBar:MovieClip;
static var continueScreen:MovieClip;
static var mineTypeArr:Array;
static var CENTER_X:int = 250;
static var hero:Hero;
static var statsBar:MovieClip;
static var PROJ_Y_MAX:int = 501;
public function OrbBlaster():void{
var _local1:String;
var _local2:RegExp;
var _local3:Object;
var _local4:int;
var _local5:UpgradeScreen;
fps_t0 = 0;
fps_t1 = 1000;
fps_count = 1;
fpsArrLen = 11;
test = 15;
super();
addFrameScript(0, frame1, 1, frame2, 5, frame6);
this.percentLoaded.visible = false;
this.rotatingOrb.visible = false;
this.stop();
this.bg.stop();
_local1 = Capabilities.version;
_local2 = /^(\w*) (\d*),(\d*),(\d*),(\d*)$/;
_local3 = _local2.exec(_local1);
if (_local3 != null){
} else {
trace("Unable to match RegExp.");
};
_local4 = ((_local3[2] + _local3[3]) + _local3[4]);
trace(("versionNumber: " + _local4));
if (_local4 < 9045){
_local5 = new UpgradeScreen();
this.addChild(_local5);
_local5.x = OrbBlaster.CENTER_X;
_local5.y = OrbBlaster.CENTER_Y;
} else {
MochiAd.showPreGameAd({clip:this, id:"5d967b110a0982a9", res:"500x500"});
};
}
public function checkDomain():Boolean{
var _local1:String;
var _local2:String;
var _local3:String;
_local1 = this.loaderInfo.url;
_local2 = _local1.substring(0, 4);
trace(_local2);
trace(_local1);
_local3 = ((("url: " + _local1) + " | ") + _local2);
OrbBlaster.mainMenu.rootName.text = _local3;
if ((((((_local2 == "file")) || (!((_local1.indexOf("s3.amazonaws.com/orbblaster_test/OrbBlaster.swf") == -1))))) || (!((_local1.indexOf("doogog.com") == -1))))){
} else {
this.x = -2342;
this.y = 14221;
};
return (true);
}
public function survivalButtonClicked(_arg1:MouseEvent):void{
OrbBlaster.hideMainMenu();
OrbBlaster.hero.setLife(3);
OrbBlaster.hero.visible = true;
OrbBlaster.gameMode = 1;
OrbBlaster.scoreBar.visible = false;
OrbBlaster.timerBar.visible = true;
OrbBlaster.statsBar.gotoAndStop(2);
OrbBlaster.statsBar.powPieces.visible = false;
OrbBlaster.framesPassed = 0;
OrbBlaster.hero.newSkin();
OrbBlaster.newBackground(0);
SoundManager.startBackgroundMusic();
OrbBlaster.startLevel(101);
}
public function debugButtonClicked(_arg1:MouseEvent):void{
var _local2:uint;
_local2 = 30;
if ((((_local2 >= 1)) && ((_local2 < 100)))){
OrbBlaster.hideMainMenu();
OrbBlaster.hero.setLife(3);
OrbBlaster.hero.visible = true;
OrbBlaster.gameMode = 0;
OrbBlaster.scoreBar.visible = true;
OrbBlaster.timerBar.visible = false;
OrbBlaster.statsBar.gotoAndStop(2);
OrbBlaster.statsBar.powPieces.visible = false;
OrbBlaster.hero.newSkin();
OrbBlaster.framesPassed = 0;
OrbBlaster.newBackground(0);
} else {
OrbBlaster.hideMainMenu();
OrbBlaster.hero.setLife(3);
OrbBlaster.hero.visible = true;
OrbBlaster.gameMode = 1;
OrbBlaster.scoreBar.visible = false;
OrbBlaster.timerBar.visible = true;
OrbBlaster.statsBar.gotoAndStop(2);
OrbBlaster.statsBar.powPieces.visible = false;
OrbBlaster.framesPassed = 0;
OrbBlaster.hero.newSkin();
OrbBlaster.newBackground(0);
};
SoundManager.startBackgroundMusic();
OrbBlaster.startLevel(_local2);
}
public function jumpButtonClicked(_arg1:MouseEvent):void{
var _local2:uint;
_local2 = uint(OrbBlaster.mainMenu.jumpNumber.text);
if ((((_local2 >= 1)) && ((_local2 < 100)))){
OrbBlaster.hideMainMenu();
OrbBlaster.hero.setLife(3);
OrbBlaster.hero.visible = true;
OrbBlaster.gameMode = 0;
OrbBlaster.scoreBar.visible = true;
OrbBlaster.timerBar.visible = false;
OrbBlaster.statsBar.gotoAndStop(2);
OrbBlaster.statsBar.powPieces.visible = false;
OrbBlaster.hero.newSkin();
OrbBlaster.framesPassed = 0;
OrbBlaster.newBackground(0);
} else {
OrbBlaster.hideMainMenu();
OrbBlaster.hero.setLife(3);
OrbBlaster.hero.visible = true;
OrbBlaster.gameMode = 1;
OrbBlaster.scoreBar.visible = false;
OrbBlaster.timerBar.visible = true;
OrbBlaster.statsBar.gotoAndStop(2);
OrbBlaster.statsBar.powPieces.visible = false;
OrbBlaster.framesPassed = 0;
OrbBlaster.hero.newSkin();
OrbBlaster.newBackground(0);
};
SoundManager.startBackgroundMusic();
OrbBlaster.startLevel(_local2);
}
public function yesButtonClicked(_arg1:MouseEvent):void{
OrbBlaster.hidePauseMenu();
OrbBlaster.quitToMainMenu();
}
public function creditsButtonClicked(_arg1:MouseEvent):void{
OrbBlaster.creditsScreen.visible = true;
OrbBlaster.mainMenu.creditsButton.visible = false;
}
public function paulButtonClicked(_arg1:MouseEvent):void{
var _local2:URLRequest;
_local2 = new URLRequest("http://macroform.blogspot.com");
navigateToURL(_local2, "_blank");
}
public function continueButtonClicked(_arg1:MouseEvent):void{
}
public function splashEnterFrame(_arg1:Event){
if (OrbBlaster.movSplash.isComplete()){
OrbBlaster.movSplash.removeEventListener(Event.ENTER_FRAME, splashEnterFrame);
this.splashDone();
};
}
public function pauseButtonClicked(_arg1:MouseEvent):void{
OrbBlaster.pauseGame();
}
public function comboTextAppear():void{
trace("appeared");
OrbBlaster.comboCounter.visible = true;
}
public function submitButtonClicked(_arg1:MouseEvent):void{
var _local2:String;
var _local3:String;
var _local4:URLRequest;
var _local5:URLVariables;
if (OrbBlaster.scoreSubmitScreen.playerName.text != ""){
OrbBlaster.scoreSubmitScreen.playerName.selectable = false;
OrbBlaster.scoreSubmitScreen.submitButton.visible = false;
_local2 = "http://doogog.com/orbblaster/scoresSubmit.php";
_local3 = "";
_local4 = new URLRequest(_local2);
_local5 = new URLVariables();
_local4.data = _local5;
_local4.method = "POST";
if (OrbBlaster.gameMode == 0){
_local5.filename = "scores/normalScores.sco";
_local5.winscore = OrbBlaster.totalPoints;
_local5.gamemode = 0;
} else {
_local5.filename = "scores/survivalScores.sco";
_local5.winscore = OrbBlaster.totalTime;
_local5.gamemode = 1;
};
_local5.winname = OrbBlaster.scoreSubmitScreen.playerName.text;
_local5.action = "INSERT";
_local5.scoresize = 25;
_local5.viewtype = "HTML";
_local5.password = "DT7CCRFJYHD693BYD7M";
_local3 = ((((_local5.winname + "_") + _local5.winscore) + "_") + OrbBlaster.gameMode);
_local5.insert = MD5.hex_hmac_md5("DCFMH9K4J6", _local3);
trace(((("sendToURL: " + _local4.url) + "?") + _local4.data));
trace(((("encrypted: " + _local3) + " -> ") + _local5.insert));
sendToURL(_local4);
};
}
public function noButtonClicked(_arg1:MouseEvent):void{
OrbBlaster.showPauseMenu();
}
public function countFPS(){
var _local1:Number;
var _local2:Number;
var _local3:uint;
var _local4:uint;
if (this.fps_count == 1){
this.fps_t1 = (getTimer() - fps_t0);
_local1 = (1000 / fps_t1);
_local2 = 0;
this.fpsArr.shift();
this.fpsArr.push(_local1);
_local3 = 0;
while (_local3 < this.fpsArrLen) {
_local2 = (_local2 + this.fpsArr[_local3]);
_local3++;
};
_local2 = Math.floor((_local2 / fpsArrLen));
this.fps_display.fpsText.text = _local2;
this.fps_t0 = getTimer();
_local4 = 0;
} else {
_local4++;
this.fps_t0 = getTimer();
};
}
public function setupMainMenu():void{
OrbBlaster.mainMenu = new MainMenu();
OrbBlaster.GUI.addChild(OrbBlaster.mainMenu);
OrbBlaster.mainMenu.x = OrbBlaster.CENTER_X;
OrbBlaster.mainMenu.y = OrbBlaster.CENTER_Y;
OrbBlaster.mainMenu.normalButton.tabEnabled = false;
OrbBlaster.mainMenu.normalButton.addEventListener(MouseEvent.CLICK, normalButtonClicked);
OrbBlaster.mainMenu.survivalButton.tabEnabled = false;
OrbBlaster.mainMenu.survivalButton.addEventListener(MouseEvent.CLICK, survivalButtonClicked);
OrbBlaster.mainMenu.moreGamesButton.tabEnabled = false;
OrbBlaster.mainMenu.moreGamesButton.addEventListener(MouseEvent.CLICK, moreGamesButtonClicked);
OrbBlaster.mainMenu.creditsButton.tabEnabled = false;
OrbBlaster.mainMenu.creditsButton.addEventListener(MouseEvent.CLICK, creditsButtonClicked);
OrbBlaster.mainMenu.debugButton.tabEnabled = false;
OrbBlaster.mainMenu.debugButton.addEventListener(MouseEvent.CLICK, debugButtonClicked);
OrbBlaster.mainMenu.jumpButton.tabEnabled = false;
OrbBlaster.mainMenu.jumpButton.addEventListener(MouseEvent.CLICK, jumpButtonClicked);
OrbBlaster.mainMenu.debugButton.visible = false;
OrbBlaster.mainMenu.jumpButton.visible = false;
OrbBlaster.mainMenu.jumpNumber.visible = false;
OrbBlaster.creditsScreen = new CreditsScreen();
OrbBlaster.GUI.addChild(OrbBlaster.creditsScreen);
OrbBlaster.creditsScreen.x = OrbBlaster.CENTER_X;
OrbBlaster.creditsScreen.y = (OrbBlaster.CENTER_Y + 46);
OrbBlaster.creditsScreen.visible = false;
OrbBlaster.creditsScreen.creditsBackButton.tabEnabled = false;
OrbBlaster.creditsScreen.creditsBackButton.addEventListener(MouseEvent.CLICK, creditsBackButtonClicked);
OrbBlaster.creditsScreen.doogogButton.tabEnabled = false;
OrbBlaster.creditsScreen.doogogButton.addEventListener(MouseEvent.CLICK, doogogButtonClicked);
OrbBlaster.creditsScreen.paulButton.tabEnabled = false;
OrbBlaster.creditsScreen.paulButton.addEventListener(MouseEvent.CLICK, paulButtonClicked);
OrbBlaster.mainMenu.levelUpButton.tabEnabled = false;
OrbBlaster.mainMenu.levelUpButton.addEventListener(MouseEvent.CLICK, levelUpButtonClicked);
OrbBlaster.mainMenu.levelDownButton.tabEnabled = false;
OrbBlaster.mainMenu.levelDownButton.addEventListener(MouseEvent.CLICK, levelDownButtonClicked);
OrbBlaster.mainMenu.levelJumpNumber.text = OrbBlaster.maxLevel;
}
public function fpsCountLoop(_arg1:Event):void{
countFPS();
}
public function resumeButtonClicked(_arg1:MouseEvent):void{
OrbBlaster.pauseGame();
}
public function mochiDone():void{
trace("mochiDone");
this.gotoAndStop(2);
}
public function musicButtonClicked(_arg1:MouseEvent):void{
OrbBlaster.musicStatus = !(OrbBlaster.musicStatus);
if (!OrbBlaster.musicStatus){
SoundManager.stopBackgroundMusic();
};
OrbBlaster.updateAudioButtons();
}
public function creditsBackButtonClicked(_arg1:MouseEvent):void{
OrbBlaster.creditsScreen.visible = false;
OrbBlaster.mainMenu.creditsButton.visible = true;
}
public function setup():void{
}
function frame2(){
this.movSplash.addEventListener(Event.ENTER_FRAME, splashEnterFrame);
OrbBlaster.movSplash = this.movSplash;
}
public function splashDone():void{
this.gotoAndStop(5);
OrbBlaster.background = this.bg;
SoundManager.loadSounds();
this.begin();
}
function frame1(){
stop();
}
public function quitButtonClicked(_arg1:MouseEvent):void{
OrbBlaster.quitConfirmScreen.visible = true;
}
public function moreGamesButtonClicked(_arg1:MouseEvent):void{
var _local2:String;
var _local3:URLRequest;
_local2 = "http://www.gimme5games.com";
_local3 = new URLRequest(_local2);
navigateToURL(_local3, "_blank");
}
public function doogogButtonClicked(_arg1:MouseEvent):void{
var _local2:URLRequest;
_local2 = new URLRequest("http://www.doogog.com");
navigateToURL(_local2, "_blank");
}
public function levelUpButtonClicked(_arg1:MouseEvent):void{
var _local2:int;
_local2 = (int(OrbBlaster.mainMenu.levelJumpNumber.text) + 1);
if (_local2 <= OrbBlaster.maxLevel){
OrbBlaster.mainMenu.levelJumpNumber.text = _local2;
};
}
public function nextButtonClicked(_arg1:MouseEvent):void{
OrbBlaster.levelStatsScreen.visible = false;
OrbBlaster.totalPoints = (OrbBlaster.totalPoints + OrbBlaster.bonusPoints);
if (OrbBlaster.curLevel == OrbBlaster.lastLevel){
OrbBlaster.gameEnd();
} else {
OrbBlaster.startNextLevel();
};
}
public function begin():void{
var _local1:Hero;
OrbBlaster.loadProgress();
OrbBlaster.incrPlayCounter();
OrbBlaster.newBackground(0);
_local1 = new Hero();
hero = _local1;
hero.x = OrbBlaster.CENTER_X;
hero.y = OrbBlaster.CENTER_Y;
keyboard = new Keyboard();
OrbBlaster.keyboard.initialize(stage);
mouse = new Mouse(stage);
objMgr = new ObjectManager();
this.addChild(objMgr);
objMgr.test();
this.setupGUI();
OrbBlaster.spawner = new Spawner();
endLevelTimer = new Timer(1500, 1);
endLevelTimer.addEventListener(TimerEvent.TIMER, endLevel);
comboFadeTimer = new Timer(1500, 0);
comboFadeTimer.addEventListener(TimerEvent.TIMER, comboTextFadeOut);
OrbBlaster.pausedTimerArr = new Array();
this.addEventListener(Event.ENTER_FRAME, mainLoop);
this.setupMainMenu();
}
public function continueNoButtonClicked(_arg1:MouseEvent):void{
OrbBlaster.continueScreen.visible = false;
OrbBlaster.scoreSubmitScreen.movHiScores.setDetails(28, 0, "blaster", false, OrbBlaster.totalPoints, OrbBlaster.totalPoints, "points!");
OrbBlaster.showScoreSubmitScreen();
}
public function menuButtonClicked(_arg1:MouseEvent):void{
SoundManager.stopBackgroundMusic();
OrbBlaster.scoreSubmitScreen.visible = false;
OrbBlaster.quitToMainMenu();
}
public function continueYesButtonClicked(_arg1:MouseEvent):void{
OrbBlaster.objMgr.clear();
OrbBlaster.pause = true;
OrbBlaster.resetCombo();
OrbBlaster.totalPoints = (OrbBlaster.prevPoints * OrbBlaster.continuePenalty);
OrbBlaster.framesPassed = 0;
OrbBlaster.continueScreen.visible = false;
if (OrbBlaster.gameMode == 0){
OrbBlaster.hideMainMenu();
OrbBlaster.hero.setLife(3);
OrbBlaster.hero.visible = true;
OrbBlaster.gameMode = 0;
OrbBlaster.scoreBar.visible = true;
OrbBlaster.timerBar.visible = false;
OrbBlaster.statsBar.gotoAndStop(2);
OrbBlaster.statsBar.powPieces.visible = false;
OrbBlaster.hero.newSkin();
OrbBlaster.newBackground(0);
} else {
OrbBlaster.hideMainMenu();
OrbBlaster.hero.setLife(3);
OrbBlaster.hero.visible = true;
OrbBlaster.gameMode = 1;
OrbBlaster.scoreBar.visible = false;
OrbBlaster.timerBar.visible = true;
OrbBlaster.statsBar.gotoAndStop(2);
OrbBlaster.statsBar.powPieces.visible = false;
OrbBlaster.framesPassed = 0;
OrbBlaster.hero.newSkin();
OrbBlaster.newBackground(0);
};
OrbBlaster.startLevel(OrbBlaster.curLevel);
}
public function setupGUI():void{
var _local1:uint;
OrbBlaster.GUI = new Sprite();
this.addChild(GUI);
OrbBlaster.HUDItems = new Sprite();
OrbBlaster.GUI.addChild(HUDItems);
this.fps_display = new FpsCounter();
this.fps_display.x = 470;
this.fps_display.y = 15;
this.fps_display.fpsText.text = 0;
this.fpsArr = new Array();
_local1 = 0;
while (_local1 < fpsArrLen) {
this.fpsArr.push(30);
_local1++;
};
OrbBlaster.comboCounter = new ComboText();
OrbBlaster.HUDItems.addChild(OrbBlaster.comboCounter);
OrbBlaster.comboCounter.x = 430;
OrbBlaster.comboCounter.y = 75;
OrbBlaster.comboCounter.setText("");
OrbBlaster.statsBar = new StatsBar();
OrbBlaster.HUDItems.addChild(OrbBlaster.statsBar);
OrbBlaster.statsBar.x = 65;
OrbBlaster.statsBar.y = 475;
OrbBlaster.hero.setLife(OrbBlaster.hero.life);
OrbBlaster.statsBar.powPieces.gotoAndPlay(7);
OrbBlaster.scoreBar = new ScoreBar();
OrbBlaster.scoreBar.scoreText.text = 0;
OrbBlaster.HUDItems.addChild(OrbBlaster.scoreBar);
OrbBlaster.scoreBar.x = 75;
OrbBlaster.scoreBar.y = 18;
OrbBlaster.pauseButton = new PauseButton();
OrbBlaster.HUDItems.addChild(OrbBlaster.pauseButton);
OrbBlaster.pauseButton.x = 481;
OrbBlaster.pauseButton.y = 489;
OrbBlaster.pauseButton.tabEnabled = false;
OrbBlaster.pauseButton.addEventListener(MouseEvent.CLICK, pauseButtonClicked);
OrbBlaster.timerBar = new TimerBar();
OrbBlaster.HUDItems.addChild(OrbBlaster.timerBar);
OrbBlaster.timerBar.x = 250;
OrbBlaster.timerBar.y = 17;
OrbBlaster.levelStatsScreen = new LevelStatsScreen();
OrbBlaster.GUI.addChild(levelStatsScreen);
OrbBlaster.levelStatsScreen.x = OrbBlaster.CENTER_X;
OrbBlaster.levelStatsScreen.y = OrbBlaster.CENTER_Y;
OrbBlaster.levelStatsScreen.nextButton.tabEnabled = false;
OrbBlaster.levelStatsScreen.nextButton.addEventListener(MouseEvent.CLICK, nextButtonClicked);
OrbBlaster.levelStatsScreen.visible = false;
OrbBlaster.pauseMenu = new PauseMenu();
OrbBlaster.GUI.addChild(OrbBlaster.pauseMenu);
OrbBlaster.pauseMenu.resumeButton.tabEnabled = false;
OrbBlaster.pauseMenu.soundButton.tabEnabled = false;
OrbBlaster.pauseMenu.musicButton.tabEnabled = false;
OrbBlaster.pauseMenu.quitButton.tabEnabled = false;
OrbBlaster.pauseMenu.x = OrbBlaster.CENTER_X;
OrbBlaster.pauseMenu.y = OrbBlaster.CENTER_Y;
OrbBlaster.pauseMenu.soundStatus.mouseEnabled = false;
OrbBlaster.pauseMenu.musicStatus.mouseEnabled = false;
OrbBlaster.pauseMenu.resumeButton.addEventListener(MouseEvent.CLICK, resumeButtonClicked);
OrbBlaster.pauseMenu.soundButton.addEventListener(MouseEvent.CLICK, soundButtonClicked);
OrbBlaster.pauseMenu.musicButton.addEventListener(MouseEvent.CLICK, musicButtonClicked);
OrbBlaster.pauseMenu.quitButton.addEventListener(MouseEvent.CLICK, quitButtonClicked);
OrbBlaster.pauseMenu.visible = false;
OrbBlaster.quitConfirmScreen = new QuitConfirmScreen();
OrbBlaster.GUI.addChild(OrbBlaster.quitConfirmScreen);
OrbBlaster.quitConfirmScreen.yesButton.tabEnabled = false;
OrbBlaster.quitConfirmScreen.noButton.tabEnabled = false;
OrbBlaster.quitConfirmScreen.x = OrbBlaster.CENTER_X;
OrbBlaster.quitConfirmScreen.y = OrbBlaster.CENTER_Y;
OrbBlaster.quitConfirmScreen.yesButton.addEventListener(MouseEvent.CLICK, yesButtonClicked);
OrbBlaster.quitConfirmScreen.noButton.addEventListener(MouseEvent.CLICK, noButtonClicked);
OrbBlaster.quitConfirmScreen.visible = false;
OrbBlaster.scoreSubmitScreen = new ScoreSubmitScreen_G5();
OrbBlaster.GUI.addChild(OrbBlaster.scoreSubmitScreen);
OrbBlaster.scoreSubmitScreen.menuButton.tabEnabled = false;
OrbBlaster.scoreSubmitScreen.x = OrbBlaster.CENTER_X;
OrbBlaster.scoreSubmitScreen.y = OrbBlaster.CENTER_Y;
OrbBlaster.scoreSubmitScreen.menuButton.addEventListener(MouseEvent.CLICK, menuButtonClicked);
OrbBlaster.scoreSubmitScreen.visible = false;
OrbBlaster.continueScreen = new ContinueScreen();
OrbBlaster.GUI.addChild(OrbBlaster.continueScreen);
OrbBlaster.continueScreen.continueYesButton.tabEnabled = false;
OrbBlaster.continueScreen.continueNoButton.tabEnabled = false;
OrbBlaster.continueScreen.x = OrbBlaster.CENTER_X;
OrbBlaster.continueScreen.y = OrbBlaster.CENTER_Y;
OrbBlaster.continueScreen.continueYesButton.addEventListener(MouseEvent.CLICK, continueYesButtonClicked);
OrbBlaster.continueScreen.continueNoButton.addEventListener(MouseEvent.CLICK, continueNoButtonClicked);
OrbBlaster.continueScreen.visible = false;
}
function frame6(){
this.stop();
}
public function onFlushStatus(_arg1:NetStatusEvent):void{
trace("User closed permission dialog...\n");
switch (_arg1.info.code){
case "SharedObject.Flush.Success":
trace("User granted permission -- value saved.\n");
break;
case "SharedObject.Flush.Failed":
trace("User denied permission -- value not saved.\n");
break;
};
OrbBlaster.progress.removeEventListener(NetStatusEvent.NET_STATUS, onFlushStatus);
}
public function soundButtonClicked(_arg1:MouseEvent):void{
OrbBlaster.soundStatus = !(OrbBlaster.soundStatus);
OrbBlaster.updateAudioButtons();
}
public function testHash():void{
var _local1:String;
_local1 = "Son_5555_0";
trace(MD5.hex_hmac_md5("DCFMH9K4J6", _local1));
}
public function initStage(_arg1:Event){
OrbBlaster.keyboard.initialize(stage);
OrbBlaster.mouse = new Mouse(stage);
}
public function completeWriting():void{
trace("done");
}
public function comboTextFadeOut(_arg1:TimerEvent):void{
OrbBlaster.comboFadeTimer.reset();
OrbBlaster.comboCounter.fadeOut();
}
public function PL_LOADING(_arg1:ProgressEvent):void{
var _local2:Number;
_local2 = ((_arg1.bytesLoaded / _arg1.bytesTotal) * 100);
percentLoaded.text = int(_local2);
if (_local2 == 100){
this.percentLoaded.visible = false;
this.rotatingOrb.visible = false;
OrbBlaster.background = this.bg;
this.gotoAndStop(4);
SoundManager.loadSounds();
this.begin();
};
}
public function normalButtonClicked(_arg1:MouseEvent):void{
var _local2:int;
OrbBlaster.hideMainMenu();
OrbBlaster.hero.setLife(3);
OrbBlaster.hero.visible = true;
OrbBlaster.gameMode = 0;
OrbBlaster.scoreBar.visible = true;
OrbBlaster.timerBar.visible = false;
OrbBlaster.statsBar.gotoAndStop(2);
OrbBlaster.statsBar.powPieces.visible = false;
OrbBlaster.hero.newSkin();
OrbBlaster.framesPassed = 0;
OrbBlaster.newBackground(0);
SoundManager.startBackgroundMusic();
_local2 = int(OrbBlaster.mainMenu.levelJumpNumber.text);
OrbBlaster.startLevel(_local2);
}
public function levelDownButtonClicked(_arg1:MouseEvent):void{
var _local2:int;
_local2 = (int(OrbBlaster.mainMenu.levelJumpNumber.text) - 1);
if (_local2 >= 1){
OrbBlaster.mainMenu.levelJumpNumber.text = _local2;
};
}
public function highScoresButtonClicked(_arg1:MouseEvent):void{
var _local2:String;
var _local3:URLRequest;
var _local4:URLVariables;
_local2 = "http://www.doogog.com/orbblaster/scoresView.php";
_local3 = new URLRequest(_local2);
_local4 = new URLVariables();
_local4.filename = "scores/normalScores.sco";
_local4.filename2 = "scores/survivalScores.sco";
_local4.scoresize = 25;
_local4.viewtype = "HTML";
navigateToURL(_local3, "_blank");
}
public function mainLoop(_arg1:Event):void{
if (OrbBlaster.pause == false){
OrbBlaster.framesPassed++;
OrbBlaster.mouse.update();
OrbBlaster.objMgr.updatePositions();
OrbBlaster.keyboard.updatePositions();
OrbBlaster.hero.update();
OrbBlaster.spawner.update();
};
}
public static function quitToMainMenu():void{
OrbBlaster.objMgr.clear();
OrbBlaster.showMainMenu();
OrbBlaster.pause = true;
OrbBlaster.resetCombo();
OrbBlaster.totalPoints = 0;
OrbBlaster.totalTime = 0;
}
public static function newBackground(_arg1:uint):void{
var _local2:uint;
if (_arg1 == 0){
_local2 = Math.floor(OrbBlaster.random(1, (OrbBlaster.background.totalFrames + 1)));
} else {
_local2 = (OrbBlaster.background.currentFrame + 1);
if (_local2 > OrbBlaster.background.totalFrames){
_local2 = 1;
};
};
OrbBlaster.background.gotoAndStop(_local2);
}
public static function pauseGame():void{
var _local1:uint;
if (((!(OrbBlaster.isPauseable)) || ((OrbBlaster.mainMenu.visible == true)))){
return;
};
if (!OrbBlaster.pause){
OrbBlaster.showPauseMenu();
SoundManager.stopBackgroundMusic();
OrbBlaster.gunEnabled = false;
OrbBlaster.pauseTimer(OrbBlaster.spawner.mineSpawnTimer);
OrbBlaster.pauseTimer(OrbBlaster.spawner.destSpawnTimer);
OrbBlaster.pauseTimer(OrbBlaster.spawner.wipeTimer);
OrbBlaster.objMgr.pauseGame();
} else {
OrbBlaster.hidePauseMenu();
SoundManager.resumeBackgroundMusic();
OrbBlaster.gunEnabled = true;
_local1 = OrbBlaster.pausedTimerArr.length;
i = 0;
while (i < _local1) {
OrbBlaster.unpauseTimer(OrbBlaster.pausedTimerArr.pop());
i++;
};
OrbBlaster.objMgr.resumeGame();
};
OrbBlaster.pause = !(OrbBlaster.pause);
}
public static function getDegrees(_arg1:Number):uint{
return (Math.round(((180 * _arg1) / Math.PI)));
}
public static function startNextLevel():void{
OrbBlaster.startLevel((OrbBlaster.curLevel + 1));
}
public static function updateScoreBar():void{
OrbBlaster.scoreBar.scoreText.text = OrbBlaster.totalPoints;
}
public static function showPauseMenu():void{
OrbBlaster.updateAudioButtons();
OrbBlaster.quitConfirmScreen.visible = false;
OrbBlaster.pauseMenu.visible = true;
}
public static function hideMainMenu():void{
OrbBlaster.mainMenu.visible = false;
OrbBlaster.mainMenu.background.clearAll();
}
public static function loadProgress():void{
OrbBlaster.progress = SharedObject.getLocal("OrbBlaster_Progress");
OrbBlaster.maxLevel = OrbBlaster.progress.data.maxLevel;
trace(("OrbBLaster maxLeveL before set: " + OrbBlaster.maxLevel));
if (OrbBlaster.maxLevel == 0){
OrbBlaster.maxLevel = 1;
OrbBlaster.saveProgress();
};
trace(("OrbBLaster maxLeveL: " + OrbBlaster.maxLevel));
}
public static function getRadians(_arg1:Number):Number{
return (((_arg1 * Math.PI) / 180));
}
public static function pauseTimer(_arg1:Timer){
if (_arg1.running){
OrbBlaster.pausedTimerArr.push(_arg1);
_arg1.stop();
};
}
public static function unpauseTimer(_arg1:Timer){
_arg1.start();
}
public static function updateAudioButtons():void{
if (OrbBlaster.soundStatus){
OrbBlaster.pauseMenu.soundStatus.text = "ON";
} else {
OrbBlaster.pauseMenu.soundStatus.text = "OFF";
};
if (OrbBlaster.musicStatus){
OrbBlaster.pauseMenu.musicStatus.text = "ON";
} else {
OrbBlaster.pauseMenu.musicStatus.text = "OFF";
};
}
public static function startLevel(_arg1:uint):void{
OrbBlaster.isPauseable = true;
OrbBlaster.pause = false;
OrbBlaster.curLevel = _arg1;
OrbBlaster.spawner.spawnLevel(_arg1);
OrbBlaster.gunEnabled = true;
OrbBlaster.hero.isInvincible = false;
OrbBlaster.comboCounter.visible = false;
OrbBlaster.updateScoreBar();
OrbBlaster.maxCombo = 0;
if (OrbBlaster.gameMode == 0){
OrbBlaster.objMgr.addEfx(6, null);
};
OrbBlaster.hero.stopRapidFire();
OrbBlaster.hero.stopRapidBomb();
OrbBlaster.hero.bombTimeCount = OrbBlaster.hero.normalBombCooldown;
}
public static function hidePauseMenu():void{
OrbBlaster.pauseMenu.visible = false;
OrbBlaster.quitConfirmScreen.visible = false;
}
public static function endLevel(_arg1:TimerEvent):void{
OrbBlaster.updateLevelStatsScreen();
OrbBlaster.levelStatsScreen.visible = true;
OrbBlaster.objMgr.clear();
}
public static function resetCombo():void{
OrbBlaster.comboCount = 1;
}
public static function updateTimerBar(_arg1:uint):void{
OrbBlaster.timerBar.timeLeft.text = _arg1;
}
public static function getAngleTo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:Number;
_local5 = _arg1;
_local6 = _arg2;
_local7 = (_arg3 - _local5);
_local8 = (_arg4 - _local6);
_local10 = Math.atan2(_local8, _local7);
return (_local10);
}
public static function gameEnd():void{
OrbBlaster.scoreSubmitScreen.theEndSymbol.visible = false;
if ((((OrbBlaster.gameMode == 0)) && ((OrbBlaster.hero.life == 0)))){
SoundManager.playBoo();
OrbBlaster.continueScreen.finalScore.text = OrbBlaster.totalPoints;
OrbBlaster.continueScreen.penaltyScore.text = String(uint((OrbBlaster.prevPoints * OrbBlaster.continuePenalty)));
OrbBlaster.continueScreen.visible = true;
} else {
if ((((OrbBlaster.gameMode == 0)) && (!((OrbBlaster.hero.life == 0))))){
OrbBlaster.scoreSubmitScreen.theEndSymbol.visible = true;
OrbBlaster.scoreSubmitScreen.movHiScores.setDetails(28, 0, "blaster", false, OrbBlaster.totalPoints, OrbBlaster.totalPoints, "points!");
OrbBlaster.showScoreSubmitScreen();
} else {
OrbBlaster.scoreSubmitScreen.movHiScores.setDetails(28, 1, "blaster", false, OrbBlaster.totalTime, OrbBlaster.totalTime, "seconds!");
OrbBlaster.showScoreSubmitScreen();
};
};
}
public static function incrCombo():void{
OrbBlaster.comboCount++;
OrbBlaster.comboCounter.setText(OrbBlaster.comboCount);
OrbBlaster.comboFadeTimer.reset();
OrbBlaster.comboFadeTimer.start();
}
static function updateLevelStatsScreen():void{
var _local1:uint;
var _local2:uint;
var _local3:uint;
var _local4:uint;
var _local5:uint;
var _local6:uint;
var _local7:uint;
var _local8:uint;
_local1 = (OrbBlaster.curLevel - (OrbBlaster.gameMode * 100));
_local2 = Math.round((OrbBlaster.framesPassed / 33));
OrbBlaster.levelStatsScreen.time.text = _local2;
_local3 = (((40 / _local2) * _local1) * 25);
OrbBlaster.levelStatsScreen.timeBonus.text = _local3;
_local4 = OrbBlaster.hero.life;
OrbBlaster.levelStatsScreen.lives.text = _local4;
_local5 = (((_local4 * 50) * _local1) / 2);
OrbBlaster.levelStatsScreen.livesBonus.text = _local5;
_local6 = OrbBlaster.maxCombo;
OrbBlaster.levelStatsScreen.maxCombo.text = _local6;
_local7 = (_local6 * 100);
OrbBlaster.levelStatsScreen.maxComboBonus.text = _local7;
_local8 = ((_local3 + _local5) + _local7);
OrbBlaster.levelStatsScreen.totalBonus.text = _local8;
OrbBlaster.bonusPoints = _local8;
}
public static function random(_arg1:Number, _arg2:Number):Number{
return ((_arg1 + ((_arg2 - _arg1) * Math.random())));
}
public static function incrPlayCounter():void{
var _local1:String;
var _local2:URLRequest;
var _local3:URLVariables;
_local1 = "http://doogog.com/PlayCounter/OB_PlayCounter.php";
_local2 = new URLRequest(_local1);
_local3 = new URLVariables();
_local2.data = _local3;
_local2.method = "POST";
_local3.hail = "hello";
}
public static function saveProgress():void{
var flushStatus:String;
OrbBlaster.progress.data.maxLevel = OrbBlaster.maxLevel;
flushStatus = null;
try {
flushStatus = OrbBlaster.progress.flush(10000);
} catch(error:Error) {
trace("Error...Could not write SharedObject to disk\n");
};
if (flushStatus != null){
switch (flushStatus){
case SharedObjectFlushStatus.PENDING:
trace("Requesting permission to save object...\n");
OrbBlaster.progress.addEventListener(NetStatusEvent.NET_STATUS, onFlushStatus);
break;
case SharedObjectFlushStatus.FLUSHED:
trace("Value flushed to disk.\n");
break;
};
};
}
public static function showScoreSubmitScreen():void{
OrbBlaster.scoreSubmitScreen.visible = true;
}
public static function playerNameFocused(_arg1:Event):void{
OrbBlaster.scoreSubmitScreen.removeEventListener(FocusEvent.FOCUS_IN, playerNameFocused);
OrbBlaster.scoreSubmitScreen.playerName.text = "";
trace("focused");
}
public static function addPoints(_arg1:uint){
OrbBlaster.totalPoints = (OrbBlaster.totalPoints + _arg1);
OrbBlaster.addBonus();
OrbBlaster.updateScoreBar();
}
public static function showMainMenu():void{
OrbBlaster.mainMenu.background.start();
OrbBlaster.mainMenu.levelJumpNumber.text = OrbBlaster.maxLevel;
OrbBlaster.mainMenu.visible = true;
}
public static function addBonus():void{
var _local1:uint;
if (OrbBlaster.comboCount >= 3){
_local1 = ((83 * Math.log(OrbBlaster.comboCount)) - 69);
_local1 = ((83 * Math.log(OrbBlaster.comboCount)) - 69);
OrbBlaster.totalPoints = (OrbBlaster.totalPoints + _local1);
};
}
public static function levelComplete():void{
var _local1:int;
trace("LEVEL COMPLETE!");
OrbBlaster.hero.isInvincible = true;
OrbBlaster.gunEnabled = false;
OrbBlaster.endLevelTimer.start();
OrbBlaster.isPauseable = false;
OrbBlaster.spawner.powerupSched = new Array();
if (OrbBlaster.gameMode == 0){
_local1 = (OrbBlaster.curLevel + 1);
if ((((_local1 < 37)) && ((OrbBlaster.maxLevel < _local1)))){
OrbBlaster.maxLevel++;
OrbBlaster.saveProgress();
};
};
}
}
}//package
Section 84
//OrbObject (OrbObject)
package {
import flash.display.*;
import utils.*;
public class OrbObject extends MovieClip {
public var radiusX:Number;
public var radiusY:Number;
public var heading:Number;
public var angularAccel:Number;
public var hitpoints:int;
public var ax:Number;
public var ay:Number;
public var maxPushSpeed:Number;
public var speed:Number;
public var spinAbility:Number;
public var vx:Number;
public var vy:Number;
public var maxGravSpeed:Number;
public var pruneRadius:int;
protected var deathLen:int;
public var isPassedWall:Boolean;// = false
protected var projID:int;
public var maxSpeed:Number;
protected var intID:int;
public var angularSpeed:Number;
public var collidedWith:OrbObject;
public var ex0:EndPoint;
public var ex1:EndPoint;
public var isMoveable:Boolean;// = true
public var ey0:EndPoint;
public var ey1:EndPoint;
static var minForce:Number = 0.5;
public function OrbObject(){
isMoveable = true;
isPassedWall = false;
super();
this.radiusX = ((this.width >> 1) + 0);
this.radiusY = ((this.height >> 1) + 0);
this.angularSpeed = 0;
this.angularAccel = 0;
}
public function distanceCheck(_arg1:OrbObject, _arg2:Number):Boolean{
var _local3:Number;
_local3 = (Math.pow((_arg1.x - this.x), 2) + Math.pow((_arg1.y - this.y), 2));
if (_local3 <= Math.pow(_arg2, 2)){
return (true);
};
return (false);
}
public function radiusTest(_arg1:OrbObject):Boolean{
var _local2:Number;
_local2 = (Math.pow((_arg1.x - this.x), 2) + Math.pow((_arg1.y - this.y), 2));
if (_local2 <= Math.pow((this.getRadius() + _arg1.getRadius()), 2)){
return (true);
};
return (false);
}
public function die():void{
}
public function checkMinForce(_arg1:Number):Number{
var _local2:Number;
_local2 = _arg1;
if (Math.abs(_local2) < OrbObject.minForce){
if (_local2 < 0){
_local2 = -(OrbObject.minForce);
} else {
_local2 = OrbObject.minForce;
};
};
return (_local2);
}
public function radiusPreTest(_arg1:Number, _arg2:Number, _arg3:OrbObject):Boolean{
var _local4:Number;
_local4 = (Math.pow((_arg3.x - _arg1), 2) + Math.pow((_arg3.y - _arg2), 2));
if (_local4 <= Math.pow((this.getRadius() + _arg3.getRadius()), 2)){
return (true);
};
return (false);
}
public function reverse():void{
trace("reversed");
this.vx = 0;
this.vy = 0;
this.ax = 0;
this.ay = 0;
}
public function getID():int{
return (projID);
}
public function applyGravity():void{
}
public function setSpeed(_arg1:Number):void{
this.speed = _arg1;
this.vx = (this.speed * Math.cos(this.heading));
this.vy = (this.speed * Math.sin(this.heading));
}
public function updatePosition():Boolean{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local1 = this.vx;
_local2 = this.vy;
_local3 = (this.vx + this.ax);
_local4 = (this.vy + this.ay);
if (Math.abs(_local3) > this.maxGravSpeed){
_local3 = _local1;
};
if (Math.abs(_local4) > this.maxGravSpeed){
_local4 = _local2;
};
this.maxSpeed = this.maxPushSpeed;
if (Math.abs(_local3) <= this.maxSpeed){
this.vx = _local3;
} else {
if (_local3 < 0){
this.vx = -(this.maxSpeed);
} else {
this.vx = this.maxSpeed;
};
};
if (Math.abs(_local4) <= this.maxSpeed){
this.vy = _local4;
} else {
if (_local4 < 0){
this.vy = -(this.maxSpeed);
} else {
this.vy = this.maxSpeed;
};
};
this.rotation = (this.rotation + this.angularSpeed);
this.angularSpeed = (this.angularSpeed + this.angularAccel);
if ((((((this.angularAccel < 0)) && ((this.angularSpeed <= 0)))) || ((((this.angularAccel > 0)) && ((this.angularSpeed >= 0)))))){
this.angularSpeed = 0;
this.angularAccel = 0;
};
_local5 = (this.x + this.vx);
_local6 = (this.y + this.vy);
this.x = _local5;
this.y = _local6;
if (this.ex0 != null){
this.ex0.value = (this.x - this.radiusX);
this.ex1.value = (this.x + this.radiusX);
};
if (this.isOutBounds(_local5, _local6)){
return (false);
};
if (!this.isPassedWall){
this.isPassedWall = true;
};
return (true);
}
public function removeMe(){
}
public function setHeading(_arg1:Number):void{
this.heading = _arg1;
this.vx = (this.speed * Math.cos(this.heading));
this.vy = (this.speed * Math.sin(this.heading));
}
public function distanceTo(_arg1:OrbObject):Number{
var _local2:Number;
_local2 = Math.sqrt((Math.pow((_arg1.x - this.x), 2) + Math.pow((_arg1.y - this.y), 2)));
return (_local2);
}
public function realignGravity():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:Number;
var _local5:Number;
var _local6:Number;
if (this.isPassedWall){
_local1 = (OrbBlaster.hero.x - this.x);
_local2 = (OrbBlaster.hero.y - this.y);
_local4 = Math.atan2(_local2, _local1);
this.heading = _local4;
_local5 = Math.cos(this.heading);
_local6 = Math.sin(this.heading);
this.ax = (OrbBlaster.GRAVITY * _local5);
this.ay = (OrbBlaster.GRAVITY * _local6);
this.vx = ((0.2 * this.speed) * _local5);
this.vy = ((0.2 * this.speed) * _local6);
this.x = (this.x + (0.15 * _local5));
this.y = (this.y + (0.15 * _local6));
};
}
public function walkLeft():void{
this.x = (this.x - this.speed);
}
public function goTo(_arg1:Number, _arg2:Number):void{
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:Number;
_local3 = (_arg1 - this.x);
_local4 = (_arg2 - this.y);
_local6 = Math.atan2(_local4, _local3);
this.setHeading(_local6);
}
public function repelled():void{
var _local1:int;
var _local2:int;
var _local3:Number;
_local1 = (this.x - OrbBlaster.hero.x);
_local2 = (this.y - OrbBlaster.hero.y);
_local3 = Math.atan2(_local2, _local1);
this.heading = _local3;
this.vx = (OrbBlaster.repelSpeed * Math.cos(this.heading));
this.vy = (OrbBlaster.repelSpeed * Math.sin(this.heading));
}
public function getRadius():Number{
return (this.radiusX);
}
public function isOutBounds(_arg1:Number, _arg2:Number):Boolean{
return ((((((((_arg1 > OrbBlaster.X_MAX)) || ((_arg1 < OrbBlaster.X_MIN)))) || ((_arg2 > OrbBlaster.Y_MAX)))) || ((_arg2 < OrbBlaster.Y_MIN))));
}
public function transferMomentum(_arg1:OrbObject):void{
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;
if (_arg1.isOutBounds(_arg1.x, _arg1.y)){
return;
};
_local2 = Math.atan2((this.y - _arg1.y), (_arg1.x - this.x));
_local3 = (_local2 - (Math.PI / 2));
_local4 = (this.getHeading() - _local3);
_local5 = (Math.abs((Math.sin(_local4) * this.speed)) * _arg1.pushAbility);
_local6 = (_local5 * Math.cos(_local2));
_local7 = (_local5 * Math.sin(_local2));
_arg1.vx = (_arg1.vx + _local6);
_arg1.vy = (_arg1.vy - _local7);
if (Math.abs(_local6) > Math.abs(_local7)){
_local8 = (Math.abs(_local6) - Math.abs(_local7));
} else {
_local8 = (Math.abs(_local7) - Math.abs(_local6));
};
_local9 = this.getHeading();
_local10 = _local2;
_local9 = (_local9 + Math.PI);
_local10 = (_local10 + Math.PI);
if (_local9 < 0){
_local9 = ((Math.PI * 2) + _local9);
};
if (_local10 < 0){
_local10 = ((Math.PI * 2) + _local10);
};
if (_local10 > _local9){
_local8 = -(_local8);
};
_arg1.angularSpeed = (_arg1.angularSpeed + (_local8 * _arg1.spinAbility));
if (_arg1.angularSpeed > 10){
_arg1.angularSpeed = 10;
};
if (_arg1.angularSpeed < -10){
_arg1.angularSpeed = -10;
};
_arg1.angularAccel = ((-1 * _local8) / 50);
}
public function walk(_arg1:int):void{
switch (_arg1){
case 0:
walkLeft();
break;
case 1:
walkRight();
break;
};
}
public function walkRight():void{
this.x = (this.x + this.speed);
}
public function idle():void{
}
public function getHeading():Number{
return (Math.atan2(-(this.vy), this.vx));
}
}
}//package
Section 85
//PauseButton (PauseButton)
package {
import flash.display.*;
public dynamic class PauseButton extends SimpleButton {
}
}//package
Section 86
//PauseMenu (PauseMenu)
package {
import flash.display.*;
import flash.text.*;
public dynamic class PauseMenu extends MovieClip {
public var soundButton:SimpleButton;
public var quitButton:SimpleButton;
public var musicStatus:TextField;
public var musicButton:SimpleButton;
public var resumeButton:SimpleButton;
public var soundStatus:TextField;
}
}//package
Section 87
//Powerup (Powerup)
package {
public class Powerup extends Mob {
static var SLOW:int = -4;
static var REPEL:int = -5;
static var RB:int = -3;
static var LIFE2:int = -6;
static var Z:int = 0;
static var RF:int = -2;
static var LIFE:int = -1;
public function Powerup(_arg1:Number, _arg2:Number):void{
super(_arg1, _arg2, 0, 0, this.speed);
this.pushAbility = 0;
this.type = 3;
this.vx = 0;
this.vy = 0;
this.ay = 0;
this.ax = 0;
this.hitpoints = 10;
}
override public function damagedBy(_arg1:OrbObject):void{
}
public function pulse():void{
this.radiusX = 21;
this.radiusY = 21;
}
public function activatePowerup():void{
}
}
}//package
Section 88
//Powerup_Life (Powerup_Life)
package {
public class Powerup_Life extends Powerup {
public function Powerup_Life(_arg1:Number, _arg2:Number):void{
addFrameScript(6, frame7, 18, frame19);
super(_arg1, _arg2);
}
function frame19(){
gotoAndPlay("pulse");
}
function frame7(){
this.pulse();
}
override public function activatePowerup():void{
OrbBlaster.hero.setLife((OrbBlaster.hero.life + 1));
}
}
}//package
Section 89
//Powerup_Life3 (Powerup_Life3)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class Powerup_Life3 extends MovieClip {
public function Powerup_Life3(){
addFrameScript(6, frame7, 18, frame19);
}
function frame7(){
this.pulse();
}
function frame19(){
gotoAndPlay("pulse");
}
}
}//package
Section 90
//Powerup_RapidBomb (Powerup_RapidBomb)
package {
public class Powerup_RapidBomb extends Powerup {
public function Powerup_RapidBomb(_arg1:Number, _arg2:Number):void{
addFrameScript(6, frame7, 18, frame19);
super(_arg1, _arg2);
}
function frame19(){
gotoAndPlay("pulse");
}
function frame7(){
this.pulse();
}
override public function activatePowerup():void{
OrbBlaster.hero.startRapidBomb();
}
}
}//package
Section 91
//Powerup_RapidFire (Powerup_RapidFire)
package {
public class Powerup_RapidFire extends Powerup {
public function Powerup_RapidFire(_arg1:Number, _arg2:Number):void{
addFrameScript(6, frame7, 18, frame19);
super(_arg1, _arg2);
}
function frame19(){
gotoAndPlay("pulse");
}
function frame7(){
this.pulse();
}
override public function activatePowerup():void{
OrbBlaster.hero.startRapidFire();
}
}
}//package
Section 92
//Projectile (Projectile)
package {
public class Projectile extends OrbObject {
public var comboID:uint;
public var type:uint;
public var damage:uint;
static var bombDamage:uint = 80;
public function Projectile(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number){
var _local6:int;
var _local7:int;
var _local8:Number;
super();
this.pruneRadius = 81;
this.x = _arg1;
this.y = _arg2;
this.speed = _arg5;
this.ax = 0;
this.ay = 0;
this.maxSpeed = 5;
_local6 = (_arg3 - _arg1);
_local7 = (_arg4 - _arg2);
_local8 = Math.atan2(_local7, _local6);
this.heading = _local8;
this.heading = (((OrbBlaster.hero.cannon.rotation - 90) * Math.PI) / 180);
this.vx = (this.speed * Math.cos(this.heading));
this.vy = (this.speed * Math.sin(this.heading));
this.rotation = OrbBlaster.hero.cannon.rotation;
}
override public function die():void{
OrbBlaster.objMgr.killProj(this);
}
public function gotHit():void{
OrbBlaster.objMgr.addProjEfx(0, this);
this.die();
}
override public function isOutBounds(_arg1:Number, _arg2:Number):Boolean{
return ((((((((_arg1 > OrbBlaster.PROJ_X_MAX)) || ((_arg1 < OrbBlaster.PROJ_X_MIN)))) || ((_arg2 > OrbBlaster.PROJ_Y_MAX)))) || ((_arg2 < OrbBlaster.PROJ_Y_MIN))));
}
}
}//package
Section 93
//Projectile0 (Projectile0)
package {
public class Projectile0 extends Projectile {
public function Projectile0(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
this.speed = 17;
super(_arg1, _arg2, _arg3, _arg4, this.speed);
this.maxSpeed = 128;
this.maxPushSpeed = 128;
this.maxGravSpeed = 128;
this.type = 0;
this.damage = 10;
}
}
}//package
Section 94
//Projectile1 (Projectile1)
package {
public class Projectile1 extends Projectile {
public function Projectile1(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
this.speed = 17;
super(_arg1, _arg2, _arg3, _arg4, this.speed);
this.maxSpeed = 128;
this.maxPushSpeed = 128;
this.maxGravSpeed = 128;
this.type = 0;
this.damage = 10;
}
override public function gotHit():void{
OrbBlaster.objMgr.addProjEfx(1, this);
this.die();
}
}
}//package
Section 95
//Projectile2 (Projectile2)
package {
public class Projectile2 extends Projectile {
public function Projectile2(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
this.speed = 17;
super(_arg1, _arg2, _arg3, _arg4, this.speed);
this.maxSpeed = 128;
this.maxPushSpeed = 128;
this.maxGravSpeed = 128;
this.type = 0;
this.damage = 10;
}
override public function gotHit():void{
OrbBlaster.objMgr.addProjEfx(2, this);
this.die();
}
}
}//package
Section 96
//QuitConfirmScreen (QuitConfirmScreen)
package {
import flash.display.*;
public dynamic class QuitConfirmScreen extends MovieClip {
public var noButton:SimpleButton;
public var yesButton:SimpleButton;
}
}//package
Section 97
//ScoreBar (ScoreBar)
package {
import flash.display.*;
import flash.text.*;
public dynamic class ScoreBar extends MovieClip {
public var scoreText:TextField;
}
}//package
Section 98
//ScoreSubmitScreen (ScoreSubmitScreen)
package {
import flash.display.*;
import flash.text.*;
public dynamic class ScoreSubmitScreen extends MovieClip {
public var theEndText:MovieClip;
public var playerName:TextField;
public var tryAgainText:MovieClip;
public var totalTimeLabel:MovieClip;
public var goodLuckText:MovieClip;
public var submitButton:SimpleButton;
public var menuButton:SimpleButton;
public var finalScoreLabel:MovieClip;
public var finalScore:TextField;
public var submittedText:MovieClip;
}
}//package
Section 99
//ScoreSubmitScreen_G5 (ScoreSubmitScreen_G5)
package {
import flash.display.*;
public dynamic class ScoreSubmitScreen_G5 extends MovieClip {
public var menuButton:SimpleButton;
public var movHiScores:HiScores;
public var theEndSymbol:MovieClip;
}
}//package
Section 100
//ShieldBlast (ShieldBlast)
package {
public class ShieldBlast extends Explosion {
public function ShieldBlast(_arg1:Number, _arg2:Number):void{
addFrameScript(12, frame13);
super(_arg1, _arg2);
this.type = Explosion.SHIELD_BLAST;
this.pruneRadius = 50;
this.alpha = 0.5;
this.baseRadius = 35;
this.radiusX = (this.baseRadius * this.scaleX);
}
function frame13(){
this.die();
}
override public function updateRadius():void{
this.pruneRadius = ((this.width >> 1) + 20);
switch (this.currentFrame){
case 8:
this.radiusX = (43.5 * this.scaleX);
break;
case 10:
this.radiusX = (62 * this.scaleX);
};
}
}
}//package
Section 101
//Ship (Ship)
package {
import flash.display.*;
import flash.geom.*;
public class Ship extends Mob {
public var hitFlash:MovieClip;
public var fireTimerBase:uint;
public var getNewDest:Boolean;// = false
public var fireTimer:uint;
public var timerCount:uint;// = 0
public var accel:Number;
public var firePoint:MovieClip;
public var hitFlashCount:uint;// = 0
public var projSpeed:Number;
public var maxDist:Number;// = 225
public var minDist:Number;// = 100
public var isSpinning:Boolean;// = false
public var minFireDist:uint;
public var knockBack:int;// = 100
public var tetherForce:Number;
public function Ship(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
var _local5:Point;
timerCount = 0;
getNewDest = false;
isSpinning = false;
hitFlashCount = 0;
minDist = 100;
maxDist = 225;
knockBack = 100;
super(_arg1, _arg2, _arg3, _arg4, this.speed);
this.damage = 10;
this.pushAbility = 0;
this.points = 500;
this.type = 1;
this.explType = Explosion.MINE_4;
this.fireTimerBase = 0x0100;
this.fireTimer = OrbBlaster.random((this.fireTimerBase * 0.75), (this.fireTimerBase * 1.25));
this.accel = 0.05;
this.maxPushSpeed = 3;
this.hitpoints = 200;
this.tetherForce = 0.25;
this.projSpeed = 3.5;
this.firePoint.visible = false;
this.hitFlash.visible = false;
this.minFireDist = 195;
_local5 = this.getNextDest();
this.setNewAccel(_local5);
}
override public function damagedBy(_arg1:OrbObject):void{
var _local2:Number;
if (this.hitFlash == null){
trace("ERROR: SHIP IS ALREADY DEAD");
return;
};
this.hitpoints = (this.hitpoints - _arg1.damage);
this.hitFlashCount = 3;
if (this.hitFlash.visible == false){
this.hitFlash.visible = true;
};
if (this.hitpoints <= 0){
this.die();
OrbBlaster.objMgr.addExplosion(this.explType, this.x, this.y, projID);
} else {
if (_arg1.type == 1){
_local2 = OrbBlaster.getAngleTo(_arg1.x, _arg1.y, this.x, this.y);
this.vx = (Math.cos(_local2) * this.knockBack);
this.vy = (Math.sin(_local2) * this.knockBack);
this.isSpinning = true;
this.gotoAndPlay("spin");
};
};
}
public function getAngleFromPlayer():Number{
var _local1:*;
var _local2:Number;
_local1 = OrbBlaster.getAngleTo(OrbBlaster.hero.x, OrbBlaster.hero.y, this.x, this.y);
_local2 = ((_local1 * 180) / Math.PI);
return (_local2);
}
public function fire():void{
var _local1:Point;
_local1 = new Point(this.firePoint.x, this.firePoint.y);
_local1 = this.localToGlobal(_local1);
OrbBlaster.objMgr.addMobMissile(0, _local1.x, _local1.y, OrbBlaster.hero.x, OrbBlaster.hero.y, this.projSpeed);
this.fireTimer = OrbBlaster.random((this.fireTimerBase * 0.75), (this.fireTimerBase * 1.25));
}
override public function die():void{
if (this.firePoint != null){
this.removeChild(this.firePoint);
this.removeChild(this.hitFlash);
this.firePoint = null;
this.hitFlash = null;
OrbBlaster.objMgr.killMob(this);
};
}
override public function updateFace():void{
var _local1:Number;
var _local2:Number;
var _local3:Point;
_local1 = this.getAngleFromPlayer();
this.rotation = (_local1 - 90);
_local2 = (Math.pow((OrbBlaster.CENTER_X - this.x), 2) + Math.pow((OrbBlaster.CENTER_Y - this.y), 2));
if (_local2 >= Math.pow(this.maxDist, 2)){
_local1 = OrbBlaster.getAngleTo(this.x, this.y, OrbBlaster.CENTER_X, OrbBlaster.CENTER_Y);
this.getNewDest = true;
this.vx = (this.vx + (Math.cos(_local1) * 0.2));
this.vy = (this.vy + (Math.sin(_local1) * 0.2));
} else {
if (this.getNewDest){
_local3 = this.getNextDest();
this.setNewAccel(_local3);
this.getNewDest = false;
};
};
if (_local2 <= Math.pow(this.minDist, 2)){
_local1 = OrbBlaster.getAngleTo(OrbBlaster.CENTER_X, OrbBlaster.CENTER_Y, this.x, this.y);
_local1 = (_local1 + OrbBlaster.random(-1, 1));
this.vx = (this.vx + (Math.cos(_local1) * this.tetherForce));
this.vy = (this.vy + (Math.sin(_local1) * this.tetherForce));
};
if (this.timerCount >= (this.fireTimer - 30)){
};
if (this.timerCount >= this.fireTimer){
if ((((_local2 > Math.pow(this.minFireDist, 2))) && (!(this.isSpinning)))){
this.fire();
this.timerCount = 0;
};
};
this.timerCount++;
if (this.hitFlashCount > 1){
this.hitFlashCount--;
} else {
if (this.hitFlashCount == 1){
this.hitFlash.visible = false;
this.hitFlashCount--;
};
};
}
override public function updatePosition():Boolean{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local1 = this.vx;
_local2 = this.vy;
_local3 = (this.vx + this.ax);
_local4 = (this.vy + this.ay);
if (Math.abs(_local3) > this.maxGravSpeed){
_local3 = _local1;
};
if (Math.abs(_local4) > this.maxGravSpeed){
_local4 = _local2;
};
this.maxSpeed = this.maxPushSpeed;
if (Math.abs(_local3) <= this.maxSpeed){
this.vx = _local3;
} else {
if (_local3 < 0){
this.vx = -(this.maxSpeed);
} else {
this.vx = this.maxSpeed;
};
};
if (Math.abs(_local4) <= this.maxSpeed){
this.vy = _local4;
} else {
if (_local4 < 0){
this.vy = -(this.maxSpeed);
} else {
this.vy = this.maxSpeed;
};
};
this.rotation = (this.rotation + this.angularSpeed);
this.angularSpeed = (this.angularSpeed + this.angularAccel);
if ((((((this.angularAccel < 0)) && ((this.angularSpeed <= 0)))) || ((((this.angularAccel > 0)) && ((this.angularSpeed >= 0)))))){
this.angularSpeed = 0;
this.angularAccel = 0;
};
_local5 = (this.x + this.vx);
_local6 = (this.y + this.vy);
this.x = _local5;
this.y = _local6;
if (this.ex0 != null){
this.ex0.value = (this.x - this.radiusX);
this.ex1.value = (this.x + this.radiusX);
};
return (true);
}
public function setNewAccel(_arg1:Point):Point{
var _local2:Number;
_local2 = OrbBlaster.getAngleTo(this.x, this.y, _arg1.x, _arg1.y);
this.ax = (Math.cos(_local2) * this.accel);
this.ay = (Math.sin(_local2) * this.accel);
}
public function getNextDest():Point{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Point;
_local1 = OrbBlaster.getAngleTo(OrbBlaster.hero.x, OrbBlaster.hero.y, this.x, this.y);
_local4 = new Point();
_local3 = OrbBlaster.random(-0.873, 0.873);
if (_local3 >= 0){
_local3 = (_local3 + 0.35);
} else {
_local3 = (_local3 - 0.35);
};
_local1 = (_local1 + _local3);
_local2 = OrbBlaster.random(125, 225);
_local4.x = ((Math.cos(_local1) * _local2) + OrbBlaster.CENTER_X);
_local4.y = ((Math.sin(_local1) * _local2) + OrbBlaster.CENTER_Y);
return (_local4);
}
}
}//package
Section 102
//sndSlap (sndSlap)
package {
import flash.media.*;
public dynamic class sndSlap extends Sound {
}
}//package
Section 103
//Sound_Boo (Sound_Boo)
package {
import flash.media.*;
public dynamic class Sound_Boo extends Sound {
}
}//package
Section 104
//Sound_Cheer (Sound_Cheer)
package {
import flash.media.*;
public dynamic class Sound_Cheer extends Sound {
}
}//package
Section 105
//Sound_Cheer1 (Sound_Cheer1)
package {
import flash.media.*;
public dynamic class Sound_Cheer1 extends Sound {
}
}//package
Section 106
//Sound_Click0 (Sound_Click0)
package {
import flash.media.*;
public dynamic class Sound_Click0 extends Sound {
}
}//package
Section 107
//Sound_Explosion25 (Sound_Explosion25)
package {
import flash.media.*;
public dynamic class Sound_Explosion25 extends Sound {
}
}//package
Section 108
//Sound_Explosion26 (Sound_Explosion26)
package {
import flash.media.*;
public dynamic class Sound_Explosion26 extends Sound {
}
}//package
Section 109
//Sound_Explosion27 (Sound_Explosion27)
package {
import flash.media.*;
public dynamic class Sound_Explosion27 extends Sound {
}
}//package
Section 110
//Sound_FireBomb0 (Sound_FireBomb0)
package {
import flash.media.*;
public dynamic class Sound_FireBomb0 extends Sound {
}
}//package
Section 111
//Sound_FireBomb1 (Sound_FireBomb1)
package {
import flash.media.*;
public dynamic class Sound_FireBomb1 extends Sound {
}
}//package
Section 112
//Sound_FireBomb2 (Sound_FireBomb2)
package {
import flash.media.*;
public dynamic class Sound_FireBomb2 extends Sound {
}
}//package
Section 113
//Sound_LaserShot (Sound_LaserShot)
package {
import flash.media.*;
public dynamic class Sound_LaserShot extends Sound {
}
}//package
Section 114
//Sound_MissileBeep (Sound_MissileBeep)
package {
import flash.media.*;
public dynamic class Sound_MissileBeep extends Sound {
}
}//package
Section 115
//Sound_NormalShot (Sound_NormalShot)
package {
import flash.media.*;
public dynamic class Sound_NormalShot extends Sound {
}
}//package
Section 116
//Sound_Powerup (Sound_Powerup)
package {
import flash.media.*;
public dynamic class Sound_Powerup extends Sound {
}
}//package
Section 117
//SoundManager (SoundManager)
package {
import flash.events.*;
import flash.media.*;
public class SoundManager {
static var normalShot:Sound;
static var bgMusicChannel:SoundChannel;
static var cheer1:Sound;
static var explosion25:Sound;
static var explosion26:Sound;
static var explosion27:Sound;
static var click0:Sound;
static var curExplType:uint = 0;
static var explChannelArr = new Array(4);
static var bgMusicPosition:int = 0;
static var fireBomb0:Sound;
static var fireBomb1:Sound;
static var fireBomb2:Sound;
static var boo:Sound;
static var cheer:Sound;
static var bgMusic:Sound;
static var laserShot:Sound;
static var powerup:Sound;
static var missileBeep:Sound;
public function SoundManager():void{
}
public static function playPowerup():void{
var _local1:SoundChannel;
if (OrbBlaster.soundStatus){
_local1 = SoundManager.powerup.play();
};
}
public static function playMobShot0():void{
var _local1:SoundChannel;
if (OrbBlaster.soundStatus){
_local1 = SoundManager.laserShot.play();
};
}
public static function playMobShot1():void{
var _local1:SoundChannel;
if (OrbBlaster.soundStatus){
_local1 = SoundManager.missileBeep.play();
};
}
public static function resumeBackgroundMusic():void{
if (OrbBlaster.musicStatus){
SoundManager.playBackgroundMusic(SoundManager.bgMusicPosition);
if (SoundManager.bgMusicChannel != null){
SoundManager.bgMusicChannel.addEventListener(Event.SOUND_COMPLETE, loopBackgroundMusic);
};
};
}
public static function stopBackgroundMusic():void{
if (SoundManager.bgMusicChannel != null){
SoundManager.bgMusicPosition = SoundManager.bgMusicChannel.position;
SoundManager.bgMusicChannel.stop();
SoundManager.bgMusicChannel.removeEventListener(Event.SOUND_COMPLETE, loopBackgroundMusic);
};
}
public static function playBackgroundMusic(_arg1:uint):void{
var _local2:SoundTransform;
SoundManager.bgMusicChannel = SoundManager.bgMusic.play(_arg1);
if (SoundManager.bgMusicChannel != null){
_local2 = SoundManager.bgMusicChannel.soundTransform;
_local2.volume = 0.5;
SoundManager.bgMusicChannel.soundTransform = _local2;
};
}
public static function playMobExplosion():void{
var _local1:Sound;
var _local2:SoundChannel;
var _local3:uint;
if (OrbBlaster.soundStatus){
_local2 = SoundManager.explChannelArr.shift();
if (_local2 != null){
_local2.stop();
_local2 = null;
};
_local3 = SoundManager.curExplType++;
switch (_local3){
case 0:
_local1 = SoundManager.explosion25;
break;
case 1:
_local1 = SoundManager.explosion26;
break;
case 2:
_local1 = SoundManager.explosion27;
SoundManager.curExplType = 0;
break;
default:
_local1 = SoundManager.explosion25;
};
_local2 = _local1.play();
SoundManager.explChannelArr.push(_local2);
};
}
public static function playBombFire():void{
var _local1:SoundChannel;
if (OrbBlaster.soundStatus){
switch (OrbBlaster.hero.skinType){
case 1:
_local1 = SoundManager.fireBomb0.play();
break;
case 2:
_local1 = SoundManager.fireBomb2.play();
break;
default:
_local1 = SoundManager.fireBomb1.play();
};
};
}
public static function loadSounds():void{
SoundManager.bgMusic = new Music_Background();
SoundManager.explosion25 = new Sound_Explosion25();
SoundManager.explosion26 = new Sound_Explosion26();
SoundManager.explosion27 = new Sound_Explosion27();
SoundManager.powerup = new Sound_Powerup();
SoundManager.cheer = new Sound_Cheer();
SoundManager.cheer1 = new Sound_Cheer1();
SoundManager.boo = new Sound_Boo();
SoundManager.click0 = new Sound_Click0();
SoundManager.fireBomb0 = new Sound_FireBomb0();
SoundManager.fireBomb1 = new Sound_FireBomb1();
SoundManager.fireBomb2 = new Sound_FireBomb2();
SoundManager.normalShot = new Sound_NormalShot();
SoundManager.laserShot = new Sound_LaserShot();
SoundManager.missileBeep = new Sound_MissileBeep();
SoundManager.click0 = new Sound_Click0();
}
public static function loopBackgroundMusic(_arg1:Event):void{
if (SoundManager.bgMusicChannel != null){
SoundManager.bgMusicChannel.removeEventListener(Event.SOUND_COMPLETE, loopBackgroundMusic);
SoundManager.startBackgroundMusic();
};
}
public static function playMachineGun():void{
var _local1:SoundChannel;
if (OrbBlaster.soundStatus){
_local1 = SoundManager.normalShot.play();
};
}
public static function startBackgroundMusic():void{
if (OrbBlaster.musicStatus){
SoundManager.bgMusicPosition = 0;
SoundManager.playBackgroundMusic(0);
if (SoundManager.bgMusicChannel != null){
SoundManager.bgMusicChannel.addEventListener(Event.SOUND_COMPLETE, loopBackgroundMusic);
};
};
}
public static function playShipFire():void{
}
public static function playBoo():void{
var _local1:SoundChannel;
if (OrbBlaster.soundStatus){
_local1 = SoundManager.boo.play();
};
}
public static function playCheer():void{
var _local1:uint;
var _local2:SoundChannel;
if (OrbBlaster.soundStatus){
_local1 = Math.floor(OrbBlaster.random(0, 2));
switch (_local1){
case 0:
_local2 = SoundManager.cheer.play();
break;
case 1:
_local2 = SoundManager.cheer1.play();
break;
default:
_local2 = SoundManager.cheer.play();
};
};
}
public static function playClick0():void{
var _local1:SoundChannel;
if (OrbBlaster.soundStatus){
_local1 = SoundManager.click0.play();
};
}
}
}//package
Section 118
//Spawner (Spawner)
package {
import flash.events.*;
import flash.utils.*;
public class Spawner {
public var destSpawnDelayVar:uint;
public var powerupTimer:uint;
public var destSpawnDelay:uint;
public var destSpawnTimer:Timer;
public var wipeTimer:Timer;
public var clusterChance:Number;// = 0
public var maxCurDestroyers:uint;
public var clusterAmtVar:uint;
public var clusterAmtBase:uint;
public var curLevel:uint;// = 0
public var wipeCountdown:int;
public var mineSpawnDelayVar:Number;
public var maxDestroyers:uint;
public var powerupSched:Array;
public var mineSpawnDelay:Number;
public var maxMines:uint;// = 0
public var mineSpawnTimer:Timer;
public function Spawner(){
curLevel = 0;
maxMines = 0;
clusterChance = 0;
super();
this.mineSpawnTimer = new Timer(100, 0);
this.mineSpawnTimer.addEventListener(TimerEvent.TIMER, spawnMine);
this.destSpawnTimer = new Timer(100, 0);
this.destSpawnTimer.addEventListener(TimerEvent.TIMER, spawnDestroyer);
this.wipeTimer = new Timer(1000, 0);
this.wipeTimer.addEventListener(TimerEvent.TIMER, wipeTick);
}
public function stop():void{
this.mineSpawnTimer.stop();
}
public function stopDest():void{
this.destSpawnTimer.stop();
}
public function wipeTick(_arg1:TimerEvent):void{
if (this.wipeCountdown == 0){
trace("wipe initiated!");
this.destSpawnTimer.stop();
this.mineSpawnTimer.stop();
this.powerupSched = new Array();
this.wipe();
this.wipeCountdown = -1;
this.wipeTimer.reset();
this.wipeTimer.delay = 2000;
this.wipeTimer.start();
} else {
if (this.wipeCountdown == -1){
this.wipeTimer.reset();
this.wipeTimer.delay = 1000;
OrbBlaster.curLevel++;
this.spawnLevel(OrbBlaster.curLevel);
} else {
this.wipeCountdown--;
OrbBlaster.totalTime++;
OrbBlaster.updateTimerBar(this.wipeCountdown);
};
};
}
public function wipe():void{
OrbBlaster.objMgr.wipe();
}
public function spawnLevel(_arg1:uint):void{
var _local2:uint;
var _local3:uint;
var _local4:uint;
trace(("spawning level " + _arg1));
OrbBlaster.mobsSpawned = 0;
OrbBlaster.mobsKilled = 0;
OrbBlaster.destKilled = 0;
this.powerupTimer = 0;
this.powerupSched = new Array();
OrbBlaster.objMgr.mineCount = 0;
OrbBlaster.objMgr.mobCount = 0;
OrbBlaster.objMgr.curDestCount = 0;
OrbBlaster.framesPassed = 0;
this.wipeCountdown = 999;
OrbBlaster.newBackground(1);
OrbBlaster.prevPoints = OrbBlaster.totalPoints;
if (OrbBlaster.gameMode == 0){
if (_arg1 < 8){
OrbBlaster.hero.setNormalCooldown(5);
OrbBlaster.hero.normalBombCooldown = 65;
} else {
if ((((_arg1 >= 8)) && ((_arg1 < 16)))){
OrbBlaster.hero.setNormalCooldown(4);
OrbBlaster.hero.normalBombCooldown = 60;
} else {
if ((((_arg1 >= 16)) && ((_arg1 < 28)))){
OrbBlaster.hero.setNormalCooldown(4);
OrbBlaster.hero.normalBombCooldown = 55;
} else {
if (_arg1 >= 28){
OrbBlaster.hero.setNormalCooldown(3);
OrbBlaster.hero.normalBombCooldown = 55;
};
};
};
};
} else {
OrbBlaster.hero.setNormalCooldown(5);
OrbBlaster.hero.normalBombCooldown = 70;
};
if (_arg1 == 1){
this.mineSpawnDelay = 1000;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 0.6;
this.clusterAmtBase = 3;
this.clusterAmtVar = 0;
this.clusterChance = 1;
OrbBlaster.killsGoal = 8;
this.maxMines = 3;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [1, 0, 0, 0, 0, 0, 0, 0, 0];
this.destSpawnDelay = 600;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 0;
this.maxCurDestroyers = 0;
OrbBlaster.destTypeArr = [9, 10, 11];
OrbBlaster.destTypeProbArr = [1, 0, 0];
this.powerupSched = new Array();
OrbBlaster.background.addChild(new TutorialHint());
} else {
if (_arg1 == 2){
this.mineSpawnDelay = 800;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 1.4;
this.clusterAmtBase = 3;
this.clusterAmtVar = 1;
this.clusterChance = 0.5;
OrbBlaster.killsGoal = 16;
this.maxMines = 5;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [3, 0, 0, 0, 1, 0, 0, 0, 0];
this.destSpawnDelay = 600;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 0;
this.maxCurDestroyers = 0;
OrbBlaster.destTypeArr = [9, 10, 11];
OrbBlaster.destTypeProbArr = [1, 0, 0];
this.powerupSched = new Array();
} else {
if (_arg1 == 3){
this.mineSpawnDelay = 200;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 0.8;
this.clusterAmtBase = 3;
this.clusterAmtVar = 1;
this.clusterChance = 0.9;
OrbBlaster.killsGoal = 40;
this.maxMines = 12;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [7, 0, 0, 0, 1, 0, 0, 0, 0];
this.destSpawnDelay = 600;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 0;
this.maxCurDestroyers = 0;
OrbBlaster.destTypeArr = [9, 10, 11];
OrbBlaster.destTypeProbArr = [1, 0, 0];
this.powerupSched = [50, Powerup.RB, 250, Powerup.RB, 500, Powerup.RB];
} else {
if (_arg1 == 4){
this.mineSpawnDelay = 600;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 1.4;
this.clusterAmtBase = 3;
this.clusterAmtVar = 1;
this.clusterChance = 0.7;
OrbBlaster.killsGoal = 12;
this.maxMines = 6;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [0, 0, 0, 1, 0, 0, 0, 0, 0];
this.destSpawnDelay = 600;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 0;
this.maxCurDestroyers = 0;
OrbBlaster.destTypeArr = [9, 10, 11];
OrbBlaster.destTypeProbArr = [1, 0, 0];
this.powerupSched = new Array();
} else {
if (_arg1 == 5){
this.mineSpawnDelay = 900;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 1.4;
this.clusterAmtBase = 2;
this.clusterAmtVar = 1;
this.clusterChance = 0.4;
OrbBlaster.killsGoal = 32;
this.maxMines = 10;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [3, 0, 0, 1, 3, 0, 0, 0, 0];
this.destSpawnDelay = 600;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 0;
this.maxCurDestroyers = 0;
OrbBlaster.destTypeArr = [9, 10, 11];
OrbBlaster.destTypeProbArr = [1, 0, 0];
this.powerupSched = new Array();
} else {
if (_arg1 == 6){
this.mineSpawnDelay = 900;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 1.4;
this.clusterAmtBase = 2;
this.clusterAmtVar = 1;
this.clusterChance = 0;
OrbBlaster.killsGoal = 2;
this.maxMines = 0;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [3, 0, 0, 1, 3, 0, 0, 0, 0];
this.destSpawnDelay = 600;
this.destSpawnDelayVar = 0;
this.maxCurDestroyers = 2;
this.maxDestroyers = 2;
OrbBlaster.destTypeArr = [9, 10, 11, 102];
OrbBlaster.destTypeProbArr = [0, 0, 0, 1];
this.powerupSched = new Array();
} else {
if (_arg1 == 7){
this.mineSpawnDelay = 900;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 1.55;
this.clusterAmtBase = 2;
this.clusterAmtVar = 1;
this.clusterChance = 0.4;
OrbBlaster.killsGoal = 34;
this.maxMines = 13;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [3, 0, 0, 1, 3, 0, 0, 0, 0];
this.destSpawnDelay = 600;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 0;
this.maxCurDestroyers = 0;
OrbBlaster.destTypeArr = [9, 10, 11];
OrbBlaster.destTypeProbArr = [1, 0, 0];
this.powerupSched = [100, Powerup.LIFE];
} else {
if (_arg1 == 8){
this.mineSpawnDelay = 900;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 1.55;
this.clusterAmtBase = 2;
this.clusterAmtVar = 1;
this.clusterChance = 0.4;
OrbBlaster.killsGoal = 20;
this.maxMines = 10;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [1, 0, 10, 0, 1, 0, 0, 0, 0];
this.destSpawnDelay = 600;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 0;
this.maxCurDestroyers = 0;
OrbBlaster.destTypeArr = [9, 10, 11];
OrbBlaster.destTypeProbArr = [1, 0, 0];
this.powerupSched = new Array();
} else {
if (_arg1 == 9){
this.mineSpawnDelay = 200;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 1.15;
this.clusterAmtBase = 3;
this.clusterAmtVar = 1;
this.clusterChance = 0.3;
OrbBlaster.killsGoal = 50;
this.maxMines = 12;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [1, 0, 5, 0, 1, 0, 0, 0, 0];
this.destSpawnDelay = 600;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 0;
this.maxCurDestroyers = 0;
OrbBlaster.destTypeArr = [9, 10, 11];
OrbBlaster.destTypeProbArr = [1, 0, 0];
this.powerupSched = [100, Powerup.RB];
} else {
if (_arg1 == 10){
this.mineSpawnDelay = 900;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 1.15;
this.clusterAmtBase = 3;
this.clusterAmtVar = 1;
this.clusterChance = 0.4;
OrbBlaster.killsGoal = 28;
this.maxMines = 10;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [1, 0, 0, 0, 0, 0, 0, 0, 0];
this.destSpawnDelay = 1000;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 2;
this.maxCurDestroyers = 1;
OrbBlaster.destTypeArr = [9, 10, 11];
OrbBlaster.destTypeProbArr = [1, 1, 0];
this.powerupSched = new Array();
} else {
if (_arg1 == 11){
this.mineSpawnDelay = 900;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 1.45;
this.clusterAmtBase = 3;
this.clusterAmtVar = 1;
this.clusterChance = 0.3;
OrbBlaster.killsGoal = 28;
this.maxMines = 11;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [3, 0, 0, 0, 0, 0, 1, 0, 0];
this.destSpawnDelay = 1000;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 0;
this.maxCurDestroyers = 0;
OrbBlaster.destTypeArr = [9, 10, 11];
OrbBlaster.destTypeProbArr = [1, 1, 0];
this.powerupSched = [300, Powerup.LIFE2, 800, Powerup.LIFE2];
} else {
if (_arg1 == 12){
this.mineSpawnDelay = 700;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 1.45;
this.clusterAmtBase = 3;
this.clusterAmtVar = 1;
this.clusterChance = 0.5;
OrbBlaster.killsGoal = 36;
this.maxMines = 11;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [0, 0, 0, 1, 0, 0, 1, 0, 0];
this.destSpawnDelay = 1000;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 0;
this.maxCurDestroyers = 0;
OrbBlaster.destTypeArr = [9, 10, 11];
OrbBlaster.destTypeProbArr = [1, 1, 0];
this.powerupSched = [300, Powerup.LIFE2, 800, Powerup.LIFE2];
} else {
if (_arg1 == 13){
this.mineSpawnDelay = 400;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 1.5;
this.clusterAmtBase = 3;
this.clusterAmtVar = 1;
this.clusterChance = 0.5;
OrbBlaster.killsGoal = 8;
this.maxMines = 0;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [0, 0, 0, 1, 0, 0, 1, 0, 0];
this.destSpawnDelay = 1000;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 8;
this.maxCurDestroyers = 4;
OrbBlaster.destTypeArr = [9, 10, 11, 102];
OrbBlaster.destTypeProbArr = [7, 7, 0, 0];
this.powerupSched = [100, Powerup.RF, 450, Powerup.RF, 750, Powerup.RF, 1000, Powerup.RF];
} else {
if (_arg1 == 14){
this.mineSpawnDelay = 700;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 1.45;
this.clusterAmtBase = 3;
this.clusterAmtVar = 1;
this.clusterChance = 0.3;
OrbBlaster.killsGoal = 50;
this.maxMines = 12;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [0, 1, 0, 0, 0, 0, 0, 0, 0];
this.destSpawnDelay = 1100;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 0;
this.maxCurDestroyers = 0;
OrbBlaster.destTypeArr = [9, 10, 11, 102];
OrbBlaster.destTypeProbArr = [7, 7, 0, 0];
this.powerupSched = [300, Powerup.LIFE, 800, Powerup.LIFE2];
} else {
if (_arg1 == 15){
this.mineSpawnDelay = 700;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 1.5;
this.clusterAmtBase = 3;
this.clusterAmtVar = 1;
this.clusterChance = 0.3;
OrbBlaster.killsGoal = 50;
this.maxMines = 14;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [1, 1, 1, 0, 0, 0, 0, 0, 0];
this.destSpawnDelay = 1100;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 0;
this.maxCurDestroyers = 0;
OrbBlaster.destTypeArr = [9, 10, 11, 102];
OrbBlaster.destTypeProbArr = [7, 7, 0, 0];
this.powerupSched = new Array();
} else {
if (_arg1 == 16){
this.mineSpawnDelay = 700;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 1.7;
this.clusterAmtBase = 3;
this.clusterAmtVar = 1;
this.clusterChance = 0;
OrbBlaster.killsGoal = 2;
this.maxMines = 0;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [1, 1, 1, 0, 0, 0, 0, 0, 0];
this.destSpawnDelay = 3000;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 2;
this.maxCurDestroyers = 2;
OrbBlaster.destTypeArr = [9, 10, 11, 112];
OrbBlaster.destTypeProbArr = [0, 0, 0, 1];
this.powerupSched = new Array();
} else {
if (_arg1 == 17){
this.mineSpawnDelay = 1100;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 1.7;
this.clusterAmtBase = 3;
this.clusterAmtVar = 1;
this.clusterChance = 0;
OrbBlaster.killsGoal = 40;
this.maxMines = 14;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [1, 0, 0, 0, 2, 0, 0, 0, 0];
this.destSpawnDelay = 3000;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 2;
this.maxCurDestroyers = 4;
OrbBlaster.destTypeArr = [9, 10, 11, 112];
OrbBlaster.destTypeProbArr = [1, 1, 0, 0];
this.powerupSched = [400, Powerup.LIFE];
} else {
if (_arg1 == 18){
this.mineSpawnDelay = 450;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 2.1;
this.clusterAmtBase = 3;
this.clusterAmtVar = 1;
this.clusterChance = 0.5;
OrbBlaster.killsGoal = 84;
this.maxMines = 17;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [5, 0, 0, 0, 1, 1, 0, 0, 0];
this.destSpawnDelay = 3000;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 0;
this.maxCurDestroyers = 0;
OrbBlaster.destTypeArr = [9, 10, 11, 112];
OrbBlaster.destTypeProbArr = [1, 1, 0, 0];
this.powerupSched = new Array();
} else {
if (_arg1 == 19){
this.mineSpawnDelay = 1000;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 1.9;
this.clusterAmtBase = 3;
this.clusterAmtVar = 1;
this.clusterChance = 0.5;
OrbBlaster.killsGoal = 40;
this.maxMines = 16;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [0, 1, 1, 0, 0, 0, 0, 0, 0];
this.destSpawnDelay = 1500;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 2;
this.maxCurDestroyers = 1;
OrbBlaster.destTypeArr = [9, 10, 11, 112];
OrbBlaster.destTypeProbArr = [0, 0, 1, 0];
this.powerupSched = [100, Powerup.LIFE];
} else {
if (_arg1 == 20){
this.mineSpawnDelay = 1100;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 2.1;
this.clusterAmtBase = 3;
this.clusterAmtVar = 1;
this.clusterChance = 0.5;
OrbBlaster.killsGoal = 48;
this.maxMines = 16;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [0, 0, 0, 0, 1, 0, 1, 0, 0];
this.destSpawnDelay = 1500;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 2;
this.maxCurDestroyers = 1;
OrbBlaster.destTypeArr = [9, 10, 11, 112];
OrbBlaster.destTypeProbArr = [0, 1, 0, 0];
this.powerupSched = [800, Powerup.LIFE2];
} else {
if (_arg1 == 21){
this.mineSpawnDelay = 1000;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 2.1;
this.clusterAmtBase = 3;
this.clusterAmtVar = 1;
this.clusterChance = 0.5;
OrbBlaster.killsGoal = 52;
this.maxMines = 17;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [3, 0, 0, 1, 0, 0, 0, 0, 0];
this.destSpawnDelay = 1500;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 4;
this.maxCurDestroyers = 2;
OrbBlaster.destTypeArr = [9, 10, 11, 112];
OrbBlaster.destTypeProbArr = [1, 0, 0, 0];
this.powerupSched = new Array();
} else {
if (_arg1 == 22){
this.mineSpawnDelay = 300;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 4.1;
this.clusterAmtBase = 2;
this.clusterAmtVar = 1;
this.clusterChance = 0.7;
OrbBlaster.killsGoal = 160;
this.maxMines = 24;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [10, 0, 0, 1, 0, 0, 1, 0, 0];
this.destSpawnDelay = 1500;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 5;
this.maxCurDestroyers = 1;
OrbBlaster.destTypeArr = [9, 10, 11, 112];
OrbBlaster.destTypeProbArr = [1, 1, 0, 0];
this.powerupSched = [100, Powerup.RB, 250, Powerup.RB, 500, Powerup.RB, 750, Powerup.RB, 1000, Powerup.RB, 1250, Powerup.RB, 1500, Powerup.RB];
} else {
if (_arg1 == 23){
this.mineSpawnDelay = 500;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 2.6;
this.clusterAmtBase = 2;
this.clusterAmtVar = 1;
this.clusterChance = 0.3;
OrbBlaster.killsGoal = 60;
this.maxMines = 20;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [0, 0, 0, 0, 0, 0, 0, 1, 0];
this.destSpawnDelay = 1500;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 0;
this.maxCurDestroyers = 0;
OrbBlaster.destTypeArr = [9, 10, 11, 112];
OrbBlaster.destTypeProbArr = [1, 1, 0, 0];
this.powerupSched = [20, Powerup.LIFE, 40, Powerup.LIFE, 800, Powerup.LIFE2];
} else {
if (_arg1 == 24){
this.mineSpawnDelay = 500;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 2.6;
this.clusterAmtBase = 2;
this.clusterAmtVar = 1;
this.clusterChance = 0.3;
OrbBlaster.killsGoal = 4;
this.maxMines = 0;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [0, 0, 0, 0, 0, 0, 0, 1, 0];
this.destSpawnDelay = 1500;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 4;
this.maxCurDestroyers = 3;
OrbBlaster.destTypeArr = [92, 10, 11, 112];
OrbBlaster.destTypeProbArr = [1, 0, 0, 0];
this.powerupSched = new Array();
} else {
if (_arg1 == 25){
this.mineSpawnDelay = 800;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 2.6;
this.clusterAmtBase = 2;
this.clusterAmtVar = 1;
this.clusterChance = 0.3;
OrbBlaster.killsGoal = 64;
this.maxMines = 16;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [0, 0, 0, 0, 1, 0, 0, 0, 0];
this.destSpawnDelay = 1500;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 2;
this.maxCurDestroyers = 2;
OrbBlaster.destTypeArr = [9, 10, 11, 112];
OrbBlaster.destTypeProbArr = [0, 0, 1, 0];
this.powerupSched = [250, Powerup.RF, 1000, Powerup.LIFE];
} else {
if (_arg1 == 26){
this.mineSpawnDelay = 500;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 2.8;
this.clusterAmtBase = 2;
this.clusterAmtVar = 1;
this.clusterChance = 0.4;
OrbBlaster.killsGoal = 89;
this.maxMines = 24;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [0, 0, 2, 0, 0, 0, 0, 0, 5];
this.destSpawnDelay = 1500;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 0;
this.maxCurDestroyers = 0;
OrbBlaster.destTypeArr = [9, 10, 11, 112];
OrbBlaster.destTypeProbArr = [0, 0, 1, 0];
this.powerupSched = [50, Powerup.LIFE];
} else {
if (_arg1 == 27){
this.mineSpawnDelay = 800;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 2.1;
this.clusterAmtBase = 2;
this.clusterAmtVar = 1;
this.clusterChance = 0.5;
OrbBlaster.killsGoal = 75;
this.maxMines = 20;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [5, 0, 1, 5, 0, 0, 5, 0, 0];
this.destSpawnDelay = 1500;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 4;
this.maxCurDestroyers = 2;
OrbBlaster.destTypeArr = [9, 10, 11, 112];
OrbBlaster.destTypeProbArr = [1, 1, 0, 0];
this.powerupSched = [50, Powerup.LIFE, 200, Powerup.RF, 1200, Powerup.LIFE2];
} else {
if (_arg1 == 28){
this.mineSpawnDelay = 800;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 4.8;
this.clusterAmtBase = 2;
this.clusterAmtVar = 1;
this.clusterChance = 0.3;
OrbBlaster.killsGoal = 80;
this.maxMines = 11;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [0, 0, 0, 0, 0, 1, 0, 0, 0];
this.destSpawnDelay = 1500;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 3;
this.maxCurDestroyers = 3;
OrbBlaster.destTypeArr = [9, 10, 11, 112];
OrbBlaster.destTypeProbArr = [0, 0, 0, 1];
this.powerupSched = [50, Powerup.LIFE2];
} else {
if (_arg1 == 29){
this.mineSpawnDelay = 300;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 2.8;
this.clusterAmtBase = 3;
this.clusterAmtVar = 1;
this.clusterChance = 0.4;
OrbBlaster.killsGoal = 100;
this.maxMines = 24;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [0, 0, 0, 0, 1, 0, 0, 14, 0];
this.destSpawnDelay = 1500;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 0;
this.maxCurDestroyers = 0;
OrbBlaster.destTypeArr = [9, 10, 11, 112];
OrbBlaster.destTypeProbArr = [1, 1, 0, 0];
this.powerupSched = [20, Powerup.RB, 200, Powerup.RB, 400, Powerup.RB, 600, Powerup.RB, 601, Powerup.LIFE, 800, Powerup.RB];
} else {
if (_arg1 == 30){
this.mineSpawnDelay = 500;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 2.4;
this.clusterAmtBase = 3;
this.clusterAmtVar = 1;
this.clusterChance = 0.4;
OrbBlaster.killsGoal = 70;
this.maxMines = 21;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 12];
OrbBlaster.mineTypeProbArr = [0, 0, 0, 0, 0, 0, 0, 0, 1, 3];
this.destSpawnDelay = 1500;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 4;
this.maxCurDestroyers = 4;
OrbBlaster.destTypeArr = [9, 10, 11, 112];
OrbBlaster.destTypeProbArr = [1, 1, 0, 0];
this.powerupSched = new Array();
} else {
if (_arg1 == 31){
this.mineSpawnDelay = 400;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 2.7;
this.clusterAmtBase = 2;
this.clusterAmtVar = 0;
this.clusterChance = 0.1;
OrbBlaster.killsGoal = 100;
this.maxMines = 25;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 12];
OrbBlaster.mineTypeProbArr = [3, 0, 0, 1, 1, 0, 0, 0, 0, 3];
this.destSpawnDelay = 600;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 0;
this.maxCurDestroyers = 0;
OrbBlaster.destTypeArr = [9, 10, 11];
OrbBlaster.destTypeProbArr = [1, 0, 0];
this.powerupSched = [100, Powerup.LIFE];
} else {
if (_arg1 == 32){
this.mineSpawnDelay = 500;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 2.7;
this.clusterAmtBase = 2;
this.clusterAmtVar = 0;
this.clusterChance = 1;
OrbBlaster.killsGoal = 5;
this.maxMines = 2;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 92];
OrbBlaster.mineTypeProbArr = [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1];
this.destSpawnDelay = 1200;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 5;
this.maxCurDestroyers = 5;
OrbBlaster.destTypeArr = [92, 102, 11];
OrbBlaster.destTypeProbArr = [0, 1, 0];
this.powerupSched = [100, Powerup.LIFE];
} else {
if (_arg1 == 33){
this.mineSpawnDelay = 800;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 2.8;
this.clusterAmtBase = 2;
this.clusterAmtVar = 1;
this.clusterChance = 0.3;
OrbBlaster.killsGoal = 64;
this.maxMines = 23;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [0, 0, 1, 0, 0, 0, 0, 0, 0];
this.destSpawnDelay = 1500;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 4;
this.maxCurDestroyers = 3;
OrbBlaster.destTypeArr = [9, 10, 11, 102];
OrbBlaster.destTypeProbArr = [0, 0, 0, 1];
this.powerupSched = [250, Powerup.RF, 1000, Powerup.LIFE];
} else {
if (_arg1 == 34){
this.mineSpawnDelay = 330;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 3.3;
this.clusterAmtBase = 3;
this.clusterAmtVar = 1;
this.clusterChance = 0.3;
OrbBlaster.killsGoal = 125;
this.maxMines = 25;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 12];
OrbBlaster.mineTypeProbArr = [6, 0, 0, 0, 1, 1, 0, 3, 0, 5];
this.destSpawnDelay = 1000;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 0;
this.maxCurDestroyers = 0;
OrbBlaster.destTypeArr = [9, 10, 11, 112];
OrbBlaster.destTypeProbArr = [1, 1, 0, 0];
this.powerupSched = new Array();
} else {
if (_arg1 == 35){
this.mineSpawnDelay = 330;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 3.3;
this.clusterAmtBase = 3;
this.clusterAmtVar = 1;
this.clusterChance = 0.3;
OrbBlaster.killsGoal = 10;
this.maxMines = 0;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 12];
OrbBlaster.mineTypeProbArr = [6, 0, 0, 0, 1, 1, 0, 3, 0, 5];
this.destSpawnDelay = 1300;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 10;
this.maxCurDestroyers = 6;
OrbBlaster.destTypeArr = [9, 10, 11, 112];
OrbBlaster.destTypeProbArr = [0, 0, 1, 0];
this.powerupSched = [300, Powerup.RB, 600, Powerup.RB, 900, Powerup.RB, 1200, Powerup.RB, 1500, Powerup.RB];
} else {
if (_arg1 == 36){
this.mineSpawnDelay = 300;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 3;
this.clusterAmtBase = 2;
this.clusterAmtVar = 1;
this.clusterChance = 0.2;
OrbBlaster.killsGoal = 110;
this.maxMines = 26;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 12];
OrbBlaster.mineTypeProbArr = [3, 0, 2, 1, 1, 0, 0, 0, 0, 3];
this.destSpawnDelay = 600;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 4;
this.maxCurDestroyers = 3;
OrbBlaster.destTypeArr = [9, 10, 11];
OrbBlaster.destTypeProbArr = [1, 1, 0];
this.powerupSched = [100, Powerup.LIFE];
} else {
if (_arg1 == 101){
this.wipeCountdown = 10;
this.mineSpawnDelay = 400;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 1.6;
this.clusterAmtBase = 2;
this.clusterAmtVar = 1;
this.clusterChance = 0.4;
OrbBlaster.killsGoal = 64;
this.maxMines = 3;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 12];
OrbBlaster.mineTypeProbArr = [1, 0, 0, 0, 0, 0, 0, 0, 0, 0];
this.destSpawnDelay = 600;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 0;
this.maxCurDestroyers = 0;
OrbBlaster.destTypeArr = [9, 10, 112];
OrbBlaster.destTypeProbArr = [0, 0, 1];
this.powerupSched = new Array();
} else {
if (_arg1 == 102){
this.wipeCountdown = 10;
this.mineSpawnDelay = 400;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 1.7;
this.clusterAmtBase = 2;
this.clusterAmtVar = 1;
this.clusterChance = 0.4;
OrbBlaster.killsGoal = 64;
this.maxMines = 7;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 12];
OrbBlaster.mineTypeProbArr = [1, 0, 0, 0, 0, 0, 0, 0, 0, 0];
this.destSpawnDelay = 600;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 0;
this.maxCurDestroyers = 0;
OrbBlaster.destTypeArr = [9, 10, 112];
OrbBlaster.destTypeProbArr = [0, 0, 1];
this.powerupSched = new Array();
} else {
if (_arg1 == 103){
this.wipeCountdown = 15;
this.mineSpawnDelay = 400;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 1.8;
this.clusterAmtBase = 2;
this.clusterAmtVar = 1;
this.clusterChance = 0.4;
OrbBlaster.killsGoal = 64;
this.maxMines = 11;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 12];
OrbBlaster.mineTypeProbArr = [1, 0, 0, 0, 0, 0, 0, 0, 0, 0];
this.destSpawnDelay = 600;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 0;
this.maxCurDestroyers = 0;
OrbBlaster.destTypeArr = [9, 10, 112];
OrbBlaster.destTypeProbArr = [0, 0, 1];
this.powerupSched = new Array();
} else {
if (_arg1 == 104){
this.wipeCountdown = 25;
this.mineSpawnDelay = 400;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 1.9;
this.clusterAmtBase = 2;
this.clusterAmtVar = 1;
this.clusterChance = 0.4;
OrbBlaster.killsGoal = 13;
this.maxMines = 13;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 12];
OrbBlaster.mineTypeProbArr = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0];
this.destSpawnDelay = 600;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 0;
this.maxCurDestroyers = 0;
OrbBlaster.destTypeArr = [9, 10, 112];
OrbBlaster.destTypeProbArr = [0, 0, 1];
this.powerupSched = new Array();
} else {
if (_arg1 == 105){
this.wipeCountdown = 25;
this.mineSpawnDelay = 600;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 1.9;
this.clusterAmtBase = 2;
this.clusterAmtVar = 1;
this.clusterChance = 0.3;
OrbBlaster.killsGoal = 15;
this.maxMines = 15;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 12];
OrbBlaster.mineTypeProbArr = [1, 0, 0, 0, 1, 0, 1, 0, 0, 0];
this.destSpawnDelay = 600;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 0;
this.maxCurDestroyers = 0;
OrbBlaster.destTypeArr = [9, 10, 112];
OrbBlaster.destTypeProbArr = [0, 0, 1];
this.powerupSched = new Array();
} else {
if (_arg1 == 106){
this.wipeCountdown = 20;
this.mineSpawnDelay = 600;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 1.9;
this.clusterAmtBase = 2;
this.clusterAmtVar = 1;
this.clusterChance = 0.3;
OrbBlaster.killsGoal = 15;
this.maxMines = 0;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 12];
OrbBlaster.mineTypeProbArr = [1, 0, 0, 0, 1, 0, 1, 0, 0, 0];
this.destSpawnDelay = 600;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 6;
this.maxCurDestroyers = 3;
OrbBlaster.destTypeArr = [9, 10, 92];
OrbBlaster.destTypeProbArr = [0, 0, 1];
OrbBlaster.killsGoal = (this.maxMines + this.maxDestroyers);
this.powerupSched = [200, Powerup.LIFE];
} else {
if ((((_arg1 >= 107)) && ((_arg1 < 200)))){
if (_arg1 >= 114){
trace("high");
OrbBlaster.hero.setNormalCooldown(3);
} else {
OrbBlaster.hero.setNormalCooldown(4);
};
_local4 = ((_arg1 - 107) % 4);
if (_local4 == 1){
this.powerupSched = [500, Powerup.LIFE];
} else {
if (_local4 == 3){
this.powerupSched = [500, Powerup.LIFE2];
} else {
this.powerupSched = new Array();
};
};
if (_local4 == 0){
trace("R = 0");
this.wipeCountdown = 25;
this.mineSpawnDelay = 800;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = (1.8 + ((_arg1 - 107) * 0.1));
this.clusterAmtBase = 2;
this.clusterAmtVar = 1;
this.clusterChance = 0.3;
this.maxMines = (15 + ((_arg1 - 107) * 2));
trace(this.maxMines);
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 12];
OrbBlaster.mineTypeProbArr = [1, 0, 0, 0, 1, 0, 1, 0, 0, 0];
this.destSpawnDelay = 600;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 0;
this.maxCurDestroyers = 0;
OrbBlaster.destTypeArr = [9, 10, 112];
OrbBlaster.destTypeProbArr = [0, 0, 0];
OrbBlaster.killsGoal = (this.maxMines + this.maxDestroyers);
} else {
if (_local4 == 1){
trace("R = 1");
this.wipeCountdown = 25;
this.mineSpawnDelay = 800;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = (1.8 + ((_arg1 - 107) * 0.1));
this.clusterAmtBase = 2;
this.clusterAmtVar = 1;
this.clusterChance = 0;
this.maxMines = 1;
OrbBlaster.mineTypeArr = [92];
OrbBlaster.mineTypeProbArr = [1];
this.destSpawnDelay = 1000;
this.destSpawnDelayVar = 0;
this.maxDestroyers = (4 + ((_arg1 - 107) / 3));
this.maxCurDestroyers = (4 + ((_arg1 - 107) / 3));
OrbBlaster.destTypeArr = [9, 10, 102];
OrbBlaster.destTypeProbArr = [1, 1, 1];
OrbBlaster.killsGoal = (this.maxMines + this.maxDestroyers);
} else {
if (_local4 == 2){
trace("R = 2");
this.wipeCountdown = 25;
this.mineSpawnDelay = 800;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = (1.8 + ((_arg1 - 107) * 0.1));
this.clusterAmtBase = 2;
this.clusterAmtVar = 1;
this.clusterChance = 0.3;
this.maxMines = (15 + ((_arg1 - 107) * 2));
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 12];
OrbBlaster.mineTypeProbArr = [5, 0, 1, 0, 1, 1, 2, 1, 0, 3];
this.destSpawnDelay = 600;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 0;
this.maxCurDestroyers = 0;
OrbBlaster.destTypeArr = [9, 10, 112];
OrbBlaster.destTypeProbArr = [0, 0, 0];
OrbBlaster.killsGoal = (this.maxMines + this.maxDestroyers);
} else {
if (_local4 == 3){
trace("R = 3");
this.wipeCountdown = 25;
this.mineSpawnDelay = 800;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = (1.5 + ((_arg1 - 107) * 0.05));
this.clusterAmtBase = 2;
this.clusterAmtVar = 1;
this.clusterChance = 0.3;
this.maxMines = (9 + ((_arg1 - 107) * 1));
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 12];
OrbBlaster.mineTypeProbArr = [4, 0, 0, 0, 0, 0, 1, 0, 0, 1];
this.destSpawnDelay = 1100;
this.destSpawnDelayVar = 0;
this.maxDestroyers = (1 + ((_arg1 - 107) / 5));
this.maxCurDestroyers = (1 + ((_arg1 - 107) / 5));
OrbBlaster.destTypeArr = [10, 11, 112];
OrbBlaster.destTypeProbArr = [0, 1, 1];
OrbBlaster.killsGoal = (this.maxMines + this.maxDestroyers);
};
};
};
};
} else {
if (_arg1 >= 300){
this.wipeCountdown = 2;
this.mineSpawnDelay = 600;
this.mineSpawnDelayVar = 0;
OrbBlaster.mobGravSpeed = 1.2;
this.clusterAmtBase = 2;
this.clusterAmtVar = 1;
this.clusterChance = 0.4;
OrbBlaster.killsGoal = 0x7D00;
this.maxMines = 4;
OrbBlaster.mineTypeArr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
OrbBlaster.mineTypeProbArr = [0, 0, 0, 0, 0, 0, 0, 0, 1];
this.destSpawnDelay = 600;
this.destSpawnDelayVar = 0;
this.maxDestroyers = 0;
this.maxCurDestroyers = 6;
OrbBlaster.destTypeArr = [9, 10, 11];
OrbBlaster.destTypeProbArr = [1, 0, 0];
this.powerupSched = [50, Powerup.Z, 300, Powerup.Z, 1000, Powerup.Z];
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
_local2 = OrbBlaster.mineTypeArr.length;
OrbBlaster.mineTypeProbTotal = 0;
_local3 = 0;
while (_local3 < _local2) {
OrbBlaster.mineTypeProbTotal = (OrbBlaster.mineTypeProbTotal + OrbBlaster.mineTypeProbArr[_local3]);
OrbBlaster.mineTypeProbArr[_local3] = OrbBlaster.mineTypeProbTotal;
_local3++;
};
_local2 = OrbBlaster.destTypeArr.length;
OrbBlaster.destTypeProbTotal = 0;
_local3 = 0;
while (_local3 < _local2) {
OrbBlaster.destTypeProbTotal = (OrbBlaster.destTypeProbTotal + OrbBlaster.destTypeProbArr[_local3]);
OrbBlaster.destTypeProbArr[_local3] = OrbBlaster.destTypeProbTotal;
_local3++;
};
if (this.mineSpawnDelay != 0){
this.mineSpawnTimer.delay = this.mineSpawnDelay;
};
this.mineSpawnTimer.start();
if (this.destSpawnDelay != 0){
this.destSpawnTimer.delay = this.destSpawnDelay;
};
this.destSpawnTimer.start();
if (OrbBlaster.gameMode == 1){
this.wipeTimer.reset();
this.wipeTimer.start();
OrbBlaster.updateTimerBar(this.wipeCountdown);
};
}
public function spawnDestroyer(_arg1:TimerEvent):void{
if (this.isSpawnedDestMax()){
this.stopDest();
return;
};
if (OrbBlaster.objMgr.curDestCount < this.maxCurDestroyers){
OrbBlaster.objMgr.addDestroyer();
};
this.destSpawnTimer.delay = (this.destSpawnDelay + OrbBlaster.random(-(this.destSpawnDelayVar), this.destSpawnDelayVar));
}
public function update():void{
if (this.powerupSched.length != 0){
this.powerupTimer++;
if (this.powerupTimer == this.powerupSched[0]){
this.powerupSched.shift();
OrbBlaster.objMgr.addPowerup(this.powerupSched.shift());
};
};
}
public function isSpawnedMax():Boolean{
return ((OrbBlaster.mobsSpawned >= OrbBlaster.killsGoal));
}
public function spawnMine(_arg1:TimerEvent):void{
var _local2:uint;
if (this.isSpawnedMax()){
this.stop();
return;
};
if (OrbBlaster.objMgr.mobCount < this.maxMines){
if (Math.random() >= (1 - this.clusterChance)){
_local2 = OrbBlaster.random((this.clusterAmtBase - this.clusterAmtVar), (this.clusterAmtBase + this.clusterAmtVar));
if ((OrbBlaster.mobsSpawned + _local2) > OrbBlaster.killsGoal){
_local2 = (OrbBlaster.killsGoal - OrbBlaster.mobsSpawned);
};
if ((OrbBlaster.objMgr.mobCount + _local2) > this.maxMines){
_local2 = (this.maxMines - OrbBlaster.objMgr.mobCount);
};
OrbBlaster.objMgr.addMineCluster(_local2);
} else {
OrbBlaster.objMgr.addMine();
};
this.mineSpawnTimer.delay = (this.mineSpawnDelay + OrbBlaster.random(-(this.mineSpawnDelayVar), this.mineSpawnDelayVar));
};
}
public function isSpawnedDestMax():Boolean{
return (((((OrbBlaster.destKilled + OrbBlaster.objMgr.curDestCount) >= this.maxDestroyers)) || (this.isSpawnedMax())));
}
}
}//package
Section 119
//Splash (Splash)
package {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public dynamic class Splash extends MovieClip {
public var hand:MovieClip;
public var btnUrl:SimpleButton;
public static var SERVER_URL:String = "http://www.gimme5games.com";
public function Splash(){
this.addEventListener(Event.ENTER_FRAME, splashEnterFrame);
this["btnUrl"].addEventListener(MouseEvent.MOUSE_DOWN, onButtonPress);
}
public function splashEnterFrame(_arg1:Event):void{
if (this.currentFrame == this.totalFrames){
this.removeEventListener(Event.ENTER_FRAME, splashEnterFrame);
this.stop();
};
}
public function isComplete():Boolean{
return ((this.currentFrame == this.totalFrames));
}
public function onButtonPress(_arg1:MouseEvent):void{
var _local2:URLRequest;
switch (_arg1.target.name){
case "btnUrl":
_local2 = new URLRequest(SERVER_URL);
navigateToURL(_local2, "_blank");
break;
};
}
}
}//package
Section 120
//StatsBar (StatsBar)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class StatsBar extends MovieClip {
public var lifePieces:MovieClip;
public var powPieces:MovieClip;
public function StatsBar(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 121
//TestExplosion (TestExplosion)
package {
public class TestExplosion extends Explosion {
public function TestExplosion():void{
addFrameScript(0, frame1, 3, frame4);
super(0, 0);
this.type = Explosion.MINE_1;
this.pruneRadius = 50;
this.damage = 10;
}
function frame4(){
trace(this.width);
stop();
}
function frame1(){
trace(this.width);
}
}
}//package
Section 122
//TimerBar (TimerBar)
package {
import flash.display.*;
import flash.text.*;
public dynamic class TimerBar extends MovieClip {
public var timeLeft:TextField;
}
}//package
Section 123
//TutorialHint (TutorialHint)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class TutorialHint extends MovieClip {
public var hintFire:MovieClip;
public var hintBomb:MovieClip;
public function TutorialHint(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
this.gotoAndPlay(2);
}
function frame1(){
this.y = 100;
OrbBlaster.tutorialCounter = 0;
this.hintFire.visible = false;
this.hintBomb.visible = false;
this.hintFire.x = 0;
this.hintFire.y = 0;
this.hintBomb.x = 0;
this.hintBomb.y = 0;
OrbBlaster.tutorialEfx = this;
}
function frame2(){
if ((((OrbBlaster.tutorialCounter >= 40)) && ((OrbBlaster.tutorialCounter < 130)))){
this.hintFire.visible = true;
} else {
this.hintFire.visible = false;
};
if ((((OrbBlaster.tutorialCounter >= 155)) && ((OrbBlaster.tutorialCounter < 265)))){
this.hintBomb.visible = true;
} else {
this.hintBomb.visible = false;
};
if (OrbBlaster.tutorialCounter > 300){
if (this.parent != null){
this.parent.removeChild(this);
};
this.stop();
} else {
if (OrbBlaster.pause != true){
OrbBlaster.tutorialCounter++;
};
this.gotoAndPlay(2);
};
}
}
}//package
Section 124
//UpgradeScreen (UpgradeScreen)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class UpgradeScreen extends MovieClip {
public var upgradeButton:SimpleButton;
public function UpgradeScreen(){
addFrameScript(0, frame1);
}
function frame1(){
upgradeButton.tabEnabled = false;
upgradeButton.addEventListener(MouseEvent.CLICK, upgradeButtonClicked);
}
public function upgradeButtonClicked(_arg1:MouseEvent):void{
var _local2:String;
var _local3:URLRequest;
_local2 = "http://www.adobe.com/go/getflash";
_local3 = new URLRequest(_local2);
navigateToURL(_local3, "_blank");
}
}
}//package
Section 125
//wipeExplosion (wipeExplosion)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class wipeExplosion extends MovieClip {
public function wipeExplosion(){
addFrameScript(10, frame11);
}
function frame11(){
OrbBlaster.objMgr.killEfx(this);
}
}
}//package