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
//KongregateEvent (com.kongregate.as3.client.events.KongregateEvent)
package com.kongregate.as3.client.events {
import flash.events.*;
public class KongregateEvent extends Event {
public static const COMPLETE:String = "component_api_available";
public function KongregateEvent(_arg1:String){
super(_arg1);
}
}
}//package com.kongregate.as3.client.events
Section 3
//AbstractShadowService (com.kongregate.as3.client.services.AbstractShadowService)
package com.kongregate.as3.client.services {
import flash.events.*;
public class AbstractShadowService extends EventDispatcher {
protected function alert(_arg1:String, _arg2:String, _arg3="", _arg4:String=""):void{
trace(((((((("Kongregate API: " + _arg1) + ".") + _arg2) + "(") + _arg3) + ") ") + _arg4));
}
}
}//package com.kongregate.as3.client.services
Section 4
//HighScoreServiceShadow (com.kongregate.as3.client.services.HighScoreServiceShadow)
package com.kongregate.as3.client.services {
public class HighScoreServiceShadow extends AbstractShadowService implements IHighScoreServices {
private var mode:String;
public function HighScoreServiceShadow(){
mode = "";
}
public function submit(_arg1:Number, _arg2:String=null):void{
alert("IHighScoreServices", "submit", arguments);
}
public function connect():Boolean{
alert("IKongregateServices", "connect");
return (true);
}
public function requestList(_arg1:Function):void{
alert("IHighScoreServices", "requestList", "", (("[Mode: " + mode) + "]"));
_arg1({success:false});
}
public function setMode(_arg1:String):void{
alert("IHighScoreServices", "setMode", arguments);
this.mode = _arg1;
}
}
}//package com.kongregate.as3.client.services
Section 5
//IHighScoreServices (com.kongregate.as3.client.services.IHighScoreServices)
package com.kongregate.as3.client.services {
public interface IHighScoreServices {
function setMode(_arg1:String):void;
function submit(_arg1:Number, _arg2:String=null):void;
function requestList(_arg1:Function):void;
}
}//package com.kongregate.as3.client.services
Section 6
//IKongregateServices (com.kongregate.as3.client.services.IKongregateServices)
package com.kongregate.as3.client.services {
import flash.events.*;
public interface IKongregateServices extends IEventDispatcher {
function getPlayerInfo(_arg1:Function):void;
function connect(_arg1:Number=-1):Boolean;
}
}//package com.kongregate.as3.client.services
Section 7
//IStatServices (com.kongregate.as3.client.services.IStatServices)
package com.kongregate.as3.client.services {
public interface IStatServices {
function submitArray(_arg1:Array):void;
function submit(_arg1:String, _arg2:Number):void;
}
}//package com.kongregate.as3.client.services
Section 8
//IUserServices (com.kongregate.as3.client.services.IUserServices)
package com.kongregate.as3.client.services {
public interface IUserServices {
function getName():String;
function getPlayerInfo(_arg1:Function):void;
}
}//package com.kongregate.as3.client.services
Section 9
//KongregateServiceShadow (com.kongregate.as3.client.services.KongregateServiceShadow)
package com.kongregate.as3.client.services {
public class KongregateServiceShadow extends AbstractShadowService implements IKongregateServices {
public function getName():String{
alert("IKongregateServices", "getName");
return ("Guest");
}
public function connect(_arg1:Number=-1):Boolean{
alert("IKongregateServices", "connect", arguments);
return (true);
}
public function getPlayerInfo(_arg1:Function):void{
alert("IKongregateServices", "getPlayerInfo");
_arg1(new Object());
}
}
}//package com.kongregate.as3.client.services
Section 10
//StatServiceShadow (com.kongregate.as3.client.services.StatServiceShadow)
package com.kongregate.as3.client.services {
public class StatServiceShadow extends AbstractShadowService implements IStatServices {
public function submitArray(_arg1:Array):void{
alert("IStatServices", "submitArray", arguments);
}
public function submit(_arg1:String, _arg2:Number):void{
alert("IStatServices", "submitStat", arguments);
}
}
}//package com.kongregate.as3.client.services
Section 11
//UserServiceShadow (com.kongregate.as3.client.services.UserServiceShadow)
package com.kongregate.as3.client.services {
public class UserServiceShadow extends AbstractShadowService implements IUserServices {
public function getName():String{
alert("UserService", "getName");
return ("Guest");
}
public function getPlayerInfo(_arg1:Function):void{
alert("UserService", "getPlayerInfo");
_arg1({isGuest:true, name:"Guest", points:0, level:0, isMode:false, isAdmin:false, isDeveloper:false, avatarPath:"", chatAvatarPath:""});
}
}
}//package com.kongregate.as3.client.services
Section 12
//IAPIBootstrap (com.kongregate.as3.client.IAPIBootstrap)
package com.kongregate.as3.client {
import flash.events.*;
import flash.display.*;
public interface IAPIBootstrap {
function init(_arg1:Event=null, _arg2:Stage=null):void;
function hideLog():void;
function showLog(_arg1:int=0):void;
}
}//package com.kongregate.as3.client
Section 13
//KongregateAPI (com.kongregate.as3.client.KongregateAPI)
package com.kongregate.as3.client {
import flash.events.*;
import flash.display.*;
import com.kongregate.as3.client.services.*;
import flash.utils.*;
import com.kongregate.as3.client.events.*;
import flash.system.*;
import flash.net.*;
import flash.errors.*;
public class KongregateAPI extends Sprite {
private const VERSION:Number = 1;
private var loader:Loader;
private var loadedDomain:ApplicationDomain;
private static const CLASS_USER:String = "com.kongregate.as3.client.services.UserServices";
private static const CLASS_STATS:String = "com.kongregate.as3.client.services.StatServices";
private static const CLASS_SERVICES:String = "com.kongregate.as3.client.services.KongregateServices";
private static const CLASS_SCORES:String = "com.kongregate.as3.client.services.HighScoreServices";
private static const DEBUG_API_URL:String = "//Linuxpc/kongregate/public/flash/API_AS3.swf";
private static var _connected:Boolean;
private static var kUser:IUserServices;
private static var _loaded:Boolean;
private static var kServices:IKongregateServices;
private static var kScores:IHighScoreServices;
private static var mInstance:KongregateAPI;
private static var kStats:IStatServices;
private static var kAPI:IAPIBootstrap;
public function KongregateAPI(){
if (mInstance != null){
throw (new Error("Warning: KongregateAPI has been added to stage more than once or accessed improperly. Use getInstance() or a stage reference to access."));
};
mInstance = this;
this.addEventListener(Event.ADDED_TO_STAGE, init, false, 0, true);
}
public function get loaded():Boolean{
return (_loaded);
}
public function get connected():Boolean{
return (_connected);
}
private function alertConnected(_arg1:TimerEvent=null):void{
var _local2:KongregateEvent;
var _local3:Boolean;
_local2 = new KongregateEvent(KongregateEvent.COMPLETE);
_local3 = this.dispatchEvent(_local2);
}
private function init(_arg1:Event):void{
var _local2:Object;
var _local3:String;
var _local4:URLRequest;
var _local5:LoaderContext;
this.removeEventListener(Event.ADDED_TO_STAGE, init);
_loaded = false;
_connected = false;
_local2 = LoaderInfo(root.loaderInfo).parameters;
_local3 = _local2.api_path;
if (_local3 == null){
trace("Alert: Kongregate API could not be loaded, due to local testing. API will load when the game is uploaded.");
createShadowServices();
return;
};
Security.allowDomain("*.kongregate.com");
Security.allowDomain("kongregatetrunk.com");
_local4 = new URLRequest(_local3);
_local5 = new LoaderContext(false);
_local5.applicationDomain = ApplicationDomain.currentDomain;
_local5.securityDomain = SecurityDomain.currentDomain;
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
loader.load(_local4, _local5);
}
public function get api():IAPIBootstrap{
return (kAPI);
}
private function loadComplete(_arg1:Event):void{
getServices();
}
public function get scores():IHighScoreServices{
return (kScores);
}
private function ioErrorHandler(_arg1:IOErrorEvent):void{
throw (new IOError(("API file not found. " + _arg1)));
}
public function get services():IKongregateServices{
return (kServices);
}
public function get stats():IStatServices{
return (kStats);
}
private function createShadowServices():void{
var _local1:Timer;
trace(">>> Kongregate Shadow Services instantiated for local development..");
kServices = new KongregateServiceShadow();
kScores = new HighScoreServiceShadow();
kStats = new StatServiceShadow();
kUser = new UserServiceShadow();
_local1 = new Timer(200, 1);
_local1.addEventListener(TimerEvent.TIMER_COMPLETE, alertConnected);
_local1.start();
_connected = true;
}
public function get user():IUserServices{
return (kUser);
}
private function getServices():void{
var _local1:ApplicationDomain;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local1 = ApplicationDomain.currentDomain;
kAPI = IAPIBootstrap(loader.getChildAt(0));
this.addChild(loader);
_local2 = _local1.getDefinition(CLASS_SERVICES);
trace(_local2);
kServices = _local2.getInstance();
_local3 = _local1.getDefinition(CLASS_SCORES);
kScores = _local3.getInstance();
_local4 = _local1.getDefinition(CLASS_STATS);
kStats = _local4.getInstance();
_local5 = _local1.getDefinition(CLASS_USER);
kUser = _local5.getInstance();
kServices.connect(VERSION);
_loaded = true;
_connected = true;
alertConnected();
}
public static function getInstance():KongregateAPI{
if (!mInstance){
throw (new IllegalOperationError("You must add the Kongregate API component to the stage before attempting to access it."));
};
return (mInstance);
}
}
}//package com.kongregate.as3.client
Section 14
//DoogogBanner_6 (GogIntro_fla.DoogogBanner_6)
package GogIntro_fla {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public dynamic class DoogogBanner_6 extends MovieClip {
public var doogogButton:SimpleButton;
public function DoogogBanner_6(){
addFrameScript(2, frame3);
}
function frame3(){
this.doogogButton.addEventListener(MouseEvent.CLICK, doogogButtonClicked);
stop();
}
public function doogogButtonClicked(_arg1:MouseEvent):void{
var _local2:String;
var _local3:URLRequest;
trace("going to Doogog");
_local2 = "http://doogog.com";
_local3 = new URLRequest(_local2);
navigateToURL(_local3, "_blank");
}
}
}//package GogIntro_fla
Section 15
//Poof_4 (GogIntro_fla.Poof_4)
package GogIntro_fla {
import flash.display.*;
public dynamic class Poof_4 extends MovieClip {
public function Poof_4(){
addFrameScript(18, frame19);
}
function frame19(){
this.stop();
}
}
}//package GogIntro_fla
Section 16
//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 17
//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:int;
var _local3:uint;
_local2 = this.endPointsX.indexOf(_arg1.ex0);
if (_local2 == -1){
return;
};
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 18
//AllGraphicsPackage_3 (ZunderFury_fla.AllGraphicsPackage_3)
package ZunderFury_fla {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.text.*;
import flash.net.*;
import flash.errors.*;
import flash.accessibility.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class AllGraphicsPackage_3 extends MovieClip {
public function AllGraphicsPackage_3(){
addFrameScript(0, frame1);
}
function frame1(){
this.stop();
}
}
}//package ZunderFury_fla
Section 19
//HeroNames_47 (ZunderFury_fla.HeroNames_47)
package ZunderFury_fla {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.text.*;
import flash.net.*;
import flash.errors.*;
import flash.accessibility.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class HeroNames_47 extends MovieClip {
public function HeroNames_47(){
addFrameScript(0, frame1);
}
function frame1(){
this.stop();
}
}
}//package ZunderFury_fla
Section 20
//Sounds_118 (ZunderFury_fla.Sounds_118)
package ZunderFury_fla {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.text.*;
import flash.net.*;
import flash.errors.*;
import flash.accessibility.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class Sounds_118 extends MovieClip {
public function Sounds_118(){
addFrameScript(0, frame1);
}
function frame1(){
this.stop();
}
}
}//package ZunderFury_fla
Section 21
//BestScoreBar (BestScoreBar)
package {
import flash.display.*;
import flash.text.*;
public dynamic class BestScoreBar extends MovieClip {
public var bestScore:TextField;
}
}//package
Section 22
//bit_explosion1 (bit_explosion1)
package {
import flash.display.*;
public dynamic class bit_explosion1 extends MovieClip {
}
}//package
Section 23
//BitmapManager (BitmapManager)
package {
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
public class BitmapManager {
public var efx_explosion1:Array;
public var efx_explosion2:Array;
public var spawning0:Array;
public var mobkon4_mini:Array;
public var mobkon10:Array;
public var mobkon11:Array;
public var mobkon12:Array;
public var efx_explosion0_l:Array;
public var efx_explosion0_m:Array;
public var efx_trail0:Array;
public var efx_trail1:Array;
public var efx_explosion0_s:Array;
public var projectile10:Array;
public var projectile11:Array;
public var mobkon6_mini:Array;
public var projectile13:Array;
public var projectile15:Array;
public var projectile12:Array;
public var projectile14:Array;
public var mobkon0:Array;
public var mobkon1:Array;
public var mobkon2:Array;
public var mobkon3:Array;
public var mobkon4:Array;
public var mobkon5:Array;
public var mobkon6:Array;
public var mobkon7:Array;
public var mobkon8:Array;
public var mobkon9:Array;
public var projectile2:Array;
public var projectile3:Array;
public var projectile4:Array;
public var projectile0:Array;
public var projectile1:Array;
static var NUM_ANGLES:int = 12;
static var DEG_INCR:int = 30;
static var RAD_INCR:Number = (Math.PI / 6);
static var NUM_FRAMES:int = 12;
public function BitmapManager():void{
}
public function loadBitmaps():void{
this.mobkon0 = loadAnimFull("Mobkon0_Sprite", 12, 32, 1);
this.mobkon1 = loadAnimFull("Mobkon1_Sprite", 24, 32, 1);
this.mobkon2 = loadAnimFull("Mobkon2_Sprite", 12, 16, 1);
this.mobkon3 = loadAnimFull("Mobkon3_Sprite", 24, 64, 1);
this.mobkon4 = loadAnimFull("Mobkon4_Sprite", 12, 48, 1);
this.mobkon4_mini = loadAnimFull("Mobkon4_Mini_Sprite", 1, 24, 1);
this.mobkon5 = loadAnimFull("Mobkon5_Sprite", 12, 32, 1);
this.mobkon6 = loadAnimFull("Mobkon6_Sprite", 1, 78, 1);
this.mobkon6_mini = loadAnimFull("Mobkon6_Mini_Sprite", 24, 32, 1);
this.mobkon7 = loadAnimFull("Mobkon7_Sprite", 1, 32, 1);
this.mobkon8 = loadAnimFull("Mobkon8_Sprite", 24, 32, 1);
this.mobkon9 = loadAnimFull("Mobkon9_Sprite", 12, 32, 1);
this.mobkon10 = loadAnimFull("Mobkon10_Sprite", 1, 64, 1);
this.mobkon11 = loadAnimFull("Mobkon11_Sprite", 24, 32, 1);
this.mobkon12 = loadAnimFull("Mobkon12_Sprite", 24, 32, 1);
this.projectile0 = loadAnimFull("Projectile0_Sprite", 1, 8, 1);
this.projectile1 = loadAnimFull("Projectile1_Sprite", 1, 8, 1);
this.projectile2 = loadAnimFull("Projectile2_Sprite", 1, 8, 1);
this.projectile3 = loadAnimFull("Projectile3_Sprite", 1, 8, 1);
this.projectile4 = loadAnimFull("Projectile4_Sprite", 1, 8, 1);
this.projectile10 = loadAnimFull("Projectile10_Sprite", 1, 32, 1);
this.projectile11 = loadAnimFull("Projectile11_Sprite", 1, 32, 1);
this.projectile12 = loadAnimFull("Projectile12_Sprite", 1, 32, 1);
this.projectile13 = loadAnimFull("Projectile13_Sprite", 1, 32, 1);
this.projectile14 = loadAnimFull("Projectile14_Sprite", 1, 48, 1);
this.projectile15 = loadAnimFull("Projectile15_Sprite", 1, 48, 1);
this.spawning0 = loadAnim("Spawning0");
this.efx_explosion0_s = loadAnimFull("wipeExplosionBase", 4, 64, 0.3);
this.efx_explosion0_m = loadAnimFull("wipeExplosionBase", 4, 64, 0.5);
this.efx_explosion0_l = loadAnimFull("wipeExplosionBase", 4, 128, 1);
this.efx_explosion1 = loadAnimFull("Proj_Explosion0_Base", 4, 16, 1);
this.efx_explosion2 = loadAnimFull("bit_explosion1", 4, 48, 1);
this.efx_trail0 = loadAnimFull("Trail0_Base", 1, 32, 1);
this.efx_trail1 = loadAnimFull("Trail1_Base", 1, 32, 1);
}
public function load(_arg1:String):Array{
var _local2:Class;
var _local3:MovieClip;
var _local4:int;
var _local5:BitmapData;
var _local6:Matrix;
_local2 = (getDefinitionByName(_arg1) as Class);
_local3 = new (_local2);
save = new Array(BitmapManager.NUM_ANGLES);
_local4 = 0;
_local4 = 0;
while (_local4 < BitmapManager.NUM_FRAMES) {
_local3.rotation = (90 + (_local4 * BitmapManager.DEG_INCR));
_local5 = new BitmapData(_local3.width, _local3.height, true, 0xFF0000);
_local6 = new Matrix();
_local6.rotate(((_local4 * BitmapManager.RAD_INCR) + (Math.PI / 2)));
_local6.translate((_local3.width / 2), (_local3.height / 2));
_local5.draw(_local3, _local6, null, null, null, true);
save[_local4] = _local5;
_local4++;
};
return (save);
}
public function loadAnim(_arg1:String):Array{
var _local2:Class;
var _local3:MovieClip;
var _local4:int;
var _local5:int;
var _local6:BitmapData;
var _local7:Matrix;
_local2 = (getDefinitionByName(_arg1) as Class);
_local3 = new (_local2);
_local4 = 0;
_local5 = _local3.totalFrames;
save = new Array(_local5);
_local4 = 0;
while (_local4 < _local5) {
_local3.gotoAndStop((_local4 + 1));
_local6 = new BitmapData(_local3.width, _local3.height, true, 0xFF0000);
_local7 = new Matrix();
_local7.translate((_local3.width / 2), (_local3.height / 2));
_local6.draw(_local3, _local7, null, null, null, true);
save[_local4] = _local6;
_local4++;
};
return (save);
}
public function loadAnimFull(_arg1:String, _arg2:int, _arg3:int, _arg4:Number=1):Array{
var _local5:Class;
var _local6:MovieClip;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:Number;
var _local11:Array;
var _local12:BitmapData;
var _local13:Matrix;
_local5 = (getDefinitionByName(_arg1) as Class);
_local6 = new (_local5);
_local7 = 0;
_local8 = 0;
_local9 = _local6.totalFrames;
_local10 = ((2 * Math.PI) / _arg2);
_local11 = new Array(_arg2);
_local7 = 0;
while (_local7 < _arg2) {
_local11[_local7] = new Array(_local9);
_local8 = 0;
while (_local8 < _local9) {
_local6.gotoAndStop((_local8 + 1));
_local12 = new BitmapData(_arg3, _arg3, true, 0xFF0000);
_local13 = new Matrix();
_local13.scale(_arg4, _arg4);
_local13.rotate(((_local7 * _local10) + (Math.PI / 2)));
_local13.translate((_arg3 >> 1), (_arg3 >> 1));
_local12.draw(_local6, _local13, null, null, null, true);
_local11[_local7][_local8] = _local12;
_local8++;
};
_local7++;
};
return (_local11);
}
}
}//package
Section 24
//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 25
//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 26
//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 27
//BombBar (BombBar)
package {
import flash.display.*;
import flash.text.*;
public dynamic class BombBar extends MovieClip {
public var numBombs:TextField;
}
}//package
Section 28
//Cannon0 (Cannon0)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.text.*;
import flash.net.*;
import flash.errors.*;
import flash.accessibility.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class Cannon0 extends MovieClip {
public var firePoint:MovieClip;
public var firePoint1:MovieClip;
public var firePoint2:MovieClip;
public function Cannon0(){
addFrameScript(0, frame1);
}
function frame1(){
this.firePoint.visible = false;
this.firePoint1.visible = false;
this.firePoint2.visible = false;
stop();
}
}
}//package
Section 29
//Cannon1 (Cannon1)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.text.*;
import flash.net.*;
import flash.errors.*;
import flash.accessibility.*;
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 30
//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 fadeOut():void{
this.visible = 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 31
//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 32
//ControlsScreen (ControlsScreen)
package {
import flash.display.*;
public dynamic class ControlsScreen extends MovieClip {
public var okayButton:SimpleButton;
}
}//package
Section 33
//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 34
//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 35
//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 36
//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 37
//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 38
//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 39
//EfxBitmap (EfxBitmap)
package {
import flash.display.*;
public class EfxBitmap extends Bitmap {
public var vx:Number;// = 0
public var curFrame:int;// = -1
public var life:int;// = 0
public var ax:Number;// = 0
public var ay:Number;// = 0
public var vy:Number;// = 0
public var oX:Number;
public var base:Array;
public var deg_incr:Number;
public var angle:int;
public var oY:Number;
public function EfxBitmap(_arg1:Array, _arg2:Number, _arg3:Number, _arg4:int):void{
life = 0;
curFrame = -1;
vx = 0;
vy = 0;
ax = 0;
ay = 0;
super();
this.pixelSnapping = "never";
this.smoothing = false;
this.x = _arg2;
this.y = _arg3;
this.oX = this.x;
this.oY = this.y;
this.base = _arg1;
this.deg_incr = (360 / this.base.length);
this.angle = _arg4;
this.life = this.base[0].length;
}
public function update():Boolean{
var _local1:int;
var _local2:Number;
var _local3:Number;
this.curFrame++;
if (this.curFrame >= this.life){
return (false);
};
_local1 = this.getRotationFrame();
_local2 = this.base[_local1][this.curFrame].width;
_local3 = this.base[_local1][this.curFrame].height;
this.bitmapData = this.base[_local1][this.curFrame];
this.x = (this.oX - (_local2 >> 1));
this.y = (this.oY - (_local3 >> 1));
this.vx = (this.vx + this.ax);
this.vy = (this.vy + this.ay);
this.oX = (this.oX + this.vx);
this.oY = (this.oY + this.vy);
return (true);
}
public function getRotationFrame():int{
var _local1:int;
var _local2:int;
_local1 = 0;
_local2 = this.angle;
if (this.angle < 0){
_local2 = (_local2 + 360);
};
_local1 = int((_local2 / this.deg_incr));
return (_local1);
}
}
}//package
Section 40
//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 41
//Explosion_Proj2 (Explosion_Proj2)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.text.*;
import flash.net.*;
import flash.errors.*;
import flash.accessibility.*;
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 42
//Explosion1 (Explosion1)
package {
public class Explosion1 extends Explosion {
public function Explosion1(_arg1:Number, _arg2:Number):void{
super(_arg1, _arg2);
this.type = Explosion.MINE_1;
this.pruneRadius = 50;
this.damage = 10;
}
}
}//package
Section 43
//Eyeball0 (Eyeball0)
package {
import flash.display.*;
public dynamic class Eyeball0 extends MovieClip {
}
}//package
Section 44
//Feat (Feat)
package {
public class Feat {
public var isComplete:Boolean;
public var title:String;
public var description:String;
static var diedThisLevel:Boolean = false;
static var diedThisRun:Boolean = false;
static var movedThisLevel:Boolean = false;
static var firedThisLevel:Boolean = false;
public function Feat(_arg1:String, _arg2:String, _arg3:Boolean=false):void{
this.title = _arg1;
this.description = _arg2;
this.isComplete = _arg3;
}
public static function initFeats():void{
OrbBlaster.feats = new Array();
OrbBlaster.feats[0] = new Array();
OrbBlaster.feats[1] = new Array();
OrbBlaster.feats[2] = new Array();
OrbBlaster.feats[0][0] = new Feat("Warmed Up", "Complete level 6");
OrbBlaster.feats[0][1] = new Feat("Great", "Earn a score of 350,000");
OrbBlaster.feats[0][2] = new Feat("Combo Artist", "Achieve a point multipler of 3X");
OrbBlaster.feats[0][3] = new Feat("Cat Lives", "Stockpile 6 Lives");
OrbBlaster.feats[0][4] = new Feat("Cold War", "Stockpile 6 Bombs");
OrbBlaster.feats[0][5] = new Feat("Ninja Movements", "Complete level 9 without firing your weapon and without losing a life");
OrbBlaster.feats[1][0] = new Feat("Hero", "Complete level 20");
OrbBlaster.feats[1][1] = new Feat("Millionaire", "Earn a score of 1,000,000 points");
OrbBlaster.feats[1][2] = new Feat("Combo Master", "Achieve a score multiplier of 6X");
OrbBlaster.feats[1][3] = new Feat("The One", "Gain 500,000 points with weapon level 1");
OrbBlaster.feats[1][4] = new Feat("Die Hard", "Complete levels 1-20 without losing a life");
OrbBlaster.feats[1][5] = new Feat("Stonewall ", "Complete level 12 without moving");
OrbBlaster.feats[2][0] = new Feat("Legend", "Complete level 36");
OrbBlaster.feats[2][1] = new Feat("Multi Millionaire", "Earn a score of 3,000,000 points");
OrbBlaster.feats[2][2] = new Feat("Slayer", "Gain 50,000 lifetime mob kills");
OrbBlaster.feats[2][3] = new Feat("It Was Lag!", "Lose all lives on level 2");
OrbBlaster.feats[2][4] = new Feat("Baller", "Stockpile 75,000 Credits");
OrbBlaster.feats[2][5] = new Feat("Impeccable", "Complete levels 1-30 without losing a life");
}
public static function featCheck(_arg1:int, _arg2:int):void{
var _local3:Boolean;
if (OrbBlaster.feats[_arg1][_arg2].isComplete){
return;
};
_local3 = false;
switch (_arg1){
case 0:
switch (_arg2){
case 5:
if (((!(Feat.firedThisLevel)) && (!(Feat.diedThisLevel)))){
trace(((Feat.firedThisLevel + " ") + Feat.diedThisLevel));
if (OrbBlaster.curLevel == 9){
_local3 = true;
};
};
break;
};
};
if (_local3){
Feat.complete(_arg1, _arg2);
};
}
public static function complete(_arg1:int, _arg2:int):void{
if (!OrbBlaster.feats[_arg1][_arg2].isComplete){
OrbBlaster.feats[_arg1][_arg2].isComplete = true;
OrbBlaster.completedFeatsOnLevel.push(OrbBlaster.feats[_arg1][_arg2]);
PlayerStats.feats++;
};
}
public static function resetLevelMarks():void{
Feat.firedThisLevel = false;
Feat.diedThisLevel = false;
Feat.movedThisLevel = false;
}
}
}//package
Section 45
//FeatBar (FeatBar)
package {
import flash.display.*;
import flash.text.*;
public dynamic class FeatBar extends MovieClip {
public var description:TextField;
public var title:TextField;
public var star:MovieClip;
}
}//package
Section 46
//FeatsCompleteScreen (FeatsCompleteScreen)
package {
import flash.display.*;
public dynamic class FeatsCompleteScreen extends MovieClip {
public var featBars:MovieClip;
public var okayButton:SimpleButton;
}
}//package
Section 47
//FeatsScreen (FeatsScreen)
package {
import flash.display.*;
public dynamic class FeatsScreen extends MovieClip {
public var normalCover:MovieClip;
public var featsBackButton:SimpleButton;
public var heroicCover:MovieClip;
public var legendButton:SimpleButton;
public var legendCover:MovieClip;
public var heroicButton:SimpleButton;
public var normalButton:SimpleButton;
}
}//package
Section 48
//fireball3 (fireball3)
package {
import flash.display.*;
public dynamic class fireball3 extends BitmapData {
public function fireball3(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 49
//FpsCounter (FpsCounter)
package {
import flash.display.*;
import flash.text.*;
public dynamic class FpsCounter extends MovieClip {
public var fpsText:TextField;
}
}//package
Section 50
//GogIntro (GogIntro)
package {
import flash.display.*;
public class GogIntro extends MovieClip {
public var cyclops:MovieClip;
public var mage:MovieClip;
public var isDone:Boolean;// = false
public function GogIntro():void{
isDone = false;
super();
addFrameScript(0, frame1, 18, frame19, 41, frame42, 90, frame91);
}
function frame91(){
this.stop();
}
function frame1(){
this.cyclops.stop();
this.mage.stop();
}
function frame19(){
this.mage.gotoAndStop(2);
}
public function isComplete():Boolean{
return (this.isDone);
}
function frame42(){
this.mage.gotoAndStop(1);
}
}
}//package
Section 51
//Hero (Hero)
package {
import flash.display.*;
import flash.utils.*;
public class Hero extends OrbObject {
public var lastDir:int;// = 0
public var isFireLooping:Boolean;
public var gunLevel:int;// = 0
public var rapidBombTimer:uint;// = 0
public var bombReady:Boolean;
public var numBombs:int;// = 3
public var fireBombTimer:Timer;
public var bombCooldown:Number;
public var dSpeed:Number;
public var skinType:uint;// = 0
public var bombFrameArr:Array;
public var normalBombCooldown:uint;
public var trailTimer:int;// = 0
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 type:int;// = 0
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 static var startSpeed:Array = [3.8, 3.2];
public function Hero(){
rapidFireTimer = 0;
rapidBombTimer = 0;
curBombFrame = 7;
isInvincible = false;
skinType = 0;
type = 0;
gunLevel = 0;
trailTimer = 0;
lastDir = 0;
numBombs = 3;
super();
this.pruneRadius = 60;
this.setSpeed(4);
this.normalCooldown = 4;
this.cooldown = this.normalCooldown;
this.normalBombCooldown = 60;
this.bombCooldown = this.normalBombCooldown;
this.bombReady = true;
this.life = 1;
this.radiusX = (this.radiusX - 8);
this.radiusY = (this.radiusY - 8);
this.gunTimeCount = 0;
this.bombTimeCount = 0;
this.isFireLooping = false;
this.cannon = new Cannon0();
this.addChild(cannon);
this.fireReady = true;
this.bombFrameArr = new Array();
this.updateBombFrameArr();
}
public function fireBomb():void{
}
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 - this.rotation);
}
public function fire():void{
if (((this.fireReady) && (OrbBlaster.gunEnabled))){
if (!Feat.firedThisLevel){
Feat.firedThisLevel = true;
};
this.cannon.gotoAndPlay("fire");
SoundManager.playMachineGun();
OrbBlaster.objMgr.playerFire(this.gunLevel);
this.fireReady = false;
this.gunTimeCount = 0;
};
}
public function getHit():void{
Feat.diedThisLevel = true;
Feat.diedThisRun = true;
this.visible = false;
OrbBlaster.gunEnabled = false;
this.isFireLooping = false;
OrbBlaster.mouse.mouseDown = false;
}
public function setNormalCooldown(_arg1:uint):void{
this.normalCooldown = _arg1;
this.cooldown = _arg1;
}
public function startFireLoop():void{
this.fire();
this.isFireLooping = true;
}
public function setLife(_arg1:int):void{
this.life = _arg1;
OrbBlaster.lifeBar.numLives.text = this.life;
if (this.life >= 6){
Feat.complete(0, 3);
};
}
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 setGunLevel(_arg1:int):void{
this.gunLevel = _arg1;
switch (this.type){
case 0:
if (this.gunLevel == 0){
this.setNormalCooldown(5);
} else {
if ((((this.gunLevel >= 1)) && ((this.gunLevel <= 4)))){
this.setNormalCooldown(5);
} else {
if (this.gunLevel == 5){
this.setNormalCooldown(5);
};
};
};
break;
case 1:
if (this.gunLevel == 0){
this.setNormalCooldown(5);
} else {
if (this.gunLevel == 1){
this.setNormalCooldown(5);
} else {
if (this.gunLevel == 2){
this.setNormalCooldown(4);
} else {
if (this.gunLevel == 3){
this.setNormalCooldown(4);
} else {
if (this.gunLevel == 4){
this.setNormalCooldown(3);
} else {
if (this.gunLevel == 5){
this.setNormalCooldown(3);
};
};
};
};
};
};
break;
};
}
public function glowPowDisplay():void{
this.curBombFrame = 10;
this.bombDisplay.gotoAndPlay(10);
}
public function updateCannonRotation():void{
this.cannon.rotation = (this.cannon.rotation - this.rotation);
}
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();
};
};
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 setBombs(_arg1:int):void{
this.numBombs = _arg1;
OrbBlaster.bombBar.numBombs.text = _arg1;
if (this.numBombs >= 6){
Feat.complete(0, 4);
};
}
public function setType(_arg1:int):void{
this.type = _arg1;
this.gotoAndStop((_arg1 + 1));
this.removeChild(this.cannon);
this.setSpeed(Hero.startSpeed[_arg1]);
switch (_arg1){
case 0:
this.cannon = new Cannon0();
this.cannon.y = 3;
this.normalCooldown = 4;
this.cannon.firePoint1.visible = false;
this.cannon.firePoint2.visible = false;
OrbBlaster.lifeBar.icon0.visible = true;
OrbBlaster.lifeBar.icon1.visible = false;
break;
case 1:
this.cannon = new Cannon1();
this.normalCooldown = 3;
OrbBlaster.lifeBar.icon0.visible = false;
OrbBlaster.lifeBar.icon1.visible = true;
break;
};
this.resetFireLoop();
this.isFireLooping = false;
this.addChild(this.cannon);
this.cannon.firePoint.visible = false;
trace("type set");
}
override public function setSpeed(_arg1:Number):void{
this.speed = _arg1;
this.dSpeed = Math.sqrt(((_arg1 * _arg1) / 2));
}
public function updatePowDisplay():void{
OrbBlaster.bombBar.numBombs.text = this.numBombs;
}
public function startRapidFire():void{
this.rapidFireTimer = 250;
this.cooldown = 2;
}
public function respawn():void{
this.setLife((this.life - 1));
this.x = OrbBlaster.CENTER_X;
this.y = (OrbBlaster.CENTER_Y - 12);
this.visible = true;
OrbBlaster.gunEnabled = true;
}
public function newSkin():void{
var _local1:uint;
this.removeChild(this.cannon);
_local1 = Math.floor(OrbBlaster.random(0, 0));
switch (_local1){
case 0:
this.cannon = new Cannon0();
break;
case 1:
this.cannon = new Cannon1();
break;
case 2:
this.cannon = new Cannon2();
break;
default:
this.cannon = new Cannon0();
};
this.gotoAndStop((_local1 + 1));
this.skinType = _local1;
this.addChild(this.cannon);
this.cannon.y = 3;
this.cannon.firePoint.visible = false;
if (OrbBlaster.gameMode == 1){
};
}
public function fireBombAlone():void{
if ((((OrbBlaster.objMgr.getMobs().numChildren > 0)) && ((this.numBombs > 0)))){
this.setBombs((this.numBombs - 1));
OrbBlaster.objMgr.wipe();
OrbBlaster.spawner.mobSpawnTimer.delay = 1500;
};
}
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));
}
override public function walk(_arg1:uint):void{
var _local2:Number;
var _local3:Number;
var _local4:Boolean;
if (this.visible == false){
return;
};
_local2 = this.x;
_local3 = this.y;
switch (_arg1){
case 0:
_local2 = (_local2 - this.speed);
this.rotation = -90;
break;
case 1:
_local2 = (_local2 + this.speed);
this.rotation = 90;
break;
case 2:
_local3 = (_local3 - this.speed);
this.rotation = 0;
break;
case 3:
_local3 = (_local3 + this.speed);
this.rotation = 180;
break;
case 4:
_local2 = (_local2 - this.dSpeed);
_local3 = (_local3 - this.dSpeed);
this.rotation = -45;
break;
case 5:
_local2 = (_local2 - this.dSpeed);
_local3 = (_local3 + this.dSpeed);
this.rotation = -135;
break;
case 6:
_local2 = (_local2 + this.dSpeed);
_local3 = (_local3 - this.dSpeed);
this.rotation = 45;
break;
case 7:
_local2 = (_local2 + this.dSpeed);
_local3 = (_local3 + this.dSpeed);
this.rotation = 135;
break;
};
if (this.lastDir != _arg1){
this.lastDir = _arg1;
OrbBlaster.mouse.update();
};
_local4 = false;
if ((((_local2 <= 6)) || ((_local2 >= (OrbBlaster.PROJ_X_MAX - 7))))){
} else {
this.x = _local2;
_local4 = true;
};
if ((((_local3 <= 5)) || ((_local3 >= (OrbBlaster.PROJ_Y_MAX - 6))))){
} else {
this.y = _local3;
_local4 = true;
};
if ((((this.trailTimer <= 0)) && (_local4))){
switch (this.type){
case 0:
OrbBlaster.objMgr.addEfxBitmap(OrbBlaster.bitmapManager.efx_trail0, this.x, this.y, 1);
break;
case 1:
OrbBlaster.objMgr.addEfxBitmap(OrbBlaster.bitmapManager.efx_trail1, this.x, this.y);
break;
};
this.trailTimer = 2;
} else {
this.trailTimer--;
};
if (!Feat.movedThisLevel){
Feat.movedThisLevel = true;
};
}
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 52
//HeroSelectionScreen (HeroSelectionScreen)
package {
import flash.display.*;
public dynamic class HeroSelectionScreen extends MovieClip {
public var button0:SimpleButton;
public var button1:SimpleButton;
public var heroNames:MovieClip;
}
}//package
Section 53
//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;
var _local4:Boolean;
var _local5:Boolean;
var _local6:Boolean;
_local1 = ((Keyboard.isDown(37)) || (Keyboard.isDown(65)));
_local2 = ((Keyboard.isDown(39)) || (Keyboard.isDown(68)));
_local3 = Keyboard.isDown(32);
_local4 = ((Keyboard.isDown(38)) || (Keyboard.isDown(87)));
_local5 = ((((Keyboard.isDown(40)) || (Keyboard.isDown(88)))) || (Keyboard.isDown(83)));
_local6 = Keyboard.isDown(17);
if (_local1){
if (_local4){
OrbBlaster.hero.walk(4);
} else {
if (_local5){
OrbBlaster.hero.walk(5);
} else {
OrbBlaster.hero.walk(0);
};
};
} else {
if (_local2){
if (_local4){
OrbBlaster.hero.walk(6);
} else {
if (_local5){
OrbBlaster.hero.walk(7);
} else {
OrbBlaster.hero.walk(1);
};
};
} else {
if (_local4){
OrbBlaster.hero.walk(2);
} else {
if (_local5){
OrbBlaster.hero.walk(3);
};
};
};
};
if (((_local3) || (_local6))){
OrbBlaster.hero.fireBombAlone();
};
}
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 54
//LevelNumber (LevelNumber)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.text.*;
import flash.net.*;
import flash.errors.*;
import flash.accessibility.*;
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 55
//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 56
//LifeBar (LifeBar)
package {
import flash.display.*;
import flash.text.*;
public dynamic class LifeBar extends MovieClip {
public var icon1:MovieClip;
public var numLives:TextField;
public var icon0:MovieClip;
}
}//package
Section 57
//MainMenu (MainMenu)
package {
import flash.display.*;
import flash.text.*;
public dynamic class MainMenu extends MovieClip {
public var jumpButton:SimpleButton;
public var jumpNumber:TextField;
public var featsButton:SimpleButton;
public var background:MovieClip;
public var highScoresButton:SimpleButton;
public var creditsButton:SimpleButton;
public var debugButton:SimpleButton;
public var rootName:TextField;
public var statsButton:SimpleButton;
public var normalButton:SimpleButton;
}
}//package
Section 58
//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 = Math.ceil((this.speed * _local9));
this.vy = Math.ceil((this.speed * _local10));
}
public function damagedBy(_arg1:OrbObject):void{
if (this.hitpoints >= 0){
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 59
//Mob0_Sprite (Mob0_Sprite)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.text.*;
import flash.net.*;
import flash.errors.*;
import flash.accessibility.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class Mob0_Sprite extends MovieClip {
public function Mob0_Sprite(){
addFrameScript(0, frame1);
}
function frame1(){
this.stop();
}
}
}//package
Section 60
//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;
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;
};
}
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 61
//Mobkon (Mobkon)
package {
import flash.display.*;
public class Mobkon extends Mob {
public var rotationAngle:Number;// = 0
public var angleFrame:int;// = 0
public var maxFrame:int;
public var updateDirCount:int;// = 0
public var state:int;// = 0
public var updateDirTimer:int;// = 4
public var dir:Number;// = 0
public var explosionEfx:Array;
public var credits:int;// = 25
public var spawningCount:int;// = 0
public var spawnDelay:int;// = 0
public var deg_incr:Number;
public var turnRate:Number;// = 1
public var curFrame:int;// = -1
public var bitmap:Bitmap;
public var spriteBase:Array;
public var spawningBase:Array;
public function Mobkon(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:int=0):void{
updateDirTimer = 4;
updateDirCount = 0;
angleFrame = 0;
dir = 0;
state = 0;
spawningCount = 0;
explosionEfx = OrbBlaster.bitmapManager.efx_explosion0_s;
curFrame = -1;
rotationAngle = 0;
turnRate = 1;
spawnDelay = 0;
credits = 25;
super(_arg1, _arg2, _arg3, _arg4, 5);
this.maxPushSpeed = 5;
this.damage = 10;
this.hitpoints = 10000;
this.pushAbility = 0;
this.points = 500;
this.type = 1;
this.speed = 1;
this.bitmap = new Bitmap(null, "never", false);
this.dir = OrbBlaster.random(0, 6.2);
this.spawnDelay = _arg5;
this.vx = 0;
this.vy = 0;
}
override public function damagedBy(_arg1:OrbObject):void{
var _local2:Number;
if (this.hitpoints <= 0){
return;
};
this.hitpoints = (this.hitpoints - _arg1.damage);
if (this.hitpoints <= 0){
this.die();
OrbBlaster.objMgr.addEfxBitmap(this.explosionEfx, this.x, this.y);
} 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);
};
};
}
public function turnLeft(_arg1:Number):void{
var _local2:Number;
_local2 = (this.dir - this.turnRate);
this.setDir(_local2);
}
public function doneSpawning():void{
this.state = 1;
OrbBlaster.objMgr.addToPrune(this);
}
public function updateSpawning():void{
var _local1:Number;
var _local2:Number;
if (this.spawnDelay <= 0){
_local1 = this.spawningBase[this.spawningCount].width;
_local2 = this.spawningBase[this.spawningCount].height;
this.bitmap.bitmapData = this.spawningBase[this.spawningCount];
this.bitmap.x = -((_local1 >> 1));
this.bitmap.y = -((_local2 >> 1));
this.spawningCount++;
if (this.spawningCount >= this.spawningBase.length){
this.doneSpawning();
};
} else {
this.spawnDelay--;
};
}
override public function die():void{
this.playDieSound();
OrbBlaster.objMgr.killMob(this);
}
override public function updateFace():void{
switch (this.state){
case 0:
this.updateSpawning();
break;
case 1:
this.updateSpecial();
this.updateNormal();
break;
};
}
public function updateVelocity():void{
this.vx = this.normalizeVel((this.speed * Math.cos(this.dir)));
this.vy = this.normalizeVel((this.speed * Math.sin(this.dir)));
}
public function getRotationFrame():int{
var _local1:int;
var _local2:int;
_local1 = 0;
_local2 = this.rotationAngle;
if (_local2 < 0){
_local2 = (_local2 + 360);
};
_local1 = int((_local2 / this.deg_incr));
return (_local1);
}
public function setDir(_arg1:Number):void{
if (_arg1 < 0){
_arg1 = (_arg1 + 6.28);
};
if (_arg1 > 6.28){
_arg1 = (_arg1 - 6.28);
};
this.dir = _arg1;
}
public function turnToPlayer():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
_local1 = OrbBlaster.getAngleTo(this.x, this.y, OrbBlaster.hero.x, OrbBlaster.hero.y);
if (_local1 < 0){
_local1 = (_local1 + (2 * Math.PI));
};
_local3 = (this.dir - _local1);
if (Math.abs(_local3) <= this.turnRate){
this.setDir(_local1);
} else {
if (_local3 < 0){
if (Math.abs(_local3) > Math.PI){
this.turnLeft(_local1);
} else {
this.turnRight(_local1);
};
} else {
if (Math.abs(_local3) > Math.PI){
this.turnRight(_local1);
} else {
this.turnLeft(_local1);
};
};
};
}
public function updateDir():void{
this.turnToPlayer();
}
public function updateNormal():void{
if (this.updateDirCount <= 0){
this.updateDir();
this.updateVelocity();
this.updateRotation();
this.updateDirCount = this.updateDirTimer;
} else {
this.updateDirCount--;
};
this.updateBitmap();
}
public function normalizeVel(_arg1:Number):Number{
return (_arg1);
}
public function updateBitmap():void{
var _local1:int;
var _local2:Number;
var _local3:Number;
this.curFrame++;
if (this.curFrame >= this.maxFrame){
this.curFrame = 0;
};
_local1 = this.getRotationFrame();
if (this.spriteBase[_local1] != null){
_local2 = this.spriteBase[_local1][this.curFrame].width;
_local3 = this.spriteBase[_local1][this.curFrame].height;
this.bitmap.bitmapData = this.spriteBase[_local1][this.curFrame];
this.bitmap.x = -((_local2 >> 1));
this.bitmap.y = -((_local3 >> 1));
};
}
public function setSpriteBase(_arg1:Array, _arg2:Array):void{
var _local3:Number;
var _local4:Number;
this.spawningBase = _arg1;
this.spawningCount = 0;
this.radiusX = (_arg1[0].width >> 1);
this.radiusY = this.radiusX;
this.addChild(this.bitmap);
_local3 = this.spawningBase[this.spawningCount].width;
_local4 = this.spawningBase[this.spawningCount].height;
this.bitmap.x = -((_local3 >> 1));
this.bitmap.y = -((_local4 >> 1));
this.spriteBase = _arg2;
this.maxFrame = this.spriteBase[0].length;
}
public function updateRotation():void{
this.rotationAngle = (this.dir * 57.33);
}
public function turnRight(_arg1:Number):void{
var _local2:Number;
_local2 = (this.dir + this.turnRate);
this.setDir(_local2);
}
public function updateSpecial():void{
}
public function playDieSound():void{
SoundManager.playMobExplosion();
}
}
}//package
Section 62
//Mobkon0 (Mobkon0)
package {
public class Mobkon0 extends Mobkon {
public function Mobkon0(_arg1:Number, _arg2:Number, _arg3:int=0):void{
var _local4:Number;
super(_arg1, _arg2, 0, 0, _arg3);
this.maxPushSpeed = 5;
this.damage = 10;
this.hitpoints = 10;
this.pushAbility = 0;
this.points = 100;
this.credits = 15;
this.type = 1;
this.explType = Explosion.MINE_4;
this.speed = 4.1;
this.turnRate = 1;
this.updateDirTimer = 10;
this.explosionEfx = OrbBlaster.bitmapManager.efx_explosion0_m;
this.deg_incr = 30;
this.setSpriteBase(OrbBlaster.bitmapManager.spawning0, OrbBlaster.bitmapManager.mobkon0);
this.radiusX = 11;
this.radiusY = 11;
_local4 = OrbBlaster.getAngleTo(this.x, this.y, OrbBlaster.hero.x, OrbBlaster.hero.y);
_local4 = (_local4 + OrbBlaster.random(-1.8, 1.8));
this.setDir(_local4);
}
override public function playDieSound():void{
SoundManager.playMobExplosionM();
}
}
}//package
Section 63
//Mobkon0_Sprite (Mobkon0_Sprite)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.text.*;
import flash.net.*;
import flash.errors.*;
import flash.accessibility.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class Mobkon0_Sprite extends MovieClip {
public function Mobkon0_Sprite(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 64
//Mobkon1 (Mobkon1)
package {
public class Mobkon1 extends Mobkon {
private var duration:int;// = 0
public function Mobkon1(_arg1:Number, _arg2:Number, _arg3:int=0, _arg4:Number=0):void{
var _local5:Number;
duration = 0;
super(_arg1, _arg2, 0, 0, _arg3);
this.maxPushSpeed = 5;
this.damage = 10;
this.hitpoints = 10;
this.pushAbility = 0;
this.points = 75;
this.credits = 12;
this.type = 1;
this.speed = 7;
this.updateDirTimer = 0x0200;
this.explosionEfx = OrbBlaster.bitmapManager.efx_explosion0_m;
this.deg_incr = 15;
this.setSpriteBase(OrbBlaster.bitmapManager.spawning0, OrbBlaster.bitmapManager.mobkon1);
this.radiusX = 11;
this.radiusY = 11;
_local5 = OrbBlaster.getAngleTo(this.x, this.y, OrbBlaster.hero.x, OrbBlaster.hero.y);
this.setDir(_local5);
}
override public function die():void{
this.playDieSound();
OrbBlaster.objMgr.delayedRemoveMob(this);
}
override public function updateDir():void{
}
override public function updateSpecial():void{
this.duration++;
if (this.duration == 150){
this.die();
};
}
override public function playDieSound():void{
SoundManager.playMobExplosionM();
}
}
}//package
Section 65
//Mobkon1_Sprite (Mobkon1_Sprite)
package {
import flash.display.*;
public dynamic class Mobkon1_Sprite extends MovieClip {
}
}//package
Section 66
//Mobkon10 (Mobkon10)
package {
public class Mobkon10 extends Mobkon {
private var actionType:int;// = 0
private var actionTimer:int;// = 0
private var actionTimerEnd:int;// = 0
public function Mobkon10(_arg1:Number, _arg2:Number, _arg3:int=0):void{
actionTimer = 0;
actionTimerEnd = 0;
actionType = 0;
super(_arg1, _arg2, 0, 0, _arg3);
this.maxPushSpeed = 5;
this.damage = 10;
this.hitpoints = 20;
this.pushAbility = 0;
this.points = 225;
this.credits = 25;
this.type = 1;
this.speed = 3;
this.turnRate = 0.5;
this.updateDirTimer = 10;
this.explosionEfx = OrbBlaster.bitmapManager.efx_explosion0_m;
this.setSpriteBase(OrbBlaster.bitmapManager.spawning0, OrbBlaster.bitmapManager.mobkon10);
this.radiusX = 19;
this.radiusY = 19;
}
override public function die():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
_local1 = OrbBlaster.random(-10, 10);
_local2 = OrbBlaster.random(-10, 10);
_local3 = OrbBlaster.random(-10, 10);
OrbBlaster.objMgr.addMob(101, (this.x + _local1), (this.y + _local1), 0);
OrbBlaster.objMgr.addMob(101, (this.x + _local2), (this.y + _local2), 0);
OrbBlaster.objMgr.addMob(101, (this.x + _local3), (this.y + _local3), 0);
this.playDieSound();
OrbBlaster.objMgr.killMob(this);
}
override public function turnToPlayer():void{
}
override public function updateSpecial():void{
if (this.willBeOutBounds()){
this.setDir((this.dir - 0.7854));
this.updateVelocity();
};
}
}
}//package
Section 67
//Mobkon10_Mini (Mobkon10_Mini)
package {
public class Mobkon10_Mini extends Mobkon {
private var actionType:int;// = 0
private var actionTimer:int;// = 0
private var actionTimerEnd:int;// = 0
public function Mobkon10_Mini(_arg1:Number, _arg2:Number, _arg3:int=0):void{
actionTimer = 0;
actionTimerEnd = 0;
actionType = 0;
super(_arg1, _arg2, 0, 0, _arg3);
this.maxPushSpeed = 5;
this.damage = 10;
this.hitpoints = 10;
this.pushAbility = 0;
this.points = 80;
this.credits = 8;
this.type = 1;
this.speed = 3.2;
this.turnRate = 0.5;
this.updateDirTimer = 10;
this.explosionEfx = OrbBlaster.bitmapManager.efx_explosion0_s;
this.setSpriteBase(OrbBlaster.bitmapManager.spawning0, OrbBlaster.bitmapManager.mobkon7);
this.radiusX = 11;
this.radiusY = 11;
this.doneSpawning();
}
override public function turnToPlayer():void{
}
override public function updateSpecial():void{
if (this.willBeOutBounds()){
this.setDir((this.dir - 0.7854));
this.updateVelocity();
};
}
override public function playDieSound():void{
SoundManager.playMobExplosionS();
}
}
}//package
Section 68
//Mobkon10_Sprite (Mobkon10_Sprite)
package {
import flash.display.*;
public dynamic class Mobkon10_Sprite extends MovieClip {
}
}//package
Section 69
//Mobkon11 (Mobkon11)
package {
public class Mobkon11 extends Mobkon {
public function Mobkon11(_arg1:Number, _arg2:Number, _arg3:int=0):void{
var _local4:Number;
super(_arg1, _arg2, 0, 0, _arg3);
this.maxPushSpeed = 5;
this.damage = 10;
this.hitpoints = 10;
this.pushAbility = 0;
this.points = 200;
this.credits = 25;
this.type = 1;
this.speed = 3.9;
this.turnRate = 0.11;
this.updateDirTimer = 4;
this.explosionEfx = OrbBlaster.bitmapManager.efx_explosion0_m;
this.deg_incr = 15;
this.setSpriteBase(OrbBlaster.bitmapManager.spawning0, OrbBlaster.bitmapManager.mobkon11);
this.radiusX = 10;
this.radiusY = 10;
_local4 = OrbBlaster.getAngleTo(this.x, this.y, OrbBlaster.hero.x, OrbBlaster.hero.y);
this.setDir(_local4);
}
override public function damagedBy(_arg1:OrbObject):void{
var _local2:Number;
var _local3:Number;
if (this.hitpoints <= 0){
return;
};
_local2 = OrbBlaster.getAngleTo(this.x, this.y, _arg1.x, _arg1.y);
if (_local2 < 0){
_local2 = (_local2 + 6.28);
};
_local3 = Math.abs((this.dir - _local2));
if ((((_local3 > 1.8)) && ((_local3 < (6.28 - 1.8))))){
this.hitpoints = (this.hitpoints - _arg1.damage);
if (this.hitpoints <= 0){
this.die();
OrbBlaster.objMgr.addEfxBitmap(this.explosionEfx, this.x, this.y);
};
};
}
override public function playDieSound():void{
SoundManager.playMobExplosionM();
}
}
}//package
Section 70
//Mobkon11_Sprite (Mobkon11_Sprite)
package {
import flash.display.*;
public dynamic class Mobkon11_Sprite extends MovieClip {
}
}//package
Section 71
//Mobkon12 (Mobkon12)
package {
public class Mobkon12 extends Mobkon {
public function Mobkon12(_arg1:Number, _arg2:Number, _arg3:int=0):void{
var _local4:Number;
super(_arg1, _arg2, 0, 0, _arg3);
this.spawnDelay = _arg3;
this.maxPushSpeed = 5;
this.damage = 10;
this.hitpoints = 20;
this.pushAbility = 0;
this.points = 175;
this.credits = 22;
this.type = 1;
this.speed = (4.3 + OrbBlaster.random(-0.5, 0.5));
this.turnRate = 0.8;
this.updateDirTimer = 3;
this.explosionEfx = OrbBlaster.bitmapManager.efx_explosion0_s;
this.deg_incr = 30;
this.setSpriteBase(OrbBlaster.bitmapManager.spawning0, OrbBlaster.bitmapManager.mobkon12);
this.radiusX = 11;
this.radiusY = 11;
_local4 = OrbBlaster.getAngleTo(this.x, this.y, OrbBlaster.hero.x, OrbBlaster.hero.y);
this.setDir(_local4);
}
override public function playDieSound():void{
SoundManager.playMobExplosionS();
}
}
}//package
Section 72
//Mobkon12_Sprite (Mobkon12_Sprite)
package {
import flash.display.*;
public dynamic class Mobkon12_Sprite extends MovieClip {
}
}//package
Section 73
//Mobkon2 (Mobkon2)
package {
public class Mobkon2 extends Mobkon {
public function Mobkon2(_arg1:Number, _arg2:Number, _arg3:int=0):void{
var _local4:Number;
super(_arg1, _arg2, 0, 0, _arg3);
this.spawnDelay = _arg3;
this.maxPushSpeed = 5;
this.damage = 10;
this.hitpoints = 10;
this.pushAbility = 0;
this.points = 100;
this.credits = 15;
this.type = 1;
this.speed = (4 + OrbBlaster.random(-0.5, 0.5));
this.turnRate = 0.8;
this.updateDirTimer = 3;
this.explosionEfx = OrbBlaster.bitmapManager.efx_explosion0_s;
this.deg_incr = 30;
this.setSpriteBase(OrbBlaster.bitmapManager.spawning0, OrbBlaster.bitmapManager.mobkon2);
this.radiusX = 10;
this.radiusY = 10;
_local4 = OrbBlaster.getAngleTo(this.x, this.y, OrbBlaster.hero.x, OrbBlaster.hero.y);
this.setDir(_local4);
}
override public function playDieSound():void{
SoundManager.playMobExplosionS();
}
}
}//package
Section 74
//Mobkon2_Sprite (Mobkon2_Sprite)
package {
import flash.display.*;
public dynamic class Mobkon2_Sprite extends MovieClip {
}
}//package
Section 75
//Mobkon3 (Mobkon3)
package {
public class Mobkon3 extends Mobkon {
public function Mobkon3(_arg1:Number, _arg2:Number, _arg3:int=0):void{
super(_arg1, _arg2, 0, 0, _arg3);
this.maxPushSpeed = 5;
this.damage = 10;
this.hitpoints = 45;
this.pushAbility = 0;
this.points = 450;
this.credits = 45;
this.type = 1;
this.speed = 2;
this.turnRate = 0.11;
this.updateDirTimer = 4;
this.explosionEfx = OrbBlaster.bitmapManager.efx_explosion0_l;
this.deg_incr = 15;
this.setSpriteBase(OrbBlaster.bitmapManager.spawning0, OrbBlaster.bitmapManager.mobkon3);
this.radiusX = 24;
this.radiusY = 24;
}
override public function damagedBy(_arg1:OrbObject):void{
var _local2:Number;
var _local3:Number;
if (this.hitpoints <= 0){
return;
};
_local2 = OrbBlaster.getAngleTo(this.x, this.y, _arg1.x, _arg1.y);
if (_local2 < 0){
_local2 = (_local2 + 6.28);
};
_local3 = Math.abs((this.dir - _local2));
if ((((_local3 > 1.3)) && ((_local3 < (6.28 - 1.3))))){
this.hitpoints = (this.hitpoints - _arg1.damage);
OrbBlaster.objMgr.addEfxBitmap(OrbBlaster.bitmapManager.efx_explosion0_s, _arg1.x, _arg1.y);
if (this.hitpoints <= 0){
this.die();
OrbBlaster.objMgr.addEfxBitmap(this.explosionEfx, this.x, this.y);
};
};
}
}
}//package
Section 76
//Mobkon3_Sprite (Mobkon3_Sprite)
package {
import flash.display.*;
public dynamic class Mobkon3_Sprite extends MovieClip {
}
}//package
Section 77
//Mobkon4 (Mobkon4)
package {
public class Mobkon4 extends Mobkon {
public function Mobkon4(_arg1:Number, _arg2:Number, _arg3:int=0):void{
var _local4:Number;
super(_arg1, _arg2, 0, 0, _arg3);
this.maxPushSpeed = 5;
this.damage = 10;
this.hitpoints = 10;
this.pushAbility = 0;
this.points = 100;
this.credits = 15;
this.type = 1;
this.speed = 3.9;
this.turnRate = 0.5;
this.updateDirTimer = 8;
this.explosionEfx = OrbBlaster.bitmapManager.efx_explosion0_m;
this.deg_incr = 30;
this.setSpriteBase(OrbBlaster.bitmapManager.spawning0, OrbBlaster.bitmapManager.mobkon4);
this.radiusX = 13;
this.radiusY = 13;
_local4 = OrbBlaster.getAngleTo(this.x, this.y, OrbBlaster.hero.x, OrbBlaster.hero.y);
_local4 = (_local4 + OrbBlaster.random(-0.3, 0.3));
this.setDir(_local4);
}
override public function die():void{
this.playDieSound();
OrbBlaster.objMgr.addMob(41, this.x, this.y, 0, (this.dir - 2));
OrbBlaster.objMgr.addMob(41, this.x, this.y, 0, (this.dir + 2));
OrbBlaster.objMgr.killMob(this);
}
override public function playDieSound():void{
SoundManager.playMobExplosionM();
}
}
}//package
Section 78
//Mobkon4_Mini (Mobkon4_Mini)
package {
public class Mobkon4_Mini extends Mobkon {
public function Mobkon4_Mini(_arg1:Number, _arg2:Number, _arg3:int=0, _arg4:Number=0):void{
super(_arg1, _arg2, 0, 0, _arg3);
this.maxPushSpeed = 5;
this.damage = 30;
this.hitpoints = 10;
this.pushAbility = 0;
this.points = 35;
this.credits = 7;
this.type = 1;
this.speed = 5.8;
this.turnRate = 0.5;
this.updateDirTimer = 8;
this.explosionEfx = OrbBlaster.bitmapManager.efx_explosion0_s;
this.setSpriteBase(OrbBlaster.bitmapManager.spawning0, OrbBlaster.bitmapManager.mobkon4_mini);
this.radiusX = 9;
this.radiusY = 9;
this.setDir(_arg4);
}
override public function updateSpawning():void{
this.spawningCount++;
if (this.spawningCount >= 2){
this.spawningCount = 0;
this.doneSpawning();
};
}
override public function updateSpecial():void{
this.spawningCount++;
if (this.spawningCount >= 2){
this.speed = 4.7;
};
}
override public function playDieSound():void{
SoundManager.playMobExplosionS();
}
}
}//package
Section 79
//Mobkon4_Mini_Sprite (Mobkon4_Mini_Sprite)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.text.*;
import flash.net.*;
import flash.errors.*;
import flash.accessibility.*;
import flash.filters.*;
import flash.ui.*;
public dynamic class Mobkon4_Mini_Sprite extends MovieClip {
public function Mobkon4_Mini_Sprite(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 80
//Mobkon4_Sprite (Mobkon4_Sprite)
package {
import flash.display.*;
public dynamic class Mobkon4_Sprite extends MovieClip {
}
}//package
Section 81
//Mobkon5 (Mobkon5)
package {
public class Mobkon5 extends Mobkon {
private var actionType:int;// = 0
private var actionTimer:int;// = 0
private var actionTimerEnd:int;// = 0
public function Mobkon5(_arg1:Number, _arg2:Number, _arg3:int=0):void{
actionTimer = 0;
actionTimerEnd = 0;
actionType = 0;
super(_arg1, _arg2, 0, 0, _arg3);
this.maxPushSpeed = 5;
this.damage = 10;
this.hitpoints = 10;
this.pushAbility = 0;
this.points = 100;
this.credits = 15;
this.type = 1;
this.speed = 0;
this.turnRate = 0.5;
this.updateDirTimer = 50000;
this.explosionEfx = OrbBlaster.bitmapManager.efx_explosion0_s;
this.deg_incr = 30;
this.setSpriteBase(OrbBlaster.bitmapManager.spawning0, OrbBlaster.bitmapManager.mobkon5);
this.radiusX = 9;
this.radiusY = 9;
}
override public function updateDir():void{
}
override public function updateSpecial():void{
if (this.willBeOutBounds()){
this.setDir((this.dir - 0.7854));
this.updateVelocity();
this.updateRotation();
};
if (this.actionTimer == this.actionTimerEnd){
switch (this.actionType){
case 0:
this.speed = 0;
this.setDir(OrbBlaster.random(-3.14, 3.14));
this.actionTimerEnd = OrbBlaster.random(1, 2);
this.actionType = Math.floor(OrbBlaster.random(0, 3));
break;
case 1:
this.speed = 0;
this.actionTimerEnd = OrbBlaster.random(1, 2);
this.actionType = Math.floor(OrbBlaster.random(0, 3));
break;
case 2:
this.speed = 3;
this.setDir(OrbBlaster.random(-3.14, 3.14));
this.actionTimerEnd = OrbBlaster.random(36, 64);
this.actionType = Math.floor(OrbBlaster.random(1, 3));
break;
};
this.updateRotation();
this.updateVelocity();
this.actionTimer = 0;
};
this.actionTimer++;
}
override public function playDieSound():void{
SoundManager.playMobExplosionS();
}
}
}//package
Section 82
//Mobkon5_Sprite (Mobkon5_Sprite)
package {
import flash.display.*;
public dynamic class Mobkon5_Sprite extends MovieClip {
}
}//package
Section 83
//Mobkon6 (Mobkon6)
package {
public class Mobkon6 extends Mobkon {
private var actionType:int;// = 0
private var actionTimer:int;// = -24
private var totalSpawned:int;// = 0
private var actionTimerEnd:int;// = 0
public function Mobkon6(_arg1:Number, _arg2:Number, _arg3:int=0):void{
actionTimer = -24;
actionTimerEnd = 0;
actionType = 0;
totalSpawned = 0;
super(_arg1, _arg2, 0, 0, _arg3);
this.maxPushSpeed = 5;
this.damage = 10;
this.hitpoints = 150;
this.pushAbility = 0;
this.points = 650;
this.credits = 75;
this.type = 1;
this.speed = 0;
this.turnRate = 0.5;
this.updateDirTimer = 50000;
this.explosionEfx = OrbBlaster.bitmapManager.efx_explosion0_l;
this.setSpriteBase(OrbBlaster.bitmapManager.spawning0, OrbBlaster.bitmapManager.mobkon6);
this.radiusX = 32;
this.radiusY = 32;
}
override public function updateDir():void{
}
override public function updateSpecial():void{
if (this.actionTimer == this.actionTimerEnd){
if (this.totalSpawned <= 10){
OrbBlaster.objMgr.addMob(61, this.x, this.y, 0);
this.actionTimer = 0;
this.actionTimerEnd = OrbBlaster.random(54, 74);
this.totalSpawned++;
};
};
this.actionTimer++;
}
}
}//package
Section 84
//Mobkon6_Mini (Mobkon6_Mini)
package {
public class Mobkon6_Mini extends Mobkon {
public function Mobkon6_Mini(_arg1:Number, _arg2:Number, _arg3:int=0):void{
super(_arg1, _arg2, 0, 0);
this.maxPushSpeed = 5;
this.damage = 10;
this.hitpoints = 10;
this.pushAbility = 0;
this.points = 35;
this.credits = 7;
this.type = 1;
this.explType = Explosion.MINE_4;
this.speed = 5;
this.updateDirTimer = 2;
this.explosionEfx = OrbBlaster.bitmapManager.efx_explosion2;
this.deg_incr = 15;
this.turnRate = 0.05;
this.setSpriteBase(OrbBlaster.bitmapManager.spawning0, OrbBlaster.bitmapManager.mobkon6_mini);
this.radiusX = 8.5;
this.radiusY = 8.5;
this.doneSpawning();
}
override public function updateSpecial():void{
if (this.willBeOutBounds()){
this.setDir((this.dir - 0.7854));
this.updateVelocity();
};
}
override public function playDieSound():void{
SoundManager.playMobExplosionS();
}
}
}//package
Section 85
//Mobkon6_Mini_Sprite (Mobkon6_Mini_Sprite)
package {
import flash.display.*;
public dynamic class Mobkon6_Mini_Sprite extends MovieClip {
}
}//package
Section 86
//Mobkon6_Sprite (Mobkon6_Sprite)
package {
import flash.display.*;
public dynamic class Mobkon6_Sprite extends MovieClip {
}
}//package
Section 87
//Mobkon7 (Mobkon7)
package {
public class Mobkon7 extends Mobkon {
private var actionType:int;// = 0
private var actionTimer:int;// = 0
private var actionTimerEnd:int;// = 0
public function Mobkon7(_arg1:Number, _arg2:Number, _arg3:int=0):void{
actionTimer = 0;
actionTimerEnd = 0;
actionType = 0;
super(_arg1, _arg2, 0, 0, _arg3);
this.maxPushSpeed = 5;
this.damage = 10;
this.hitpoints = 10;
this.pushAbility = 0;
this.points = 100;
this.credits = 15;
this.type = 1;
this.speed = 3;
this.turnRate = 0.5;
this.updateDirTimer = 10;
this.explosionEfx = OrbBlaster.bitmapManager.efx_explosion0_s;
this.setSpriteBase(OrbBlaster.bitmapManager.spawning0, OrbBlaster.bitmapManager.mobkon7);
this.radiusX = 11;
this.radiusY = 11;
}
override public function turnToPlayer():void{
}
override public function updateSpecial():void{
if (this.willBeOutBounds()){
this.setDir((this.dir - 0.7854));
this.updateVelocity();
};
}
override public function playDieSound():void{
SoundManager.playMobExplosionS();
}
}
}//package
Section 88
//Mobkon7_Sprite (Mobkon7_Sprite)
package {
import flash.display.*;
public dynamic class Mobkon7_Sprite extends MovieClip {
}
}//package
Section 89
//Mobkon8 (Mobkon8)
package {
public class Mobkon8 extends Mobkon {
private var actionType:int;// = 0
private var actionTimer:int;// = 0
private var actionTimerEnd:int;// = 0
public function Mobkon8(_arg1:Number, _arg2:Number, _arg3:int=0):void{
var _local4:Number;
actionTimer = 0;
actionTimerEnd = 0;
actionType = 0;
super(_arg1, _arg2, 0, 0, _arg3);
this.maxPushSpeed = 5;
this.damage = 10;
this.hitpoints = 20;
this.pushAbility = 0;
this.points = 150;
this.credits = 25;
this.type = 1;
this.speed = 0;
this.turnRate = 0.05;
this.updateDirTimer = 2;
this.explosionEfx = OrbBlaster.bitmapManager.efx_explosion0_m;
this.deg_incr = 15;
this.setSpriteBase(OrbBlaster.bitmapManager.spawning0, OrbBlaster.bitmapManager.mobkon8);
this.radiusX = 14;
this.radiusY = 14;
_local4 = OrbBlaster.getAngleTo(this.x, this.y, OrbBlaster.hero.x, OrbBlaster.hero.y);
_local4 = (_local4 + OrbBlaster.random(-1, 1));
this.setDir(_local4);
}
override public function turnToPlayer():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
_local1 = OrbBlaster.getAngleTo(this.x, this.y, OrbBlaster.hero.x, OrbBlaster.hero.y);
if (_local1 < 0){
_local1 = (_local1 + (2 * Math.PI));
};
_local3 = (this.dir - _local1);
if (Math.abs(_local3) <= this.turnRate){
this.speed = 6;
this.updateVelocity();
this.setDir(_local1);
} else {
this.speed = 0;
if (_local3 < 0){
if (Math.abs(_local3) > Math.PI){
this.turnLeft(_local1);
} else {
this.turnRight(_local1);
};
} else {
if (Math.abs(_local3) > Math.PI){
this.turnRight(_local1);
} else {
this.turnLeft(_local1);
};
};
};
}
}
}//package
Section 90
//Mobkon8_Sprite (Mobkon8_Sprite)
package {
import flash.display.*;
public dynamic class Mobkon8_Sprite extends MovieClip {
}
}//package
Section 91
//Mobkon9 (Mobkon9)
package {
public class Mobkon9 extends Mobkon {
public var accelCount:int;// = 0
public function Mobkon9(_arg1:Number, _arg2:Number, _arg3:int=0):void{
var _local4:Number;
accelCount = 0;
super(_arg1, _arg2, 0, 0, _arg3);
this.spawnDelay = _arg3;
this.maxPushSpeed = 5;
this.damage = 10;
this.hitpoints = 10;
this.pushAbility = 0;
this.points = 125;
this.credits = 18;
this.type = 1;
this.speed = (2 + OrbBlaster.random(-0.5, 0.5));
this.turnRate = 0.4;
this.updateDirTimer = 5;
this.explosionEfx = OrbBlaster.bitmapManager.efx_explosion0_s;
this.deg_incr = 30;
this.setSpriteBase(OrbBlaster.bitmapManager.spawning0, OrbBlaster.bitmapManager.mobkon9);
this.radiusX = 10;
this.radiusY = 10;
_local4 = OrbBlaster.getAngleTo(this.x, this.y, OrbBlaster.hero.x, OrbBlaster.hero.y);
this.setDir(_local4);
}
override public function updateSpecial():void{
if (this.speed <= (OrbBlaster.hero.speed + 1.5)){
if (this.accelCount >= 2){
this.speed = (this.speed + 0.45);
this.accelCount = 0;
};
this.accelCount++;
};
}
override public function playDieSound():void{
SoundManager.playMobExplosionM();
}
}
}//package
Section 92
//Mobkon9_Sprite (Mobkon9_Sprite)
package {
import flash.display.*;
public dynamic class Mobkon9_Sprite extends MovieClip {
}
}//package
Section 93
//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 94
//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;
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);
};
}
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 95
//MobPackage (MobPackage)
package {
public class MobPackage {
public var amountMax:Number;
public var isCluster:Boolean;
public var types:Array;
public var amountMin:Number;
public var rating:Number;
public var locations:Array;
public static var normalPackages = new Array();
public function MobPackage(_arg1:Array, _arg2:Number, _arg3:Number, _arg4:Array, _arg5:Boolean=false, _arg6:Number=1):void{
this.types = _arg1;
this.amountMin = _arg2;
this.amountMax = _arg3;
this.locations = _arg4;
this.isCluster = _arg5;
this.rating = _arg6;
}
public static function initPackages():void{
normalPackages[0] = new MobPackage([0], 2, 3, [0, 2, 5, 7], true, 1);
normalPackages[1] = new MobPackage([7], 3, 4, [0, 2, 5, 7], true, 1);
normalPackages[2] = new MobPackage([4], 1, 2, [0, 2, 5, 7], true, 1);
normalPackages[3] = new MobPackage([2, 5], 1, 2, [1, 3, 4, 6], false, 1);
normalPackages[4] = new MobPackage([11], 1, 1, [0, 2, 5, 7], false, 1);
normalPackages[5] = new MobPackage([9], 2, 3, [0, 2, 5, 7], true, 1);
normalPackages[10] = new MobPackage([0, 2], 3, 5, [0, 2, 5, 7], true, 1);
normalPackages[11] = new MobPackage([4, 8], 2, 3, [0, 2, 5, 7], true, 1);
normalPackages[12] = new MobPackage([11], 1, 2, [0, 2, 5, 7], true, 1);
normalPackages[13] = new MobPackage([0, 2], 3, 5, [0, 2, 5, 7, 8], false, 1);
normalPackages[20] = new MobPackage([4], 2, 2, [0, 2, 5, 7], true, 1);
normalPackages[21] = new MobPackage([1, 8], 2, 4, [9], false, 1);
normalPackages[22] = new MobPackage([2, 5, 7], 3, 5, [0, 2, 5, 7], true, 1);
normalPackages[23] = new MobPackage([4], 2, 2, [0, 2, 5, 7], false, 1);
normalPackages[24] = new MobPackage([2], 3, 5, [0, 2, 5, 7, 8], false, 1);
normalPackages[30] = new MobPackage([0], 3, 5, [0, 2, 5, 7], false, 1);
normalPackages[31] = new MobPackage([6], 1, 1, [8], false, 2);
normalPackages[32] = new MobPackage([11, 9], 1, 2, [0, 2, 5, 7], false, 1);
normalPackages[33] = new MobPackage([3], 1, 1, [0, 2, 5, 7], false, 1.9);
normalPackages[40] = new MobPackage([4], 1, 2, [9], false, 1);
normalPackages[41] = new MobPackage([0, 1, 2], 2, 4, [1, 3, 5, 7], false, 1);
normalPackages[42] = new MobPackage([9], 2, 4, [0, 2, 5, 7], true, 1);
normalPackages[43] = new MobPackage([10], 1, 2, [0, 2, 5, 7, 8], false, 1.4);
normalPackages[50] = new MobPackage([7], 2, 4, [0, 2, 5, 7, 8, 9], false, 1);
normalPackages[51] = new MobPackage([5], 2, 4, [0, 2, 5, 7, 8, 9], false, 1);
normalPackages[52] = new MobPackage([10], 1, 1, [0, 2, 5, 7, 8, 9], false, 1.6);
normalPackages[53] = new MobPackage([11], 1, 1.4, [0, 2, 5, 7], false, 1);
normalPackages[60] = new MobPackage([5], 3, 6, [0, 2, 5, 7], true, 1);
}
}
}//package
Section 96
//MochiAd (MochiAd)
package {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.system.*;
import flash.net.*;
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 97
//MochiBot (MochiBot)
package {
import flash.display.*;
import flash.system.*;
import flash.net.*;
public dynamic class MochiBot extends Sprite {
public static function track(_arg1:Sprite, _arg2:String):MochiBot{
var _local3:MochiBot;
var _local4:String;
var _local5:URLVariables;
var _local6:String;
var _local7:URLRequest;
var _local8:Loader;
if (Security.sandboxType == "localWithFile"){
return (null);
};
_local3 = new (MochiBot);
_arg1.addChild(_local3);
Security.allowDomain("*");
Security.allowInsecureDomain("*");
_local4 = "http://core.mochibot.com/my/core.swf";
_local5 = new URLVariables();
_local5["sb"] = Security.sandboxType;
_local5["v"] = Capabilities.version;
_local5["swfid"] = _arg2;
_local5["mv"] = "8";
_local5["fv"] = "9";
_local6 = _local3.root.loaderInfo.loaderURL;
if (_local6.indexOf("http") == 0){
_local5["url"] = _local6;
} else {
_local5["url"] = "local";
};
_local7 = new URLRequest(_local4);
_local7.contentType = "application/x-www-form-urlencoded";
_local7.method = URLRequestMethod.POST;
_local7.data = _local5;
_local8 = new Loader();
_local3.addChild(_local8);
_local8.load(_local7);
return (_local3);
}
}
}//package
Section 98
//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{
}
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 = !(this.mouseDown);
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 99
//Music_Background (Music_Background)
package {
import flash.media.*;
public dynamic class Music_Background extends Sound {
}
}//package
Section 100
//ObjectManager (ObjectManager)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import utils.*;
import flash.utils.*;
import flash.media.*;
public class ObjectManager extends MovieClip {
protected var deadMobs:Array;
protected var mobPruneList:PruneList;
public var comboTimer:Timer;
protected var explCount:uint;// = 0
public var mineCount:uint;// = 0
protected var projPruneList:PruneList;
protected var deadProjs:Array;
protected var curComboID:uint;// = 0
protected var projCnt:int;// = 0
public var curDestCount:uint;// = 0
protected var efxBitmaps:MovieClip;
public var wipeTimer:Timer;
protected var repelCount:uint;// = 0
protected var mobs:MovieClip;
protected var world:OrbBlaster;
protected var bombCount:uint;// = 0
protected var projectiles:MovieClip;
protected var ships:MovieClip;
protected var projCount:uint;// = 0
protected var deadEfxs:Array;
public var mobCount:uint;// = 0
protected var efx:MovieClip;
protected var hero:Hero;
protected var explosions:MovieClip;
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.efxBitmaps = 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.addChild(efxBitmaps);
this.comboTimer = new Timer(OrbBlaster.COMBO_TIMER_WINDOW, 1);
this.comboTimer.addEventListener(TimerEvent.TIMER, comboTimerUp);
this.wipeTimer = new Timer(OrbBlaster.COMBO_TIMER_WINDOW, 2000);
this.wipeTimer.addEventListener(TimerEvent.TIMER, wipeDone);
}
public function addToPrune(_arg1:Mob):void{
this.mobPruneList.add(_arg1);
}
public function levelCompleteCheck():void{
if ((((this.mobs.numChildren == 0)) && (!(OrbBlaster.spawner.mobSpawnTimer.running)))){
OrbBlaster.levelComplete();
};
}
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 wipe():void{
var _local1:int;
var _local2:SoundChannel;
var _local3:SoundTransform;
var _local4:Mob;
var _local5:int;
OrbBlaster.isWiping = true;
this.wipeTimer.stop();
this.wipeTimer.start();
OrbBlaster.screenShakeStart();
_local1 = 0;
while (_local1 < SoundManager.smaExplChannelArr.length) {
_local2 = SoundManager.smaExplChannelArr[_local1];
if (_local2 != null){
_local2.stop();
};
_local1++;
};
_local1 = 0;
while (_local1 < SoundManager.medExplChannelArr.length) {
_local2 = SoundManager.medExplChannelArr[_local1];
if (_local2 != null){
_local2.stop();
};
_local1++;
};
_local1 = 0;
while (_local1 < SoundManager.larExplChannelArr.length) {
_local2 = SoundManager.larExplChannelArr[_local1];
if (_local2 != null){
_local2.stop();
};
_local1++;
};
if (SoundManager.bgMusicChannel != null){
_local3 = SoundManager.bgMusicChannel.soundTransform;
_local3.volume = 0;
SoundManager.bgMusicChannel.soundTransform = _local3;
};
while (this.mobs.numChildren > 0) {
_local4 = this.mobs.removeChildAt(0);
OrbBlaster.mobKilled(_local4);
_local5 = Math.floor(OrbBlaster.random(0, 2));
if (_local5 == 0){
this.addEfxBitmap(_local4.explosionEfx, _local4.x, _local4.y);
} else {
this.addEfxBitmap(OrbBlaster.bitmapManager.efx_explosion2, _local4.x, _local4.y);
};
this.mobPruneList.remove(_local4);
};
this.levelCompleteCheck();
SoundManager.playBassTrigger();
SoundManager.playBassTrigger();
}
public function updateHero():void{
var _local1:Mob;
var _local2:int;
if (this.hero.life >= 0){
_local1 = this.mobPruneList.hitTest(this.hero, 0, 0);
if (_local1 != null){
if (!this.hero.isInvincible){
this.hero.getHit();
OrbBlaster.spawner.mobSpawnTimer.stop();
OrbBlaster.spawner.spawnCount = (OrbBlaster.spawner.spawnCount - 3);
this.clear();
if (OrbBlaster.hero.type == 0){
_local2 = 0;
while (_local2 < 16) {
this.addEfxBitmap(OrbBlaster.bitmapManager.efx_trail0, OrbBlaster.hero.x, OrbBlaster.hero.y, 2);
_local2++;
};
} else {
_local2 = 0;
while (_local2 < 16) {
this.addEfxBitmap(OrbBlaster.bitmapManager.efx_trail1, OrbBlaster.hero.x, OrbBlaster.hero.y, 2);
_local2++;
};
};
this.addExplosion(Explosion.SHIELD_BLAST, this.hero.x, this.hero.y, -1);
} else {
this.killMob(_local1);
};
};
};
}
public function addEfxBitmap(_arg1:Array, _arg2:Number, _arg3:Number, _arg4:int=0):void{
var _local5:int;
var _local6:EfxBitmap;
_local5 = OrbBlaster.random(0, 360);
_local6 = new EfxBitmap(_arg1, _arg2, _arg3, _local5);
switch (_arg4){
case 0:
break;
case 1:
_local6.vx = OrbBlaster.random(-1, 1);
_local6.vy = OrbBlaster.random(-1, 1);
break;
case 2:
_local6.vx = OrbBlaster.random(-7, 7);
_local6.vy = OrbBlaster.random(-7, 7);
};
this.efxBitmaps.addChild(_local6);
}
public function killExpl(_arg1:Explosion):void{
this.explosions.removeChild(_arg1);
}
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 wipeDone(_arg1:TimerEvent):void{
var _local2:SoundTransform;
OrbBlaster.isWiping = false;
if (SoundManager.bgMusicChannel != null){
_local2 = SoundManager.bgMusicChannel.soundTransform;
_local2.volume = 0.5;
SoundManager.bgMusicChannel.soundTransform = _local2;
};
}
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 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 addMine():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:uint;
_local3 = OrbBlaster.random(230, 240);
_local4 = OrbBlaster.random(-3.14, 3.14);
_local1 = ((Math.cos(_local4) * _local3) + OrbBlaster.CENTER_X);
_local2 = ((Math.sin(_local4) * _local3) + OrbBlaster.CENTER_Y);
_local5 = this.getNextMobType();
this.addMob(_local5, _local1, _local2, OrbBlaster.CENTER_X, OrbBlaster.CENTER_Y, 10);
}
public function test():void{
}
public function delayedRemoveMob(_arg1:Mob):void{
this.deadMobs.push(_arg1);
}
public function addMob(_arg1:uint, _arg2:Number, _arg3:Number, _arg4:int, _arg5:Number=0):void{
var _local6:Mob;
if (this.mobCount == OrbBlaster.MAX_MOBS){
return;
};
switch (_arg1){
case 0:
_local6 = new Mobkon0(_arg2, _arg3, _arg4);
this.mineCount++;
break;
case 1:
_local6 = new Mobkon1(_arg2, _arg3, _arg4, _arg5);
this.mineCount++;
break;
case 2:
if (OrbBlaster.curLevel < 20){
_local6 = new Mobkon2(_arg2, _arg3, _arg4);
this.mineCount++;
} else {
_local6 = new Mobkon12(_arg2, _arg3, _arg4);
this.mineCount++;
};
break;
case 3:
_local6 = new Mobkon3(_arg2, _arg3, _arg4);
this.mineCount++;
break;
case 4:
_local6 = new Mobkon4(_arg2, _arg3, _arg4);
this.mineCount++;
break;
case 41:
_local6 = new Mobkon4_Mini(_arg2, _arg3, _arg4, _arg5);
this.mineCount++;
break;
case 5:
_local6 = new Mobkon5(_arg2, _arg3, _arg4);
this.mineCount++;
break;
case 6:
_local6 = new Mobkon6(_arg2, _arg3, _arg4);
this.mineCount++;
break;
case 61:
_local6 = new Mobkon6_Mini(_arg2, _arg3, _arg4);
this.mineCount++;
break;
case 7:
_local6 = new Mobkon7(_arg2, _arg3, _arg4);
this.mineCount++;
break;
case 8:
_local6 = new Mobkon8(_arg2, _arg3, _arg4);
this.mineCount++;
break;
case 9:
_local6 = new Mobkon9(_arg2, _arg3, _arg4);
this.mineCount++;
break;
case 10:
_local6 = new Mobkon10(_arg2, _arg3, _arg4);
this.mineCount++;
break;
case 101:
_local6 = new Mobkon10_Mini(_arg2, _arg3, _arg4);
this.mineCount++;
break;
case 11:
_local6 = new Mobkon11(_arg2, _arg3, _arg4);
this.mineCount++;
break;
default:
trace("ERROR: addMob type undefined");
};
this.mobs.addChild(_local6);
this.mobCount++;
OrbBlaster.mobsSpawned++;
}
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 playerFire(_arg1:int):void{
var _local2:Number;
var _local3:*;
var _local4:*;
var _local5:Point;
_local2 = ((((OrbBlaster.hero.cannon.rotation - 90) + OrbBlaster.hero.rotation) * Math.PI) / 180);
switch (OrbBlaster.hero.type){
case 0:
fp = new Point(OrbBlaster.hero.cannon.firePoint.x, OrbBlaster.hero.cannon.firePoint.y);
fp = OrbBlaster.hero.cannon.localToGlobal(fp);
_local3 = new Point(OrbBlaster.hero.cannon.firePoint1.x, OrbBlaster.hero.cannon.firePoint1.y);
_local3 = OrbBlaster.hero.cannon.localToGlobal(_local3);
_local4 = new Point(OrbBlaster.hero.cannon.firePoint2.x, OrbBlaster.hero.cannon.firePoint2.y);
_local4 = OrbBlaster.hero.cannon.localToGlobal(_local4);
switch (_arg1){
case 0:
this.addProj(0, fp.x, fp.y, _local2);
break;
case 1:
this.addProj(1, _local3.x, _local3.y, _local2);
this.addProj(1, _local4.x, _local4.y, _local2);
break;
case 2:
this.addProj(2, fp.x, fp.y, _local2);
this.addProj(2, _local3.x, _local3.y, (_local2 - 0.04));
this.addProj(2, _local4.x, _local4.y, (_local2 + 0.04));
break;
case 3:
this.addProj(3, fp.x, fp.y, _local2);
this.addProj(3, _local3.x, _local3.y, (_local2 - 0.05));
this.addProj(3, _local4.x, _local4.y, (_local2 + 0.05));
this.addProj(3, _local3.x, _local3.y, (_local2 + OrbBlaster.random(-0.11, 0.11)));
break;
case 4:
this.addProj(4, fp.x, fp.y, _local2);
this.addProj(4, _local3.x, _local3.y, (_local2 - 0.07));
this.addProj(4, _local4.x, _local4.y, (_local2 + 0.07));
this.addProj(4, _local3.x, _local3.y, (_local2 - 0.12));
this.addProj(4, _local4.x, _local4.y, (_local2 + 0.12));
break;
case 5:
this.addProj(0, fp.x, fp.y, (_local2 + 0.03));
this.addProj(0, fp.x, fp.y, (_local2 - 0.03));
this.addProj(4, _local3.x, _local3.y, (_local2 - 0.07));
this.addProj(4, _local4.x, _local4.y, (_local2 + 0.07));
this.addProj(4, _local3.x, _local3.y, (_local2 - 0.12));
this.addProj(4, _local4.x, _local4.y, (_local2 + 0.12));
break;
};
break;
case 1:
fp = new Point(OrbBlaster.hero.cannon.firePoint.x, OrbBlaster.hero.cannon.firePoint.y);
fp = OrbBlaster.hero.cannon.localToGlobal(fp);
switch (_arg1){
case 0:
this.randomizeFireShot(0, (_local2 + OrbBlaster.random(-0.25, 0.25)));
break;
case 1:
this.randomizeFireShot(0, (_local2 + OrbBlaster.random(-0.35, 0.35)));
this.randomizeFireShot(0, (_local2 + OrbBlaster.random(-0.25, 0.25)));
break;
case 2:
this.randomizeFireShot(1, (_local2 + OrbBlaster.random(-0.35, 0.35)));
this.randomizeFireShot(1, (_local2 + OrbBlaster.random(-0.25, 0.25)));
break;
case 3:
this.randomizeFireShot(2, (_local2 + OrbBlaster.random(-0.35, 0.35)));
this.randomizeFireShot(2, (_local2 + OrbBlaster.random(-0.35, 0.35)));
break;
case 4:
this.randomizeFireShot(2, (_local2 + OrbBlaster.random(-0.35, 0.35)));
this.randomizeFireShot(2, (_local2 + OrbBlaster.random(-0.35, 0.35)));
break;
case 5:
this.randomizeFireShot(3, (_local2 + OrbBlaster.random(-0.35, 0.35)));
this.randomizeFireShot(3, (_local2 + OrbBlaster.random(-0.35, 0.35)));
break;
};
break;
};
}
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.mobKilled(_arg1);
this.mobCount--;
_arg1.stop();
this.mobPruneList.remove(_arg1);
this.levelCompleteCheck();
}
public function addMineCluster(_arg1:uint){
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:uint;
var _local9:Number;
var _local10:uint;
if (_arg1 == 0){
return;
};
_local4 = 6;
_local5 = 6;
_local6 = OrbBlaster.random(230, 240);
_local7 = OrbBlaster.random(-3.14, 3.14);
_local2 = ((Math.cos(_local7) * _local6) + OrbBlaster.CENTER_X);
_local3 = ((Math.sin(_local7) * _local6) + OrbBlaster.CENTER_Y);
_local8 = 0;
while (_local8 < _arg1) {
_local2 = (_local2 + OrbBlaster.random(-(_local4), _local4));
_local3 = (_local3 + OrbBlaster.random(-(_local5), _local5));
_local9 = 3;
_local10 = this.getNextMobType();
this.addMob(_local10, _local2, _local3, OrbBlaster.CENTER_X, OrbBlaster.CENTER_Y, _local9);
_local8++;
};
}
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 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 randomizeFireShot(_arg1:int, _arg2:Number):void{
switch (_arg1){
case 0:
switch (Math.floor(OrbBlaster.random(0, 2))){
case 0:
this.addProj(10, fp.x, fp.y, _arg2);
break;
case 1:
this.addProj(11, fp.x, fp.y, _arg2);
break;
};
break;
case 1:
switch (Math.floor(OrbBlaster.random(0, 2))){
case 0:
this.addProj(12, fp.x, fp.y, _arg2);
break;
case 1:
this.addProj(13, fp.x, fp.y, _arg2);
break;
};
break;
case 2:
switch (Math.floor(OrbBlaster.random(0, 2))){
case 0:
this.addProj(14, fp.x, fp.y, _arg2);
break;
case 1:
this.addProj(15, fp.x, fp.y, _arg2);
break;
};
break;
case 3:
switch (Math.floor(OrbBlaster.random(0, 2))){
case 0:
this.addProj(16, fp.x, fp.y, _arg2);
break;
case 1:
this.addProj(17, fp.x, fp.y, _arg2);
break;
};
break;
};
}
public function updateEfxBitmap(_arg1:EfxBitmap):void{
if (!_arg1.update()){
this.deadEfxs.push(_arg1);
};
}
public function comboTimerUp(_arg1:TimerEvent){
if (OrbBlaster.comboCount > OrbBlaster.maxCombo){
OrbBlaster.maxCombo = OrbBlaster.comboCount;
};
OrbBlaster.resetCombo();
}
public function updateMob(_arg1:Mob):void{
if (!_arg1.updatePosition()){
};
_arg1.updateFace();
}
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 addExplosion(_arg1:uint, _arg2:int, _arg3:int, _arg4:int):void{
var _local5:Explosion;
var _local6:Number;
SoundManager.playPlayerDeath();
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);
if (OrbBlaster.hero.type == 0){
_local5.blast1.visible = false;
} else {
_local5.blast0.visible = false;
};
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 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 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 cleanRemoveMob(_arg1:Mob):void{
_arg1.stop();
this.mobPruneList.remove(_arg1);
_arg1.parent.removeChild(_arg1);
this.mobCount--;
OrbBlaster.mobKilled(_arg1);
this.levelCompleteCheck();
}
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));
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 addProj(_arg1:int, _arg2:int, _arg3:int, _arg4:Number):void{
var _local5:Projectile;
switch (_arg1){
case 0:
_local5 = new Projectile0(_arg2, _arg3, _arg4);
break;
case 1:
_local5 = new Projectile1(_arg2, _arg3, _arg4);
break;
case 2:
_local5 = new Projectile2(_arg2, _arg3, _arg4);
break;
case 3:
_local5 = new Projectile3(_arg2, _arg3, _arg4);
break;
case 4:
_local5 = new Projectile4(_arg2, _arg3, _arg4);
break;
case 10:
_local5 = new Projectile10(_arg2, _arg3, _arg4);
break;
case 11:
_local5 = new Projectile11(_arg2, _arg3, _arg4);
break;
case 12:
_local5 = new Projectile12(_arg2, _arg3, _arg4);
break;
case 13:
_local5 = new Projectile13(_arg2, _arg3, _arg4);
break;
case 14:
_local5 = new Projectile14(_arg2, _arg3, _arg4);
break;
case 15:
_local5 = new Projectile15(_arg2, _arg3, _arg4);
break;
case 16:
_local5 = new Projectile16(_arg2, _arg3, _arg4);
break;
case 17:
_local5 = new Projectile17(_arg2, _arg3, _arg4);
break;
};
this.projectiles.addChild(_local5);
}
public function updatePositions():void{
var _local1:int;
var _local2:*;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:uint;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:OrbObject;
var _local11:Mob;
var _local12:EfxBitmap;
this.deadProjs = new Array();
this.deadMobs = new Array();
this.deadEfxs = 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) {
_local10 = this.deadProjs.pop();
if (_local10.parent != null){
if (_local10.type != 2){
_local10.parent.removeChild(_local10);
} else {
this.killMob(_local10);
};
};
_local2++;
};
_local7 = this.deadMobs.length;
_local2 = 0;
while (_local2 < _local7) {
_local11 = this.deadMobs.pop();
if (_local11.parent != null){
this.cleanRemoveMob(_local11);
};
_local2++;
};
_local8 = this.efxBitmaps.numChildren;
_local2 = 0;
while (_local2 < _local8) {
this.updateEfxBitmap(this.efxBitmaps.getChildAt(_local2));
_local2++;
};
_local9 = this.deadEfxs.length;
_local2 = 0;
while (_local2 < _local9) {
_local12 = this.deadEfxs.pop();
this.efxBitmaps.removeChild(_local12);
_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 killEfx(_arg1:MovieClip):void{
_arg1.stop();
this.efx.removeChild(_arg1);
}
public function updateProj(_arg1:Projectile):void{
var _local2:Mob;
var _local3:Number;
var _local4:Number;
_local2 = _arg1.collidedWith;
if (((!((_local2 == null))) && ((_local2.hitpoints > 0)))){
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);
_arg1.updateBitmap();
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 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 killProj(_arg1:OrbObject):void{
this.deadProjs.push(_arg1);
}
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 101
//OrbBlaster (OrbBlaster)
package {
import flash.events.*;
import flash.display.*;
import com.kongregate.as3.client.*;
import flash.utils.*;
import com.gsolo.encryption.*;
import flash.text.*;
import flash.net.*;
import flash.ui.*;
public dynamic class OrbBlaster extends MovieClip {
public var lastFrameTime:Number;// = 0
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 hero:Hero;
static var numStartedPlay:int = 0;
static var completedFeatsOnLevel:Array;
static var bombBar:BombBar;
static var shakeCounter:int = 0;
static var comboCount:int = 1;
static var bestScoreBar:MovieClip;
static var scoreBar:MovieClip;
static var pausedTimerArr:Array;
static var GRAVITY:Number = 0;
static var destTypeProbArr:Array;
static var totalTime:int = 0;
static var comboFadeTimer:Timer;
static var isPauseable:Boolean = false;
static var scoreSubmitScreen:MovieClip;
static var Y_MAX:int = 415;
static var mobsSpawned:uint = 0;
static var PROJ_X_MIN:int = -1;
static var musicStatus:Boolean = true;
static var maxCombo:uint = 1;
static var comboCounter:ComboText;
static var isContinued:Boolean = false;
static var movSplash:MovieClip;
static var destroyersSpawned:uint = 0;
static var repelSpeed:Number = 3.5;
static var mouse:Mouse;
static var mobGravSpeed:Number = 0;
static var lastLevel:uint = 0x0100;
static var gameMode:uint = 0;
static var framesPassed:uint = 0;
static var tutorialCounter:uint = 0;
static var mainMenu:MovieClip;
static var controlsScreen:MovieClip;
static var heroSelected:int = 0;
static var saveData:SharedObject;
static var pauseButton:SimpleButton;
static var X_MAX:int = 640;
static var featsCompleteScreen:MovieClip;
static var mineTypeArr:Array;
static var prevPoints:uint = 0;
static var PROJ_Y_MAX:int = 426;
static var CENTER_X:int = 325;
static var CENTER_Y:int = 225;
static var isWiping:Boolean = false;
static var featBars:Sprite;
static var GUI:Sprite;
static var curLevel:uint = 0;
static var HUDItems:Sprite;
static var background:Sprite;
static var quitConfirmScreen:MovieClip;
static var totalPoints:int = 0;
static var mainLoopTimer:Timer;
static var isDebug:Boolean = false;
static var Y_MIN:int = 10;
static var featsScreen:MovieClip;
static var mineTypeProbTotal:uint;
static var destTypeProbTotal:uint;
static var endLevelTimer:Timer;
static var spawner:Spawner;
static var repelCount:uint = 0;
static var nextLevelTimer:Timer;
static var lifeBar:LifeBar;
static var COMBO_TIMER_WINDOW:uint = 1500;
static var feats:Array;
static var PROJ_X_MAX:int = 651;
static var bitmapManager:BitmapManager;
static var killsGoal:uint = 0;
static var MAX_MOBS:uint = 0x0200;
static var world:OrbBlaster;
static var objMgr:ObjectManager;
static var creditsScreen:MovieClip;
static var upgradeScreen:MovieClip;
static var tutorialEfx:MovieClip;
static var destKilled:uint = 0;
static var destTypeArr:Array;
static var levelStatsScreen:MovieClip;
static var X_MIN:int = 10;
static var kongregate:KongregateAPI;
static var mineTypeProbArr:Array;
static var heroSelectionScreen:MovieClip;
static var gunEnabled:Boolean = false;
static var continuePenalty:Number = 0.8;
static var shakeTimer:Timer;
static var keyboard:Keyboard;
static var bottomBar:Shape;
static var bonusPoints:uint = 0;
static var PROJ_Y_MIN:int = -1;
static var statsScreen:MovieClip;
static var soundStatus:Boolean = true;
static var pause:Boolean = true;
static var continueScreen:MovieClip;
public function OrbBlaster():void{
var _local1:ContextMenu;
lastFrameTime = 0;
fps_t0 = 0;
fps_t1 = 1000;
fps_count = 1;
fpsArrLen = 11;
test = 15;
super();
addFrameScript(0, frame1, 3, frame4, 4, frame5);
this.stop();
this.bg.stop();
OrbBlaster.world = this;
MochiBot.track(this, "811d02fc");
kongregate = new KongregateAPI();
this.addChild(kongregate);
_local1 = new ContextMenu();
_local1.builtInItems.zoom = false;
_local1.builtInItems.print = false;
_local1.builtInItems.save = false;
_local1.builtInItems.loop = false;
_local1.builtInItems.rewind = false;
_local1.builtInItems.forwardAndBack = false;
_local1.builtInItems.play = false;
this.contextMenu = _local1;
MochiAd.showPreGameAd({clip:root, id:"81638da96c3b8b44", res:"650x450"});
}
public function checkDomain():Boolean{
var _local1:String;
var _local2:String;
_local1 = this.loaderInfo.url;
_local2 = _local1.substring(0, 4);
trace(_local2);
trace(_local1);
if (((((((((((((((((((!((_local2 == "file"))) && ((_local1.indexOf("kongregate.com") == -1)))) && ((_local1.indexOf("ungrounded.net") == -1)))) && ((_local1.indexOf("ngfiles.com") == -1)))) && ((_local1.indexOf("newgrounds.com") == -1)))) && ((_local1.indexOf("s3.amazonaws.com/gog.games.private/ZunderFury.swf") == -1)))) && ((_local1.indexOf("s3.amazonaws.com/orbblaster/OrbBlaster.swf") == -1)))) && ((_local1.indexOf("www.flashgamelicense.com") == -1)))) && ((_local1.indexOf("http://gog.games.s3.amazonaws.com/ZunderFury.swf") == -1)))) && ((_local1.indexOf("doogog.com") == -1)))){
return (false);
};
return (true);
}
public function debugButtonClicked(_arg1:MouseEvent):void{
trace("debug clicked");
OrbBlaster.clearSave();
}
public function jumpButtonClicked(_arg1:MouseEvent):void{
var _local2:uint;
_local2 = uint(OrbBlaster.mainMenu.jumpNumber.text);
OrbBlaster.hideMainMenu();
OrbBlaster.hero.setLife(3);
OrbBlaster.hero.setBombs(2);
OrbBlaster.hero.visible = true;
OrbBlaster.gameMode = 0;
OrbBlaster.scoreBar.visible = true;
OrbBlaster.hero.setType(1);
OrbBlaster.hero.setGunLevel(0);
OrbBlaster.framesPassed = 0;
OrbBlaster.newBackground(0);
OrbBlaster.resetCurStreak();
PlayerStats.resetUpgrades();
SoundManager.startBackgroundMusic();
OrbBlaster.startLevel(_local2);
}
public function yesButtonClicked(_arg1:MouseEvent):void{
OrbBlaster.saveProgress();
OrbBlaster.hidePauseMenu();
OrbBlaster.quitToMainMenu();
}
public function creditsButtonClicked(_arg1:MouseEvent):void{
var _local2:URLRequest;
_local2 = new URLRequest("http://www.doogog.com");
navigateToURL(_local2, "_blank");
}
public function statsBackButtonClicked(_arg1:MouseEvent):void{
OrbBlaster.statsScreen.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 okayFeatsCompleteClicked(_arg1:MouseEvent):void{
var _local2:int;
var _local3:int;
OrbBlaster.featsCompleteScreen.visible = false;
_local2 = OrbBlaster.featsCompleteScreen.featBars.numChildren;
_local3 = 0;
while (_local3 < _local2) {
OrbBlaster.featsCompleteScreen.featBars.removeChild;
_local3++;
};
OrbBlaster.showUpgradeScreen();
}
public function statsButtonClicked(_arg1:MouseEvent):void{
OrbBlaster.statsScreen.mobsKilled.text = OrbBlaster.commaFormat(PlayerStats.mobsKilledTotal);
OrbBlaster.statsScreen.totalPoints.text = OrbBlaster.commaFormat(PlayerStats.pointsTotal);
OrbBlaster.statsScreen.totalCredits.text = OrbBlaster.commaFormat(PlayerStats.creditsTotal);
OrbBlaster.statsScreen.bestScore.text = OrbBlaster.commaFormat(PlayerStats.bestScore);
OrbBlaster.statsScreen.highestWave.text = OrbBlaster.commaFormat(PlayerStats.highestWave);
OrbBlaster.statsScreen.feats.text = OrbBlaster.commaFormat(PlayerStats.feats);
OrbBlaster.statsScreen.visible = true;
}
public function mainLoopReal(_arg1:Event):void{
if (OrbBlaster.pause == false){
OrbBlaster.framesPassed++;
OrbBlaster.mouse.update();
OrbBlaster.objMgr.updatePositions();
OrbBlaster.keyboard.updatePositions();
OrbBlaster.hero.update();
OrbBlaster.spawner.update();
OrbBlaster.updateScoreBar();
};
}
public function splashEnterFrame(_arg1:Event){
if (OrbBlaster.movSplash.currentFrame == OrbBlaster.movSplash.totalFrames){
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;
var _local6:int;
if (OrbBlaster.scoreSubmitScreen.playerName.text != ""){
OrbBlaster.scoreSubmitScreen.playerName.selectable = false;
OrbBlaster.scoreSubmitScreen.submitButton.visible = false;
_local2 = "http://doogog.com/hs/zf_submit.php";
_local3 = "";
_local4 = new URLRequest(_local2);
_local5 = new URLVariables();
_local4.data = _local5;
_local4.method = "POST";
_local5.filename = "scores/normalScores.sco";
_local6 = PlayerStats.getPoints();
trace(((("points: " + _local6) + " | ") + (PlayerStats.mobsKilledThisRun * 800)));
if (_local6 > (PlayerStats.mobsKilledThisRun * 800)){
return;
};
_local5.winscore = _local6;
_local5.winname = OrbBlaster.scoreSubmitScreen.playerName.text;
if (ProfanityFilter.profanityCheck(_local5.winname)){
_local5.winname = "Evil Bob";
};
if (OrbBlaster.hero.type == 0){
_local5.ship = "Zunder";
} else {
_local5.ship = "Fury";
};
_local5.wave = OrbBlaster.curLevel;
_local5.mobskilled = PlayerStats.mobsKilledThisRun;
_local5.action = "INSERT";
_local5.viewtype = "HTML";
_local5.password = "DFHSGIE52MNDF";
_local3 = ((((((((_local5.winname + "_") + _local5.winscore) + "_") + _local5.ship) + "_") + _local5.wave) + "_") + _local5.mobskilled);
_local5.insert = MD5.hex_hmac_md5("ZFIGK08K", _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{
var _local1:Sprite;
var _local2:Sprite;
var _local3:Sprite;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:FeatBar;
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.featsButton.tabEnabled = false;
OrbBlaster.mainMenu.featsButton.addEventListener(MouseEvent.CLICK, featsButtonClicked);
OrbBlaster.mainMenu.statsButton.tabEnabled = false;
OrbBlaster.mainMenu.statsButton.addEventListener(MouseEvent.CLICK, statsButtonClicked);
OrbBlaster.mainMenu.highScoresButton.tabEnabled = false;
OrbBlaster.mainMenu.highScoresButton.addEventListener(MouseEvent.CLICK, highScoresButtonClicked);
OrbBlaster.mainMenu.creditsButton.tabEnabled = false;
OrbBlaster.mainMenu.creditsButton.addEventListener(MouseEvent.CLICK, creditsButtonClicked);
OrbBlaster.mainMenu.creditsButton.visible = true;
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 + 50);
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.statsScreen = new StatsScreen();
OrbBlaster.GUI.addChild(OrbBlaster.statsScreen);
OrbBlaster.statsScreen.x = OrbBlaster.CENTER_X;
OrbBlaster.statsScreen.y = OrbBlaster.CENTER_Y;
OrbBlaster.statsScreen.statsBackButton.tabEnabled = false;
OrbBlaster.statsScreen.statsBackButton.addEventListener(MouseEvent.CLICK, statsBackButtonClicked);
OrbBlaster.statsScreen.visible = false;
OrbBlaster.featsScreen = new FeatsScreen();
OrbBlaster.GUI.addChild(OrbBlaster.featsScreen);
OrbBlaster.featsScreen.x = OrbBlaster.CENTER_X;
OrbBlaster.featsScreen.y = OrbBlaster.CENTER_Y;
OrbBlaster.featsScreen.featsBackButton.tabEnabled = false;
OrbBlaster.featsScreen.featsBackButton.addEventListener(MouseEvent.CLICK, featsBackButtonClicked);
OrbBlaster.featsScreen.visible = false;
OrbBlaster.featBars = new Sprite();
OrbBlaster.featsScreen.addChild(OrbBlaster.featBars);
_local1 = new Sprite();
_local2 = new Sprite();
_local3 = new Sprite();
OrbBlaster.featBars.addChild(_local2);
OrbBlaster.featBars.addChild(_local1);
OrbBlaster.featBars.addChild(_local3);
_local4 = 0;
while (_local4 < 3) {
_local5 = -90;
_local6 = 0;
while (_local6 < OrbBlaster.feats[_local4].length) {
_local7 = new FeatBar();
_local7.title.text = OrbBlaster.feats[_local4][_local6].title;
_local7.description.text = OrbBlaster.feats[_local4][_local6].description;
_local7.x = 0;
_local7.y = _local5;
_local5 = (_local5 + 40);
OrbBlaster.featBars.getChildAt(_local4).addChild(_local7);
_local6++;
};
_local4++;
};
OrbBlaster.featsScreen.normalButton.tabEnabled = false;
OrbBlaster.featsScreen.normalButton.addEventListener(MouseEvent.CLICK, normalFeatsClicked);
OrbBlaster.featsScreen.heroicButton.tabEnabled = false;
OrbBlaster.featsScreen.heroicButton.addEventListener(MouseEvent.CLICK, heroicFeatsClicked);
OrbBlaster.featsScreen.legendButton.tabEnabled = false;
OrbBlaster.featsScreen.legendButton.addEventListener(MouseEvent.CLICK, legendFeatsClicked);
}
public function fpsCountLoop(_arg1:Event):void{
countFPS();
}
public function resumeButtonClicked(_arg1:MouseEvent):void{
OrbBlaster.pauseGame();
}
public function mochiDone():void{
trace("mochiDone");
this.gotoAndStop(4);
}
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{
}
public function splashDone():void{
trace("splash done");
OrbBlaster.background = this.bg;
this.gotoAndStop(5);
SoundManager.loadSounds();
OrbBlaster.bitmapManager = new BitmapManager();
OrbBlaster.bitmapManager.loadBitmaps();
MobPackage.initPackages();
Feat.initFeats();
ProfanityFilter.init();
this.begin();
}
function frame1(){
stop();
}
public function quitButtonClicked(_arg1:MouseEvent):void{
OrbBlaster.quitConfirmScreen.visible = true;
}
public function menuButtonClicked(_arg1:MouseEvent):void{
SoundManager.stopBackgroundMusic();
OrbBlaster.scoreSubmitScreen.visible = false;
OrbBlaster.quitToMainMenu();
}
public function doogogButtonClicked(_arg1:MouseEvent):void{
var _local2:URLRequest;
_local2 = new URLRequest("http://www.doogog.com");
navigateToURL(_local2, "_blank");
}
function frame5(){
this.graphicsPackage.visible = false;
this.soundsPackage.visible = false;
this.stop();
}
public function nextButtonClicked(_arg1:MouseEvent):void{
OrbBlaster.levelStatsScreen.visible = false;
OrbBlaster.upgradeScreen.visible = false;
if (OrbBlaster.curLevel == OrbBlaster.lastLevel){
OrbBlaster.gameEnd();
} else {
OrbBlaster.startNextLevel();
};
}
public function begin():void{
var _local1:Hero;
OrbBlaster.loadProgress();
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();
OrbBlaster.shakeTimer = new Timer(30, 0);
OrbBlaster.shakeTimer.addEventListener(TimerEvent.TIMER, screenShake);
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 featsButtonClicked(_arg1:MouseEvent):void{
OrbBlaster.showFeatsScreen();
}
public function continueNoButtonClicked(_arg1:MouseEvent):void{
OrbBlaster.scoreSubmitScreen.finalScore.text = OrbBlaster.totalPoints;
OrbBlaster.scoreSubmitScreen.tryAgainText.visible = true;
OrbBlaster.scoreSubmitScreen.finalScore.visible = true;
OrbBlaster.scoreSubmitScreen.finalScoreLabel.visible = true;
OrbBlaster.continueScreen.visible = false;
OrbBlaster.showScoreSubmitScreen();
}
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.hero.newSkin();
OrbBlaster.newBackground(0);
} else {
OrbBlaster.hideMainMenu();
OrbBlaster.hero.setLife(3);
OrbBlaster.hero.visible = true;
OrbBlaster.gameMode = 1;
OrbBlaster.scoreBar.visible = false;
OrbBlaster.framesPassed = 0;
OrbBlaster.hero.newSkin();
OrbBlaster.newBackground(0);
};
OrbBlaster.startLevel(OrbBlaster.curLevel);
}
public function setupGUI():void{
var i: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 = 620;
this.fps_display.y = 15;
this.fps_display.fpsText.text = 0;
this.fpsArr = new Array();
i = 0;
while (i < fpsArrLen) {
this.fpsArr.push(30);
i = (i + 1);
};
OrbBlaster.bottomBar = new Shape();
OrbBlaster.bottomBar.cacheAsBitmap = true;
OrbBlaster.bottomBar.graphics.beginFill(0x333333, 1);
OrbBlaster.bottomBar.graphics.drawRect(0, 425, 650, 25);
OrbBlaster.HUDItems.addChild(OrbBlaster.bottomBar);
OrbBlaster.comboCounter = new ComboText();
OrbBlaster.HUDItems.addChild(OrbBlaster.comboCounter);
OrbBlaster.comboCounter.x = 430;
OrbBlaster.comboCounter.y = 75;
OrbBlaster.comboCounter.setText("");
OrbBlaster.lifeBar = new LifeBar();
OrbBlaster.HUDItems.addChild(OrbBlaster.lifeBar);
OrbBlaster.lifeBar.x = 300;
OrbBlaster.lifeBar.y = 436;
OrbBlaster.hero.setLife(OrbBlaster.hero.life);
OrbBlaster.bombBar = new BombBar();
OrbBlaster.HUDItems.addChild(OrbBlaster.bombBar);
OrbBlaster.bombBar.x = 360;
OrbBlaster.bombBar.y = 436;
OrbBlaster.hero.setBombs(OrbBlaster.hero.numBombs);
OrbBlaster.scoreBar = new ScoreBar();
OrbBlaster.scoreBar.scoreText.text = 0;
OrbBlaster.HUDItems.addChild(OrbBlaster.scoreBar);
OrbBlaster.scoreBar.x = 45;
OrbBlaster.scoreBar.y = 435;
OrbBlaster.bestScoreBar = new BestScoreBar();
OrbBlaster.bestScoreBar.bestScore.text = OrbBlaster.commaFormat(PlayerStats.bestScore);
OrbBlaster.HUDItems.addChild(OrbBlaster.bestScoreBar);
OrbBlaster.bestScoreBar.x = 493;
OrbBlaster.bestScoreBar.y = 435;
OrbBlaster.pauseButton = new PauseButton();
OrbBlaster.pauseButton.x = 625;
OrbBlaster.pauseButton.y = 437;
OrbBlaster.pauseButton.tabEnabled = false;
OrbBlaster.pauseButton.addEventListener(MouseEvent.CLICK, pauseButtonClicked);
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.controlsButton.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.controlsButton.addEventListener(MouseEvent.CLICK, controlsButtonClicked);
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();
OrbBlaster.GUI.addChild(OrbBlaster.scoreSubmitScreen);
OrbBlaster.scoreSubmitScreen.submitButton.tabEnabled = false;
OrbBlaster.scoreSubmitScreen.menuButton.tabEnabled = false;
OrbBlaster.scoreSubmitScreen.x = OrbBlaster.CENTER_X;
OrbBlaster.scoreSubmitScreen.y = OrbBlaster.CENTER_Y;
OrbBlaster.scoreSubmitScreen.submitButton.addEventListener(MouseEvent.CLICK, submitButtonClicked);
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;
OrbBlaster.heroSelectionScreen = new HeroSelectionScreen();
OrbBlaster.GUI.addChild(OrbBlaster.heroSelectionScreen);
OrbBlaster.heroSelectionScreen.x = OrbBlaster.CENTER_X;
OrbBlaster.heroSelectionScreen.y = OrbBlaster.CENTER_Y;
OrbBlaster.heroSelectionScreen.button0.tabEnabled = false;
OrbBlaster.heroSelectionScreen.button1.tabEnabled = false;
OrbBlaster.heroSelectionScreen.heroNames.visible = false;
OrbBlaster.heroSelectionScreen.button0.addEventListener(MouseEvent.CLICK, hero0Selected);
OrbBlaster.heroSelectionScreen.button1.addEventListener(MouseEvent.CLICK, hero1Selected);
OrbBlaster.heroSelectionScreen.button0.addEventListener(MouseEvent.MOUSE_OVER, function (){
OrbBlaster.heroSelectionScreen.heroNames.visible = true;
OrbBlaster.heroSelectionScreen.heroNames.gotoAndStop(1);
});
OrbBlaster.heroSelectionScreen.button0.addEventListener(MouseEvent.MOUSE_OUT, function (){
OrbBlaster.heroSelectionScreen.heroNames.visible = false;
});
OrbBlaster.heroSelectionScreen.button1.addEventListener(MouseEvent.MOUSE_OVER, function (){
OrbBlaster.heroSelectionScreen.heroNames.visible = true;
OrbBlaster.heroSelectionScreen.heroNames.gotoAndStop(2);
});
OrbBlaster.heroSelectionScreen.button1.addEventListener(MouseEvent.MOUSE_OUT, function (){
OrbBlaster.heroSelectionScreen.heroNames.visible = false;
});
OrbBlaster.heroSelectionScreen.visible = false;
OrbBlaster.upgradeScreen = new UpgradeScreen();
OrbBlaster.GUI.addChild(OrbBlaster.upgradeScreen);
OrbBlaster.upgradeScreen.x = OrbBlaster.CENTER_X;
OrbBlaster.upgradeScreen.y = OrbBlaster.CENTER_Y;
OrbBlaster.upgradeScreen.weaponCover.visible = false;
OrbBlaster.upgradeScreen.speedCover.visible = false;
OrbBlaster.upgradeScreen.weapon.tabEnabled = false;
OrbBlaster.upgradeScreen.speed.tabEnabled = false;
OrbBlaster.upgradeScreen.life.tabEnabled = false;
OrbBlaster.upgradeScreen.bomb.tabEnabled = false;
OrbBlaster.upgradeScreen.points.tabEnabled = false;
OrbBlaster.upgradeScreen.weaponCost.mouseEnabled = false;
OrbBlaster.upgradeScreen.speedCost.mouseEnabled = false;
OrbBlaster.upgradeScreen.lifeCost.mouseEnabled = false;
OrbBlaster.upgradeScreen.bombCost.mouseEnabled = false;
OrbBlaster.upgradeScreen.pointsCost.mouseEnabled = false;
UpgradeButton.setupEvents();
OrbBlaster.upgradeScreen.weapon.addEventListener(MouseEvent.CLICK, upgradeWeaponClicked);
OrbBlaster.upgradeScreen.speed.addEventListener(MouseEvent.CLICK, upgradeSpeedClicked);
OrbBlaster.upgradeScreen.life.addEventListener(MouseEvent.CLICK, upgradeLifeClicked);
OrbBlaster.upgradeScreen.bomb.addEventListener(MouseEvent.CLICK, upgradeBombClicked);
OrbBlaster.upgradeScreen.points.addEventListener(MouseEvent.CLICK, upgradePointsClicked);
OrbBlaster.upgradeScreen.nextButton.addEventListener(MouseEvent.CLICK, nextButtonClicked);
OrbBlaster.upgradeScreen.visible = false;
OrbBlaster.controlsScreen = new ControlsScreen();
OrbBlaster.GUI.addChild(OrbBlaster.controlsScreen);
OrbBlaster.controlsScreen.x = OrbBlaster.CENTER_X;
OrbBlaster.controlsScreen.y = OrbBlaster.CENTER_Y;
OrbBlaster.controlsScreen.okayButton.tabEnabled = false;
OrbBlaster.controlsScreen.okayButton.addEventListener(MouseEvent.CLICK, okayControlsClicked);
OrbBlaster.controlsScreen.visible = false;
OrbBlaster.featsCompleteScreen = new FeatsCompleteScreen();
OrbBlaster.GUI.addChild(OrbBlaster.featsCompleteScreen);
OrbBlaster.featsCompleteScreen.x = OrbBlaster.CENTER_X;
OrbBlaster.featsCompleteScreen.y = OrbBlaster.CENTER_Y;
OrbBlaster.featsCompleteScreen.okayButton.tabEnabled = false;
OrbBlaster.featsCompleteScreen.okayButton.addEventListener(MouseEvent.CLICK, okayFeatsCompleteClicked);
OrbBlaster.featsCompleteScreen.visible = false;
}
function frame4(){
this.movSplash.addEventListener(Event.ENTER_FRAME, splashEnterFrame);
OrbBlaster.movSplash = this.movSplash;
}
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 featsBackButtonClicked(_arg1:MouseEvent):void{
OrbBlaster.featsScreen.visible = false;
}
public function soundButtonClicked(_arg1:MouseEvent):void{
OrbBlaster.soundStatus = !(OrbBlaster.soundStatus);
OrbBlaster.updateAudioButtons();
}
public function initStage(_arg1:Event){
OrbBlaster.keyboard.initialize(stage);
OrbBlaster.mouse = new Mouse(stage);
this.checkDomain();
}
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();
OrbBlaster.bitmapManager = new BitmapManager();
OrbBlaster.bitmapManager.loadBitmaps();
MobPackage.initPackages();
Feat.initFeats();
this.begin();
};
}
public function testHash():void{
var _local1:String;
_local1 = "Son_5555_0";
trace(MD5.hex_hmac_md5("DCFMH9K4J6", _local1));
}
public function normalButtonClicked(_arg1:MouseEvent):void{
OrbBlaster.newBackground(0);
OrbBlaster.hideMainMenu();
OrbBlaster.HUDItems.visible = false;
OrbBlaster.heroSelectionScreen.visible = true;
}
public function highScoresButtonClicked(_arg1:MouseEvent):void{
var _local2:String;
var _local3:URLRequest;
var _local4:URLVariables;
_local2 = "http://doogog.com/games/zunderfury/highscores";
_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{
mainLoopReal(null);
}
public static function quitToMainMenu():void{
OrbBlaster.objMgr.clear();
OrbBlaster.showMainMenu();
OrbBlaster.pause = true;
OrbBlaster.resetCombo();
OrbBlaster.totalPoints = 0;
OrbBlaster.totalTime = 0;
}
public static function screenShake(_arg1:TimerEvent):void{
OrbBlaster.shakeCounter++;
OrbBlaster.world.x = OrbBlaster.random(-6, 6);
OrbBlaster.world.y = OrbBlaster.random(-6, 6);
if (OrbBlaster.shakeCounter >= 16){
OrbBlaster.world.x = 0;
OrbBlaster.world.y = 0;
OrbBlaster.shakeTimer.stop();
};
}
public static function updateScoreBar():void{
var _local1:String;
_local1 = OrbBlaster.commaFormat(PlayerStats.getPoints());
OrbBlaster.scoreBar.scoreText.text = _local1;
if (PlayerStats.getPoints() > PlayerStats.bestScore){
PlayerStats.bestScore = PlayerStats.getPoints();
};
if (PlayerStats.getPoints() >= 3000000){
Feat.complete(2, 1);
} else {
if (PlayerStats.getPoints() >= 1000000){
Feat.complete(1, 1);
} else {
if (PlayerStats.getPoints() >= 350000){
Feat.complete(0, 1);
};
};
};
if (OrbBlaster.hero.gunLevel == 0){
if (PlayerStats.getPoints() >= 500000){
Feat.complete(1, 3);
};
};
if (PlayerStats.mult >= 6){
Feat.complete(1, 2);
} else {
if (PlayerStats.mult >= 3){
Feat.complete(0, 2);
};
};
}
public static function showFeatsScreen():void{
var _local1:int;
var _local2:int;
OrbBlaster.featsScreen.visible = true;
OrbBlaster.normalFeatsClicked(null);
_local1 = 0;
while (_local1 < 3) {
_local2 = 0;
while (_local2 < OrbBlaster.feats[_local1].length) {
if (!OrbBlaster.feats[_local1][_local2].isComplete){
OrbBlaster.featBars.getChildAt(_local1).getChildAt(_local2).alpha = 0.4;
OrbBlaster.featBars.getChildAt(_local1).getChildAt(_local2).star.visible = false;
} else {
OrbBlaster.featBars.getChildAt(_local1).getChildAt(_local2).alpha = 1;
OrbBlaster.featBars.getChildAt(_local1).getChildAt(_local2).star.visible = false;
};
_local2++;
};
_local1++;
};
}
public static function legendFeatsClicked(_arg1:MouseEvent):void{
OrbBlaster.featBars.getChildAt(0).visible = false;
OrbBlaster.featBars.getChildAt(1).visible = false;
OrbBlaster.featBars.getChildAt(2).visible = true;
OrbBlaster.featsScreen.normalCover.visible = false;
OrbBlaster.featsScreen.heroicCover.visible = false;
OrbBlaster.featsScreen.legendCover.visible = true;
}
public static function hideMainMenu():void{
OrbBlaster.mainMenu.visible = false;
}
public static function upgradeSpeedClicked(_arg1:MouseEvent):void{
var _local2:int;
_local2 = PlayerStats.getSpeedCost();
if (PlayerStats.credits >= _local2){
PlayerStats.credits = (PlayerStats.credits - _local2);
PlayerStats.speedLevel++;
switch (OrbBlaster.hero.type){
case 0:
OrbBlaster.hero.setSpeed((Hero.startSpeed[0] + (0.3 * PlayerStats.speedLevel)));
break;
case 1:
OrbBlaster.hero.setSpeed((Hero.startSpeed[1] + (0.3 * PlayerStats.speedLevel)));
break;
};
SoundManager.playClick0();
};
OrbBlaster.updateUpgradeScreen();
}
public static function startNextLevel():void{
OrbBlaster.startLevel((OrbBlaster.curLevel + 1));
}
public static function heroicFeatsClicked(_arg1:MouseEvent):void{
OrbBlaster.featBars.getChildAt(0).visible = false;
OrbBlaster.featBars.getChildAt(1).visible = true;
OrbBlaster.featBars.getChildAt(2).visible = false;
OrbBlaster.featsScreen.normalCover.visible = false;
OrbBlaster.featsScreen.heroicCover.visible = true;
OrbBlaster.featsScreen.legendCover.visible = false;
}
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 hero0Selected(_arg1:MouseEvent):void{
OrbBlaster.heroSelected = 0;
if (OrbBlaster.numStartedPlay <= 1){
OrbBlaster.showControlsScreen();
} else {
OrbBlaster.startPlay(OrbBlaster.heroSelected);
};
}
public static function getRadians(_arg1:Number):Number{
return (((_arg1 * Math.PI) / 180));
}
public static function unpauseTimer(_arg1:Timer){
_arg1.start();
}
public static function startLevel(_arg1:uint):void{
trace(((("firedThisLevel: " + Feat.firedThisLevel) + " | diedThisLevel: ") + Feat.diedThisLevel));
OrbBlaster.isPauseable = true;
OrbBlaster.pause = false;
OrbBlaster.curLevel = _arg1;
OrbBlaster.spawner.spawnLevel(_arg1);
OrbBlaster.gunEnabled = true;
OrbBlaster.hero.isInvincible = false;
OrbBlaster.hero.visible = true;
OrbBlaster.hero.x = OrbBlaster.CENTER_X;
OrbBlaster.hero.y = OrbBlaster.CENTER_Y;
OrbBlaster.comboCounter.visible = false;
OrbBlaster.updateScoreBar();
OrbBlaster.maxCombo = 0;
Feat.resetLevelMarks();
OrbBlaster.completedFeatsOnLevel = new Array();
if (OrbBlaster.gameMode == 0){
OrbBlaster.objMgr.addEfx(6, null);
};
OrbBlaster.hero.stopRapidFire();
OrbBlaster.hero.stopRapidBomb();
OrbBlaster.hero.bombTimeCount = OrbBlaster.hero.normalBombCooldown;
OrbBlaster.mouse.mouseDown = false;
}
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 screenShakeStart():void{
OrbBlaster.shakeCounter = 0;
OrbBlaster.shakeTimer.start();
}
public static function showFeatsCompleteScreen():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:FeatBar;
SoundManager.playCheer();
OrbBlaster.featsCompleteScreen.visible = true;
_local1 = OrbBlaster.completedFeatsOnLevel.length;
_local2 = -30;
_local3 = 0;
while (_local3 < _local1) {
_local4 = new FeatBar();
_local4.star.visible = false;
_local4.title.text = OrbBlaster.completedFeatsOnLevel[_local3].title;
_local4.description.text = OrbBlaster.completedFeatsOnLevel[_local3].description;
_local4.x = 0;
_local4.y = _local2;
_local2 = (_local2 + 45);
OrbBlaster.featsCompleteScreen.featBars.addChild(_local4);
_local3++;
};
}
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 addCredits(_arg1:int):void{
PlayerStats.credits = (PlayerStats.credits + _arg1);
PlayerStats.creditsTotal = (PlayerStats.creditsTotal + _arg1);
}
public static function startPlay(_arg1:int):void{
switch (_arg1){
case 0:
OrbBlaster.hero.setLife(3);
OrbBlaster.hero.setBombs(2);
break;
case 1:
OrbBlaster.hero.setLife(3);
OrbBlaster.hero.setBombs(3);
break;
};
OrbBlaster.hero.setType(_arg1);
OrbBlaster.hero.visible = true;
OrbBlaster.gameMode = 0;
OrbBlaster.hero.setGunLevel(0);
OrbBlaster.framesPassed = 0;
OrbBlaster.HUDItems.visible = true;
OrbBlaster.heroSelectionScreen.visible = false;
OrbBlaster.resetCurStreak();
PlayerStats.resetUpgrades();
PlayerStats.resetCurStats();
OrbBlaster.bestScoreBar.bestScore.text = OrbBlaster.commaFormat(PlayerStats.bestScore);
Feat.diedThisRun = false;
OrbBlaster.numStartedPlay++;
SoundManager.startBackgroundMusic();
OrbBlaster.startLevel(1);
}
public static function random(_arg1:Number, _arg2:Number):Number{
return ((_arg1 + ((_arg2 - _arg1) * Math.random())));
}
public static function saveProgress():void{
var savedFeats:Array;
var levels:int;
var numFeats:int;
var i:int;
var flushStatus:String;
var j:int;
OrbBlaster.saveData.data.bestScore = PlayerStats.bestScore;
OrbBlaster.saveData.data.mobsKilledTotal = PlayerStats.mobsKilledTotal;
OrbBlaster.saveData.data.pointsTotal = PlayerStats.pointsTotal;
OrbBlaster.saveData.data.creditsTotal = PlayerStats.creditsTotal;
OrbBlaster.saveData.data.highestWave = PlayerStats.highestWave;
OrbBlaster.saveData.data.feats = PlayerStats.feats;
OrbBlaster.saveData.data.numStartedPlay = OrbBlaster.numStartedPlay;
savedFeats = new Array();
levels = OrbBlaster.feats.length;
numFeats = OrbBlaster.feats[0].length;
i = 0;
while (i < levels) {
savedFeats[i] = new Array();
j = 0;
while (j < numFeats) {
savedFeats[i][j] = OrbBlaster.feats[i][j].isComplete;
j = (j + 1);
};
i = (i + 1);
};
OrbBlaster.saveData.data.featsProgress = savedFeats;
trace(("saving featsProgess: " + OrbBlaster.saveData.data.featsProgress));
trace(("saveData size: " + OrbBlaster.saveData.size));
flushStatus = null;
try {
flushStatus = OrbBlaster.progress.flush();
} catch(error:Error) {
trace("flush error caught...?\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;
};
};
OrbBlaster.saveKongregate();
}
public static function playerNameFocused(_arg1:Event):void{
OrbBlaster.scoreSubmitScreen.removeEventListener(FocusEvent.FOCUS_IN, playerNameFocused);
OrbBlaster.scoreSubmitScreen.playerName.text = "";
trace("focused");
}
public static function showMainMenu():void{
OrbBlaster.mainMenu.visible = true;
}
public static function showScoreSubmitScreen():void{
OrbBlaster.scoreSubmitScreen.finalScoreLabel.visible = true;
OrbBlaster.scoreSubmitScreen.finalScore.text = OrbBlaster.commaFormat(PlayerStats.getPoints());
OrbBlaster.scoreSubmitScreen.finalScore.visible = true;
if (OrbBlaster.scoreSubmitScreen.playerName.text == ""){
OrbBlaster.scoreSubmitScreen.playerName.text = "Bob";
};
OrbBlaster.scoreSubmitScreen.visible = true;
if (OrbBlaster.scoreSubmitScreen.playerName.text == "Bob"){
OrbBlaster.scoreSubmitScreen.addEventListener(FocusEvent.FOCUS_IN, playerNameFocused);
};
}
public static function addPoints(_arg1:int):void{
var _local2:int;
if (PlayerStats.mult > 8){
PlayerStats.mult = 8;
};
_local2 = (PlayerStats.mult * _arg1);
if (Math.random() < 0.5){
PlayerStats.points1 = (PlayerStats.points1 + _local2);
} else {
PlayerStats.points2 = (PlayerStats.points2 + _local2);
};
}
public static function levelComplete():void{
trace("LEVEL COMPLETE!");
OrbBlaster.hero.isInvincible = true;
OrbBlaster.gunEnabled = false;
OrbBlaster.hero.isFireLooping = false;
OrbBlaster.endLevelTimer.start();
OrbBlaster.isPauseable = false;
OrbBlaster.mouse.mouseDown = false;
if ((OrbBlaster.curLevel + 1) > PlayerStats.highestWave){
PlayerStats.highestWave = (OrbBlaster.curLevel + 1);
};
trace(((("firedThisLevel: " + Feat.firedThisLevel) + " | diedThisLevel: ") + Feat.diedThisLevel));
Feat.featCheck(0, 5);
if (OrbBlaster.curLevel == 6){
Feat.complete(0, 0);
} else {
if (OrbBlaster.curLevel == 12){
if (!Feat.movedThisLevel){
Feat.complete(1, 5);
};
} else {
if (OrbBlaster.curLevel == 20){
Feat.complete(1, 0);
if (!Feat.diedThisRun){
Feat.complete(1, 4);
};
} else {
if (OrbBlaster.curLevel == 30){
if (!Feat.diedThisRun){
Feat.complete(2, 5);
};
} else {
if (OrbBlaster.curLevel == 36){
Feat.complete(2, 0);
};
};
};
};
};
if (PlayerStats.credits >= 75000){
Feat.complete(2, 4);
};
OrbBlaster.saveProgress();
}
public static function pauseTimer(_arg1:Timer){
if (_arg1.running){
OrbBlaster.pausedTimerArr.push(_arg1);
_arg1.stop();
};
}
public static function getDegrees(_arg1:Number):uint{
return (Math.round(((180 * _arg1) / Math.PI)));
}
public static function okayControlsClicked(_arg1:MouseEvent):void{
OrbBlaster.controlsScreen.visible = false;
if (OrbBlaster.HUDItems.visible == false){
OrbBlaster.startPlay(OrbBlaster.heroSelected);
} else {
OrbBlaster.showPauseMenu();
};
}
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.mobSpawnTimer);
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 upgradePointsClicked(_arg1:MouseEvent):void{
var _local2:int;
_local2 = PlayerStats.getPointsCost();
if (PlayerStats.credits >= _local2){
PlayerStats.credits = (PlayerStats.credits - _local2);
PlayerStats.points1 = (PlayerStats.points1 + PlayerStats.pointUpgrade);
PlayerStats.pointsTotal = (PlayerStats.pointsTotal + PlayerStats.pointUpgrade);
SoundManager.playClick0();
};
OrbBlaster.updateUpgradeScreen();
}
public static function showControlsScreen():void{
OrbBlaster.controlsScreen.visible = true;
}
public static function commaFormat(_arg1:int):String{
var _local2:String;
var _local3:int;
var _local4:Array;
_local2 = _arg1.toString();
_local3 = _local2.length;
_local4 = new Array();
while ((_local3 = (_local3 - 3)) > 0) {
_local4.unshift(_local2.substr(_local3, 3));
};
_local4.unshift(_local2.substr(0, (3 + _local3)));
return (_local4.join(","));
}
public static function hero1Selected(_arg1:MouseEvent):void{
OrbBlaster.heroSelected = 1;
if (OrbBlaster.numStartedPlay <= 1){
OrbBlaster.showControlsScreen();
} else {
OrbBlaster.startPlay(OrbBlaster.heroSelected);
};
}
public static function saveKongregate():void{
OrbBlaster.kongregate.stats.submit("Mobs Killed", PlayerStats.mobsKilledTotal);
OrbBlaster.kongregate.stats.submit("Credits Gained", PlayerStats.mobsKilledTotal);
OrbBlaster.kongregate.stats.submit("Highest Wave", PlayerStats.highestWave);
OrbBlaster.kongregate.stats.submit("Feats Achieved", PlayerStats.feats);
OrbBlaster.kongregate.stats.submit("Best Score", PlayerStats.bestScore);
OrbBlaster.kongregate.stats.submit("currentWave", OrbBlaster.curLevel);
OrbBlaster.kongregate.stats.submit("maxMultiplier", PlayerStats.mult);
if (Feat.diedThisRun){
OrbBlaster.kongregate.stats.submit("diedThisPlay", 1);
} else {
OrbBlaster.kongregate.stats.submit("diedThisPlay", 0);
};
}
public static function loadProgress():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:int;
OrbBlaster.saveData = SharedObject.getLocal("Zunderfury_Data_8", "/");
PlayerStats.bestScore = OrbBlaster.saveData.data.bestScore;
PlayerStats.mobsKilledTotal = OrbBlaster.saveData.data.mobsKilledTotal;
PlayerStats.pointsTotal = OrbBlaster.saveData.data.pointsTotal;
PlayerStats.creditsTotal = OrbBlaster.saveData.data.creditsTotal;
PlayerStats.highestWave = OrbBlaster.saveData.data.highestWave;
PlayerStats.feats = OrbBlaster.saveData.data.feats;
OrbBlaster.numStartedPlay = OrbBlaster.saveData.data.numStartedPlay;
if (OrbBlaster.saveData.data.featsProgress == undefined){
return;
};
_local1 = OrbBlaster.saveData.data.featsProgress.length;
_local2 = OrbBlaster.saveData.data.featsProgress[0].length;
_local3 = 0;
while (_local3 < _local1) {
_local4 = 0;
while (_local4 < _local2) {
OrbBlaster.feats[_local3][_local4].isComplete = OrbBlaster.saveData.data.featsProgress[_local3][_local4];
_local4++;
};
_local3++;
};
}
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 resetCurStreak(){
PlayerStats.mobsKilled = 0;
PlayerStats.mult = 1;
OrbBlaster.scoreBar.multText.text = (PlayerStats.mult + "X");
}
public static function hidePauseMenu():void{
OrbBlaster.pauseMenu.visible = false;
OrbBlaster.quitConfirmScreen.visible = false;
OrbBlaster.controlsScreen.visible = false;
}
public static function updateUpgradeScreen():void{
OrbBlaster.upgradeScreen.credits.text = OrbBlaster.commaFormat(PlayerStats.credits);
OrbBlaster.upgradeScreen.weaponCost.text = OrbBlaster.commaFormat(PlayerStats.getWeaponCost());
OrbBlaster.upgradeScreen.speedCost.text = OrbBlaster.commaFormat(PlayerStats.getSpeedCost());
OrbBlaster.upgradeScreen.lifeCost.text = OrbBlaster.commaFormat(PlayerStats.getLifeCost());
OrbBlaster.upgradeScreen.bombCost.text = OrbBlaster.commaFormat(PlayerStats.getBombCost());
OrbBlaster.upgradeScreen.pointsCost.text = OrbBlaster.commaFormat(PlayerStats.getPointsCost());
if (PlayerStats.weaponLevel >= 5){
OrbBlaster.upgradeScreen.weaponCover.visible = true;
} else {
OrbBlaster.upgradeScreen.weaponCover.visible = false;
};
if (PlayerStats.speedLevel >= 5){
OrbBlaster.upgradeScreen.speedCover.visible = true;
} else {
OrbBlaster.upgradeScreen.speedCover.visible = false;
};
}
public static function respawnHero():void{
if (OrbBlaster.hero.life > 0){
OrbBlaster.hero.respawn();
OrbBlaster.spawner.mobSpawnTimer.delay = 1500;
OrbBlaster.spawner.mobSpawnTimer.start();
OrbBlaster.resetCurStreak();
} else {
OrbBlaster.isPauseable = false;
OrbBlaster.gameEnd();
};
}
public static function endLevel(_arg1:TimerEvent):void{
OrbBlaster.hero.visible = false;
if (OrbBlaster.completedFeatsOnLevel.length == 0){
OrbBlaster.showUpgradeScreen();
} else {
OrbBlaster.showFeatsCompleteScreen();
};
OrbBlaster.objMgr.clear();
}
public static function upgradeBombClicked(_arg1:MouseEvent):void{
var _local2:int;
_local2 = PlayerStats.getBombCost();
if (PlayerStats.credits >= _local2){
PlayerStats.credits = (PlayerStats.credits - _local2);
OrbBlaster.hero.setBombs((OrbBlaster.hero.numBombs + 1));
PlayerStats.bombsBought++;
SoundManager.playClick0();
};
OrbBlaster.updateUpgradeScreen();
}
public static function clearSave():void{
trace("clearing saved data");
OrbBlaster.saveData.clear();
}
public static function resetCombo():void{
OrbBlaster.comboCount = 1;
}
public static function controlsButtonClicked(_arg1:MouseEvent):void{
OrbBlaster.showControlsScreen();
}
public static function gameEnd():void{
if (OrbBlaster.curLevel == 2){
Feat.complete(2, 3);
};
OrbBlaster.saveProgress();
OrbBlaster.scoreSubmitScreen.submitButton.visible = true;
OrbBlaster.scoreSubmitScreen.tryAgainText.visible = false;
OrbBlaster.scoreSubmitScreen.theEndText.visible = false;
OrbBlaster.scoreSubmitScreen.goodLuckText.visible = false;
OrbBlaster.scoreSubmitScreen.finalScoreLabel.visible = false;
OrbBlaster.scoreSubmitScreen.totalTimeLabel.visible = false;
OrbBlaster.scoreSubmitScreen.finalScore.visible = false;
OrbBlaster.scoreSubmitScreen.playerName.selectable = true;
if ((((OrbBlaster.gameMode == 0)) && ((OrbBlaster.hero.life == 0)))){
SoundManager.playBoo();
OrbBlaster.showScoreSubmitScreen();
} else {
if ((((OrbBlaster.gameMode == 0)) && (!((OrbBlaster.hero.life == 0))))){
OrbBlaster.scoreSubmitScreen.theEndText.visible = true;
OrbBlaster.scoreSubmitScreen.finalScore.text = OrbBlaster.totalPoints;
OrbBlaster.scoreSubmitScreen.finalScore.visible = true;
OrbBlaster.scoreSubmitScreen.finalScoreLabel.visible = true;
OrbBlaster.showScoreSubmitScreen();
} else {
OrbBlaster.scoreSubmitScreen.finalScore.text = OrbBlaster.totalTime;
OrbBlaster.scoreSubmitScreen.finalScore.visible = true;
OrbBlaster.scoreSubmitScreen.tryAgainText.visible = true;
OrbBlaster.scoreSubmitScreen.totalTimeLabel.visible = true;
OrbBlaster.showScoreSubmitScreen();
};
};
}
public static function incrCombo():void{
OrbBlaster.comboCount++;
OrbBlaster.comboCounter.setText(OrbBlaster.comboCount);
OrbBlaster.comboFadeTimer.reset();
OrbBlaster.comboFadeTimer.start();
}
public static function mobKilled(_arg1:Mob):void{
var _local2:int;
OrbBlaster.addPoints(_arg1.points);
OrbBlaster.addCredits(_arg1.credits);
PlayerStats.mobsKilled++;
PlayerStats.mobsKilledTotal++;
PlayerStats.mobsKilledThisRun++;
_local2 = PlayerStats.mult;
switch (PlayerStats.mobsKilled){
case 32:
PlayerStats.mult++;
trace(PlayerStats.mobsKilled);
break;
case 150:
PlayerStats.mult++;
trace(PlayerStats.mobsKilled);
break;
case 350:
PlayerStats.mult++;
trace(PlayerStats.mobsKilled);
break;
case 750:
PlayerStats.mult++;
trace(PlayerStats.mobsKilled);
break;
case 1450:
PlayerStats.mult++;
trace(PlayerStats.mobsKilled);
break;
case 3000:
PlayerStats.mult++;
trace(PlayerStats.mobsKilled);
break;
};
if (_local2 != PlayerStats.mult){
OrbBlaster.scoreBar.multText.text = (PlayerStats.mult + "X");
};
if (PlayerStats.mobsKilledTotal >= 50000){
Feat.complete(2, 2);
};
}
public static function showUpgradeScreen():void{
OrbBlaster.upgradeScreen.visible = true;
OrbBlaster.updateUpgradeScreen();
}
public static function upgradeWeaponClicked(_arg1:MouseEvent):void{
var _local2:int;
_local2 = PlayerStats.getWeaponCost();
if (PlayerStats.credits >= _local2){
PlayerStats.credits = (PlayerStats.credits - _local2);
PlayerStats.weaponLevel++;
OrbBlaster.hero.setGunLevel(PlayerStats.weaponLevel);
SoundManager.playClick0();
};
OrbBlaster.updateUpgradeScreen();
}
public static function upgradeLifeClicked(_arg1:MouseEvent):void{
var _local2:int;
_local2 = PlayerStats.getLifeCost();
if (PlayerStats.credits >= _local2){
PlayerStats.credits = (PlayerStats.credits - _local2);
OrbBlaster.hero.setLife((OrbBlaster.hero.life + 1));
PlayerStats.livesBought++;
SoundManager.playClick0();
};
OrbBlaster.updateUpgradeScreen();
}
public static function normalFeatsClicked(_arg1:MouseEvent):void{
OrbBlaster.featBars.getChildAt(0).visible = true;
OrbBlaster.featBars.getChildAt(1).visible = false;
OrbBlaster.featBars.getChildAt(2).visible = false;
OrbBlaster.featsScreen.normalCover.visible = true;
OrbBlaster.featsScreen.heroicCover.visible = false;
OrbBlaster.featsScreen.legendCover.visible = false;
}
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 showPauseMenu():void{
OrbBlaster.updateAudioButtons();
OrbBlaster.quitConfirmScreen.visible = false;
OrbBlaster.pauseMenu.visible = true;
}
}
}//package
Section 102
//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 = Math.round((this.speed * Math.cos(this.heading)));
this.vy = Math.round((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 willBeOutBounds():Boolean{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local1 = (this.vx + this.ax);
_local2 = (this.vy + this.ay);
_local3 = (this.x + this.vx);
_local4 = (this.y + this.vy);
return (this.isOutBounds(_local3, _local4));
}
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:uint):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 103
//PauseButton (PauseButton)
package {
import flash.display.*;
public dynamic class PauseButton extends SimpleButton {
}
}//package
Section 104
//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 controlsButton:SimpleButton;
public var musicButton:SimpleButton;
public var resumeButton:SimpleButton;
public var soundStatus:TextField;
}
}//package
Section 105
//PlayerStats (PlayerStats)
package {
public class PlayerStats {
static var speedLevel:int = 0;
static var feats:int = 0;
static var creditsTotal:int = 0;
static var bestScore:int = 0;
static var weaponLevel:int = 0;
static var mobsKilled:int = 0;
static var wavesCompleted:int = 0;
static var liveStreak:int = 0;
static var credits:int = 0;
static var mobsKilledTotal:int = 0;
static var mobsKilledThisRun:int = 0;
static var pointsTotal:int = 0;
static var points:int = 0;
static var livesBought:int = 0;
static var points1:int = 0;
static var points2:int = 0;
static var mult:int = 1;
static var pointUpgrade:int = 100000;
static var highestWave:int = 0;
static var bombsBought:int = 0;
public function PlayerStats():void{
}
public static function getSpeedCost():int{
var _local1:int;
_local1 = 0;
switch (PlayerStats.speedLevel){
case 0:
_local1 = 450;
break;
case 1:
_local1 = 1050;
break;
case 2:
_local1 = 3500;
break;
case 3:
_local1 = 6500;
break;
case 4:
_local1 = 10500;
break;
case 5:
_local1 = 19000;
break;
default:
_local1 = 50000;
};
return (_local1);
}
public static function getBombCost():int{
var _local1:int;
_local1 = (1100 + (Math.pow(2, PlayerStats.bombsBought) * 140));
return (_local1);
}
public static function resetUpgrades():void{
PlayerStats.weaponLevel = 0;
PlayerStats.speedLevel = 0;
PlayerStats.livesBought = 0;
PlayerStats.bombsBought = 0;
}
public static function getPointsCost():int{
var _local1:int;
_local1 = 10000;
return (_local1);
}
public static function getLifeCost():int{
var _local1:int;
_local1 = (1300 + (Math.pow(2, PlayerStats.livesBought) * 150));
return (_local1);
}
public static function getPoints():int{
return ((PlayerStats.points1 + PlayerStats.points2));
}
public static function resetCurStats():void{
PlayerStats.points = 0;
PlayerStats.points1 = -3;
PlayerStats.points2 = 3;
PlayerStats.credits = 0;
PlayerStats.mobsKilledThisRun = 0;
}
public static function getWeaponCost():int{
var _local1:int;
_local1 = 0;
switch (PlayerStats.weaponLevel){
case 0:
_local1 = 475;
break;
case 1:
_local1 = 1200;
break;
case 2:
_local1 = 4000;
break;
case 3:
_local1 = 8500;
break;
case 4:
_local1 = 12000;
break;
case 5:
_local1 = 20000;
break;
default:
_local1 = 50000;
};
return (_local1);
}
}
}//package
Section 106
//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 107
//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 108
//Powerup_Life3 (Powerup_Life3)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.text.*;
import flash.net.*;
import flash.errors.*;
import flash.accessibility.*;
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 109
//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 110
//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 111
//ProfanityFilter (ProfanityFilter)
package {
public class ProfanityFilter {
public static var badWords:Array;
public function ProfanityFilter():void{
}
public static function profanityCheck(_arg1:String):Boolean{
var _local2:int;
var _local3:Boolean;
var _local4:String;
var _local5:int;
_local2 = ProfanityFilter.badWords.length;
_local3 = false;
_local4 = _arg1.toLowerCase();
_local5 = 0;
while (_local5 < _local2) {
if (_local4.indexOf(ProfanityFilter.badWords[_local5]) != -1){
_local3 = true;
break;
};
_local5++;
};
return (_local3);
}
public static function init():void{
ProfanityFilter.badWords = new Array();
ProfanityFilter.badWords.push("anal");
ProfanityFilter.badWords.push("anus");
ProfanityFilter.badWords.push("ass");
ProfanityFilter.badWords.push("asshole");
ProfanityFilter.badWords.push("ass hole");
ProfanityFilter.badWords.push("asswipe");
ProfanityFilter.badWords.push("bastard");
ProfanityFilter.badWords.push("bitch");
ProfanityFilter.badWords.push("bitchy");
ProfanityFilter.badWords.push("blowjob");
ProfanityFilter.badWords.push("boob");
ProfanityFilter.badWords.push("boobs");
ProfanityFilter.badWords.push("buttfucker");
ProfanityFilter.badWords.push("caca");
ProfanityFilter.badWords.push("clit");
ProfanityFilter.badWords.push("cock");
ProfanityFilter.badWords.push("cocksucker");
ProfanityFilter.badWords.push("cunt");
ProfanityFilter.badWords.push("dickhead");
ProfanityFilter.badWords.push("dipshit");
ProfanityFilter.badWords.push("doody");
ProfanityFilter.badWords.push("dyke");
ProfanityFilter.badWords.push("dike");
ProfanityFilter.badWords.push("fag");
ProfanityFilter.badWords.push("faggot");
ProfanityFilter.badWords.push("fuck");
ProfanityFilter.badWords.push("fucked");
ProfanityFilter.badWords.push("fucker");
ProfanityFilter.badWords.push("fuckface");
ProfanityFilter.badWords.push("fucks");
ProfanityFilter.badWords.push("give head");
ProfanityFilter.badWords.push("gives head");
ProfanityFilter.badWords.push("gook");
ProfanityFilter.badWords.push("kike");
ProfanityFilter.badWords.push("motherfucker");
ProfanityFilter.badWords.push("nigger");
ProfanityFilter.badWords.push("penis");
ProfanityFilter.badWords.push("piss");
ProfanityFilter.badWords.push("poop");
ProfanityFilter.badWords.push("sex");
ProfanityFilter.badWords.push("shit");
ProfanityFilter.badWords.push("shitface");
ProfanityFilter.badWords.push("shithead");
ProfanityFilter.badWords.push("shits");
ProfanityFilter.badWords.push("slut");
ProfanityFilter.badWords.push("spic");
ProfanityFilter.badWords.push("suck");
ProfanityFilter.badWords.push("slutty");
ProfanityFilter.badWords.push("shity");
ProfanityFilter.badWords.push("shitty");
ProfanityFilter.badWords.push("sucks");
ProfanityFilter.badWords.push("tit");
ProfanityFilter.badWords.push("tits");
ProfanityFilter.badWords.push("twat");
ProfanityFilter.badWords.push("urine");
ProfanityFilter.badWords.push("vagina");
ProfanityFilter.badWords.push("whore");
ProfanityFilter.badWords.push("wop");
ProfanityFilter.badWords.push("ahole");
ProfanityFilter.badWords.push("a-hole");
ProfanityFilter.badWords.push("a hole");
ProfanityFilter.badWords.push("pisser");
ProfanityFilter.badWords.push("dildo");
ProfanityFilter.badWords.push("motherfuck");
ProfanityFilter.badWords.push("jerkoff");
ProfanityFilter.badWords.push("lesbo");
ProfanityFilter.badWords.push("homo");
ProfanityFilter.badWords.push("scrotum");
ProfanityFilter.badWords.push("scrodum");
ProfanityFilter.badWords.push("fart");
ProfanityFilter.badWords.push("jackass");
ProfanityFilter.badWords.push("prick");
ProfanityFilter.badWords.push("chink");
ProfanityFilter.badWords.push("molestor");
ProfanityFilter.badWords.push("molester");
ProfanityFilter.badWords.push("anal");
ProfanityFilter.badWords.push("anus");
ProfanityFilter.badWords.push("asshole");
ProfanityFilter.badWords.push("asswipe");
ProfanityFilter.badWords.push("bastard");
ProfanityFilter.badWords.push("bitch");
ProfanityFilter.badWords.push("bitchy");
ProfanityFilter.badWords.push("blowjob");
ProfanityFilter.badWords.push("boob");
ProfanityFilter.badWords.push("boobs");
ProfanityFilter.badWords.push("buttfucker");
ProfanityFilter.badWords.push("caca");
ProfanityFilter.badWords.push("clit");
ProfanityFilter.badWords.push("cock");
ProfanityFilter.badWords.push("cocksucker");
ProfanityFilter.badWords.push("cunt");
ProfanityFilter.badWords.push("dickhead");
ProfanityFilter.badWords.push("dipshit");
ProfanityFilter.badWords.push("doody");
ProfanityFilter.badWords.push("dyke");
ProfanityFilter.badWords.push("dike");
ProfanityFilter.badWords.push("fag");
ProfanityFilter.badWords.push("faggot");
ProfanityFilter.badWords.push("fuck");
ProfanityFilter.badWords.push("fck");
ProfanityFilter.badWords.push("fcuk");
ProfanityFilter.badWords.push("fucked");
ProfanityFilter.badWords.push("fucker");
ProfanityFilter.badWords.push("fuckface");
ProfanityFilter.badWords.push("fucks");
ProfanityFilter.badWords.push("give head");
ProfanityFilter.badWords.push("gives head");
ProfanityFilter.badWords.push("gook");
ProfanityFilter.badWords.push("kike");
ProfanityFilter.badWords.push("motherfucker");
ProfanityFilter.badWords.push("nigger");
ProfanityFilter.badWords.push("penis");
ProfanityFilter.badWords.push("piss");
ProfanityFilter.badWords.push("poop");
ProfanityFilter.badWords.push("sex");
ProfanityFilter.badWords.push("shit");
ProfanityFilter.badWords.push("shitface");
ProfanityFilter.badWords.push("shithead");
ProfanityFilter.badWords.push("shits");
ProfanityFilter.badWords.push("slut");
ProfanityFilter.badWords.push("spic");
ProfanityFilter.badWords.push("suck");
ProfanityFilter.badWords.push("slutty");
ProfanityFilter.badWords.push("shity");
ProfanityFilter.badWords.push("shitty");
ProfanityFilter.badWords.push("sucks");
ProfanityFilter.badWords.push("tit");
ProfanityFilter.badWords.push("tits");
ProfanityFilter.badWords.push("twat");
ProfanityFilter.badWords.push("urine");
ProfanityFilter.badWords.push("vagina");
ProfanityFilter.badWords.push("whore");
ProfanityFilter.badWords.push("wop");
ProfanityFilter.badWords.push("ahole");
ProfanityFilter.badWords.push("a-hole");
ProfanityFilter.badWords.push("a hole");
ProfanityFilter.badWords.push("pisser");
ProfanityFilter.badWords.push("dildo");
ProfanityFilter.badWords.push("motherfuck");
ProfanityFilter.badWords.push("jerkoff");
ProfanityFilter.badWords.push("lesbo");
ProfanityFilter.badWords.push("homo");
ProfanityFilter.badWords.push("scrotum");
ProfanityFilter.badWords.push("scrodum");
ProfanityFilter.badWords.push("fart");
ProfanityFilter.badWords.push("jackass");
ProfanityFilter.badWords.push("prick");
ProfanityFilter.badWords.push("chink");
ProfanityFilter.badWords.push("molestor");
ProfanityFilter.badWords.push("molester");
ProfanityFilter.badWords.push("removed ass");
ProfanityFilter.badWords.push("dyke");
ProfanityFilter.badWords.push("dike");
ProfanityFilter.badWords.push("tit");
ProfanityFilter.badWords.push("dick");
}
}
}//package
Section 112
//Proj_Explosion0_Base (Proj_Explosion0_Base)
package {
import flash.display.*;
public dynamic class Proj_Explosion0_Base extends MovieClip {
}
}//package
Section 113
//Projectile (Projectile)
package {
import flash.display.*;
public class Projectile extends OrbObject {
public var updateTimer:int;// = 0
public var angleFrame:int;// = 0
public var maxFrame:int;// = 0
public var efxExplosion:Array;
public var curFrame:int;// = 0
public var comboID:uint;
public var bitmap:Bitmap;
public var spriteBase:Array;
public var type:uint;
public var damage:uint;
static var bombDamage:uint = 80;
public function Projectile(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){
angleFrame = 0;
efxExplosion = OrbBlaster.bitmapManager.efx_explosion1;
curFrame = 0;
maxFrame = 0;
updateTimer = 0;
super();
this.pruneRadius = 81;
this.x = _arg1;
this.y = _arg2;
this.speed = _arg4;
this.ax = 0;
this.ay = 0;
this.maxSpeed = 5;
this.heading = _arg3;
this.vx = (this.speed * Math.cos(this.heading));
this.vy = (this.speed * Math.sin(this.heading));
this.bitmap = new Bitmap(null, "never", true);
}
override public function die():void{
OrbBlaster.objMgr.killProj(this);
}
public function setSpriteBase(_arg1:Array):void{
var _local2:Number;
var _local3:Number;
this.spriteBase = _arg1;
this.radiusX = ((_arg1[0].width >> 1) + 6);
this.radiusY = this.radiusX;
this.addChild(this.bitmap);
_local2 = this.spriteBase[0][this.curFrame].width;
_local3 = this.spriteBase[0][this.curFrame].height;
this.bitmap.bitmapData = this.spriteBase[0][this.curFrame];
this.bitmap.x = -((_local2 >> 1));
this.bitmap.y = -((_local3 >> 1));
this.maxFrame = this.spriteBase[0].length;
}
public function updateBitmap():void{
var _local1:Number;
var _local2:Number;
this.updateTimer++;
if (this.updateTimer < 2){
return;
};
this.updateTimer = 0;
this.curFrame++;
this.updateSpecial();
if (this.curFrame >= this.maxFrame){
this.curFrame = 0;
};
_local1 = this.spriteBase[0][this.curFrame].width;
_local2 = this.spriteBase[0][this.curFrame].height;
this.bitmap.bitmapData = this.spriteBase[0][this.curFrame];
this.bitmap.x = -((_local1 >> 1));
this.bitmap.y = -((_local2 >> 1));
}
public function gotHit():void{
OrbBlaster.objMgr.addEfxBitmap(this.efxExplosion, this.x, this.y);
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))));
}
public function updateSpecial():void{
}
}
}//package
Section 114
//Projectile0 (Projectile0)
package {
public class Projectile0 extends Projectile {
public function Projectile0(_arg1:Number, _arg2:Number, _arg3:Number):void{
this.speed = 13;
super(_arg1, _arg2, _arg3, this.speed);
this.maxSpeed = 128;
this.maxPushSpeed = 128;
this.maxGravSpeed = 128;
this.type = 0;
this.damage = 10;
this.setSpriteBase(OrbBlaster.bitmapManager.projectile0);
}
}
}//package
Section 115
//Projectile0_Sprite (Projectile0_Sprite)
package {
import flash.display.*;
public dynamic class Projectile0_Sprite extends MovieClip {
}
}//package
Section 116
//Projectile1 (Projectile1)
package {
public class Projectile1 extends Projectile {
public function Projectile1(_arg1:Number, _arg2:Number, _arg3:Number):void{
this.speed = 13;
super(_arg1, _arg2, _arg3, this.speed);
this.maxSpeed = 128;
this.maxPushSpeed = 128;
this.maxGravSpeed = 128;
this.type = 0;
this.damage = 10;
this.setSpriteBase(OrbBlaster.bitmapManager.projectile1);
}
}
}//package
Section 117
//Projectile1_Sprite (Projectile1_Sprite)
package {
import flash.display.*;
public dynamic class Projectile1_Sprite extends MovieClip {
}
}//package
Section 118
//Projectile10 (Projectile10)
package {
public class Projectile10 extends Projectile {
public function Projectile10(_arg1:Number, _arg2:Number, _arg3:Number):void{
this.speed = (6.7 + OrbBlaster.random(-0.5, 0.5));
super(_arg1, _arg2, _arg3, this.speed);
this.maxSpeed = 128;
this.maxPushSpeed = 128;
this.maxGravSpeed = 128;
this.type = 0;
this.damage = 20;
this.setSpriteBase(OrbBlaster.bitmapManager.projectile10);
this.radiusX = 13;
this.radiusY = 13;
}
override public function updateSpecial():void{
if (this.curFrame >= this.maxFrame){
this.die();
};
}
}
}//package
Section 119
//Projectile10_Sprite (Projectile10_Sprite)
package {
import flash.display.*;
public dynamic class Projectile10_Sprite extends MovieClip {
}
}//package
Section 120
//Projectile11 (Projectile11)
package {
public class Projectile11 extends Projectile {
public function Projectile11(_arg1:Number, _arg2:Number, _arg3:Number):void{
this.speed = (6.7 + OrbBlaster.random(-0.5, 0.5));
super(_arg1, _arg2, _arg3, this.speed);
this.maxSpeed = 128;
this.maxPushSpeed = 128;
this.maxGravSpeed = 128;
this.type = 0;
this.damage = 20;
this.setSpriteBase(OrbBlaster.bitmapManager.projectile11);
this.radiusX = 13;
this.radiusY = 13;
}
override public function updateSpecial():void{
if (this.curFrame >= this.maxFrame){
this.die();
};
}
}
}//package
Section 121
//Projectile11_Sprite (Projectile11_Sprite)
package {
import flash.display.*;
public dynamic class Projectile11_Sprite extends MovieClip {
}
}//package
Section 122
//Projectile12 (Projectile12)
package {
public class Projectile12 extends Projectile {
public function Projectile12(_arg1:Number, _arg2:Number, _arg3:Number):void{
this.speed = (7.5 + OrbBlaster.random(-0.5, 0.5));
super(_arg1, _arg2, _arg3, this.speed);
this.maxSpeed = 128;
this.maxPushSpeed = 128;
this.maxGravSpeed = 128;
this.type = 0;
this.damage = 20;
this.setSpriteBase(OrbBlaster.bitmapManager.projectile10);
this.radiusX = 13;
this.radiusY = 13;
}
override public function updateSpecial():void{
if (this.curFrame >= this.maxFrame){
this.die();
};
}
}
}//package
Section 123
//Projectile12_Sprite (Projectile12_Sprite)
package {
import flash.display.*;
public dynamic class Projectile12_Sprite extends MovieClip {
}
}//package
Section 124
//Projectile13 (Projectile13)
package {
public class Projectile13 extends Projectile {
public function Projectile13(_arg1:Number, _arg2:Number, _arg3:Number):void{
this.speed = (7.5 + OrbBlaster.random(-0.5, 0.5));
super(_arg1, _arg2, _arg3, this.speed);
this.maxSpeed = 128;
this.maxPushSpeed = 128;
this.maxGravSpeed = 128;
this.type = 0;
this.damage = 20;
this.setSpriteBase(OrbBlaster.bitmapManager.projectile11);
this.radiusX = 13;
this.radiusY = 13;
}
override public function updateSpecial():void{
if (this.curFrame >= this.maxFrame){
this.die();
};
}
}
}//package
Section 125
//Projectile13_Sprite (Projectile13_Sprite)
package {
import flash.display.*;
public dynamic class Projectile13_Sprite extends MovieClip {
}
}//package
Section 126
//Projectile14 (Projectile14)
package {
public class Projectile14 extends Projectile {
public function Projectile14(_arg1:Number, _arg2:Number, _arg3:Number):void{
this.speed = (8.5 + OrbBlaster.random(-0.5, 0.5));
super(_arg1, _arg2, _arg3, this.speed);
this.maxSpeed = 128;
this.maxPushSpeed = 128;
this.maxGravSpeed = 128;
this.type = 0;
this.damage = 20;
this.setSpriteBase(OrbBlaster.bitmapManager.projectile12);
this.radiusX = 17;
this.radiusY = 17;
}
override public function updateSpecial():void{
if (this.curFrame >= this.maxFrame){
this.die();
};
}
}
}//package
Section 127
//Projectile14_Sprite (Projectile14_Sprite)
package {
import flash.display.*;
public dynamic class Projectile14_Sprite extends MovieClip {
}
}//package
Section 128
//Projectile15 (Projectile15)
package {
public class Projectile15 extends Projectile {
public function Projectile15(_arg1:Number, _arg2:Number, _arg3:Number):void{
this.speed = (8.5 + OrbBlaster.random(-0.5, 0.5));
super(_arg1, _arg2, _arg3, this.speed);
this.maxSpeed = 128;
this.maxPushSpeed = 128;
this.maxGravSpeed = 128;
this.type = 0;
this.damage = 20;
this.setSpriteBase(OrbBlaster.bitmapManager.projectile13);
this.radiusX = 17;
this.radiusY = 17;
}
override public function updateSpecial():void{
if (this.curFrame >= this.maxFrame){
this.die();
};
}
}
}//package
Section 129
//Projectile15_Sprite (Projectile15_Sprite)
package {
import flash.display.*;
public dynamic class Projectile15_Sprite extends MovieClip {
}
}//package
Section 130
//Projectile16 (Projectile16)
package {
public class Projectile16 extends Projectile {
public function Projectile16(_arg1:Number, _arg2:Number, _arg3:Number):void{
this.speed = (9 + OrbBlaster.random(-0.5, 0.5));
super(_arg1, _arg2, _arg3, this.speed);
this.maxSpeed = 128;
this.maxPushSpeed = 128;
this.maxGravSpeed = 128;
this.type = 0;
this.damage = 20;
this.setSpriteBase(OrbBlaster.bitmapManager.projectile14);
this.radiusX = 18;
this.radiusY = 18;
}
override public function updateSpecial():void{
if (this.curFrame >= this.maxFrame){
this.die();
};
}
}
}//package
Section 131
//Projectile17 (Projectile17)
package {
public class Projectile17 extends Projectile {
public function Projectile17(_arg1:Number, _arg2:Number, _arg3:Number):void{
this.speed = (9 + OrbBlaster.random(-0.5, 0.5));
super(_arg1, _arg2, _arg3, this.speed);
this.maxSpeed = 128;
this.maxPushSpeed = 128;
this.maxGravSpeed = 128;
this.type = 0;
this.damage = 20;
this.setSpriteBase(OrbBlaster.bitmapManager.projectile15);
this.radiusX = 18;
this.radiusY = 18;
}
override public function updateSpecial():void{
if (this.curFrame >= this.maxFrame){
this.die();
};
}
}
}//package
Section 132
//Projectile2 (Projectile2)
package {
public class Projectile2 extends Projectile {
public function Projectile2(_arg1:Number, _arg2:Number, _arg3:Number):void{
this.speed = 13;
super(_arg1, _arg2, _arg3, this.speed);
this.maxSpeed = 128;
this.maxPushSpeed = 128;
this.maxGravSpeed = 128;
this.type = 0;
this.damage = 10;
this.setSpriteBase(OrbBlaster.bitmapManager.projectile2);
}
}
}//package
Section 133
//Projectile2_Sprite (Projectile2_Sprite)
package {
import flash.display.*;
public dynamic class Projectile2_Sprite extends MovieClip {
}
}//package
Section 134
//Projectile3 (Projectile3)
package {
public class Projectile3 extends Projectile {
public function Projectile3(_arg1:Number, _arg2:Number, _arg3:Number):void{
this.speed = 13;
super(_arg1, _arg2, _arg3, this.speed);
this.maxSpeed = 128;
this.maxPushSpeed = 128;
this.maxGravSpeed = 128;
this.type = 0;
this.damage = 10;
this.setSpriteBase(OrbBlaster.bitmapManager.projectile3);
}
}
}//package
Section 135
//Projectile3_Sprite (Projectile3_Sprite)
package {
import flash.display.*;
public dynamic class Projectile3_Sprite extends MovieClip {
}
}//package
Section 136
//Projectile4 (Projectile4)
package {
public class Projectile4 extends Projectile {
public function Projectile4(_arg1:Number, _arg2:Number, _arg3:Number):void{
this.speed = 13;
super(_arg1, _arg2, _arg3, this.speed);
this.maxSpeed = 128;
this.maxPushSpeed = 128;
this.maxGravSpeed = 128;
this.type = 0;
this.damage = 10;
this.setSpriteBase(OrbBlaster.bitmapManager.projectile4);
}
}
}//package
Section 137
//Projectile4_Sprite (Projectile4_Sprite)
package {
import flash.display.*;
public dynamic class Projectile4_Sprite extends MovieClip {
}
}//package
Section 138
//QuitConfirmScreen (QuitConfirmScreen)
package {
import flash.display.*;
public dynamic class QuitConfirmScreen extends MovieClip {
public var noButton:SimpleButton;
public var yesButton:SimpleButton;
}
}//package
Section 139
//ScoreBar (ScoreBar)
package {
import flash.display.*;
import flash.text.*;
public dynamic class ScoreBar extends MovieClip {
public var multText:TextField;
public var scoreText:TextField;
}
}//package
Section 140
//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 141
//ShieldBlast (ShieldBlast)
package {
import flash.display.*;
public class ShieldBlast extends Explosion {
public var blast1:MovieClip;
public var blast0:MovieClip;
public function ShieldBlast(_arg1:Number, _arg2:Number):void{
addFrameScript(72, frame73);
super(_arg1, _arg2);
this.type = Explosion.SHIELD_BLAST;
this.pruneRadius = 50;
this.alpha = 0.9;
this.baseRadius = 35;
this.radiusX = (this.baseRadius * this.scaleX);
}
override public function die():void{
this.stop();
OrbBlaster.objMgr.killExpl(this);
}
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);
};
}
function frame73(){
OrbBlaster.respawnHero();
this.die();
}
}
}//package
Section 142
//Sound_BassTrigger (Sound_BassTrigger)
package {
import flash.media.*;
public dynamic class Sound_BassTrigger extends Sound {
}
}//package
Section 143
//Sound_Cheer (Sound_Cheer)
package {
import flash.media.*;
public dynamic class Sound_Cheer extends Sound {
}
}//package
Section 144
//Sound_Cheer1 (Sound_Cheer1)
package {
import flash.media.*;
public dynamic class Sound_Cheer1 extends Sound {
}
}//package
Section 145
//Sound_Click0 (Sound_Click0)
package {
import flash.media.*;
public dynamic class Sound_Click0 extends Sound {
}
}//package
Section 146
//Sound_dblip (Sound_dblip)
package {
import flash.media.*;
public dynamic class Sound_dblip extends Sound {
}
}//package
Section 147
//Sound_electrohit (Sound_electrohit)
package {
import flash.media.*;
public dynamic class Sound_electrohit extends Sound {
}
}//package
Section 148
//Sound_Explosion25 (Sound_Explosion25)
package {
import flash.media.*;
public dynamic class Sound_Explosion25 extends Sound {
}
}//package
Section 149
//Sound_Explosion26 (Sound_Explosion26)
package {
import flash.media.*;
public dynamic class Sound_Explosion26 extends Sound {
}
}//package
Section 150
//Sound_Explosion27 (Sound_Explosion27)
package {
import flash.media.*;
public dynamic class Sound_Explosion27 extends Sound {
}
}//package
Section 151
//Sound_f_shoot1 (Sound_f_shoot1)
package {
import flash.media.*;
public dynamic class Sound_f_shoot1 extends Sound {
}
}//package
Section 152
//Sound_firework_1 (Sound_firework_1)
package {
import flash.media.*;
public dynamic class Sound_firework_1 extends Sound {
}
}//package
Section 153
//Sound_firework_5 (Sound_firework_5)
package {
import flash.media.*;
public dynamic class Sound_firework_5 extends Sound {
}
}//package
Section 154
//Sound_JDescend (Sound_JDescend)
package {
import flash.media.*;
public dynamic class Sound_JDescend extends Sound {
}
}//package
Section 155
//Sound_LaserShot (Sound_LaserShot)
package {
import flash.media.*;
public dynamic class Sound_LaserShot extends Sound {
}
}//package
Section 156
//Sound_NormalShot (Sound_NormalShot)
package {
import flash.media.*;
public dynamic class Sound_NormalShot extends Sound {
}
}//package
Section 157
//Sound_PlayerDeath (Sound_PlayerDeath)
package {
import flash.media.*;
public dynamic class Sound_PlayerDeath extends Sound {
}
}//package
Section 158
//Sound_r_explosion0 (Sound_r_explosion0)
package {
import flash.media.*;
public dynamic class Sound_r_explosion0 extends Sound {
}
}//package
Section 159
//Sound_r_shoot3 (Sound_r_shoot3)
package {
import flash.media.*;
public dynamic class Sound_r_shoot3 extends Sound {
}
}//package
Section 160
//Sound_shoot0 (Sound_shoot0)
package {
import flash.media.*;
public dynamic class Sound_shoot0 extends Sound {
}
}//package
Section 161
//SoundManager (SoundManager)
package {
import flash.events.*;
import flash.media.*;
public class SoundManager {
static var jdescend:Sound;
static var normalShot:Sound;
static var bgMusicChannel:SoundChannel;
static var cheer1:Sound;
static var electrohit:Sound;
static var playerDeath:Sound;
static var explosion25:Sound;
static var explosion26:Sound;
static var explosion27:Sound;
static var shoot:Sound;
public static var medExplChannelArr = new Array(4);
static var r_explosion0:Sound;
static var bgMusicPosition:int = 0;
public static var larExplChannelArr = new Array(3);
static var click0:Sound;
static var curExplType:uint = 0;
static var firework_5:Sound;
static var firework_1:Sound;
static var cheer:Sound;
public static var smaExplChannelArr = new Array(4);
static var dblip:Sound;
static var bassTrigger:Sound;
static var bgMusic:Sound;
static var f_shoot1:Sound;
public function SoundManager():void{
}
public static function playBassTrigger():void{
var _local1:SoundChannel;
if (OrbBlaster.soundStatus){
_local1 = SoundManager.bassTrigger.play();
};
}
public static function playPowerup():void{
var _local1:SoundChannel;
if (OrbBlaster.soundStatus){
_local1 = SoundManager.powerup.play();
};
}
public static function playMobExplosionM():void{
var _local1:Sound;
var _local2:SoundChannel;
var _local3:int;
if (OrbBlaster.soundStatus){
_local2 = SoundManager.medExplChannelArr.shift();
if (_local2 != null){
_local2.stop();
_local2 = null;
};
_local3 = Math.floor(OrbBlaster.random(0, 2));
switch (_local3){
case 0:
_local1 = SoundManager.firework_5;
break;
case 1:
_local1 = SoundManager.firework_1;
break;
};
_local2 = _local1.play();
SoundManager.medExplChannelArr.push(_local2);
};
}
public static function playMobShot1():void{
var _local1:SoundChannel;
if (OrbBlaster.soundStatus){
_local1 = SoundManager.missileBeep.play();
};
}
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 playPlayerDeath():void{
var _local1:SoundChannel;
if (OrbBlaster.soundStatus){
_local1 = SoundManager.playerDeath.play();
};
}
public static function playMobExplosionS():void{
var _local1:Sound;
var _local2:SoundChannel;
var _local3:int;
if (OrbBlaster.soundStatus){
_local2 = SoundManager.smaExplChannelArr.shift();
if (_local2 != null){
_local2.stop();
_local2 = null;
};
_local3 = Math.floor(OrbBlaster.random(0, 2));
switch (_local3){
case 0:
_local1 = SoundManager.r_explosion0;
break;
case 1:
_local1 = SoundManager.electrohit;
break;
};
_local2 = _local1.play();
SoundManager.smaExplChannelArr.push(_local2);
};
}
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 = 1;
SoundManager.bgMusicChannel.soundTransform = _local2;
};
}
public static function playMobExplosion():void{
var _local1:Sound;
var _local2:SoundChannel;
var _local3:int;
if (OrbBlaster.soundStatus){
_local2 = SoundManager.larExplChannelArr.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.larExplChannelArr.push(_local2);
};
}
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.firework_5 = new Sound_firework_5();
SoundManager.firework_1 = new Sound_firework_1();
SoundManager.electrohit = new Sound_electrohit();
SoundManager.r_explosion0 = new Sound_r_explosion0();
SoundManager.playerDeath = new Sound_PlayerDeath();
SoundManager.bassTrigger = new Sound_BassTrigger();
SoundManager.cheer = new Sound_Cheer();
SoundManager.cheer1 = new Sound_Cheer1();
SoundManager.click0 = new Sound_Click0();
SoundManager.dblip = new Sound_dblip();
SoundManager.jdescend = new Sound_JDescend();
SoundManager.normalShot = new Sound_NormalShot();
SoundManager.click0 = new Sound_Click0();
SoundManager.shoot = new Sound_r_shoot3();
SoundManager.f_shoot1 = new Sound_f_shoot1();
}
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 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) && (!(OrbBlaster.isWiping)))){
if (OrbBlaster.hero.type == 0){
_local1 = SoundManager.shoot.play();
} else {
_local1 = SoundManager.f_shoot1.play();
};
};
}
public static function playMobShot0():void{
var _local1:SoundChannel;
if (OrbBlaster.soundStatus){
_local1 = SoundManager.laserShot.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.jdescend.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 162
//Spawner (Spawner)
package {
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
public class Spawner {
public var mobMultIncr:Number;
public var mobMult:Number;
public var spawnCount:int;
public var mobPackagesArr:Array;
public var curLevel:uint;// = 0
public var spawnInterval:int;// = 0
public var mobSpawnTimer:Timer;
public var spawnCycles:int;
public function Spawner(){
curLevel = 0;
spawnInterval = 0;
super();
this.mobSpawnTimer = new Timer(100, 0);
this.mobSpawnTimer.addEventListener(TimerEvent.TIMER, spawnMob);
}
public function stop():void{
this.mineSpawnTimer.stop();
}
public function spawnMob(_arg1:TimerEvent):void{
var _local2:int;
var _local3:MobPackage;
var _local4:Boolean;
var _local5:int;
var _local6:Array;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:int;
var _local11:int;
var _local12:int;
var _local13:Point;
if (this.spawnCount >= this.spawnCycles){
this.mobSpawnTimer.stop();
if (OrbBlaster.objMgr.getMobs().numChildren == 0){
OrbBlaster.levelComplete();
};
return;
};
_local2 = int(OrbBlaster.random(0, this.mobPackagesArr.length));
_local3 = MobPackage.normalPackages[this.mobPackagesArr[_local2]];
_local4 = _local3.isCluster;
_local5 = (OrbBlaster.random(_local3.amountMin, _local3.amountMax) * this.mobMult);
_local6 = _local3.locations;
_local7 = _local6.length;
_local8 = int(OrbBlaster.random(0, _local3.types.length));
_local9 = _local3.types[_local8];
_local10 = 0;
_local11 = 0;
if (_local4){
_local12 = _local6[int(OrbBlaster.random(0, _local7))];
_local11 = 0;
while (_local11 < _local5) {
_local13 = this.getMobPosition(_local12);
OrbBlaster.objMgr.addMob(_local9, _local13.x, _local13.y, _local10);
_local10 = (_local10 + 3);
_local11++;
};
} else {
_local11 = 0;
while (_local11 < _local5) {
_local12 = _local6[int(OrbBlaster.random(0, _local7))];
_local13 = this.getMobPosition(_local12);
OrbBlaster.objMgr.addMob(_local9, _local13.x, _local13.y, _local10);
_local10 = (_local10 + 3);
_local11++;
};
};
this.spawnCount++;
this.mobSpawnTimer.delay = (_local3.rating * this.spawnInterval);
this.mobMult = (this.mobMult + this.mobMultIncr);
trace(this.mobMult);
}
public function spawnLevel(_arg1:int):void{
var _local2:Number;
var _local3:int;
OrbBlaster.mobsSpawned = 0;
OrbBlaster.objMgr.mobCount = 0;
OrbBlaster.framesPassed = 0;
this.spawnCount = 0;
OrbBlaster.newBackground(1);
OrbBlaster.prevPoints = OrbBlaster.totalPoints;
_local2 = 1.15;
if (_arg1 == 1000){
this.mobPackagesArr = [30];
this.spawnInterval = 1650;
this.spawnCycles = 35;
this.mobMult = 1;
this.mobMultIncr = 0.1;
} else {
if (_arg1 == 1){
this.mobPackagesArr = [0, 1];
this.spawnInterval = 1750;
this.spawnCycles = 14;
this.mobMult = 1;
this.mobMultIncr = 0;
} else {
if (_arg1 == 2){
this.mobPackagesArr = [2, 3];
this.spawnInterval = 1750;
this.spawnCycles = 14;
this.mobMult = 1;
this.mobMultIncr = 0;
} else {
if (_arg1 == 3){
this.mobPackagesArr = [1, 4, 5];
this.spawnInterval = 1750;
this.spawnCycles = 14;
this.mobMult = 1;
this.mobMultIncr = 0.03;
} else {
if (_arg1 == 4){
this.mobPackagesArr = [10, 11, 12];
this.spawnInterval = 1650;
this.spawnCycles = 17;
this.mobMult = 1;
this.mobMultIncr = 0.01;
} else {
if (_arg1 == 5){
this.mobPackagesArr = [20, 21, 22];
this.spawnInterval = 1650;
this.spawnCycles = 20;
this.mobMult = 1.15;
this.mobMultIncr = 0.01;
} else {
if (_arg1 == 6){
this.mobPackagesArr = [30, 31, 32];
this.spawnInterval = 1650;
this.spawnCycles = 20;
this.mobMult = 1.3225;
this.mobMultIncr = 0.01;
} else {
if (_arg1 == 7){
this.mobPackagesArr = [40, 41, 42];
this.spawnInterval = 1500;
this.spawnCycles = 22;
this.mobMult = 1.42;
this.mobMultIncr = 0.02;
} else {
if (_arg1 == 8){
if (Math.floor(OrbBlaster.random(0, 2)) == 0){
this.mobPackagesArr = [50];
} else {
this.mobPackagesArr = [51];
};
this.spawnInterval = 1300;
this.spawnCycles = 20;
this.mobMult = 1.52;
this.mobMultIncr = 0.15;
} else {
if (((_arg1 - 9) % 6) == 0){
trace("mod 0");
this.mobPackagesArr = [10, 11, 12, 13];
this.spawnInterval = 1650;
this.spawnCycles = 22;
this.mobMult = this.getMobMult(_arg1);
this.mobMultIncr = 0.01;
} else {
if (((_arg1 - 9) % 6) == 1){
trace("mod 1");
this.mobPackagesArr = [20, 21, 22, 23, 24];
this.spawnInterval = 1650;
this.spawnCycles = 22;
this.mobMult = this.getMobMult(_arg1);
this.mobMultIncr = 0.01;
} else {
if (((_arg1 - 9) % 6) == 2){
trace("mod 2");
this.mobPackagesArr = [30, 31, 32, 33];
this.spawnInterval = 1750;
this.spawnCycles = 17;
this.mobMult = this.getMobMult(_arg1);
this.mobMultIncr = 0.01;
} else {
if (((_arg1 - 9) % 6) == 3){
trace("mod 3");
this.mobPackagesArr = [40, 41, 42, 43];
this.spawnInterval = 1400;
this.spawnCycles = 21;
this.mobMult = this.getMobMult(_arg1);
this.mobMultIncr = 0.04;
} else {
if (((_arg1 - 9) % 6) == 4){
trace("mod 4");
this.mobPackagesArr = [20, 21, 22, 23, 24, 31];
this.spawnInterval = 1650;
this.spawnCycles = 20;
this.mobMult = this.getMobMult(_arg1);
this.mobMultIncr = 0.01;
} else {
if (((_arg1 - 9) % 6) == 5){
trace("mod 5");
_local3 = Math.floor(OrbBlaster.random(0, 3));
switch (_local3){
case 0:
this.mobPackagesArr = [50, 50, 50, 50, 53];
break;
case 1:
this.mobPackagesArr = [51, 51, 51, 51, 53];
break;
case 2:
this.mobPackagesArr = [52, 52, 52, 52, 53];
break;
};
this.spawnInterval = 1350;
this.spawnCycles = 17;
this.mobMult = this.getMobMult(_arg1);
this.mobMultIncr = 0.15;
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
trace(((((("Level: " + _arg1) + " | mobMult: ") + this.mobMult) + " | mobMultIncr : ") + this.mobMultIncr));
this.mobSpawnTimer.delay = 1500;
this.mobSpawnTimer.start();
}
public function wipe():void{
OrbBlaster.objMgr.wipe();
}
public function getMobPosition(_arg1:int):Point{
var _local2:Point;
var _local3:Number;
var _local4:Number;
switch (_arg1){
case 0:
_local2 = new Point(55, 60);
break;
case 1:
_local2 = new Point(325, 60);
break;
case 2:
_local2 = new Point(585, 60);
break;
case 3:
_local2 = new Point(45, 225);
break;
case 4:
_local2 = new Point(600, 225);
break;
case 5:
_local2 = new Point(55, 375);
break;
case 6:
_local2 = new Point(325, 375);
break;
case 7:
_local2 = new Point(585, 375);
break;
case 8:
_local2 = new Point(OrbBlaster.random(70, 590), OrbBlaster.random(65, 370));
return (_local2);
case 9:
_local3 = OrbBlaster.random(-3.14, 3.14);
_local4 = 200;
_local2 = new Point((OrbBlaster.CENTER_X + (_local4 * Math.cos(_local3))), (OrbBlaster.CENTER_Y + (_local4 * Math.sin(_local3))));
return (_local2);
default:
_local2 = new Point(35, 30);
};
_local2.offset(OrbBlaster.random(-45, 45), OrbBlaster.random(-45, 45));
return (_local2);
}
public function getGeneralLocation(_arg1:Number):Point{
}
public function update():void{
}
public function getMobMult(_arg1:int):Number{
var _local2:Number;
_local2 = ((1.442709893 * Math.log((_arg1 - 8))) + 1.05831257);
if (_arg1 >= 16){
_local2 = (_local2 + (0.01 * _arg1));
} else {
if (_arg1 >= 24){
_local2 = (_local2 + (0.015 * _arg1));
} else {
if (_arg1 >= 36){
_local2 = (_local2 + (0.02 * _arg1));
};
};
};
return (_local2);
}
public function isSpawnedMax():Boolean{
return ((OrbBlaster.mobsSpawned >= OrbBlaster.killsGoal));
}
}
}//package
Section 163
//Spawning0 (Spawning0)
package {
import flash.display.*;
public dynamic class Spawning0 extends MovieClip {
}
}//package
Section 164
//StatsScreen (StatsScreen)
package {
import flash.display.*;
import flash.text.*;
public dynamic class StatsScreen extends MovieClip {
public var bestScore:TextField;
public var totalPoints:TextField;
public var feats:TextField;
public var totalCredits:TextField;
public var highestWave:TextField;
public var mobsKilled:TextField;
public var statsBackButton:SimpleButton;
}
}//package
Section 165
//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 166
//TimerBar (TimerBar)
package {
import flash.display.*;
import flash.text.*;
public dynamic class TimerBar extends MovieClip {
public var timeLeft:TextField;
}
}//package
Section 167
//Trail0_Base (Trail0_Base)
package {
import flash.display.*;
public dynamic class Trail0_Base extends MovieClip {
}
}//package
Section 168
//Trail1_Base (Trail1_Base)
package {
import flash.display.*;
public dynamic class Trail1_Base extends MovieClip {
}
}//package
Section 169
//TutorialHint (TutorialHint)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.system.*;
import flash.text.*;
import flash.net.*;
import flash.errors.*;
import flash.accessibility.*;
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 170
//UpgradeButton (UpgradeButton)
package {
import flash.events.*;
public class UpgradeButton {
public function UpgradeButton():void{
}
public static function upgradeBombDown(_arg1:MouseEvent):void{
OrbBlaster.upgradeScreen.bombCost.x = (OrbBlaster.upgradeScreen.bombCost.x - 6);
OrbBlaster.upgradeScreen.bombCost.y = (OrbBlaster.upgradeScreen.bombCost.y + 10);
}
public static function upgradeWeaponDown(_arg1:MouseEvent):void{
OrbBlaster.upgradeScreen.weaponCost.x = (OrbBlaster.upgradeScreen.weaponCost.x - 6);
OrbBlaster.upgradeScreen.weaponCost.y = (OrbBlaster.upgradeScreen.weaponCost.y + 10);
}
public static function upgradeSpeedOut(_arg1:MouseEvent):void{
if (_arg1.buttonDown){
OrbBlaster.upgradeScreen.speedCost.x = -37.3;
OrbBlaster.upgradeScreen.speedCost.y = -61.5;
};
}
public static function setupEvents():void{
OrbBlaster.upgradeScreen.weapon.addEventListener(MouseEvent.MOUSE_UP, upgradeWeaponUp);
OrbBlaster.upgradeScreen.weapon.addEventListener(MouseEvent.MOUSE_DOWN, upgradeWeaponDown);
OrbBlaster.upgradeScreen.weapon.addEventListener(MouseEvent.MOUSE_OUT, upgradeWeaponOut);
OrbBlaster.upgradeScreen.speed.addEventListener(MouseEvent.MOUSE_UP, upgradeSpeedUp);
OrbBlaster.upgradeScreen.speed.addEventListener(MouseEvent.MOUSE_DOWN, upgradeSpeedDown);
OrbBlaster.upgradeScreen.speed.addEventListener(MouseEvent.MOUSE_OUT, upgradeSpeedOut);
OrbBlaster.upgradeScreen.life.addEventListener(MouseEvent.MOUSE_UP, upgradeLifeUp);
OrbBlaster.upgradeScreen.life.addEventListener(MouseEvent.MOUSE_DOWN, upgradeLifeDown);
OrbBlaster.upgradeScreen.life.addEventListener(MouseEvent.MOUSE_OUT, upgradeLifeOut);
OrbBlaster.upgradeScreen.bomb.addEventListener(MouseEvent.MOUSE_UP, upgradeBombUp);
OrbBlaster.upgradeScreen.bomb.addEventListener(MouseEvent.MOUSE_DOWN, upgradeBombDown);
OrbBlaster.upgradeScreen.bomb.addEventListener(MouseEvent.MOUSE_OUT, upgradeBombOut);
OrbBlaster.upgradeScreen.points.addEventListener(MouseEvent.MOUSE_UP, upgradePointsUp);
OrbBlaster.upgradeScreen.points.addEventListener(MouseEvent.MOUSE_DOWN, upgradePointsDown);
OrbBlaster.upgradeScreen.points.addEventListener(MouseEvent.MOUSE_OUT, upgradePointsOut);
}
public static function upgradeSpeedUp(_arg1:MouseEvent):void{
OrbBlaster.upgradeScreen.speedCost.x = -37.3;
OrbBlaster.upgradeScreen.speedCost.y = -61.5;
}
public static function upgradePointsDown(_arg1:MouseEvent):void{
OrbBlaster.upgradeScreen.pointsCost.x = (OrbBlaster.upgradeScreen.pointsCost.x - 6);
OrbBlaster.upgradeScreen.pointsCost.y = (OrbBlaster.upgradeScreen.pointsCost.y + 10);
}
public static function upgradePointsUp(_arg1:MouseEvent):void{
OrbBlaster.upgradeScreen.pointsCost.x = 20.9;
OrbBlaster.upgradeScreen.pointsCost.y = 46;
}
public static function upgradeWeaponUp(_arg1:MouseEvent):void{
OrbBlaster.upgradeScreen.weaponCost.x = -152.5;
OrbBlaster.upgradeScreen.weaponCost.y = -61.5;
}
public static function upgradeSpeedDown(_arg1:MouseEvent):void{
OrbBlaster.upgradeScreen.speedCost.x = (OrbBlaster.upgradeScreen.speedCost.x - 6);
OrbBlaster.upgradeScreen.speedCost.y = (OrbBlaster.upgradeScreen.speedCost.y + 10);
}
public static function upgradePointsOut(_arg1:MouseEvent):void{
if (_arg1.buttonDown){
OrbBlaster.upgradeScreen.pointsCost.x = 20.9;
OrbBlaster.upgradeScreen.pointsCost.y = 46;
};
}
public static function upgradeBombOut(_arg1:MouseEvent):void{
if (_arg1.buttonDown){
OrbBlaster.upgradeScreen.bombCost.x = -95.1;
OrbBlaster.upgradeScreen.bombCost.y = 46;
};
}
public static function upgradeLifeUp(_arg1:MouseEvent):void{
OrbBlaster.upgradeScreen.lifeCost.x = 77.1;
OrbBlaster.upgradeScreen.lifeCost.y = -61.5;
}
public static function upgradeWeaponOut(_arg1:MouseEvent):void{
if (_arg1.buttonDown){
OrbBlaster.upgradeScreen.weaponCost.x = -152.5;
OrbBlaster.upgradeScreen.weaponCost.y = -61.5;
};
}
public static function upgradeBombUp(_arg1:MouseEvent):void{
OrbBlaster.upgradeScreen.bombCost.x = -95.1;
OrbBlaster.upgradeScreen.bombCost.y = 46;
}
public static function upgradeLifeDown(_arg1:MouseEvent):void{
OrbBlaster.upgradeScreen.lifeCost.x = (OrbBlaster.upgradeScreen.lifeCost.x - 6);
OrbBlaster.upgradeScreen.lifeCost.y = (OrbBlaster.upgradeScreen.lifeCost.y + 10);
}
public static function upgradeLifeOut(_arg1:MouseEvent):void{
if (_arg1.buttonDown){
OrbBlaster.upgradeScreen.lifeCost.x = 77.1;
OrbBlaster.upgradeScreen.lifeCost.y = -61.5;
};
}
}
}//package
Section 171
//UpgradeScreen (UpgradeScreen)
package {
import flash.display.*;
import flash.text.*;
public dynamic class UpgradeScreen extends MovieClip {
public var points:SimpleButton;
public var weaponCost:TextField;
public var life:SimpleButton;
public var weapon:SimpleButton;
public var nextButton:SimpleButton;
public var pointsCost:TextField;
public var speed:SimpleButton;
public var weaponCover:MovieClip;
public var credits:TextField;
public var bombCost:TextField;
public var bomb:SimpleButton;
public var speedCover:MovieClip;
public var speedCost:TextField;
public var lifeCost:TextField;
}
}//package
Section 172
//wipeExplosionBase (wipeExplosionBase)
package {
import flash.display.*;
public dynamic class wipeExplosionBase extends MovieClip {
}
}//package