Section 1
//MD5 (CMG_AS3.MD5)
package CMG_AS3 {
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 CMG_AS3
Section 2
//ScoreSubmitter (CMG_AS3.ScoreSubmitter)
package CMG_AS3 {
import flash.events.*;
import flash.net.*;
public class ScoreSubmitter extends EventDispatcher {
private var :URLLoader;// = null
public static const RETURNCODE_SUCCESS = 1;
public static const RETURNCODE_REJECTED = 2;
public static const RETURNCODE_INTERNALERROR = 5;
public static const URL_SUBMITSCORE = "http://scores.crazymonkeygames.com/hs/regscores2.php";
public static const URL_UPDATEGAME = "http://scores.crazymonkeygames.com/hs/pleaseupdate.php";
public static const SCORE_RESPONSE:String = "score_response";
public static const RETURNCODE_WORKING = 0;
public static const RETURNCODE_WRONGVERSION = 3;
public static const URL_VIEWSCORES = "http://scores.crazymonkeygames.com/hs/listscores.php";
public static const RETURNCODE_NETWORKERROR = 4;
public static var gameVersion:String = "";
public static var gameValidationCode:String = "";
public static var gameId:uint = 0;
public function ScoreSubmitter(){
= null;
super();
}
private function (_arg1:Event){
dispatchEvent(new ServerResponseEvent(SCORE_RESPONSE, RETURNCODE_NETWORKERROR));
}
public function submitScore(_arg1:String, _arg2:Number, _arg3:String=null):void{
var _local4:*;
var _local5:URLRequest;
_arg1 = Utilities.trim(_arg1);
gameVersion = Utilities.trim(gameVersion);
if (_arg3 == null){
_arg3 = "";
} else {
_arg3 = Utilities.trim(_arg3);
};
gameValidationCode = Utilities.trim(gameValidationCode);
if ((((((gameId < 1)) || ((gameVersion == "")))) || ((gameValidationCode == "")))){
dispatchEvent(new ServerResponseEvent(SCORE_RESPONSE, RETURNCODE_REJECTED));
return;
};
dispatchEvent(new ServerResponseEvent(SCORE_RESPONSE, RETURNCODE_WORKING));
_local4 = new URLVariables();
_local4.name = _arg1;
_local4.score = _arg2;
_local4.gameId = gameId;
_local4.gameVersion = gameVersion;
_local4.special = _arg3;
_local4.key = MD5.encrypt(((((((((_arg1 + "|") + _arg2) + "|") + gameId) + "|") + _arg3) + "|") + gameValidationCode));
_local5 = new URLRequest(URL_SUBMITSCORE);
_local5.method = URLRequestMethod.POST;
_local5.data = _local4;
= new URLLoader();
.addEventListener("complete", );
.addEventListener("ioError", );
.load(_local5);
}
private function (_arg1:Event):void{
var _local2:URLVariables;
var _local3:*;
_local2 = new URLVariables(.data.replace("&", ""));
_local3 = Utilities.trim(_local2.ok);
if (_local3 == 1){
dispatchEvent(new ServerResponseEvent(SCORE_RESPONSE, RETURNCODE_SUCCESS));
} else {
if (_local3 == 0){
dispatchEvent(new ServerResponseEvent(SCORE_RESPONSE, RETURNCODE_REJECTED));
} else {
if (_local3 == 2){
dispatchEvent(new ServerResponseEvent(SCORE_RESPONSE, RETURNCODE_WRONGVERSION));
} else {
dispatchEvent(new ServerResponseEvent(SCORE_RESPONSE, RETURNCODE_INTERNALERROR));
};
};
};
}
public static function loadHighScorePage():void{
Utilities.goToUrl(((URL_VIEWSCORES + "?id=") + gameId));
}
public static function loadUpdatePage(){
Utilities.goToUrl(((URL_VIEWSCORES + "?id=") + gameId));
}
}
}//package CMG_AS3
Section 3
//ServerResponseEvent (CMG_AS3.ServerResponseEvent)
package CMG_AS3 {
import flash.events.*;
public class ServerResponseEvent extends Event {
public var returnCode:uint;
public function ServerResponseEvent(_arg1:String, _arg2:uint){
super(_arg1, false, false);
returnCode = _arg2;
}
}
}//package CMG_AS3
Section 4
//Utilities (CMG_AS3.Utilities)
package CMG_AS3 {
import flash.net.*;
import flash.system.*;
import flash.external.*;
public class Utilities {
public static function trim(_arg1:String):String{
var _local2:*;
var _local3:*;
_local2 = 0;
while (_arg1.charCodeAt(_local2) < 33) {
_local2++;
};
_local3 = (_arg1.length - 1);
while (_arg1.charCodeAt(_local3) < 33) {
_local3--;
};
return (_arg1.substring(_local2, (_local3 + 1)));
}
public static function goToUrl(_arg1:String):void{
var success:Boolean;
var url = _arg1;
success = false;
if (((ExternalInterface.available) && (!((Capabilities.playerType == "External"))))){
try {
ExternalInterface.call("window.open", url, "win", "");
success = true;
} catch(error:Error) {
} catch(error:SecurityError) {
};
};
if (success != true){
navigateToURL(new URLRequest(url), "_BLANK");
};
}
}
}//package CMG_AS3
Section 5
//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 6
//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 7
//HighScoreServiceShadow (com.kongregate.as3.client.services.HighScoreServiceShadow)
package com.kongregate.as3.client.services {
public class HighScoreServiceShadow extends AbstractShadowService implements IHighScoreServices {
private var :String;
public function HighScoreServiceShadow(){
= "";
}
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: " + ) + "]"));
_arg1({success:false});
}
public function setMode(_arg1:String):void{
alert("IHighScoreServices", "setMode", arguments);
this. = _arg1;
}
}
}//package com.kongregate.as3.client.services
Section 8
//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 9
//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 10
//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 11
//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 12
//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 13
//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 14
//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 15
//IAPIBootstrap (com.kongregate.as3.client.IAPIBootstrap)
package com.kongregate.as3.client {
import flash.events.*;
import flash.display.*;
public interface IAPIBootstrap {
function (_arg1:Event=null, _arg2:Stage=null):void;
function ():void;
function (_arg1:int=0):void;
}
}//package com.kongregate.as3.client
Section 16
//KongregateAPI (com.kongregate.as3.client.KongregateAPI)
package com.kongregate.as3.client {
import flash.events.*;
import flash.display.*;
import com.kongregate.as3.client.services.*;
import com.kongregate.as3.client.events.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.errors.*;
public class KongregateAPI extends Sprite {
private const VERSION:Number = 1;
private var
:Loader;
private var
: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, , false, 0, true);
}
public function get loaded():Boolean{
return (_loaded);
}
public function get connected():Boolean{
return (_connected);
}
private function
(_arg1:TimerEvent=null):void{
var _local2:KongregateEvent;
var _local3:Boolean;
_local2 = new KongregateEvent(KongregateEvent.COMPLETE);
_local3 = this.dispatchEvent(_local2);
}
private function (_arg1:Event):void{
var _local2:Object;
var _local3:String;
var _local4:URLRequest;
var _local5:LoaderContext;
this.removeEventListener(Event.ADDED_TO_STAGE, );
_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.");
();
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;
= new Loader();
.contentLoaderInfo.addEventListener(Event.COMPLETE,
);
.addEventListener(IOErrorEvent.IO_ERROR,
);
.load(_local4, _local5);
}
public function get api():IAPIBootstrap{
return (kAPI);
}
private function
(_arg1:Event):void{
();
}
public function get scores():IHighScoreServices{
return (kScores);
}
private function
(_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
():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,
);
_local1.start();
_connected = true;
}
public function get user():IUserServices{
return (kUser);
}
private function
():void{
var _local1:ApplicationDomain;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local1 = ApplicationDomain.currentDomain;
kAPI = IAPIBootstrap(
.getChildAt(0));
this.addChild(
);
_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;
();
}
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 17
//PathFinder (FoofaAI.PathFinder)
package FoofaAI {
import flash.geom.*;
import FoofaDataTypes.*;
public class PathFinder {
private var :Boolean;
private var :Array_Contains;
private var :uint;
private var :PriorityQueue_DirectAccess;
private var :Object;
private var :Boolean;
private var :PathFindingGrid;
private var :Point;
private var :PathfindingNode;
private var :Point;
private var :Array;
public function PathFinder(_arg1:PathFindingGrid, _arg2:Number){
if (_arg2 <= 0){
= uint.MAX_VALUE;
} else {
= _arg2;
};
= _arg1;
= new PriorityQueue_DirectAccess();
= new Array_Contains();
= new Array();
= false;
= false;
= new Point();
= new Point();
= new PathfindingNode(new Point(0, 0));
}
public function (_arg1:Point):Boolean{
return ( .IsWalkable(_arg1));
}
public function (_arg1:Number, _arg2:Number):Boolean{
return ( .IsWalkableEx( .FromPixelXToGridX(_arg1), .FromPixelYToGridY(_arg2)));
}
public function
(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Boolean{
_arg1 = .FromPixelXToGridX(_arg1);
_arg2 = .FromPixelYToGridY(_arg2);
_arg3 = .FromPixelXToGridX(_arg3);
_arg4 = .FromPixelYToGridY(_arg4);
return ( .IsLineWalkableEx(_arg1, _arg2, _arg3, _arg4));
}
public function IsWalkableEx(_arg1:uint, _arg2:uint):Boolean{
return ( .IsWalkableEx(_arg1, _arg2));
}
private function
(_arg1:Point, _arg2:Point):Point{
var _local3:Point;
if (_arg1 == _arg2){
return (new Point(0, 0));
};
_local3 = new Point(Math.round((_arg1.x - _arg2.x)), Math.round((_arg1.y - _arg2.y)));
return (_local3);
}
private function GetNeighbourhood(_arg1:Number, _arg2:Number):Number{
.splice(0, .length);
return ( .GetNeighbourhood(_arg1, _arg2, ));
}
public function Move(_arg1:Point, _arg2:Point, _arg3:Array):Number{
var _local4:Point;
var _local5:Point;
var _local6:Point;
var _local7:Point;
var _local8:Number;
var _local9:Number;
if (!){
.clear();
.clear();
_arg3.splice(0, _arg3.length);
= true;
= false;
.x = .FromPixelPosToGridX(_arg1);
.y = .FromPixelPosToGridY(_arg1);
.x = .FromPixelPosToGridX(_arg2);
.y = .FromPixelPosToGridY(_arg2);
if (((( .IsWalkableEx(.x, .y) == false)) || (( .IsWalkableEx(.x, .y) == false)))){
return (-1);
};
= new PathfindingNode();
.g = 0;
.h = (, );
.f = .h;
.SetParentCoords(PathfindingNode.DUMMYPARENT);
.Insert(, .f);
} else {
if (((((((!((.x == .FromPixelPosToGridX(_arg2)))) && (!((.y == .FromPixelPosToGridY(_arg2)))))) && (!(( .FromPixelPosToGridX(_arg1) == .x))))) && (!(( .FromPixelPosToGridY(_arg1) == .y))))){
= true;
= false;
.clear();
.clear();
};
};
this.();
if (.Size() > this.){
return (-1);
};
if (!){
if (){
_local5 = new Point();
_local5.x = .GetPosition().x;
_local5.y = .GetPosition().y;
while (!((((.GetParentCoords().x == PathfindingNode.DUMMYPARENT.x)) && ((.GetParentCoords().y == PathfindingNode.DUMMYPARENT.y))))) {
_local4 = new Point(.GetParentCoords().x, .GetParentCoords().y);
_local8 = .Find(_local4);
_local9 = .Find(_local4);
_local6 =
(_local5, .GetPosition());
_local7 =
(.GetPosition(), _local4);
if (_local6 != _local7){
_arg3[_arg3.length] = new Point(.c.x, .c.y);
};
_local5.x = .GetPosition().x;
_local5.y = .GetPosition().y;
.SetPosition(_local4);
.SetParentCoords(.GetElementAt(_local9).GetParentCoords());
};
_arg3[_arg3.length] = new Point(.c.x, .c.y);
.clear();
.clear();
return (1);
} else {
.clear();
.clear();
return (-1);
};
};
return (0);
}
private function (){
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:PathfindingNode;
var _local6:Number;
if (!.IsEmpty()){
= new Object();
= .RemoveTop();
= new PathfindingNode(new Point(0, 0));
.SetFromObject();
.push();
if (.Size() > 1000){
return (-1);
};
if ((((.GetPosition().x == .x)) && ((.GetPosition().y == .y)))){
= false;
= true;
return;
};
_local1 = GetNeighbourhood(.GetPosition().x, .GetPosition().y);
if (_local1 < 0){
} else {
if (_local1 > 8){
};
};
_local6 = 0;
while (_local6 < _local1) {
_local2 = .Find([_local6]);
_local3 = .Find2([_local6]);
if ((((_local2 == -1)) && ((_local3 == -1)))){
_local5 = new PathfindingNode([_local6]);
_local5.g = (.c, _local5.c);
_local5.h = (_local5.c, );
_local5.f = (_local5.g + _local5.h);
_local5.SetParentCoords(.c);
.Insert(_local5, _local5.f);
} else {
if (_local3 == -1){
_local4 = (.c, [_local6]);
if (_local4 < .GetElementAt(_local2).g){
_local5 = new PathfindingNode(.GetElementAt(_local2).c);
_local5.SetParentCoords(.c);
_local5.g = _local4;
_local5.g = .GetElementAt(_local2).h;
_local5.f = (_local5.g + _local5.h);
.SetElementAt(_local2, _local5);
};
};
};
_local6++;
};
} else {
= false;
= false;
};
}
private function (_arg1:Point, _arg2:Point){
if ((((_arg1.x == _arg2.x)) && ((_arg1.y == _arg2.y)))){
return (0);
};
if ((((((_arg1.x == _arg2.x)) && (!((_arg1.y == _arg2.y))))) || ((((_arg1.y == _arg2.y)) && (!((_arg1.x == _arg2.x))))))){
return (10);
};
return (14);
}
private function (_arg1:Point, _arg2:Point){
return ((10 * (Math.abs((_arg1.x - _arg2.x)) + Math.abs((_arg1.y - _arg2.y)))));
}
public function (_arg1:Point):void{
var _local2:Number;
var _local3:Number;
var _local4:uint;
var _local5:uint;
var _local6:uint;
_local2 = .FromPixelPosToGridX(_arg1);
_local3 = .FromPixelPosToGridY(_arg1);
_local4 = GetNeighbourhood(_local2, _local3);
_local6 = 0;
while (_local6 < _local4) {
_local5 = .FromGridPosToGridIndex([_local6].x, [_local6].x);
_local6++;
};
}
}
}//package FoofaAI
Section 18
//PathFindingGrid (FoofaAI.PathFindingGrid)
package FoofaAI {
import FoofaGeom.*;
import flash.geom.*;
public class PathFindingGrid extends SpatialGrid {
public function PathFindingGrid(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Array){
super(_arg1, _arg2, _arg3, _arg4, _arg5);
}
public function (_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5):void{
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
var _local12:Number;
var _local13:Boolean;
var _local14:Number;
if (_arg1 < 0){
_arg1 = 0;
};
if (_arg3 < 0){
_arg3 = 0;
};
if (_arg2 < 0){
_arg2 = 0;
};
if (_arg4 < 0){
_arg4 = 0;
};
_local13 = (Math.abs((_arg4 - _arg2)) > Math.abs((_arg3 - _arg1)));
if (_local13){
_local14 = _arg1;
_arg1 = _arg2;
_arg2 = _local14;
_local14 = _arg3;
_arg3 = _arg4;
_arg4 = _local14;
};
if (_arg1 > _arg3){
_local14 = _arg1;
_arg1 = _arg3;
_arg3 = _local14;
_local14 = _arg2;
_arg2 = _arg4;
_arg4 = _local14;
};
_local7 = (_arg3 - _arg1);
_local8 = Math.abs((_arg4 - _arg2));
_local9 = (-(_local7) / 2);
_local12 = _arg2;
if (_arg2 < _arg4){
_local10 = 1;
} else {
_local10 = -1;
};
_local11 = _arg1;
while (_local11 <= _arg3) {
if (_local13){
if ((((((((_local12 < xCellCount)) && ((_local12 >= 0)))) && ((_local11 < yCellCount)))) && ((_local11 >= 0)))){
(_local12, _local11, _arg5);
};
} else {
if ((((((((_local11 < xCellCount)) && ((_local11 >= 0)))) && ((_local12 < yCellCount)))) && ((_local12 >= 0)))){
(_local11, _local12, _arg5);
};
};
_local9 = (_local9 + _local8);
if (_local9 > 0){
_local12 = (_local12 + _local10);
_local9 = (_local9 - _local7);
};
_local11++;
};
}
public function (_arg1:Point, _arg2:Boolean):void{
var _local3:uint;
var _local4:uint;
_local3 = FromPixelPosToGridX(_arg1);
_local4 = FromPixelPosToGridY(_arg1);
(_local3, _local4, _arg2);
}
public function (_arg1:Array, _arg2):void{
var _local3:uint;
var _local4:uint;
var _local5:uint;
var _local6:uint;
var _local7:Number;
var _local8:Number;
var _local9:uint;
var _local10:Array;
var _local11:*;
var _local12:*;
var _local13:Array;
var _local14:Array;
var _local15:Array;
var _local16:Array;
var _local17:Boolean;
var _local18:uint;
var _local19:*;
var _local20:Number;
var _local21:uint;
var _local22:uint;
var _local23:Point;
var _local24:Point;
var _local25:Boolean;
var _local26:Boolean;
var _local27:*;
_local3 = 0;
_local4 = 0;
_local5 = 0;
_local6 = 0;
_local7 = _arg1[0].y;
_local8 = _arg1[0].y;
_local9 = 1;
while (_local9 < _arg1.length) {
if (_arg1[_local9].y < _local8){
_local4 = _local9;
_local8 = _arg1[_local9].y;
};
_local9++;
};
switch (_local4){
case 0:
_local3 = 2;
_local5 = 1;
_local6 = 3;
break;
case 1:
_local3 = 3;
_local5 = 2;
_local6 = 0;
break;
case 2:
_local3 = 0;
_local5 = 3;
_local6 = 1;
break;
case 3:
_local3 = 1;
_local5 = 0;
_local6 = 2;
break;
};
if (_arg1[_local5].x > _arg1[_local6].x){
_local27 = _local5;
_local5 = _local6;
_local6 = _local27;
};
_local10 = new Array();
_local10[0] = new Point(FromPixelPosToGridX(_arg1[_local3]), FromPixelPosToGridY(_arg1[_local3]));
_local10[2] = new Point(FromPixelPosToGridX(_arg1[_local4]), FromPixelPosToGridY(_arg1[_local4]));
_local10[1] = new Point(FromPixelPosToGridX(_arg1[_local5]), FromPixelPosToGridY(_arg1[_local5]));
_local10[3] = new Point(FromPixelPosToGridX(_arg1[_local6]), FromPixelPosToGridY(_arg1[_local6]));
_local11 = _local10[1].y;
_local12 = _local10[3].y;
if (_local11 < _local12){
_local11 = _local10[3].y;
_local12 = _local10[1].y;
};
_local13 = new Array();
_local14 = new Array();
_local15 = new Array();
_local16 = new Array();
_local17 = false;
_local18 = 0;
(_local10[0], _local10[1], _local13);
(_local10[0], _local10[3], _local15);
(_local10[1], _local10[2], _local14);
(_local10[3], _local10[2], _local16);
if ((((_local13[0].x == _local13[(_local13.length - 1)].x)) && ((_local14[0].y == _local14[(_local14.length - 1)].y)))){
_local17 = true;
_local15 = _local16;
} else {
if ((((_local13[0].y == _local13[(_local13.length - 1)].y)) && ((_local14[0].x == _local14[(_local14.length - 1)].x)))){
_local17 = true;
_local13 = _local14;
};
};
_local21 = 0;
_local22 = 0;
_local23 = new Point();
_local24 = new Point();
_local25 = true;
_local26 = true;
_local20 = _local10[0].y;
while (_local20 >= _local10[2].y) {
if (!_local17){
if (_local20 >= _local10[1].y){
while (((!((_local21 == _local13.length))) && ((_local13[_local21].y == _local20)))) {
_local21++;
};
if (_local21 == _local13.length){
_local23.y = _local20;
_local23.x = _local13[(_local13.length - 1)].x;
_local13 = _local14;
_local21 = 0;
while (((!((_local21 == _local13.length))) && ((_local13[_local21].y == _local20)))) {
_local21++;
};
} else {
_local23.y = _local20;
_local23.x = _local13[(_local21 - 1)].x;
};
} else {
_local23.y = _local20;
_local23.x = _local13[_local21].x;
while (((!((_local21 == _local13.length))) && ((_local13[_local21].y == _local20)))) {
_local21++;
};
};
if (_local20 >= _local10[3].y){
while (((!((_local22 == _local15.length))) && ((_local15[_local22].y == _local20)))) {
_local22++;
};
if (_local22 == _local15.length){
_local15 = _local16;
_local22 = 1;
};
_local24.y = _local20;
_local24.x = _local15[(_local22 - 1)].x;
} else {
_local24.y = _local20;
_local24.x = _local15[_local22].x;
while (((!((_local22 == _local15.length))) && ((_local15[_local22].y >= _local20)))) {
_local22++;
};
};
} else {
_local23.y = _local20;
_local24.y = _local20;
if (_local13[_local18].x < _local15[_local18].x){
_local23.x = _local13[_local18].x;
_local24.x = _local15[_local18].x;
} else {
_local24.x = _local13[_local18].x;
_local23.x = _local15[_local18].x;
};
_local18++;
};
_local19 = _local23.x;
while (_local19 <= _local24.x) {
if ((((((((_local19 < xCellCount)) && ((_local19 > 0)))) && ((_local20 < yCellCount)))) && ((_local20 > 0)))){
(_local19, _local20, _arg2);
};
_local19++;
};
_local20--;
};
}
public function
(_arg1:Point):Object{
return (cellArray[FromPixelPosToGridIndex(_arg1)].cost);
}
public function (_arg1:uint, _arg2:uint):Object{
return (cellArray[FromGridPosToGridIndex(_arg1, _arg2)].cost);
}
private function (_arg1:Point, _arg2:Point, _arg3:Array):Boolean{
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:Number;
var _local11:*;
var _local12:*;
var _local13:*;
var _local14:Number;
var _local15:Boolean;
var _local16:Boolean;
var _local17:Number;
var _local18:Array;
_local11 = _arg1.x;
_local12 = _arg2.x;
_local13 = _arg1.y;
_local14 = _arg2.y;
if (_local12 > 10000){
return (false);
};
_local15 = false;
_local16 = (Math.abs((_local14 - _local13)) > Math.abs((_local12 - _local11)));
if (_local16){
_local17 = _local11;
_local11 = _local13;
_local13 = _local17;
_local17 = _local12;
_local12 = _local14;
_local14 = _local17;
};
if (_local11 > _local12){
_local15 = true;
_local17 = _local11;
_local11 = _local12;
_local12 = _local17;
_local17 = _local13;
_local13 = _local14;
_local14 = _local17;
};
_local5 = (_local12 - _local11);
_local6 = Math.abs((_local14 - _local13));
_local7 = (-(_local5) / 2);
_local10 = _local13;
if (_local13 < _local14){
_local8 = 1;
} else {
_local8 = -1;
};
_local9 = _local11;
while (_local9 <= _local12) {
_local7 = (_local7 + _local6);
if (_local7 > 0){
if (_local16){
_arg3[_arg3.length] = new Point(_local10, _local9);
_arg3[_arg3.length] = new Point((_local10 + _local8), _local9);
_arg3[_arg3.length] = new Point(_local10, (_local9 + 1));
} else {
_arg3[_arg3.length] = new Point(_local9, _local10);
_arg3[_arg3.length] = new Point((_local9 + 1), _local10);
_arg3[_arg3.length] = new Point(_local9, (_local10 + _local8));
};
_local10 = (_local10 + _local8);
_local7 = (_local7 - _local5);
} else {
if (_local16){
_arg3[_arg3.length] = new Point(_local10, _local9);
} else {
_arg3[_arg3.length] = new Point(_local9, _local10);
};
};
_local9++;
};
if (_local15){
_local18 = _arg3.reverse();
_arg3 = _local18;
};
return (_local15);
}
public function
(_arg1:Number, _arg2:Number, _arg3:Boolean):void{
if ((((((((_arg1 >= xCellCount)) || ((_arg1 < 0)))) || ((_arg2 >= yCellCount)))) || ((_arg2 < 0)))){
return;
};
cellArray[FromGridPosToGridIndex(_arg1, _arg2)].walkable = _arg3;
}
public function (_arg1:Number, _arg2:Number):Object{
if ((((((((_arg1 >= xCellCount)) || ((_arg1 < 0)))) || ((_arg2 >= yCellCount)))) || ((_arg2 < 0)))){
};
return (cellArray[FromGridPosToGridIndex(_arg1, _arg2)]);
}
public function IsWalkable(_arg1:Point):Boolean{
var _local2:uint;
var _local3:uint;
_local2 = FromPixelPosToGridX(_arg1);
_local3 = FromPixelPosToGridY(_arg1);
return (IsWalkableEx(_local2, _local3));
}
public function (_arg1:Number, _arg2:Number, _arg3){
if ((((((((_arg1 >= xCellCount)) || ((_arg1 < 0)))) || ((_arg2 >= yCellCount)))) || ((_arg2 < 0)))){
return;
};
cellArray[FromGridPosToGridIndex(_arg1, _arg2)] = _arg3;
}
public function (_arg1:Point, _arg2:Point, _arg3):Boolean{
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:Number;
var _local11:*;
var _local12:*;
var _local13:*;
var _local14:Number;
var _local15:Boolean;
var _local16:Number;
_local11 = FromPixelPosToGridX(_arg1);
_local12 = FromPixelPosToGridX(_arg2);
_local13 = FromPixelPosToGridY(_arg1);
_local14 = FromPixelPosToGridY(_arg2);
_local15 = (Math.abs((_local14 - _local13)) > Math.abs((_local12 - _local11)));
if (_local15){
_local16 = _local11;
_local11 = _local13;
_local13 = _local16;
_local16 = _local12;
_local12 = _local14;
_local14 = _local16;
};
if (_local11 > _local12){
_local16 = _local11;
_local11 = _local12;
_local12 = _local16;
_local16 = _local13;
_local13 = _local14;
_local14 = _local16;
};
_local5 = (_local12 - _local11);
_local6 = Math.abs((_local14 - _local13));
_local7 = (-(_local5) / 2);
_local10 = _local13;
if (_local13 < _local14){
_local8 = 1;
} else {
_local8 = -1;
};
_local9 = _local11;
while (_local9 <= _local12) {
if (_local15){
if (!IsWalkableEx(_local10, _local9)){
return (false);
};
if (!IsWalkableEx(_local9, _local10)){
return (false);
};
};
_local7 = (_local7 + _local6);
if (_local7 > 0){
_local10 = (_local10 + _local8);
_local7 = (_local7 - _local5);
};
_local9++;
};
return (true);
}
public function DrawCircle(_arg1:Circle, _arg2):void{
var _local3:Number;
var _local4:Number;
var _local5:uint;
var _local6:Number;
var _local7:*;
var _local8:Number;
_local3 = FromPixelXToGridX(_arg1.x);
_local4 = FromPixelYToGridY(_arg1.y);
_local5 = (FromPixelXToGridX((_arg1.x + _arg1.radius)) - _local3);
_local6 = (3 - (2 * _local5));
_local7 = 0;
_local8 = _local5;
while (_local7 <= _local8) {
((_local3 + _local7), (_local4 + _local8), (_local3 - _local7), (_local4 + _local8), _arg2);
((_local3 + _local8), (_local4 + _local7), (_local3 - _local8), (_local4 + _local7), _arg2);
((_local3 + _local8), (_local4 - _local7), (_local3 - _local8), (_local4 - _local7), _arg2);
((_local3 - _local7), (_local4 - _local8), (_local3 + _local7), (_local4 - _local8), _arg2);
if (_local6 < 0){
_local6 = (_local6 + ((4 * _local7) + 6));
} else {
_local6 = (_local6 + ((4 * (_local7 - _local8)) + 10));
_local8--;
};
_local7++;
};
}
public function (_arg1:Point, _arg2){
var _local3:uint;
var _local4:uint;
_local3 = FromPixelPosToGridX(_arg1);
_local4 = FromPixelPosToGridY(_arg1);
(_local3, _local4, _arg2);
}
private function (_arg1:Point, _arg2:Point, _arg3:Array):Boolean{
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:Number;
var _local11:*;
var _local12:*;
var _local13:*;
var _local14:Number;
var _local15:Boolean;
var _local16:Boolean;
var _local17:Number;
var _local18:Array;
_local11 = _arg1.x;
_local12 = _arg2.x;
_local13 = _arg1.y;
_local14 = _arg2.y;
if (_local12 > 10000){
return (false);
};
_local15 = false;
_local16 = (Math.abs((_local14 - _local13)) > Math.abs((_local12 - _local11)));
if (_local16){
_local17 = _local11;
_local11 = _local13;
_local13 = _local17;
_local17 = _local12;
_local12 = _local14;
_local14 = _local17;
};
if (_local11 > _local12){
_local15 = true;
_local17 = _local11;
_local11 = _local12;
_local12 = _local17;
_local17 = _local13;
_local13 = _local14;
_local14 = _local17;
};
_local5 = (_local12 - _local11);
_local6 = Math.abs((_local14 - _local13));
_local7 = (-(_local5) / 2);
_local10 = _local13;
if (_local13 < _local14){
_local8 = 1;
} else {
_local8 = -1;
};
_local9 = _local11;
while (_local9 <= _local12) {
if (_local16){
_arg3[_arg3.length] = new Point(_local10, _local9);
} else {
_arg3[_arg3.length] = new Point(_local9, _local10);
};
_local7 = (_local7 + _local6);
if (_local7 > 0){
_local10 = (_local10 + _local8);
_local7 = (_local7 - _local5);
};
_local9++;
};
if (_local15){
_local18 = _arg3.reverse();
_arg3 = _local18;
};
return (_local15);
}
public function (_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5):void{
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
var _local12:Number;
var _local13:Boolean;
var _local14:Number;
if (_arg1 < 0){
_arg1 = 0;
};
if (_arg3 < 0){
_arg3 = 0;
};
if (_arg2 < 0){
_arg2 = 0;
};
if (_arg4 < 0){
_arg4 = 0;
};
_local13 = (Math.abs((_arg4 - _arg2)) > Math.abs((_arg3 - _arg1)));
if (_local13){
_local14 = _arg1;
_arg1 = _arg2;
_arg2 = _local14;
_local14 = _arg3;
_arg3 = _arg4;
_arg4 = _local14;
};
if (_arg1 > _arg3){
_local14 = _arg1;
_arg1 = _arg3;
_arg3 = _local14;
_local14 = _arg2;
_arg2 = _arg4;
_arg4 = _local14;
};
_local7 = (_arg3 - _arg1);
_local8 = Math.abs((_arg4 - _arg2));
_local9 = (-(_local7) / 2);
_local12 = _arg2;
if (_arg2 < _arg4){
_local10 = 1;
} else {
_local10 = -1;
};
_local11 = _arg1;
while (_local11 <= _arg3) {
if (_local13){
if ((((((((_local12 < xCellCount)) && ((_local12 >= 0)))) && ((_local11 < yCellCount)))) && ((_local11 >= 0)))){
(_local12, _local11, _arg5);
};
} else {
if ((((((((_local11 < xCellCount)) && ((_local11 >= 0)))) && ((_local12 < yCellCount)))) && ((_local12 >= 0)))){
(_local11, _local12, _arg5);
};
};
_local9 = (_local9 + _local8);
if (_local9 > 0){
if (_local13){
if ((((((((_local12 < xCellCount)) && ((_local12 >= 0)))) && ((_local11 < yCellCount)))) && ((_local11 >= 0)))){
(_local12, (_local11 + 1), _arg5);
};
if (((((((((_local12 + _local10) < xCellCount)) && (((_local12 + _local10) >= 0)))) && ((_local11 < yCellCount)))) && ((_local11 >= 0)))){
((_local12 + _local10), _local11, _arg5);
};
} else {
if (((((((((_local11 + 1) < xCellCount)) && (((_local11 + 1) >= 0)))) && ((_local12 < yCellCount)))) && ((_local12 >= 0)))){
((_local11 + 1), _local12, _arg5);
};
if ((((((((_local11 < xCellCount)) && ((_local11 >= 0)))) && (((_local12 + _local10) < yCellCount)))) && ((_local12 >= 0)))){
(_local11, (_local12 + _local10), _arg5);
};
};
_local12 = (_local12 + _local10);
_local9 = (_local9 - _local7);
};
_local11++;
};
}
public function GetNeighbourhood(_arg1:Number, _arg2:Number, _arg3:Array):Number{
var _local4:uint;
var _local5:Number;
var _local6:Number;
if (!IsWalkableEx(_arg1, _arg2)){
return (0);
};
_local4 = 0;
_local5 = _arg1;
_local6 = _arg2;
if (IsWalkableEx((_arg1 - 1), _arg2)){
_arg3[_local4] = new Point((_arg1 - 1), _arg2);
_local4++;
};
if (IsWalkableEx((_arg1 + 1), _arg2)){
_arg3[_local4] = new Point((_arg1 + 1), _arg2);
_local4++;
};
if (((((IsWalkableEx((_arg1 - 1), (_arg2 - 1))) && (IsWalkableEx(_arg1, (_arg2 - 1))))) && (IsWalkableEx((_arg1 - 1), _arg2)))){
_arg3[_local4] = new Point((_arg1 - 1), (_arg2 - 1));
_local4++;
};
if (((((IsWalkableEx((_arg1 - 1), (_arg2 + 1))) && (IsWalkableEx(_arg1, (_arg2 + 1))))) && (IsWalkableEx((_arg1 - 1), _arg2)))){
_arg3[_local4] = new Point((_arg1 - 1), (_arg2 + 1));
_local4++;
};
if (((((IsWalkableEx((_arg1 + 1), (_arg2 - 1))) && (IsWalkableEx(_arg1, (_arg2 - 1))))) && (IsWalkableEx((_arg1 + 1), _arg2)))){
_arg3[_local4] = new Point((_arg1 + 1), (_arg2 - 1));
_local4++;
};
if (((((IsWalkableEx((_arg1 + 1), (_arg2 + 1))) && (IsWalkableEx(_arg1, (_arg2 + 1))))) && (IsWalkableEx((_arg1 + 1), _arg2)))){
_arg3[_local4] = new Point((_arg1 + 1), (_arg2 + 1));
_local4++;
};
if (IsWalkableEx(_arg1, (_arg2 - 1))){
_arg3[_local4] = new Point(_arg1, (_arg2 - 1));
_local4++;
};
if (IsWalkableEx(_arg1, (_arg2 + 1))){
_arg3[_local4] = new Point(_arg1, (_arg2 + 1));
_local4++;
};
return (_local4);
}
public function DrawRectangle(_arg1:Array, _arg2):void{
var _local3:uint;
var _local4:uint;
var _local5:uint;
var _local6:uint;
var _local7:Number;
var _local8:Number;
var _local9:uint;
var _local10:Array;
var _local11:Array;
var _local12:Array;
var _local13:Array;
var _local14:Array;
var _local15:Boolean;
var _local16:uint;
var _local17:*;
var _local18:Number;
var _local19:uint;
var _local20:uint;
var _local21:Point;
var _local22:Point;
var _local23:Boolean;
var _local24:Boolean;
var _local25:*;
_local3 = 0;
_local4 = 0;
_local5 = 0;
_local6 = 0;
_local7 = _arg1[0].y;
_local8 = _arg1[0].y;
_local9 = 1;
while (_local9 < _arg1.length) {
if (_arg1[_local9].y < _local8){
_local4 = _local9;
_local8 = _arg1[_local9].y;
};
_local9++;
};
switch (_local4){
case 0:
_local3 = 2;
_local5 = 1;
_local6 = 3;
break;
case 1:
_local3 = 3;
_local5 = 2;
_local6 = 0;
break;
case 2:
_local3 = 0;
_local5 = 3;
_local6 = 1;
break;
case 3:
_local3 = 1;
_local5 = 0;
_local6 = 2;
break;
};
if (_arg1[_local5].x > _arg1[_local6].x){
_local25 = _local5;
_local5 = _local6;
_local6 = _local25;
};
_local10 = new Array();
_local10[0] = new Point(FromPixelPosToGridX(_arg1[_local3]), FromPixelPosToGridY(_arg1[_local3]));
_local10[2] = new Point(FromPixelPosToGridX(_arg1[_local4]), FromPixelPosToGridY(_arg1[_local4]));
_local10[1] = new Point(FromPixelPosToGridX(_arg1[_local5]), FromPixelPosToGridY(_arg1[_local5]));
_local10[3] = new Point(FromPixelPosToGridX(_arg1[_local6]), FromPixelPosToGridY(_arg1[_local6]));
_local11 = new Array();
_local12 = new Array();
_local13 = new Array();
_local14 = new Array();
_local15 = false;
_local16 = 0;
(_local10[0], _local10[1], _local11);
(_local10[0], _local10[3], _local13);
(_local10[1], _local10[2], _local12);
(_local10[3], _local10[2], _local14);
if ((((_local11[0].x == _local11[(_local11.length - 1)].x)) && ((_local12[0].y == _local12[(_local12.length - 1)].y)))){
_local15 = true;
_local13 = _local14;
} else {
if ((((_local11[0].y == _local11[(_local11.length - 1)].y)) && ((_local12[0].x == _local12[(_local12.length - 1)].x)))){
_local15 = true;
_local11 = _local12;
};
};
_local19 = 0;
_local20 = 0;
_local21 = new Point();
_local22 = new Point();
_local23 = true;
_local24 = true;
_local18 = _local10[0].y;
while (_local18 >= _local10[2].y) {
if (!_local15){
if (_local18 >= _local10[1].y){
while (((!((_local19 == _local11.length))) && ((_local11[_local19].y == _local18)))) {
_local19++;
};
if (_local19 == _local11.length){
_local21.y = _local18;
_local21.x = _local11[(_local11.length - 1)].x;
_local11 = _local12;
_local19 = 0;
while (((!((_local19 == _local11.length))) && ((_local11[_local19].y == _local18)))) {
_local19++;
};
} else {
_local21.y = _local18;
_local21.x = _local11[(_local19 - 1)].x;
};
} else {
_local21.y = _local18;
_local21.x = _local11[_local19].x;
while (((!((_local19 == _local11.length))) && ((_local11[_local19].y == _local18)))) {
_local19++;
};
};
if (_local18 >= _local10[3].y){
while (((!((_local20 == _local13.length))) && ((_local13[_local20].y == _local18)))) {
_local20++;
};
if (_local20 == _local13.length){
_local13 = _local14;
_local20 = 1;
};
_local22.y = _local18;
_local22.x = _local13[(_local20 - 1)].x;
} else {
_local22.y = _local18;
_local22.x = _local13[_local20].x;
while (((!((_local20 == _local13.length))) && ((_local13[_local20].y >= _local18)))) {
_local20++;
};
};
} else {
_local21.y = _local18;
_local22.y = _local18;
if (_local11[_local16].x < _local13[_local16].x){
_local21.x = _local11[_local16].x;
_local22.x = _local13[_local16].x;
} else {
_local22.x = _local11[_local16].x;
_local21.x = _local13[_local16].x;
};
_local16++;
};
_local17 = _local21.x;
while (_local17 <= _local22.x) {
if ((((((((_local17 < xCellCount)) && ((_local17 > 0)))) && ((_local18 < yCellCount)))) && ((_local18 > 0)))){
(_local17, _local18, _arg2);
};
_local17++;
};
_local18--;
};
}
public function IsWalkableEx(_arg1:Number, _arg2:Number):Boolean{
var _local3:uint;
if ((((((((_arg1 >= xCellCount)) || ((_arg1 < 0)))) || ((_arg2 >= yCellCount)))) || ((_arg2 < 0)))){
return (false);
};
_local3 = FromGridPosToGridIndex(_arg1, _arg2);
if (_local3 >= cellArray.length){
return (false);
};
return (cellArray[_local3].walkable);
}
public function Init(_arg1):void{
var _local2:int;
var _local3:uint;
var _local4:uint;
_local2 = 0;
_local3 = 0;
while (_local3 < xCellCount) {
_local2++;
_arg1.cell_boh = _local2;
_local4 = 0;
while (_local4 < yCellCount) {
(_local3, _local4, _arg1);
_local4++;
};
_local3++;
};
}
public function (_arg1:Point, _arg2:Point, _arg3):void{
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:Number;
_local4 = FromPixelPosToGridX(_arg1);
_local5 = FromPixelPosToGridX(_arg2);
_local6 = FromPixelPosToGridY(_arg1);
_local7 = FromPixelPosToGridY(_arg2);
(_local4, _local6, _local5, _local7, _arg3);
}
public function IsLineWalkableEx(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Boolean{
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:Number;
var _local12:Boolean;
var _local13:Number;
_local12 = (Math.abs((_arg4 - _arg2)) > Math.abs((_arg3 - _arg1)));
if (_local12){
_local13 = _arg1;
_arg1 = _arg2;
_arg2 = _local13;
_local13 = _arg3;
_arg3 = _arg4;
_arg4 = _local13;
};
if (_arg1 > _arg3){
_local13 = _arg1;
_arg1 = _arg3;
_arg3 = _local13;
_local13 = _arg2;
_arg2 = _arg4;
_arg4 = _local13;
};
_local6 = (_arg3 - _arg1);
_local7 = Math.abs((_arg4 - _arg2));
_local8 = (-(_local6) / 2);
_local11 = _arg2;
if (_arg2 < _arg4){
_local9 = 1;
} else {
_local9 = -1;
};
_local10 = _arg1;
while (_local10 <= _arg3) {
if (_local12){
if (!IsWalkableEx(_local11, _local10)){
return (false);
};
if (!IsWalkableEx(_local10, _local11)){
return (false);
};
};
_local8 = (_local8 + _local7);
if (_local8 > 0){
_local11 = (_local11 + _local9);
_local8 = (_local8 - _local6);
};
_local10++;
};
return (true);
}
public function (_arg1:uint):Object{
return (cellArray[_arg1].cost);
}
}
}//package FoofaAI
Section 19
//PathfindingNode (FoofaAI.PathfindingNode)
package FoofaAI {
import flash.geom.*;
public class PathfindingNode {
public var c:Point;
public var g:Number;
public var h:Number;
private var :Point;
public var f:Number;
public function PathfindingNode(_arg1:Point){
c = new Point(_arg1.x, _arg1.y);
g = 0;
h = 0;
f = 0;
= new Point(0, 0);
}
public function IsEqualTo(_arg1:Point):Boolean{
return ((((c.x == _arg1.x)) && ((c.y == _arg1.y))));
}
public function SetParentCoords(_arg1:Point):void{
.x = _arg1.x;
.y = _arg1.y;
}
public function SetFromObject(_arg1){
c = _arg1.c;
g = _arg1.g;
h = _arg1.h;
f = _arg1.f;
.x = _arg1.GetParentCoords().x;
.y = _arg1.GetParentCoords().y;
}
public function SetPosition(_arg1:Point){
c.x = _arg1.x;
c.y = _arg1.y;
}
public function GetParentCoords():Point{
return ();
}
public function GetPosition():Point{
return (c);
}
static function get DUMMYPARENT():Point{
return (new Point(-1, -1));
}
}
}//package FoofaAI
Section 20
//FlashPlayerVersion (FoofaCore.FlashPlayerVersion)
package FoofaCore {
import flash.text.*;
import flash.system.*;
public class FlashPlayerVersion {
public static function Check(_arg1:TextField, _arg2:int=0, _arg3:int=47, _arg4:int=0, _arg5:int=9):Boolean{
var _local6:String;
var _local7:Array;
var _local8:Array;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
_local6 = Capabilities.version;
_local7 = _local6.split(",");
_local8 = _local7[0].split(" ");
_local9 = parseInt(_local8[1]);
_local10 = parseInt(_local7[1]);
_local11 = parseInt(_local7[2]);
_local12 = parseInt(_local7[3]);
_arg1.text = ((((((_local9 + ".") + _local10) + ".") + _local11) + ".") + _local12);
if (_local9 < _arg5){
return (false);
};
if (_local9 == _arg5){
if (_local10 < _arg4){
return (false);
};
if (_local10 == _arg4){
if (_local11 < _arg3){
return (false);
};
if (_local11 == _arg3){
if (_local12 < _arg2){
return (false);
};
};
};
};
return (true);
}
public static function PrintVersion(){
var _local1:String;
var _local2:Array;
var _local3:Number;
var _local4:Number;
var _local5:Array;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
_local1 = Capabilities.version;
_local2 = _local1.split(",");
_local3 = _local2.length;
_local4 = 0;
while (_local4 < _local3) {
_local4++;
};
_local5 = _local2[0].split(" ");
_local6 = 0;
while (_local6 < 2) {
_local6++;
};
_local7 = parseInt(_local5[1]);
_local8 = parseInt(_local2[1]);
_local9 = parseInt(_local2[2]);
if (_local7 < 9){
//unresolved jump
};
}
public static function CheckPlatform(_arg1:String="WIN"):Boolean{
var _local2:String;
var _local3:Array;
var _local4:Array;
_local2 = Capabilities.version;
_local3 = _local2.split(",");
_local4 = _local3[0].split(" ");
if (_arg1 == _local4[0]){
return (true);
};
return (false);
}
}
}//package FoofaCore
Section 21
//FoofaApplication (FoofaCore.FoofaApplication)
package FoofaCore {
import flash.utils.*;
public class FoofaApplication extends FSM {
protected static var instance:FoofaApplication = null;
public function FoofaApplication():void{
if (instance == null){
instance = this;
} else {
throw (new Error("FoofaApplication already defined"));
};
}
public function ():int{
var _local1:Timer;
var _local2:Number;
_local1 = new Timer(1);
_local2 = 0;
_local1.start();
while (Number(_local2) < 5000) {
_local2 = (Number(_local2) + 1);
};
_local1.stop();
return (_local1.currentCount);
}
public static function GetInstance():FoofaApplication{
return (instance);
}
}
}//package FoofaCore
Section 22
//FrameRateCounter (FoofaCore.FrameRateCounter)
package FoofaCore {
import flash.utils.*;
public class FrameRateCounter {
private var :uint;
private var :Boolean;
private var :Boolean;
private var :int;
private var :int;
private var
:int;
private var :int;
private var :int;
public function FrameRateCounter(){
= false;
= false;
= 0;
= 0;
= 0;
= 0;
= 0;
}
public function get averageFps():Number{
return (((1000 * ) / ));
}
public function Play():void{
if (!){
= true;
= getTimer();
= ;
};
= false;
}
public function OnFrameStep():void{
= getTimer();
= ( -
);
if (!){
++;
= ( - );
} else {
= ( - );
};
= ;
}
public function get fps():Number{
return ((1000 / ));
}
public function get paused():Boolean{
return ();
}
public function Stop():void{
= true;
}
}
}//package FoofaCore
Section 23
//FSM (FoofaCore.FSM)
package FoofaCore {
public class FSM {
private var :Boolean;
private var :Boolean;
private var :FSM_State;
public function FSM(){
= false;
= false;
}
public function Loop():void{
if (!){
.Step();
};
}
public function ChangeState(_arg1:FSM_State):void{
if (){
.End();
= null;
};
= true;
= _arg1;
.Init();
}
public function get currentState():FSM_State{
return ();
}
}
}//package FoofaCore
Section 24
//FSM_State (FoofaCore.FSM_State)
package FoofaCore {
public interface FSM_State {
function Init():void;
function End():void;
function Step():void;
}
}//package FoofaCore
Section 25
//Key (FoofaCore.Key)
package FoofaCore {
import flash.events.*;
import flash.display.*;
public class Key {
public static var LEFT = 37;
public static var UP = 38;
public static var DOWN = 40;
public static var FULL_STOP = 190;
public static var COMMA = 188;
public static var ENTER = 13;
private static var keysDown:Object = new Object();
public static var A = 65;
public static var B = 66;
public static var C = 67;
public static var F = 70;
public static var I = 73;
public static var D = 68;
public static var M = 77;
public static var N = 78;
public static var O = 79;
public static var P = 80;
public static var K = 75;
public static var S = 83;
private static var initialized:Boolean = false;
public static var W = 87;
public static var MINUS = 189;
public static var SHIFT = 16;
public static var SPACE = 32;
public static var CTRL = 17;
public static var RIGHT = 39;
public static function initialize(_arg1:Stage):void{
if (!initialized){
_arg1.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
_arg1.addEventListener(KeyboardEvent.KEY_UP, keyReleased);
_arg1.addEventListener(Event.DEACTIVATE, clearKeys);
initialized = true;
};
}
private static function keyReleased(_arg1:KeyboardEvent):void{
if ((_arg1.keyCode in keysDown)){
delete keysDown[_arg1.keyCode];
};
}
public static function ClearKeys():void{
keysDown = new Object();
}
private static function keyPressed(_arg1:KeyboardEvent):void{
keysDown[_arg1.keyCode] = true;
}
private static function clearKeys(_arg1:Event):void{
ClearKeys();
}
public static function isDown(_arg1:uint):Boolean{
if (!initialized){
throw (new Error("Key class has yet been initialized."));
};
return (Boolean((_arg1 in keysDown)));
}
}
}//package FoofaCore
Section 26
//Trigger (FoofaCore.Trigger)
package FoofaCore {
import flash.display.*;
import ThisGame.*;
public class Trigger extends MovieClip {
public var active:Boolean;
public function Trigger():void{
active = false;
}
public function Step(_arg1:State_InGame):void{
}
public function Init(_arg1:State_InGame):void{
}
public function Check(_arg1:State_InGame):Boolean{
return (false);
}
}
}//package FoofaCore
Section 27
//TriggerManager (FoofaCore.TriggerManager)
package FoofaCore {
import ThisGame.*;
public class TriggerManager {
private var :int;
private var :int;
private var :Array;
public function TriggerManager():void{
= new Array();
= 0;
}
public function RemoveTrigger(_arg1:Trigger):void{
= 0;
while ( < .length) {
if ([] == _arg1){
.splice(, 1);
--;
break;
};
++;
};
}
public function Update(_arg1:State_InGame):void{
= 0;
while ( < .length) {
if (((([].active == false)) && ([].Check(_arg1)))){
[].active = true;
[].Init(_arg1);
};
if ([].active == true){
[].Step(_arg1);
};
++;
};
}
public function ():void{
.splice(0, .length);
}
public function AddTrigger(_arg1:Trigger):void{
.push(_arg1);
}
}
}//package FoofaCore
Section 28
//MemoryCrypto (FoofaCrypto.MemoryCrypto)
package FoofaCrypto {
public class MemoryCrypto {
private static var crypto:TEA = null;
private static var INCREMENT:int = 0;
private static var initialized:Boolean = false;
private static var key:String = null;
private static var MULTIPLY:int = 2;
private static var DECREMENT:int = 1;
private static var dataHolder:Object = null;
private static var DIVIDE:int = 3;
public static function incrementValue(_arg1:String, _arg2:Number):Number{
return (processValue(_arg1, _arg2, INCREMENT));
}
public static function getValue(_arg1:String):Number{
var _local2:Number;
initIfNeeded();
_local2 = 0;
if (!isValueSet(_arg1)){
setValue(_arg1, _local2);
} else {
_local2 = new Number(crypto.(dataHolder[_arg1], key));
};
return (_local2);
}
private static function processValue(_arg1:String, _arg2:Number, _arg3:int):Number{
var _local4:Number;
initIfNeeded();
_local4 = getValue(_arg1);
switch (_arg3){
case INCREMENT:
_local4 = (_local4 + _arg2);
break;
case DECREMENT:
_local4 = (_local4 - _arg2);
break;
case MULTIPLY:
_local4 = (_local4 * _arg2);
break;
case DIVIDE:
_local4 = (_local4 / _arg2);
break;
};
setValue(_arg1, _local4);
return (_local4);
}
public static function reset():void{
initialized = false;
initIfNeeded();
}
public static function decrementValue(_arg1:String, _arg2:Number):Number{
return (processValue(_arg1, _arg2, DECREMENT));
}
private static function initIfNeeded():void{
var _local1:Number;
var _local2:String;
var _local3:Number;
var _local4:String;
if (!initialized){
_local1 = Math.random();
_local2 = new String(_local1);
_local2 = _local2.substr(2, (_local2.length - 2));
_local3 = Math.random();
_local4 = new String(_local3);
_local4 = _local4.substr(2, (_local4.length - 2));
key = (_local2 + _local4);
crypto = new TEA();
dataHolder = new Object();
initialized = true;
};
}
public static function multiplyValue(_arg1:String, _arg2:Number):Number{
return (processValue(_arg1, _arg2, MULTIPLY));
}
public static function setValue(_arg1:String, _arg2:Number):Number{
initIfNeeded();
dataHolder[_arg1] = crypto.encrypt(_arg2.toString(), key);
return (_arg2);
}
public static function divideValue(_arg1:String, _arg2:Number):Number{
if (_arg2 == 0){
throw (new Error("Amount can't be zero when dividing!"));
};
return (processValue(_arg1, _arg2, DIVIDE));
}
public static function isValueSet(_arg1:String):Boolean{
var _local2:Boolean;
initIfNeeded();
_local2 = false;
if (dataHolder[_arg1] != null){
_local2 = true;
};
return (_local2);
}
}
}//package FoofaCrypto
Section 29
//TEA (FoofaCrypto.TEA)
package FoofaCrypto {
public class TEA {
public function encrypt(_arg1:String, _arg2:String):String{
var _local3:Array;
var _local4:Array;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
_local3 = charsToLongs(strToChars(_arg1));
_local4 = charsToLongs(strToChars(_arg2));
_local5 = _local3.length;
if (_local5 == 0){
return ("");
};
if (_local5 == 1){
var _temp1 = _local5;
_local5 = (_local5 + 1);
var _local14 = _temp1;
_local3[_local14] = 0;
};
_local6 = _local3[(_local5 - 1)];
_local7 = _local3[0];
_local8 = 2654435769;
_local11 = Math.floor((6 + (52 / _local5)));
_local12 = 0;
while (_local11-- > 0) {
_local12 = (_local12 + _local8);
_local10 = ((_local12 >>> 2) & 3);
_local13 = 0;
while (_local13 < (_local5 - 1)) {
_local7 = _local3[(_local13 + 1)];
_local9 = ((((_local6 >>> 5) ^ (_local7 << 2)) + ((_local7 >>> 3) ^ (_local6 << 4))) ^ ((_local12 ^ _local7) + (_local4[((_local13 & 3) ^ _local10)] ^ _local6)));
_local6 = (_local3[_local13] = (_local3[_local13] + _local9));
_local13++;
};
_local7 = _local3[0];
_local9 = ((((_local6 >>> 5) ^ (_local7 << 2)) + ((_local7 >>> 3) ^ (_local6 << 4))) ^ ((_local12 ^ _local7) + (_local4[((_local13 & 3) ^ _local10)] ^ _local6)));
_local6 = (_local3[(_local5 - 1)] = (_local3[(_local5 - 1)] + _local9));
};
return (charsToHex(longsToChars(_local3)));
}
public function (_arg1:String, _arg2:String):String{
var _local3:Array;
var _local4:Array;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
_local3 = charsToLongs(hexToChars(_arg1));
_local4 = charsToLongs(strToChars(_arg2));
_local5 = _local3.length;
if (_local5 == 0){
return ("");
};
_local6 = _local3[(_local5 - 1)];
_local7 = _local3[0];
_local8 = 2654435769;
_local11 = Math.floor((6 + (52 / _local5)));
_local12 = (_local11 * _local8);
while (_local12 != 0) {
_local10 = ((_local12 >>> 2) & 3);
_local13 = (_local5 - 1);
while (_local13 > 0) {
_local6 = _local3[(_local13 - 1)];
_local9 = ((((_local6 >>> 5) ^ (_local7 << 2)) + ((_local7 >>> 3) ^ (_local6 << 4))) ^ ((_local12 ^ _local7) + (_local4[((_local13 & 3) ^ _local10)] ^ _local6)));
_local7 = (_local3[_local13] = (_local3[_local13] - _local9));
_local13--;
};
_local6 = _local3[(_local5 - 1)];
_local9 = ((((_local6 >>> 5) ^ (_local7 << 2)) + ((_local7 >>> 3) ^ (_local6 << 4))) ^ ((_local12 ^ _local7) + (_local4[((_local13 & 3) ^ _local10)] ^ _local6)));
_local7 = (_local3[0] = (_local3[0] - _local9));
_local12 = (_local12 - _local8);
};
return (charsToStr(longsToChars(_local3)));
}
private static function strToChars(_arg1:String):Array{
var _local2:Array;
var _local3:Number;
_local2 = new Array();
_local3 = 0;
while (_local3 < _arg1.length) {
_local2.push(_arg1.charCodeAt(_local3));
_local3++;
};
return (_local2);
}
private static function charsToHex(_arg1:Array):String{
var _local2:String;
var _local3:Array;
var _local4:Number;
_local2 = new String("");
_local3 = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f");
_local4 = 0;
while (_local4 < _arg1.length) {
_local2 = (_local2 + (_local3[(_arg1[_local4] >> 4)] + _local3[(_arg1[_local4] & 15)]));
_local4++;
};
return (_local2);
}
private static function hexToChars(_arg1:String):Array{
var _local2:Array;
var _local3:Number;
_local2 = new Array();
_local3 = ((_arg1.substr(0, 2))=="0x") ? 2 : 0;
while (_local3 < _arg1.length) {
_local2.push(parseInt(_arg1.substr(_local3, 2), 16));
_local3 = (_local3 + 2);
};
return (_local2);
}
private static function charsToStr(_arg1:Array):String{
var _local2:String;
var _local3:Number;
_local2 = new String("");
_local3 = 0;
while (_local3 < _arg1.length) {
_local2 = (_local2 + String.fromCharCode(_arg1[_local3]));
_local3++;
};
return (_local2);
}
private static function longsToChars(_arg1:Array):Array{
var _local2:Array;
var _local3:Number;
_local2 = new Array();
_local3 = 0;
while (_local3 < _arg1.length) {
_local2.push((_arg1[_local3] & 0xFF), ((_arg1[_local3] >>> 8) & 0xFF), ((_arg1[_local3] >>> 16) & 0xFF), ((_arg1[_local3] >>> 24) & 0xFF));
_local3++;
};
return (_local2);
}
private static function charsToLongs(_arg1:Array):Array{
var _local2:Array;
var _local3:Number;
_local2 = new Array(Math.ceil((_arg1.length / 4)));
_local3 = 0;
while (_local3 < _local2.length) {
_local2[_local3] = (((_arg1[(_local3 * 4)] + (_arg1[((_local3 * 4) + 1)] << 8)) + (_arg1[((_local3 * 4) + 2)] << 16)) + (_arg1[((_local3 * 4) + 3)] << 24));
_local3++;
};
return (_local2);
}
}
}//package FoofaCrypto
Section 30
//Array_Contains (FoofaDataTypes.Array_Contains)
package FoofaDataTypes {
public class Array_Contains {
private var
:Array;
public function Array_Contains(){
= new Array();
}
public function GetElementAt(_arg1:Number):Object{
return (
[_arg1]);
}
public function Find(_arg1):Number{
var _local2:Number;
_local2 = 0;
while (_local2 <
.length) {
if (
[_local2].IsEqualTo(_arg1)){
return (_local2);
};
_local2++;
};
return (-1);
}
public function SetElementAt(_arg1:Number, _arg2){
[_arg1] = _arg2;
}
public function Size():uint{
return (
.length);
}
public function clear(){
.splice(0,
.length);
}
public function Find2(_arg1):Number{
var _local2:Number;
if (
.length > 1000){
};
_local2 = 0;
while (_local2 <
.length) {
if (
[_local2].IsEqualTo(_arg1)){
return (_local2);
};
_local2++;
};
return (-1);
}
public function push(_arg1){
[
.length] = _arg1;
}
}
}//package FoofaDataTypes
Section 31
//PriorityQueue (FoofaDataTypes.PriorityQueue)
package FoofaDataTypes {
public class PriorityQueue {
protected var :Number;
protected var _heap:Array;
protected var :Object;
public function PriorityQueue(){
();
}
protected function _filterDown(_arg1:Number):void{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
_local2 = _arg1;
if (_local2 < ((_heap.length - 1) / 2)){
_local3 = ((2 * _local2) + 1);
_local4 = ((2 * _local2) + 2);
if (_local4 >= _heap.length){
_local5 = _local3;
_local4 = _local3;
} else {
if (_heap[_local3].priority < _heap[_local4].priority){
_local5 = _local3;
} else {
if (_heap[_local3].priority == _heap[_local4].priority){
if (_heap[_local3].id < _heap[_local4].id){
_local5 = _local3;
} else {
_local5 = _local4;
};
} else {
_local5 = _local4;
};
};
};
if (_heap[_local2].priority > _heap[_local5].priority){
_local6 = _heap[_local2];
_heap[_local2] = _heap[_local5];
_heap[_local5] = _local6;
_heap[_local2].pos = _local2;
_heap[_local5].pos = _local5;
_filterDown(_local5);
} else {
if (_heap[_local2].priority == _heap[_local5].priority){
if (_heap[_local2].id > _heap[_local5].id){
_local7 = _heap[_local2];
_heap[_local2] = _heap[_local5];
_heap[_local5] = _local7;
_heap[_local2].pos = _local2;
_heap[_local5].pos = _local5;
_filterDown(_local5);
};
};
};
};
}
public function IsEmpty():Boolean{
return ((_heap.length == 0));
}
public function (_arg1:Number, _arg2:Number){
var _local3:*;
var _local4:*;
var _local5:*;
_local3 = [_arg1];
_local4 = _local3.pos;
_local5 = _local3.priority;
_local3.priority = _arg2;
if (_local5 > _local3.priority){
(_local4);
} else {
_filterDown(_local4);
};
}
public function
():Number{
return (_heap[0].priority);
}
public function (_arg1:Number):Boolean{
return (!(( [_arg1] == null)));
}
public function clear(){
_heap.splice(0, _heap.length);
}
function (){
_heap = [];
= {};
= 0;
}
public function RemoveTop():Object{
var _local1:*;
if (_heap.length == 0){
return (false);
};
_local1 = _heap[0].data;
delete [_heap[0].id];
delete _heap[0];
if (_heap.length > 1){
_heap[0] = _heap[(_heap.length - 1)];
_heap[0].pos = 0;
_heap.splice((_heap.length - 1), 1);
_filterDown(0);
} else {
_heap.splice((_heap.length - 1), 1);
};
return (_local1);
}
public function (_arg1:Number):Number{
return ( [_arg1].priority);
}
protected function (_arg1:Number):void{
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = _arg1;
while ((((_local2 > 0)) && ((_heap[int(((_local2 - 1) / 2))].priority > _heap[_local2].priority)))) {
_local3 = Math.floor(((_local2 - 1) / 2));
_local4 = _heap[_local2];
_heap[_local2] = _heap[_local3];
_heap[_local3] = _local4;
_heap[_local2].pos = _local2;
_heap[_local3].pos = _local3;
_local2 = _local3;
};
}
public function Insert(_arg1, _arg2:Number):Number{
var _local3:Number;
var _local4:*;
var _local5:Object;
_local3 = _heap.length;
_local4 = ++;
_local5 = {priority:_arg2, data:_arg1, id:_local4, pos:_local3};
[_local4] = _local5;
_heap[_local3] = _local5;
(_local3);
return (_local4);
}
public function (_arg1:Number):Boolean{
var _local2:*;
if (!(_arg1)){
return (false);
};
_local2 = [_arg1].pos;
delete [_arg1];
delete _heap[_local2];
_heap[_local2] = _heap[(_heap.length - 1)];
_heap[0].pos = 0;
_heap.splice((_heap.length - 1), 1);
return (true);
}
public function ():Object{
return (_heap[0].priority);
}
}
}//package FoofaDataTypes
Section 32
//PriorityQueue_DirectAccess (FoofaDataTypes.PriorityQueue_DirectAccess)
package FoofaDataTypes {
public class PriorityQueue_DirectAccess extends PriorityQueue {
public function Find(_arg1):Number{
var _local2:Number;
_local2 = 0;
while (_local2 < _heap.length) {
if (_heap[_local2].data.IsEqualTo(_arg1)){
return (_local2);
};
_local2++;
};
return (-1);
}
public function SetElementAt(_arg1:Number, _arg2){
_heap[_arg1] = _arg2;
_filterDown(0);
}
public function GetElementAt(_arg1:Number):Object{
return (_heap[_arg1]);
}
}
}//package FoofaDataTypes
Section 33
//AABB (FoofaGeom.AABB)
package FoofaGeom {
public class AABB {
public var
:Number;
public var
:Number;
public var
:Number;
public var
:Number;
public function AABB(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0){
this.
= _arg1;
this.
= _arg2;
this.
= _arg3;
this.
= _arg4;
}
public function toString():String{
return ([
,
,
,
].toString());
}
public function
(_arg1:AABB):Boolean{
if ((((
> _arg1.
)) || ((
< _arg1.
)))){
return (false);
};
if ((((
> _arg1.
)) || ((
< _arg1.
)))){
return (false);
};
return (true);
}
}
}//package FoofaGeom
Section 34
//Circle (FoofaGeom.Circle)
package FoofaGeom {
import flash.display.*;
public class Circle {
public var vx:Number;// = 0
public var vy:Number;// = 0
public var radius:Number;
protected var
:AABB;
public var :Number;
public var :Number;// = 0
public var x:Number;
public var y:Number;
public function Circle(_arg1:Number, _arg2:Number, _arg3:Number){
vx = 0;
vy = 0;
= 0;
super();
this.x = _arg1;
this.y = _arg2;
this.radius = _arg3;
= (_arg3 * _arg3);
();
}
public function PointIsInside(_arg1:Number, _arg2:Number):Boolean{
return (((((_arg1 - x) * (_arg1 - x)) + ((_arg2 - y) * (_arg2 - y))) <= ));
}
private function ():void{
= new AABB((x - radius), (x + radius), (y - radius), (y + radius));
}
public function draw(_arg1:Graphics):void{
_arg1.drawCircle(x, y, radius);
_arg1.drawCircle(x, y, 0.5);
}
public function getAABB():AABB{
return (
);
}
}
}//package FoofaGeom
Section 35
//CollisionCircleCircle (FoofaGeom.CollisionCircleCircle)
package FoofaGeom {
import flash.geom.*;
public class CollisionCircleCircle {
private var
:Vector2;
private var
:Number;
private var
:Vector2;
private var
:Number;
private var :Circle;
private var :Circle;
private var :Number;
public function CollisionCircleCircle(){
= new Vector2();
= new Vector2();
}
public function
():Number{
return ();
}
public function getNormal():Vector2{
return (
);
}
public function test(_arg1:Circle, _arg2:Circle, _arg3:Point):Boolean{
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
= _arg2;
= _arg1;
_local4 = (_arg2.radius + _arg1.radius);
_local5 = (_arg2.x - _arg1.x);
_local6 = (_arg2.y - _arg1.y);
_local7 = Math.sqrt(((_local5 * _local5) + (_local6 * _local6)));
if (_local4 > _local7){
_local5 = (_local5 / _local7);
_local6 = (_local6 / _local7);
.x = _local5;
.y = _local6;
.x = (
.x * _local4);
.y = (
.y * _local4);
= (_local4 - _local7);
return (true);
};
return (false);
}
public function solve(_arg1:Boolean, _arg2:Boolean):void{
if ((((_arg2 == true)) && ((_arg1 == false)))){
.vx = (.x +
.x);
.vy = (.y +
.y);
};
}
public function getBack():Vector2{
return (new Vector2((.x +
.x), (.y +
.y)));
}
}
}//package FoofaGeom
Section 36
//CollisionConvexPolyCircle (FoofaGeom.CollisionConvexPolyCircle)
package FoofaGeom {
import flash.geom.*;
public class CollisionConvexPolyCircle {
private var p3:Vector2;
private var :Vector2;
private var :Vector2;
private var poly:ConvexPoly;
private var :Number;
private var p2:Vector2;
private var p1:Vector2;
private var :Circle;
private var :Vector2;
private var
:Number;
private var :Vector2;
private var c:Number;
private var
:Vector2;
private var
:Vector2;
private var
:Number;
private var
:Number;
public function CollisionConvexPolyCircle(){
= 0;
= 0.05;
= new Vector2();
= new Vector2();
= new Vector2();
p1 = new Vector2();
p2 = new Vector2();
p3 = new Vector2();
= new Vector2();
= new Vector2();
= new Vector2();
}
public function test(_arg1:ConvexPoly, _arg2:Circle, _arg3:Point):Boolean{
var _local4:Array;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Vector2;
var _local9:Number;
_local4 = _arg1.particles;
_local5 = _arg2.x;
_local6 = _arg2.y;
_local7 = _arg2.radius;
.x = _local4[0].x;
.y = _local4[0].y;
this. = _arg2;
this.poly = _arg1;
p1.x = (_local4[1].x - _local4[0].x);
p1.y = (_local4[1].y - _local4[0].y);
p2.x = (_local4[2].x - _local4[0].x);
p2.y = (_local4[2].y - _local4[0].y);
p3.x = (_local4[3].x - _local4[0].x);
p3.y = (_local4[3].y - _local4[0].y);
.x = (_arg2.x - _local4[0].x);
.y = (_arg2.y - _local4[0].y);
.x = (_arg3.x - _local4[0].x);
.y = (_arg3.y - _local4[0].y);
_local8 = new Vector2(1, 0);
_local9 = FoofaGeomUtils.AngleBetweenVectors2Rad(p3, _local8);
if (p3.x >= 0){
_local9 = (_local9 * -1);
} else {
if ((((p3.x < 0)) && ((p3.y > 0)))){
_local9 = (_local9 * -1);
} else {
if ((((p3.x < 0)) && ((p3.y <= 0)))){
_local9 = (_local9 * -1);
};
};
};
return ( ( , , _arg2.radius, p1, p3, p2, _local9));
}
function (_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9, _arg10, _arg11):Boolean{
var _local12:*;
var _local13:*;
var _local14:*;
var _local15:*;
var _local16:*;
var _local17:*;
if (_arg3 == 0){
if (_arg4 == 0){
if (_arg1 < _arg2){
_local12 = (_arg5.x - _arg8);
if (_local12 < 0){
return (
(-(_arg1), 0, -1, 0, _arg5, _arg6, _arg8, _arg9, _arg10, _arg11));
};
return (
(_arg1, 0, 1, 0, _arg5, _arg6, _arg8, _arg9, _arg10, _arg11));
} else {
_local13 = (_arg5.y - _arg9);
if (_local13 < 0){
return (
(0, -(_arg2), 0, -1, _arg5, _arg6, _arg8, _arg9, _arg10, _arg11));
};
return (
(0, _arg2, 0, 1, _arg5, _arg6, _arg8, _arg9, _arg10, _arg11));
};
} else {
return (
(0, (_arg2 * _arg4), 0, _arg4, _arg5, _arg6, _arg8, _arg9, _arg10, _arg11));
};
} else {
if (_arg4 == 0){
return (
((_arg1 * _arg3), 0, _arg3, 0, _arg5, _arg6, _arg8, _arg9, _arg10, _arg11));
};
_local14 = (_arg8 + (_arg3 * _arg10));
_local15 = (_arg9 + (_arg4 * _arg11));
_local12 = (_arg5.x - _local14);
_local13 = (_arg5.y - _local15);
_local16 = Math.sqrt(((_local12 * _local12) + (_local13 * _local13)));
_local17 = (_arg7 - _local16);
if (0 < _local17){
if (_local16 == 0){
_local12 = (_arg3 / Math.SQRT2);
_local13 = (_arg4 / Math.SQRT2);
} else {
_local12 = (_local12 / _local16);
_local13 = (_local13 / _local16);
};
return (
((_local12 * _local17), (_local13 * _local17), _local12, _local13, _arg5, _arg6, _arg8, _arg9, _arg10, _arg11));
};
};
return (false);
}
public function (_arg1:Number):void{
this.
= _arg1;
}
public function
(_arg1:Number, _arg2:Number){
= _arg1;
= _arg2;
}
public function ():Number{
return (
);
}
public function (_arg1:Vector2, _arg2:Vector2, _arg3:Number, _arg4:Vector2, _arg5:Vector2, _arg6:Vector2, _arg7:Number):Boolean{
var _local8:Vector2;
var _local9:Vector2;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Vector2;
var _local18:Vector2;
var _local19:Boolean;
_local8 = new Vector2(_arg4.x, _arg4.y);
_local9 = new Vector2(_arg5.x, _arg5.y);
_local10 = _local9.length;
_local11 = _local8.length;
_local12 = (_arg7 * -1);
c = Math.cos(_arg7);
= Math.sin(_arg7);
_local13 = Math.cos(_local12);
_local14 = Math.sin(_local12);
_local15 = (_local10 / 2);
_local16 = (_local11 / 2);
_local17 = new Vector2();
_local17.x = ((_arg1.x * _local13) - (_arg1.y * _local14));
_local17.y = ((_arg1.x * _local14) + (_arg1.y * _local13));
_local18 = new Vector2();
_local18.x = ((_arg2.x * _local13) - (_arg2.y * _local14));
_local18.y = ((_arg2.x * _local14) + (_arg2.y * _local13));
_local19 = this.
(_local17, _local18, _arg3, _local15, _local16, (_local10 / 2), (_local11 / 2));
.x = ((_local17.x * c) - (_local17.y *
));
.y = ((_local17.x *
) + (_local17.y * c));
return (_local19);
}
public function getNormal():Vector2{
var _local1:Number;
var _local2:Number;
_local1 = ((
.x * c) - (
.y *
));
_local2 = ((
.x *
) + (
.y * c));
return (new Vector2(_local1, _local2));
}
public function getBack():Vector2{
return (new Vector2(( .x + .x), ( .y + .y)));
}
function
(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9, _arg10):Boolean{
var _local11:Boolean;
var _local12:*;
var _local13:*;
var _local14:*;
var _local15:*;
var _local16:*;
var _local17:*;
var _local18:*;
var _local19:*;
var _local20:*;
var _local21:*;
var _local22:*;
var _local23:*;
var _local24:*;
var _local25:*;
var _local26:*;
.x = _arg3;
.y = _arg4;
_local11 = false;
_local12 = _arg5;
_local13 = _arg6;
_local14 = (_local12.x - _local13.x);
_local15 = (_local12.y - _local13.y);
_local16 = ((_local14 * _arg3) + (_local15 * _arg4));
_local17 = (_local16 * _arg3);
_local18 = (_local16 * _arg4);
_local19 = (_local14 - _local17);
_local20 = (_local15 - _local18);
if (_local16 < 0){
_local24 =
;
_local25 = (_local19 * _local24);
_local26 = (_local20 * _local24);
_local21 = (1 + );
_local22 = (_local17 * _local21);
_local23 = (_local18 * _local21);
_local11 = true;
} else {
_local26 = 0;
_local25 = _local26;
_local23 = _local25;
_local22 = _local23;
};
_local12.x = (_local12.x + _arg1);
_local12.y = (_local12.y + _arg2);
_local13.x = (_local13.x + ((_arg1 + _local22) + _local25));
_local13.y = (_local13.y + ((_arg2 + _local23) + _local26));
_arg5 = _local12;
_arg6 = _local13;
return (_local11);
}
public function
():Vector2{
return (
);
}
public function
(_arg1:Vector2, _arg2:Vector2, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Boolean{
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
var _local12:*;
var _local13:*;
_local8 = (_arg1.x - _arg4);
_local9 = ((_arg6 + _arg3) - Math.abs(_local8));
if (0 < _local9){
_local10 = (_arg1.y - _arg5);
_local11 = ((_arg7 + _arg3) - Math.abs(_local10));
if (0 < _local11){
_local12 = 0;
_local13 = 0;
if (_local8 < -(_arg6)){
_local12 = -1;
} else {
if (_arg6 < _local8){
_local12 = 1;
};
};
if (_local10 < -(_arg7)){
_local13 = -1;
} else {
if (_arg7 < _local10){
_local13 = 1;
};
};
.x = _local9;
.y = _local11;
return ( (_local9, _local11, _local12, _local13, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
};
};
return (false);
}
public function solve(_arg1:Boolean, _arg2:Boolean):void{
if ((((_arg2 == true)) && ((_arg1 == false)))){
.vx = ( .x + .x);
.vy = ( .y + .y);
};
}
}
}//package FoofaGeom
Section 37
//ConvexPoly (FoofaGeom.ConvexPoly)
package FoofaGeom {
import flash.display.*;
import flash.geom.*;
public class ConvexPoly {
protected var
:AABB;
public var particles:Array;
public function ConvexPoly(_arg1:Array){
this.particles = _arg1;
();
}
public function draw(_arg1:Graphics):void{
var _local2:int;
var _local3:Particle;
var _local4:Particle;
_local3 = particles[0];
_arg1.moveTo(_local3.x, _local3.y);
_local2 = 1;
while (_local2 < particles.length) {
_local4 = Particle(particles[_local2]);
_arg1.lineTo(_local4.x, _local4.y);
_local2++;
};
_arg1.lineTo(_local3.x, _local3.y);
}
public function getAABB():AABB{
return (
);
}
private function ():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Particle;
_local1 = Number.POSITIVE_INFINITY;
_local2 = Number.POSITIVE_INFINITY;
_local3 = Number.NEGATIVE_INFINITY;
_local4 = Number.NEGATIVE_INFINITY;
for each (_local5 in particles) {
if (_local5.x < _local1){
_local1 = _local5.x;
};
if (_local5.x > _local3){
_local3 = _local5.x;
};
if (_local5.y < _local2){
_local2 = _local5.y;
};
if (_local5.y > _local4){
_local4 = _local5.y;
};
};
= new AABB(_local1, _local3, _local2, _local4);
}
public function GetPointArray():Array{
var _local1:int;
var _local2:Array;
_local2 = new Array(particles.length);
_local1 = 0;
while (_local1 < particles.length) {
_local2[_local1] = new Point(particles[_local1].x, particles[_local1].y);
_local1++;
};
return (_local2);
}
}
}//package FoofaGeom
Section 38
//FoofaGeomUtils (FoofaGeom.FoofaGeomUtils)
package FoofaGeom {
import flash.geom.*;
public class FoofaGeomUtils {
private static var x1:Number;
private static var ynew:Number;
private static var poly:Array = new Array(4);
private static var y2:Number;
private static var yold:Number;
private static var y1:Number;
private static var turnCDA:Number;
private static var turnCDB:Number;
private static var turnABC:Number;
private static var turnABD:Number;
private static var xnew:Number;
private static var i:Number;
private static var xold:Number;
private static var x2:Number;
private static var inside:Boolean;
private function (_arg1:Number, _arg2:Number):Number{
return (((Math.random() * (_arg2 - _arg1)) + _arg1));
}
public static function Trim(_arg1:Number, _arg2:Number, _arg3:Number):Number{
var _local4:Number;
_local4 = _arg1;
if (_arg1 < _arg2){
_local4 = _arg2;
} else {
if (_arg1 > _arg3){
_local4 = _arg3;
};
};
return (_local4);
}
public static function ComputeTurn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Number{
return (((((((_arg2 * _arg3) - (_arg4 * _arg1)) + (_arg6 * _arg1)) - (_arg2 * _arg5)) + (_arg4 * _arg5)) - (_arg6 * _arg3)));
}
public static function CrossProduct2DMagnitude(_arg1:Vector2, _arg2:Vector2):Number{
return (((_arg1.x * _arg2.y) - (_arg1.y * _arg2.x)));
}
public static function DotProd2(_arg1:Vector2, _arg2:Vector2):Number{
return (((_arg1.x * _arg2.x) + (_arg1.y * _arg2.y)));
}
public static function Distance(_arg1:Point, _arg2:Point):Number{
return (Math.sqrt((((_arg1.x - _arg2.x) * (_arg1.x - _arg2.x)) + ((_arg1.y - _arg2.y) * (_arg1.y - _arg2.y)))));
}
public static function AngleFromDir(_arg1:Number, _arg2:Number):Number{
return (Math.atan2(_arg1, _arg2));
}
public static function ReflectVectorOnLine(_arg1:Vector2, _arg2:Vector2):Vector2{
var _local3:Number;
var _local4:Vector2;
_local3 = DotProd2(_arg2, _arg1);
_local4 = new Vector2();
_local4.x = (_arg1.x - ((2 * _arg2.x) * _local3));
_local4.y = (_arg1.y - ((2 * _arg2.y) * _local3));
return (_local4);
}
public static function ProjectAonB(_arg1:Vector2, _arg2:Vector2):Vector2{
var _local3:Number;
var _local4:Number;
var _local5:Vector2;
_local3 = DotProd2(_arg1, _arg2);
_local4 = _arg2.squaredLength;
_local5 = new Vector2(((_local3 / _local4) * _arg2.x), ((_local3 / _local4) * _arg2.y));
return (_local5);
}
public static function SquaredDistance(_arg1:Point, _arg2:Point):Number{
return ((((_arg1.x - _arg2.x) * (_arg1.x - _arg2.x)) + ((_arg1.y - _arg2.y) * (_arg1.y - _arg2.y))));
}
public static function SquaredDistanceFromCoords(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg1 - _arg3) * (_arg1 - _arg3)) + ((_arg2 - _arg4) * (_arg2 - _arg4))));
}
public static function Turn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Number{
var _local7:Number;
_local7 = ComputeTurn(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
if (_local7 > 0.001){
return (1);
};
if (_local7 < -0.001){
return (-1);
};
return (0);
}
public static function AngleBetweenVectors2Deg(_arg1:Vector2, _arg2:Vector2):Number{
return (((AngleBetweenVectors2Rad(_arg1, _arg2) * 90) / Math.PI));
}
public static function InPoly(_arg1:Point, _arg2:Point, _arg3:Point, _arg4:Point, _arg5:Point):Boolean{
inside = false;
poly[0] = _arg1;
poly[1] = _arg2;
poly[2] = _arg3;
poly[3] = _arg4;
xold = poly[3].x;
yold = poly[3].y;
i = 0;
while (i < poly.length) {
xnew = poly[i].x;
ynew = poly[i].y;
if (xnew > xold){
x1 = xold;
x2 = xnew;
y1 = yold;
y2 = ynew;
} else {
x1 = xnew;
x2 = xold;
y1 = ynew;
y2 = yold;
};
if (((((xnew < _arg5.x) == (_arg5.x <= xold))) && ((((_arg5.y - y1) * (x2 - x1)) < ((y2 - y1) * (_arg5.x - x1)))))){
inside = !(inside);
};
xold = xnew;
yold = ynew;
i++;
};
return (inside);
}
public static function Vector2Sum(_arg1:Vector2, _arg2:Vector2):Vector2{
var _local3:Vector2;
_local3 = new Vector2((_arg1.x + _arg2.x), (_arg1.y + _arg2.y));
return (_local3);
}
public static function GetSign(_arg1:Number):Number{
if (_arg1 >= 0){
return (1);
};
return (-1);
}
public static function FromRadiansToDiplayObjectRotation(_arg1:Number):Number{
return ((((_arg1 * 180) / Math.PI) + 90));
}
public static function AngleBetweenVectors2Rad(_arg1:Vector2, _arg2:Vector2):Number{
return ((Math.atan2(_arg2.y, _arg2.x) - Math.atan2(_arg1.y, _arg1.x)));
}
}
}//package FoofaGeom
Section 39
//Particle (FoofaGeom.Particle)
package FoofaGeom {
import flash.geom.*;
public class Particle {
public var vx:Number;
public var vy:Number;
var
:Number;
var :Number;
public var x:Number;
public var y:Number;
public function Particle(_arg1:Number, _arg2:Number){
this.x = _arg1;
this.y = _arg2;
vx = (vy = 0);
}
public function (_arg1:Number):void{
x = ( + (vx * _arg1));
y = (
+ (vy * _arg1));
}
public function ():void{
= x;
= y;
}
public function ():void{
= x;
= y;
x = (x + vx);
y = (y + vy);
}
public function toPoint():Point{
return (new Point(x, y));
}
public function (_arg1:Particle):Vector2{
return (new Vector2((x - _arg1.x), (y - _arg1.y)));
}
}
}//package FoofaGeom
Section 40
//SpatialGrid (FoofaGeom.SpatialGrid)
package FoofaGeom {
import flash.geom.*;
public class SpatialGrid {
private var :Number;
private var :Number;
private var :Number;
protected var cellArray:Array;
private var :Number;
public function SpatialGrid(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Array){
= _arg1;
= _arg2;
= Math.floor(_arg3);
= Math.floor(_arg4);
cellArray = _arg5;
}
public function get cellPixelHeight():Number{
return ();
}
public function FromGridPosToGridIndex(_arg1:uint, _arg2:uint):uint{
return (((_arg2 * ( - 1)) + _arg1));
}
public function (_arg1:uint):Number{
return ((Math.floor((_arg1 / )) - 1));
}
public function (_arg1:int, _arg2:int):uint{
return (((Math.floor((_arg2 / )) * ) + Math.floor((_arg1 / ))));
}
public function (_arg1:uint):Number{
return (((_arg1 % ) - 1));
}
public function get yCellCount():Number{
return ();
}
public function FromPixelPosToGridX(_arg1:Point):Number{
return (Math.floor((_arg1.x / )));
}
public function FromPixelPosToGridY(_arg1:Point):Number{
return (Math.floor((_arg1.y / )));
}
public function get cellPixelWidth():Number{
return ();
}
public function FromPixelYToGridY(_arg1:int):Number{
return (Math.floor((_arg1 / )));
}
public function get xCellCount():Number{
return ();
}
public function FromPixelPosToGridIndex(_arg1:Point):uint{
return (((Math.floor((_arg1.y / )) * ) + Math.floor((_arg1.x / ))));
}
public function FromPixelXToGridX(_arg1:int):Number{
return (Math.floor((_arg1 / )));
}
}
}//package FoofaGeom
Section 41
//Vector2 (FoofaGeom.Vector2)
package FoofaGeom {
import flash.geom.*;
public class Vector2 extends Point {
public function Vector2(_arg1:Number=0, _arg2:Number=0){
super(_arg1, _arg2);
}
public function ():Vector2{
return (new Vector2(x, y));
}
public function get rightNormal():Vector2{
var _local1:Vector2;
_local1 = new Vector2(-(y), x);
return (_local1);
}
public function
():void{
}
public function get leftNormal():Vector2{
var _local1:Vector2;
_local1 = new Vector2(y, -(x));
return (_local1);
}
public function (_arg1:Vector2):void{
x = _arg1.x;
y = _arg1.y;
}
public function get squaredLength():Number{
return (((x * x) + (y * y)));
}
}
}//package FoofaGeom
Section 42
//FoofaAlphaController (FoofaUtilities.FoofaAlphaController)
package FoofaUtilities {
import flash.events.*;
import flash.display.*;
import FoofaCore.*;
public class FoofaAlphaController extends MovieClip {
private var :Boolean;
private var :String;
public var preloaderInst:Preloader;
private var :String;
private var :uint;
private var
:Boolean;
private var :uint;
private var :uint;
public var playerCheckInst:PlayerCheck;
private var
:uint;
private var
:uint;
public var siteCheckInst:FoofaSiteCheck;
public function FoofaAlphaController(){
= "";
= false;
= false;
= "foofa.net";
= 9;
= 0;
= 115;
= 0;
siteCheckInst.visible = false;
playerCheckInst.visible = false;
preloaderInst.visible = false;
}
private function (_arg1:Event):void{
preloaderInst.visible = true;
}
private function
(_arg1:Event):void{
MovieClip(parent).gotoAndStop();
}
private function (_arg1:ProgressEvent):void{
var _local2:Number;
preloaderInst.bar.scaleX = (_arg1.bytesLoaded / _arg1.bytesTotal);
_local2 = Math.floor((preloaderInst.bar.scaleX * 100));
preloaderInst.pupille.gotoAndStop(_local2);
preloaderInst.percText.text = _local2.toString(10);
if (parent.loaderInfo.bytesLoaded == parent.loaderInfo.bytesTotal){
MovieClip(parent).gotoAndStop();
MovieClip(parent).removeEventListener("enterFrame",
);
MovieClip(parent).loaderInfo.removeEventListener(ProgressEvent.PROGRESS, );
};
}
public function Start(_arg1:String, _arg2:uint=2, _arg3:Boolean=false, _arg4:Boolean=false, _arg5:String="foofa.net", _arg6:uint=0, _arg7:uint=115, _arg8:uint=0, _arg9:uint=9):void{
var _local10:String;
var _local11:String;
= _arg1;
= _arg2;
= _arg3;
= _arg4;
= _arg5;
= _arg9;
= _arg8;
= _arg7;
= _arg6;
siteCheckInst.visible = false;
playerCheckInst.visible = false;
preloaderInst.visible = false;
_local10 = parent.root.loaderInfo.url.substr(0, .length);
_local11 = parent.root.loaderInfo.url.substr((.length + 1));
_local11 = _local11.substring(0, _local11.indexOf(".swf"));
if (((!(
)) || ((((_local10 == )) && ((_local11.indexOf(".") == -1)))))){
removeChild(siteCheckInst);
if (((!()) || (FlashPlayerVersion.Check(playerCheckInst.yourVersionTxt, , ,
,
)))){
removeChild(playerCheckInst);
parent.loaderInfo.addEventListener(Event.INIT, );
parent.loaderInfo.addEventListener(ProgressEvent.PROGRESS, );
parent.loaderInfo.addEventListener(Event.COMPLETE,
);
parent.addEventListener("enterFrame",
);
} else {
playerCheckInst.requiredVersionTxt.text = ((((((
+ ".") +
) + ".") + ) + ".") + );
playerCheckInst.visible = true;
};
} else {
siteCheckInst.playTxt.text = (("Play " + ) + " on");
siteCheckInst.visible = true;
};
MovieClip(parent).stop();
}
private function
(_arg1:Event){
if (parent.loaderInfo.bytesLoaded == parent.loaderInfo.bytesTotal){
MovieClip(parent).gotoAndPlay();
MovieClip(parent).removeEventListener("enterFrame",
);
MovieClip(parent).loaderInfo.removeEventListener(ProgressEvent.PROGRESS, );
};
}
}
}//package FoofaUtilities
Section 43
//Camera2d (FoofaView.Camera2d)
package FoofaView {
import flash.geom.*;
public interface Camera2d {
function Update():void;
function get centerPosition():Point;
}
}//package FoofaView
Section 44
//Camera2d_FollowTargetInBounds (FoofaView.Camera2d_FollowTargetInBounds)
package FoofaView {
import flash.display.*;
import flash.geom.*;
public class Camera2d_FollowTargetInBounds implements Camera2d {
private var :Number;
private var
:Number;
private var :Number;
private var :Rectangle;
protected var :Point;
private var :Number;
private var :Number;
private var :Rectangle;
protected var screenHeight:int;
private var :Number;
protected var screenWidth:int;
private var
:Boolean;
private var :Number;
protected var worldObject:DisplayObject;
private var :Number;
public function Camera2d_FollowTargetInBounds(_arg1:DisplayObject, _arg2:Point, _arg3:int, _arg4:int, _arg5:Rectangle):void{
= _arg2;
worldObject = _arg1;
screenWidth = _arg3;
screenHeight = _arg4;
= _arg5;
= 0;
= 0;
= false;
= new Rectangle();
(.left, .right, .top, .bottom);
}
public function set rightBound(_arg1:Number):void{
.right = _arg1;
}
public function get ScrollX():Number{
return ();
}
public function get bottomBound():Number{
return (.bottom);
}
public function ShakingEffect(_arg1:Number, _arg2:Number, _arg3:Number){
= true;
= -1;
= _arg1;
= _arg2;
= _arg3;
}
public function (_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){
.left = _arg1;
.right = _arg2;
.top = _arg3;
.bottom = _arg4;
}
public function IsShaking():Boolean{
return (
);
}
public function get ScrollY():Number{
return ( );
}
public function get centerPosition():Point{
return ();
}
public function set bottomBound(_arg1:Number):void{
.bottom = _arg1;
}
public function get topBound():Number{
return (.top);
}
public function get leftBound():Number{
return (.left);
}
public function set centerPosition(_arg1:Point):void{
= _arg1;
}
public function get rightBound():Number{
return (.right);
}
public function set topBound(_arg1:Number):void{
.top = _arg1;
}
public function Update():void{
= (-(.x) + (screenWidth / 2));
= (-(.y) + (screenHeight / 2));
if ((((-() > .left)) && ((-() < (.right - screenWidth))))){
= ;
} else {
if (-() >= (.right - screenWidth)){
= -((.right - screenWidth));
} else {
if (-() <= .left){
= -(.left);
};
};
};
if ((((-(
) > .top)) && ((-(
) < (.bottom - screenHeight))))){
=
;
} else {
if (-(
) >= (.bottom - screenHeight)){
= -((.bottom - screenHeight));
} else {
if (-() <= .top){
= -(.top);
};
};
};
if (
){
if (( % ( * 2)) == 0){
= ( + );
= ( + );
} else {
if (( % ( * 2)) == ){
= ( - );
= ( - );
};
};
++;
if ( > ){
= false;
};
};
= null;
= new Rectangle(-(), -( ), screenWidth, screenHeight);
worldObject.scrollRect = ;
}
public function set leftBound(_arg1:Number):void{
.left = _arg1;
}
}
}//package FoofaView
Section 45
//barravita_156 (fooWarrior_fla.barravita_156)
package fooWarrior_fla {
import flash.display.*;
public dynamic class barravita_156 extends MovieClip {
public var maskLife:MovieClip;
}
}//package fooWarrior_fla
Section 46
//cannone_carro_artiglieria_23 (fooWarrior_fla.cannone_carro_artiglieria_23)
package fooWarrior_fla {
import flash.display.*;
public dynamic class cannone_carro_artiglieria_23 extends MovieClip {
public function cannone_carro_artiglieria_23(){
addFrameScript(0, frame1, 20, frame21, 50, );
}
function frame1(){
stop();
}
function frame21(){
gotoAndPlay(1);
}
function (){
stop();
}
}
}//package fooWarrior_fla
Section 47
//CMG_Logo_Animation_1 (fooWarrior_fla.CMG_Logo_Animation_1)
package fooWarrior_fla {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.text.*;
import flash.media.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.external.*;
import flash.ui.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class CMG_Logo_Animation_1 extends MovieClip {
public var CMG_MonkeyBlink:MovieClip;
public var CMG_HomePageLink:SimpleButton;
public var :Timer;
public var CMG_LoadingWidget:MovieClip;
public function CMG_Logo_Animation_1(){
addFrameScript(0, frame1, 80, , 81, );
}
public function goToUrl(_arg1:String):void{
var success:Boolean;
var url = _arg1;
success = false;
if (((ExternalInterface.available) && (!((Capabilities.playerType == "External"))))){
try {
ExternalInterface.call("window.open", url, "win", "");
success = true;
} catch(error:Error) {
} catch(error:SecurityError) {
};
};
if (success != true){
navigateToURL(new URLRequest(url), "_BLANK");
};
}
function (){
stop();
.addEventListener(TimerEvent.TIMER,
);
.start();
}
function (){
.stop();
MovieClip(parent).nextFrame();
}
public function (_arg1:MouseEvent):void{
goToUrl("http://www.crazymonkeygames.com");
}
function frame1(){
MovieClip(parent).stop();
CMG_HomePageLink.addEventListener(MouseEvent.MOUSE_UP, );
addEventListener(Event.ENTER_FRAME, );
= new Timer(800);
}
public function (_arg1:Event):void{
var _local2:Number;
var _local3:Number;
_local2 = CMG_HomePageLink.stage.loaderInfo.bytesLoaded;
_local3 = CMG_HomePageLink.stage.loaderInfo.bytesTotal;
CMG_LoadingWidget.CMG_LoadingBar.bar.scaleX = (_local2 / _local3);
if (_local2 == _local3){
CMG_LoadingWidget.nextFrame();
removeEventListener(Event.ENTER_FRAME, );
};
}
public function
(_arg1:TimerEvent):void{
var _local2:Number;
_local2 = Math.random();
if (_local2 < 0.3){
CMG_MonkeyBlink.play();
};
}
}
}//package fooWarrior_fla
Section 48
//CMG_monkey_blink_19 (fooWarrior_fla.CMG_monkey_blink_19)
package fooWarrior_fla {
import flash.display.*;
public dynamic class CMG_monkey_blink_19 extends MovieClip {
public function CMG_monkey_blink_19(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package fooWarrior_fla
Section 49
//flyFireGranade_174 (fooWarrior_fla.flyFireGranade_174)
package fooWarrior_fla {
import flash.display.*;
public dynamic class flyFireGranade_174 extends MovieClip {
public function flyFireGranade_174(){
addFrameScript(32, frame33);
}
function frame33(){
stop();
}
}
}//package fooWarrior_fla
Section 50
//flyGranade_170 (fooWarrior_fla.flyGranade_170)
package fooWarrior_fla {
import flash.display.*;
public dynamic class flyGranade_170 extends MovieClip {
public function flyGranade_170(){
addFrameScript(32, frame33);
}
function frame33(){
stop();
}
}
}//package fooWarrior_fla
Section 51
//flyMortaio_172 (fooWarrior_fla.flyMortaio_172)
package fooWarrior_fla {
import flash.display.*;
public dynamic class flyMortaio_172 extends MovieClip {
public function flyMortaio_172(){
addFrameScript(32, frame33);
}
function frame33(){
stop();
}
}
}//package fooWarrior_fla
Section 52
//INTROFOOFASTUDIOS_240 (fooWarrior_fla.INTROFOOFASTUDIOS_240)
package fooWarrior_fla {
import flash.events.*;
import flash.display.*;
import flash.net.*;
public dynamic class INTROFOOFASTUDIOS_240 extends MovieClip {
public var mcBtn_foofaz:pulsanteschermataintro;
public var :DisplayObject;
public function INTROFOOFASTUDIOS_240(){
addFrameScript(0, frame1, 106, , 142, );
}
function (){
}
public function (_arg1:Event):void{
}
function frame1(){
= getChildByName("mcBtn_foofaz");
.addEventListener(MouseEvent.MOUSE_UP, );
}
function (){
}
public function (_arg1:Event):void{
navigateToURL(new URLRequest("http://www.foofa.net"), "_blank");
}
}
}//package fooWarrior_fla
Section 53
//load_barMC_12 (fooWarrior_fla.load_barMC_12)
package fooWarrior_fla {
import flash.display.*;
public dynamic class load_barMC_12 extends MovieClip {
public var bar:MovieClip;
}
}//package fooWarrior_fla
Section 54
//MainTimeline (fooWarrior_fla.MainTimeline)
package fooWarrior_fla {
import flash.display.*;
import FoofaCore.*;
import flash.media.*;
public dynamic class MainTimeline extends MovieClip {
public var playerCheckInst:PlayerCheck;
public var cmgPreloader:MovieClip;
public function MainTimeline(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, , 10, , 11, , 12, , 13, , 14, , 15,
, 16, , 17,
, 18, , 19, frame20, 20, frame21, 21, , 22, , 23, , 24, , 25, , 26, , 27, , 28, , 29, , 30, frame31, 31, , 32, frame33, 33, , 34, , 35, frame36, 36,
, 37, frame38, 38, , 39, , 40,
, 41, , 185, );
}
function (){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function (){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function
(){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function (){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function frame3(){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function frame6(){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function frame7(){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function frame1(){
playerCheckInst.visible = false;
if (FlashPlayerVersion.Check(playerCheckInst.yourVersionTxt, 0, 115, 0, 9)){
removeChild(playerCheckInst);
MochiBot.track(this, "485d90dc");
};
}
function (){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function (){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function (){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function (){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function frame4(){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function frame5(){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function frame9(){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function (){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function
(){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function frame8(){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function frame21(){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function frame2(){
while (this.numChildren > 0) {
this.removeChildAt((this.numChildren - 1));
};
gotoAndPlay((currentFrame + 1));
while (this.numChildren > 0) {
this.removeChildAt((this.numChildren - 1));
};
gotoAndPlay((currentFrame + 1));
}
function (){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function (){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function (){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function (){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function frame20(){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function (){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function frame31(){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function (){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function (){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function (){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function (){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function frame36(){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function
(){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function (){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function (){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function
(){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function (){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function (){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function frame33(){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function (){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function (){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
function (){
stop();
}
function frame38(){
SoundMixer.stopAll();
gotoAndPlay((currentFrame + 1));
}
}
}//package fooWarrior_fla
Section 55
//pallina_mappa_226 (fooWarrior_fla.pallina_mappa_226)
package fooWarrior_fla {
import flash.display.*;
public dynamic class pallina_mappa_226 extends MovieClip {
public function pallina_mappa_226(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package fooWarrior_fla
Section 56
//popup_158 (fooWarrior_fla.popup_158)
package fooWarrior_fla {
import flash.display.*;
public dynamic class popup_158 extends MovieClip {
public function popup_158(){
addFrameScript(0, frame1, 57, );
}
function frame1(){
stop();
}
function (){
stop();
}
}
}//package fooWarrior_fla
Section 57
//Preloader_2 (fooWarrior_fla.Preloader_2)
package fooWarrior_fla {
import flash.events.*;
import flash.display.*;
public dynamic class Preloader_2 extends MovieClip {
public var CMG_LoadingBar:MovieClip;
public var play_btn:SimpleButton;
public function Preloader_2(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
play_btn.addEventListener(MouseEvent.MOUSE_UP,
);
}
public function
(_arg1:MouseEvent):void{
MovieClip(parent).gotoAndStop(82);
}
}
}//package fooWarrior_fla
Section 58
//rafficaContinue_232 (fooWarrior_fla.rafficaContinue_232)
package fooWarrior_fla {
import flash.display.*;
public dynamic class rafficaContinue_232 extends MovieClip {
public function rafficaContinue_232(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
}
}
}//package fooWarrior_fla
Section 59
//rafficaHall_234 (fooWarrior_fla.rafficaHall_234)
package fooWarrior_fla {
import flash.display.*;
public dynamic class rafficaHall_234 extends MovieClip {
public function rafficaHall_234(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
}
}
}//package fooWarrior_fla
Section 60
//rafficaMore_236 (fooWarrior_fla.rafficaMore_236)
package fooWarrior_fla {
import flash.display.*;
public dynamic class rafficaMore_236 extends MovieClip {
public function rafficaMore_236(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
}
}
}//package fooWarrior_fla
Section 61
//rafficaNew_213 (fooWarrior_fla.rafficaNew_213)
package fooWarrior_fla {
import flash.display.*;
public dynamic class rafficaNew_213 extends MovieClip {
public function rafficaNew_213(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
}
}
}//package fooWarrior_fla
Section 62
//rafficaNew_93 (fooWarrior_fla.rafficaNew_93)
package fooWarrior_fla {
import flash.display.*;
public dynamic class rafficaNew_93 extends MovieClip {
public function rafficaNew_93(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
}
}
}//package fooWarrior_fla
Section 63
//rafficaNextMission_85 (fooWarrior_fla.rafficaNextMission_85)
package fooWarrior_fla {
import flash.display.*;
public dynamic class rafficaNextMission_85 extends MovieClip {
public function rafficaNextMission_85(){
addFrameScript(19, frame20);
}
function frame20(){
stop();
}
}
}//package fooWarrior_fla
Section 64
//Soundbutton_87 (fooWarrior_fla.Soundbutton_87)
package fooWarrior_fla {
import flash.display.*;
public dynamic class Soundbutton_87 extends MovieClip {
public var soundFxOffBtn:SimpleButton;
public var soundFxOnBtn:SimpleButton;
public function Soundbutton_87(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package fooWarrior_fla
Section 65
//torretta_carro_armato_gigante_194 (fooWarrior_fla.torretta_carro_armato_gigante_194)
package fooWarrior_fla {
import flash.display.*;
public dynamic class torretta_carro_armato_gigante_194 extends MovieClip {
public function torretta_carro_armato_gigante_194(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98, 127, frame128, 157, frame158, 187, frame188, 217, frame218, 247, frame248);
}
function frame158(){
stop();
}
function frame98(){
stop();
}
function frame218(){
stop();
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame188(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
function frame38(){
stop();
}
function frame248(){
stop();
}
function frame128(){
stop();
}
function frame68(){
stop();
}
}
}//package fooWarrior_fla
Section 66
//AmmoCrate (ThisGame.AmmoCrate)
package ThisGame {
public class AmmoCrate extends IsoObject {
public function AmmoCrate():void{
toDispose = false;
}
}
}//package ThisGame
Section 67
//AmmoCrate10 (ThisGame.AmmoCrate10)
package ThisGame {
public class AmmoCrate10 extends AmmoCrate {
const packValue:Number = 2;
const squaredRadius:Number = 200;
const weaponNumber:Number = 10;
public function AmmoCrate10():void{
}
public function Step(_arg1:State_InGame):void{
if ((((_arg1.player.x - x) * (_arg1.player.x - x)) + ((_arg1.player.y - y) * (_arg1.player.y - y))) < squaredRadius){
_arg1.PlaySound(_arg1.box);
_arg1.player.AddAmmo(_arg1, weaponNumber, packValue);
toDispose = true;
};
}
}
}//package ThisGame
Section 68
//AmmoCrate2 (ThisGame.AmmoCrate2)
package ThisGame {
public class AmmoCrate2 extends AmmoCrate {
const packValue:Number = 200;
const squaredRadius:Number = 200;
const weaponNumber:Number = 2;
public function AmmoCrate2():void{
}
public function Step(_arg1:State_InGame):void{
if ((((_arg1.player.x - x) * (_arg1.player.x - x)) + ((_arg1.player.y - y) * (_arg1.player.y - y))) < squaredRadius){
_arg1.PlaySound(_arg1.box);
_arg1.player.AddAmmo(_arg1, weaponNumber, packValue);
toDispose = true;
};
}
}
}//package ThisGame
Section 69
//AmmoCrate3 (ThisGame.AmmoCrate3)
package ThisGame {
public class AmmoCrate3 extends AmmoCrate {
const packValue:Number = 60;
const squaredRadius:Number = 200;
const weaponNumber:Number = 3;
public function AmmoCrate3():void{
}
public function Step(_arg1:State_InGame):void{
if ((((_arg1.player.x - x) * (_arg1.player.x - x)) + ((_arg1.player.y - y) * (_arg1.player.y - y))) < squaredRadius){
_arg1.PlaySound(_arg1.box);
_arg1.player.AddAmmo(_arg1, weaponNumber, packValue);
toDispose = true;
};
}
}
}//package ThisGame
Section 70
//AmmoCrate4 (ThisGame.AmmoCrate4)
package ThisGame {
public class AmmoCrate4 extends AmmoCrate {
const packValue:Number = 100;
const squaredRadius:Number = 200;
const weaponNumber:Number = 4;
public function AmmoCrate4():void{
}
public function Step(_arg1:State_InGame):void{
if ((((_arg1.player.x - x) * (_arg1.player.x - x)) + ((_arg1.player.y - y) * (_arg1.player.y - y))) < squaredRadius){
_arg1.PlaySound(_arg1.box);
_arg1.player.AddAmmo(_arg1, weaponNumber, packValue);
toDispose = true;
};
}
}
}//package ThisGame
Section 71
//AmmoCrate5 (ThisGame.AmmoCrate5)
package ThisGame {
public class AmmoCrate5 extends AmmoCrate {
const packValue:Number = 10;
const squaredRadius:Number = 200;
const weaponNumber:Number = 5;
public function AmmoCrate5():void{
}
public function Step(_arg1:State_InGame):void{
if ((((_arg1.player.x - x) * (_arg1.player.x - x)) + ((_arg1.player.y - y) * (_arg1.player.y - y))) < squaredRadius){
_arg1.PlaySound(_arg1.box);
_arg1.player.AddAmmo(_arg1, weaponNumber, packValue);
toDispose = true;
};
}
}
}//package ThisGame
Section 72
//AmmoCrate6 (ThisGame.AmmoCrate6)
package ThisGame {
public class AmmoCrate6 extends AmmoCrate {
const packValue:Number = 20;
const squaredRadius:Number = 200;
const weaponNumber:Number = 6;
public function AmmoCrate6():void{
}
public function Step(_arg1:State_InGame):void{
if ((((_arg1.player.x - x) * (_arg1.player.x - x)) + ((_arg1.player.y - y) * (_arg1.player.y - y))) < squaredRadius){
_arg1.PlaySound(_arg1.box);
_arg1.player.AddAmmo(_arg1, weaponNumber, packValue);
toDispose = true;
};
}
}
}//package ThisGame
Section 73
//AmmoCrate7 (ThisGame.AmmoCrate7)
package ThisGame {
public class AmmoCrate7 extends AmmoCrate {
const packValue:Number = 15;
const squaredRadius:Number = 200;
const weaponNumber:Number = 7;
public function AmmoCrate7():void{
}
public function Step(_arg1:State_InGame):void{
if ((((_arg1.player.x - x) * (_arg1.player.x - x)) + ((_arg1.player.y - y) * (_arg1.player.y - y))) < squaredRadius){
_arg1.PlaySound(_arg1.box);
_arg1.player.AddAmmo(_arg1, weaponNumber, packValue);
toDispose = true;
};
}
}
}//package ThisGame
Section 74
//AmmoCrate8 (ThisGame.AmmoCrate8)
package ThisGame {
public class AmmoCrate8 extends AmmoCrate {
const packValue:Number = 10;
const squaredRadius:Number = 200;
const weaponNumber:Number = 8;
public function AmmoCrate8():void{
}
public function Step(_arg1:State_InGame):void{
if ((((_arg1.player.x - x) * (_arg1.player.x - x)) + ((_arg1.player.y - y) * (_arg1.player.y - y))) < squaredRadius){
_arg1.PlaySound(_arg1.box);
_arg1.player.AddAmmo(_arg1, weaponNumber, packValue);
toDispose = true;
};
}
}
}//package ThisGame
Section 75
//AmmoCrate9 (ThisGame.AmmoCrate9)
package ThisGame {
public class AmmoCrate9 extends AmmoCrate {
const packValue:Number = 2;
const squaredRadius:Number = 200;
const weaponNumber:Number = 9;
public function AmmoCrate9():void{
}
public function Step(_arg1:State_InGame):void{
if ((((_arg1.player.x - x) * (_arg1.player.x - x)) + ((_arg1.player.y - y) * (_arg1.player.y - y))) < squaredRadius){
_arg1.PlaySound(_arg1.box);
_arg1.player.AddAmmo(_arg1, weaponNumber, packValue);
toDispose = true;
};
}
}
}//package ThisGame
Section 76
//AmmoInfo (ThisGame.AmmoInfo)
package ThisGame {
class AmmoInfo {
public var ammoCount:Number;
public var gunEnabled:Boolean;
public var maxCount:Number;
}
}//package ThisGame
Section 77
//Artillery (ThisGame.Artillery)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
public class Artillery extends MovieClip {
const lifeTime:int = 10000;
const squaredRadius:int = 8000;
const flyTime:int = 1100;
public var senderIsPlayer:Boolean;
private var
:int;
public var toDispose:Boolean;
public var flyG:DisplayObject;
var speed:Number;
var dTime:int;
var vSpeed:Number;
var startTime:int;
var startPos:Point;
var dir:Vector2;
public function Artillery():void{
dir = new Vector2(0, 0);
toDispose = false;
senderIsPlayer = false;
}
public function Step(_arg1:State_InGame):void{
var _local2:BigExplosion;
var _local3:BigExplosion;
var _local4:int;
var _local5:Point;
var _local6:BigExplosion;
var _local7:BigExplosion;
var _local8:BigExplosion;
dTime = (_arg1._time - startTime);
if (dTime <= lifeTime){
if ((((dTime > 6100)) && ((
== 5)))){
++;
_local2 = new BigExplosion();
_local2.x = 350;
_local2.y = ((startPos.y - 760) - (Math.random() * 200));
_local2.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local2);
_arg1.isoObjectActiveArray.push(_local2);
_local3 = new BigExplosion();
_local3.x = 590;
_local3.y = ((startPos.y - 760) - (Math.random() * 200));
_local3.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local3);
_arg1.isoObjectActiveArray.push(_local3);
_local4 = 0;
while (_local4 < _arg1.enemyActiveArray.length) {
_local5 = new Point(_arg1.enemyActiveArray[_local4].x, _arg1.enemyActiveArray[_local4].y);
if ((((_local5.x - _local2.x) * (_local5.x - _local2.x)) + ((_local5.y - _local2.y) * (_local5.y - _local2.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 3);
};
if ((((_local5.x - _local3.x) * (_local5.x - _local3.x)) + ((_local5.y - _local3.y) * (_local5.y - _local3.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 3);
};
_local4++;
};
_arg1.camera.ShakingEffect(10, 10, 1);
} else {
if ((((dTime > 6000)) && ((
== 4)))){
++;
_local2 = new BigExplosion();
_local2.x = 250;
_local2.y = ((startPos.y - 760) - (Math.random() * 200));
_local2.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local2);
_arg1.isoObjectActiveArray.push(_local2);
_local3 = new BigExplosion();
_local3.x = 450;
_local3.y = ((startPos.y - 760) - (Math.random() * 200));
_local3.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local3);
_arg1.isoObjectActiveArray.push(_local3);
_local4 = 0;
while (_local4 < _arg1.enemyActiveArray.length) {
_local5 = new Point(_arg1.enemyActiveArray[_local4].x, _arg1.enemyActiveArray[_local4].y);
if ((((_local5.x - _local2.x) * (_local5.x - _local2.x)) + ((_local5.y - _local2.y) * (_local5.y - _local2.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 3);
};
if ((((_local5.x - _local3.x) * (_local5.x - _local3.x)) + ((_local5.y - _local3.y) * (_local5.y - _local3.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 3);
};
_local4++;
};
_arg1.camera.ShakingEffect(10, 10, 1);
} else {
if ((((dTime > 5800)) && ((
== 3)))){
++;
_local2 = new BigExplosion();
_local2.x = 180;
_local2.y = ((startPos.y - 720) - (Math.random() * 200));
_local2.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local2);
_arg1.isoObjectActiveArray.push(_local2);
_local3 = new BigExplosion();
_local3.x = 520;
_local3.y = ((startPos.y - 720) - (Math.random() * 200));
_local3.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local3);
_arg1.isoObjectActiveArray.push(_local3);
_local4 = 0;
while (_local4 < _arg1.enemyActiveArray.length) {
_local5 = new Point(_arg1.enemyActiveArray[_local4].x, _arg1.enemyActiveArray[_local4].y);
if ((((_local5.x - _local2.x) * (_local5.x - _local2.x)) + ((_local5.y - _local2.y) * (_local5.y - _local2.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 3);
};
if ((((_local5.x - _local3.x) * (_local5.x - _local3.x)) + ((_local5.y - _local3.y) * (_local5.y - _local3.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 3);
};
_local4++;
};
_arg1.camera.ShakingEffect(10, 10, 1);
} else {
if ((((dTime > 5600)) && ((
== 2)))){
++;
_local2 = new BigExplosion();
_local2.x = 350;
_local2.y = ((startPos.y - 680) - (Math.random() * 200));
_local2.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local2);
_arg1.isoObjectActiveArray.push(_local2);
_local6 = new BigExplosion();
_local6.x = 250;
_local6.y = ((startPos.y - 680) - (Math.random() * 200));
_local6.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local6);
_arg1.isoObjectActiveArray.push(_local6);
_local7 = new BigExplosion();
_local7.x = 50;
_local7.y = ((startPos.y - 680) - (Math.random() * 200));
_local7.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local8 = new BigExplosion();
_local8.x = 450;
_local8.y = ((startPos.y - 680) - (Math.random() * 200));
_local8.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local8);
_arg1.isoObjectActiveArray.push(_local8);
_local3 = new BigExplosion();
_local3.x = 600;
_local3.y = ((startPos.y - 680) - (Math.random() * 200));
_local3.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local3);
_arg1.isoObjectActiveArray.push(_local3);
_local4 = 0;
while (_local4 < _arg1.enemyActiveArray.length) {
_local5 = new Point(_arg1.enemyActiveArray[_local4].x, _arg1.enemyActiveArray[_local4].y);
if ((((_local5.x - _local2.x) * (_local5.x - _local2.x)) + ((_local5.y - _local2.y) * (_local5.y - _local2.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 3);
};
if ((((_local5.x - _local6.x) * (_local5.x - _local6.x)) + ((_local5.y - _local6.y) * (_local5.y - _local6.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 3);
};
if ((((_local5.x - _local7.x) * (_local5.x - _local7.x)) + ((_local5.y - _local7.y) * (_local5.y - _local7.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 3);
};
if ((((_local5.x - _local8.x) * (_local5.x - _local8.x)) + ((_local5.y - _local8.y) * (_local5.y - _local8.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 3);
};
if ((((_local5.x - _local3.x) * (_local5.x - _local3.x)) + ((_local5.y - _local3.y) * (_local5.y - _local3.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 3);
};
_local4++;
};
_arg1.camera.ShakingEffect(10, 10, 1);
} else {
if ((((dTime > 5200)) && ((
== 1)))){
++;
_local2 = new BigExplosion();
_local2.x = 350;
_local2.y = ((startPos.y - 520) - (Math.random() * 200));
_local2.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local2);
_arg1.isoObjectActiveArray.push(_local2);
_local3 = new BigExplosion();
_local3.x = 550;
_local3.y = ((startPos.y - 520) - (Math.random() * 200));
_local3.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local3);
_arg1.isoObjectActiveArray.push(_local3);
_local4 = 0;
while (_local4 < _arg1.enemyActiveArray.length) {
_local5 = new Point(_arg1.enemyActiveArray[_local4].x, _arg1.enemyActiveArray[_local4].y);
if ((((_local5.x - _local2.x) * (_local5.x - _local2.x)) + ((_local5.y - _local2.y) * (_local5.y - _local2.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 3);
};
if ((((_local5.x - _local3.x) * (_local5.x - _local3.x)) + ((_local5.y - _local3.y) * (_local5.y - _local3.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 3);
};
_local4++;
};
_arg1.camera.ShakingEffect(10, 10, 1);
} else {
if ((((dTime > 5100)) && ((
== 0)))){
++;
_local2 = new BigExplosion();
_local2.x = 350;
_local2.y = ((startPos.y - 500) - (Math.random() * 200));
_local2.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local2);
_arg1.isoObjectActiveArray.push(_local2);
_local6 = new BigExplosion();
_local6.x = 250;
_local6.y = ((startPos.y - 500) - (Math.random() * 200));
_local6.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local6);
_arg1.isoObjectActiveArray.push(_local6);
_local7 = new BigExplosion();
_local7.x = 50;
_local7.y = ((startPos.y - 500) - (Math.random() * 200));
_local7.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local8 = new BigExplosion();
_local8.x = 450;
_local8.y = ((startPos.y - 500) - (Math.random() * 200));
_local8.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local8);
_arg1.isoObjectActiveArray.push(_local8);
_local3 = new BigExplosion();
_local3.x = 550;
_local3.y = ((startPos.y - 500) - (Math.random() * 200));
_local3.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local3);
_arg1.isoObjectActiveArray.push(_local3);
_local4 = 0;
while (_local4 < _arg1.enemyActiveArray.length) {
_local5 = new Point(_arg1.enemyActiveArray[_local4].x, _arg1.enemyActiveArray[_local4].y);
if ((((_local5.x - _local2.x) * (_local5.x - _local2.x)) + ((_local5.y - _local2.y) * (_local5.y - _local2.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 3);
};
if ((((_local5.x - _local6.x) * (_local5.x - _local6.x)) + ((_local5.y - _local6.y) * (_local5.y - _local6.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 3);
};
if ((((_local5.x - _local7.x) * (_local5.x - _local7.x)) + ((_local5.y - _local7.y) * (_local5.y - _local7.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 3);
};
if ((((_local5.x - _local8.x) * (_local5.x - _local8.x)) + ((_local5.y - _local8.y) * (_local5.y - _local8.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 3);
};
if ((((_local5.x - _local3.x) * (_local5.x - _local3.x)) + ((_local5.y - _local3.y) * (_local5.y - _local3.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 3);
};
_local4++;
};
_arg1.camera.ShakingEffect(10, 10, 1);
} else {
if ((((dTime > 4100)) && ((
== -1)))){
= 0;
_arg1.PlaySound(_arg1.weapon10_boom);
} else {
if ((((dTime > 500)) && ((
== -2)))){
= -1;
_arg1.PlaySound(_arg1.weapon10_fire);
};
};
};
};
};
};
};
};
} else {
if (dTime > lifeTime){
toDispose = true;
};
};
}
public function Init(_arg1:State_InGame, _arg2:Number, _arg3:Number):void{
dir.x = _arg2;
dir.y = _arg3;
startTime = _arg1._time;
speed = 3.6;
vSpeed = -6;
startPos = new Point(x, y);
= -2;
}
}
}//package ThisGame
Section 78
//B52 (ThisGame.B52)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
public class B52 extends MovieClip {
const lifeTime:int = 10000;
const squaredRadius:int = 8000;
const flyTime:int = 1100;
public var senderIsPlayer:Boolean;
private var
:int;
public var toDispose:Boolean;
public var flyG:DisplayObject;
var speed:Number;
var dTime:int;
var vSpeed:Number;
var startTime:int;
var startPos:Point;
var dir:Vector2;
public function B52():void{
dir = new Vector2(0, 0);
toDispose = false;
senderIsPlayer = false;
}
public function Step(_arg1:State_InGame):void{
var _local2:FireExplosion;
var _local3:FireExplosion;
var _local4:int;
var _local5:Point;
var _local6:FireExplosion;
var _local7:FireExplosion;
var _local8:FireExplosion;
dTime = (_arg1._time - startTime);
if (dTime <= lifeTime){
if (_arg1.camera.IsShaking() == false){
_arg1.camera.ShakingEffect(10, 1, 1);
};
x = (x + (dir.x * speed));
y = (y + (dir.y * speed));
if (
> 5){
scaleX = (scaleX * 0.99);
scaleY = (scaleY * 0.99);
speed = (speed * 1.05);
} else {
if ((((dTime > 6100)) && ((
== 5)))){
++;
_local2 = new FireExplosion();
_local2.x = 350;
_local2.y = ((startPos.y - 760) - (Math.random() * 200));
_local2.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local2);
_arg1.isoObjectActiveArray.push(_local2);
_local3 = new FireExplosion();
_local3.x = 590;
_local3.y = ((startPos.y - 760) - (Math.random() * 200));
_local3.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local3);
_arg1.isoObjectActiveArray.push(_local3);
_local4 = 0;
while (_local4 < _arg1.enemyActiveArray.length) {
_local5 = new Point(_arg1.enemyActiveArray[_local4].x, _arg1.enemyActiveArray[_local4].y);
if ((((_local5.x - _local2.x) * (_local5.x - _local2.x)) + ((_local5.y - _local2.y) * (_local5.y - _local2.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 2);
};
if ((((_local5.x - _local3.x) * (_local5.x - _local3.x)) + ((_local5.y - _local3.y) * (_local5.y - _local3.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 2);
};
_local4++;
};
_arg1.camera.ShakingEffect(10, 10, 1);
} else {
if ((((dTime > 6000)) && ((
== 4)))){
++;
_local2 = new FireExplosion();
_local2.x = 250;
_local2.y = ((startPos.y - 760) - (Math.random() * 200));
_local2.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local2);
_arg1.isoObjectActiveArray.push(_local2);
_local3 = new FireExplosion();
_local3.x = 450;
_local3.y = ((startPos.y - 760) - (Math.random() * 200));
_local3.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local3);
_arg1.isoObjectActiveArray.push(_local3);
_local4 = 0;
while (_local4 < _arg1.enemyActiveArray.length) {
_local5 = new Point(_arg1.enemyActiveArray[_local4].x, _arg1.enemyActiveArray[_local4].y);
if ((((_local5.x - _local2.x) * (_local5.x - _local2.x)) + ((_local5.y - _local2.y) * (_local5.y - _local2.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 2);
};
if ((((_local5.x - _local3.x) * (_local5.x - _local3.x)) + ((_local5.y - _local3.y) * (_local5.y - _local3.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 2);
};
_local4++;
};
_arg1.camera.ShakingEffect(10, 10, 1);
} else {
if ((((dTime > 5800)) && ((
== 3)))){
++;
_local2 = new FireExplosion();
_local2.x = 180;
_local2.y = ((startPos.y - 720) - (Math.random() * 200));
_local2.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local2);
_arg1.isoObjectActiveArray.push(_local2);
_local3 = new FireExplosion();
_local3.x = 520;
_local3.y = ((startPos.y - 720) - (Math.random() * 200));
_local3.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local3);
_arg1.isoObjectActiveArray.push(_local3);
_local4 = 0;
while (_local4 < _arg1.enemyActiveArray.length) {
_local5 = new Point(_arg1.enemyActiveArray[_local4].x, _arg1.enemyActiveArray[_local4].y);
if ((((_local5.x - _local2.x) * (_local5.x - _local2.x)) + ((_local5.y - _local2.y) * (_local5.y - _local2.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 2);
};
if ((((_local5.x - _local3.x) * (_local5.x - _local3.x)) + ((_local5.y - _local3.y) * (_local5.y - _local3.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 2);
};
_local4++;
};
_arg1.camera.ShakingEffect(10, 10, 1);
} else {
if ((((dTime > 5600)) && ((
== 2)))){
++;
_local2 = new FireExplosion();
_local2.x = 350;
_local2.y = ((startPos.y - 680) - (Math.random() * 200));
_local2.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local2);
_arg1.isoObjectActiveArray.push(_local2);
_local6 = new FireExplosion();
_local6.x = 250;
_local6.y = ((startPos.y - 680) - (Math.random() * 200));
_local6.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local6);
_arg1.isoObjectActiveArray.push(_local6);
_local7 = new FireExplosion();
_local7.x = 50;
_local7.y = ((startPos.y - 680) - (Math.random() * 200));
_local7.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local8 = new FireExplosion();
_local8.x = 450;
_local8.y = ((startPos.y - 680) - (Math.random() * 200));
_local8.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local8);
_arg1.isoObjectActiveArray.push(_local8);
_local3 = new FireExplosion();
_local3.x = 600;
_local3.y = ((startPos.y - 680) - (Math.random() * 200));
_local3.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local3);
_arg1.isoObjectActiveArray.push(_local3);
_local4 = 0;
while (_local4 < _arg1.enemyActiveArray.length) {
_local5 = new Point(_arg1.enemyActiveArray[_local4].x, _arg1.enemyActiveArray[_local4].y);
if ((((_local5.x - _local2.x) * (_local5.x - _local2.x)) + ((_local5.y - _local2.y) * (_local5.y - _local2.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 2);
};
if ((((_local5.x - _local6.x) * (_local5.x - _local6.x)) + ((_local5.y - _local6.y) * (_local5.y - _local6.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 2);
};
if ((((_local5.x - _local7.x) * (_local5.x - _local7.x)) + ((_local5.y - _local7.y) * (_local5.y - _local7.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 2);
};
if ((((_local5.x - _local8.x) * (_local5.x - _local8.x)) + ((_local5.y - _local8.y) * (_local5.y - _local8.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 2);
};
if ((((_local5.x - _local3.x) * (_local5.x - _local3.x)) + ((_local5.y - _local3.y) * (_local5.y - _local3.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 2);
};
_local4++;
};
_arg1.camera.ShakingEffect(10, 10, 1);
} else {
if ((((dTime > 5200)) && ((
== 1)))){
++;
_local2 = new FireExplosion();
_local2.x = 350;
_local2.y = ((startPos.y - 520) - (Math.random() * 200));
_local2.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local2);
_arg1.isoObjectActiveArray.push(_local2);
_local3 = new FireExplosion();
_local3.x = 550;
_local3.y = ((startPos.y - 520) - (Math.random() * 200));
_local3.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local3);
_arg1.isoObjectActiveArray.push(_local3);
_local4 = 0;
while (_local4 < _arg1.enemyActiveArray.length) {
_local5 = new Point(_arg1.enemyActiveArray[_local4].x, _arg1.enemyActiveArray[_local4].y);
if ((((_local5.x - _local2.x) * (_local5.x - _local2.x)) + ((_local5.y - _local2.y) * (_local5.y - _local2.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 2);
};
if ((((_local5.x - _local3.x) * (_local5.x - _local3.x)) + ((_local5.y - _local3.y) * (_local5.y - _local3.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 2);
};
_local4++;
};
_arg1.camera.ShakingEffect(10, 10, 1);
} else {
if ((((dTime > 5100)) && ((
== 0)))){
++;
_local2 = new FireExplosion();
_local2.x = 350;
_local2.y = ((startPos.y - 500) - (Math.random() * 200));
_local2.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local2);
_arg1.isoObjectActiveArray.push(_local2);
_local6 = new FireExplosion();
_local6.x = 250;
_local6.y = ((startPos.y - 500) - (Math.random() * 200));
_local6.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local6);
_arg1.isoObjectActiveArray.push(_local6);
_local7 = new FireExplosion();
_local7.x = 50;
_local7.y = ((startPos.y - 500) - (Math.random() * 200));
_local7.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local8 = new FireExplosion();
_local8.x = 450;
_local8.y = ((startPos.y - 500) - (Math.random() * 200));
_local8.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local8);
_arg1.isoObjectActiveArray.push(_local8);
_local3 = new FireExplosion();
_local3.x = 550;
_local3.y = ((startPos.y - 500) - (Math.random() * 200));
_local3.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local3);
_arg1.isoObjectActiveArray.push(_local3);
_local4 = 0;
while (_local4 < _arg1.enemyActiveArray.length) {
_local5 = new Point(_arg1.enemyActiveArray[_local4].x, _arg1.enemyActiveArray[_local4].y);
if ((((_local5.x - _local2.x) * (_local5.x - _local2.x)) + ((_local5.y - _local2.y) * (_local5.y - _local2.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 2);
};
if ((((_local5.x - _local6.x) * (_local5.x - _local6.x)) + ((_local5.y - _local6.y) * (_local5.y - _local6.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 2);
};
if ((((_local5.x - _local7.x) * (_local5.x - _local7.x)) + ((_local5.y - _local7.y) * (_local5.y - _local7.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 2);
};
if ((((_local5.x - _local8.x) * (_local5.x - _local8.x)) + ((_local5.y - _local8.y) * (_local5.y - _local8.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 2);
};
if ((((_local5.x - _local3.x) * (_local5.x - _local3.x)) + ((_local5.y - _local3.y) * (_local5.y - _local3.y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 2);
};
_local4++;
};
_arg1.PlaySound(_arg1.weapon9_boom);
_arg1.camera.ShakingEffect(10, 10, 1);
};
};
};
};
};
};
};
} else {
toDispose = true;
};
}
public function Init(_arg1:State_InGame, _arg2:Number, _arg3:Number):void{
dir.x = _arg2;
dir.y = _arg3;
startTime = _arg1._time;
speed = 3.6;
vSpeed = -6;
startPos = new Point(x, y);
= 0;
_arg1.PlaySound(_arg1.weapon9_fire);
}
}
}//package ThisGame
Section 79
//Barrel (ThisGame.Barrel)
package ThisGame {
import FoofaGeom.*;
import flash.geom.*;
public class Barrel extends Png {
const squaredRadius:int = 6000;
public function Barrel(){
dieMode = false;
gotoAndStop(1);
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:BigExplosion;
var _local4:int;
var _local5:Point;
if (dieMode == true){
gotoAndStop(2);
_local3 = new BigExplosion();
_local3.x = x;
_local3.y = y;
_local3.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local3);
_arg1.isoObjectActiveArray.push(_local3);
_local4 = 0;
while (_local4 < _arg1.enemyActiveArray.length) {
_local5 = new Point(_arg1.enemyActiveArray[_local4].x, _arg1.enemyActiveArray[_local4].y);
if ((((_local5.x - x) * (_local5.x - x)) + ((_local5.y - y) * (_local5.y - y))) < squaredRadius){
_arg1.enemyActiveArray[_local4].OnHit(_arg1, 3);
};
_local4++;
};
if ((((_arg1.player.x - x) * (_arg1.player.x - x)) + ((_arg1.player.y - y) * (_arg1.player.y - y))) < squaredRadius){
_arg1.player.OnHit(_arg1, 3);
};
toDispose = true;
_arg1.PlaySound(_arg1.weapon6_boom);
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
dieMode = true;
}
}
}//package ThisGame
Section 80
//BigExplosion (ThisGame.BigExplosion)
package ThisGame {
import flash.display.*;
public class BigExplosion extends MovieClip {
public var senderIsPlayer:Boolean;
public var toDispose:Boolean;
public function BigExplosion():void{
addFrameScript(51, );
toDispose = false;
senderIsPlayer = false;
}
public function Step(_arg1:State_InGame):void{
}
public function Init(_arg1:State_InGame, _arg2:Number, _arg3:Number):void{
}
function (){
toDispose = true;
stop();
}
}
}//package ThisGame
Section 81
//Bullet (ThisGame.Bullet)
package ThisGame {
import FoofaGeom.*;
import flash.geom.*;
public class Bullet extends IsoObject {
public var senderIsPlayer:Boolean;
public var flyHighBullet:Boolean;
public var speed:Number;
var startTime:int;
private var :Boolean;
public var type;
var dir:Vector2;
public var lifeTime:int;
public function Bullet():void{
dir = new Vector2(0, 0);
toDispose = false;
senderIsPlayer = false;
flyHighBullet = false;
type = 1;
= false;
speed = 6;
}
public function Step(_arg1:State_InGame):void{
if (!){
if ((_arg1._time - startTime) < lifeTime){
if (senderIsPlayer){
x = (x + (dir.x * speed));
y = (y + (dir.y * speed));
} else {
x = (x + ((dir.x * speed) * 0.5));
y = (y + ((dir.y * speed) * 0.5));
};
ComputeCollisions(_arg1);
} else {
toDispose = true;
};
} else {
if (currentFrame >= 4){
toDispose = true;
} else {
if ((_arg1._time - startTime) > lifeTime){
toDispose = true;
};
};
};
}
public function Init(_arg1:State_InGame, _arg2:Number, _arg3:Number):void{
dir.x = _arg2;
dir.y = _arg3;
startTime = _arg1._time;
lifeTime = 2000;
}
private function (_arg1:ConvexPoly):Boolean{
return (FoofaGeomUtils.InPoly(_arg1.particles[0].toPoint(), _arg1.particles[1].toPoint(), _arg1.particles[2].toPoint(), _arg1.particles[3].toPoint(), new Point(x, y)));
}
private function (_arg1:Circle):Boolean{
return (_arg1.PointIsInside(x, y));
}
protected function ComputeCollisions(_arg1:State_InGame):void{
var _local2:int;
_local2 = 0;
while (_local2 < _arg1.solidActiveArray.length) {
if ((((((_arg1.solidActiveArray[_local2] is CollisionCircle)) && (((_arg1.solidActiveArray[_local2].collisionCircle) == true)))) || (((((_arg1.solidActiveArray[_local2] is CollisionCircle) == false)) && (((_arg1.solidActiveArray[_local2].collisionPoly) == true)))))){
if ((((flyHighBullet == false)) || ((_arg1.solidActiveArray[_local2].h > 15)))){
this.gotoAndPlay(2);
= true;
};
};
_local2++;
};
if (senderIsPlayer){
_local2 = 0;
while (_local2 < _arg1.enemyActiveArray.length) {
if (((!(_arg1.enemyActiveArray[_local2].IsDying())) && ((_arg1.enemyActiveArray[_local2].collisionCircle.PointIsInside(x, y) == true)))){
_arg1.enemyActiveArray[_local2].OnHit(_arg1, type);
toDispose = true;
};
_local2++;
};
} else {
if (_arg1.player.collisionCircle.PointIsInside(x, y) == true){
_arg1.player.OnHit(_arg1, 1);
toDispose = true;
};
};
}
}
}//package ThisGame
Section 82
//Bullet_smoke (ThisGame.Bullet_smoke)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
public class Bullet_smoke extends Bullet {
public var fireParticle:MovieClip;
public var particle:DisplayObject;
static var count = 0;
public function Bullet_smoke():void{
dir = new Vector2(0, 0);
toDispose = false;
senderIsPlayer = false;
speed = 3;
lifeTime = 300;
}
override public function Init(_arg1:State_InGame, _arg2:Number, _arg3:Number):void{
dir.x = _arg2;
dir.y = _arg3;
count++;
if ((count % 2) == 0){
x = (x + (2 * dir.rightNormal.x));
y = (y + (2 * dir.rightNormal.y));
} else {
x = (x + (2 * dir.leftNormal.x));
y = (y + (2 * dir.leftNormal.y));
};
startTime = _arg1._time;
particle = this.getChildByName("fireParticle");
particle.scaleX = 0.6;
particle.scaleY = 0.6;
}
private function (_arg1:ConvexPoly):Boolean{
return (FoofaGeomUtils.InPoly(_arg1.particles[0].toPoint(), _arg1.particles[1].toPoint(), _arg1.particles[2].toPoint(), _arg1.particles[3].toPoint(), new Point(x, y)));
}
override public function Step(_arg1:State_InGame):void{
if ((_arg1._time - startTime) < lifeTime){
x = (x + (dir.x * speed));
y = (y + (dir.y * speed));
if (particle.scaleX < 4.5){
particle.scaleX = (particle.scaleX * 1.09);
particle.scaleY = (particle.scaleY * 1.09);
};
} else {
toDispose = true;
};
}
}
}//package ThisGame
Section 83
//BulletFire (ThisGame.BulletFire)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
public class BulletFire extends Bullet {
public var fireParticle:MovieClip;
public var particle:DisplayObject;
static var count = 0;
public function BulletFire():void{
dir = new Vector2(0, 0);
toDispose = false;
senderIsPlayer = false;
speed = 3;
lifeTime = 1200;
}
override public function Init(_arg1:State_InGame, _arg2:Number, _arg3:Number):void{
dir.x = _arg2;
dir.y = _arg3;
count++;
if ((count % 2) == 0){
x = (x + (2 * dir.rightNormal.x));
y = (y + (2 * dir.rightNormal.y));
} else {
x = (x + (2 * dir.leftNormal.x));
y = (y + (2 * dir.leftNormal.y));
};
startTime = _arg1._time;
particle = this.getChildByName("fireParticle");
}
private function (_arg1:ConvexPoly):Boolean{
return (FoofaGeomUtils.InPoly(_arg1.particles[0].toPoint(), _arg1.particles[1].toPoint(), _arg1.particles[2].toPoint(), _arg1.particles[3].toPoint(), new Point(x, y)));
}
private function (_arg1:Circle):Boolean{
return (_arg1.PointIsInside(x, y));
}
override public function Step(_arg1:State_InGame):void{
if ((_arg1._time - startTime) < lifeTime){
x = (x + (dir.x * speed));
y = (y + (dir.y * speed));
if (particle.scaleX < 3.5){
particle.scaleX = (particle.scaleX * 1.02);
particle.scaleY = (particle.scaleY * 1.02);
};
ComputeCollisions(_arg1);
} else {
toDispose = true;
};
}
override protected function ComputeCollisions(_arg1:State_InGame):void{
var _local2:int;
_local2 = 0;
while (_local2 < _arg1.solidActiveArray.length) {
if ((((((_arg1.solidActiveArray[_local2] is CollisionCircle)) && (((_arg1.solidActiveArray[_local2].collisionCircle) == true)))) || (((((_arg1.solidActiveArray[_local2] is CollisionCircle) == false)) && (((_arg1.solidActiveArray[_local2].collisionPoly) == true)))))){
toDispose = true;
};
_local2++;
};
if (senderIsPlayer){
_local2 = 0;
while (_local2 < _arg1.enemyActiveArray.length) {
if (_arg1.enemyActiveArray[_local2].collisionCircle.PointIsInside(x, y) == true){
_arg1.enemyActiveArray[_local2].OnHit(_arg1, 2);
toDispose = true;
};
_local2++;
};
} else {
if (_arg1.player.collisionCircle.PointIsInside(x, y) == true){
_arg1.player.OnHit(_arg1, 2);
toDispose = true;
};
};
}
}
}//package ThisGame
Section 84
//BulletRocket (ThisGame.BulletRocket)
package ThisGame {
import FoofaGeom.*;
import flash.geom.*;
public class BulletRocket extends Bullet {
const maxSpeed:Number = 15;
const acceleration:Number = 0.2;
const radius:int;
const squaredRadius:int = 5500;
var refVec:Vector2;
var stepCount:Number;
public function BulletRocket():void{
radius = Math.sqrt(squaredRadius);
super();
dir = new Vector2(0, 0);
toDispose = false;
senderIsPlayer = false;
speed = 0.2;
stepCount = 0;
lifeTime = 2600;
}
override public function Init(_arg1:State_InGame, _arg2:Number, _arg3:Number):void{
var _local4:Number;
var _local5:Number;
var _local6:Number;
dir.x = _arg2;
dir.y = _arg3;
startTime = _arg1._time;
refVec = new Vector2(0, 1);
_local4 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, dir) + (Math.PI / 2));
while (_local4 < 0) {
_local4 = (_local4 + (2 * Math.PI));
};
while (_local4 > (2 * Math.PI)) {
_local4 = (_local4 - (2 * Math.PI));
};
_local5 = ((_local4 * 180) / Math.PI);
_local5 = (_local5 % 360);
while (_local5 < 0) {
_local5 = (_local5 + 360);
};
_local6 = Math.round((_local5 / 45));
_local6 = (_local6 % 8);
this.gotoAndStop((_local6 + 1));
}
private function (_arg1:ConvexPoly):Boolean{
return (FoofaGeomUtils.InPoly(_arg1.particles[0].toPoint(), _arg1.particles[1].toPoint(), _arg1.particles[2].toPoint(), _arg1.particles[3].toPoint(), new Point(x, y)));
}
public function Detonate(_arg1:State_InGame):void{
var _local2:BigExplosion;
var _local3:int;
var _local4:Point;
_local2 = new BigExplosion();
_local2.x = x;
_local2.y = y;
_local2.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local2);
_arg1.isoObjectActiveArray.push(_local2);
_local3 = 0;
while (_local3 < _arg1.enemyActiveArray.length) {
_local4 = new Point(_arg1.enemyActiveArray[_local3].x, _arg1.enemyActiveArray[_local3].y);
if ((((_local4.x - x) * (_local4.x - x)) + ((_local4.y - y) * (_local4.y - y))) < ((_arg1.enemyActiveArray[_local3].collisionCircle.radius + radius) * (_arg1.enemyActiveArray[_local3].collisionCircle.radius + radius))){
_arg1.enemyActiveArray[_local3].OnHit(_arg1, 3);
};
_local3++;
};
if ((((_arg1.player.x - x) * (_arg1.player.x - x)) + ((_arg1.player.y - y) * (_arg1.player.y - y))) < squaredRadius){
_arg1.player.OnHit(_arg1, 2);
toDispose = true;
};
_arg1.PlaySound(_arg1.weapon6_boom);
_arg1.camera.ShakingEffect(10, 10, 1);
toDispose = true;
}
private function (_arg1:Circle):Boolean{
return (_arg1.PointIsInside(x, y));
}
override public function Step(_arg1:State_InGame):void{
var _local2:_Bullet_smoke;
stepCount++;
if (speed < maxSpeed){
speed = (speed + acceleration);
};
if ((_arg1._time - startTime) < lifeTime){
if (senderIsPlayer){
x = (x + (dir.x * speed));
y = (y + (dir.y * speed));
} else {
x = (x + ((dir.x * speed) * 0.5));
y = (y + ((dir.y * speed) * 0.5));
};
if ((stepCount % 2) == 0){
_local2 = new _Bullet_smoke();
_local2.x = x;
_local2.y = y;
_local2.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local2);
_arg1.isoObjectActiveArray.push(_local2);
};
ComputeCollisions(_arg1);
} else {
Detonate(_arg1);
};
}
override protected function ComputeCollisions(_arg1:State_InGame):void{
var _local2:int;
_local2 = 0;
while (_local2 < _arg1.solidActiveArray.length) {
if ((((((_arg1.solidActiveArray[_local2] is CollisionCircle)) && (((_arg1.solidActiveArray[_local2].collisionCircle) == true)))) || (((((_arg1.solidActiveArray[_local2] is CollisionCircle) == false)) && (((_arg1.solidActiveArray[_local2].collisionPoly) == true)))))){
Detonate(_arg1);
toDispose = true;
};
_local2++;
};
if (senderIsPlayer){
_local2 = 0;
while (_local2 < _arg1.enemyActiveArray.length) {
if (_arg1.enemyActiveArray[_local2].collisionCircle.PointIsInside(x, y) == true){
Detonate(_arg1);
toDispose = true;
};
_local2++;
};
} else {
if (_arg1.player.collisionCircle.PointIsInside(x, y) == true){
Detonate(_arg1);
toDispose = true;
};
};
}
}
}//package ThisGame
Section 85
//BulletSmartRocket (ThisGame.BulletSmartRocket)
package ThisGame {
import FoofaGeom.*;
import flash.geom.*;
public class BulletSmartRocket extends Bullet {
const maxSpeed:Number = 10;
const acceleration:Number = 0.2;
const squaredRadius:int = 3000;
var refVec:Vector2;
var :Vector2;
var stepCount:Number;
public function BulletSmartRocket():void{
dir = new Vector2(0, 0);
= new Vector2(0, 0);
toDispose = false;
senderIsPlayer = false;
speed = 0.2;
stepCount = 0;
lifeTime = 7200;
}
override public function Init(_arg1:State_InGame, _arg2:Number, _arg3:Number):void{
dir.x = _arg2;
dir.y = _arg3;
startTime = _arg1._time;
refVec = new Vector2(0, 1);
}
private function (_arg1:ConvexPoly):Boolean{
return (FoofaGeomUtils.InPoly(_arg1.particles[0].toPoint(), _arg1.particles[1].toPoint(), _arg1.particles[2].toPoint(), _arg1.particles[3].toPoint(), new Point(x, y)));
}
public function Detonate(_arg1:State_InGame):void{
var _local2:BigExplosion;
var _local3:int;
_local2 = new BigExplosion();
_local2.x = x;
_local2.y = y;
_local2.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local2);
_arg1.isoObjectActiveArray.push(_local2);
if ((((_arg1.player.x - x) * (_arg1.player.x - x)) + ((_arg1.player.y - y) * (_arg1.player.y - y))) < squaredRadius){
_arg1.player.OnHit(_arg1, 2);
toDispose = true;
};
_arg1.PlaySound(_arg1.weapon6_boom, 0.5);
_arg1.camera.ShakingEffect(10, 10, 1);
toDispose = true;
}
private function (_arg1:Circle):Boolean{
return (_arg1.PointIsInside(x, y));
}
override public function Step(_arg1:State_InGame):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:_Bullet_smoke;
stepCount++;
if (speed < maxSpeed){
speed = (speed + acceleration);
};
if ((_arg1._time - startTime) < lifeTime){
if (senderIsPlayer){
x = (x + (dir.x * speed));
y = (y + (dir.y * speed));
} else {
if ((_arg1._time - startTime) > 800){
.x = ((_arg1.player.x + dir.x) - x);
.y = ((_arg1.player.y + dir.y) - y);
if (.length < 0.025){
dir.x = (dir.x + .x);
dir.y = (dir.y + .y);
} else {
.normalize(1);
dir.x = (dir.x + (.x * 0.025));
dir.y = (dir.y + (.y * 0.025));
};
dir.normalize(1);
};
x = (x + ((dir.x * speed) * 0.3));
y = (y + ((dir.y * speed) * 0.3));
};
if ((stepCount % 3) == 0){
_local5 = new _Bullet_smoke();
_local5.x = x;
_local5.y = y;
_local5.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local5);
_arg1.isoObjectActiveArray.push(_local5);
};
ComputeCollisions(_arg1);
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, dir) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
this.gotoAndStop((_local4 + 1));
} else {
Detonate(_arg1);
};
}
override protected function ComputeCollisions(_arg1:State_InGame):void{
var _local2:int;
_local2 = 0;
while (_local2 < _arg1.solidActiveArray.length) {
if ((((((_arg1.solidActiveArray[_local2] is CollisionCircle)) && (((_arg1.solidActiveArray[_local2].collisionCircle) == true)))) || (((((_arg1.solidActiveArray[_local2] is CollisionCircle) == false)) && (((_arg1.solidActiveArray[_local2].collisionPoly) == true)))))){
Detonate(_arg1);
toDispose = true;
};
_local2++;
};
if (senderIsPlayer){
_local2 = 0;
while (_local2 < _arg1.enemyActiveArray.length) {
if (_arg1.enemyActiveArray[_local2].collisionCircle.PointIsInside(x, y) == true){
Detonate(_arg1);
toDispose = true;
};
_local2++;
};
} else {
if (_arg1.player.collisionCircle.PointIsInside(x, y) == true){
Detonate(_arg1);
toDispose = true;
};
};
}
}
}//package ThisGame
Section 86
//CollisionCircle (ThisGame.CollisionCircle)
package ThisGame {
import FoofaGeom.*;
public class CollisionCircle extends CollisionObject {
public var collisionCircle:Circle;
public function CollisionCircle():void{
collisionCircle = new Circle(x, y, (width / 2));
}
public function Step(_arg1:State_InGame):void{
}
}
}//package ThisGame
Section 87
//CollisionClip (ThisGame.CollisionClip)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
public class CollisionClip extends CollisionObject {
public var collisionPoly:ConvexPoly;
public var p1:point;
public var p2:point;
public var p3:point;
public var p4:point;
public function CollisionClip():void{
var _local1:Point;
var _local2:Point;
var _local3:Point;
var _local4:Point;
super();
_local1 = new Point(MovieClip(this.getChildByName("p1")).x, MovieClip(this.getChildByName("p1")).y);
_local2 = new Point(MovieClip(this.getChildByName("p2")).x, MovieClip(this.getChildByName("p2")).y);
_local3 = new Point(MovieClip(this.getChildByName("p3")).x, MovieClip(this.getChildByName("p3")).y);
_local4 = new Point(MovieClip(this.getChildByName("p4")).x, MovieClip(this.getChildByName("p4")).y);
_local1 = localToGlobal(_local1);
_local2 = localToGlobal(_local2);
_local3 = localToGlobal(_local3);
_local4 = localToGlobal(_local4);
_local1.x = (_local1.x - this.parent.x);
_local1.y = (_local1.y - this.parent.y);
_local2.x = (_local2.x - this.parent.x);
_local2.y = (_local2.y - this.parent.y);
_local3.x = (_local3.x - this.parent.x);
_local3.y = (_local3.y - this.parent.y);
_local4.x = (_local4.x - this.parent.x);
_local4.y = (_local4.y - this.parent.y);
collisionPoly = new ConvexPoly(new Array(new Particle(_local1.x, _local1.y), new Particle(_local2.x, _local2.y), new Particle(_local3.x, _local3.y), new Particle(_local4.x, _local4.y)));
}
public function Step(_arg1:State_InGame):void{
}
}
}//package ThisGame
Section 88
//CollisionObject (ThisGame.CollisionObject)
package ThisGame {
import flash.display.*;
public class CollisionObject extends MovieClip {
public var toDispose:Boolean;
public var h:Number;
public function CollisionObject():void{
h = Number.POSITIVE_INFINITY;
toDispose = false;
}
}
}//package ThisGame
Section 89
//FireExplosion (ThisGame.FireExplosion)
package ThisGame {
public class FireExplosion extends IsoObject {
public var senderIsPlayer:Boolean;
public function FireExplosion():void{
addFrameScript(25, );
toDispose = false;
senderIsPlayer = false;
}
public function Step(_arg1:State_InGame):void{
}
public function Init(_arg1:State_InGame, _arg2:Number, _arg3:Number):void{
}
function (){
toDispose = true;
}
}
}//package ThisGame
Section 90
//FireGranade (ThisGame.FireGranade)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
public class FireGranade extends MovieClip {
const lifeTime:int = 2000;
const squaredRadius:int = 8000;
const flyTime:int = 1100;
public var senderIsPlayer:Boolean;
public var toDispose:Boolean;
public var flyG:DisplayObject;
public var flyGranade:MovieClip;
var speed:Number;
var dTime:int;
var vSpeed:Number;
var startTime:int;
var dir:Vector2;
var lastPos:Point;
public function FireGranade():void{
dir = new Vector2(0, 0);
toDispose = false;
senderIsPlayer = false;
}
public function Step(_arg1:State_InGame):void{
var _local2:FireExplosion;
var _local3:int;
var _local4:Point;
dTime = (_arg1._time - startTime);
if (dTime <= lifeTime){
vSpeed = (vSpeed + 0.3);
flyG.y = (flyG.y + vSpeed);
if (flyG.y > 0){
flyG.y = 0;
vSpeed = (-(vSpeed) * 0.5);
speed = (speed * 0.6);
};
lastPos.x = x;
lastPos.y = y;
x = (x + (dir.x * speed));
y = (y + (dir.y * speed));
(_arg1);
} else {
if (dTime > lifeTime){
_local2 = new FireExplosion();
_local2.x = x;
_local2.y = y;
_local2.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local2);
_arg1.isoObjectActiveArray.push(_local2);
_local3 = 0;
while (_local3 < _arg1.enemyActiveArray.length) {
_local4 = new Point(_arg1.enemyActiveArray[_local3].x, _arg1.enemyActiveArray[_local3].y);
if ((((_local4.x - x) * (_local4.x - x)) + ((_local4.y - y) * (_local4.y - y))) < squaredRadius){
_arg1.enemyActiveArray[_local3].OnHit(_arg1, 2);
};
_local3++;
};
if ((((_arg1.player.x - x) * (_arg1.player.x - x)) + ((_arg1.player.y - y) * (_arg1.player.y - y))) < squaredRadius){
_arg1.player.OnHit(_arg1, 2);
toDispose = true;
};
_arg1.PlaySound(_arg1.weapon7_boom);
_arg1.camera.ShakingEffect(5, 5, 1);
(_arg1);
toDispose = true;
};
};
}
private function
(_arg1:State_InGame):void{
var _local2:int;
if (senderIsPlayer){
_local2 = 0;
while (_local2 < _arg1.enemyActiveArray.length) {
if (_arg1.enemyActiveArray[_local2].collisionCircle.PointIsInside(x, y) == true){
toDispose = true;
};
_local2++;
};
} else {
if (_arg1.player.collisionCircle.PointIsInside(x, y) == true){
toDispose = true;
};
};
}
public function Init(_arg1:State_InGame, _arg2:Number, _arg3:Number):void{
dir.x = _arg2;
dir.y = _arg3;
startTime = _arg1._time;
flyG = this.getChildByName("flyGranade");
speed = 3.6;
vSpeed = -6;
flyG.y = -15;
lastPos = new Point();
}
private function (_arg1:ConvexPoly):Boolean{
return (FoofaGeomUtils.InPoly(_arg1.particles[0].toPoint(), _arg1.particles[1].toPoint(), _arg1.particles[2].toPoint(), _arg1.particles[3].toPoint(), new Point(x, y)));
}
private function
(_arg1:State_InGame):void{
var _local2:int;
var _local3:CollisionCircleCircle;
var _local4:Vector2;
var _local5:CollisionConvexPolyCircle;
_local2 = 0;
while (_local2 < _arg1.solidActiveArray.length) {
if ((_arg1.solidActiveArray[_local2] is CollisionCircle)){
_local3 = new CollisionCircleCircle();
if (_local3.test(_arg1.solidActiveArray[_local2].collisionCircle, new Circle(x, y, 1), lastPos) == true){
if (-(flyG.y) < _arg1.solidActiveArray[_local2].h){
_local4 = _local3.getNormal();
_local4 = FoofaGeomUtils.ReflectVectorOnLine(dir, _local4);
dir.x = _local4.x;
dir.y = _local4.y;
};
};
} else {
_local5 = new CollisionConvexPolyCircle();
if (_local5.test(_arg1.solidActiveArray[_local2].collisionPoly, new Circle(x, y, 1), lastPos) == true){
if (-(flyG.y) < _arg1.solidActiveArray[_local2].h){
_local4 = _local5.getNormal();
_local4 = FoofaGeomUtils.ReflectVectorOnLine(dir, _local4);
dir.x = _local4.x;
dir.y = _local4.y;
};
};
};
_local2++;
};
}
}
}//package ThisGame
Section 91
//FithStats (ThisGame.FithStats)
package ThisGame {
public class FithStats extends GameStatistics {
private var :uint;
private var :uint;
private var :uint;
private var :uint;
private var :uint;
private var :uint;
private var
:uint;
private var :uint;
public static const HEALTH:uint = 8;
public static const LIFE_LOST:uint = 3;
public static const KILL_COUNT:uint = 4;
public static const MAX_COMBO:uint = 2;
public static const TAKEN_DAMAGE:uint = 6;
public static const BULLET_SHOT:uint = 0;
public static const ACCURACY:uint = 7;
public static const BULLET_HITS:uint = 1;
public static const MAX_HEALTH:uint = 5;
public function FithStats(){
= 0;
= 0;
= 0;
= 0;
= 0;
= 0;
= 0;
= 0;
}
override public function SetStatistics(_arg1:uint, _arg2):void{
switch (_arg1){
case BULLET_SHOT:
= _arg2;
break;
case BULLET_HITS:
= _arg2;
break;
case MAX_COMBO:
= _arg2;
break;
case LIFE_LOST:
= _arg2;
break;
case KILL_COUNT:
= _arg2;
break;
case MAX_HEALTH:
= _arg2;
break;
case TAKEN_DAMAGE:
= _arg2;
break;
default:
break;
};
}
public function EnemyKilled(_arg1:uint=1):void{
= ( + _arg1);
}
public function BulletHit(_arg1:uint=1):void{
= ( + _arg1);
}
public function Damage(_arg1:uint=1):void{
= (
+ _arg1);
}
public function NoCombo():void{
= 0;
}
public function Combo():void{
++;
if ( > ){
= ;
};
}
public function ResetStats():void{
= 0;
= 0;
= 0;
= 0;
= 0;
= 0;
= 0;
= 0;
}
override public function GetStatistics(_arg1:uint):Object{
var _local2:Number;
switch (_arg1){
case BULLET_SHOT:
return ();
case BULLET_HITS:
return ();
case MAX_COMBO:
return ();
case LIFE_LOST:
return ();
case KILL_COUNT:
return ();
case MAX_HEALTH:
return ( );
case TAKEN_DAMAGE:
return (
);
case ACCURACY:
_local2 = 0;
if ( > ){
_local2 = 100;
} else {
if ( == 0){
_local2 = 0;
} else {
_local2 = Math.floor(((Number() / Number()) * 100));
};
};
return (_local2);
case HEALTH:
if ( == 0){
return (100);
};
if (
> ){
return (0);
};
return (Math.floor(((( -
) / ) * 100)));
default:
return (-1);
};
}
public function BulletShot(_arg1:uint=1):void{
= ( + _arg1);
}
}
}//package ThisGame
Section 92
//FlyingBullet (ThisGame.FlyingBullet)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
public class FlyingBullet extends Bullet {
public var flyG:DisplayObject;
public var flyBullet:MovieClip;
public var h:Number;
public var vSpeed:Number;
public function FlyingBullet():void{
dir = new Vector2(0, 0);
toDispose = false;
senderIsPlayer = false;
vSpeed = 0;
h = -20;
speed = 6;
lifeTime = 2000;
}
override public function Init(_arg1:State_InGame, _arg2:Number, _arg3:Number):void{
dir.x = _arg2;
dir.y = _arg3;
startTime = _arg1._time;
flyG = this.getChildByName("flyBullet");
flyG.y = h;
}
private function (_arg1:ConvexPoly):Boolean{
return (FoofaGeomUtils.InPoly(_arg1.particles[0].toPoint(), _arg1.particles[1].toPoint(), _arg1.particles[2].toPoint(), _arg1.particles[3].toPoint(), new Point(x, y)));
}
private function (_arg1:Circle):Boolean{
return (_arg1.PointIsInside(x, y));
}
override public function Step(_arg1:State_InGame):void{
if ((_arg1._time - startTime) < lifeTime){
flyG.y = (flyG.y + vSpeed);
if (flyG.y > 0){
flyG.y = 0;
toDispose = true;
};
if (senderIsPlayer){
x = (x + (dir.x * speed));
y = (y + (dir.y * speed));
} else {
x = (x + ((dir.x * speed) * 0.5));
y = (y + ((dir.y * speed) * 0.5));
};
ComputeCollisions(_arg1);
} else {
toDispose = true;
};
}
override protected function ComputeCollisions(_arg1:State_InGame):void{
var _local2:int;
_local2 = 0;
while (_local2 < _arg1.solidActiveArray.length) {
if ((((((_arg1.solidActiveArray[_local2] is CollisionCircle)) && (((_arg1.solidActiveArray[_local2].collisionCircle) == true)))) || (((((_arg1.solidActiveArray[_local2] is CollisionCircle) == false)) && (((_arg1.solidActiveArray[_local2].collisionPoly) == true)))))){
if (_arg1.solidActiveArray[_local2].h > h){
toDispose = true;
};
};
_local2++;
};
if (senderIsPlayer){
_local2 = 0;
while (_local2 < _arg1.enemyActiveArray.length) {
if (_arg1.enemyActiveArray[_local2].collisionCircle.PointIsInside(x, y) == true){
_arg1.enemyActiveArray[_local2].OnHit(_arg1, 1);
toDispose = true;
};
_local2++;
};
} else {
if (_arg1.player.collisionCircle.PointIsInside(x, y) == true){
_arg1.player.OnHit(_arg1, 1);
toDispose = true;
};
};
}
}
}//package ThisGame
Section 93
//GameStatistics (ThisGame.GameStatistics)
package ThisGame {
public class GameStatistics {
public function GetStatistics(_arg1:uint):Object{
return (0);
}
public function SetStatistics(_arg1:uint, _arg2):void{
}
}
}//package ThisGame
Section 94
//GiantPanzer (ThisGame.GiantPanzer)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class GiantPanzer extends Png {
const fire1Rate:Number = 800;
const frame_morte:int = 9;
const sleepTime:Number = 10000;
const frame_walk_lenght:int = 0;
const killTime:Number = 20000;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const fire2Rate:Number = 4500;
var angleGunFrame:Number;
var refVec:Vector2;
var startTimer:Number;
var :int;
var normalDir:Vector2;
var startY:Number;
var startX:Number;
var angleFrame:Number;
var frameToSkip:int;
var deadlyWeapon:int;
var angleRad:Number;
var energy:Number;
var :Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var hitTime:Number;
var iaStatus:int;
public var gun:MovieClip;
var movingDir:Vector2;
var fire1Timer:Number;
var angleGrad:Number;
var frameToGo:int;
var fire2Timer:Number;
public function GiantPanzer(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 130;
dieMode = false;
movingDir = new Vector2(1, 0);
lookingDir = new Vector2(0, 1);
normalDir = new Vector2(1, 0);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 90);
iaStatus = 0;
startX = 0;
startY = 0;
fire2Timer = 0;
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Bullet_enemy;
var _local8:_BulletSmartRocket;
var _local9:_BulletSmartRocket;
var _local10:_BulletSmartRocket;
if (toDispose == true){
_arg1.enemyActiveArray.splice(_arg2, 1);
return;
};
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (movingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
startTimer = _arg1._time;
iaStatus = 1;
movingDir.x = 0;
movingDir.y = 1;
collisionCircle.x = x;
collisionCircle.y = y;
startX = x;
startY = y;
break;
case 1:
if ((_arg1._time - startTimer) > 2500){
iaStatus = 2;
};
break;
case 2:
if ((((((((movingDir.x > 0)) && (((x - startX) < 300)))) || ((((movingDir.x < 0)) && (((startX - x) < 300)))))) || ((((movingDir.x == 0)) && (((y - startY) < 400)))))){
if (_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] != id){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
};
x = (x + movingDir.x);
y = (y + movingDir.y);
} else {
iaStatus = 3;
= _arg1._time;
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 3:
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
if ((_arg1._time - ) > killTime){
iaStatus = 4;
} else {
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_cannon2, 0.3);
_local4 = FoofaGeomUtils.AngleFromDir(lookingDir.x, lookingDir.y);
_local5 = (x + (Math.sin(_local4) * 20));
_local6 = (y + (Math.cos(_local4) * 20));
normalDir.x = movingDir.leftNormal.x;
normalDir.y = movingDir.leftNormal.y;
fire1Timer = _arg1._time;
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, lookingDir.x, lookingDir.y);
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.1)), Math.cos((_local4 + 0.1)));
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.1)), Math.cos((_local4 - 0.1)));
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
};
};
if ((_arg1._time - fire2Timer) > fire2Rate){
_arg1.PlaySound(_arg1.e_weapon_rocket, 0.3);
_local4 = FoofaGeomUtils.AngleFromDir(movingDir.x, movingDir.y);
_local5 = (x - (Math.sin(_local4) * 40));
_local6 = (y - (Math.cos(_local4) * 40));
fire2Timer = _arg1._time;
_local8 = new _BulletSmartRocket();
_local8.x = _local5;
_local8.y = _local6;
_local8.Init(_arg1, (-(movingDir.x) + movingDir.leftNormal.x), (-(movingDir.y) + movingDir.leftNormal.y));
_arg1.bulletArray.push(_local8);
_arg1.isoObjectActiveArray.push(_local8);
_local9 = new _BulletSmartRocket();
_local9.x = _local5;
_local9.y = _local6;
_local9.Init(_arg1, (-(movingDir.x) + movingDir.rightNormal.x), (-(movingDir.y) + movingDir.rightNormal.y));
_arg1.bulletArray.push(_local9);
_arg1.isoObjectActiveArray.push(_local9);
_local10 = new _BulletSmartRocket();
_local10.x = _local5;
_local10.y = _local6;
_local10.Init(_arg1, -(movingDir.x), -(movingDir.y));
_arg1.bulletArray.push(_local10);
_arg1.isoObjectActiveArray.push(_local10);
};
break;
case 4:
if ((y - startY) > 0){
x = (x - movingDir.x);
y = (y - movingDir.y);
} else {
= _arg1._time;
iaStatus = 5;
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 5:
if ((_arg1._time - ) > sleepTime){
= _arg1._time;
if (movingDir.x > 0){
x = 800;
movingDir.x = -1;
} else {
if (movingDir.x < 0){
x = 400;
movingDir.x = 0;
} else {
if (movingDir.x == 0){
x = -60;
movingDir.x = 1;
};
};
};
startX = x;
collisionCircle.x = x;
collisionCircle.y = y;
iaStatus = 1;
};
break;
};
angleFrame = (movingDir);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
};
if (dieMode == true){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
angleFrame = FoofaGeomUtils.Trim(((movingDir) - 1), 0, 2);
this.gotoAndPlay((frameToGo + ((frame_morte_lenght + 1) * angleFrame)));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
MemoryCrypto.incrementValue(_arg1.app.sounds, 1000);
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
break;
case 2:
break;
case 3:
energy = (energy - 11);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
if (_arg2 != 2){
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
};
}
}
}//package ThisGame
Section 95
//Granade (ThisGame.Granade)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
public class Granade extends IsoObject {
const lifeTime:int = 2000;
const squaredRadius:int = 8000;
const flyTime:int = 1100;
public var senderIsPlayer:Boolean;
public var flyG:DisplayObject;
public var flyGranade:MovieClip;
var speed:Number;
var dTime:int;
var vSpeed:Number;
var startTime:int;
var dir:Vector2;
var lastPos:Point;
public function Granade():void{
dir = new Vector2(0, 0);
toDispose = false;
senderIsPlayer = false;
}
public function Step(_arg1:State_InGame):void{
var _local2:BigExplosion;
var _local3:int;
var _local4:Point;
dTime = (_arg1._time - startTime);
if (dTime <= lifeTime){
vSpeed = (vSpeed + 0.3);
flyG.y = (flyG.y + vSpeed);
if (flyG.y > 0){
flyG.y = 0;
vSpeed = (-(vSpeed) * 0.5);
speed = (speed * 0.6);
};
lastPos.x = x;
lastPos.y = y;
x = (x + (dir.x * speed));
y = (y + (dir.y * speed));
(_arg1);
} else {
if (dTime > lifeTime){
_local2 = new BigExplosion();
_local2.x = x;
_local2.y = y;
_local2.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local2);
_arg1.isoObjectActiveArray.push(_local2);
_local3 = 0;
while (_local3 < _arg1.enemyActiveArray.length) {
_local4 = new Point(_arg1.enemyActiveArray[_local3].x, _arg1.enemyActiveArray[_local3].y);
if ((((_local4.x - x) * (_local4.x - x)) + ((_local4.y - y) * (_local4.y - y))) < squaredRadius){
_arg1.enemyActiveArray[_local3].OnHit(_arg1, 3);
};
_local3++;
};
if ((((_arg1.player.x - x) * (_arg1.player.x - x)) + ((_arg1.player.y - y) * (_arg1.player.y - y))) < squaredRadius){
_arg1.player.OnHit(_arg1, 3);
toDispose = true;
};
_arg1.PlaySound(_arg1.weapon6_boom);
_arg1.camera.ShakingEffect(10, 10, 1);
(_arg1);
toDispose = true;
};
};
}
private function
(_arg1:State_InGame):void{
var _local2:int;
if (senderIsPlayer){
_local2 = 0;
while (_local2 < _arg1.enemyActiveArray.length) {
if (_arg1.enemyActiveArray[_local2].collisionCircle.PointIsInside(x, y) == true){
toDispose = true;
};
_local2++;
};
} else {
if (_arg1.player.collisionCircle.PointIsInside(x, y) == true){
toDispose = true;
};
};
}
public function Init(_arg1:State_InGame, _arg2:Number, _arg3:Number):void{
dir.x = _arg2;
dir.y = _arg3;
startTime = _arg1._time;
flyG = this.getChildByName("flyGranade");
speed = 3.6;
vSpeed = -6;
flyG.y = -15;
lastPos = new Point();
}
private function (_arg1:ConvexPoly):Boolean{
return (FoofaGeomUtils.InPoly(_arg1.particles[0].toPoint(), _arg1.particles[1].toPoint(), _arg1.particles[2].toPoint(), _arg1.particles[3].toPoint(), new Point(x, y)));
}
private function
(_arg1:State_InGame):void{
var _local2:int;
var _local3:CollisionCircleCircle;
var _local4:Vector2;
var _local5:CollisionConvexPolyCircle;
_local2 = 0;
while (_local2 < _arg1.solidActiveArray.length) {
if ((_arg1.solidActiveArray[_local2] is CollisionCircle)){
_local3 = new CollisionCircleCircle();
if (_local3.test(_arg1.solidActiveArray[_local2].collisionCircle, new Circle(x, y, 1), lastPos) == true){
if (-(flyG.y) < _arg1.solidActiveArray[_local2].h){
_local4 = _local3.getNormal();
_local4 = FoofaGeomUtils.ReflectVectorOnLine(dir, _local4);
dir.x = _local4.x;
dir.y = _local4.y;
};
};
} else {
_local5 = new CollisionConvexPolyCircle();
if (_local5.test(_arg1.solidActiveArray[_local2].collisionPoly, new Circle(x, y, 1), lastPos) == true){
if (-(flyG.y) < _arg1.solidActiveArray[_local2].h){
_local4 = _local5.getNormal();
_local4 = FoofaGeomUtils.ReflectVectorOnLine(dir, _local4);
dir.x = _local4.x;
dir.y = _local4.y;
};
};
};
_local2++;
};
}
}
}//package ThisGame
Section 96
//GunProperties (ThisGame.GunProperties)
package ThisGame {
class GunProperties {
public var rotSpeed:Number;
public var fireRate:Number;
public var firstReloadTime:Number;
}
}//package ThisGame
Section 97
//IsoObject (ThisGame.IsoObject)
package ThisGame {
import flash.display.*;
public class IsoObject extends MovieClip {
public var toDispose:Boolean;
public function IsoObject():void{
toDispose = false;
}
}
}//package ThisGame
Section 98
//Jeep (ThisGame.Jeep)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Jeep extends Png {
const fire1Rate:Number = 1500;
const frame_morte:int = 9;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var iaStatus:int;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var hitTime:Number;
var frameToGo:int;
public function Jeep(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 10;
dieMode = false;
movingDir = new Vector2(1, 0);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
iaStatus = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Bullet;
if (toDispose == true){
_arg1.enemyActiveArray.splice(_arg2, 1);
return;
};
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (movingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
if (_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] != id){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
};
x = (x + movingDir.x);
y = (y + movingDir.y);
if (x > 800){
movingDir.x = -(movingDir.x);
} else {
if (x < -100){
movingDir.x = -(movingDir.x);
};
};
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
angleFrame = (movingDir);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_machinegun, 0.3);
fire1Timer = _arg1._time;
_local4 = new Bullet_enemy();
_local4.x = x;
_local4.y = y;
_local4.Init(_arg1, lookingDir.x, lookingDir.y);
_arg1.bulletArray.push(_local4);
_arg1.isoObjectActiveArray.push(_local4);
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 1:
movingDir.x = (_arg1.player.x - x);
movingDir.y = (_arg1.player.y - y);
movingDir.normalize(1);
angleFrame = (movingDir);
switch (angleFrame){
case 0:
movingDir.x = 1;
movingDir.y = 0;
break;
case 1:
movingDir.x = 1;
movingDir.y = 1;
break;
case 2:
movingDir.x = 0;
movingDir.y = 1;
break;
case 3:
movingDir.x = -1;
movingDir.y = 1;
break;
case 4:
movingDir.x = -1;
movingDir.y = 0;
break;
case 5:
movingDir.x = -1;
movingDir.y = -1;
break;
case 6:
movingDir.x = 0;
movingDir.y = -1;
break;
case 7:
movingDir.x = 1;
movingDir.y = -1;
break;
};
break;
};
};
if (dieMode == true){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 100);
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 50);
};
_arg1.lastDeathTime = _arg1._time;
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
energy--;
break;
case 3:
energy = (energy - 16);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 99
//Jeep_dx_centre (ThisGame.Jeep_dx_centre)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Jeep_dx_centre extends Png {
const fire1Rate:Number = 500;
const frame_morte:int = 9;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var startTimer:Number;
var iaStatus:int;
var startX:Number;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var startY:Number;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var hitTime:Number;
var frameToGo:int;
public function Jeep_dx_centre(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 10;
dieMode = false;
movingDir = new Vector2(1, 0);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
iaStatus = 0;
startX = 0;
startY = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Bullet;
if (toDispose == true){
_arg1.enemyActiveArray.splice(_arg2, 1);
return;
};
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (movingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
startTimer = _arg1._time;
iaStatus = 1;
movingDir.x = -1;
movingDir.y = 0;
collisionCircle.x = x;
collisionCircle.y = y;
startX = x;
startY = y;
break;
case 1:
if ((_arg1._time - startTimer) > 2500){
iaStatus = 2;
};
break;
case 2:
if ((startX - x) < 400){
if (_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] != id){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
};
x = (x + movingDir.x);
y = (y + movingDir.y);
} else {
iaStatus = 3;
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 3:
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_machinegun, 0.3);
fire1Timer = _arg1._time;
_local4 = new Bullet_enemy();
_local4.x = x;
_local4.y = y;
_local4.Init(_arg1, lookingDir.x, lookingDir.y);
_arg1.bulletArray.push(_local4);
_arg1.isoObjectActiveArray.push(_local4);
};
break;
};
angleFrame = (movingDir);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
};
if (dieMode == true){
_arg1.PlaySound(_arg1.e_crash);
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 100);
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 50);
};
_arg1.lastDeathTime = _arg1._time;
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
energy--;
break;
case 3:
energy = (energy - 16);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 100
//Jeep_dx_sx (ThisGame.Jeep_dx_sx)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Jeep_dx_sx extends Png {
const fire1Rate:Number = 1500;
const frame_morte:int = 9;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var iaStatus:int;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var hitTime:Number;
var frameToGo:int;
public function Jeep_dx_sx(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 10;
dieMode = false;
movingDir = new Vector2(0, -1);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
iaStatus = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Bullet;
if (toDispose == true){
_arg1.enemyActiveArray.splice(_arg2, 1);
return;
};
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (movingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
if (_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] != id){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
};
x = (x + movingDir.x);
y = (y + movingDir.y);
if (x > 600){
movingDir.x = -(movingDir.x);
} else {
if (x < 100){
movingDir.x = -(movingDir.x);
};
};
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
angleFrame = (movingDir);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_machinegun, 0.3);
fire1Timer = _arg1._time;
_local4 = new Bullet_enemy();
_local4.x = x;
_local4.y = y;
_local4.Init(_arg1, lookingDir.x, lookingDir.y);
_arg1.bulletArray.push(_local4);
_arg1.isoObjectActiveArray.push(_local4);
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 1:
movingDir.x = (_arg1.player.x - x);
movingDir.y = (_arg1.player.y - y);
movingDir.normalize(1);
angleFrame = (movingDir);
switch (angleFrame){
case 0:
movingDir.x = 1;
movingDir.y = 0;
break;
case 1:
movingDir.x = 1;
movingDir.y = 1;
break;
case 2:
movingDir.x = 0;
movingDir.y = 1;
break;
case 3:
movingDir.x = -1;
movingDir.y = 1;
break;
case 4:
movingDir.x = -1;
movingDir.y = 0;
break;
case 5:
movingDir.x = -1;
movingDir.y = -1;
break;
case 6:
movingDir.x = 0;
movingDir.y = -1;
break;
case 7:
movingDir.x = 1;
movingDir.y = -1;
break;
};
break;
};
};
if (dieMode == true){
_arg1.PlaySound(_arg1.e_crash);
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 100);
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 50);
};
_arg1.lastDeathTime = _arg1._time;
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
energy--;
break;
case 3:
energy = (energy - 16);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 101
//Jeep_dxdown_centre (ThisGame.Jeep_dxdown_centre)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Jeep_dxdown_centre extends Png {
const fire1Rate:Number = 500;
const frame_morte:int = 9;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var startTimer:Number;
var iaStatus:int;
var startX:Number;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var startY:Number;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var hitTime:Number;
var frameToGo:int;
public function Jeep_dxdown_centre(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 10;
dieMode = false;
movingDir = new Vector2(1, 0);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
iaStatus = 0;
startX = 0;
startY = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Bullet;
if (toDispose == true){
_arg1.enemyActiveArray.splice(_arg2, 1);
return;
};
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (movingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
startTimer = _arg1._time;
iaStatus = 1;
movingDir.x = -1;
movingDir.y = -1;
collisionCircle.x = x;
collisionCircle.y = y;
startX = x;
startY = y;
break;
case 1:
if ((_arg1._time - startTimer) > 2500){
iaStatus = 2;
};
break;
case 2:
if ((x - startX) > -350){
if (_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] != id){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
};
x = (x + movingDir.x);
y = (y + movingDir.y);
} else {
iaStatus = 3;
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 3:
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_machinegun, 0.3);
fire1Timer = _arg1._time;
_local4 = new Bullet_enemy();
_local4.x = x;
_local4.y = y;
_local4.Init(_arg1, lookingDir.x, lookingDir.y);
_arg1.bulletArray.push(_local4);
_arg1.isoObjectActiveArray.push(_local4);
};
break;
};
angleFrame = (movingDir);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
};
if (dieMode == true){
_arg1.PlaySound(_arg1.e_crash);
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 100);
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 50);
};
_arg1.lastDeathTime = _arg1._time;
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
energy--;
break;
case 3:
energy = (energy - 16);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 102
//Jeep_dxup_centre (ThisGame.Jeep_dxup_centre)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Jeep_dxup_centre extends Png {
const fire1Rate:Number = 500;
const frame_morte:int = 9;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var startTimer:Number;
var iaStatus:int;
var startX:Number;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var startY:Number;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var hitTime:Number;
var frameToGo:int;
public function Jeep_dxup_centre(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 10;
dieMode = false;
movingDir = new Vector2(1, 0);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
iaStatus = 0;
startX = 0;
startY = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Bullet;
if (toDispose == true){
_arg1.enemyActiveArray.splice(_arg2, 1);
return;
};
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (movingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
startTimer = _arg1._time;
iaStatus = 1;
movingDir.x = -1;
movingDir.y = 1;
collisionCircle.x = x;
collisionCircle.y = y;
startX = x;
startY = y;
break;
case 1:
if ((_arg1._time - startTimer) > 2500){
iaStatus = 2;
};
break;
case 2:
if ((x - startX) > -350){
if (_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] != id){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
};
x = (x + movingDir.x);
y = (y + movingDir.y);
} else {
iaStatus = 3;
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 3:
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_machinegun, 0.3);
fire1Timer = _arg1._time;
_local4 = new Bullet_enemy();
_local4.x = x;
_local4.y = y;
_local4.Init(_arg1, lookingDir.x, lookingDir.y);
_arg1.bulletArray.push(_local4);
_arg1.isoObjectActiveArray.push(_local4);
};
break;
};
angleFrame = (movingDir);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
};
if (dieMode == true){
_arg1.PlaySound(_arg1.e_crash);
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 100);
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 50);
};
_arg1.lastDeathTime = _arg1._time;
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
energy--;
break;
case 3:
energy = (energy - 16);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 103
//Jeep_sx_centre (ThisGame.Jeep_sx_centre)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Jeep_sx_centre extends Png {
const fire1Rate:Number = 500;
const frame_morte:int = 9;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var startTimer:Number;
var iaStatus:int;
var startX:Number;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var startY:Number;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var hitTime:Number;
var frameToGo:int;
public function Jeep_sx_centre(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 10;
dieMode = false;
movingDir = new Vector2(1, 0);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
iaStatus = 0;
startX = 0;
startY = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Bullet;
if (toDispose == true){
_arg1.enemyActiveArray.splice(_arg2, 1);
return;
};
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (movingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
startTimer = _arg1._time;
iaStatus = 1;
movingDir.x = 1;
movingDir.y = 0;
collisionCircle.x = x;
collisionCircle.y = y;
startX = x;
startY = y;
break;
case 1:
if ((_arg1._time - startTimer) > 2500){
iaStatus = 2;
};
break;
case 2:
if ((x - startX) < 400){
if (_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] != id){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
};
x = (x + movingDir.x);
y = (y + movingDir.y);
} else {
iaStatus = 3;
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 3:
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_machinegun, 0.3);
fire1Timer = _arg1._time;
_local4 = new Bullet_enemy();
_local4.x = x;
_local4.y = y;
_local4.Init(_arg1, lookingDir.x, lookingDir.y);
_arg1.bulletArray.push(_local4);
_arg1.isoObjectActiveArray.push(_local4);
};
break;
};
angleFrame = (movingDir);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
};
if (dieMode == true){
_arg1.PlaySound(_arg1.e_crash);
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 100);
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 50);
};
_arg1.lastDeathTime = _arg1._time;
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
energy--;
break;
case 3:
energy = (energy - 16);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 104
//Jeep_sxdown_centre (ThisGame.Jeep_sxdown_centre)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Jeep_sxdown_centre extends Png {
const fire1Rate:Number = 500;
const frame_morte:int = 9;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var startTimer:Number;
var iaStatus:int;
var startX:Number;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var startY:Number;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var hitTime:Number;
var frameToGo:int;
public function Jeep_sxdown_centre(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 10;
dieMode = false;
movingDir = new Vector2(1, 0);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
iaStatus = 0;
startX = 0;
startY = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Bullet;
if (toDispose == true){
_arg1.enemyActiveArray.splice(_arg2, 1);
return;
};
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (movingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
startTimer = _arg1._time;
iaStatus = 1;
movingDir.x = 1;
movingDir.y = -1;
collisionCircle.x = x;
collisionCircle.y = y;
startX = x;
startY = y;
break;
case 1:
if ((_arg1._time - startTimer) > 2500){
iaStatus = 2;
};
break;
case 2:
if ((x - startX) < 350){
if (_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] != id){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
};
x = (x + movingDir.x);
y = (y + movingDir.y);
} else {
iaStatus = 3;
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 3:
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_machinegun, 0.3);
fire1Timer = _arg1._time;
_local4 = new Bullet_enemy();
_local4.x = x;
_local4.y = y;
_local4.Init(_arg1, lookingDir.x, lookingDir.y);
_arg1.bulletArray.push(_local4);
_arg1.isoObjectActiveArray.push(_local4);
};
break;
};
angleFrame = (movingDir);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
};
if (dieMode == true){
_arg1.PlaySound(_arg1.e_crash);
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 100);
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 50);
};
_arg1.lastDeathTime = _arg1._time;
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
energy--;
break;
case 3:
energy = (energy - 16);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 105
//Jeep_sxup_centre (ThisGame.Jeep_sxup_centre)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Jeep_sxup_centre extends Png {
const fire1Rate:Number = 500;
const frame_morte:int = 9;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var startTimer:Number;
var iaStatus:int;
var startX:Number;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var startY:Number;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var hitTime:Number;
var frameToGo:int;
public function Jeep_sxup_centre(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 10;
dieMode = false;
movingDir = new Vector2(1, 0);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
iaStatus = 0;
startX = 0;
startY = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Bullet;
if (toDispose == true){
_arg1.enemyActiveArray.splice(_arg2, 1);
return;
};
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (movingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
startTimer = _arg1._time;
iaStatus = 1;
movingDir.x = 1;
movingDir.y = 1;
collisionCircle.x = x;
collisionCircle.y = y;
startX = x;
startY = y;
break;
case 1:
if ((_arg1._time - startTimer) > 2500){
iaStatus = 2;
};
break;
case 2:
if ((x - startX) < 350){
if (_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] != id){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
};
x = (x + movingDir.x);
y = (y + movingDir.y);
} else {
iaStatus = 3;
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 3:
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_machinegun, 0.3);
fire1Timer = _arg1._time;
_local4 = new Bullet_enemy();
_local4.x = x;
_local4.y = y;
_local4.Init(_arg1, lookingDir.x, lookingDir.y);
_arg1.bulletArray.push(_local4);
_arg1.isoObjectActiveArray.push(_local4);
};
break;
};
angleFrame = (movingDir);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
};
if (dieMode == true){
_arg1.PlaySound(_arg1.e_crash);
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 100);
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 50);
};
_arg1.lastDeathTime = _arg1._time;
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
energy--;
break;
case 3:
energy = (energy - 16);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 106
//Main_Application (ThisGame.Main_Application)
package ThisGame {
import flash.events.*;
import flash.display.*;
import FoofaCore.*;
import flash.media.*;
import CMG_AS3.*;
import com.kongregate.as3.client.*;
import FoofaCrypto.*;
import flash.net.*;
import flash.system.*;
import flash.external.*;
public class Main_Application extends FoofaApplication {
public var maxLevel:Number;
public var thisLevel:Number;
public var :Sound;
public var inputMode:Number;
public var menuMusic:Sound;
public var sound:Boolean;
public var usingKongregateAPI:Boolean;
public var :Sound;
public var :Number;
public var statistics:FithStats;
public var :Boolean;
public var :SoundChannel;
public var ;
public var gameMode:uint;
public var sounds:String;// = "bkg.wav"
public var :int;
public var :Sound;
public var kongregate:KongregateAPI;
private var :SharedObject;
public var points:Number;
public var :Sound;
private var :Boolean;
public static const maxGunCount:Number = 11;
public static const gameVersion:String = "1.0";
public static var ammoInfoArray:Array;
public function Main_Application():void{
var _local1:Number;
sounds = "bkg.wav";
super();
points = 0;
thisLevel = 1;
maxLevel = 3;
gameMode = 1;
= true;
sound = true;
= 1;
MemoryCrypto.setValue(sounds, 0);
Load();
_local1 = 0;
usingKongregateAPI = false;
= false;
inputMode = 0;
statistics = new FithStats();
ScoreSubmitter.gameId = 344;
ScoreSubmitter.gameVersion = gameVersion;
ScoreSubmitter.gameValidationCode = "fire3e7f0f4d92d348615ecc80aca6b5d8bb";
}
public function Save():void{
var _local1:Number;
if (ammoInfoArray.length == maxGunCount){
= SharedObject.getLocal("fith");
.data.thisLevel = thisLevel;
.data.ammos = new Array(maxGunCount);
_local1 = 0;
while (_local1 < maxGunCount) {
.data.ammos[_local1] = new AmmoInfo();
.data.ammos[_local1].gunEnabled = ammoInfoArray[_local1].gunEnabled;
.data.ammos[_local1].ammoCount = ammoInfoArray[_local1].ammoCount;
.data.ammos[_local1].maxCount = ammoInfoArray[_local1].maxCount;
_local1++;
};
.flush();
};
}
public function Load():void{
var _local1:Number;
= SharedObject.getLocal("fith");
if (((((!((.data.thisLevel == null))) && (!((.data.ammos == null))))) && ((.data.ammos.length == maxGunCount)))){
ammoInfoArray = new Array(maxGunCount);
thisLevel = .data.thisLevel;
_local1 = 0;
while (_local1 < maxGunCount) {
ammoInfoArray[_local1] = new AmmoInfo();
ammoInfoArray[_local1].gunEnabled = .data.ammos[_local1].gunEnabled;
ammoInfoArray[_local1].ammoCount = .data.ammos[_local1].ammoCount;
ammoInfoArray[_local1].maxCount = .data.ammos[_local1].maxCount;
_local1++;
};
} else {
ammoInfoArray = new Array(maxGunCount);
thisLevel = 1;
};
}
private function (_arg1:Event):void{
if ( == null){
= .play(0, 1, new SoundTransform());
} else {
= .play(0, 1, new SoundTransform());
= null;
};
.addEventListener(Event.SOUND_COMPLETE, );
}
public function InitMusics():void{
}
public function ChangeMusic(_arg1:Sound):void{
= null;
= _arg1;
if ( != null){
.stop();
};
= _arg1.play(0, 1, new SoundTransform());
.addEventListener(Event.SOUND_COMPLETE, );
}
public function goToUrl(_arg1:String):void{
var success:Boolean;
var url = _arg1;
success = false;
if (((ExternalInterface.available) && (!((Capabilities.playerType == "External"))))){
try {
ExternalInterface.call("window.open", url, "win", "");
success = true;
} catch(error:Error) {
} catch(error:SecurityError) {
};
};
if (success != true){
navigateToURL(new URLRequest(url), "_BLANK");
};
}
public function GotoPlayState(_arg1:DisplayObjectContainer):void{
var _local2:MovieClip;
var _local3:Number;
if (((usingKongregateAPI) && (!()))){
kongregate = new KongregateAPI();
_arg1.addChild(kongregate);
= true;
};
switch (thisLevel){
case 0:
case 1:
_local3 = 0;
while (_local3 < Main_Application.ammoInfoArray.length) {
Main_Application.ammoInfoArray[_local3] = new AmmoInfo();
Main_Application.ammoInfoArray[_local3].gunEnabled = false;
Main_Application.ammoInfoArray[_local3].ammoCount = 0;
Main_Application.ammoInfoArray[_local3].maxCount = 999;
_local3++;
};
Main_Application.ammoInfoArray[1].gunEnabled = true;
Main_Application.ammoInfoArray[6].gunEnabled = true;
Main_Application.ammoInfoArray[1].ammoCount = 999;
Main_Application.ammoInfoArray[6].ammoCount = 10;
_local2 = MovieClip(new Level_1());
break;
case 2:
_local2 = MovieClip(new Level_2());
break;
case 3:
_local2 = MovieClip(new Level_3());
break;
};
Save();
ChangeState(new State_InGame(this, _arg1, _local2));
_local2 = null;
}
public static function GetInstance():Main_Application{
if (!instance){
return (new (Main_Application));
};
if ((instance is Main_Application)){
return (Main_Application(instance));
};
throw (Error("Instanced FoofaApplication is not Main_Application"));
}
}
}//package ThisGame
Section 107
//Medipack (ThisGame.Medipack)
package ThisGame {
public class Medipack extends IsoObject {
const packValue:Number = 20;
const squaredRadius:Number = 200;
public function Medipack():void{
toDispose = false;
}
public function Step(_arg1:State_InGame):void{
if ((((_arg1.player.x - x) * (_arg1.player.x - x)) + ((_arg1.player.y - y) * (_arg1.player.y - y))) < squaredRadius){
_arg1.player.energy = (_arg1.player.energy + packValue);
if (_arg1.player.energy > _arg1.player.maxEnergy){
_arg1.player.energy = _arg1.player.maxEnergy;
};
toDispose = true;
};
}
}
}//package ThisGame
Section 108
//Mine (ThisGame.Mine)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
public class Mine extends MovieClip {
const squaredRadius:int = 8000;
const squaredActivationRadius:int = 400;
public var senderIsPlayer:Boolean;
var :Boolean;
public var toDispose:Boolean;
var vSpeed:Number;
var startTime:int;
public function Mine():void{
toDispose = false;
senderIsPlayer = false;
= false;
}
public function Step(_arg1:State_InGame):void{
var _local2:BigExplosion;
var _local3:int;
var _local4:Point;
if ( == false){
(_arg1);
} else {
_local2 = new BigExplosion();
_local2.x = x;
_local2.y = y;
_local2.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local2);
_arg1.isoObjectActiveArray.push(_local2);
_local3 = 0;
while (_local3 < _arg1.enemyActiveArray.length) {
_local4 = new Point(_arg1.enemyActiveArray[_local3].x, _arg1.enemyActiveArray[_local3].y);
if ((((_local4.x - x) * (_local4.x - x)) + ((_local4.y - y) * (_local4.y - y))) < squaredRadius){
_arg1.enemyActiveArray[_local3].OnHit(_arg1, 3);
};
_local3++;
};
if ((((_arg1.player.x - x) * (_arg1.player.x - x)) + ((_arg1.player.y - y) * (_arg1.player.y - y))) < squaredRadius){
_arg1.player.OnHit(_arg1, 3);
};
_arg1.PlaySound(_arg1.weapon6_boom);
_arg1.camera.ShakingEffect(10, 10, 1);
toDispose = true;
};
}
private function
(_arg1:State_InGame):void{
var _local2:int;
var _local3:Point;
if (senderIsPlayer){
_local2 = 0;
while (_local2 < _arg1.enemyActiveArray.length) {
_local3 = new Point(_arg1.enemyActiveArray[_local2].x, _arg1.enemyActiveArray[_local2].y);
if ((((_local3.x - x) * (_local3.x - x)) + ((_local3.y - y) * (_local3.y - y))) < squaredActivationRadius){
= true;
};
_local2++;
};
if (((((_arg1._time - startTime) > 3000)) && (((((_arg1.player.x - x) * (_arg1.player.x - x)) + ((_arg1.player.y - y) * (_arg1.player.y - y))) < squaredActivationRadius)))){
= true;
};
};
}
public function Init(_arg1:State_InGame, _arg2:Number=0, _arg3:Number=0):void{
startTime = _arg1._time;
}
}
}//package ThisGame
Section 109
//Panzer1_dx_centre (ThisGame.Panzer1_dx_centre)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Panzer1_dx_centre extends Png {
const fire1Rate:Number = 1500;
const frame_morte:int = 9;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var startTimer:Number;
var iaStatus:int;
var startX:Number;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var startY:Number;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var hitTime:Number;
var frameToGo:int;
public function Panzer1_dx_centre(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 30;
dieMode = false;
movingDir = new Vector2(1, 0);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
iaStatus = 0;
startX = 0;
startY = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Bullet;
if (toDispose == true){
_arg1.enemyActiveArray.splice(_arg2, 1);
return;
};
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (movingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
startTimer = _arg1._time;
iaStatus = 1;
movingDir.x = -1;
movingDir.y = 0;
collisionCircle.x = x;
collisionCircle.y = y;
startX = x;
startY = y;
break;
case 1:
if ((_arg1._time - startTimer) > 2500){
iaStatus = 2;
};
break;
case 2:
if ((startX - x) < 400){
if (_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] != id){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
};
x = (x + movingDir.x);
y = (y + movingDir.y);
} else {
iaStatus = 3;
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 3:
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_cannon1, 0.3);
_local4 = FoofaGeomUtils.AngleFromDir(lookingDir.x, lookingDir.y);
_local5 = (x + (Math.sin(_local4) * 20));
_local6 = (y + (Math.cos(_local4) * 20));
fire1Timer = _arg1._time;
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, lookingDir.x, lookingDir.y);
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.1)), Math.cos((_local4 + 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.1)), Math.cos((_local4 - 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.05)), Math.cos((_local4 + 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.05)), Math.cos((_local4 - 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
};
break;
};
angleFrame = (movingDir);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
};
if (dieMode == true){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 200);
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 100);
};
_arg1.lastDeathTime = _arg1._time;
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
energy--;
break;
case 3:
energy = (energy - 11);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
if (_arg2 != 2){
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 110
//Panzer1_dx_sx (ThisGame.Panzer1_dx_sx)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Panzer1_dx_sx extends Png {
const fire1Rate:Number = 1500;
const frame_morte:int = 9;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var iaStatus:int;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var hitTime:Number;
var frameToGo:int;
public function Panzer1_dx_sx(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 30;
dieMode = false;
movingDir = new Vector2(-1, 0);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
iaStatus = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Bullet;
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (movingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
if (_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] != id){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
};
x = (x + movingDir.x);
y = (y + movingDir.y);
if (x > 800){
movingDir.x = -(movingDir.x);
} else {
if (x < -100){
movingDir.x = -(movingDir.x);
};
};
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
angleFrame = (movingDir);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_cannon1, 0.3);
_local4 = FoofaGeomUtils.AngleFromDir(lookingDir.x, lookingDir.y);
_local5 = (x + (Math.sin(_local4) * 20));
_local6 = (y + (Math.cos(_local4) * 20));
fire1Timer = _arg1._time;
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, lookingDir.x, lookingDir.y);
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.1)), Math.cos((_local4 + 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.1)), Math.cos((_local4 - 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.05)), Math.cos((_local4 + 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.05)), Math.cos((_local4 - 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 1:
movingDir.x = (_arg1.player.x - x);
movingDir.y = (_arg1.player.y - y);
movingDir.normalize(1);
angleFrame = (movingDir);
switch (angleFrame){
case 0:
movingDir.x = 1;
movingDir.y = 0;
break;
case 1:
movingDir.x = 1;
movingDir.y = 1;
break;
case 2:
movingDir.x = 0;
movingDir.y = 1;
break;
case 3:
movingDir.x = -1;
movingDir.y = 1;
break;
case 4:
movingDir.x = -1;
movingDir.y = 0;
break;
case 5:
movingDir.x = -1;
movingDir.y = -1;
break;
case 6:
movingDir.x = 0;
movingDir.y = -1;
break;
case 7:
movingDir.x = 1;
movingDir.y = -1;
break;
};
break;
};
};
if (dieMode == true){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 200);
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 100);
};
_arg1.lastDeathTime = _arg1._time;
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
return;
case 3:
energy = (energy - 11);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 111
//Panzer1_dx_sx_missile (ThisGame.Panzer1_dx_sx_missile)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Panzer1_dx_sx_missile extends Png {
const fire1Rate:Number = 4500;
const frame_morte:int = 9;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var iaStatus:int;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var hitTime:Number;
var frameToGo:int;
public function Panzer1_dx_sx_missile(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 30;
dieMode = false;
movingDir = new Vector2(-1, 0);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
iaStatus = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:_BulletSmartRocket;
var _local8:_BulletSmartRocket;
var _local9:_BulletSmartRocket;
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (movingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
if (_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] != id){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
};
x = (x + movingDir.x);
y = (y + movingDir.y);
if (x > 800){
movingDir.x = -(movingDir.x);
} else {
if (x < -100){
movingDir.x = -(movingDir.x);
};
};
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
angleFrame = (movingDir);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_rocket, 0.3);
_local4 = FoofaGeomUtils.AngleFromDir(movingDir.x, movingDir.y);
_local5 = (x - (Math.sin(_local4) * 40));
_local6 = (y - (Math.cos(_local4) * 40));
fire1Timer = _arg1._time;
_local7 = new _BulletSmartRocket();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, (-(movingDir.x) + movingDir.leftNormal.x), (-(movingDir.y) + movingDir.leftNormal.y));
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local8 = new _BulletSmartRocket();
_local8.x = _local5;
_local8.y = _local6;
_local8.Init(_arg1, (-(movingDir.x) + movingDir.rightNormal.x), (-(movingDir.y) + movingDir.rightNormal.y));
_arg1.bulletArray.push(_local8);
_arg1.isoObjectActiveArray.push(_local8);
_local9 = new _BulletSmartRocket();
_local9.x = _local5;
_local9.y = _local6;
_local9.Init(_arg1, -(movingDir.x), -(movingDir.y));
_arg1.bulletArray.push(_local9);
_arg1.isoObjectActiveArray.push(_local9);
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 1:
movingDir.x = (_arg1.player.x - x);
movingDir.y = (_arg1.player.y - y);
movingDir.normalize(1);
angleFrame = (movingDir);
switch (angleFrame){
case 0:
movingDir.x = 1;
movingDir.y = 0;
break;
case 1:
movingDir.x = 1;
movingDir.y = 1;
break;
case 2:
movingDir.x = 0;
movingDir.y = 1;
break;
case 3:
movingDir.x = -1;
movingDir.y = 1;
break;
case 4:
movingDir.x = -1;
movingDir.y = 0;
break;
case 5:
movingDir.x = -1;
movingDir.y = -1;
break;
case 6:
movingDir.x = 0;
movingDir.y = -1;
break;
case 7:
movingDir.x = 1;
movingDir.y = -1;
break;
};
break;
};
};
if (dieMode == true){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 200);
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 100);
};
_arg1.lastDeathTime = _arg1._time;
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
return;
case 3:
energy = (energy - 11);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 112
//Panzer1_dxdown_centre (ThisGame.Panzer1_dxdown_centre)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Panzer1_dxdown_centre extends Png {
const fire1Rate:Number = 1500;
const frame_morte:int = 9;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var startTimer:Number;
var iaStatus:int;
var startX:Number;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var startY:Number;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var hitTime:Number;
var frameToGo:int;
public function Panzer1_dxdown_centre(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 30;
dieMode = false;
movingDir = new Vector2(1, 0);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
iaStatus = 0;
startX = 0;
startY = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Bullet;
if (toDispose == true){
_arg1.enemyActiveArray.splice(_arg2, 1);
return;
};
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (movingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
startTimer = _arg1._time;
iaStatus = 1;
movingDir.x = -1;
movingDir.y = -1;
collisionCircle.x = x;
collisionCircle.y = y;
startX = x;
startY = y;
break;
case 1:
if ((_arg1._time - startTimer) > 2500){
iaStatus = 2;
};
break;
case 2:
if ((startX - x) < 400){
if (_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] != id){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
};
x = (x + movingDir.x);
y = (y + movingDir.y);
} else {
iaStatus = 3;
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 3:
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_cannon1, 0.3);
_local4 = FoofaGeomUtils.AngleFromDir(lookingDir.x, lookingDir.y);
_local5 = (x + (Math.sin(_local4) * 20));
_local6 = (y + (Math.cos(_local4) * 20));
fire1Timer = _arg1._time;
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, lookingDir.x, lookingDir.y);
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.1)), Math.cos((_local4 + 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.1)), Math.cos((_local4 - 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.05)), Math.cos((_local4 + 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.05)), Math.cos((_local4 - 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
};
break;
};
angleFrame = (movingDir);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
};
if (dieMode == true){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 200);
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 100);
};
_arg1.lastDeathTime = _arg1._time;
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
break;
case 3:
energy = (energy - 11);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
if (_arg2 != 2){
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 113
//Panzer1_dxup_centre (ThisGame.Panzer1_dxup_centre)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Panzer1_dxup_centre extends Png {
const fire1Rate:Number = 1500;
const frame_morte:int = 9;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var startTimer:Number;
var iaStatus:int;
var startX:Number;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var startY:Number;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var hitTime:Number;
var frameToGo:int;
public function Panzer1_dxup_centre(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 30;
dieMode = false;
movingDir = new Vector2(1, 0);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
iaStatus = 0;
startX = 0;
startY = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Bullet;
if (toDispose == true){
_arg1.enemyActiveArray.splice(_arg2, 1);
return;
};
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (movingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
startTimer = _arg1._time;
iaStatus = 1;
movingDir.x = -1;
movingDir.y = 1;
collisionCircle.x = x;
collisionCircle.y = y;
startX = x;
startY = y;
break;
case 1:
if ((_arg1._time - startTimer) > 2500){
iaStatus = 2;
};
break;
case 2:
if ((startX - x) < 350){
if (_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] != id){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
};
x = (x + movingDir.x);
y = (y + movingDir.y);
} else {
iaStatus = 3;
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 3:
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_cannon1, 0.3);
_local4 = FoofaGeomUtils.AngleFromDir(lookingDir.x, lookingDir.y);
_local5 = (x + (Math.sin(_local4) * 20));
_local6 = (y + (Math.cos(_local4) * 20));
fire1Timer = _arg1._time;
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, lookingDir.x, lookingDir.y);
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.1)), Math.cos((_local4 + 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.1)), Math.cos((_local4 - 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.05)), Math.cos((_local4 + 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.05)), Math.cos((_local4 - 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
};
break;
};
angleFrame = (movingDir);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
};
if (dieMode == true){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 200);
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 100);
};
_arg1.lastDeathTime = _arg1._time;
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
break;
case 3:
energy = (energy - 11);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 114
//Panzer1_sx_centre (ThisGame.Panzer1_sx_centre)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Panzer1_sx_centre extends Png {
const fire1Rate:Number = 1500;
const frame_morte:int = 9;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var startTimer:Number;
var iaStatus:int;
var startX:Number;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var startY:Number;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var hitTime:Number;
var frameToGo:int;
public function Panzer1_sx_centre(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 30;
dieMode = false;
movingDir = new Vector2(1, 0);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
iaStatus = 0;
startX = 0;
startY = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Bullet;
if (toDispose == true){
_arg1.enemyActiveArray.splice(_arg2, 1);
return;
};
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (movingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
startTimer = _arg1._time;
iaStatus = 1;
movingDir.x = 1;
movingDir.y = 0;
collisionCircle.x = x;
collisionCircle.y = y;
startX = x;
startY = y;
break;
case 1:
if ((_arg1._time - startTimer) > 2500){
iaStatus = 2;
};
break;
case 2:
if ((x - startX) < 400){
if (_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] != id){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
};
x = (x + movingDir.x);
y = (y + movingDir.y);
} else {
iaStatus = 3;
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 3:
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_cannon1, 0.3);
_local4 = FoofaGeomUtils.AngleFromDir(lookingDir.x, lookingDir.y);
_local5 = (x + (Math.sin(_local4) * 20));
_local6 = (y + (Math.cos(_local4) * 20));
fire1Timer = _arg1._time;
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, lookingDir.x, lookingDir.y);
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.1)), Math.cos((_local4 + 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.1)), Math.cos((_local4 - 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.05)), Math.cos((_local4 + 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.05)), Math.cos((_local4 - 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
};
break;
};
angleFrame = (movingDir);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
};
if (dieMode == true){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 200);
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 100);
};
_arg1.lastDeathTime = _arg1._time;
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
break;
case 3:
energy = (energy - 11);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
if (_arg2 != 2){
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 115
//Panzer1_sx_dx (ThisGame.Panzer1_sx_dx)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Panzer1_sx_dx extends Png {
const fire1Rate:Number = 1500;
const frame_morte:int = 9;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var iaStatus:int;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var hitTime:Number;
var frameToGo:int;
public function Panzer1_sx_dx(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 30;
dieMode = false;
movingDir = new Vector2(1, 0);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
iaStatus = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Bullet;
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (movingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
if (_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] != id){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
};
x = (x + movingDir.x);
y = (y + movingDir.y);
if (x > 800){
movingDir.x = -(movingDir.x);
} else {
if (x < -100){
movingDir.x = -(movingDir.x);
};
};
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
angleFrame = (movingDir);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_cannon1, 0.3);
_local4 = FoofaGeomUtils.AngleFromDir(lookingDir.x, lookingDir.y);
_local5 = (x + (Math.sin(_local4) * 20));
_local6 = (y + (Math.cos(_local4) * 20));
fire1Timer = _arg1._time;
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, lookingDir.x, lookingDir.y);
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.1)), Math.cos((_local4 + 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.1)), Math.cos((_local4 - 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.05)), Math.cos((_local4 + 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.05)), Math.cos((_local4 - 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 1:
movingDir.x = (_arg1.player.x - x);
movingDir.y = (_arg1.player.y - y);
movingDir.normalize(1);
angleFrame = (movingDir);
switch (angleFrame){
case 0:
movingDir.x = 1;
movingDir.y = 0;
break;
case 1:
movingDir.x = 1;
movingDir.y = 1;
break;
case 2:
movingDir.x = 0;
movingDir.y = 1;
break;
case 3:
movingDir.x = -1;
movingDir.y = 1;
break;
case 4:
movingDir.x = -1;
movingDir.y = 0;
break;
case 5:
movingDir.x = -1;
movingDir.y = -1;
break;
case 6:
movingDir.x = 0;
movingDir.y = -1;
break;
case 7:
movingDir.x = 1;
movingDir.y = -1;
break;
};
break;
};
};
if (dieMode == true){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 200);
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 100);
};
_arg1.lastDeathTime = _arg1._time;
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
return;
case 3:
energy = (energy - 11);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 116
//Panzer1_sxdown_centre (ThisGame.Panzer1_sxdown_centre)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Panzer1_sxdown_centre extends Png {
const fire1Rate:Number = 1500;
const frame_morte:int = 9;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var startTimer:Number;
var iaStatus:int;
var startX:Number;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var startY:Number;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var hitTime:Number;
var frameToGo:int;
public function Panzer1_sxdown_centre(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 30;
dieMode = false;
movingDir = new Vector2(1, 0);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
iaStatus = 0;
startX = 0;
startY = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Bullet;
if (toDispose == true){
_arg1.enemyActiveArray.splice(_arg2, 1);
return;
};
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (movingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
startTimer = _arg1._time;
iaStatus = 1;
movingDir.x = 1;
movingDir.y = -1;
collisionCircle.x = x;
collisionCircle.y = y;
startX = x;
startY = y;
break;
case 1:
if ((_arg1._time - startTimer) > 2500){
iaStatus = 2;
};
break;
case 2:
if ((x - startX) < 350){
if (_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] != id){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
};
x = (x + movingDir.x);
y = (y + movingDir.y);
} else {
iaStatus = 3;
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 3:
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_cannon1, 0.3);
_local4 = FoofaGeomUtils.AngleFromDir(lookingDir.x, lookingDir.y);
_local5 = (x + (Math.sin(_local4) * 20));
_local6 = (y + (Math.cos(_local4) * 20));
fire1Timer = _arg1._time;
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, lookingDir.x, lookingDir.y);
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.1)), Math.cos((_local4 + 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.1)), Math.cos((_local4 - 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.05)), Math.cos((_local4 + 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.05)), Math.cos((_local4 - 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
};
break;
};
angleFrame = (movingDir);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
};
if (dieMode == true){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 200);
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 100);
};
_arg1.lastDeathTime = _arg1._time;
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
break;
case 3:
energy = (energy - 11);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
if (_arg2 != 2){
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 117
//Panzer1_sxup_centre (ThisGame.Panzer1_sxup_centre)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Panzer1_sxup_centre extends Png {
const fire1Rate:Number = 1500;
const frame_morte:int = 9;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var startTimer:Number;
var iaStatus:int;
var startX:Number;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var startY:Number;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var hitTime:Number;
var frameToGo:int;
public function Panzer1_sxup_centre(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 30;
dieMode = false;
movingDir = new Vector2(1, 0);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
iaStatus = 0;
startX = 0;
startY = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Bullet;
if (toDispose == true){
_arg1.enemyActiveArray.splice(_arg2, 1);
return;
};
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (movingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
startTimer = _arg1._time;
iaStatus = 1;
movingDir.x = 1;
movingDir.y = 1;
collisionCircle.x = x;
collisionCircle.y = y;
startX = x;
startY = y;
break;
case 1:
if ((_arg1._time - startTimer) > 2500){
iaStatus = 2;
};
break;
case 2:
if ((x - startX) < 350){
if (_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] != id){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
};
x = (x + movingDir.x);
y = (y + movingDir.y);
} else {
iaStatus = 3;
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 3:
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_cannon1, 0.3);
_local4 = FoofaGeomUtils.AngleFromDir(lookingDir.x, lookingDir.y);
_local5 = (x + (Math.sin(_local4) * 20));
_local6 = (y + (Math.cos(_local4) * 20));
fire1Timer = _arg1._time;
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, lookingDir.x, lookingDir.y);
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.1)), Math.cos((_local4 + 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.1)), Math.cos((_local4 - 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.05)), Math.cos((_local4 + 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.05)), Math.cos((_local4 - 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
};
break;
};
angleFrame = (movingDir);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
};
if (dieMode == true){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 200);
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 100);
};
_arg1.lastDeathTime = _arg1._time;
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
break;
case 3:
energy = (energy - 11);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
if (_arg2 != 2){
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 118
//Panzer1_up_centre (ThisGame.Panzer1_up_centre)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Panzer1_up_centre extends Png {
const fire1Rate:Number = 1500;
const frame_morte:int = 9;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var startTimer:Number;
var iaStatus:int;
var startX:Number;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var startY:Number;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var hitTime:Number;
var frameToGo:int;
public function Panzer1_up_centre(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 30;
dieMode = false;
movingDir = new Vector2(0, 1);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
iaStatus = 0;
startX = 0;
startY = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Bullet;
if (toDispose == true){
_arg1.enemyActiveArray.splice(_arg2, 1);
return;
};
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (movingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
startTimer = _arg1._time;
iaStatus = 1;
movingDir.x = 0;
movingDir.y = 1;
collisionCircle.x = x;
collisionCircle.y = y;
startX = x;
startY = y;
break;
case 1:
if ((_arg1._time - startTimer) > 2500){
iaStatus = 2;
};
break;
case 2:
if ((y - startY) < 400){
if (_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] != id){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
};
x = (x + movingDir.x);
y = (y + movingDir.y);
} else {
iaStatus = 3;
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 3:
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_cannon1, 0.3);
_local4 = FoofaGeomUtils.AngleFromDir(lookingDir.x, lookingDir.y);
_local5 = (x + (Math.sin(_local4) * 20));
_local6 = (y + (Math.cos(_local4) * 20));
fire1Timer = _arg1._time;
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, lookingDir.x, lookingDir.y);
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.1)), Math.cos((_local4 + 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.1)), Math.cos((_local4 - 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.05)), Math.cos((_local4 + 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.05)), Math.cos((_local4 - 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
};
break;
};
angleFrame = (movingDir);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
};
if (dieMode == true){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 200);
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 100);
};
_arg1.lastDeathTime = _arg1._time;
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
break;
case 3:
energy = (energy - 11);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
if (_arg2 != 2){
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 119
//Panzer2_dx_centre (ThisGame.Panzer2_dx_centre)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Panzer2_dx_centre extends Png {
const fire1Rate:Number = 1500;
const frame_morte:int = 9;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var startTimer:Number;
var iaStatus:int;
var startX:Number;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var startY:Number;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var hitTime:Number;
var frameToGo:int;
public function Panzer2_dx_centre(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 40;
dieMode = false;
movingDir = new Vector2(1, 0);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
iaStatus = 0;
startX = 0;
startY = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Bullet;
if (toDispose == true){
_arg1.enemyActiveArray.splice(_arg2, 1);
return;
};
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (movingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
startTimer = _arg1._time;
iaStatus = 1;
movingDir.x = -1;
movingDir.y = 0;
collisionCircle.x = x;
collisionCircle.y = y;
startX = x;
startY = y;
break;
case 1:
if ((_arg1._time - startTimer) > 2500){
iaStatus = 2;
};
break;
case 2:
if ((startX - x) < 400){
if (_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] != id){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
};
x = (x + movingDir.x);
y = (y + movingDir.y);
} else {
iaStatus = 3;
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 3:
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_cannon1, 0.3);
_local4 = FoofaGeomUtils.AngleFromDir(lookingDir.x, lookingDir.y);
_local5 = (x + (Math.sin(_local4) * 20));
_local6 = (y + (Math.cos(_local4) * 20));
fire1Timer = _arg1._time;
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, lookingDir.x, lookingDir.y);
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.1)), Math.cos((_local4 + 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.1)), Math.cos((_local4 - 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.05)), Math.cos((_local4 + 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.05)), Math.cos((_local4 - 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
};
break;
};
angleFrame = (movingDir);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
};
if (dieMode == true){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 200);
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 100);
};
_arg1.lastDeathTime = _arg1._time;
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
break;
case 3:
energy = (energy - 21);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
if (_arg2 != 2){
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 120
//Panzer2_dx_sx (ThisGame.Panzer2_dx_sx)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Panzer2_dx_sx extends Png {
const fire1Rate:Number = 1500;
const frame_morte:int = 9;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var iaStatus:int;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var hitTime:Number;
var frameToGo:int;
public function Panzer2_dx_sx(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 40;
dieMode = false;
movingDir = new Vector2(-1, 0);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
iaStatus = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Bullet;
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (movingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
if (_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] != id){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
};
x = (x + movingDir.x);
y = (y + movingDir.y);
if (x > 800){
movingDir.x = -(movingDir.x);
} else {
if (x < -100){
movingDir.x = -(movingDir.x);
};
};
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
angleFrame = (movingDir);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_cannon1, 0.3);
_local4 = FoofaGeomUtils.AngleFromDir(lookingDir.x, lookingDir.y);
_local5 = (x + (Math.sin(_local4) * 20));
_local6 = (y + (Math.cos(_local4) * 20));
fire1Timer = _arg1._time;
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, lookingDir.x, lookingDir.y);
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.1)), Math.cos((_local4 + 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.1)), Math.cos((_local4 - 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.05)), Math.cos((_local4 + 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.05)), Math.cos((_local4 - 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 1:
movingDir.x = (_arg1.player.x - x);
movingDir.y = (_arg1.player.y - y);
movingDir.normalize(1);
angleFrame = (movingDir);
switch (angleFrame){
case 0:
movingDir.x = 1;
movingDir.y = 0;
break;
case 1:
movingDir.x = 1;
movingDir.y = 1;
break;
case 2:
movingDir.x = 0;
movingDir.y = 1;
break;
case 3:
movingDir.x = -1;
movingDir.y = 1;
break;
case 4:
movingDir.x = -1;
movingDir.y = 0;
break;
case 5:
movingDir.x = -1;
movingDir.y = -1;
break;
case 6:
movingDir.x = 0;
movingDir.y = -1;
break;
case 7:
movingDir.x = 1;
movingDir.y = -1;
break;
};
break;
};
};
if (dieMode == true){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 200);
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 100);
};
_arg1.lastDeathTime = _arg1._time;
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
return;
case 3:
energy = (energy - 21);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
if (_arg2 != 2){
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 121
//Panzer2_dxdown_centre (ThisGame.Panzer2_dxdown_centre)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Panzer2_dxdown_centre extends Png {
const fire1Rate:Number = 1500;
const frame_morte:int = 9;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var startTimer:Number;
var iaStatus:int;
var startX:Number;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var startY:Number;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var hitTime:Number;
var frameToGo:int;
public function Panzer2_dxdown_centre(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 40;
dieMode = false;
movingDir = new Vector2(1, 0);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
iaStatus = 0;
startX = 0;
startY = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Bullet;
if (toDispose == true){
_arg1.enemyActiveArray.splice(_arg2, 1);
return;
};
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (movingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
startTimer = _arg1._time;
iaStatus = 1;
movingDir.x = -1;
movingDir.y = -1;
collisionCircle.x = x;
collisionCircle.y = y;
startX = x;
startY = y;
break;
case 1:
if ((_arg1._time - startTimer) > 2500){
iaStatus = 2;
};
break;
case 2:
if ((startX - x) < 400){
if (_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] != id){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
};
x = (x + movingDir.x);
y = (y + movingDir.y);
} else {
iaStatus = 3;
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 3:
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_cannon1, 0.3);
_local4 = FoofaGeomUtils.AngleFromDir(lookingDir.x, lookingDir.y);
_local5 = (x + (Math.sin(_local4) * 20));
_local6 = (y + (Math.cos(_local4) * 20));
fire1Timer = _arg1._time;
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, lookingDir.x, lookingDir.y);
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.1)), Math.cos((_local4 + 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.1)), Math.cos((_local4 - 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.05)), Math.cos((_local4 + 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.05)), Math.cos((_local4 - 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
};
break;
};
angleFrame = (movingDir);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
};
if (dieMode == true){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 200);
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 100);
};
_arg1.lastDeathTime = _arg1._time;
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
break;
case 3:
energy = (energy - 21);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
if (_arg2 != 2){
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 122
//Panzer2_dxup_centre (ThisGame.Panzer2_dxup_centre)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Panzer2_dxup_centre extends Png {
const fire1Rate:Number = 1500;
const frame_morte:int = 9;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var startTimer:Number;
var iaStatus:int;
var startX:Number;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var startY:Number;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var hitTime:Number;
var frameToGo:int;
public function Panzer2_dxup_centre(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 40;
dieMode = false;
movingDir = new Vector2(1, 0);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
iaStatus = 0;
startX = 0;
startY = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Bullet;
if (toDispose == true){
_arg1.enemyActiveArray.splice(_arg2, 1);
return;
};
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (movingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
startTimer = _arg1._time;
iaStatus = 1;
movingDir.x = -1;
movingDir.y = 1;
collisionCircle.x = x;
collisionCircle.y = y;
startX = x;
startY = y;
break;
case 1:
if ((_arg1._time - startTimer) > 2500){
iaStatus = 2;
};
break;
case 2:
if ((startX - x) < 350){
if (_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] != id){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
};
x = (x + movingDir.x);
y = (y + movingDir.y);
} else {
iaStatus = 3;
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 3:
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_cannon1, 0.3);
_local4 = FoofaGeomUtils.AngleFromDir(lookingDir.x, lookingDir.y);
_local5 = (x + (Math.sin(_local4) * 20));
_local6 = (y + (Math.cos(_local4) * 20));
fire1Timer = _arg1._time;
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, lookingDir.x, lookingDir.y);
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.1)), Math.cos((_local4 + 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.1)), Math.cos((_local4 - 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.05)), Math.cos((_local4 + 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.05)), Math.cos((_local4 - 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
};
break;
};
angleFrame = (movingDir);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
};
if (dieMode == true){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 200);
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 100);
};
_arg1.lastDeathTime = _arg1._time;
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
energy--;
break;
case 3:
energy = (energy - 16);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
if (_arg2 != 2){
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 123
//Panzer2_sx_centre (ThisGame.Panzer2_sx_centre)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Panzer2_sx_centre extends Png {
const fire1Rate:Number = 1500;
const frame_morte:int = 9;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var startTimer:Number;
var iaStatus:int;
var startX:Number;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var startY:Number;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var hitTime:Number;
var frameToGo:int;
public function Panzer2_sx_centre(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 40;
dieMode = false;
movingDir = new Vector2(1, 0);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
iaStatus = 0;
startX = 0;
startY = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Bullet;
if (toDispose == true){
_arg1.enemyActiveArray.splice(_arg2, 1);
return;
};
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (movingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
startTimer = _arg1._time;
iaStatus = 1;
movingDir.x = 1;
movingDir.y = 0;
collisionCircle.x = x;
collisionCircle.y = y;
startX = x;
startY = y;
break;
case 1:
if ((_arg1._time - startTimer) > 2500){
iaStatus = 2;
};
break;
case 2:
if ((x - startX) < 400){
if (_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] != id){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
};
x = (x + movingDir.x);
y = (y + movingDir.y);
} else {
iaStatus = 3;
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 3:
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_cannon1, 0.3);
_local4 = FoofaGeomUtils.AngleFromDir(lookingDir.x, lookingDir.y);
_local5 = (x + (Math.sin(_local4) * 20));
_local6 = (y + (Math.cos(_local4) * 20));
fire1Timer = _arg1._time;
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, lookingDir.x, lookingDir.y);
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.1)), Math.cos((_local4 + 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.1)), Math.cos((_local4 - 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.05)), Math.cos((_local4 + 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.05)), Math.cos((_local4 - 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
};
break;
};
angleFrame = (movingDir);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
};
if (dieMode == true){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 200);
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 100);
};
_arg1.lastDeathTime = _arg1._time;
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
energy--;
break;
case 3:
energy = (energy - 21);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
if (_arg2 != 2){
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 124
//Panzer2_sx_dx (ThisGame.Panzer2_sx_dx)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Panzer2_sx_dx extends Png {
const fire1Rate:Number = 1500;
const frame_morte:int = 9;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var iaStatus:int;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var hitTime:Number;
var frameToGo:int;
public function Panzer2_sx_dx(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 40;
dieMode = false;
movingDir = new Vector2(1, 0);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
iaStatus = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Bullet;
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (movingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
if (_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] != id){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
};
x = (x + movingDir.x);
y = (y + movingDir.y);
if (x > 800){
movingDir.x = -(movingDir.x);
} else {
if (x < -100){
movingDir.x = -(movingDir.x);
};
};
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
angleFrame = (movingDir);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_cannon1, 0.3);
_local4 = FoofaGeomUtils.AngleFromDir(lookingDir.x, lookingDir.y);
_local5 = (x + (Math.sin(_local4) * 20));
_local6 = (y + (Math.cos(_local4) * 20));
fire1Timer = _arg1._time;
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, lookingDir.x, lookingDir.y);
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.1)), Math.cos((_local4 + 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.1)), Math.cos((_local4 - 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.05)), Math.cos((_local4 + 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.05)), Math.cos((_local4 - 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 1:
movingDir.x = (_arg1.player.x - x);
movingDir.y = (_arg1.player.y - y);
movingDir.normalize(1);
angleFrame = (movingDir);
switch (angleFrame){
case 0:
movingDir.x = 1;
movingDir.y = 0;
break;
case 1:
movingDir.x = 1;
movingDir.y = 1;
break;
case 2:
movingDir.x = 0;
movingDir.y = 1;
break;
case 3:
movingDir.x = -1;
movingDir.y = 1;
break;
case 4:
movingDir.x = -1;
movingDir.y = 0;
break;
case 5:
movingDir.x = -1;
movingDir.y = -1;
break;
case 6:
movingDir.x = 0;
movingDir.y = -1;
break;
case 7:
movingDir.x = 1;
movingDir.y = -1;
break;
};
break;
};
};
if (dieMode == true){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 200);
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 100);
};
_arg1.lastDeathTime = _arg1._time;
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
return;
case 3:
energy = (energy - 21);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
if (_arg2 != 2){
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 125
//Panzer2_sxdown_centre (ThisGame.Panzer2_sxdown_centre)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Panzer2_sxdown_centre extends Png {
const fire1Rate:Number = 1500;
const frame_morte:int = 9;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var startTimer:Number;
var iaStatus:int;
var startX:Number;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var startY:Number;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var hitTime:Number;
var frameToGo:int;
public function Panzer2_sxdown_centre(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 40;
dieMode = false;
movingDir = new Vector2(1, 0);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
iaStatus = 0;
startX = 0;
startY = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Bullet;
if (toDispose == true){
_arg1.enemyActiveArray.splice(_arg2, 1);
return;
};
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (movingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
startTimer = _arg1._time;
iaStatus = 1;
movingDir.x = 1;
movingDir.y = -1;
collisionCircle.x = x;
collisionCircle.y = y;
startX = x;
startY = y;
break;
case 1:
if ((_arg1._time - startTimer) > 2500){
iaStatus = 2;
};
break;
case 2:
if ((x - startX) < 350){
if (_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] != id){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
};
x = (x + movingDir.x);
y = (y + movingDir.y);
} else {
iaStatus = 3;
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 3:
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_cannon1, 0.3);
_local4 = FoofaGeomUtils.AngleFromDir(lookingDir.x, lookingDir.y);
_local5 = (x + (Math.sin(_local4) * 20));
_local6 = (y + (Math.cos(_local4) * 20));
fire1Timer = _arg1._time;
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, lookingDir.x, lookingDir.y);
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.1)), Math.cos((_local4 + 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.1)), Math.cos((_local4 - 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.05)), Math.cos((_local4 + 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.05)), Math.cos((_local4 - 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
};
break;
};
angleFrame = (movingDir);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
};
if (dieMode == true){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 200);
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 100);
};
_arg1.lastDeathTime = _arg1._time;
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
break;
case 3:
energy = (energy - 21);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 126
//Panzer2_sxup_centre (ThisGame.Panzer2_sxup_centre)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Panzer2_sxup_centre extends Png {
const fire1Rate:Number = 1500;
const frame_morte:int = 9;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var startTimer:Number;
var iaStatus:int;
var startX:Number;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var startY:Number;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var hitTime:Number;
var frameToGo:int;
public function Panzer2_sxup_centre(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 40;
dieMode = false;
movingDir = new Vector2(1, 0);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
iaStatus = 0;
startX = 0;
startY = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Bullet;
if (toDispose == true){
_arg1.enemyActiveArray.splice(_arg2, 1);
return;
};
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (movingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
startTimer = _arg1._time;
iaStatus = 1;
movingDir.x = 1;
movingDir.y = 1;
collisionCircle.x = x;
collisionCircle.y = y;
startX = x;
startY = y;
break;
case 1:
if ((_arg1._time - startTimer) > 2500){
iaStatus = 2;
};
break;
case 2:
if ((x - startX) < 350){
if (_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] != id){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
};
x = (x + movingDir.x);
y = (y + movingDir.y);
} else {
iaStatus = 3;
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 3:
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_cannon1, 0.3);
_local4 = FoofaGeomUtils.AngleFromDir(lookingDir.x, lookingDir.y);
_local5 = (x + (Math.sin(_local4) * 20));
_local6 = (y + (Math.cos(_local4) * 20));
fire1Timer = _arg1._time;
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, lookingDir.x, lookingDir.y);
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.1)), Math.cos((_local4 + 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.1)), Math.cos((_local4 - 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.05)), Math.cos((_local4 + 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.05)), Math.cos((_local4 - 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
};
break;
};
angleFrame = (movingDir);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
};
if (dieMode == true){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 200);
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 100);
};
_arg1.lastDeathTime = _arg1._time;
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
break;
case 3:
energy = (energy - 21);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
if (_arg2 != 2){
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 127
//Panzer2_up_centre (ThisGame.Panzer2_up_centre)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Panzer2_up_centre extends Png {
const fire1Rate:Number = 1500;
const frame_morte:int = 9;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var startTimer:Number;
var iaStatus:int;
var startX:Number;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var startY:Number;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var hitTime:Number;
var frameToGo:int;
public function Panzer2_up_centre(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 40;
dieMode = false;
movingDir = new Vector2(0, 1);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
iaStatus = 0;
startX = 0;
startY = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Bullet;
if (toDispose == true){
_arg1.enemyActiveArray.splice(_arg2, 1);
return;
};
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (movingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
startTimer = _arg1._time;
iaStatus = 1;
movingDir.x = 0;
movingDir.y = 1;
collisionCircle.x = x;
collisionCircle.y = y;
startX = x;
startY = y;
break;
case 1:
if ((_arg1._time - startTimer) > 2500){
iaStatus = 2;
};
break;
case 2:
if ((y - startY) < 400){
if (_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] != id){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
};
x = (x + movingDir.x);
y = (y + movingDir.y);
} else {
iaStatus = 3;
};
collisionCircle.x = x;
collisionCircle.y = y;
break;
case 3:
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_cannon1, 0.3);
_local4 = FoofaGeomUtils.AngleFromDir(lookingDir.x, lookingDir.y);
_local5 = (x + (Math.sin(_local4) * 20));
_local6 = (y + (Math.cos(_local4) * 20));
fire1Timer = _arg1._time;
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, lookingDir.x, lookingDir.y);
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.1)), Math.cos((_local4 + 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.1)), Math.cos((_local4 - 0.1)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 + 0.05)), Math.cos((_local4 + 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.x = _local5;
_local7.y = _local6;
_local7.Init(_arg1, Math.sin((_local4 - 0.05)), Math.cos((_local4 - 0.05)));
_local7.flyHighBullet = true;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
};
break;
};
angleFrame = (movingDir);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
};
if (dieMode == true){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 200);
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 100);
};
_arg1.lastDeathTime = _arg1._time;
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
break;
case 3:
energy = (energy - 21);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 128
//Player (ThisGame.Player)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
public class Player extends MovieClip {
const frame_morte_bruciato_lenght:int = 0;
const frame_walk_start:Number = 1;
const frame_morte_esplosione1:int = 91;
const frame_stand:Number = 13;
const frame_morte_colpo1:int = 58;
const frame_walk_lenght:Number = 35;
const frame_sequence_lenght:Number = 156;
const maxGunCount:Number = 11;
const maxEnergy:Number = 30;
const frame_morte_esplosione1_lenght:int = 66;
const frame_morte_bruciato:int = 124;
const frame_morte_colpo1_lenght:int = 33;
const walkSpeed:Number = 3;
var :Number;
var fire1Rate:Number;
public var dieMode:Boolean;
var :Number;
var angleRad:Number;
var deadlyWeapon:int;
public var selectedWeapon2:Number;
var :Number;
var
:Number;
var energy:Number;
public var selectedWeapon:Number;
var lookingDir:Vector2;
public var collisionCircle:Circle;
private var :Boolean;
var :Boolean;
var hitTime:Number;
var :Number;
var ammoInfoArray:Array;
var movingDir:Vector2;
var fire1Timer:Number;
public var dieTime:Number;
var
:Boolean;
var fire2Rate:Number;
var angleGrad:Number;
var
:Boolean;
var
:int;
var fire2Timer:Number;
var lastFireThrowerTime:Number;
public function Player():void{
movingDir = new Vector2(0, -1);
lookingDir = new Vector2(0, -1);
angleRad = 0;
angleGrad = 0;
= 180;
= false;
fire1Timer = 0;
= false;
fire2Timer = 0;
selectedWeapon = 0;
selectedWeapon2 = 0;
= 0;
= 5;
collisionCircle = new Circle(x, y, 15);
= 0;
ammoInfoArray = Main_Application.ammoInfoArray;
energy = maxEnergy;
hitTime = 0;
lastFireThrowerTime = 0;
= false;
}
public function LookTowards(_arg1:Number, _arg2:Number, _arg3:Number=0, _arg4:Number=0):void{
lookingDir.x = (_arg1 - this.x);
lookingDir.y = (_arg2 - this.y);
lookingDir.normalize(1);
}
public function SelectWeapon(_arg1:Number):Boolean{
var _local2:GunProperties;
if (ammoInfoArray[_arg1].gunEnabled == false){
return (false);
};
if (_arg1 < 6){
if (selectedWeapon != _arg1){
_local2 = WeaponFactory.GetWeaponProperties(_arg1);
selectedWeapon = _arg1;
fire1Rate = _local2.fireRate;
= _local2.firstReloadTime;
= _local2.rotSpeed;
};
} else {
if (selectedWeapon2 != _arg1){
_local2 = WeaponFactory.GetWeaponProperties(_arg1);
selectedWeapon2 = _arg1;
fire2Rate = _local2.fireRate;
= _local2.firstReloadTime;
= _local2.rotSpeed;
};
};
return (true);
}
public function UpdateInput(_arg1:Boolean, _arg2:Boolean, _arg3:Boolean, _arg4:Boolean, _arg5:Boolean, _arg6:Boolean, _arg7:Boolean=true, _arg8:Boolean=true):void{
if (dieMode == true){
return;
};
if ((((_arg3 == true)) && ((_arg4 == true)))){
_arg3 = false;
_arg4 = false;
} else {
if ((((_arg1 == true)) && ((_arg2 == true)))){
_arg1 = false;
_arg2 = false;
} else {
if ((((_arg3 == true)) && ((_arg1 == true)))){
movingDir.x = -0.5;
movingDir.y = -0.5;
} else {
if ((((_arg4 == true)) && ((_arg1 == true)))){
movingDir.x = 0.5;
movingDir.y = -0.5;
} else {
if ((((_arg3 == true)) && ((_arg2 == true)))){
movingDir.x = -0.5;
movingDir.y = 0.5;
} else {
if ((((_arg4 == true)) && ((_arg2 == true)))){
movingDir.x = 0.5;
movingDir.y = 0.5;
} else {
if (_arg3 == true){
movingDir.x = -0.707;
movingDir.y = 0;
} else {
if (_arg4 == true){
movingDir.x = 0.707;
movingDir.y = 0;
} else {
if (_arg1 == true){
movingDir.x = 0;
movingDir.y = -0.707;
} else {
if (_arg2 == true){
movingDir.x = 0;
movingDir.y = 0.707;
};
};
};
};
};
};
};
};
if (((_arg7) && ((_arg8 == false)))){
lookingDir.x = movingDir.x;
lookingDir.y = movingDir.y;
};
};
};
= false;
if (((!()) && ((((((((_arg3 == true)) || ((_arg4 == true)))) || ((_arg1 == true)))) || ((_arg2 == true)))))){
= true;
};
= _arg5;
= _arg6;
if ((() && (!()))){
= false;
};
}
private function (){
collisionCircle.vx = (x - collisionCircle.x);
collisionCircle.vy = (y - collisionCircle.y);
collisionCircle.x = x;
collisionCircle.y = y;
}
public function (_arg1:State_InGame, _arg2:Number):void{
var _local3:_Bullet;
var _local4:_BulletFire;
var _local5:_BulletRocket;
var _local6:GranadeMovie;
var _local7:_FireGranade;
var _local8:MineMovie;
var _local9:B52Movie;
var _local10:Artillery;
if ((((ammoInfoArray[_arg2].ammoCount > 0)) || ((_arg2 == 1)))){
if (_arg2 != 1){
ammoInfoArray[_arg2].ammoCount--;
};
switch (_arg2){
case 1:
_arg1.PlaySound(_arg1.weapon1_fire);
fire1Timer = _arg1._time;
_local3 = new _Bullet();
_local3.type = 1;
_local3.senderIsPlayer = true;
_local3.x = (x - (Math.sin((( * Math.PI) / 180)) * 20));
_local3.y = (y + (Math.cos((( * Math.PI) / 180)) * 20));
_local3.Init(_arg1, -(Math.sin((( * Math.PI) / 180))), Math.cos((( * Math.PI) / 180)));
_arg1.bulletArray.push(_local3);
_arg1.isoObjectActiveArray.push(_local3);
_arg1.app.statistics.BulletShot();
break;
case 2:
_arg1.PlaySound(_arg1.weapon2_fire);
fire1Timer = _arg1._time;
_local3 = new _Bullet();
_local3.type = 1;
_local3.senderIsPlayer = true;
_local3.x = (x - (Math.sin((( * Math.PI) / 180)) * 20));
_local3.y = (y + (Math.cos((( * Math.PI) / 180)) * 20));
_local3.Init(_arg1, -(Math.sin((( * Math.PI) / 180))), Math.cos((( * Math.PI) / 180)));
_arg1.bulletArray.push(_local3);
_arg1.isoObjectActiveArray.push(_local3);
_arg1.app.statistics.BulletShot();
break;
case 3:
_arg1.PlaySound(_arg1.weapon3_fire);
fire1Timer = _arg1._time;
_local3 = new _Bullet();
_local3.senderIsPlayer = true;
_local3.x = (x - (Math.sin((( * Math.PI) / 180)) * 20));
_local3.y = (y + (Math.cos((( * Math.PI) / 180)) * 20));
_local3.Init(_arg1, -(Math.sin((( * Math.PI) / 180))), Math.cos((( * Math.PI) / 180)));
_local3.lifeTime = 500;
_arg1.bulletArray.push(_local3);
_arg1.isoObjectActiveArray.push(_local3);
_local3 = new _Bullet();
_local3.senderIsPlayer = true;
_local3.x = (x - (Math.sin((( * Math.PI) / 180)) * 20));
_local3.y = (y + (Math.cos((( * Math.PI) / 180)) * 20));
_local3.Init(_arg1, -(Math.sin(((( + 5) * Math.PI) / 180))), Math.cos(((( + 5) * Math.PI) / 180)));
_local3.lifeTime = 500;
_arg1.bulletArray.push(_local3);
_arg1.isoObjectActiveArray.push(_local3);
_local3 = new _Bullet();
_local3.senderIsPlayer = true;
_local3.x = (x - (Math.sin((( * Math.PI) / 180)) * 20));
_local3.y = (y + (Math.cos((( * Math.PI) / 180)) * 20));
_local3.Init(_arg1, -(Math.sin(((( - 5) * Math.PI) / 180))), Math.cos(((( - 5) * Math.PI) / 180)));
_local3.lifeTime = 500;
_arg1.bulletArray.push(_local3);
_arg1.isoObjectActiveArray.push(_local3);
_local3 = new _Bullet();
_local3.senderIsPlayer = true;
_local3.x = (x - (Math.sin((( * Math.PI) / 180)) * 20));
_local3.y = (y + (Math.cos((( * Math.PI) / 180)) * 20));
_local3.Init(_arg1, -(Math.sin(((( + 10) * Math.PI) / 180))), Math.cos(((( + 10) * Math.PI) / 180)));
_local3.lifeTime = 500;
_arg1.bulletArray.push(_local3);
_arg1.isoObjectActiveArray.push(_local3);
_local3 = new _Bullet();
_local3.senderIsPlayer = true;
_local3.x = (x - (Math.sin((( * Math.PI) / 180)) * 20));
_local3.y = (y + (Math.cos((( * Math.PI) / 180)) * 20));
_local3.Init(_arg1, -(Math.sin(((( - 10) * Math.PI) / 180))), Math.cos(((( - 10) * Math.PI) / 180)));
_local3.lifeTime = 500;
_arg1.bulletArray.push(_local3);
_arg1.isoObjectActiveArray.push(_local3);
_arg1.app.statistics.BulletShot(5);
break;
case 4:
if ((_arg1._time - lastFireThrowerTime) > 1000){
_arg1.PlaySound(_arg1.weapon4_fire);
lastFireThrowerTime = _arg1._time;
};
fire1Timer = _arg1._time;
_local4 = new _BulletFire();
_local4.senderIsPlayer = true;
_local4.x = (x - (Math.sin((( * Math.PI) / 180)) * 20));
_local4.y = (y + (Math.cos((( * Math.PI) / 180)) * 20));
_local4.Init(_arg1, -(Math.sin((( * Math.PI) / 180))), Math.cos((( * Math.PI) / 180)));
_arg1.bulletArray.push(_local4);
_arg1.isoObjectActiveArray.push(_local4);
break;
case 5:
_arg1.PlaySound(_arg1.weapon5_fire);
fire1Timer = _arg1._time;
_local5 = new _BulletRocket();
_local5.senderIsPlayer = true;
_local5.x = (x - (Math.sin((( * Math.PI) / 180)) * 20));
_local5.y = (y + (Math.cos((( * Math.PI) / 180)) * 20));
_local5.Init(_arg1, -(Math.sin((( * Math.PI) / 180))), Math.cos((( * Math.PI) / 180)));
_arg1.bulletArray.push(_local5);
_arg1.isoObjectActiveArray.push(_local5);
break;
case 6:
fire2Timer = _arg1._time;
_local6 = new GranadeMovie();
_local6.senderIsPlayer = true;
_local6.x = x;
_local6.y = y;
_local6.Init(_arg1, -(Math.sin((( * Math.PI) / 180))), Math.cos((( * Math.PI) / 180)));
_arg1.bulletArray.push(_local6);
_arg1.isoObjectActiveArray.push(_local6);
break;
case 7:
fire2Timer = _arg1._time;
_local7 = new _FireGranade();
_local7.senderIsPlayer = true;
_local7.x = x;
_local7.y = y;
_local7.Init(_arg1, -(Math.sin((( * Math.PI) / 180))), Math.cos((( * Math.PI) / 180)));
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
break;
case 8:
fire2Timer = _arg1._time;
_local8 = new MineMovie();
_local8.senderIsPlayer = true;
_local8.x = x;
_local8.y = y;
_local8.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local8);
_arg1.isoObjectActiveArray.push(_local8);
break;
case 9:
fire2Timer = _arg1._time;
_local9 = new B52Movie();
_local9.senderIsPlayer = true;
_local9.x = (x + 350);
_local9.y = (y + 550);
_local9.Init(_arg1, -0.3, -0.8);
_local9.y = (y + 850);
_arg1.bulletArray.push(_local9);
_arg1.worldObject.addChild(_local9);
_arg1.isoObjectActiveArray.push(_local9);
break;
case 10:
fire2Timer = _arg1._time;
_local10 = new Artillery();
_local10.senderIsPlayer = true;
_local10.x = (x + 350);
_local10.y = (y + 550);
_local10.Init(_arg1, -0.3, -0.8);
_arg1.bulletArray.push(_local10);
break;
};
} else {
switch (_arg2){
case 2:
case 3:
case 4:
case 5:
fire1Timer = _arg1._time;
_arg1.PlaySound(_arg1.fai_cilecca);
break;
case 6:
case 7:
case 8:
case 9:
fire2Timer = _arg1._time;
_arg1.PlaySound(_arg1.fai_cilecca);
break;
};
};
}
public function SelectNextPrimaryWeapon():int{
var _local1:uint;
if (selectedWeapon == 5){
return (-1);
};
_local1 = (selectedWeapon + 1);
while ((((_local1 < 6)) && ((ammoInfoArray[_local1].gunEnabled == false)))) {
_local1++;
};
if ((((_local1 < 6)) && (SelectWeapon(_local1)))){
return (_local1);
};
return (-1);
}
public function AddAmmo(_arg1:State_InGame, _arg2:int, _arg3:int):void{
if (ammoInfoArray[_arg2].gunEnabled == false){
ammoInfoArray[_arg2].gunEnabled = true;
_arg1.gui_weaponPopup.getChildByName("weapon_2").visible = false;
_arg1.gui_weaponPopup.getChildByName("weapon_3").visible = false;
_arg1.gui_weaponPopup.getChildByName("weapon_4").visible = false;
_arg1.gui_weaponPopup.getChildByName("weapon_5").visible = false;
_arg1.gui_weaponPopup.getChildByName("weapon_7").visible = false;
_arg1.gui_weaponPopup.getChildByName("weapon_8").visible = false;
_arg1.gui_weaponPopup.getChildByName("weapon_9").visible = false;
_arg1.gui_weaponPopup.getChildByName("weapon_10").visible = false;
_arg1.gui_weaponPopup.getChildByName("recharge_2").visible = false;
_arg1.gui_weaponPopup.getChildByName("recharge_3").visible = false;
_arg1.gui_weaponPopup.getChildByName("recharge_4").visible = false;
_arg1.gui_weaponPopup.getChildByName("recharge_5").visible = false;
_arg1.gui_weaponPopup.getChildByName("recharge_6").visible = false;
_arg1.gui_weaponPopup.getChildByName("recharge_7").visible = false;
_arg1.gui_weaponPopup.getChildByName("recharge_8").visible = false;
_arg1.gui_weaponPopup.getChildByName("recharge_9").visible = false;
_arg1.gui_weaponPopup.getChildByName("recharge_10").visible = false;
switch (_arg2){
case 2:
_arg1.gui_weaponPopup.getChildByName("weapon_2").visible = true;
break;
case 3:
_arg1.gui_weaponPopup.getChildByName("weapon_3").visible = true;
break;
case 4:
_arg1.gui_weaponPopup.getChildByName("weapon_4").visible = true;
break;
case 5:
_arg1.gui_weaponPopup.getChildByName("weapon_5").visible = true;
break;
case 7:
_arg1.gui_weaponPopup.getChildByName("weapon_7").visible = true;
break;
case 8:
_arg1.gui_weaponPopup.getChildByName("weapon_8").visible = true;
break;
case 9:
_arg1.gui_weaponPopup.getChildByName("weapon_9").visible = true;
break;
case 10:
_arg1.gui_weaponPopup.getChildByName("weapon_10").visible = true;
break;
};
_arg1.ShowWeaponPopup();
} else {
_arg1.gui_weaponPopup.getChildByName("recharge_2").visible = false;
_arg1.gui_weaponPopup.getChildByName("recharge_3").visible = false;
_arg1.gui_weaponPopup.getChildByName("recharge_4").visible = false;
_arg1.gui_weaponPopup.getChildByName("recharge_5").visible = false;
_arg1.gui_weaponPopup.getChildByName("recharge_6").visible = false;
_arg1.gui_weaponPopup.getChildByName("recharge_7").visible = false;
_arg1.gui_weaponPopup.getChildByName("recharge_8").visible = false;
_arg1.gui_weaponPopup.getChildByName("recharge_9").visible = false;
_arg1.gui_weaponPopup.getChildByName("recharge_10").visible = false;
_arg1.gui_weaponPopup.getChildByName("weapon_2").visible = false;
_arg1.gui_weaponPopup.getChildByName("weapon_3").visible = false;
_arg1.gui_weaponPopup.getChildByName("weapon_4").visible = false;
_arg1.gui_weaponPopup.getChildByName("weapon_5").visible = false;
_arg1.gui_weaponPopup.getChildByName("weapon_7").visible = false;
_arg1.gui_weaponPopup.getChildByName("weapon_8").visible = false;
_arg1.gui_weaponPopup.getChildByName("weapon_9").visible = false;
_arg1.gui_weaponPopup.getChildByName("weapon_10").visible = false;
switch (_arg2){
case 2:
_arg1.gui_weaponPopup.getChildByName("recharge_2").visible = true;
break;
case 3:
_arg1.gui_weaponPopup.getChildByName("recharge_3").visible = true;
break;
case 4:
_arg1.gui_weaponPopup.getChildByName("recharge_4").visible = true;
break;
case 5:
_arg1.gui_weaponPopup.getChildByName("recharge_5").visible = true;
break;
case 6:
_arg1.gui_weaponPopup.getChildByName("recharge_6").visible = trace;
break;
case 7:
_arg1.gui_weaponPopup.getChildByName("recharge_7").visible = true;
break;
case 8:
_arg1.gui_weaponPopup.getChildByName("recharge_8").visible = true;
break;
case 9:
_arg1.gui_weaponPopup.getChildByName("recharge_9").visible = true;
break;
case 10:
_arg1.gui_weaponPopup.getChildByName("recharge_10").visible = true;
break;
};
_arg1.ShowWeaponPopup();
};
ammoInfoArray[_arg2].ammoCount = (ammoInfoArray[_arg2].ammoCount + _arg3);
if (ammoInfoArray[_arg2].ammoCount > ammoInfoArray[_arg2].maxCount){
ammoInfoArray[_arg2].ammoCount = ammoInfoArray[_arg2].maxCount;
};
}
public function Step(_arg1:State_InGame):void{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:int;
var _local6:ColorTransform;
if (
> 0){
--;
};
if ( > 0){
--;
};
if ((((dieMode == true)) || (((_arg1._time - hitTime) > 100)))){
_local6 = new ColorTransform();
this.transform.colorTransform = _local6;
_local6 = null;
};
if (dieMode == true){
return;
};
if (((!()) && (
))){
x = (x + (movingDir.x * walkSpeed));
y = (y + (movingDir.y * walkSpeed));
};
angleRad = FoofaGeomUtils.AngleFromDir(lookingDir.x, lookingDir.y);
angleGrad = ((-(angleRad) * 180) / Math.PI);
angleGrad = (angleGrad % 360);
while (angleGrad < 0) {
angleGrad = (angleGrad + 360);
};
= ( % 360);
while ( < 0) {
= ( + 360);
};
_local2 = ( - angleGrad);
_local3 = Math.abs(_local2);
if (_local3 < 180){
_local4 = (_local3 / 32);
} else {
_local4 = ((360 - _local3) / 32);
};
if (_local4 < 1){
_local4 = 1;
};
if ( == false){
= angleGrad;
} else {
if (_local3 < 5){
= angleGrad;
} else {
if (_local3 < 180){
if (_local2 < 0){
= ( + ( * _local4));
} else {
= ( - ( * _local4));
};
} else {
if (_local2 < 0){
= ( - ( * _local4));
} else {
= ( + ( * _local4));
};
};
};
};
= (((112.5 + angleGrad) / 45) % 8);
_local5 = (((currentFrame % frame_sequence_lenght) + (frame_sequence_lenght *
)) + 1);
if (
){
if (_local5 >= (((frame_sequence_lenght *
) + frame_walk_start) + frame_walk_lenght)){
_local5 = ((frame_sequence_lenght *
) + frame_walk_start);
};
} else {
_local5 = ((frame_sequence_lenght *
) + frame_stand);
};
this.gotoAndPlay(_local5);
if (((((( == true)) && ((
<= 0)))) && (((_arg1._time - fire1Timer) > fire1Rate)))){
(_arg1, selectedWeapon);
};
if ((((((
== true)) && (( <= 0)))) && (((_arg1._time - fire2Timer) > fire2Rate)))){
(_arg1, selectedWeapon2);
};
();
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:int;
var _local4:ColorTransform;
if ( == 0){
energy--;
_arg1.app.statistics.Damage();
if ((((dieMode == false)) && ((energy < 0)))){
_arg1.PlaySound(_arg1.vieni_ucciso);
dieMode = true;
deadlyWeapon = _arg2;
dieTime = _arg1._time;
switch (deadlyWeapon){
case 1:
_local3 = frame_morte_colpo1;
break;
case 2:
_local3 = frame_morte_bruciato;
break;
case 3:
_local3 = frame_morte_esplosione1;
break;
default:
_local3 = frame_morte_colpo1;
break;
};
_arg1.app.gameMode = 1;
this.gotoAndPlay((_local3 + (frame_sequence_lenght *
)));
} else {
if (dieMode == false){
_arg1.PlaySound(_arg1.vieni_colpito);
hitTime = _arg1._time;
_local4 = new ColorTransform(5);
this.transform.colorTransform = _local4;
_local4 = null;
};
};
};
}
public function SelectPreviousPrimaryWeapon():int{
var _local1:uint;
if (selectedWeapon == 1){
return (-1);
};
_local1 = (selectedWeapon - 1);
while ((((_local1 > 0)) && ((ammoInfoArray[_local1].gunEnabled == false)))) {
_local1--;
};
if ((((_local1 > 0)) && (SelectWeapon(_local1)))){
return (_local1);
};
return (-1);
}
public function GetAmmoForSelectedSecondaryWeapon():Number{
return (ammoInfoArray[selectedWeapon2].ammoCount);
}
public function GetAmmoForSelectedPrimaryWeapon():Number{
return (ammoInfoArray[selectedWeapon].ammoCount);
}
}
}//package ThisGame
Section 129
//Png (ThisGame.Png)
package ThisGame {
import FoofaGeom.*;
public class Png extends IsoObject {
var id:int;
public var dieMode:Boolean;
public var :Number;
public var collisionCircle:Circle;
static var refcount:int = 0;
public function Png():void{
collisionCircle = new Circle(x, y, 15);
refcount++;
id = refcount;
dieMode = false;
}
public function IsDying():Boolean{
return (dieMode);
}
public function StopSoundLoops(_arg1:State_InGame){
}
}
}//package ThisGame
Section 130
//Png_man1 (ThisGame.Png_man1)
package ThisGame {
import FoofaGeom.*;
import FoofaAI.*;
import flash.geom.*;
import flash.media.*;
import FoofaCrypto.*;
public class Png_man1 extends Png {
const frame_morte_esplosione2_lenght:int = 59;
const fire1Rate:Number = 1500;
const frame_morte_colpo4_lenght:int = 53;
const frame_agonia_lenght:int = 51;
const frame_morte_agonia_brucia:int = 817;
const frame_morte_esplosione1:int = 2090;
const frame_morte_colpo2_lenght:int = 59;
const frame_morte_colpo2:int = 1297;
const frame_morte_colpo3:int = 1537;
const frame_morte_colpo4:int = 1777;
const frame_morte_esplosione2:int = 2329;
const frame_morte_colpo1:int = 1057;
const frame_morte_agonia_colpo_lenght:int = 23;
const frame_walk_lenght:int = 72;
const frame_morte_agonia_brucia_lenght:int = 59;
const frame_morte_agonia_colpo:int = 1993;
const frame_morte_esplosione1_lenght:int = 59;
const frame_walk:int = 1;
const frame_agonia:int = 2589;
const frame_morte_colpo3_lenght:int = 59;
const frame_morte_bruciato:int = 577;
const frame_morte_colpo1_lenght:int = 59;
const frame_morte_bruciato_lenght:int = 59;
var refVec:Vector2;
private var :Boolean;
var path:Array;
var agonyMode:Boolean;
var frameToSkip:int;
var angleFrame:Number;
var deadlyWeapon:int;
var angleRad:Number;
var targetPoint:Point;
var pfCell:Object;
var energy:Number;
private var
:uint;
var res:Number;
var lookingDir:Vector2;
var agonySwitch:Boolean;
var hitTime:Number;
var lastPfUpdate:Number;
var iaStatus:int;
var movingDir:Vector2;
var fire1Timer:Number;
public var agony_loop:SoundChannel;
private var :uint;
var deadType:int;
var angleGrad:Number;
var frameToGo:int;
var pf:PathFinder;
static var deadTypeCount:int = 0;
public function Png_man1(){
addFrameScript(71, frame72, 143, frame144, 215, frame216, 287, frame288, 359, frame360, 431, frame432, 503, frame504, 575, frame576, 630, frame631, 635, frame636, 690, frame691, 695, frame696, 750, frame751, 755, frame756, 810, frame811, 815, frame816, 870, frame871, 875, frame876, 930, frame931, 935, frame936, 990, frame991, 995, frame996, 1050, frame1051, 1055, frame1056, 1110, frame1111, 1115, frame1116, 1170, frame1171, 1175, frame1176, 1230, frame1231, 1235, frame1236, 1290, frame1291, 1295, frame1296, 1350, frame1351, 1355, frame1356, 1410, frame1411, 1415, frame1416, 1470, frame1471, 1475, frame1476, 1530, frame1531, 1535, frame1536, 1590, frame1591, 1595, frame1596, 1650, frame1651, 1655, frame1656, 1710, frame1711, 1715, frame1716, 1770, frame1771, 1775, frame1776, 1824, frame1825, 1829, frame1830, 1878, frame1879, 1883, frame1884, 1932, frame1933, 1937, frame1938, 1991, frame1992, 2010, frame2011, 2015, frame2016, 2034, frame2035, 2039, frame2040, 2058, frame2059, 2063, frame2064, 2082, frame2083, 2087, frame2088, 2142, frame2143, 2147, frame2148, 2202, frame2203, 2207, frame2208, 2262, frame2263, 2267, frame2268, 2322, frame2323, 2327, frame2328, 2387, frame2388, 2392, frame2393, 2452, frame2453, 2457, frame2458, 2517, frame2518, 2522, frame2523, 2582, frame2583, 2587, frame2588, 2639, frame2640, 2691, frame2692, 2743, frame2744, 2795, frame2796);
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 1;
dieMode = false;
agonyMode = false;
agonySwitch = false;
movingDir = new Vector2(0, 1);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
hitTime = 0;
iaStatus = 0;
path = new Array();
= false;
}
function frame1176(){
stop();
}
function frame2393(){
stop();
}
function frame2035(){
y = (y - 650);
}
function frame2040(){
stop();
}
function frame288(){
gotoAndPlay(109);
}
function frame1992(){
gotoAndPlay(2746);
}
function frame1879(){
}
function frame1884(){
gotoAndPlay(2642);
}
function frame1651(){
y = (y - 650);
}
function frame1411(){
y = (y - 650);
}
function frame2059(){
y = (y - 650);
}
function frame504(){
gotoAndPlay(217);
}
function frame1536(){
stop();
}
function frame1416(){
stop();
}
function frame1771(){
y = (y - 650);
}
function frame1531(){
y = (y - 650);
}
function frame876(){
stop();
}
function frame636(){
stop();
}
function frame996(){
stop();
}
function frame871(){
y = (y - 650);
}
function frame631(){
y = (y - 650);
}
function frame751(){
y = (y - 650);
}
function frame1656(){
stop();
}
function frame756(){
stop();
}
function frame2064(){
stop();
}
function frame2083(){
y = (y - 650);
}
function frame2518(){
y = (y - 650);
}
function frame2088(){
stop();
}
function frame2640(){
gotoAndPlay(2590);
}
function frame1776(){
stop();
}
function frame2523(){
stop();
}
function frame991(){
y = (y - 650);
}
function frame2744(){
gotoAndPlay(2694);
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Number;
var _local5:int;
var _local6:*;
var _local7:Bullet;
var _local8:int;
if ((((dieMode == true)) || (((_arg1._time - hitTime) > 100)))){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleRad = ((FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, movingDir) + (Math.PI / 4)) + (Math.PI / 8));
while (angleRad < 0) {
angleRad = (angleRad + (2 * Math.PI));
};
while (angleRad > (2 * Math.PI)) {
angleRad = (angleRad - (2 * Math.PI));
};
angleGrad = (((angleRad * 180) / Math.PI) + 22.5);
angleGrad = (angleGrad % 360);
while (angleGrad < 0) {
angleGrad = (angleGrad + 360);
};
angleFrame = Math.round((angleGrad / 45));
angleFrame = (angleFrame % 8);
if ((((dieMode == false)) && ((agonyMode == false)))){
_local4 = (((x - _arg1.player.x) * (x - _arg1.player.x)) + ((y - _arg1.player.y) * (y - _arg1.player.y)));
switch (iaStatus){
case 0:
pf = new PathFinder(_arg1.pfGrid, 300);
res = 0;
iaStatus = 1;
break;
case 1:
if (_local4 < 40000){
iaStatus = 3;
break;
};
lastPfUpdate = _arg1._time;
targetPoint = new Point(x, y);
res = 0;
while (res == 0) {
res = pf.Move(new Point(x, y), new Point(((_arg1.player.x + (Math.random() * 180)) - 90), ((_arg1.player.y + (Math.random() * 180)) - 90)), path);
};
iaStatus = 2;
break;
case 2:
if ((_arg1._time - lastPfUpdate) > 1500){
iaStatus = 1;
break;
} else {
if ((((targetPoint.x - x) * (targetPoint.x - x)) + ((targetPoint.y - y) * (targetPoint.y - y))) > 100){
movingDir.x = (targetPoint.x - x);
movingDir.y = (targetPoint.y - y);
movingDir.normalize(1);
if (((_arg1.pfGrid.IsWalkable(new Point((x + movingDir.x), (y + movingDir.y)))) && ((((_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] == -1)) || ((_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] == id)))))){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
x = (x + movingDir.x);
y = (y + movingDir.y);
_local5 = (((currentFrame % frame_walk_lenght) + (frame_walk_lenght * angleFrame)) + 1);
if (_local5 >= (((frame_walk_lenght * angleFrame) + frame_walk) + frame_walk_lenght)){
_local5 = ((frame_walk_lenght * angleFrame) + frame_walk);
};
this.gotoAndPlay(_local5);
} else {
movingDir = movingDir.rightNormal;
_local6 = _arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))];
if (((_arg1.pfGrid.IsWalkable(new Point((x + movingDir.x), (y + movingDir.y)))) && ((((_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] == -1)) || ((_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] == id)))))){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
x = (x + movingDir.x);
y = (y + movingDir.y);
_local5 = (((currentFrame % frame_walk_lenght) + (frame_walk_lenght * angleFrame)) + 1);
if (_local5 >= (((frame_walk_lenght * angleFrame) + frame_walk) + frame_walk_lenght)){
_local5 = ((frame_walk_lenght * angleFrame) + frame_walk);
};
this.gotoAndPlay(_local5);
} else {
movingDir = movingDir.leftNormal;
};
};
} else {
if (path.length > 0){
targetPoint = path.pop();
targetPoint.x = ((targetPoint.x * _arg1.pfGrid.cellPixelWidth) + (_arg1.pfGrid.cellPixelWidth / 2));
targetPoint.y = ((targetPoint.y * _arg1.pfGrid.cellPixelHeight) + (_arg1.pfGrid.cellPixelHeight / 2));
};
};
collisionCircle.x = x;
collisionCircle.y = y;
};
break;
case 3:
if (_local4 > 50000){
iaStatus = 1;
break;
};
movingDir.x = (_arg1.player.x - x);
movingDir.y = (_arg1.player.y - y);
movingDir.normalize(1);
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.weapon1_fire, 0.3);
fire1Timer = _arg1._time;
_local7 = new Bullet_enemy();
_local7.x = x;
_local7.y = y;
_local7.Init(_arg1, movingDir.x, movingDir.y);
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
};
break;
};
};
if (dieMode == true){
if (((agonyMode) && (agony_loop))){
_arg1.StopLoop(agony_loop);
};
_local8 = 1;
if ((deadTypeCount % 16) > 8){
_local8 = 2;
};
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
if (agonyMode == true){
switch (deadlyWeapon){
case 2:
frameToGo = frame_morte_agonia_brucia;
frameToSkip = frame_morte_agonia_brucia_lenght;
= frame_morte_agonia_brucia_lenght;
break;
default:
frameToGo = frame_morte_agonia_colpo;
frameToSkip = frame_morte_agonia_colpo_lenght;
= frame_morte_agonia_colpo_lenght;
break;
};
} else {
= 59;
switch (deadlyWeapon){
case 1:
switch ((deadType % 3)){
case 0:
frameToGo = frame_morte_colpo1;
frameToSkip = frame_morte_colpo1_lenght;
if (_local8 == 1){
_arg1.PlaySound(_arg1.pain_11);
} else {
_arg1.PlaySound(_arg1.pain_14);
};
break;
case 1:
frameToGo = frame_morte_colpo2;
frameToSkip = frame_morte_colpo2_lenght;
if (_local8 == 1){
_arg1.PlaySound(_arg1.pain_05);
} else {
_arg1.PlaySound(_arg1.pain_06);
};
break;
case 2:
frameToGo = frame_morte_colpo3;
frameToSkip = frame_morte_colpo3_lenght;
if (_local8 == 1){
_arg1.PlaySound(_arg1.pain_08);
} else {
_arg1.PlaySound(_arg1.pain_07);
};
break;
};
break;
case 2:
_arg1.PlaySound(_arg1.pain_15);
frameToGo = frame_morte_bruciato;
frameToSkip = frame_morte_bruciato_lenght;
break;
case 3:
switch ((deadType % 2)){
case 0:
frameToGo = frame_morte_esplosione1;
frameToSkip = frame_morte_esplosione1_lenght;
break;
case 1:
frameToGo = frame_morte_esplosione2;
frameToSkip = frame_morte_esplosione2_lenght;
_arg1.PlaySound(_arg1.pain_10);
break;
};
break;
default:
frameToGo = frame_morte_colpo1;
frameToSkip = frame_morte_colpo1_lenght;
_arg1.PlaySound(_arg1.pain_11);
break;
};
};
= (frameToGo + (Math.floor((angleFrame / 2)) * (frameToSkip + 1)));
this.gotoAndPlay();
= (
+ );
--;
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 3000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 20);
_arg1.app.statistics.Combo();
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 10);
_arg1.app.statistics.NoCombo();
};
_arg1.lastDeathTime = _arg1._time;
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
_arg1.app.statistics.EnemyKilled();
} else {
if (agonyMode == true){
if (agonySwitch == true){
agony_loop = _arg1.PlayLoop(_arg1.grida_medic);
agonySwitch = false;
frameToGo = frame_morte_colpo4;
frameToSkip = frame_morte_colpo4_lenght;
this.gotoAndPlay((frameToGo + (Math.floor((angleFrame / 2)) * (frameToSkip + 1))));
switch ((deadTypeCount % 4)){
case 0:
_arg1.PlaySound(_arg1.pain_01);
break;
case 1:
_arg1.PlaySound(_arg1.pain_02);
break;
case 2:
_arg1.PlaySound(_arg1.pain_03);
break;
case 3:
_arg1.PlaySound(_arg1.pain_04);
break;
};
} else {
if (((agony_loop) && (((((_arg1.player.x - x) * (_arg1.player.x - x)) + ((_arg1.player.y - y) * (_arg1.player.y - y))) > 200000)))){
_arg1.StopLoop(agony_loop);
};
};
};
};
}
function frame432(){
gotoAndPlay(181);
}
function frame72(){
gotoAndPlay(1);
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
energy = (energy - 2);
break;
case 3:
energy = (energy - 6);
break;
};
if ((((((agonyMode == false)) && ((dieMode == false)))) && ((energy < 0)))){
if ((((((agonyMode == false)) && ((_arg2 == 1)))) && ((Math.random() < 0.25)))){
agonyMode = true;
agonySwitch = true;
} else {
dieMode = true;
deadlyWeapon = _arg2;
deadTypeCount++;
deadType = deadTypeCount;
};
} else {
if ((((agonyMode == true)) && ((agonySwitch == false)))){
dieMode = true;
deadlyWeapon = _arg2;
} else {
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
};
}
function frame2796(){
gotoAndPlay(2746);
}
function frame1591(){
y = (y - 650);
}
function frame1351(){
y = (y - 650);
}
function frame1356(){
stop();
}
function frame1236(){
stop();
}
function frame1116(){
stop();
}
function frame1231(){
y = (y - 650);
}
function frame1596(){
stop();
}
function frame1476(){
stop();
}
function frame1471(){
y = (y - 650);
}
function frame1111(){
y = (y - 650);
}
function frame2323(){
y = (y - 650);
}
function frame2203(){
y = (y - 650);
}
function frame2328(){
stop();
}
function frame576(){
gotoAndPlay(253);
}
function frame691(){
y = (y - 650);
}
function frame2458(){
stop();
}
function frame696(){
stop();
}
function frame2208(){
stop();
}
function frame2453(){
y = (y - 650);
}
function frame2583(){
y = (y - 650);
}
function frame2588(){
stop();
}
function frame1933(){
}
function frame1938(){
gotoAndPlay(2694);
}
function frame216(){
gotoAndPlay(73);
}
function frame2692(){
gotoAndPlay(2642);
}
function frame1825(){
}
function frame360(){
gotoAndPlay(145);
}
function frame1830(){
gotoAndPlay(2590);
}
function frame1711(){
y = (y - 650);
}
function frame931(){
y = (y - 650);
}
function frame936(){
stop();
}
function frame811(){
y = (y - 650);
}
function frame1716(){
stop();
}
function frame2011(){
y = (y - 650);
}
function frame144(){
gotoAndPlay(37);
}
function frame1291(){
y = (y - 650);
}
function frame1171(){
y = (y - 650);
}
function frame816(){
stop();
}
function frame1296(){
stop();
}
function frame1056(){
stop();
}
function frame2388(){
y = (y - 650);
}
function frame1051(){
y = (y - 650);
}
function frame2148(){
stop();
}
function frame2263(){
y = (y - 650);
}
function frame2016(){
stop();
}
function frame2143(){
y = (y - 650);
}
function frame2268(){
stop();
}
}
}//package ThisGame
Section 131
//Png_man1_burst (ThisGame.Png_man1_burst)
package ThisGame {
import FoofaGeom.*;
import FoofaAI.*;
import flash.geom.*;
import flash.media.*;
import FoofaCrypto.*;
public class Png_man1_burst extends Png {
const reloadTime:Number = 500;
const burstRate:Number = 3;
const frame_morte_esplosione2_lenght:int = 59;
const fire1Rate:Number = 100;
const frame_agonia_lenght:int = 51;
const frame_morte_colpo4_lenght:int = 53;
const frame_morte_agonia_brucia:int = 817;
const frame_morte_esplosione1:int = 2090;
const frame_morte_colpo2_lenght:int = 59;
const frame_morte_colpo2:int = 1297;
const frame_morte_colpo3:int = 1537;
const frame_morte_colpo4:int = 1777;
const frame_morte_esplosione2:int = 2329;
const frame_morte_colpo1:int = 1057;
const frame_morte_agonia_colpo_lenght:int = 23;
const frame_walk_lenght:int = 72;
const frame_morte_agonia_brucia_lenght:int = 59;
const frame_morte_agonia_colpo:int = 1993;
const frame_morte_esplosione1_lenght:int = 59;
const frame_walk:int = 1;
const frame_agonia:int = 2589;
const frame_morte_colpo3_lenght:int = 59;
const frame_morte_bruciato:int = 577;
const frame_morte_colpo1_lenght:int = 59;
const frame_morte_bruciato_lenght:int = 59;
var refVec:Vector2;
var path:Array;
var agonyMode:Boolean;
var angleFrame:Number;
var frameToSkip:int;
var deadlyWeapon:int;
var angleRad:Number;
var targetPoint:Point;
var pfCell:Object;
var energy:Number;
var res:Number;
var lookingDir:Vector2;
var agonySwitch:Boolean;
var hitTime:Number;
var lastPfUpdate:Number;
var iaStatus:int;
var movingDir:Vector2;
var fire1Timer:Number;
public var agony_loop:SoundChannel;
var deadType:int;
var angleGrad:Number;
var burstCount:Number;
var frameToGo:int;
var pf:PathFinder;
static var deadTypeCount:int = 0;
public function Png_man1_burst(){
addFrameScript(71, frame72, 143, frame144, 215, frame216, 287, frame288, 359, frame360, 431, frame432, 503, frame504, 575, frame576, 630, frame631, 635, frame636, 690, frame691, 695, frame696, 750, frame751, 755, frame756, 810, frame811, 815, frame816, 870, frame871, 875, frame876, 930, frame931, 935, frame936, 990, frame991, 995, frame996, 1050, frame1051, 1055, frame1056, 1110, frame1111, 1115, frame1116, 1170, frame1171, 1175, frame1176, 1230, frame1231, 1235, frame1236, 1290, frame1291, 1295, frame1296, 1350, frame1351, 1355, frame1356, 1410, frame1411, 1415, frame1416, 1470, frame1471, 1475, frame1476, 1530, frame1531, 1535, frame1536, 1590, frame1591, 1595, frame1596, 1650, frame1651, 1655, frame1656, 1710, frame1711, 1715, frame1716, 1770, frame1771, 1775, frame1776, 1824, frame1825, 1829, frame1830, 1878, frame1879, 1883, frame1884, 1932, frame1933, 1937, frame1938, 1991, frame1992, 2010, frame2011, 2015, frame2016, 2034, frame2035, 2039, frame2040, 2058, frame2059, 2063, frame2064, 2082, frame2083, 2087, frame2088, 2142, frame2143, 2147, frame2148, 2202, frame2203, 2207, frame2208, 2262, frame2263, 2267, frame2268, 2322, frame2323, 2327, frame2328, 2387, frame2388, 2392, frame2393, 2452, frame2453, 2457, frame2458, 2517, frame2518, 2522, frame2523, 2582, frame2583, 2587, frame2588, 2639, frame2640, 2691, frame2692, 2743, frame2744, 2795, frame2796);
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 1;
dieMode = false;
agonyMode = false;
agonySwitch = false;
movingDir = new Vector2(0, 1);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
hitTime = 0;
iaStatus = 0;
path = new Array();
}
function frame1176(){
stop();
}
function frame2393(){
stop();
}
function frame2035(){
y = (y - 650);
}
function frame2040(){
stop();
}
function frame288(){
gotoAndPlay(109);
}
function frame1992(){
gotoAndPlay(2746);
}
function frame1879(){
}
function frame1884(){
gotoAndPlay(2642);
}
function frame1651(){
y = (y - 650);
}
function frame1411(){
y = (y - 650);
}
function frame2059(){
y = (y - 650);
}
function frame504(){
gotoAndPlay(217);
}
function frame1536(){
stop();
}
function frame1416(){
stop();
}
function frame1771(){
y = (y - 650);
}
function frame1531(){
y = (y - 650);
}
function frame876(){
stop();
}
function frame636(){
stop();
}
function frame996(){
stop();
}
function frame871(){
y = (y - 650);
}
function frame631(){
y = (y - 650);
}
function frame751(){
y = (y - 650);
}
function frame1656(){
stop();
}
function frame756(){
stop();
}
function frame2064(){
stop();
}
function frame2083(){
y = (y - 650);
}
function frame2518(){
y = (y - 650);
}
function frame2088(){
stop();
}
function frame2640(){
gotoAndPlay(2590);
}
function frame1776(){
stop();
}
function frame2523(){
stop();
}
function frame991(){
y = (y - 650);
}
function frame2744(){
gotoAndPlay(2694);
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Number;
var _local5:int;
var _local6:*;
var _local7:Bullet;
var _local8:int;
if ((((dieMode == true)) || (((_arg1._time - hitTime) > 100)))){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleRad = ((FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, movingDir) + (Math.PI / 4)) + (Math.PI / 8));
while (angleRad < 0) {
angleRad = (angleRad + (2 * Math.PI));
};
while (angleRad > (2 * Math.PI)) {
angleRad = (angleRad - (2 * Math.PI));
};
angleGrad = (((angleRad * 180) / Math.PI) + 22.5);
angleGrad = (angleGrad % 360);
while (angleGrad < 0) {
angleGrad = (angleGrad + 360);
};
angleFrame = Math.round((angleGrad / 45));
angleFrame = (angleFrame % 8);
if ((((dieMode == false)) && ((agonyMode == false)))){
_local4 = (((x - _arg1.player.x) * (x - _arg1.player.x)) + ((y - _arg1.player.y) * (y - _arg1.player.y)));
switch (iaStatus){
case 0:
pf = new PathFinder(_arg1.pfGrid, 300);
res = 0;
iaStatus = 1;
burstCount = 0;
break;
case 1:
if (_local4 < 40000){
iaStatus = 3;
break;
};
lastPfUpdate = _arg1._time;
targetPoint = new Point(x, y);
res = 0;
while (res == 0) {
res = pf.Move(new Point(x, y), new Point(((_arg1.player.x + (Math.random() * 180)) - 90), ((_arg1.player.y + (Math.random() * 180)) - 90)), path);
};
iaStatus = 2;
break;
case 2:
if ((_arg1._time - lastPfUpdate) > 1500){
iaStatus = 1;
break;
} else {
if ((((targetPoint.x - x) * (targetPoint.x - x)) + ((targetPoint.y - y) * (targetPoint.y - y))) > 100){
movingDir.x = (targetPoint.x - x);
movingDir.y = (targetPoint.y - y);
movingDir.normalize(1);
if (((_arg1.pfGrid.IsWalkable(new Point((x + movingDir.x), (y + movingDir.y)))) && ((((_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] == -1)) || ((_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] == id)))))){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
x = (x + movingDir.x);
y = (y + movingDir.y);
_local5 = (((currentFrame % frame_walk_lenght) + (frame_walk_lenght * angleFrame)) + 1);
if (_local5 >= (((frame_walk_lenght * angleFrame) + frame_walk) + frame_walk_lenght)){
_local5 = ((frame_walk_lenght * angleFrame) + frame_walk);
};
this.gotoAndPlay(_local5);
} else {
movingDir = movingDir.rightNormal;
_local6 = _arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))];
if (((_arg1.pfGrid.IsWalkable(new Point((x + movingDir.x), (y + movingDir.y)))) && ((((_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] == -1)) || ((_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] == id)))))){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
x = (x + movingDir.x);
y = (y + movingDir.y);
_local5 = (((currentFrame % frame_walk_lenght) + (frame_walk_lenght * angleFrame)) + 1);
if (_local5 >= (((frame_walk_lenght * angleFrame) + frame_walk) + frame_walk_lenght)){
_local5 = ((frame_walk_lenght * angleFrame) + frame_walk);
};
this.gotoAndPlay(_local5);
} else {
movingDir = movingDir.leftNormal;
};
};
} else {
if (path.length > 0){
targetPoint = path.pop();
targetPoint.x = ((targetPoint.x * _arg1.pfGrid.cellPixelWidth) + (_arg1.pfGrid.cellPixelWidth / 2));
targetPoint.y = ((targetPoint.y * _arg1.pfGrid.cellPixelHeight) + (_arg1.pfGrid.cellPixelHeight / 2));
};
};
collisionCircle.x = x;
collisionCircle.y = y;
};
break;
case 3:
if (_local4 > 50000){
iaStatus = 1;
break;
};
movingDir.x = (_arg1.player.x - x);
movingDir.y = (_arg1.player.y - y);
movingDir.normalize(1);
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_machinegun, 0.3);
fire1Timer = _arg1._time;
_local7 = new Bullet_enemy();
_local7.x = x;
_local7.y = y;
_local7.Init(_arg1, movingDir.x, movingDir.y);
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
burstCount++;
if (burstCount > burstRate){
iaStatus = 4;
};
};
break;
case 4:
if ((_arg1._time - fire1Timer) > reloadTime){
burstCount = 0;
iaStatus = 0;
};
break;
};
};
if (dieMode == true){
if (((agonyMode) && (agony_loop))){
_arg1.StopLoop(agony_loop);
};
_local8 = 1;
if ((deadTypeCount % 16) > 8){
_local8 = 2;
};
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
if (agonyMode == true){
switch (deadlyWeapon){
case 2:
frameToGo = frame_morte_agonia_brucia;
frameToSkip = frame_morte_agonia_brucia_lenght;
break;
default:
frameToGo = frame_morte_agonia_colpo;
frameToSkip = frame_morte_agonia_colpo_lenght;
break;
};
} else {
switch (deadlyWeapon){
case 1:
switch ((deadType % 3)){
case 0:
frameToGo = frame_morte_colpo1;
frameToSkip = frame_morte_colpo1_lenght;
if (_local8 == 1){
_arg1.PlaySound(_arg1.pain_11);
} else {
_arg1.PlaySound(_arg1.pain_14);
};
break;
case 1:
frameToGo = frame_morte_colpo2;
frameToSkip = frame_morte_colpo2_lenght;
if (_local8 == 1){
_arg1.PlaySound(_arg1.pain_05);
} else {
_arg1.PlaySound(_arg1.pain_06);
};
break;
case 2:
frameToGo = frame_morte_colpo3;
frameToSkip = frame_morte_colpo3_lenght;
if (_local8 == 1){
_arg1.PlaySound(_arg1.pain_08);
} else {
_arg1.PlaySound(_arg1.pain_07);
};
break;
};
break;
case 2:
_arg1.PlaySound(_arg1.pain_15);
frameToGo = frame_morte_bruciato;
frameToSkip = frame_morte_bruciato_lenght;
break;
case 3:
switch ((deadType % 2)){
case 0:
frameToGo = frame_morte_esplosione1;
frameToSkip = frame_morte_esplosione1_lenght;
break;
case 1:
frameToGo = frame_morte_esplosione2;
frameToSkip = frame_morte_esplosione2_lenght;
_arg1.PlaySound(_arg1.pain_10);
break;
};
break;
default:
frameToGo = frame_morte_colpo1;
frameToSkip = frame_morte_colpo1_lenght;
_arg1.PlaySound(_arg1.pain_11);
break;
};
};
this.gotoAndPlay((frameToGo + (Math.floor((angleFrame / 2)) * (frameToSkip + 1))));
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 3000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 30);
_arg1.app.statistics.Combo();
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 15);
_arg1.app.statistics.NoCombo();
};
_arg1.lastDeathTime = _arg1._time;
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
_arg1.app.statistics.EnemyKilled();
} else {
if (agonyMode == true){
if (agonySwitch == true){
agony_loop = _arg1.PlayLoop(_arg1.grida_medic);
agonySwitch = false;
frameToGo = frame_morte_colpo4;
frameToSkip = frame_morte_colpo4_lenght;
this.gotoAndPlay((frameToGo + (Math.floor((angleFrame / 2)) * (frameToSkip + 1))));
switch ((deadTypeCount % 4)){
case 0:
_arg1.PlaySound(_arg1.pain_01);
break;
case 1:
_arg1.PlaySound(_arg1.pain_02);
break;
case 2:
_arg1.PlaySound(_arg1.pain_03);
break;
case 3:
_arg1.PlaySound(_arg1.pain_04);
break;
};
} else {
if (((agony_loop) && (((((_arg1.player.x - x) * (_arg1.player.x - x)) + ((_arg1.player.y - y) * (_arg1.player.y - y))) > 200000)))){
_arg1.StopLoop(agony_loop);
};
};
};
};
}
function frame432(){
gotoAndPlay(181);
}
function frame72(){
gotoAndPlay(1);
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
energy = (energy - 2);
break;
case 3:
energy = (energy - 6);
break;
};
if ((((((agonyMode == false)) && ((dieMode == false)))) && ((energy < 0)))){
if ((((((agonyMode == false)) && ((_arg2 == 1)))) && ((Math.random() < 0.25)))){
agonyMode = true;
agonySwitch = true;
} else {
dieMode = true;
deadlyWeapon = _arg2;
deadTypeCount++;
deadType = deadTypeCount;
};
} else {
if ((((agonyMode == true)) && ((agonySwitch == false)))){
dieMode = true;
deadlyWeapon = _arg2;
} else {
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
};
}
function frame2796(){
gotoAndPlay(2746);
}
function frame1591(){
y = (y - 650);
}
function frame1351(){
y = (y - 650);
}
function frame1476(){
stop();
}
function frame1356(){
stop();
}
function frame1236(){
stop();
}
function frame1116(){
stop();
}
function frame1231(){
y = (y - 650);
}
function frame1596(){
stop();
}
function frame2323(){
y = (y - 650);
}
function frame1471(){
y = (y - 650);
}
function frame1111(){
y = (y - 650);
}
function frame2203(){
y = (y - 650);
}
function frame2328(){
stop();
}
function frame576(){
gotoAndPlay(253);
}
function frame691(){
y = (y - 650);
}
function frame2458(){
stop();
}
function frame696(){
stop();
}
function frame2208(){
stop();
}
function frame2453(){
y = (y - 650);
}
function frame2583(){
y = (y - 650);
}
function frame2588(){
stop();
}
function frame1933(){
}
function frame1938(){
gotoAndPlay(2694);
}
function frame216(){
gotoAndPlay(73);
}
function frame2692(){
gotoAndPlay(2642);
}
function frame1825(){
}
function frame360(){
gotoAndPlay(145);
}
function frame1830(){
gotoAndPlay(2590);
}
function frame1711(){
y = (y - 650);
}
function frame931(){
y = (y - 650);
}
function frame811(){
y = (y - 650);
}
function frame936(){
stop();
}
function frame1716(){
stop();
}
function frame2011(){
y = (y - 650);
}
function frame144(){
gotoAndPlay(37);
}
function frame1291(){
y = (y - 650);
}
function frame1171(){
y = (y - 650);
}
function frame816(){
stop();
}
function frame1296(){
stop();
}
function frame1056(){
stop();
}
function frame2388(){
y = (y - 650);
}
function frame1051(){
y = (y - 650);
}
function frame2148(){
stop();
}
function frame2263(){
y = (y - 650);
}
function frame2016(){
stop();
}
function frame2143(){
y = (y - 650);
}
function frame2268(){
stop();
}
}
}//package ThisGame
Section 132
//Png_man1_grenades (ThisGame.Png_man1_grenades)
package ThisGame {
import FoofaGeom.*;
import FoofaAI.*;
import flash.geom.*;
import flash.media.*;
import FoofaCrypto.*;
public class Png_man1_grenades extends Png {
const frame_morte_esplosione2_lenght:int = 59;
const fire1Rate:Number = 1500;
const frame_morte_colpo4_lenght:int = 53;
const frame_agonia_lenght:int = 51;
const frame_morte_agonia_brucia:int = 817;
const frame_morte_esplosione1:int = 2090;
const frame_morte_colpo2_lenght:int = 59;
const frame_morte_colpo2:int = 1297;
const frame_morte_colpo3:int = 1537;
const frame_morte_colpo4:int = 1777;
const frame_morte_esplosione2:int = 2329;
const frame_morte_colpo1:int = 1057;
const frame_morte_agonia_colpo_lenght:int = 23;
const frame_walk_lenght:int = 72;
const frame_morte_agonia_brucia_lenght:int = 59;
const frame_morte_agonia_colpo:int = 1993;
const frame_morte_esplosione1_lenght:int = 59;
const frame_walk:int = 1;
const frame_morte_colpo3_lenght:int = 59;
const frame_morte_bruciato:int = 577;
const frame_agonia:int = 2589;
const frame_morte_colpo1_lenght:int = 59;
const frame_morte_bruciato_lenght:int = 59;
var refVec:Vector2;
var path:Array;
var agonyMode:Boolean;
var angleFrame:Number;
var frameToSkip:int;
var deadlyWeapon:int;
var angleRad:Number;
var targetPoint:Point;
var pfCell:Object;
var energy:Number;
var res:Number;
var lookingDir:Vector2;
var agonySwitch:Boolean;
var hitTime:Number;
var lastPfUpdate:Number;
var iaStatus:int;
var movingDir:Vector2;
var fire1Timer:Number;
public var agony_loop:SoundChannel;
var deadType:int;
var angleGrad:Number;
var frameToGo:int;
var pf:PathFinder;
static var deadTypeCount:int = 0;
public function Png_man1_grenades(){
addFrameScript(71, frame72, 143, frame144, 215, frame216, 287, frame288, 359, frame360, 431, frame432, 503, frame504, 575, frame576, 630, frame631, 635, frame636, 690, frame691, 695, frame696, 750, frame751, 755, frame756, 810, frame811, 815, frame816, 870, frame871, 875, frame876, 930, frame931, 935, frame936, 990, frame991, 995, frame996, 1050, frame1051, 1055, frame1056, 1110, frame1111, 1115, frame1116, 1170, frame1171, 1175, frame1176, 1230, frame1231, 1235, frame1236, 1290, frame1291, 1295, frame1296, 1350, frame1351, 1355, frame1356, 1410, frame1411, 1415, frame1416, 1470, frame1471, 1475, frame1476, 1530, frame1531, 1535, frame1536, 1590, frame1591, 1595, frame1596, 1650, frame1651, 1655, frame1656, 1710, frame1711, 1715, frame1716, 1770, frame1771, 1775, frame1776, 1824, frame1825, 1829, frame1830, 1878, frame1879, 1883, frame1884, 1932, frame1933, 1937, frame1938, 1991, frame1992, 2010, frame2011, 2015, frame2016, 2034, frame2035, 2039, frame2040, 2058, frame2059, 2063, frame2064, 2082, frame2083, 2087, frame2088, 2142, frame2143, 2147, frame2148, 2202, frame2203, 2207, frame2208, 2262, frame2263, 2267, frame2268, 2322, frame2323, 2327, frame2328, 2387, frame2388, 2392, frame2393, 2452, frame2453, 2457, frame2458, 2517, frame2518, 2522, frame2523, 2582, frame2583, 2587, frame2588, 2639, frame2640, 2691, frame2692, 2743, frame2744, 2795, frame2796);
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 1;
dieMode = false;
agonyMode = false;
agonySwitch = false;
movingDir = new Vector2(0, 1);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
hitTime = 0;
iaStatus = 0;
path = new Array();
}
function frame1176(){
stop();
}
function frame2393(){
stop();
}
function frame2035(){
y = (y - 650);
}
function frame2040(){
stop();
}
function frame288(){
gotoAndPlay(109);
}
function frame1992(){
gotoAndPlay(2746);
}
function frame1879(){
}
function frame1884(){
gotoAndPlay(2642);
}
function frame1651(){
y = (y - 650);
}
function frame1411(){
y = (y - 650);
}
function frame2059(){
y = (y - 650);
}
function frame504(){
gotoAndPlay(217);
}
function frame1536(){
stop();
}
function frame1416(){
stop();
}
function frame1771(){
y = (y - 650);
}
function frame1531(){
y = (y - 650);
}
function frame876(){
stop();
}
function frame636(){
stop();
}
function frame996(){
stop();
}
function frame871(){
y = (y - 650);
}
function frame631(){
y = (y - 650);
}
function frame751(){
y = (y - 650);
}
function frame1656(){
stop();
}
function frame756(){
stop();
}
function frame2064(){
stop();
}
function frame2083(){
y = (y - 650);
}
function frame2518(){
y = (y - 650);
}
function frame2088(){
stop();
}
function frame2640(){
gotoAndPlay(2590);
}
function frame1776(){
stop();
}
function frame2523(){
stop();
}
function frame991(){
y = (y - 650);
}
function frame2744(){
gotoAndPlay(2694);
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Number;
var _local5:int;
var _local6:*;
var _local7:GranadeMovie;
var _local8:int;
if ((((dieMode == true)) || (((_arg1._time - hitTime) > 100)))){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleRad = ((FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, movingDir) + (Math.PI / 4)) + (Math.PI / 8));
while (angleRad < 0) {
angleRad = (angleRad + (2 * Math.PI));
};
while (angleRad > (2 * Math.PI)) {
angleRad = (angleRad - (2 * Math.PI));
};
angleGrad = (((angleRad * 180) / Math.PI) + 22.5);
angleGrad = (angleGrad % 360);
while (angleGrad < 0) {
angleGrad = (angleGrad + 360);
};
angleFrame = Math.round((angleGrad / 45));
angleFrame = (angleFrame % 8);
if ((((dieMode == false)) && ((agonyMode == false)))){
_local4 = (((x - _arg1.player.x) * (x - _arg1.player.x)) + ((y - _arg1.player.y) * (y - _arg1.player.y)));
switch (iaStatus){
case 0:
pf = new PathFinder(_arg1.pfGrid, 300);
res = 0;
iaStatus = 1;
break;
case 1:
if (_local4 < 40000){
iaStatus = 3;
break;
};
lastPfUpdate = _arg1._time;
targetPoint = new Point(x, y);
res = 0;
while (res == 0) {
res = pf.Move(new Point(x, y), new Point(((_arg1.player.x + (Math.random() * 180)) - 90), ((_arg1.player.y + (Math.random() * 180)) - 90)), path);
};
iaStatus = 2;
break;
case 2:
if ((_arg1._time - lastPfUpdate) > 1500){
iaStatus = 1;
break;
} else {
if ((((targetPoint.x - x) * (targetPoint.x - x)) + ((targetPoint.y - y) * (targetPoint.y - y))) > 100){
movingDir.x = (targetPoint.x - x);
movingDir.y = (targetPoint.y - y);
movingDir.normalize(1);
if (((_arg1.pfGrid.IsWalkable(new Point((x + movingDir.x), (y + movingDir.y)))) && ((((_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] == -1)) || ((_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] == id)))))){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
x = (x + movingDir.x);
y = (y + movingDir.y);
_local5 = (((currentFrame % frame_walk_lenght) + (frame_walk_lenght * angleFrame)) + 1);
if (_local5 >= (((frame_walk_lenght * angleFrame) + frame_walk) + frame_walk_lenght)){
_local5 = ((frame_walk_lenght * angleFrame) + frame_walk);
};
this.gotoAndPlay(_local5);
} else {
movingDir = movingDir.rightNormal;
_local6 = _arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))];
if (((_arg1.pfGrid.IsWalkable(new Point((x + movingDir.x), (y + movingDir.y)))) && ((((_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] == -1)) || ((_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] == id)))))){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
x = (x + movingDir.x);
y = (y + movingDir.y);
_local5 = (((currentFrame % frame_walk_lenght) + (frame_walk_lenght * angleFrame)) + 1);
if (_local5 >= (((frame_walk_lenght * angleFrame) + frame_walk) + frame_walk_lenght)){
_local5 = ((frame_walk_lenght * angleFrame) + frame_walk);
};
this.gotoAndPlay(_local5);
} else {
movingDir = movingDir.leftNormal;
};
};
} else {
if (path.length > 0){
targetPoint = path.pop();
targetPoint.x = ((targetPoint.x * _arg1.pfGrid.cellPixelWidth) + (_arg1.pfGrid.cellPixelWidth / 2));
targetPoint.y = ((targetPoint.y * _arg1.pfGrid.cellPixelHeight) + (_arg1.pfGrid.cellPixelHeight / 2));
};
};
collisionCircle.x = x;
collisionCircle.y = y;
};
break;
case 3:
if (_local4 > 50000){
iaStatus = 1;
break;
};
movingDir.x = (_arg1.player.x - x);
movingDir.y = (_arg1.player.y - y);
movingDir.normalize(1);
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
if ((_arg1._time - fire1Timer) > fire1Rate){
fire1Timer = _arg1._time;
_local7 = new GranadeMovie();
_local7.senderIsPlayer = false;
_local7.x = x;
_local7.y = y;
_local7.Init(_arg1, -(Math.sin((((angleGrad - 90) * Math.PI) / 180))), Math.cos((((angleGrad - 90) * Math.PI) / 180)));
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
};
break;
};
};
if (dieMode == true){
if (((agonyMode) && (agony_loop))){
_arg1.StopLoop(agony_loop);
};
_local8 = 1;
if ((deadTypeCount % 16) > 8){
_local8 = 2;
};
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
if (agonyMode == true){
switch (deadlyWeapon){
case 2:
frameToGo = frame_morte_agonia_brucia;
frameToSkip = frame_morte_agonia_brucia_lenght;
break;
default:
frameToGo = frame_morte_agonia_colpo;
frameToSkip = frame_morte_agonia_colpo_lenght;
break;
};
} else {
switch (deadlyWeapon){
case 1:
switch ((deadType % 3)){
case 0:
frameToGo = frame_morte_colpo1;
frameToSkip = frame_morte_colpo1_lenght;
if (_local8 == 1){
_arg1.PlaySound(_arg1.pain_11);
} else {
_arg1.PlaySound(_arg1.pain_14);
};
break;
case 1:
frameToGo = frame_morte_colpo2;
frameToSkip = frame_morte_colpo2_lenght;
if (_local8 == 1){
_arg1.PlaySound(_arg1.pain_05);
} else {
_arg1.PlaySound(_arg1.pain_06);
};
break;
case 2:
frameToGo = frame_morte_colpo3;
frameToSkip = frame_morte_colpo3_lenght;
if (_local8 == 1){
_arg1.PlaySound(_arg1.pain_08);
} else {
_arg1.PlaySound(_arg1.pain_07);
};
break;
};
break;
case 2:
_arg1.PlaySound(_arg1.pain_15);
frameToGo = frame_morte_bruciato;
frameToSkip = frame_morte_bruciato_lenght;
break;
case 3:
switch ((deadType % 2)){
case 0:
frameToGo = frame_morte_esplosione1;
frameToSkip = frame_morte_esplosione1_lenght;
break;
case 1:
frameToGo = frame_morte_esplosione2;
frameToSkip = frame_morte_esplosione2_lenght;
_arg1.PlaySound(_arg1.pain_10);
break;
};
break;
default:
frameToGo = frame_morte_colpo1;
frameToSkip = frame_morte_colpo1_lenght;
_arg1.PlaySound(_arg1.pain_11);
break;
};
};
this.gotoAndPlay((frameToGo + (Math.floor((angleFrame / 2)) * (frameToSkip + 1))));
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 3000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 20);
_arg1.app.statistics.Combo();
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 10);
_arg1.app.statistics.NoCombo();
};
_arg1.lastDeathTime = _arg1._time;
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
_arg1.app.statistics.EnemyKilled();
} else {
if (agonyMode == true){
if (agonySwitch == true){
agony_loop = _arg1.PlayLoop(_arg1.grida_medic);
agonySwitch = false;
frameToGo = frame_morte_colpo4;
frameToSkip = frame_morte_colpo4_lenght;
this.gotoAndPlay((frameToGo + (Math.floor((angleFrame / 2)) * (frameToSkip + 1))));
switch ((deadTypeCount % 4)){
case 0:
_arg1.PlaySound(_arg1.pain_01);
break;
case 1:
_arg1.PlaySound(_arg1.pain_02);
break;
case 2:
_arg1.PlaySound(_arg1.pain_03);
break;
case 3:
_arg1.PlaySound(_arg1.pain_04);
break;
};
} else {
if (((agony_loop) && (((((_arg1.player.x - x) * (_arg1.player.x - x)) + ((_arg1.player.y - y) * (_arg1.player.y - y))) > 200000)))){
_arg1.StopLoop(agony_loop);
};
};
};
};
}
function frame432(){
gotoAndPlay(181);
}
function frame72(){
gotoAndPlay(1);
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
energy = (energy - 2);
break;
case 3:
energy = (energy - 6);
break;
};
if ((((((agonyMode == false)) && ((dieMode == false)))) && ((energy < 0)))){
if ((((((agonyMode == false)) && ((_arg2 == 1)))) && ((Math.random() < 0.25)))){
agonyMode = true;
agonySwitch = true;
} else {
dieMode = true;
deadlyWeapon = _arg2;
deadTypeCount++;
deadType = deadTypeCount;
};
} else {
if ((((agonyMode == true)) && ((agonySwitch == false)))){
dieMode = true;
deadlyWeapon = _arg2;
} else {
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
};
}
function frame2796(){
gotoAndPlay(2746);
}
function frame1591(){
y = (y - 650);
}
function frame1351(){
y = (y - 650);
}
function frame1476(){
stop();
}
function frame1356(){
stop();
}
function frame1236(){
stop();
}
function frame1116(){
stop();
}
function frame1231(){
y = (y - 650);
}
function frame1596(){
stop();
}
function frame2323(){
y = (y - 650);
}
function frame1471(){
y = (y - 650);
}
function frame1111(){
y = (y - 650);
}
function frame2203(){
y = (y - 650);
}
function frame2328(){
stop();
}
function frame576(){
gotoAndPlay(253);
}
function frame691(){
y = (y - 650);
}
function frame2458(){
stop();
}
function frame696(){
stop();
}
function frame2208(){
stop();
}
function frame2453(){
y = (y - 650);
}
function frame2583(){
y = (y - 650);
}
function frame2588(){
stop();
}
function frame1933(){
}
function frame1938(){
gotoAndPlay(2694);
}
function frame216(){
gotoAndPlay(73);
}
function frame2692(){
gotoAndPlay(2642);
}
function frame1825(){
}
function frame360(){
gotoAndPlay(145);
}
function frame1830(){
gotoAndPlay(2590);
}
function frame1711(){
y = (y - 650);
}
function frame931(){
y = (y - 650);
}
function frame936(){
stop();
}
function frame811(){
y = (y - 650);
}
function frame1716(){
stop();
}
function frame2011(){
y = (y - 650);
}
function frame144(){
gotoAndPlay(37);
}
function frame1291(){
y = (y - 650);
}
function frame1171(){
y = (y - 650);
}
function frame816(){
stop();
}
function frame1296(){
stop();
}
function frame1056(){
stop();
}
function frame2388(){
y = (y - 650);
}
function frame1051(){
y = (y - 650);
}
function frame2148(){
stop();
}
function frame2263(){
y = (y - 650);
}
function frame2016(){
stop();
}
function frame2143(){
y = (y - 650);
}
function frame2268(){
stop();
}
}
}//package ThisGame
Section 133
//Png_man2 (ThisGame.Png_man2)
package ThisGame {
import FoofaGeom.*;
import FoofaAI.*;
import flash.geom.*;
import flash.media.*;
import FoofaCrypto.*;
public class Png_man2 extends Png {
const frame_morte_esplosione2_lenght:int = 59;
const fire1Rate:Number = 500;
const frame_morte_colpo4_lenght:int = 53;
const frame_agonia_lenght:int = 51;
const frame_morte_agonia_brucia:int = 817;
const frame_morte_esplosione1:int = 2090;
const frame_morte_colpo2_lenght:int = 59;
const frame_morte_colpo2:int = 1297;
const frame_morte_colpo3:int = 1537;
const frame_morte_colpo4:int = 1777;
const frame_morte_esplosione2:int = 2329;
const frame_morte_colpo1:int = 1057;
const frame_morte_agonia_colpo_lenght:int = 23;
const frame_walk_lenght:int = 72;
const frame_morte_agonia_brucia_lenght:int = 59;
const frame_morte_agonia_colpo:int = 1993;
const frame_morte_esplosione1_lenght:int = 59;
const frame_walk:int = 1;
const frame_morte_colpo3_lenght:int = 59;
const frame_morte_bruciato:int = 577;
const frame_agonia:int = 2589;
const frame_morte_colpo1_lenght:int = 59;
const frame_morte_bruciato_lenght:int = 59;
var refVec:Vector2;
var path:Array;
var agonyMode:Boolean;
var angleFrame:Number;
var frameToSkip:int;
var deadlyWeapon:int;
var angleRad:Number;
var targetPoint:Point;
var pfCell:Object;
var energy:Number;
var res:Number;
var lookingDir:Vector2;
var agonySwitch:Boolean;
var hitTime:Number;
var lastPfUpdate:Number;
var iaStatus:int;
var movingDir:Vector2;
var fire1Timer:Number;
var agony_loop:SoundChannel;
var deadType:int;
var angleGrad:Number;
var frameToGo:int;
var pf:PathFinder;
static var deadTypeCount:int = 0;
public function Png_man2(){
addFrameScript(71, frame72, 143, frame144, 215, frame216, 287, frame288, 359, frame360, 431, frame432, 503, frame504, 575, frame576, 630, frame631, 635, frame636, 690, frame691, 695, frame696, 750, frame751, 755, frame756, 810, frame811, 815, frame816, 870, frame871, 875, frame876, 930, frame931, 935, frame936, 990, frame991, 995, frame996, 1050, frame1051, 1055, frame1056, 1110, frame1111, 1115, frame1116, 1170, frame1171, 1175, frame1176, 1230, frame1231, 1235, frame1236, 1290, frame1291, 1295, frame1296, 1350, frame1351, 1355, frame1356, 1410, frame1411, 1415, frame1416, 1470, frame1471, 1475, frame1476, 1530, frame1531, 1535, frame1536, 1590, frame1591, 1595, frame1596, 1650, frame1651, 1655, frame1656, 1710, frame1711, 1715, frame1716, 1770, frame1771, 1775, frame1776, 1824, frame1825, 1829, frame1830, 1878, frame1879, 1883, frame1884, 1932, frame1933, 1937, frame1938, 1991, frame1992, 2010, frame2011, 2015, frame2016, 2034, frame2035, 2039, frame2040, 2058, frame2059, 2063, frame2064, 2082, frame2083, 2087, frame2088, 2142, frame2143, 2147, frame2148, 2202, frame2203, 2207, frame2208, 2262, frame2263, 2267, frame2268, 2322, frame2323, 2327, frame2328, 2387, frame2388, 2392, frame2393, 2452, frame2453, 2457, frame2458, 2517, frame2518, 2522, frame2523, 2582, frame2583, 2587, frame2588, 2639, frame2640, 2691, frame2692, 2743, frame2744, 2795, frame2796);
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 1;
dieMode = false;
agonyMode = false;
agonySwitch = false;
movingDir = new Vector2(0, 1);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
hitTime = 0;
iaStatus = 0;
path = new Array();
}
function frame1176(){
stop();
}
function frame2393(){
stop();
}
function frame2035(){
y = (y - 650);
}
function frame2040(){
stop();
}
function frame288(){
gotoAndPlay(109);
}
function frame1992(){
gotoAndPlay(2746);
}
function frame1879(){
}
function frame1884(){
gotoAndPlay(2642);
}
function frame1651(){
y = (y - 650);
}
function frame1411(){
y = (y - 650);
}
function frame2059(){
y = (y - 650);
}
function frame504(){
gotoAndPlay(217);
}
function frame1536(){
stop();
}
function frame1416(){
stop();
}
function frame1771(){
y = (y - 650);
}
function frame1531(){
y = (y - 650);
}
function frame876(){
stop();
}
function frame636(){
stop();
}
function frame996(){
stop();
}
function frame871(){
y = (y - 650);
}
function frame631(){
y = (y - 650);
}
function frame751(){
y = (y - 650);
}
function frame1656(){
stop();
}
function frame756(){
stop();
}
function frame2064(){
stop();
}
function frame2083(){
y = (y - 650);
}
function frame2518(){
y = (y - 650);
}
function frame2088(){
stop();
}
function frame2640(){
gotoAndPlay(2590);
}
function frame1776(){
stop();
}
function frame2523(){
stop();
}
function frame991(){
y = (y - 650);
}
function frame2744(){
gotoAndPlay(2694);
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Number;
var _local5:int;
var _local6:*;
var _local7:Bullet;
var _local8:int;
var _local9:int;
if ((((dieMode == true)) || (((_arg1._time - hitTime) > 100)))){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleRad = ((FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, movingDir) + (Math.PI / 4)) + (Math.PI / 8));
while (angleRad < 0) {
angleRad = (angleRad + (2 * Math.PI));
};
while (angleRad > (2 * Math.PI)) {
angleRad = (angleRad - (2 * Math.PI));
};
angleGrad = (((angleRad * 180) / Math.PI) + 22.5);
angleGrad = (angleGrad % 360);
while (angleGrad < 0) {
angleGrad = (angleGrad + 360);
};
angleFrame = Math.round((angleGrad / 45));
angleFrame = (angleFrame % 8);
if ((((dieMode == false)) && ((agonyMode == false)))){
_local4 = (((x - _arg1.player.x) * (x - _arg1.player.x)) + ((y - _arg1.player.y) * (y - _arg1.player.y)));
switch (iaStatus){
case 0:
pf = new PathFinder(_arg1.pfGrid, 300);
res = 0;
iaStatus = 1;
break;
case 1:
if (_local4 < 40000){
iaStatus = 3;
break;
};
lastPfUpdate = _arg1._time;
targetPoint = new Point(x, y);
res = 0;
while (res == 0) {
res = pf.Move(new Point(x, y), new Point(((_arg1.player.x + (Math.random() * 180)) - 90), ((_arg1.player.y + (Math.random() * 180)) - 90)), path);
};
iaStatus = 2;
break;
case 2:
if ((_arg1._time - lastPfUpdate) > 1500){
iaStatus = 1;
break;
} else {
if ((((targetPoint.x - x) * (targetPoint.x - x)) + ((targetPoint.y - y) * (targetPoint.y - y))) > 100){
movingDir.x = (targetPoint.x - x);
movingDir.y = (targetPoint.y - y);
movingDir.normalize(1);
if (((_arg1.pfGrid.IsWalkable(new Point((x + movingDir.x), (y + movingDir.y)))) && ((((_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] == -1)) || ((_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] == id)))))){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
x = (x + movingDir.x);
y = (y + movingDir.y);
_local5 = (((currentFrame % frame_walk_lenght) + (frame_walk_lenght * angleFrame)) + 1);
if (_local5 >= (((frame_walk_lenght * angleFrame) + frame_walk) + frame_walk_lenght)){
_local5 = ((frame_walk_lenght * angleFrame) + frame_walk);
};
this.gotoAndPlay(_local5);
} else {
movingDir = movingDir.rightNormal;
_local6 = _arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))];
if (((_arg1.pfGrid.IsWalkable(new Point((x + movingDir.x), (y + movingDir.y)))) && ((((_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] == -1)) || ((_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] == id)))))){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
x = (x + movingDir.x);
y = (y + movingDir.y);
_local5 = (((currentFrame % frame_walk_lenght) + (frame_walk_lenght * angleFrame)) + 1);
if (_local5 >= (((frame_walk_lenght * angleFrame) + frame_walk) + frame_walk_lenght)){
_local5 = ((frame_walk_lenght * angleFrame) + frame_walk);
};
this.gotoAndPlay(_local5);
} else {
movingDir = movingDir.leftNormal;
};
};
} else {
if (path.length > 0){
targetPoint = path.pop();
targetPoint.x = ((targetPoint.x * _arg1.pfGrid.cellPixelWidth) + (_arg1.pfGrid.cellPixelWidth / 2));
targetPoint.y = ((targetPoint.y * _arg1.pfGrid.cellPixelHeight) + (_arg1.pfGrid.cellPixelHeight / 2));
};
};
collisionCircle.x = x;
collisionCircle.y = y;
};
break;
case 3:
if (_local4 > 50000){
iaStatus = 1;
break;
};
movingDir.x = (_arg1.player.x - x);
movingDir.y = (_arg1.player.y - y);
movingDir.normalize(1);
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.weapon2_fire, 0.3);
fire1Timer = _arg1._time;
_local7 = new Bullet_enemy();
_local7.x = x;
_local7.y = y;
_local7.Init(_arg1, movingDir.x, movingDir.y);
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
};
break;
};
};
if (dieMode == true){
if (((agonyMode) && (agony_loop))){
_arg1.StopLoop(agony_loop);
};
_local8 = 1;
if ((deadTypeCount % 16) > 8){
_local8 = 2;
};
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
if (agonyMode == true){
switch (deadlyWeapon){
case 2:
frameToGo = frame_morte_agonia_brucia;
frameToSkip = frame_morte_agonia_brucia_lenght;
break;
default:
frameToGo = frame_morte_agonia_colpo;
frameToSkip = frame_morte_agonia_colpo_lenght;
break;
};
} else {
switch (deadlyWeapon){
case 1:
switch ((deadType % 3)){
case 0:
frameToGo = frame_morte_colpo1;
frameToSkip = frame_morte_colpo1_lenght;
if (_local8 == 1){
_arg1.PlaySound(_arg1.pain_11);
} else {
_arg1.PlaySound(_arg1.pain_14);
};
break;
case 1:
frameToGo = frame_morte_colpo2;
frameToSkip = frame_morte_colpo2_lenght;
if (_local8 == 1){
_arg1.PlaySound(_arg1.pain_05);
} else {
_arg1.PlaySound(_arg1.pain_06);
};
break;
case 2:
frameToGo = frame_morte_colpo3;
frameToSkip = frame_morte_colpo3_lenght;
if (_local8 == 1){
_arg1.PlaySound(_arg1.pain_08);
} else {
_arg1.PlaySound(_arg1.pain_07);
};
break;
};
break;
case 2:
_arg1.PlaySound(_arg1.pain_15);
frameToGo = frame_morte_bruciato;
frameToSkip = frame_morte_bruciato_lenght;
break;
case 3:
switch ((deadType % 2)){
case 0:
frameToGo = frame_morte_esplosione1;
frameToSkip = frame_morte_esplosione1_lenght;
break;
case 1:
frameToGo = frame_morte_esplosione2;
frameToSkip = frame_morte_esplosione2_lenght;
_arg1.PlaySound(_arg1.pain_10);
break;
};
break;
default:
frameToGo = frame_morte_colpo1;
frameToSkip = frame_morte_colpo1_lenght;
_arg1.PlaySound(_arg1.pain_11);
break;
};
};
_local9 = (frameToGo + (Math.floor((angleFrame / 2)) * (frameToSkip + 1)));
this.gotoAndPlay(_local9);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 3000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 30);
_arg1.app.statistics.Combo();
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 15);
_arg1.app.statistics.NoCombo();
};
_arg1.lastDeathTime = _arg1._time;
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
_arg1.app.statistics.EnemyKilled();
} else {
if (agonyMode == true){
if (agonySwitch == true){
agony_loop = _arg1.PlayLoop(_arg1.grida_medic);
agonySwitch = false;
frameToGo = frame_morte_colpo4;
frameToSkip = frame_morte_colpo4_lenght;
this.gotoAndPlay((frameToGo + (Math.floor((angleFrame / 2)) * (frameToSkip + 1))));
switch ((deadTypeCount % 4)){
case 0:
_arg1.PlaySound(_arg1.pain_01);
break;
case 1:
_arg1.PlaySound(_arg1.pain_02);
break;
case 2:
_arg1.PlaySound(_arg1.pain_03);
break;
case 3:
_arg1.PlaySound(_arg1.pain_04);
break;
};
} else {
if (((agony_loop) && (((((_arg1.player.x - x) * (_arg1.player.x - x)) + ((_arg1.player.y - y) * (_arg1.player.y - y))) > 200000)))){
_arg1.StopLoop(agony_loop);
};
};
};
};
}
function frame432(){
gotoAndPlay(181);
}
function frame72(){
gotoAndPlay(1);
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
energy = (energy - 2);
break;
case 3:
energy = (energy - 6);
break;
};
if ((((((agonyMode == false)) && ((dieMode == false)))) && ((energy < 0)))){
if ((((((agonyMode == false)) && ((_arg2 == 1)))) && ((Math.random() < 0.25)))){
agonyMode = true;
agonySwitch = true;
} else {
dieMode = true;
deadlyWeapon = _arg2;
deadTypeCount++;
deadType = deadTypeCount;
};
} else {
if ((((agonyMode == true)) && ((agonySwitch == false)))){
dieMode = true;
deadlyWeapon = _arg2;
} else {
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
};
}
function frame2796(){
gotoAndPlay(2746);
}
function frame1591(){
y = (y - 650);
}
function frame1351(){
y = (y - 650);
}
function frame1476(){
stop();
}
function frame1356(){
stop();
}
function frame1236(){
stop();
}
function frame1116(){
stop();
}
function frame1231(){
y = (y - 650);
}
function frame1596(){
stop();
}
function frame2323(){
y = (y - 650);
}
function frame1471(){
y = (y - 650);
}
function frame1111(){
y = (y - 650);
}
function frame2203(){
y = (y - 650);
}
function frame2328(){
stop();
}
function frame576(){
gotoAndPlay(253);
}
function frame691(){
y = (y - 650);
}
function frame2458(){
stop();
}
function frame696(){
stop();
}
function frame2208(){
stop();
}
function frame2453(){
y = (y - 650);
}
function frame2583(){
y = (y - 650);
}
function frame2588(){
stop();
}
function frame1933(){
}
function frame1938(){
gotoAndPlay(2694);
}
function frame216(){
gotoAndPlay(73);
}
function frame2692(){
gotoAndPlay(2642);
}
function frame1825(){
}
function frame360(){
gotoAndPlay(145);
}
function frame1830(){
gotoAndPlay(2590);
}
function frame1711(){
y = (y - 650);
}
function frame931(){
y = (y - 650);
}
function frame936(){
stop();
}
function frame811(){
y = (y - 650);
}
function frame1716(){
stop();
}
function frame2011(){
y = (y - 650);
}
function frame144(){
gotoAndPlay(37);
}
function frame1291(){
y = (y - 650);
}
function frame1171(){
y = (y - 650);
}
function frame816(){
stop();
}
function frame1296(){
stop();
}
function frame1056(){
stop();
}
function frame2388(){
y = (y - 650);
}
function frame1051(){
y = (y - 650);
}
function frame2148(){
stop();
}
function frame2263(){
y = (y - 650);
}
function frame2016(){
stop();
}
function frame2143(){
y = (y - 650);
}
function frame2268(){
stop();
}
}
}//package ThisGame
Section 134
//Png_man2_fire (ThisGame.Png_man2_fire)
package ThisGame {
import FoofaGeom.*;
import FoofaAI.*;
import flash.geom.*;
import flash.media.*;
import FoofaCrypto.*;
public class Png_man2_fire extends Png {
const frame_morte_esplosione2_lenght:int = 59;
const fire1Rate:Number = 80;
const frame_morte_colpo4_lenght:int = 53;
const frame_agonia_lenght:int = 51;
const frame_morte_agonia_brucia:int = 817;
const frame_morte_esplosione1:int = 2090;
const frame_morte_colpo2_lenght:int = 59;
const frame_morte_colpo2:int = 1297;
const frame_morte_colpo3:int = 1537;
const frame_morte_colpo4:int = 1777;
const frame_morte_esplosione2:int = 2329;
const frame_morte_colpo1:int = 1057;
const frame_morte_agonia_colpo_lenght:int = 23;
const frame_walk_lenght:int = 72;
const frame_morte_agonia_brucia_lenght:int = 59;
const frame_morte_agonia_colpo:int = 1993;
const frame_morte_esplosione1_lenght:int = 59;
const frame_walk:int = 1;
const frame_morte_colpo3_lenght:int = 59;
const frame_morte_bruciato:int = 577;
const frame_agonia:int = 2589;
const frame_morte_colpo1_lenght:int = 59;
const frame_morte_bruciato_lenght:int = 59;
var refVec:Vector2;
var path:Array;
var agonyMode:Boolean;
var angleFrame:Number;
var frameToSkip:int;
var deadlyWeapon:int;
var angleRad:Number;
var targetPoint:Point;
var pfCell:Object;
var energy:Number;
var res:Number;
var lookingDir:Vector2;
var agonySwitch:Boolean;
var hitTime:Number;
var lastPfUpdate:Number;
var iaStatus:int;
var movingDir:Vector2;
var fire1Timer:Number;
var agony_loop:SoundChannel;
var deadType:int;
var angleGrad:Number;
var frameToGo:int;
var lastFireThrowerTime:int;
var pf:PathFinder;
static var deadTypeCount:int = 0;
public function Png_man2_fire(){
addFrameScript(71, frame72, 143, frame144, 215, frame216, 287, frame288, 359, frame360, 431, frame432, 503, frame504, 575, frame576, 630, frame631, 635, frame636, 690, frame691, 695, frame696, 750, frame751, 755, frame756, 810, frame811, 815, frame816, 870, frame871, 875, frame876, 930, frame931, 935, frame936, 990, frame991, 995, frame996, 1050, frame1051, 1055, frame1056, 1110, frame1111, 1115, frame1116, 1170, frame1171, 1175, frame1176, 1230, frame1231, 1235, frame1236, 1290, frame1291, 1295, frame1296, 1350, frame1351, 1355, frame1356, 1410, frame1411, 1415, frame1416, 1470, frame1471, 1475, frame1476, 1530, frame1531, 1535, frame1536, 1590, frame1591, 1595, frame1596, 1650, frame1651, 1655, frame1656, 1710, frame1711, 1715, frame1716, 1770, frame1771, 1775, frame1776, 1824, frame1825, 1829, frame1830, 1878, frame1879, 1883, frame1884, 1932, frame1933, 1937, frame1938, 1991, frame1992, 2010, frame2011, 2015, frame2016, 2034, frame2035, 2039, frame2040, 2058, frame2059, 2063, frame2064, 2082, frame2083, 2087, frame2088, 2142, frame2143, 2147, frame2148, 2202, frame2203, 2207, frame2208, 2262, frame2263, 2267, frame2268, 2322, frame2323, 2327, frame2328, 2387, frame2388, 2392, frame2393, 2452, frame2453, 2457, frame2458, 2517, frame2518, 2522, frame2523, 2582, frame2583, 2587, frame2588, 2639, frame2640, 2691, frame2692, 2743, frame2744, 2795, frame2796);
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 1;
dieMode = false;
agonyMode = false;
agonySwitch = false;
movingDir = new Vector2(0, 1);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
hitTime = 0;
iaStatus = 0;
path = new Array();
}
function frame1176(){
stop();
}
function frame2393(){
stop();
}
function frame2035(){
y = (y - 650);
}
function frame2016(){
stop();
}
function frame2040(){
stop();
}
function frame288(){
gotoAndPlay(109);
}
function frame1992(){
gotoAndPlay(2746);
}
function frame1879(){
}
function frame1884(){
gotoAndPlay(2642);
}
function frame1651(){
y = (y - 650);
}
function frame1411(){
y = (y - 650);
}
function frame2059(){
y = (y - 650);
}
function frame504(){
gotoAndPlay(217);
}
function frame1536(){
stop();
}
function frame1416(){
stop();
}
function frame1771(){
y = (y - 650);
}
function frame1531(){
y = (y - 650);
}
function frame876(){
stop();
}
function frame636(){
stop();
}
function frame996(){
stop();
}
function frame871(){
y = (y - 650);
}
function frame631(){
y = (y - 650);
}
function frame751(){
y = (y - 650);
}
function frame1656(){
stop();
}
function frame756(){
stop();
}
function frame2064(){
stop();
}
function frame2083(){
y = (y - 650);
}
function frame2518(){
y = (y - 650);
}
function frame2088(){
stop();
}
function frame2640(){
gotoAndPlay(2590);
}
function frame1776(){
stop();
}
function frame2523(){
stop();
}
function frame991(){
y = (y - 650);
}
function frame2744(){
gotoAndPlay(2694);
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Number;
var _local5:int;
var _local6:*;
var _local7:_BulletFire;
var _local8:int;
if ((((dieMode == true)) || (((_arg1._time - hitTime) > 100)))){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleRad = ((FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, movingDir) + (Math.PI / 4)) + (Math.PI / 8));
while (angleRad < 0) {
angleRad = (angleRad + (2 * Math.PI));
};
while (angleRad > (2 * Math.PI)) {
angleRad = (angleRad - (2 * Math.PI));
};
angleGrad = (((angleRad * 180) / Math.PI) + 22.5);
angleGrad = (angleGrad % 360);
while (angleGrad < 0) {
angleGrad = (angleGrad + 360);
};
angleFrame = Math.round((angleGrad / 45));
angleFrame = (angleFrame % 8);
if ((((dieMode == false)) && ((agonyMode == false)))){
_local4 = (((x - _arg1.player.x) * (x - _arg1.player.x)) + ((y - _arg1.player.y) * (y - _arg1.player.y)));
switch (iaStatus){
case 0:
pf = new PathFinder(_arg1.pfGrid, 300);
res = 0;
iaStatus = 1;
break;
case 1:
if (_local4 < 25000){
iaStatus = 3;
break;
};
lastPfUpdate = _arg1._time;
targetPoint = new Point(x, y);
res = 0;
while (res == 0) {
res = pf.Move(new Point(x, y), new Point(((_arg1.player.x + (Math.random() * 180)) - 90), ((_arg1.player.y + (Math.random() * 180)) - 90)), path);
};
iaStatus = 2;
break;
case 2:
if ((_arg1._time - lastPfUpdate) > 1500){
iaStatus = 1;
break;
} else {
if ((((targetPoint.x - x) * (targetPoint.x - x)) + ((targetPoint.y - y) * (targetPoint.y - y))) > 100){
movingDir.x = (targetPoint.x - x);
movingDir.y = (targetPoint.y - y);
movingDir.normalize(1);
if (((_arg1.pfGrid.IsWalkable(new Point((x + movingDir.x), (y + movingDir.y)))) && ((((_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] == -1)) || ((_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] == id)))))){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
x = (x + movingDir.x);
y = (y + movingDir.y);
_local5 = (((currentFrame % frame_walk_lenght) + (frame_walk_lenght * angleFrame)) + 1);
if (_local5 >= (((frame_walk_lenght * angleFrame) + frame_walk) + frame_walk_lenght)){
_local5 = ((frame_walk_lenght * angleFrame) + frame_walk);
};
this.gotoAndPlay(_local5);
} else {
movingDir = movingDir.rightNormal;
_local6 = _arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))];
if (((_arg1.pfGrid.IsWalkable(new Point((x + movingDir.x), (y + movingDir.y)))) && ((((_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] == -1)) || ((_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] == id)))))){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
x = (x + movingDir.x);
y = (y + movingDir.y);
_local5 = (((currentFrame % frame_walk_lenght) + (frame_walk_lenght * angleFrame)) + 1);
if (_local5 >= (((frame_walk_lenght * angleFrame) + frame_walk) + frame_walk_lenght)){
_local5 = ((frame_walk_lenght * angleFrame) + frame_walk);
};
this.gotoAndPlay(_local5);
} else {
movingDir = movingDir.leftNormal;
};
};
} else {
if (path.length > 0){
targetPoint = path.pop();
targetPoint.x = ((targetPoint.x * _arg1.pfGrid.cellPixelWidth) + (_arg1.pfGrid.cellPixelWidth / 2));
targetPoint.y = ((targetPoint.y * _arg1.pfGrid.cellPixelHeight) + (_arg1.pfGrid.cellPixelHeight / 2));
};
};
collisionCircle.x = x;
collisionCircle.y = y;
};
break;
case 3:
if (_local4 > 30000){
iaStatus = 1;
break;
};
movingDir.x = (_arg1.player.x - x);
movingDir.y = (_arg1.player.y - y);
movingDir.normalize(1);
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
if ((_arg1._time - fire1Timer) > fire1Rate){
if ((_arg1._time - lastFireThrowerTime) > 1000){
_arg1.PlaySound(_arg1.weapon4_fire, 0.3);
lastFireThrowerTime = _arg1._time;
};
fire1Timer = _arg1._time;
_local7 = new _BulletFire();
_local7.x = x;
_local7.y = y;
_local7.lifeTime = 700;
_local7.senderIsPlayer = false;
_local7.Init(_arg1, movingDir.x, movingDir.y);
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
break;
};
break;
};
};
if (dieMode == true){
if (((agonyMode) && (agony_loop))){
_arg1.StopLoop(agony_loop);
};
_local8 = 1;
if ((deadTypeCount % 16) > 8){
_local8 = 2;
};
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
if (agonyMode == true){
switch (deadlyWeapon){
case 2:
frameToGo = frame_morte_agonia_brucia;
frameToSkip = frame_morte_agonia_brucia_lenght;
break;
default:
frameToGo = frame_morte_agonia_colpo;
frameToSkip = frame_morte_agonia_colpo_lenght;
break;
};
} else {
switch (deadlyWeapon){
case 1:
switch ((deadType % 3)){
case 0:
frameToGo = frame_morte_colpo1;
frameToSkip = frame_morte_colpo1_lenght;
if (_local8 == 1){
_arg1.PlaySound(_arg1.pain_11);
} else {
_arg1.PlaySound(_arg1.pain_14);
};
break;
case 1:
frameToGo = frame_morte_colpo2;
frameToSkip = frame_morte_colpo2_lenght;
if (_local8 == 1){
_arg1.PlaySound(_arg1.pain_05);
} else {
_arg1.PlaySound(_arg1.pain_06);
};
break;
case 2:
frameToGo = frame_morte_colpo3;
frameToSkip = frame_morte_colpo3_lenght;
if (_local8 == 1){
_arg1.PlaySound(_arg1.pain_08);
} else {
_arg1.PlaySound(_arg1.pain_07);
};
break;
};
break;
case 2:
_arg1.PlaySound(_arg1.pain_15);
frameToGo = frame_morte_bruciato;
frameToSkip = frame_morte_bruciato_lenght;
break;
case 3:
switch ((deadType % 2)){
case 0:
frameToGo = frame_morte_esplosione1;
frameToSkip = frame_morte_esplosione1_lenght;
break;
case 1:
frameToGo = frame_morte_esplosione2;
frameToSkip = frame_morte_esplosione2_lenght;
_arg1.PlaySound(_arg1.pain_10);
break;
};
break;
default:
frameToGo = frame_morte_colpo1;
frameToSkip = frame_morte_colpo1_lenght;
_arg1.PlaySound(_arg1.pain_11);
break;
};
};
this.gotoAndPlay((frameToGo + (Math.floor((angleFrame / 2)) * (frameToSkip + 1))));
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 3000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 40);
_arg1.app.statistics.Combo();
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 20);
_arg1.app.statistics.NoCombo();
};
_arg1.lastDeathTime = _arg1._time;
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
_arg1.app.statistics.EnemyKilled();
} else {
if (agonyMode == true){
if (agonySwitch == true){
agony_loop = _arg1.PlayLoop(_arg1.grida_medic);
agonySwitch = false;
frameToGo = frame_morte_colpo4;
frameToSkip = frame_morte_colpo4_lenght;
this.gotoAndPlay((frameToGo + (Math.floor((angleFrame / 2)) * (frameToSkip + 1))));
switch ((deadTypeCount % 4)){
case 0:
_arg1.PlaySound(_arg1.pain_01);
break;
case 1:
_arg1.PlaySound(_arg1.pain_02);
break;
case 2:
_arg1.PlaySound(_arg1.pain_03);
break;
case 3:
_arg1.PlaySound(_arg1.pain_04);
break;
};
} else {
if (((agony_loop) && (((((_arg1.player.x - x) * (_arg1.player.x - x)) + ((_arg1.player.y - y) * (_arg1.player.y - y))) > 200000)))){
_arg1.StopLoop(agony_loop);
};
};
};
};
}
function frame432(){
gotoAndPlay(181);
}
function frame72(){
gotoAndPlay(1);
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
energy = (energy - 2);
break;
case 3:
energy = (energy - 6);
break;
};
if ((((((agonyMode == false)) && ((dieMode == false)))) && ((energy < 0)))){
if ((((((agonyMode == false)) && ((_arg2 == 1)))) && ((Math.random() < 0.25)))){
agonyMode = true;
agonySwitch = true;
} else {
dieMode = true;
deadlyWeapon = _arg2;
deadTypeCount++;
deadType = deadTypeCount;
};
} else {
if ((((agonyMode == true)) && ((agonySwitch == false)))){
dieMode = true;
deadlyWeapon = _arg2;
} else {
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
};
}
function frame2796(){
gotoAndPlay(2746);
}
function frame1591(){
y = (y - 650);
}
function frame1351(){
y = (y - 650);
}
function frame1476(){
stop();
}
function frame1356(){
stop();
}
function frame1236(){
stop();
}
function frame1116(){
stop();
}
function frame1231(){
y = (y - 650);
}
function frame1596(){
stop();
}
function frame2323(){
y = (y - 650);
}
function frame1471(){
y = (y - 650);
}
function frame1111(){
y = (y - 650);
}
function frame2203(){
y = (y - 650);
}
function frame2328(){
stop();
}
function frame576(){
gotoAndPlay(253);
}
function frame691(){
y = (y - 650);
}
function frame2458(){
stop();
}
function frame696(){
stop();
}
function frame2208(){
stop();
}
function frame2453(){
y = (y - 650);
}
function frame2583(){
y = (y - 650);
}
function frame2588(){
stop();
}
function frame1933(){
}
function frame1938(){
gotoAndPlay(2694);
}
function frame216(){
gotoAndPlay(73);
}
function frame2692(){
gotoAndPlay(2642);
}
function frame1825(){
}
function frame360(){
gotoAndPlay(145);
}
function frame1830(){
gotoAndPlay(2590);
}
function frame1711(){
y = (y - 650);
}
function frame931(){
y = (y - 650);
}
function frame936(){
stop();
}
function frame811(){
y = (y - 650);
}
function frame1716(){
stop();
}
function frame2011(){
y = (y - 650);
}
function frame144(){
gotoAndPlay(37);
}
function frame1291(){
y = (y - 650);
}
function frame1171(){
y = (y - 650);
}
function frame1296(){
stop();
}
function frame1056(){
stop();
}
function frame2388(){
y = (y - 650);
}
function frame1051(){
y = (y - 650);
}
function frame2148(){
stop();
}
function frame2263(){
y = (y - 650);
}
function frame816(){
stop();
}
function frame2143(){
y = (y - 650);
}
function frame2268(){
stop();
}
}
}//package ThisGame
Section 135
//Png_man2_shotgun (ThisGame.Png_man2_shotgun)
package ThisGame {
import FoofaGeom.*;
import FoofaAI.*;
import flash.geom.*;
import flash.media.*;
import FoofaCrypto.*;
public class Png_man2_shotgun extends Png {
const frame_morte_esplosione2_lenght:int = 59;
const fire1Rate:Number = 1000;
const frame_morte_colpo4_lenght:int = 53;
const frame_agonia_lenght:int = 51;
const frame_morte_agonia_brucia:int = 817;
const frame_morte_esplosione1:int = 2090;
const frame_morte_colpo2_lenght:int = 59;
const frame_morte_colpo2:int = 1297;
const frame_morte_colpo3:int = 1537;
const frame_morte_colpo4:int = 1777;
const frame_morte_esplosione2:int = 2329;
const frame_morte_colpo1:int = 1057;
const frame_morte_agonia_colpo_lenght:int = 23;
const frame_walk_lenght:int = 72;
const frame_morte_agonia_brucia_lenght:int = 59;
const frame_morte_agonia_colpo:int = 1993;
const frame_morte_esplosione1_lenght:int = 59;
const frame_walk:int = 1;
const frame_morte_colpo3_lenght:int = 59;
const frame_morte_bruciato:int = 577;
const frame_agonia:int = 2589;
const frame_morte_colpo1_lenght:int = 59;
const frame_morte_bruciato_lenght:int = 59;
var refVec:Vector2;
var path:Array;
var agonyMode:Boolean;
var angleFrame:Number;
var frameToSkip:int;
var deadlyWeapon:int;
var angleRad:Number;
var targetPoint:Point;
var pfCell:Object;
var energy:Number;
var res:Number;
var lookingDir:Vector2;
var agonySwitch:Boolean;
var hitTime:Number;
var lastPfUpdate:Number;
var iaStatus:int;
var movingDir:Vector2;
var fire1Timer:Number;
public var agony_loop:SoundChannel;
var deadType:int;
var angleGrad:Number;
var frameToGo:int;
var pf:PathFinder;
static var deadTypeCount:int = 0;
public function Png_man2_shotgun(){
addFrameScript(71, frame72, 143, frame144, 215, frame216, 287, frame288, 359, frame360, 431, frame432, 503, frame504, 575, frame576, 630, frame631, 635, frame636, 690, frame691, 695, frame696, 750, frame751, 755, frame756, 810, frame811, 815, frame816, 870, frame871, 875, frame876, 930, frame931, 935, frame936, 990, frame991, 995, frame996, 1050, frame1051, 1055, frame1056, 1110, frame1111, 1115, frame1116, 1170, frame1171, 1175, frame1176, 1230, frame1231, 1235, frame1236, 1290, frame1291, 1295, frame1296, 1350, frame1351, 1355, frame1356, 1410, frame1411, 1415, frame1416, 1470, frame1471, 1475, frame1476, 1530, frame1531, 1535, frame1536, 1590, frame1591, 1595, frame1596, 1650, frame1651, 1655, frame1656, 1710, frame1711, 1715, frame1716, 1770, frame1771, 1775, frame1776, 1824, frame1825, 1829, frame1830, 1878, frame1879, 1883, frame1884, 1932, frame1933, 1937, frame1938, 1991, frame1992, 2010, frame2011, 2015, frame2016, 2034, frame2035, 2039, frame2040, 2058, frame2059, 2063, frame2064, 2082, frame2083, 2087, frame2088, 2142, frame2143, 2147, frame2148, 2202, frame2203, 2207, frame2208, 2262, frame2263, 2267, frame2268, 2322, frame2323, 2327, frame2328, 2387, frame2388, 2392, frame2393, 2452, frame2453, 2457, frame2458, 2517, frame2518, 2522, frame2523, 2582, frame2583, 2587, frame2588, 2639, frame2640, 2691, frame2692, 2743, frame2744, 2795, frame2796);
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 1;
dieMode = false;
agonyMode = false;
agonySwitch = false;
movingDir = new Vector2(0, 1);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
hitTime = 0;
iaStatus = 0;
path = new Array();
}
function frame1176(){
stop();
}
function frame2393(){
stop();
}
function frame2035(){
y = (y - 650);
}
function frame2040(){
stop();
}
function frame288(){
gotoAndPlay(109);
}
function frame1992(){
gotoAndPlay(2746);
}
function frame1879(){
}
function frame1884(){
gotoAndPlay(2642);
}
function frame1651(){
y = (y - 650);
}
function frame1411(){
y = (y - 650);
}
function frame2059(){
y = (y - 650);
}
function frame504(){
gotoAndPlay(217);
}
function frame1536(){
stop();
}
function frame1416(){
stop();
}
function frame1771(){
y = (y - 650);
}
function frame1531(){
y = (y - 650);
}
function frame876(){
stop();
}
function frame636(){
stop();
}
function frame996(){
stop();
}
function frame871(){
y = (y - 650);
}
function frame631(){
y = (y - 650);
}
function frame751(){
y = (y - 650);
}
function frame1656(){
stop();
}
function frame756(){
stop();
}
function frame2064(){
stop();
}
function frame2083(){
y = (y - 650);
}
function frame2518(){
y = (y - 650);
}
function frame2088(){
stop();
}
function frame2640(){
gotoAndPlay(2590);
}
function frame1776(){
stop();
}
function frame2523(){
stop();
}
function frame991(){
y = (y - 650);
}
function frame2744(){
gotoAndPlay(2694);
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Number;
var _local5:int;
var _local6:*;
var _local7:Bullet;
var _local8:int;
if ((((dieMode == true)) || (((_arg1._time - hitTime) > 100)))){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleRad = ((FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, movingDir) + (Math.PI / 4)) + (Math.PI / 8));
while (angleRad < 0) {
angleRad = (angleRad + (2 * Math.PI));
};
while (angleRad > (2 * Math.PI)) {
angleRad = (angleRad - (2 * Math.PI));
};
angleGrad = (((angleRad * 180) / Math.PI) + 22.5);
angleGrad = (angleGrad % 360);
while (angleGrad < 0) {
angleGrad = (angleGrad + 360);
};
angleFrame = Math.round((angleGrad / 45));
angleFrame = (angleFrame % 8);
if ((((dieMode == false)) && ((agonyMode == false)))){
_local4 = (((x - _arg1.player.x) * (x - _arg1.player.x)) + ((y - _arg1.player.y) * (y - _arg1.player.y)));
switch (iaStatus){
case 0:
pf = new PathFinder(_arg1.pfGrid, 300);
res = 0;
iaStatus = 1;
break;
case 1:
if (_local4 < 40000){
iaStatus = 3;
break;
};
lastPfUpdate = _arg1._time;
targetPoint = new Point(x, y);
res = 0;
while (res == 0) {
res = pf.Move(new Point(x, y), new Point(((_arg1.player.x + (Math.random() * 180)) - 90), ((_arg1.player.y + (Math.random() * 180)) - 90)), path);
};
iaStatus = 2;
break;
case 2:
if ((_arg1._time - lastPfUpdate) > 1500){
iaStatus = 1;
break;
} else {
if ((((targetPoint.x - x) * (targetPoint.x - x)) + ((targetPoint.y - y) * (targetPoint.y - y))) > 100){
movingDir.x = (targetPoint.x - x);
movingDir.y = (targetPoint.y - y);
movingDir.normalize(1);
if (((_arg1.pfGrid.IsWalkable(new Point((x + movingDir.x), (y + movingDir.y)))) && ((((_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] == -1)) || ((_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] == id)))))){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
x = (x + movingDir.x);
y = (y + movingDir.y);
_local5 = (((currentFrame % frame_walk_lenght) + (frame_walk_lenght * angleFrame)) + 1);
if (_local5 >= (((frame_walk_lenght * angleFrame) + frame_walk) + frame_walk_lenght)){
_local5 = ((frame_walk_lenght * angleFrame) + frame_walk);
};
this.gotoAndPlay(_local5);
} else {
movingDir = movingDir.rightNormal;
_local6 = _arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))];
if (((_arg1.pfGrid.IsWalkable(new Point((x + movingDir.x), (y + movingDir.y)))) && ((((_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] == -1)) || ((_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point((x + movingDir.x), (y + movingDir.y)))] == id)))))){
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
x = (x + movingDir.x);
y = (y + movingDir.y);
_local5 = (((currentFrame % frame_walk_lenght) + (frame_walk_lenght * angleFrame)) + 1);
if (_local5 >= (((frame_walk_lenght * angleFrame) + frame_walk) + frame_walk_lenght)){
_local5 = ((frame_walk_lenght * angleFrame) + frame_walk);
};
this.gotoAndPlay(_local5);
} else {
movingDir = movingDir.leftNormal;
};
};
} else {
if (path.length > 0){
targetPoint = path.pop();
targetPoint.x = ((targetPoint.x * _arg1.pfGrid.cellPixelWidth) + (_arg1.pfGrid.cellPixelWidth / 2));
targetPoint.y = ((targetPoint.y * _arg1.pfGrid.cellPixelHeight) + (_arg1.pfGrid.cellPixelHeight / 2));
};
};
collisionCircle.x = x;
collisionCircle.y = y;
};
break;
case 3:
if (_local4 > 50000){
iaStatus = 1;
break;
};
movingDir.x = (_arg1.player.x - x);
movingDir.y = (_arg1.player.y - y);
movingDir.normalize(1);
this.gotoAndPlay((frame_walk + ((frame_walk_lenght + 1) * angleFrame)));
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_machinegun, 0.3);
fire1Timer = _arg1._time;
_local7 = new Bullet_enemy();
_local7.senderIsPlayer = false;
_local7.x = (x - (Math.sin((((angleGrad - 90) * Math.PI) / 180)) * 20));
_local7.y = (y + (Math.cos((((angleGrad - 90) * Math.PI) / 180)) * 20));
_local7.Init(_arg1, -(Math.sin((((angleGrad - 90) * Math.PI) / 180))), Math.cos((((angleGrad - 90) * Math.PI) / 180)));
_local7.lifeTime = 1000;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.senderIsPlayer = false;
_local7.x = (x - (Math.sin((((angleGrad - 90) * Math.PI) / 180)) * 20));
_local7.y = (y + (Math.cos((((angleGrad - 90) * Math.PI) / 180)) * 20));
_local7.Init(_arg1, -(Math.sin(((((angleGrad - 90) + 5) * Math.PI) / 180))), Math.cos(((((angleGrad - 90) + 5) * Math.PI) / 180)));
_local7.lifeTime = 1000;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.senderIsPlayer = false;
_local7.x = (x - (Math.sin((((angleGrad - 90) * Math.PI) / 180)) * 20));
_local7.y = (y + (Math.cos((((angleGrad - 90) * Math.PI) / 180)) * 20));
_local7.Init(_arg1, -(Math.sin(((((angleGrad - 90) - 5) * Math.PI) / 180))), Math.cos(((((angleGrad - 90) - 5) * Math.PI) / 180)));
_local7.lifeTime = 1000;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.senderIsPlayer = false;
_local7.x = (x - (Math.sin((((angleGrad - 90) * Math.PI) / 180)) * 20));
_local7.y = (y + (Math.cos((((angleGrad - 90) * Math.PI) / 180)) * 20));
_local7.Init(_arg1, -(Math.sin(((((angleGrad - 90) + 10) * Math.PI) / 180))), Math.cos(((((angleGrad - 90) + 10) * Math.PI) / 180)));
_local7.lifeTime = 1000;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
_local7 = new Bullet_enemy();
_local7.senderIsPlayer = false;
_local7.x = (x - (Math.sin((((angleGrad - 90) * Math.PI) / 180)) * 20));
_local7.y = (y + (Math.cos((((angleGrad - 90) * Math.PI) / 180)) * 20));
_local7.Init(_arg1, -(Math.sin(((((angleGrad - 90) - 10) * Math.PI) / 180))), Math.cos(((((angleGrad - 90) - 10) * Math.PI) / 180)));
_local7.lifeTime = 1000;
_arg1.bulletArray.push(_local7);
_arg1.isoObjectActiveArray.push(_local7);
};
break;
};
};
if (dieMode == true){
if (((agonyMode) && (agony_loop))){
_arg1.StopLoop(agony_loop);
};
_local8 = 1;
if ((deadTypeCount % 16) > 8){
_local8 = 2;
};
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
if (agonyMode == true){
switch (deadlyWeapon){
case 2:
frameToGo = frame_morte_agonia_brucia;
frameToSkip = frame_morte_agonia_brucia_lenght;
break;
default:
frameToGo = frame_morte_agonia_colpo;
frameToSkip = frame_morte_agonia_colpo_lenght;
break;
};
} else {
switch (deadlyWeapon){
case 1:
switch ((deadType % 3)){
case 0:
frameToGo = frame_morte_colpo1;
frameToSkip = frame_morte_colpo1_lenght;
if (_local8 == 1){
_arg1.PlaySound(_arg1.pain_11);
} else {
_arg1.PlaySound(_arg1.pain_14);
};
break;
case 1:
frameToGo = frame_morte_colpo2;
frameToSkip = frame_morte_colpo2_lenght;
if (_local8 == 1){
_arg1.PlaySound(_arg1.pain_05);
} else {
_arg1.PlaySound(_arg1.pain_06);
};
break;
case 2:
frameToGo = frame_morte_colpo3;
frameToSkip = frame_morte_colpo3_lenght;
if (_local8 == 1){
_arg1.PlaySound(_arg1.pain_08);
} else {
_arg1.PlaySound(_arg1.pain_07);
};
break;
};
break;
case 2:
_arg1.PlaySound(_arg1.pain_15);
frameToGo = frame_morte_bruciato;
frameToSkip = frame_morte_bruciato_lenght;
break;
case 3:
switch ((deadType % 2)){
case 0:
frameToGo = frame_morte_esplosione1;
frameToSkip = frame_morte_esplosione1_lenght;
break;
case 1:
frameToGo = frame_morte_esplosione2;
frameToSkip = frame_morte_esplosione2_lenght;
_arg1.PlaySound(_arg1.pain_10);
break;
};
break;
default:
frameToGo = frame_morte_colpo1;
frameToSkip = frame_morte_colpo1_lenght;
_arg1.PlaySound(_arg1.pain_11);
break;
};
};
this.gotoAndPlay((frameToGo + (Math.floor((angleFrame / 2)) * (frameToSkip + 1))));
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 3000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 30);
_arg1.app.statistics.Combo();
} else {
MemoryCrypto.incrementValue(_arg1.app.sounds, 15);
_arg1.app.statistics.NoCombo();
};
_arg1.lastDeathTime = _arg1._time;
_arg1.busyGrid[_arg1.pfGrid.FromPixelPosToGridIndex(new Point(x, y))] = -1;
_arg1.app.statistics.EnemyKilled();
} else {
if (agonyMode == true){
if (agonySwitch == true){
agony_loop = _arg1.PlayLoop(_arg1.grida_medic);
agonySwitch = false;
frameToGo = frame_morte_colpo4;
frameToSkip = frame_morte_colpo4_lenght;
this.gotoAndPlay((frameToGo + (Math.floor((angleFrame / 2)) * (frameToSkip + 1))));
switch ((deadTypeCount % 4)){
case 0:
_arg1.PlaySound(_arg1.pain_01);
break;
case 1:
_arg1.PlaySound(_arg1.pain_02);
break;
case 2:
_arg1.PlaySound(_arg1.pain_03);
break;
case 3:
_arg1.PlaySound(_arg1.pain_04);
break;
};
} else {
if (((agony_loop) && (((((_arg1.player.x - x) * (_arg1.player.x - x)) + ((_arg1.player.y - y) * (_arg1.player.y - y))) > 200000)))){
_arg1.StopLoop(agony_loop);
};
};
};
};
}
function frame432(){
gotoAndPlay(181);
}
function frame72(){
gotoAndPlay(1);
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
energy = (energy - 2);
break;
case 3:
energy = (energy - 6);
break;
};
if ((((((agonyMode == false)) && ((dieMode == false)))) && ((energy < 0)))){
if ((((((agonyMode == false)) && ((_arg2 == 1)))) && ((Math.random() < 0.25)))){
agonyMode = true;
agonySwitch = true;
} else {
dieMode = true;
deadlyWeapon = _arg2;
deadTypeCount++;
deadType = deadTypeCount;
};
} else {
if ((((agonyMode == true)) && ((agonySwitch == false)))){
dieMode = true;
deadlyWeapon = _arg2;
} else {
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
};
}
function frame2796(){
gotoAndPlay(2746);
}
function frame1591(){
y = (y - 650);
}
function frame1351(){
y = (y - 650);
}
function frame1476(){
stop();
}
function frame1356(){
stop();
}
function frame1236(){
stop();
}
function frame1116(){
stop();
}
function frame1231(){
y = (y - 650);
}
function frame1596(){
stop();
}
function frame2323(){
y = (y - 650);
}
function frame1471(){
y = (y - 650);
}
function frame1111(){
y = (y - 650);
}
function frame2203(){
y = (y - 650);
}
function frame2328(){
stop();
}
function frame576(){
gotoAndPlay(253);
}
function frame691(){
y = (y - 650);
}
function frame2458(){
stop();
}
function frame696(){
stop();
}
function frame2208(){
stop();
}
function frame2453(){
y = (y - 650);
}
function frame2583(){
y = (y - 650);
}
function frame2588(){
stop();
}
function frame1933(){
}
function frame1938(){
gotoAndPlay(2694);
}
function frame216(){
gotoAndPlay(73);
}
function frame2692(){
gotoAndPlay(2642);
}
function frame1825(){
}
function frame360(){
gotoAndPlay(145);
}
function frame1830(){
gotoAndPlay(2590);
}
function frame1711(){
y = (y - 650);
}
function frame931(){
y = (y - 650);
}
function frame936(){
stop();
}
function frame811(){
y = (y - 650);
}
function frame1716(){
stop();
}
function frame2011(){
y = (y - 650);
}
function frame144(){
gotoAndPlay(37);
}
function frame1291(){
y = (y - 650);
}
function frame1171(){
y = (y - 650);
}
function frame816(){
stop();
}
function frame1296(){
stop();
}
function frame1056(){
stop();
}
function frame2388(){
y = (y - 650);
}
function frame1051(){
y = (y - 650);
}
function frame2148(){
stop();
}
function frame2263(){
y = (y - 650);
}
function frame2016(){
stop();
}
function frame2143(){
y = (y - 650);
}
function frame2268(){
stop();
}
}
}//package ThisGame
Section 136
//State_Briefing (ThisGame.State_Briefing)
package ThisGame {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import FoofaCore.*;
import flash.media.*;
public class State_Briefing implements FSM_State {
private var ;
private var
:BriefingMenu;
private var :TextField;
private var app:Main_Application;
private var :MovieClip;
private var i:int;
private var :DisplayObjectContainer;
private var :Array;
private var :TextField;
public function State_Briefing(_arg1:Main_Application, _arg2:DisplayObjectContainer):void{
app = _arg1;
= _arg2;
= new raffica();
}
function PlayRaffica(_arg1:MouseEvent):void{
if (app.sound){
.play(0, 0, new SoundTransform(1, 0));
};
}
public function End():void{
.removeChild(
);
}
public function Step():void{
}
function nextButtonPressed(_arg1:MouseEvent){
app.GotoPlayState();
}
public function Init():void{
= new BriefingMenu();
.addChild(
);
.getChildByName("nextBtn").addEventListener(MouseEvent.MOUSE_UP, nextButtonPressed);
.getChildByName("backBtn").addEventListener(MouseEvent.MOUSE_UP, backButtonPressed);
= TextField(
.getChildByName("briefingText"));
= TextField(
.getChildByName("missionNumberTxt"));
.text = ("" + app.thisLevel);
= new Array();
.push(MovieClip(
.getChildByName("mission_1")));
.push(MovieClip(
.getChildByName("mission_2")));
.push(MovieClip(
.getChildByName("mission_3")));
if (app.sound){
.getChildByName("nextBtn").addEventListener(MouseEvent.MOUSE_OVER, PlayRaffica);
.getChildByName("backBtn").addEventListener(MouseEvent.MOUSE_OVER, PlayRaffica);
};
= MovieClip(
.getChildByName("puntina"));
i = 0;
while (i < .length) {
if (i < (app.thisLevel - 1)){
[i].gotoAndStop(2);
} else {
[i].gotoAndStop(1);
};
if (i == (app.thisLevel - 1)){
.x = [i].x;
.y = [i].y;
};
i++;
};
switch (app.thisLevel){
case 0:
case 1:
.text = "Pass the woods and reach the opposite side of the valley. Enemies will be around, so move carefully.";
break;
case 2:
.text = "This one gets thougher man...you have to pass through a zone filled with enemies to get to your final objective.";
break;
case 3:
.text = "Great job so far, man...but this mission won't be that easy. Reach the end of the enemy lines and stop their Enhanced Giant Panzer before it approaches our forces!";
break;
};
}
function backButtonPressed(_arg1:MouseEvent){
app.ChangeState(new State_MainMenu(app, ));
}
}
}//package ThisGame
Section 137
//State_GameOverMenu (ThisGame.State_GameOverMenu)
package ThisGame {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import FoofaCore.*;
import CMG_AS3.*;
import FoofaCrypto.*;
public class State_GameOverMenu implements FSM_State {
private var :Boolean;
private var
:GameOverMenu;
private var :TextField;
private var app:Main_Application;
private var :TextField;
private var :SimpleButton;
private var
:String;
private var :DisplayObjectContainer;
public function State_GameOverMenu(_arg1:Main_Application, _arg2:DisplayObjectContainer):void{
app = _arg1;
= _arg2;
= new String("insert name");
}
function hallPressed(_arg1:MouseEvent):void{
ScoreSubmitter.loadHighScorePage();
}
public function End():void{
.removeChild(
);
}
function onScoreResponse(_arg1:ServerResponseEvent):void{
switch (_arg1.returnCode){
case ScoreSubmitter.RETURNCODE_WORKING:
.text = "Submitting...";
break;
case ScoreSubmitter.RETURNCODE_SUCCESS:
.text = "Your score has been submitted";
ScoreSubmitter.loadHighScorePage();
break;
case ScoreSubmitter.RETURNCODE_REJECTED:
.text = "The server rejected your score";
break;
case ScoreSubmitter.RETURNCODE_WRONGVERSION:
.text = "Wrong game version visit CrazyMonkeyGames.com";
ScoreSubmitter.loadUpdatePage();
break;
case ScoreSubmitter.RETURNCODE_NETWORKERROR:
.text = "Could not reach the server";
break;
default:
.text = ("Unknown error " + _arg1.returnCode);
break;
};
}
function nextButtonPressed(_arg1:MouseEvent){
MemoryCrypto.setValue(app.sounds, 0);
app.Load();
app.GotoPlayState();
}
function submitButtonPressed(_arg1:MouseEvent){
var _local2:ScoreSubmitter;
if (MemoryCrypto.getValue(app.sounds) != 0){
if ((() && (!((.text ==
))))){
.type = TextFieldType.DYNAMIC;
.removeChild();
_local2 = new ScoreSubmitter();
_local2.addEventListener(ScoreSubmitter.SCORE_RESPONSE, onScoreResponse);
_local2.submitScore(.text, MemoryCrypto.getValue(app.sounds));
} else {
.text =
;
};
} else {
.text = "No score to submit";
};
}
function backButtonPressed(_arg1:MouseEvent){
app.ChangeState(new State_MainMenu(app, ));
}
function clickedOnNameField(_arg1:MouseEvent){
= true;
}
public function Step():void{
}
public function Init():void{
= new GameOverMenu();
.addChild(
);
= SimpleButton(
.getChildByName("submitBtn"));
.addEventListener(MouseEvent.MOUSE_UP, submitButtonPressed);
.getChildByName("againBtn").addEventListener(MouseEvent.MOUSE_UP, nextButtonPressed);
.getChildByName("backBtn").addEventListener(MouseEvent.MOUSE_UP, backButtonPressed);
.getChildByName("hallBtn").addEventListener(MouseEvent.MOUSE_UP, hallPressed);
= TextField(
.getChildByName("nameText"));
.text =
;
.addEventListener(MouseEvent.MOUSE_UP, clickedOnNameField);
= TextField(
.getChildByName("scoreText"));
.text = ("" + MemoryCrypto.getValue(app.sounds));
= false;
}
}
}//package ThisGame
Section 138
//State_Info (ThisGame.State_Info)
package ThisGame {
import flash.events.*;
import flash.display.*;
import FoofaCore.*;
import flash.media.*;
public class State_Info implements FSM_State {
private var app:Main_Application;
private var :DisplayObjectContainer;
private var
:InfoWnd;
private var ;
public function State_Info(_arg1:Main_Application, _arg2:DisplayObjectContainer):void{
app = _arg1;
= _arg2;
= new raffica();
}
public function End():void{
.removeChild(
);
}
function PlayRaffica(_arg1:MouseEvent):void{
if (app.sound){
.play(0, 0, new SoundTransform(1, 0));
};
}
public function Init():void{
= new InfoWnd();
.addChild(
);
.getChildByName("continueBtn").addEventListener(MouseEvent.MOUSE_UP, nextButtonPressed);
if (app.sound){
.getChildByName("continueBtn").addEventListener(MouseEvent.MOUSE_OVER, PlayRaffica);
};
}
function nextButtonPressed(_arg1:MouseEvent){
app.ChangeState(new State_Briefing(app, ));
}
public function Step():void{
}
}
}//package ThisGame
Section 139
//State_InGame (ThisGame.State_InGame)
package ThisGame {
import flash.events.*;
import flash.display.*;
import FoofaGeom.*;
import FoofaAI.*;
import flash.geom.*;
import flash.text.*;
import FoofaCore.*;
import flash.media.*;
import com.kongregate.as3.client.*;
import FoofaCrypto.*;
import FoofaView.*;
import flash.utils.*;
import flash.ui.*;
public class State_InGame implements FSM_State {
private const screenHeight:Number = 450;
private const screenWidth:Number = 450;
public var vieni_ucciso;
public var pain_01;
public var pain_02;
public var pain_03;
public var pain_04;
public var pain_05;
public var pain_06;
public var pain_07;
public var pain_08;
public var ;
private var :Boolean;
private var :TextField;
public var app:Main_Application;
public var pain_10;
public var ;
public var ;
private var :DisplayObjectContainer;
public var pain_15;
public var isoObjectActiveArray:Array;
public var pain_11;
public var pain_14;
private var :Number;
private var :Number;
public var ;
private var
:MovieClip;
public var e_weapon_machinegun;
public var enemyActiveArray:Array;
public var weapon9_boom;
private var :TextField;
public var pfGrid:PathFindingGrid;
public var :Number;
public var :Array;
public var weapon6_boom;
public var bulletArray:Array;
public var grida_medic;
public var weapon4_fire;
public var :Number;
public var ;
public var gui_score:TextField;
public var :Array;
public var weapon1_fire;
private var :Number;
private var :Rectangle;
private var :Number;
private var :Boolean;
private var :Number;
private var :MovieClip;
public var vieni_colpito;
private var :Number;
private var :BitmapData;
public var :uint;
public var e_weapon_cannon1;
private var
:CollisionCircleCircle;
public var weapon10_fire;
public var e_weapon_cannon2;
public var triggerManager:TriggerManager;
public var busyGrid:Array;
public var player:Player;
private var :Number;
public var gui_weaponPopup:MovieClip;
private var :CollisionConvexPolyCircle;
private var :Mirino;
private var :Number;
public var ;
public var fai_cilecca;
public var :SoundChannel;
public var weapon7_boom;
private var
:AbortGameWnd;
public var weapon5_fire;
public var camera:Camera2d_FollowTargetInBounds;
private var :Number;
private var
:Boolean;
private var
:TextField;
private var
:Bitmap;
private var
:Number;
private var
:DisplayObjectContainer;
public var weapon2_fire;
public var solidActiveArray:Array;
public var e_crash;
private var :FrameRateCounter;
public var :MovieClip;
public var lastDeathTime:Number;
private var :Boolean;
public var weapon10_boom;
public var worldObject:DisplayObjectContainer;
public var ;
private var :MovieClip;
public var
:Array;
public var weapon9_fire;
private var :MovieClip;
public var ;
public var :Array;
public var _time:Number;
private var :Point;
private var :MovieClip;
public var
:Array;
public var weapon3_fire;
public var box;
private var
:Number;
public var :Number;
public var e_weapon_rocket;
public function State_InGame(_arg1:Main_Application, _arg2:DisplayObjectContainer, _arg3:DisplayObjectContainer):void{
lastDeathTime = getTimer();
app = _arg1;
= _arg2;
worldObject = _arg3;
= 0;
weapon1_fire = new weapon1_rifle();
weapon2_fire = new weapon2_ak47();
weapon3_fire = new weapon3_shotgun();
weapon4_fire = new weapon4_flamethrower();
weapon5_fire = new weapon5_rocketlauncher();
weapon6_boom = new weapon6_grenade();
weapon7_boom = new weapon7_firegrenade();
weapon9_fire = new b52_Aircraft();
weapon9_boom = new b52_explosion();
weapon10_fire = new artillery_firing();
weapon10_boom = new artillery_explosions();
pain_01 = new scream_01();
pain_02 = new scream_02();
pain_03 = new scream_03();
pain_04 = new scream_04();
pain_05 = new scream_05();
pain_06 = new scream_06();
pain_07 = new scream_07();
pain_08 = new scream_08();
= new scream_09();
pain_10 = new scream_10();
pain_11 = new scream_11();
= new scream_12();
= new scream_13();
pain_14 = new scream_14();
pain_15 = new scream_15();
box = new collect_crate();
= new collect_crate();
e_weapon_cannon1 = new enemy_cannon1();
e_weapon_cannon2 = new enemy_cannon2();
e_weapon_machinegun = new enemy_machinegun();
e_weapon_rocket = new enemy_rocket();
fai_cilecca = new cilecca();
vieni_colpito = new colpito();
vieni_ucciso = new ucciso();
= new bkg_sounds();
grida_medic = new medic();
= new no_weapon();
e_crash = new enemy_crash();
= new raffica();
= 0;
}
public function
():void{
app.ChangeMusic(app.menuMusic);
app.ChangeState(new State_GameOverMenu(app, ));
}
public function PlaySound(_arg1:Sound, _arg2:Number=1){
if (app.sound){
_arg1.play(0, 0, new SoundTransform(_arg2, 0));
};
}
public function PlayLoop(_arg1:Sound, _arg2:Number=1):SoundChannel{
if (app.sound){
return (_arg1.play(0, 99999, new SoundTransform(_arg2, 0)));
};
return (new SoundChannel());
}
private function UpdateInput():void{
var _local1:Number;
var _local2:Number;
if (((( == false)) && (Key.isDown(27)))){
= _time;
= true;
.stage.quality = StageQuality.HIGH;
.addChild(
);
} else {
if ( == false){
if (app.inputMode == 1){
player.UpdateInput(Key.isDown(38), Key.isDown(40), Key.isDown(37), Key.isDown(39), Key.isDown(65), Key.isDown(83), true, Key.isDown(32));
} else {
player.UpdateInput(((Key.isDown(Key.W)) || (Key.isDown(38))), ((Key.isDown(Key.S)) || (Key.isDown(40))), ((Key.isDown(Key.A)) || (Key.isDown(37))), ((Key.isDown(Key.D)) || (Key.isDown(39))),
, Key.isDown(Key.SPACE), false, false);
};
_local1 = player.selectedWeapon;
_local2 = player.selectedWeapon2;
if (Key.isDown(49)){
if (player.SelectWeapon(1)){
if (_local1 != 1){
PlaySound( );
};
.gotoAndStop(1);
} else {
PlaySound( );
};
};
if (Key.isDown(50)){
if (player.SelectWeapon(2)){
if (_local1 != 2){
PlaySound( );
};
.gotoAndStop(2);
} else {
PlaySound( );
};
};
if (Key.isDown(51)){
if (player.SelectWeapon(3)){
if (_local1 != 3){
PlaySound( );
};
.gotoAndStop(3);
} else {
PlaySound( );
};
};
if (Key.isDown(52)){
if (player.SelectWeapon(4)){
if (_local1 != 4){
PlaySound( );
};
.gotoAndStop(4);
} else {
PlaySound( );
};
};
if (Key.isDown(53)){
if (player.SelectWeapon(5)){
if (_local1 != 5){
PlaySound( );
};
.gotoAndStop(5);
} else {
PlaySound( );
};
};
if (Key.isDown(54)){
if (player.SelectWeapon(6)){
if (_local2 != 6){
PlaySound( );
};
.gotoAndStop(6);
} else {
PlaySound( );
};
};
if (Key.isDown(55)){
if (player.SelectWeapon(7)){
if (_local2 != 7){
PlaySound( );
};
.gotoAndStop(7);
} else {
PlaySound( );
};
};
if (Key.isDown(56)){
if (player.SelectWeapon(8)){
if (_local2 != 8){
PlaySound( );
};
.gotoAndStop(8);
} else {
PlaySound( );
};
};
if (Key.isDown(57)){
if (player.SelectWeapon(9)){
if (_local2 != 9){
PlaySound( );
};
.gotoAndStop(9);
} else {
PlaySound( );
};
};
if (Key.isDown(48)){
if (player.SelectWeapon(10)){
if (_local2 != 10){
PlaySound( );
};
.gotoAndStop(10);
} else {
PlaySound( );
};
};
};
};
}
public function ShowWeaponPopup():void{
= true;
= _time;
}
function
(_arg1:MouseEvent):void{
= false;
}
public function End():void{
var _local1:Array;
var _local2:Object;
var _local3:*;
var _local4:int;
this.worldObject.stage.frameRate = 30;
if (app.usingKongregateAPI){
};
if (app.inputMode == 0){
= true;
Mouse.show();
.removeEventListener(MouseEvent.MOUSE_DOWN, );
.removeEventListener(MouseEvent.MOUSE_UP,
);
.removeEventListener(MouseEvent.MOUSE_MOVE, );
.removeEventListener(MouseEvent.MOUSE_WHEEL,
);
.stage.removeEventListener(Event.MOUSE_LEAVE,
);
};
if (app.sound){
.getChildByName("abortBtn").removeEventListener(MouseEvent.MOUSE_OVER, PlayRaffica);
.getChildByName("continueBtn").removeEventListener(MouseEvent.MOUSE_OVER, PlayRaffica);
};
.removeEventListener(MouseEvent.CLICK,
);
.getChildByName("abortBtn").removeEventListener(MouseEvent.CLICK,
);
.getChildByName("continueBtn").removeEventListener(MouseEvent.CLICK, );
SoundMixer.stopAll();
_local1 = new Array();
_local1.push();
while (_local1.length > 0) {
_local2 = _local1.pop();
if ((_local2 is DisplayObjectContainer)){
_local4 = 0;
for (;_local4 < _local2.numChildren;_local4++) {
_local3 = _local2.getChildAt(_local4);
if (((!(app.usingKongregateAPI)) || (!((_local3 is KongregateAPI))))){
_local1.push(_local3);
_local2.removeChildAt(_local4);
continue;
};
};
};
_local2 = null;
};
_local4 = 0;
while (_local4 < bulletArray.length) {
delete bulletArray[_local4];
bulletArray[_local4] = null;
_local4++;
};
_local4 = 0;
while (_local4 <
.length) {
delete
[_local4];
[_local4] = null;
_local4++;
};
_local4 = 0;
while (_local4 < .length) {
delete [_local4];
[_local4] = null;
_local4++;
};
_local4 = 0;
while (_local4 < .length) {
delete [_local4];
[_local4] = null;
_local4++;
};
_local4 = 0;
while (_local4 < .length) {
delete [_local4];
[_local4] = null;
_local4++;
};
_local4 = 0;
while (_local4 < isoObjectActiveArray.length) {
delete isoObjectActiveArray[_local4];
isoObjectActiveArray[_local4] = null;
_local4++;
};
_local4 = 0;
while (_local4 < enemyActiveArray.length) {
delete enemyActiveArray[_local4];
enemyActiveArray[_local4] = null;
_local4++;
};
_local4 = 0;
while (_local4 < solidActiveArray.length) {
delete solidActiveArray[_local4];
solidActiveArray[_local4] = null;
_local4++;
};
bulletArray = null;
solidActiveArray = null;
= null;
= null;
isoObjectActiveArray = null;
enemyActiveArray = null;
solidActiveArray = null;
pfGrid = null;
busyGrid = null;
.Stop();
.stage.quality = StageQuality.HIGH;
}
private function
(){
var _local1:DisplayObject;
var _local2:int;
= new Array();
_local2 = 0;
while (_local2 < worldObject.numChildren) {
_local1 = worldObject.getChildAt(_local2);
if ((_local1 is Png)){
worldObject.removeChild(_local1);
.push(_local1);
.push(_local1);
_local2--;
};
_local1 = null;
_local2++;
};
.sortOn("y", (Array.NUMERIC | Array.DESCENDING));
enemyActiveArray = new Array();
= new Array();
}
private function (){
var _local1:DisplayObject;
var _local2:int;
_local2 = 0;
while (_local2 < worldObject.numChildren) {
_local1 = worldObject.getChildAt(_local2);
if ((_local1 is Trigger)){
triggerManager.AddTrigger(Trigger(_local1));
worldObject.removeChild(_local1);
_local2--;
};
_local1 = null;
_local2++;
};
}
function PlayRaffica(_arg1:MouseEvent):void{
PlaySound( );
}
public function
(_arg1:Event):void{
app.ChangeState(new State_MainMenu(app, ));
}
private function
(){
var _local1:DisplayObject;
var _local2:int;
= new Array();
bulletArray = new Array();
_local2 = 0;
while (_local2 < worldObject.numChildren) {
_local1 = worldObject.getChildAt(_local2);
if ((((_local1 is Medipack)) || ((_local1 is AmmoCrate)))){
.push(_local1);
bulletArray.push(_local1);
worldObject.removeChild(_local1);
_local2--;
} else {
if ((_local1 is Barrel)){
.push(_local1);
.push(_local1);
worldObject.removeChild(_local1);
_local2--;
};
};
_local2++;
};
bulletArray.sortOn("y", (Array.NUMERIC | Array.DESCENDING));
.sortOn("y", (Array.NUMERIC | Array.DESCENDING));
}
private function
(){
var _local1:int;
_local1 = 0;
while (_local1 < isoObjectActiveArray.length) {
if (isoObjectActiveArray[_local1].y > (.y + ((3 * screenHeight) / 2))){
if ((isoObjectActiveArray[_local1] is Png)){
isoObjectActiveArray[_local1].toDispose = true;
};
delete isoObjectActiveArray[_local1];
isoObjectActiveArray[_local1] = null;
isoObjectActiveArray.splice(_local1, 1);
} else {
if ((((isoObjectActiveArray[_local1] is Bullet)) && (isoObjectActiveArray[_local1].toDispose))){
delete isoObjectActiveArray[_local1];
isoObjectActiveArray[_local1] = null;
isoObjectActiveArray.splice(_local1, 1);
};
};
_local1++;
};
_local1 = 0;
while (_local1 < .length) {
if (([_local1].y + (screenHeight * 1.3)) > .y){
isoObjectActiveArray.push([_local1]);
.splice(_local1, 1);
} else {
break;
};
_local1++;
};
_local1 = 0;
while (_local1 < .length) {
if (([_local1].y + (screenHeight * 1.3)) > .y){
enemyActiveArray.push([_local1]);
.splice(_local1, 1);
} else {
break;
};
_local1++;
};
_local1 = 0;
while (_local1 < .length) {
if (([_local1].y + (screenHeight * 1.3)) > .y){
solidActiveArray.push([_local1]);
.splice(_local1, 1);
} else {
break;
};
_local1++;
};
_local1 = 0;
while (_local1 < solidActiveArray.length) {
if (solidActiveArray[_local1].y > (.y + ((3 * screenHeight) / 2))){
delete solidActiveArray[_local1];
solidActiveArray[_local1] = null;
solidActiveArray.splice(_local1, 1);
};
_local1++;
};
while (
.numChildren > 0) {
.removeChildAt(0);
};
isoObjectActiveArray.sortOn("y", Array.NUMERIC);
_local1 = 0;
while (_local1 < isoObjectActiveArray.length) {
.addChild(isoObjectActiveArray[_local1]);
_local1++;
};
}
public function Init():void{
var _local1:int;
= false;
.stage.quality = StageQuality.LOW;
.addChild(worldObject);
if (app.inputMode == 0){
.addEventListener(MouseEvent.MOUSE_DOWN, );
.addEventListener(MouseEvent.MOUSE_UP,
);
.addEventListener(MouseEvent.MOUSE_MOVE, );
.stage.addEventListener(Event.MOUSE_LEAVE,
);
.addEventListener(MouseEvent.MOUSE_WHEEL,
);
= false;
Mouse.hide();
= new Mirino();
.addChild( );
};
= new MovieClip();
= new MovieClip();
= new Point(0, 0);
= new FrameRateCounter();
= new TextField();
.width = 300;
player = Player(worldObject.getChildByName("mcPlayer"));
= new Point(player.x, player.y);
= new Rectangle(0, 0, 700, worldObject.height);
camera = new Camera2d_FollowTargetInBounds(worldObject, , screenWidth, screenHeight, );
= new _gui();
= MovieClip(
.getChildByName("gino"));
= MovieClip(
.getChildByName("pino"));
= TextField(
.getChildByName("ammoCounter"));
= TextField(
.getChildByName("ammoCounter2"));
gui_score = TextField(
.getChildByName("scoreTxt"));
= MovieClip(MovieClip(
.getChildByName("healthBar")).getChildByName("maskLife"));
gui_weaponPopup = MovieClip(
.getChildByName("mcPopup_weapons"));
worldObject.addChild();
worldObject.addChild(
);
.addChild(
);
this.worldObject.stage.frameRate = 120;
this.worldObject.stage.stageFocusRect = false;
Key.ClearKeys();
Key.initialize(worldObject.stage);
= getTimer();
= 15;
= 0;
= 0;
= 30;
= new CollisionConvexPolyCircle();
= new CollisionCircleCircle();
bulletArray = new Array();
= new Array();
= new Array();
triggerManager = new TriggerManager();
();
();
();
();
.sortOn("y", (Array.NUMERIC | Array.DESCENDING));
();
busyGrid = new Array((pfGrid.xCellCount * pfGrid.yCellCount));
_local1 = 0;
while (_local1 < (pfGrid.xCellCount * pfGrid.yCellCount)) {
busyGrid[_local1] = -1;
_local1++;
};
= false;
= new AbortGameWnd();
= MovieClip(
.getChildByName("audioBtn"));
.addEventListener(MouseEvent.CLICK,
);
.getChildByName("abortBtn").addEventListener(MouseEvent.CLICK,
);
.getChildByName("continueBtn").addEventListener(MouseEvent.CLICK, );
if (app.sound){
.gotoAndStop(2);
.getChildByName("abortBtn").addEventListener(MouseEvent.MOUSE_OVER, PlayRaffica);
.getChildByName("continueBtn").addEventListener(MouseEvent.MOUSE_OVER, PlayRaffica);
} else {
.gotoAndStop(1);
};
.Play();
= 0;
player.SelectWeapon(1);
player.SelectWeapon(6);
.gotoAndStop(1);
.gotoAndStop(6);
= 0;
= PlayLoop();
app.statistics.ResetStats();
app.statistics.SetStatistics(FithStats.MAX_HEALTH, player.maxEnergy);
}
function
(_arg1:MouseEvent):void{
var _local2:uint;
var _local3:int;
_local2 = player.selectedWeapon;
if ((((_arg1.delta < 0)) && ((_local2 > 0)))){
_local3 = player.SelectPreviousPrimaryWeapon();
if (_local3 >= 0){
PlaySound( );
.gotoAndStop(_local3);
};
} else {
if ((((_arg1.delta > 0)) && ((_local2 < 5)))){
_local3 = player.SelectNextPrimaryWeapon();
if (_local3 >= 0){
PlaySound( );
.gotoAndStop(_local3);
};
};
};
}
public function ():void{
if ((_time - ) > 4000){
= false;
};
if (((( == true)) && ((gui_weaponPopup.y > 350)))){
gui_weaponPopup.y = (gui_weaponPopup.y - FoofaGeomUtils.Trim(((gui_weaponPopup.y - 350) / 10), 2, 30));
if (gui_weaponPopup.y < 351){
gui_weaponPopup.y = 350;
};
} else {
if (((( == false)) && ((gui_weaponPopup.y < 455)))){
gui_weaponPopup.y = (gui_weaponPopup.y + FoofaGeomUtils.Trim(((455 - gui_weaponPopup.y) / 10), 3, 30));
};
};
}
public function GetEnemyByIstanceName(_arg1:String):Png{
var _local2:*;
_local2 = 0;
while (_local2 < enemyActiveArray.length) {
if (enemyActiveArray[_local2].name == _arg1){
return (enemyActiveArray[_local2]);
};
_local2++;
};
_local2 = 0;
while (_local2 < .length) {
if ([_local2].name == _arg1){
return ([_local2]);
};
_local2++;
};
return (null);
}
public function Step():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:Circle;
var _local5:Point;
var _local6:Circle;
var _local7:Point;
var _local8:Number;
var _local9:Number;
var _local10:Vector2;
.OnFrameStep();
.stage.focus = ;
_time = getTimer();
_time = (_time - );
= (_time -
);
camera.Update();
if ((camera.centerPosition.y + (screenHeight * 1.2)) < camera.bottomBound){
camera.bottomBound = (camera.centerPosition.y + (screenHeight * 1.2));
};
if ((((player.dieMode == true)) && (((_time - player.dieTime) > 3000)))){
app.ChangeState(new State_GameOverMenu(app, ));
};
= ( + ( / ));
= Math.floor();
= ( - );
= ( + ( / ));
= Math.floor();
= ( - );
if (bulletArray == null){
return;
};
if ((() && (!()))){
Mouse.show();
= true;
};
if ( == false){
_local1 = 0;
while (_local1 < ) {
UpdateInput();
_local1++;
};
_local1 = 0;
while (_local1 < ) {
camera.Update();
player.Step(this);
_local2 = 0;
while (_local2 < bulletArray.length) {
if (bulletArray[_local2].toDispose == true){
_local3 = isoObjectActiveArray.indexOf(bulletArray[_local2]);
if (_local3 >= 0){
isoObjectActiveArray.splice(_local3, 1);
};
delete bulletArray[_local2];
bulletArray[_local2] = null;
bulletArray.splice(_local2, 1);
_local2--;
} else {
bulletArray[_local2].Step(this);
};
_local2++;
};
_local2 = 0;
while (_local2 <
.length) {
if (
[_local2].toDispose == true){
_local3 = isoObjectActiveArray.indexOf(
[_local2]);
if (_local3 >= 0){
isoObjectActiveArray.splice(_local3, 1);
};
delete
[_local2];
[_local2] = null;
.splice(_local2, 1);
_local2--;
} else {
[_local2].Step(this);
};
_local2++;
};
_local4 = new Circle(player.collisionCircle.x, player.collisionCircle.y, player.collisionCircle.radius);
_local5 = new Point(.x, .y);
_local6 = new Circle(player.collisionCircle.x, player.collisionCircle.y, player.collisionCircle.radius);
_local7 = new Point(.x, .y);
_local8 = 0;
_local9 = 0;
_local10 = new Vector2();
_local2 = 0;
while (_local2 < solidActiveArray.length) {
if ((solidActiveArray[_local2] is CollisionCircle)){
if (
.test(solidActiveArray[_local2].collisionCircle, _local6, _local7) == true){
_local10 =
.getBack();
_local8 = (_local8 + (player.x - _local10.x));
_local9 = (_local9 + (player.y - _local10.y));
};
} else {
if ((solidActiveArray[_local1] is CollisionObject)){
if ( .test(solidActiveArray[_local2].collisionPoly, _local6, _local7) == true){
_local10 = .getBack();
_local8 = (_local8 + (player.x - _local10.x));
_local9 = (_local9 + (player.y - _local10.y));
};
};
};
_local2++;
};
player.x = (player.x - _local8);
player.y = (player.y - _local9);
_local2 = 0;
while (_local2 < enemyActiveArray.length) {
if (enemyActiveArray[_local2].dieMode != true){
busyGrid[pfGrid.FromPixelPosToGridIndex(new Point(enemyActiveArray[_local2].x, enemyActiveArray[_local2].y))] = enemyActiveArray[_local2].id;
} else {
busyGrid[pfGrid.FromPixelPosToGridIndex(new Point(enemyActiveArray[_local2].x, enemyActiveArray[_local2].y))] = -1;
};
_local2++;
};
_local2 = 0;
while (_local2 < enemyActiveArray.length) {
enemyActiveArray[_local2].Step(this, _local2);
_local2++;
};
if (player.y > camera.bottomBound){
player.y = camera.bottomBound;
};
if (player.y < (camera.topBound + 50)){
player.y = (camera.topBound + 50);
};
if (player.x < camera.leftBound){
player.x = camera.leftBound;
};
if (player.x > camera.rightBound){
player.x = camera.rightBound;
};
_local1++;
};
();
();
.text = "";
if (player.GetAmmoForSelectedPrimaryWeapon() != 999){
.text = ("" + player.GetAmmoForSelectedPrimaryWeapon());
};
.text = ("" + player.GetAmmoForSelectedSecondaryWeapon());
.scaleY = (player.energy / player.maxEnergy);
gui_score.text = ("" + MemoryCrypto.getValue(app.sounds));
.x = player.x;
.y = player.y;
triggerManager.Update(this);
};
= _time;
}
function (_arg1:MouseEvent):void{
= true;
}
function (_arg1:MouseEvent):void{
.x = _arg1.stageX;
.y = (_arg1.stageY - 15);
player.LookTowards((_arg1.stageX - camera.ScrollX), (_arg1.stageY - camera.ScrollY));
}
private function ():void{
var _local1:CollisionClip;
var _local2:Object;
var _local3:Object;
var _local4:int;
var _local5:int;
_local2 = {walkable:true, cost:1, busy:-1};
_local3 = {walkable:false, cost:1, busy:-1};
_local4 = 25;
pfGrid = new PathFindingGrid(_local4, _local4, Math.floor((worldObject.width / _local4)), Math.floor((worldObject.height / _local4)), new Array());
pfGrid.Init(_local2);
_local5 = 0;
while (_local5 < .length) {
if (([_local5] is CollisionCircle)){
pfGrid.DrawCircle([_local5].collisionCircle, _local3);
} else {
if (([_local5] is CollisionObject)){
pfGrid.DrawRectangle([_local5].collisionPoly.GetPointArray(), _local3);
};
};
_local5++;
};
= -1;
}
private function (){
var _local1:DisplayObject;
var _local2:int;
= new Array();
solidActiveArray = new Array();
_local2 = 0;
while (_local2 < worldObject.numChildren) {
_local1 = worldObject.getChildAt(_local2);
if ((_local1 is CollisionObject)){
.push(_local1);
worldObject.removeChild(_local1);
_local2--;
if ((_local1 is Collider_basso)){
Collider_basso(_local1).h = 15;
};
};
_local1 = null;
_local2++;
};
.sortOn("y", (Array.NUMERIC | Array.DESCENDING));
}
public function (_arg1:Event):void{
if (app.inputMode == 0){
= false;
Mouse.hide();
};
= ( + (_time - ));
= false;
.removeChild(
);
.stage.quality = StageQuality.LOW;
Key.ClearKeys();
}
public function StopLoop(_arg1:SoundChannel){
if (app.sound){
if (_arg1){
_arg1.stop();
};
};
}
private function (){
var _local1:DisplayObject;
var _local2:int;
= worldObject.numChildren;
_local2 = 0;
while (_local2 < worldObject.numChildren) {
_local1 = worldObject.getChildAt(_local2);
if (((!((_local1 is Png))) && ((_local1 is IsoObject)))){
if ((((_local1 is Medipack)) || ((_local1 is AmmoCrate)))){
.push(_local1);
bulletArray.push(_local1);
worldObject.removeChild(_local1);
_local2--;
} else {
if ((_local1 is Barrel)){
.push(_local1);
.push(_local1);
worldObject.removeChild(_local1);
_local2--;
} else {
.push(_local1);
worldObject.removeChildAt(_local2);
_local2--;
};
};
};
_local2++;
};
isoObjectActiveArray = new Array();
isoObjectActiveArray.push(player);
}
public function CompleteMission():void{
var _local1:Number;
_local1 = Number(app.statistics.GetStatistics(FithStats.ACCURACY));
if (app.thisLevel < app.maxLevel){
app.ChangeState(new State_MissionComplete(app, ));
} else {
if (app.usingKongregateAPI){
app.kongregate.stats.submit("GameComplete", 1);
if (app.gameMode == 0){
app.kongregate.stats.submit("GameComplete_NewNoContinueNoTryAgain", 1);
};
};
app.ChangeState(new State_WinGameOverMenu(app, ));
};
}
function
(_arg1:Event):void{
= _time;
= true;
.stage.quality = StageQuality.HIGH;
.addChild(
);
}
public function
(_arg1:Event):void{
app.sound = !(app.sound);
if (app.sound){
.getChildByName("backBtn").addEventListener(MouseEvent.MOUSE_OVER, PlayRaffica);
.getChildByName("resumeBtn").addEventListener(MouseEvent.MOUSE_OVER, PlayRaffica);
.gotoAndStop(2);
= PlayLoop();
} else {
.getChildByName("backBtn").removeEventListener(MouseEvent.MOUSE_OVER, PlayRaffica);
.getChildByName("resumeBtn").removeEventListener(MouseEvent.MOUSE_OVER, PlayRaffica);
SoundMixer.stopAll();
.gotoAndStop(1);
};
}
}
}//package ThisGame
Section 140
//State_MainMenu (ThisGame.State_MainMenu)
package ThisGame {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import FoofaCore.*;
import flash.media.*;
import CMG_AS3.*;
import FoofaCrypto.*;
import flash.net.*;
public class State_MainMenu implements FSM_State {
private var ;
private var
:DisplayObject;
private var
:DisplayObjectContainer;
private var
:DisplayObject;
private var app:Main_Application;
private var
:TextField;
private var :DisplayObjectContainer;
private var
:DisplayObject;
public function State_MainMenu(_arg1:Main_Application, _arg2:DisplayObjectContainer):void{
app = _arg1;
= _arg2;
= new MainMenu();
}
function PlayRaffica(_arg1:MouseEvent):void{
if (app.sound){
.play(0, 0, new SoundTransform(1, 0));
};
}
public function End():void{
.getChildByName("mcBtn_foofa").removeEventListener(MouseEvent.MOUSE_UP,
);
.getChildByName("mcBtn_CMG").removeEventListener(MouseEvent.MOUSE_UP,
);
.getChildByName("playBtn").removeEventListener(MouseEvent.MOUSE_UP,
);
.getChildByName("moreBtn").removeEventListener(MouseEvent.MOUSE_UP,
);
.getChildByName("hallBtn").removeEventListener(MouseEvent.MOUSE_UP, hallPressed);
if (app.sound){
.getChildByName("playBtn").removeEventListener(MouseEvent.MOUSE_OVER, PlayRaffica);
.getChildByName("continueBtn").removeEventListener(MouseEvent.MOUSE_OVER, PlayRaffica);
.getChildByName("hallBtn").removeEventListener(MouseEvent.MOUSE_OVER, PlayRaffica);
.getChildByName("moreBtn").removeEventListener(MouseEvent.MOUSE_OVER, PlayRaffica);
};
.removeChild(
);
}
function
(_arg1:MouseEvent):void{
app.goToUrl("http://www.crazymonkeygames.com/");
}
function
(_arg1:MouseEvent):void{
app.goToUrl("http://www.foofa.net/");
}
function
(_arg1:MouseEvent){
app.gameMode = 0;
app.thisLevel = 1;
if (app.thisLevel == 1){
app.ChangeState(new State_Info(app, ));
} else {
app.ChangeState(new State_Briefing(app, ));
};
}
function
(_arg1:MouseEvent){
app.gameMode = 1;
app.ChangeState(new State_Briefing(app, ));
}
function hallPressed(_arg1:MouseEvent):void{
ScoreSubmitter.loadHighScorePage();
}
public function Init():void{
= new raffica();
.getChildByName("mcBtn_foofa").addEventListener(MouseEvent.MOUSE_UP,
);
.getChildByName("mcBtn_CMG").addEventListener(MouseEvent.MOUSE_UP,
);
.getChildByName("playBtn").addEventListener(MouseEvent.MOUSE_UP,
);
.getChildByName("moreBtn").addEventListener(MouseEvent.MOUSE_UP,
);
.getChildByName("hallBtn").addEventListener(MouseEvent.MOUSE_UP, hallPressed);
TextField(
.getChildByName("version")).text = Main_Application.gameVersion;
=
.getChildByName("continueBtn");
app.Load();
if (app.thisLevel > 1){
.alpha = 1;
.addEventListener(MouseEvent.MOUSE_UP,
);
} else {
.alpha = 0.4;
.removeEventListener(MouseEvent.MOUSE_UP,
);
};
MemoryCrypto.setValue(app.sounds, 0);
if (app.sound){
.getChildByName("playBtn").addEventListener(MouseEvent.MOUSE_OVER, PlayRaffica);
.getChildByName("continueBtn").addEventListener(MouseEvent.MOUSE_OVER, PlayRaffica);
.getChildByName("hallBtn").addEventListener(MouseEvent.MOUSE_OVER, PlayRaffica);
.getChildByName("moreBtn").addEventListener(MouseEvent.MOUSE_OVER, PlayRaffica);
};
}
public function Step():void{
.addChild(
);
}
}
}//package ThisGame
Section 141
//State_MissionComplete (ThisGame.State_MissionComplete)
package ThisGame {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import FoofaCore.*;
import FoofaCrypto.*;
public class State_MissionComplete implements FSM_State {
public var gui_health:TextField;
private var app:Main_Application;
public var gui_combo:TextField;
private var :DisplayObjectContainer;
public var gui_score:TextField;
private var
:LevelCompleteMenu;
public var gui_accuracy:TextField;
public function State_MissionComplete(_arg1:Main_Application, _arg2:DisplayObjectContainer):void{
app = _arg1;
= _arg2;
}
public function Init():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:uint;
= new LevelCompleteMenu();
.addChild(
);
.getChildByName("nextBtn").addEventListener(MouseEvent.MOUSE_UP, nextButtonPressed);
_local1 = Number(app.statistics.GetStatistics(FithStats.MAX_COMBO));
_local2 = Number(app.statistics.GetStatistics(FithStats.HEALTH));
_local3 = Number(app.statistics.GetStatistics(FithStats.ACCURACY));
gui_accuracy = TextField(
.getChildByName("accuracyTxt"));
gui_accuracy.text = ("" + _local3);
gui_combo = TextField(
.getChildByName("maxcomboTxt"));
gui_combo.text = ("" + _local1);
gui_health = TextField(
.getChildByName("healthTxt"));
gui_health.text = ("" + _local2);
.getChildByName("medHealth1").visible = false;
.getChildByName("medHealth2").visible = false;
.getChildByName("medHealth3").visible = false;
.getChildByName("medAccuracy1").visible = false;
.getChildByName("medAccuracy2").visible = false;
.getChildByName("medAccuracy3").visible = false;
.getChildByName("medCombo1").visible = false;
.getChildByName("medCombo2").visible = false;
.getChildByName("medCombo3").visible = false;
_local4 = 0;
_local4 = (_local4 + (_local2 * 10));
_local4 = (_local4 + (_local3 * 10));
_local4 = (_local4 + (_local1 * 10));
if (_local2 > 0){
.getChildByName("medHealth1").visible = true;
_local4 = (_local4 + 50);
if (_local2 >= 50){
.getChildByName("medHealth2").visible = true;
_local4 = (_local4 + 100);
};
if (_local2 >= 100){
.getChildByName("medHealth3").visible = true;
_local4 = (_local4 + 500);
};
};
if (_local3 > 50){
.getChildByName("medAccuracy1").visible = true;
_local4 = (_local4 + 50);
if (_local3 >= 70){
.getChildByName("medAccuracy2").visible = true;
_local4 = (_local4 + 100);
};
if (_local3 >= 90){
.getChildByName("medAccuracy3").visible = true;
_local4 = (_local4 + 500);
};
};
if (_local1 >= 3){
.getChildByName("medCombo1").visible = true;
_local4 = (_local4 + 100);
if (_local1 >= 6){
.getChildByName("medCombo2").visible = true;
_local4 = (_local4 + 500);
};
if (_local1 >= 10){
.getChildByName("medCombo3").visible = true;
_local4 = (_local4 + 1000);
};
};
MemoryCrypto.incrementValue(app.sounds, _local4);
gui_score = TextField(
.getChildByName("scoreTxt"));
gui_score.text = ("" + MemoryCrypto.getValue(app.sounds));
}
function nextButtonPressed(_arg1:MouseEvent){
app.ChangeState(new State_Briefing(app, ));
}
public function Step():void{
}
public function End():void{
.removeChild(
);
if (app.thisLevel < app.maxLevel){
app.thisLevel++;
};
app.Save();
}
}
}//package ThisGame
Section 142
//State_WinGameOverMenu (ThisGame.State_WinGameOverMenu)
package ThisGame {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import FoofaCore.*;
import CMG_AS3.*;
import FoofaCrypto.*;
public class State_WinGameOverMenu implements FSM_State {
private var :Boolean;
private var
:WinGameOverMenu;
public var gui_combo:TextField;
private var :TextField;
private var :TextField;
public var gui_health:TextField;
private var app:Main_Application;
private var :TextField;
private var :SimpleButton;
private var :DisplayObjectContainer;
private var
:String;
public var gui_accuracy:TextField;
public function State_WinGameOverMenu(_arg1:Main_Application, _arg2:DisplayObjectContainer):void{
app = _arg1;
= _arg2;
= new String("insert name");
}
function hallPressed(_arg1:MouseEvent):void{
ScoreSubmitter.loadHighScorePage();
}
public function End():void{
.removeChild(
);
}
function onScoreResponse(_arg1:ServerResponseEvent):void{
switch (_arg1.returnCode){
case ScoreSubmitter.RETURNCODE_WORKING:
.text = "Submitting...";
break;
case ScoreSubmitter.RETURNCODE_SUCCESS:
.text = "Your score has been submitted";
ScoreSubmitter.loadHighScorePage();
break;
case ScoreSubmitter.RETURNCODE_REJECTED:
.text = "The server rejected your score";
break;
case ScoreSubmitter.RETURNCODE_WRONGVERSION:
.text = "Wrong game version visit CrazyMonkeyGames.com";
ScoreSubmitter.loadUpdatePage();
break;
case ScoreSubmitter.RETURNCODE_NETWORKERROR:
.text = "Could not reach the server";
break;
default:
.text = ("Unknown error " + _arg1.returnCode);
break;
};
}
function submitButtonPressed(_arg1:MouseEvent){
var _local2:ScoreSubmitter;
if (MemoryCrypto.getValue(app.sounds) != 0){
if ((() && (!((.text ==
))))){
.type = TextFieldType.DYNAMIC;
.removeChild();
_local2 = new ScoreSubmitter();
_local2.addEventListener(ScoreSubmitter.SCORE_RESPONSE, onScoreResponse);
_local2.submitScore(.text, MemoryCrypto.getValue(app.sounds));
} else {
.text =
;
};
} else {
.text = "No score to submit";
};
}
function backButtonPressed(_arg1:MouseEvent){
app.ChangeState(new State_MainMenu(app, ));
}
public function Init():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:uint;
= new WinGameOverMenu();
.addChild(
);
= SimpleButton(
.getChildByName("submitBtn"));
.addEventListener(MouseEvent.MOUSE_UP, submitButtonPressed);
.getChildByName("backBtn").addEventListener(MouseEvent.MOUSE_UP, backButtonPressed);
.getChildByName("hallBtn").addEventListener(MouseEvent.MOUSE_UP, hallPressed);
= TextField(
.getChildByName("nameText"));
.text =
;
.addEventListener(MouseEvent.MOUSE_UP, clickedOnNameField);
= TextField(
.getChildByName("submitMessageText"));
= false;
_local1 = Number(app.statistics.GetStatistics(FithStats.MAX_COMBO));
_local2 = Number(app.statistics.GetStatistics(FithStats.HEALTH));
_local3 = Number(app.statistics.GetStatistics(FithStats.ACCURACY));
gui_accuracy = TextField(
.getChildByName("accuracyTxt"));
gui_accuracy.text = ("" + _local3);
gui_combo = TextField(
.getChildByName("maxcomboTxt"));
gui_combo.text = ("" + _local1);
gui_health = TextField(
.getChildByName("healthTxt"));
gui_health.text = ("" + _local2);
.getChildByName("medHealth1").visible = false;
.getChildByName("medHealth2").visible = false;
.getChildByName("medHealth3").visible = false;
.getChildByName("medAccuracy1").visible = false;
.getChildByName("medAccuracy2").visible = false;
.getChildByName("medAccuracy3").visible = false;
.getChildByName("medCombo1").visible = false;
.getChildByName("medCombo2").visible = false;
.getChildByName("medCombo3").visible = false;
_local4 = 0;
_local4 = (_local4 + (_local2 * 10));
_local4 = (_local4 + (_local3 * 10));
_local4 = (_local4 + (_local1 * 10));
if (_local2 > 0){
.getChildByName("medHealth1").visible = true;
_local4 = (_local4 + 50);
if (_local2 >= 50){
.getChildByName("medHealth2").visible = true;
_local4 = (_local4 + 100);
};
if (_local2 >= 100){
.getChildByName("medHealth3").visible = true;
_local4 = (_local4 + 500);
};
};
if (_local3 > 50){
.getChildByName("medAccuracy1").visible = true;
_local4 = (_local4 + 50);
if (_local3 >= 70){
.getChildByName("medAccuracy2").visible = true;
_local4 = (_local4 + 100);
};
if (_local3 >= 90){
.getChildByName("medAccuracy3").visible = true;
_local4 = (_local4 + 500);
};
};
if (_local1 >= 3){
.getChildByName("medCombo1").visible = true;
_local4 = (_local4 + 100);
if (_local1 >= 6){
.getChildByName("medCombo2").visible = true;
_local4 = (_local4 + 500);
};
if (_local1 >= 10){
.getChildByName("medCombo3").visible = true;
_local4 = (_local4 + 1000);
};
};
MemoryCrypto.incrementValue(app.sounds, _local4);
= TextField(
.getChildByName("scoreText"));
.text = ("" + MemoryCrypto.getValue(app.sounds));
}
function clickedOnNameField(_arg1:MouseEvent){
= true;
}
public function Step():void{
}
}
}//package ThisGame
Section 143
//SupremeCannon (ThisGame.SupremeCannon)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class SupremeCannon extends Png {
const fire1Rate:Number = 800;
const movementRate:Number = 400;
const frame_walk_length:int = 42;
const frame_morte:int = 43;
const fastMovementRate:Number = 100;
const frame_morte_length:int = 29;
const maxPause:uint = 2;
const frame_morte_cannone:uint = 22;
const frame_walk:int = 1;
const maxShots:uint = 5;
const fire2Rate:Number = 4500;
var angleGunFrame:Number;
var refVec:Vector2;
var startTimer:Number;
var normalDir:Vector2;
var startY:Number;
var startX:Number;
var angleFrame:Number;
var frameToSkip:int;
var deadlyWeapon:int;
var angleRad:Number;
private var :Vector2;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
private var :uint;
private var :Boolean;
public var cannon:MovieClip;
var hitTime:Number;
var iaStatus:int;
private var :uint;
private var :Boolean;
var movingDir:Vector2;
var fire1Timer:Number;
private var
:Boolean;
var angleGrad:Number;
var frameToGo:int;
var
:Number;
var fire2Timer:Number;
public function SupremeCannon(){
= new Vector2(0, 0);
= false;
= 1;
fire1Timer = 0;
= 0;
angleRad = 0;
angleGrad = 0;
energy = 150;
dieMode = false;
movingDir = new Vector2(0, -1);
lookingDir = new Vector2(-1, 0);
normalDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("cannon"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 50);
iaStatus = 0;
startX = 0;
startY = 0;
fire2Timer = 0;
= 0;
= true;
= 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
if (toDispose == true){
_arg1.enemyActiveArray.splice(_arg2, 1);
return;
};
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
if (dieMode == false){
switch (iaStatus){
case 0:
startTimer = _arg1._time;
iaStatus = 1;
movingDir.x = -1;
movingDir.y = 0;
collisionCircle.x = x;
collisionCircle.y = y;
startX = x;
startY = y;
= false;
break;
case 1:
x = (x + movingDir.x);
y = (y + movingDir.y);
collisionCircle.x = x;
collisionCircle.y = y;
if (x > 600){
movingDir.x = -(movingDir.x);
} else {
if (x < 100){
movingDir.x = -(movingDir.x);
};
};
if (!){
if (((!( )) && (((_arg1._time -
) > movementRate)))){
if (((
) && (( < maxShots)))){
(_arg1);
++;
} else {
if (
){
= false;
= 0;
} else {
if ( < maxPause){
++;
} else {
= true;
= 0;
};
};
};
(_arg1);
} else {
if ((( ) && (((_arg1._time -
) > fastMovementRate)))){
(_arg1);
(_arg1);
} else {
if (((!( )) && (((_arg1._time - fire2Timer) > fire2Rate)))){
fire2Timer = _arg1._time;
.x = _arg1.player.x;
.y = _arg1.player.y;
(_arg1, );
} else {
if ((( ) && (((_arg1._time - fire2Timer) > fire2Rate)))){
fire2Timer = _arg1._time;
= fire2Timer;
= true;
= 0;
= false;
};
};
};
};
} else {
if (((( < maxShots)) && (((_arg1._time -
) > movementRate)))){
++;
= _arg1._time;
.x = (_arg1.player.x + ((Math.random() * 400) - 200));
.y = (_arg1.player.y + ((Math.random() * 400) - 200));
(_arg1, );
};
if ( >= maxShots){
fire2Timer = _arg1._time;
= fire2Timer;
= false;
= true;
= 0;
};
};
break;
};
} else {
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
this.gotoAndPlay(frame_morte);
gunClip.gotoAndPlay(frame_morte_cannone);
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
MemoryCrypto.incrementValue(_arg1.app.sounds, 1000);
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
_arg1.app.statistics.BulletHit();
break;
case 2:
break;
case 3:
energy = (energy - 11);
break;
};
if (energy < 70){
= true;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
if (_arg2 != 2){
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
};
}
private function (_arg1:State_InGame, _arg2:Vector2):void{
var _local3:Vector2;
var _local4:SupremeMortar;
_arg1.PlaySound(_arg1.e_weapon_cannon2, 0.3);
gunClip.gotoAndPlay(2);
_local3 = new Vector2((_arg2.x - this.x), (_arg2.y - this.y));
_local3.normalize(1);
_local4 = new SupremeMortar();
_local4.senderIsPlayer = false;
_local4.x = x;
_local4.y = y;
_local4.Init(_arg1, _local3.x, _local3.y);
_arg1.bulletArray.push(_local4);
_arg1.isoObjectActiveArray.push(_local4);
}
private function (_arg1:State_InGame):void{
var _local2:Bullet_enemy;
var _local3:Number;
var _local4:uint;
_arg1.PlaySound(_arg1.e_weapon_cannon1, 0.3);
_local4 = 0;
while (_local4 < 8) {
_local3 = (angleGrad + (45 * _local4));
_local2 = new Bullet_enemy();
_local2.senderIsPlayer = false;
_local2.x = x;
_local2.y = (y - 20);
_local2.Init(_arg1, -(Math.sin(((-(_local3) * Math.PI) / 180))), Math.cos(((-(_local3) * Math.PI) / 180)));
_local2.lifeTime = 3000;
_arg1.bulletArray.push(_local2);
_arg1.isoObjectActiveArray.push(_local2);
_local4++;
};
}
private function (_arg1:State_InGame):void{
= _arg1._time;
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
this.gotoAndPlay((frame_walk + ( * 3)));
++;
angleGrad = (angleGrad + 12.8);
if (angleGrad >= 360){
angleGrad = (angleGrad - 360);
};
if ( == 14){
= 0;
};
}
}
}//package ThisGame
Section 144
//SupremeMortar (ThisGame.SupremeMortar)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
public class SupremeMortar extends MovieClip {
const lifeTime:int = 2000;
const squaredRadius:int = 8000;
const flyTime:int = 1100;
public var senderIsPlayer:Boolean;
private var :Boolean;
public var toDispose:Boolean;
public var flyG:DisplayObject;
public var flyGranade:MovieClip;
var speed:Number;
var dTime:int;
var vSpeed:Number;
var startTime:int;
var dir:Vector2;
var lastPos:Point;
public function SupremeMortar():void{
dir = new Vector2(0, 0);
toDispose = false;
senderIsPlayer = false;
= false;
}
public function Step(_arg1:State_InGame):void{
var _local2:BigExplosion;
var _local3:int;
var _local4:Point;
dTime = (_arg1._time - startTime);
if ( ){
_local2 = new BigExplosion();
_local2.x = x;
_local2.y = y;
_local2.Init(_arg1, 0, 0);
_arg1.bulletArray.push(_local2);
_arg1.isoObjectActiveArray.push(_local2);
_local3 = 0;
while (_local3 < _arg1.enemyActiveArray.length) {
_local4 = new Point(_arg1.enemyActiveArray[_local3].x, _arg1.enemyActiveArray[_local3].y);
if ((((_local4.x - x) * (_local4.x - x)) + ((_local4.y - y) * (_local4.y - y))) < squaredRadius){
_arg1.enemyActiveArray[_local3].OnHit(_arg1, 3);
};
_local3++;
};
if ((((_arg1.player.x - x) * (_arg1.player.x - x)) + ((_arg1.player.y - y) * (_arg1.player.y - y))) < squaredRadius){
_arg1.player.OnHit(_arg1, 3);
toDispose = true;
};
_arg1.PlaySound(_arg1.weapon6_boom);
_arg1.camera.ShakingEffect(10, 10, 1);
(_arg1);
toDispose = true;
return;
};
if (dTime <= lifeTime){
vSpeed = (vSpeed + 0.3);
flyG.y = (flyG.y + vSpeed);
if (flyG.y > 0){
flyG.y = 0;
vSpeed = 0;
speed = 1;
= true;
};
lastPos.x = x;
lastPos.y = y;
x = (x + (dir.x * speed));
y = (y + (dir.y * speed));
} else {
if (dTime > lifeTime){
= true;
};
};
}
private function
(_arg1:State_InGame):void{
var _local2:int;
if (senderIsPlayer){
_local2 = 0;
while (_local2 < _arg1.enemyActiveArray.length) {
if (_arg1.enemyActiveArray[_local2].collisionCircle.PointIsInside(x, y) == true){
toDispose = true;
};
_local2++;
};
} else {
if (_arg1.player.collisionCircle.PointIsInside(x, y) == true){
toDispose = true;
};
};
}
public function Init(_arg1:State_InGame, _arg2:Number, _arg3:Number):void{
dir.x = _arg2;
dir.y = _arg3;
startTime = _arg1._time;
flyG = this.getChildByName("flyGranade");
speed = 3.6;
vSpeed = -6;
flyG.y = -500;
lastPos = new Point();
}
private function (_arg1:ConvexPoly):Boolean{
return (FoofaGeomUtils.InPoly(_arg1.particles[0].toPoint(), _arg1.particles[1].toPoint(), _arg1.particles[2].toPoint(), _arg1.particles[3].toPoint(), new Point(x, y)));
}
}
}//package ThisGame
Section 145
//Trigger_goal_level2 (ThisGame.Trigger_goal_level2)
package ThisGame {
import FoofaCore.*;
public class Trigger_goal_level2 extends Trigger {
var i:int;
var :Array;
var :Boolean;
public function Trigger_goal_level2():void{
}
override public function Init(_arg1:State_InGame):void{
= new Array();
.push(_arg1.GetEnemyByIstanceName("goal_1"));
.push(_arg1.GetEnemyByIstanceName("goal_2"));
.push(_arg1.GetEnemyByIstanceName("goal_3"));
.push(_arg1.GetEnemyByIstanceName("goal_4"));
.push(_arg1.GetEnemyByIstanceName("goal_5"));
}
override public function Check(_arg1:State_InGame):Boolean{
return ((_arg1.player.y < (y + 750)));
}
override public function Step(_arg1:State_InGame):void{
= true;
i = 0;
while (i < .length) {
if ([i].dieMode == false){
= false;
break;
};
i++;
};
if ( == false){
if (_arg1.player.y < y){
_arg1.player.y = y;
};
} else {
_arg1.triggerManager.RemoveTrigger(this);
};
}
}
}//package ThisGame
Section 146
//Trigger_goal_level3 (ThisGame.Trigger_goal_level3)
package ThisGame {
import FoofaCore.*;
public class Trigger_goal_level3 extends Trigger {
var ;
public function Trigger_goal_level3():void{
}
override public function Init(_arg1:State_InGame):void{
= _arg1.GetEnemyByIstanceName("boss");
}
override public function Check(_arg1:State_InGame):Boolean{
return ((_arg1.player.y < (y + 750)));
}
override public function Step(_arg1:State_InGame):void{
if (.dieMode == true){
_arg1.triggerManager.RemoveTrigger(this);
} else {
if (_arg1.player.y < y){
_arg1.player.y = y;
};
};
}
}
}//package ThisGame
Section 147
//Trigger_test (ThisGame.Trigger_test)
package ThisGame {
import FoofaCore.*;
public class Trigger_test extends Trigger {
public function Trigger_test():void{
}
override public function Init(_arg1:State_InGame):void{
}
override public function Check(_arg1:State_InGame):Boolean{
return ((_arg1.player.y < y));
}
override public function Step(_arg1:State_InGame):void{
_arg1.triggerManager.RemoveTrigger(this);
_arg1.CompleteMission();
}
}
}//package ThisGame
Section 148
//Turret1 (ThisGame.Turret1)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Turret1 extends Png {
const reloadTime:Number = 2500;
const burstRate:Number = 12;
const fire1Rate:Number = 100;
const frame_morte:int = 2;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var iaStatus:int;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var burstCount:Number;
var hitTime:Number;
var frameToGo:int;
public function Turret1(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 5;
dieMode = false;
movingDir = new Vector2(1, 0);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
gotoAndStop(1);
burstCount = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:Bullet;
if (toDispose == true){
_arg1.enemyActiveArray.splice(_arg2, 1);
return;
};
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (lookingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_machinegun, 0.3);
fire1Timer = _arg1._time;
_local4 = new Bullet_enemy();
_local4.x = (x + (Math.cos((((45 * angleGunFrame) * Math.PI) / 180)) * 40));
_local4.y = (y + (Math.sin((((45 * angleGunFrame) * Math.PI) / 180)) * 40));
_local4.Init(_arg1, lookingDir.x, lookingDir.y);
_local4.flyHighBullet = true;
_arg1.bulletArray.push(_local4);
_arg1.isoObjectActiveArray.push(_local4);
burstCount++;
if (burstCount > burstRate){
iaStatus = 1;
};
};
break;
case 1:
if ((_arg1._time - fire1Timer) > reloadTime){
burstCount = 0;
iaStatus = 0;
};
break;
};
};
if (dieMode == true){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 400);
};
_arg1.lastDeathTime = _arg1._time;
MemoryCrypto.incrementValue(_arg1.app.sounds, 200);
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
break;
case 2:
energy = (energy - 2);
break;
case 3:
energy = (energy - 6);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 149
//Turret2 (ThisGame.Turret2)
package ThisGame {
import flash.display.*;
import FoofaGeom.*;
import flash.geom.*;
import FoofaCrypto.*;
public class Turret2 extends Png {
const fire1Rate:Number = 450;
const frame_morte:int = 2;
const frame_walk:int = 1;
const frame_morte_lenght:int = 29;
const frame_walk_lenght:int = 0;
var angleGunFrame:Number;
var refVec:Vector2;
var iaStatus:int;
var movingDir:Vector2;
var angleFrame:Number;
public var gun:MovieClip;
var fire1Timer:Number;
var angleRad:Number;
var deadlyWeapon:int;
var frameToSkip:int;
var energy:Number;
var gunClip:MovieClip;
var lookingDir:Vector2;
var angleGrad:Number;
var burstCount:Number;
var hitTime:Number;
var frameToGo:int;
public function Turret2(){
= 1;
fire1Timer = 0;
angleRad = 0;
angleGrad = 0;
energy = 5;
dieMode = false;
movingDir = new Vector2(1, 0);
lookingDir = new Vector2(0, 1);
refVec = new Vector2(0, 1);
gunClip = MovieClip(this.getChildByName("gun"));
iaStatus = 0;
collisionCircle = new Circle(x, y, 30);
gotoAndStop(1);
burstCount = 0;
}
public function Step(_arg1:State_InGame, _arg2):void{
var _local3:ColorTransform;
var _local4:_FlyingBullet;
if (toDispose == true){
_arg1.enemyActiveArray.splice(_arg2, 1);
return;
};
if ((_arg1._time - hitTime) > 100){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
};
angleFrame = (lookingDir);
if (dieMode == false){
switch (iaStatus){
case 0:
lookingDir.x = (_arg1.player.x - x);
lookingDir.y = (_arg1.player.y - y);
lookingDir.normalize(1);
angleGunFrame = (lookingDir);
gunClip.gotoAndStop((angleGunFrame + 1));
if ((_arg1._time - fire1Timer) > fire1Rate){
_arg1.PlaySound(_arg1.e_weapon_cannon2, 0.3);
fire1Timer = _arg1._time;
_local4 = new _FlyingBullet();
_local4.x = (x + (Math.cos((((45 * angleGunFrame) * Math.PI) / 180)) * 50));
_local4.y = (y + (Math.sin((((45 * angleGunFrame) * Math.PI) / 180)) * 50));
_local4.h = -50;
_local4.vSpeed = (-((3 * _local4.h)) / Math.sqrt((((_local4.x - _arg1.player.x) * (_local4.x - _arg1.player.x)) + ((_local4.y - _arg1.player.y) * (_local4.y - _arg1.player.y)))));
_local4.Init(_arg1, lookingDir.x, lookingDir.y);
_arg1.bulletArray.push(_local4);
_arg1.isoObjectActiveArray.push(_local4);
};
break;
case 1:
break;
};
};
if (dieMode == true){
_local3 = new ColorTransform();
this.transform.colorTransform = _local3;
frameToGo = frame_morte;
frameToSkip = frame_morte_lenght;
this.gotoAndPlay((frameToGo + (Math.floor(angleFrame) * (frameToSkip + 1))));
_arg1.camera.ShakingEffect(10, 10, 1);
_arg1.enemyActiveArray.splice(_arg2, 1);
if ((_arg1._time - _arg1.lastDeathTime) < 1000){
MemoryCrypto.incrementValue(_arg1.app.sounds, 400);
};
_arg1.lastDeathTime = _arg1._time;
MemoryCrypto.incrementValue(_arg1.app.sounds, 200);
};
}
public function OnHit(_arg1:State_InGame, _arg2:int):void{
var _local3:ColorTransform;
switch (_arg2){
case 1:
energy--;
break;
case 2:
return;
case 3:
energy = (energy - 6);
break;
};
if ((((dieMode == false)) && ((energy < 0)))){
dieMode = true;
} else {
hitTime = _arg1._time;
_local3 = new ColorTransform(5);
this.transform.colorTransform = _local3;
};
}
private function (_arg1:Vector2):int{
var _local2:Number;
var _local3:Number;
var _local4:int;
_local2 = (FoofaGeomUtils.AngleBetweenVectors2Rad(refVec, _arg1) + (Math.PI / 2));
while (_local2 < 0) {
_local2 = (_local2 + (2 * Math.PI));
};
while (_local2 > (2 * Math.PI)) {
_local2 = (_local2 - (2 * Math.PI));
};
_local3 = ((_local2 * 180) / Math.PI);
_local3 = (_local3 % 360);
while (_local3 < 0) {
_local3 = (_local3 + 360);
};
_local4 = Math.round((_local3 / 45));
_local4 = (_local4 % 8);
return (_local4);
}
}
}//package ThisGame
Section 150
//WeaponFactory (ThisGame.WeaponFactory)
package ThisGame {
class WeaponFactory {
public static function GetWeaponProperties(_arg1:int):GunProperties{
var _local2:GunProperties;
_local2 = new GunProperties();
switch (_arg1){
case 1:
_local2.rotSpeed = 5;
_local2.fireRate = 400;
_local2.firstReloadTime = 5;
break;
case 2:
_local2.rotSpeed = 5;
_local2.fireRate = 80;
_local2.firstReloadTime = 5;
break;
case 3:
_local2.rotSpeed = 5;
_local2.fireRate = 800;
_local2.firstReloadTime = 5;
break;
case 4:
_local2.rotSpeed = 3;
_local2.fireRate = 45;
_local2.firstReloadTime = 30;
break;
case 5:
_local2.rotSpeed = 3;
_local2.fireRate = 1500;
_local2.firstReloadTime = 30;
break;
case 6:
_local2.rotSpeed = 5;
_local2.fireRate = 400;
_local2.firstReloadTime = 5;
break;
case 7:
_local2.rotSpeed = 5;
_local2.fireRate = 400;
_local2.firstReloadTime = 5;
break;
case 8:
_local2.rotSpeed = 5;
_local2.fireRate = 400;
_local2.firstReloadTime = 5;
break;
case 9:
_local2.rotSpeed = 5;
_local2.fireRate = 8000;
_local2.firstReloadTime = 5;
break;
case 10:
_local2.rotSpeed = 5;
_local2.fireRate = 9000;
_local2.firstReloadTime = 5;
break;
};
return (_local2);
}
}
}//package ThisGame
Section 151
//_Barrel (_Barrel)
package {
import ThisGame.*;
public dynamic class _Barrel extends Barrel {
public function _Barrel(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
y = (y - 200);
stop();
}
}
}//package
Section 152
//_Bullet (_Bullet)
package {
import ThisGame.*;
public dynamic class _Bullet extends Bullet {
public function _Bullet(){
addFrameScript(0, frame1, 3, frame4);
}
function frame1(){
stop();
}
function frame4(){
stop();
}
}
}//package
Section 153
//_Bullet_smoke (_Bullet_smoke)
package {
import ThisGame.*;
public dynamic class _Bullet_smoke extends Bullet_smoke {
}
}//package
Section 154
//_BulletFire (_BulletFire)
package {
import ThisGame.*;
public dynamic class _BulletFire extends BulletFire {
}
}//package
Section 155
//_BulletRocket (_BulletRocket)
package {
import ThisGame.*;
public dynamic class _BulletRocket extends BulletRocket {
public function _BulletRocket(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8);
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame2(){
stop();
}
function frame8(){
stop();
}
}
}//package
Section 156
//_BulletSmartRocket (_BulletSmartRocket)
package {
import ThisGame.*;
public dynamic class _BulletSmartRocket extends BulletSmartRocket {
public function _BulletSmartRocket(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8);
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame2(){
stop();
}
function frame8(){
stop();
}
}
}//package
Section 157
//_FireGranade (_FireGranade)
package {
import ThisGame.*;
public dynamic class _FireGranade extends FireGranade {
}
}//package
Section 158
//_FlyingBullet (_FlyingBullet)
package {
import ThisGame.*;
public dynamic class _FlyingBullet extends FlyingBullet {
}
}//package
Section 159
//_GiantPanzer (_GiantPanzer)
package {
import ThisGame.*;
public dynamic class _GiantPanzer extends GiantPanzer {
public function _GiantPanzer(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98);
}
function frame3(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame2(){
stop();
}
function frame4(){
stop();
}
function frame8(){
stop();
}
function frame38(){
stop();
}
function frame68(){
stop();
}
function frame98(){
stop();
}
}
}//package
Section 160
//_gui (_gui)
package {
import flash.display.*;
import flash.text.*;
public dynamic class _gui extends MovieClip {
public var healthBar:MovieClip;
public var gino:gun1;
public var ammoCounter:TextField;
public var mcPopup_weapons:PopupWeapon;
public var pino:gun1;
public var ammoCounter2:TextField;
public var scoreTxt:TextField;
public var mcPopup:MovieClip;
}
}//package
Section 161
//_Jeep (_Jeep)
package {
import ThisGame.*;
public dynamic class _Jeep extends Jeep {
public function _Jeep(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98, 127, frame128, 157, frame158, 187, frame188, 217, frame218, 247, frame248);
}
function frame188(){
stop();
}
function frame218(){
stop();
}
function frame158(){
stop();
}
function frame98(){
stop();
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame5(){
stop();
}
function frame38(){
stop();
}
function frame4(){
stop();
}
function frame128(){
stop();
}
function frame2(){
stop();
}
function frame248(){
stop();
}
function frame1(){
stop();
}
function frame68(){
stop();
}
}
}//package
Section 162
//_Jeep_dx_centre (_Jeep_dx_centre)
package {
import ThisGame.*;
public dynamic class _Jeep_dx_centre extends Jeep_dx_centre {
public function _Jeep_dx_centre(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98, 127, frame128, 157, frame158, 187, frame188, 217, frame218, 247, frame248);
}
function frame158(){
stop();
}
function frame3(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame188(){
stop();
}
function frame38(){
stop();
}
function frame68(){
stop();
}
function frame98(){
stop();
}
function frame218(){
stop();
}
function frame248(){
stop();
}
function frame128(){
stop();
}
}
}//package
Section 163
//_Jeep_dx_sx (_Jeep_dx_sx)
package {
import ThisGame.*;
public dynamic class _Jeep_dx_sx extends Jeep_dx_sx {
public function _Jeep_dx_sx(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98, 127, frame128, 157, frame158, 187, frame188, 217, frame218, 247, frame248);
}
function frame188(){
stop();
}
function frame218(){
stop();
}
function frame158(){
stop();
}
function frame98(){
stop();
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame5(){
stop();
}
function frame38(){
stop();
}
function frame4(){
stop();
}
function frame128(){
stop();
}
function frame2(){
stop();
}
function frame248(){
stop();
}
function frame1(){
stop();
}
function frame68(){
stop();
}
}
}//package
Section 164
//_Jeep_dxdown_centre (_Jeep_dxdown_centre)
package {
import ThisGame.*;
public dynamic class _Jeep_dxdown_centre extends Jeep_dxdown_centre {
public function _Jeep_dxdown_centre(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98, 127, frame128, 157, frame158, 187, frame188, 217, frame218, 247, frame248);
}
function frame158(){
stop();
}
function frame3(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame188(){
stop();
}
function frame38(){
stop();
}
function frame68(){
stop();
}
function frame98(){
stop();
}
function frame218(){
stop();
}
function frame248(){
stop();
}
function frame128(){
stop();
}
}
}//package
Section 165
//_Jeep_dxup_centre (_Jeep_dxup_centre)
package {
import ThisGame.*;
public dynamic class _Jeep_dxup_centre extends Jeep_dxup_centre {
public function _Jeep_dxup_centre(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98, 127, frame128, 157, frame158, 187, frame188, 217, frame218, 247, frame248);
}
function frame158(){
stop();
}
function frame3(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame188(){
stop();
}
function frame38(){
stop();
}
function frame68(){
stop();
}
function frame98(){
stop();
}
function frame218(){
stop();
}
function frame248(){
stop();
}
function frame128(){
stop();
}
}
}//package
Section 166
//_Jeep_sx_centre (_Jeep_sx_centre)
package {
import ThisGame.*;
public dynamic class _Jeep_sx_centre extends Jeep_sx_centre {
public function _Jeep_sx_centre(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98, 127, frame128, 157, frame158, 187, frame188, 217, frame218, 247, frame248);
}
function frame158(){
stop();
}
function frame3(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame188(){
stop();
}
function frame38(){
stop();
}
function frame68(){
stop();
}
function frame98(){
stop();
}
function frame218(){
stop();
}
function frame248(){
stop();
}
function frame128(){
stop();
}
}
}//package
Section 167
//_Jeep_sxdown_centre (_Jeep_sxdown_centre)
package {
import ThisGame.*;
public dynamic class _Jeep_sxdown_centre extends Jeep_sxdown_centre {
public function _Jeep_sxdown_centre(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98, 127, frame128, 157, frame158, 187, frame188, 217, frame218, 247, frame248);
}
function frame158(){
stop();
}
function frame3(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame188(){
stop();
}
function frame38(){
stop();
}
function frame68(){
stop();
}
function frame98(){
stop();
}
function frame218(){
stop();
}
function frame248(){
stop();
}
function frame128(){
stop();
}
}
}//package
Section 168
//_Jeep_sxup_centre (_Jeep_sxup_centre)
package {
import ThisGame.*;
public dynamic class _Jeep_sxup_centre extends Jeep_sxup_centre {
public function _Jeep_sxup_centre(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98, 127, frame128, 157, frame158, 187, frame188, 217, frame218, 247, frame248);
}
function frame158(){
stop();
}
function frame3(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame188(){
stop();
}
function frame38(){
stop();
}
function frame68(){
stop();
}
function frame98(){
stop();
}
function frame218(){
stop();
}
function frame248(){
stop();
}
function frame128(){
stop();
}
}
}//package
Section 169
//_Panzer1_dx_centre (_Panzer1_dx_centre)
package {
import ThisGame.*;
public dynamic class _Panzer1_dx_centre extends Panzer1_dx_centre {
public function _Panzer1_dx_centre(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98, 127, frame128, 157, frame158, 187, frame188, 217, frame218, 247, frame248);
}
function frame158(){
stop();
}
function frame3(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame188(){
stop();
}
function frame38(){
stop();
}
function frame68(){
stop();
}
function frame98(){
stop();
}
function frame218(){
stop();
}
function frame248(){
stop();
}
function frame128(){
stop();
}
}
}//package
Section 170
//_Panzer1_dx_sx (_Panzer1_dx_sx)
package {
import ThisGame.*;
public dynamic class _Panzer1_dx_sx extends Panzer1_dx_sx {
public function _Panzer1_dx_sx(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98, 127, frame128, 157, frame158, 187, frame188, 217, frame218, 247, frame248);
}
function frame188(){
stop();
}
function frame218(){
stop();
}
function frame158(){
stop();
}
function frame98(){
stop();
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame5(){
stop();
}
function frame38(){
stop();
}
function frame4(){
stop();
}
function frame128(){
stop();
}
function frame2(){
stop();
}
function frame248(){
stop();
}
function frame1(){
stop();
}
function frame68(){
stop();
}
}
}//package
Section 171
//_Panzer1_dx_sx_missile (_Panzer1_dx_sx_missile)
package {
import ThisGame.*;
public dynamic class _Panzer1_dx_sx_missile extends Panzer1_dx_sx_missile {
public function _Panzer1_dx_sx_missile(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98, 127, frame128, 157, frame158, 187, frame188, 217, frame218, 247, frame248);
}
function frame188(){
stop();
}
function frame218(){
stop();
}
function frame158(){
stop();
}
function frame98(){
stop();
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame5(){
stop();
}
function frame38(){
stop();
}
function frame4(){
stop();
}
function frame128(){
stop();
}
function frame2(){
stop();
}
function frame248(){
stop();
}
function frame1(){
stop();
}
function frame68(){
stop();
}
}
}//package
Section 172
//_Panzer1_dxdown_centre (_Panzer1_dxdown_centre)
package {
import ThisGame.*;
public dynamic class _Panzer1_dxdown_centre extends Panzer1_dxdown_centre {
public function _Panzer1_dxdown_centre(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98, 127, frame128, 157, frame158, 187, frame188, 217, frame218, 247, frame248);
}
function frame158(){
stop();
}
function frame3(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame188(){
stop();
}
function frame38(){
stop();
}
function frame68(){
stop();
}
function frame98(){
stop();
}
function frame218(){
stop();
}
function frame248(){
stop();
}
function frame128(){
stop();
}
}
}//package
Section 173
//_Panzer1_dxup_centre (_Panzer1_dxup_centre)
package {
import ThisGame.*;
public dynamic class _Panzer1_dxup_centre extends Panzer1_dxup_centre {
public function _Panzer1_dxup_centre(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98, 127, frame128, 157, frame158, 187, frame188, 217, frame218, 247, frame248);
}
function frame158(){
stop();
}
function frame3(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame188(){
stop();
}
function frame38(){
stop();
}
function frame68(){
stop();
}
function frame98(){
stop();
}
function frame218(){
stop();
}
function frame248(){
stop();
}
function frame128(){
stop();
}
}
}//package
Section 174
//_Panzer1_sx_centre (_Panzer1_sx_centre)
package {
import ThisGame.*;
public dynamic class _Panzer1_sx_centre extends Panzer1_sx_centre {
public function _Panzer1_sx_centre(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98, 127, frame128, 157, frame158, 187, frame188, 217, frame218, 247, frame248);
}
function frame158(){
stop();
}
function frame3(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame188(){
stop();
}
function frame38(){
stop();
}
function frame68(){
stop();
}
function frame98(){
stop();
}
function frame218(){
stop();
}
function frame248(){
stop();
}
function frame128(){
stop();
}
}
}//package
Section 175
//_Panzer1_sx_dx (_Panzer1_sx_dx)
package {
import ThisGame.*;
public dynamic class _Panzer1_sx_dx extends Panzer1_sx_dx {
public function _Panzer1_sx_dx(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98, 127, frame128, 157, frame158, 187, frame188, 217, frame218, 247, frame248);
}
function frame188(){
stop();
}
function frame218(){
stop();
}
function frame158(){
stop();
}
function frame98(){
stop();
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame5(){
stop();
}
function frame38(){
stop();
}
function frame4(){
stop();
}
function frame128(){
stop();
}
function frame2(){
stop();
}
function frame248(){
stop();
}
function frame1(){
stop();
}
function frame68(){
stop();
}
}
}//package
Section 176
//_Panzer1_sxdown_centre (_Panzer1_sxdown_centre)
package {
import ThisGame.*;
public dynamic class _Panzer1_sxdown_centre extends Panzer1_sxdown_centre {
public function _Panzer1_sxdown_centre(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98, 127, frame128, 157, frame158, 187, frame188, 217, frame218, 247, frame248);
}
function frame158(){
stop();
}
function frame3(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame188(){
stop();
}
function frame38(){
stop();
}
function frame68(){
stop();
}
function frame98(){
stop();
}
function frame218(){
stop();
}
function frame248(){
stop();
}
function frame128(){
stop();
}
}
}//package
Section 177
//_Panzer1_sxup_centre (_Panzer1_sxup_centre)
package {
import ThisGame.*;
public dynamic class _Panzer1_sxup_centre extends Panzer1_sxup_centre {
public function _Panzer1_sxup_centre(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98, 127, frame128, 157, frame158, 187, frame188, 217, frame218, 247, frame248);
}
function frame158(){
stop();
}
function frame3(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame188(){
stop();
}
function frame38(){
stop();
}
function frame68(){
stop();
}
function frame98(){
stop();
}
function frame218(){
stop();
}
function frame248(){
stop();
}
function frame128(){
stop();
}
}
}//package
Section 178
//_Panzer1_up_centre (_Panzer1_up_centre)
package {
import ThisGame.*;
public dynamic class _Panzer1_up_centre extends Panzer1_up_centre {
public function _Panzer1_up_centre(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98, 127, frame128, 157, frame158, 187, frame188, 217, frame218, 247, frame248);
}
function frame158(){
stop();
}
function frame3(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame188(){
stop();
}
function frame38(){
stop();
}
function frame68(){
stop();
}
function frame98(){
stop();
}
function frame218(){
stop();
}
function frame248(){
stop();
}
function frame128(){
stop();
}
}
}//package
Section 179
//_Panzer2_dx_centre (_Panzer2_dx_centre)
package {
import ThisGame.*;
public dynamic class _Panzer2_dx_centre extends Panzer2_dx_centre {
public function _Panzer2_dx_centre(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98, 127, frame128, 157, frame158, 187, frame188, 217, frame218, 247, frame248);
}
function frame158(){
stop();
}
function frame3(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame188(){
stop();
}
function frame38(){
stop();
}
function frame68(){
stop();
}
function frame98(){
stop();
}
function frame218(){
stop();
}
function frame248(){
stop();
}
function frame128(){
stop();
}
}
}//package
Section 180
//_Panzer2_dx_sx (_Panzer2_dx_sx)
package {
import ThisGame.*;
public dynamic class _Panzer2_dx_sx extends Panzer2_dx_sx {
public function _Panzer2_dx_sx(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98, 127, frame128, 157, frame158, 187, frame188, 217, frame218, 247, frame248);
}
function frame188(){
stop();
}
function frame218(){
stop();
}
function frame158(){
stop();
}
function frame98(){
stop();
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame5(){
stop();
}
function frame38(){
stop();
}
function frame4(){
stop();
}
function frame128(){
stop();
}
function frame2(){
stop();
}
function frame248(){
stop();
}
function frame1(){
stop();
}
function frame68(){
stop();
}
}
}//package
Section 181
//_Panzer2_dxdown_centre (_Panzer2_dxdown_centre)
package {
import ThisGame.*;
public dynamic class _Panzer2_dxdown_centre extends Panzer2_dxdown_centre {
public function _Panzer2_dxdown_centre(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98, 127, frame128, 157, frame158, 187, frame188, 217, frame218, 247, frame248);
}
function frame158(){
stop();
}
function frame3(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame188(){
stop();
}
function frame38(){
stop();
}
function frame68(){
stop();
}
function frame98(){
stop();
}
function frame218(){
stop();
}
function frame248(){
stop();
}
function frame128(){
stop();
}
}
}//package
Section 182
//_Panzer2_dxup_centre (_Panzer2_dxup_centre)
package {
import ThisGame.*;
public dynamic class _Panzer2_dxup_centre extends Panzer2_dxup_centre {
public function _Panzer2_dxup_centre(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98, 127, frame128, 157, frame158, 187, frame188, 217, frame218, 247, frame248);
}
function frame158(){
stop();
}
function frame3(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame188(){
stop();
}
function frame38(){
stop();
}
function frame68(){
stop();
}
function frame98(){
stop();
}
function frame218(){
stop();
}
function frame248(){
stop();
}
function frame128(){
stop();
}
}
}//package
Section 183
//_Panzer2_sx_centre (_Panzer2_sx_centre)
package {
import ThisGame.*;
public dynamic class _Panzer2_sx_centre extends Panzer2_sx_centre {
public function _Panzer2_sx_centre(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98, 127, frame128, 157, frame158, 187, frame188, 217, frame218, 247, frame248);
}
function frame158(){
stop();
}
function frame3(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame188(){
stop();
}
function frame38(){
stop();
}
function frame68(){
stop();
}
function frame98(){
stop();
}
function frame218(){
stop();
}
function frame248(){
stop();
}
function frame128(){
stop();
}
}
}//package
Section 184
//_Panzer2_sx_dx (_Panzer2_sx_dx)
package {
import ThisGame.*;
public dynamic class _Panzer2_sx_dx extends Panzer2_sx_dx {
public function _Panzer2_sx_dx(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98, 127, frame128, 157, frame158, 187, frame188, 217, frame218, 247, frame248);
}
function frame188(){
stop();
}
function frame218(){
stop();
}
function frame158(){
stop();
}
function frame98(){
stop();
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame5(){
stop();
}
function frame38(){
stop();
}
function frame4(){
stop();
}
function frame128(){
stop();
}
function frame2(){
stop();
}
function frame248(){
stop();
}
function frame1(){
stop();
}
function frame68(){
stop();
}
}
}//package
Section 185
//_Panzer2_sxdown_centre (_Panzer2_sxdown_centre)
package {
import ThisGame.*;
public dynamic class _Panzer2_sxdown_centre extends Panzer2_sxdown_centre {
public function _Panzer2_sxdown_centre(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98, 127, frame128, 157, frame158, 187, frame188, 217, frame218, 247, frame248);
}
function frame158(){
stop();
}
function frame3(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame188(){
stop();
}
function frame38(){
stop();
}
function frame68(){
stop();
}
function frame98(){
stop();
}
function frame218(){
stop();
}
function frame248(){
stop();
}
function frame128(){
stop();
}
}
}//package
Section 186
//_Panzer2_sxup_centre (_Panzer2_sxup_centre)
package {
import ThisGame.*;
public dynamic class _Panzer2_sxup_centre extends Panzer2_sxup_centre {
public function _Panzer2_sxup_centre(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98, 127, frame128, 157, frame158, 187, frame188, 217, frame218, 247, frame248);
}
function frame158(){
stop();
}
function frame3(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame188(){
stop();
}
function frame38(){
stop();
}
function frame68(){
stop();
}
function frame98(){
stop();
}
function frame218(){
stop();
}
function frame248(){
stop();
}
function frame128(){
stop();
}
}
}//package
Section 187
//_Panzer2_up_centre (_Panzer2_up_centre)
package {
import ThisGame.*;
public dynamic class _Panzer2_up_centre extends Panzer2_up_centre {
public function _Panzer2_up_centre(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 37, frame38, 67, frame68, 97, frame98, 127, frame128, 157, frame158, 187, frame188, 217, frame218, 247, frame248);
}
function frame158(){
stop();
}
function frame3(){
stop();
}
function frame5(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame188(){
stop();
}
function frame38(){
stop();
}
function frame68(){
stop();
}
function frame98(){
stop();
}
function frame218(){
stop();
}
function frame248(){
stop();
}
function frame128(){
stop();
}
}
}//package
Section 188
//_SupremeCannon (_SupremeCannon)
package {
import ThisGame.*;
public dynamic class _SupremeCannon extends SupremeCannon {
public function _SupremeCannon(){
addFrameScript(2, frame3, 5, frame6, 8, frame9, 11, , 14, , 17,
, 20, frame21, 23, , 26, , 29, , 32, frame33, 35, frame36, 38, , 41, , 71, frame72);
}
function (){
stop();
}
function (){
stop();
}
function
(){
stop();
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function (){
stop();
}
function (){
stop();
}
function frame36(){
stop();
}
function (){
stop();
}
function frame9(){
stop();
}
function (){
stop();
}
function frame21(){
stop();
}
function frame33(){
stop();
}
function (){
stop();
}
function frame72(){
stop();
}
}
}//package
Section 189
//_Turret1 (_Turret1)
package {
import ThisGame.*;
public dynamic class _Turret1 extends Turret1 {
public function _Turret1(){
addFrameScript(0, frame1, 30, frame31, 60, frame61, 90, frame91, 120, frame121, 150, frame151, 180, frame181, 210, frame211, 240, frame241);
}
function frame91(){
stop();
}
function frame211(){
stop();
}
function frame181(){
stop();
}
function frame31(){
stop();
}
function frame241(){
stop();
}
function frame121(){
stop();
}
function frame151(){
stop();
}
function frame1(){
stop();
}
function frame61(){
stop();
}
}
}//package
Section 190
//_Turret2 (_Turret2)
package {
import ThisGame.*;
public dynamic class _Turret2 extends Turret2 {
public function _Turret2(){
addFrameScript(0, frame1, 30, frame31, 60, frame61, 90, frame91, 120, frame121, 150, frame151, 180, frame181, 210, frame211, 240, frame241);
}
function frame91(){
stop();
}
function frame211(){
stop();
}
function frame181(){
stop();
}
function frame31(){
stop();
}
function frame241(){
stop();
}
function frame121(){
stop();
}
function frame1(){
stop();
}
function frame61(){
stop();
}
function frame151(){
stop();
}
}
}//package
Section 191
//AbortGameWnd (AbortGameWnd)
package {
import flash.display.*;
public dynamic class AbortGameWnd extends MovieClip {
public var abortBtn:SimpleButton;
public var continueBtn:SimpleButton;
public var audioBtn:MovieClip;
}
}//package
Section 192
//albero_1 (albero_1)
package {
import ThisGame.*;
public dynamic class albero_1 extends IsoObject {
}
}//package
Section 193
//albero_2 (albero_2)
package {
import ThisGame.*;
public dynamic class albero_2 extends IsoObject {
}
}//package
Section 194
//albero_3 (albero_3)
package {
import ThisGame.*;
public dynamic class albero_3 extends IsoObject {
}
}//package
Section 195
//Albero_secco_1 (Albero_secco_1)
package {
import ThisGame.*;
public dynamic class Albero_secco_1 extends IsoObject {
}
}//package
Section 196
//Albero_secco_2 (Albero_secco_2)
package {
import ThisGame.*;
public dynamic class Albero_secco_2 extends IsoObject {
}
}//package
Section 197
//Albero_secco_3 (Albero_secco_3)
package {
import ThisGame.*;
public dynamic class Albero_secco_3 extends IsoObject {
}
}//package
Section 198
//Albero_secco_gufo_1 (Albero_secco_gufo_1)
package {
import ThisGame.*;
public dynamic class Albero_secco_gufo_1 extends IsoObject {
}
}//package
Section 199
//Albero_secco_gufo_2 (Albero_secco_gufo_2)
package {
import ThisGame.*;
public dynamic class Albero_secco_gufo_2 extends IsoObject {
}
}//package
Section 200
//artillery_explosions (artillery_explosions)
package {
import flash.media.*;
public dynamic class artillery_explosions extends Sound {
}
}//package
Section 201
//artillery_firing (artillery_firing)
package {
import flash.media.*;
public dynamic class artillery_firing extends Sound {
}
}//package
Section 202
//b52_Aircraft (b52_Aircraft)
package {
import flash.media.*;
public dynamic class b52_Aircraft extends Sound {
}
}//package
Section 203
//b52_explosion (b52_explosion)
package {
import flash.media.*;
public dynamic class b52_explosion extends Sound {
}
}//package
Section 204
//B52Movie (B52Movie)
package {
import ThisGame.*;
public dynamic class B52Movie extends B52 {
}
}//package
Section 205
//bkg_sounds (bkg_sounds)
package {
import flash.media.*;
public dynamic class bkg_sounds extends Sound {
}
}//package
Section 206
//BriefingMenu (BriefingMenu)
package {
import flash.display.*;
import flash.text.*;
public dynamic class BriefingMenu extends MovieClip {
public var backBtn:SimpleButton;
public var missionNumberTxt:TextField;
public var mission_1:MovieClip;
public var mission_2:MovieClip;
public var nextBtn:SimpleButton;
public var mission_3:MovieClip;
public var puntina:MovieClip;
public var briefingText:TextField;
}
}//package
Section 207
//Bullet_enemy (Bullet_enemy)
package {
import ThisGame.*;
public dynamic class Bullet_enemy extends Bullet {
public function Bullet_enemy(){
addFrameScript(0, frame1, 3, frame4);
}
function frame1(){
stop();
}
function frame4(){
stop();
}
}
}//package
Section 208
//Casa_1_incl (Casa_1_incl)
package {
import ThisGame.*;
public dynamic class Casa_1_incl extends IsoObject {
}
}//package
Section 209
//Casa_1_oriz (Casa_1_oriz)
package {
import ThisGame.*;
public dynamic class Casa_1_oriz extends IsoObject {
}
}//package
Section 210
//Casa_1_vert (Casa_1_vert)
package {
import ThisGame.*;
public dynamic class Casa_1_vert extends IsoObject {
}
}//package
Section 211
//Casa_2_incl (Casa_2_incl)
package {
import ThisGame.*;
public dynamic class Casa_2_incl extends IsoObject {
}
}//package
Section 212
//Casa_2_oriz (Casa_2_oriz)
package {
import ThisGame.*;
public dynamic class Casa_2_oriz extends IsoObject {
}
}//package
Section 213
//Casa_2_vert (Casa_2_vert)
package {
import ThisGame.*;
public dynamic class Casa_2_vert extends IsoObject {
}
}//package
Section 214
//Casa_4_incl (Casa_4_incl)
package {
import ThisGame.*;
public dynamic class Casa_4_incl extends IsoObject {
}
}//package
Section 215
//Casa_4_oriz (Casa_4_oriz)
package {
import ThisGame.*;
public dynamic class Casa_4_oriz extends IsoObject {
}
}//package
Section 216
//Casa_4_vert (Casa_4_vert)
package {
import ThisGame.*;
public dynamic class Casa_4_vert extends IsoObject {
}
}//package
Section 217
//Casa_5_incl (Casa_5_incl)
package {
import ThisGame.*;
public dynamic class Casa_5_incl extends IsoObject {
}
}//package
Section 218
//Casa_5_oriz (Casa_5_oriz)
package {
import ThisGame.*;
public dynamic class Casa_5_oriz extends IsoObject {
}
}//package
Section 219
//Casa_5_vert (Casa_5_vert)
package {
import ThisGame.*;
public dynamic class Casa_5_vert extends IsoObject {
}
}//package
Section 220
//Cassa_medica_incl (Cassa_medica_incl)
package {
import ThisGame.*;
public dynamic class Cassa_medica_incl extends Medipack {
}
}//package
Section 221
//Cassa_medica_oriz (Cassa_medica_oriz)
package {
import ThisGame.*;
public dynamic class Cassa_medica_oriz extends Medipack {
}
}//package
Section 222
//Cassa_munizioni_10_incl (Cassa_munizioni_10_incl)
package {
import ThisGame.*;
public dynamic class Cassa_munizioni_10_incl extends AmmoCrate10 {
}
}//package
Section 223
//Cassa_munizioni_2_incl (Cassa_munizioni_2_incl)
package {
import ThisGame.*;
public dynamic class Cassa_munizioni_2_incl extends AmmoCrate2 {
}
}//package
Section 224
//Cassa_munizioni_3_incl (Cassa_munizioni_3_incl)
package {
import ThisGame.*;
public dynamic class Cassa_munizioni_3_incl extends AmmoCrate3 {
}
}//package
Section 225
//Cassa_munizioni_4_incl (Cassa_munizioni_4_incl)
package {
import ThisGame.*;
public dynamic class Cassa_munizioni_4_incl extends AmmoCrate4 {
}
}//package
Section 226
//Cassa_munizioni_5_incl (Cassa_munizioni_5_incl)
package {
import ThisGame.*;
public dynamic class Cassa_munizioni_5_incl extends AmmoCrate5 {
}
}//package
Section 227
//Cassa_munizioni_6_incl (Cassa_munizioni_6_incl)
package {
import ThisGame.*;
public dynamic class Cassa_munizioni_6_incl extends AmmoCrate6 {
}
}//package
Section 228
//Cassa_munizioni_7_incl (Cassa_munizioni_7_incl)
package {
import ThisGame.*;
public dynamic class Cassa_munizioni_7_incl extends AmmoCrate7 {
}
}//package
Section 229
//Cassa_munizioni_8_incl (Cassa_munizioni_8_incl)
package {
import ThisGame.*;
public dynamic class Cassa_munizioni_8_incl extends AmmoCrate8 {
}
}//package
Section 230
//Cassa_munizioni_9_incl (Cassa_munizioni_9_incl)
package {
import ThisGame.*;
public dynamic class Cassa_munizioni_9_incl extends AmmoCrate9 {
}
}//package
Section 231
//cilecca (cilecca)
package {
import flash.media.*;
public dynamic class cilecca extends Sound {
}
}//package
Section 232
//CircleCollider (CircleCollider)
package {
import ThisGame.*;
public dynamic class CircleCollider extends CollisionCircle {
}
}//package
Section 233
//collect_crate (collect_crate)
package {
import flash.media.*;
public dynamic class collect_crate extends Sound {
}
}//package
Section 234
//Collider (Collider)
package {
import ThisGame.*;
public dynamic class Collider extends CollisionClip {
}
}//package
Section 235
//Collider_basso (Collider_basso)
package {
import ThisGame.*;
public dynamic class Collider_basso extends CollisionClip {
}
}//package
Section 236
//colpito (colpito)
package {
import flash.media.*;
public dynamic class colpito extends Sound {
}
}//package
Section 237
//enemy_cannon1 (enemy_cannon1)
package {
import flash.media.*;
public dynamic class enemy_cannon1 extends Sound {
}
}//package
Section 238
//enemy_cannon2 (enemy_cannon2)
package {
import flash.media.*;
public dynamic class enemy_cannon2 extends Sound {
}
}//package
Section 239
//enemy_crash (enemy_crash)
package {
import flash.media.*;
public dynamic class enemy_crash extends Sound {
}
}//package
Section 240
//enemy_explosion (enemy_explosion)
package {
import flash.media.*;
public dynamic class enemy_explosion extends Sound {
}
}//package
Section 241
//enemy_machinegun (enemy_machinegun)
package {
import flash.media.*;
public dynamic class enemy_machinegun extends Sound {
}
}//package
Section 242
//enemy_rocket (enemy_rocket)
package {
import flash.media.*;
public dynamic class enemy_rocket extends Sound {
}
}//package
Section 243
//esplosione_piccola (esplosione_piccola)
package {
import flash.display.*;
public dynamic class esplosione_piccola extends MovieClip {
}
}//package
Section 244
//FoofaSiteCheck (FoofaSiteCheck)
package {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.external.*;
public dynamic class FoofaSiteCheck extends MovieClip {
public var logoInst:MovieClip;
public var playTxt:TextField;
public function FoofaSiteCheck(){
addFrameScript(0, frame1);
}
public function foofaClick(_arg1:MouseEvent){
var url:String;
var success:Boolean;
var evnt = _arg1;
url = new String("http://www.foofa.net/");
success = false;
if (((ExternalInterface.available) && (!((Capabilities.playerType == "External"))))){
try {
ExternalInterface.call("window.open", url, "win", "");
success = true;
} catch(error:Error) {
};
};
if (success != true){
navigateToURL(new URLRequest(url), "_self");
};
}
function frame1(){
logoInst.buttonMode = true;
logoInst.addEventListener(MouseEvent.MOUSE_UP, foofaClick);
}
}
}//package
Section 245
//GameOverMenu (GameOverMenu)
package {
import flash.display.*;
import flash.text.*;
public dynamic class GameOverMenu extends MovieClip {
public var backBtn:SimpleButton;
public var againBtn:SimpleButton;
public var submitBtn:SimpleButton;
public var nameText:TextField;
public var hallBtn:SimpleButton;
public var scoreText:TextField;
}
}//package
Section 246
//GranadeMovie (GranadeMovie)
package {
import ThisGame.*;
public dynamic class GranadeMovie extends Granade {
}
}//package
Section 247
//gun1 (gun1)
package {
import flash.display.*;
public dynamic class gun1 extends MovieClip {
public function gun1(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, );
}
function (){
stop();
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame9(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 248
//InfoWnd (InfoWnd)
package {
import flash.display.*;
public dynamic class InfoWnd extends MovieClip {
public var continueBtn:SimpleButton;
}
}//package
Section 249
//Level_1 (Level_1)
package {
import flash.display.*;
public dynamic class Level_1 extends MovieClip {
public var mcPlayer:MainPG;
public function Level_1(){
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package
Section 250
//Level_2 (Level_2)
package {
import flash.display.*;
public dynamic class Level_2 extends MovieClip {
public var mcPlayer:MainPG;
public function Level_2(){
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package
Section 251
//Level_3 (Level_3)
package {
import flash.display.*;
public dynamic class Level_3 extends MovieClip {
public var mcPlayer:MainPG;
public var boss:_SupremeCannon;
}
}//package
Section 252
//LevelCompleteMenu (LevelCompleteMenu)
package {
import flash.display.*;
import flash.text.*;
public dynamic class LevelCompleteMenu extends MovieClip {
public var medAccuracy1:MovieClip;
public var medHealth3:MovieClip;
public var medCombo2:MovieClip;
public var maxcomboTxt:TextField;
public var medCombo3:MovieClip;
public var nextBtn:SimpleButton;
public var medCombo1:MovieClip;
public var healthTxt:TextField;
public var accuracyTxt:TextField;
public var scoreTxt:TextField;
public var medHealth1:MovieClip;
public var medAccuracy2:MovieClip;
public var medAccuracy3:MovieClip;
public var medHealth2:MovieClip;
}
}//package
Section 253
//MainMenu (MainMenu)
package {
import flash.display.*;
import flash.text.*;
public dynamic class MainMenu extends MovieClip {
public var version:TextField;
public var continueBtn:SimpleButton;
public var mcBtn_CMG:SimpleButton;
public var hallBtn:SimpleButton;
public var mcBtn_foofa:SimpleButton;
public var playBtn:SimpleButton;
public var moreBtn:SimpleButton;
}
}//package
Section 254
//MainPG (MainPG)
package {
import ThisGame.*;
public dynamic class MainPG extends Player {
public function MainPG(){
addFrameScript(35, frame36, 56, , 89,
, 122, , 155, , 191, , 212, , 245, , 278, , 311, , 347, , 368, , 401, , 434, , 467, , 503, frame504, 524, , 557, , 590, , 623,
, 659, , 680,
, 713, , 746, , 779, , 815, frame816, 836, , 869, , 902, , 935, frame936, 971, , 992, , 1025, , 1058,
, 1091,
, 1127, , 1148, , 1181, , 1214, , 1247, );
}
function (){
stop();
}
function (){
stop();
}
function (){
stop();
}
function (){
stop();
}
function (){
stop();
}
function (){
gotoAndPlay(937);
}
function
(){
stop();
}
function frame504(){
gotoAndPlay(469);
}
function (){
stop();
}
function
(){
stop();
}
function frame36(){
gotoAndPlay(1);
}
function (){
gotoAndPlay(157);
}
function (){
stop();
}
function (){
stop();
}
function (){
stop();
}
function (){
stop();
}
function (){
stop();
}
function (){
stop();
}
function (){
stop();
}
function (){
gotoAndPlay(625);
}
function (){
stop();
}
function (){
stop();
}
function (){
stop();
}
function
(){
stop();
}
function (){
stop();
}
function (){
gotoAndPlay(1093);
}
function
(){
stop();
}
function (){
stop();
}
function (){
gotoAndPlay(313);
}
function (){
stop();
}
function (){
stop();
}
function (){
stop();
}
function (){
stop();
}
function (){
stop();
}
function (){
stop();
}
function (){
stop();
}
function (){
stop();
}
function frame936(){
stop();
}
function frame816(){
gotoAndPlay(781);
}
function
(){
stop();
}
}
}//package
Section 255
//medic (medic)
package {
import flash.media.*;
public dynamic class medic extends Sound {
}
}//package
Section 256
//MineMovie (MineMovie)
package {
import ThisGame.*;
public dynamic class MineMovie extends Mine {
}
}//package
Section 257
//Mirino (Mirino)
package {
import flash.display.*;
public dynamic class Mirino extends MovieClip {
}
}//package
Section 258
//MochiBot (MochiBot)
package {
import flash.display.*;
import flash.net.*;
import flash.system.*;
public dynamic class MochiBot extends Sprite {
public static function track(_arg1:Sprite, _arg2:String):MochiBot{
var _local3:MochiBot;
var _local4:String;
var _local5:URLVariables;
var _local6:String;
var _local7:URLRequest;
var _local8:Loader;
if (Security.sandboxType == "localWithFile"){
return (null);
};
_local3 = new (MochiBot);
_arg1.addChild(_local3);
Security.allowDomain("core.mochibot.com");
Security.allowInsecureDomain("core.mochibot.com");
_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 259
//Muro_Inclinato_NORD_EST (Muro_Inclinato_NORD_EST)
package {
import ThisGame.*;
public dynamic class Muro_Inclinato_NORD_EST extends IsoObject {
}
}//package
Section 260
//Muro_Inclinato_NORD_OVEST (Muro_Inclinato_NORD_OVEST)
package {
import ThisGame.*;
public dynamic class Muro_Inclinato_NORD_OVEST extends IsoObject {
}
}//package
Section 261
//Muro_Inclinato_SUD_EST (Muro_Inclinato_SUD_EST)
package {
import ThisGame.*;
public dynamic class Muro_Inclinato_SUD_EST extends IsoObject {
}
}//package
Section 262
//Muro_Inclinato_SUD_OVEST (Muro_Inclinato_SUD_OVEST)
package {
import ThisGame.*;
public dynamic class Muro_Inclinato_SUD_OVEST extends IsoObject {
}
}//package
Section 263
//Muro_Laterale_EST (Muro_Laterale_EST)
package {
import ThisGame.*;
public dynamic class Muro_Laterale_EST extends IsoObject {
}
}//package
Section 264
//Muro_Orizzontale_NORD (Muro_Orizzontale_NORD)
package {
import ThisGame.*;
public dynamic class Muro_Orizzontale_NORD extends IsoObject {
}
}//package
Section 265
//Muro_Orizzontale_SUD (Muro_Orizzontale_SUD)
package {
import ThisGame.*;
public dynamic class Muro_Orizzontale_SUD extends IsoObject {
}
}//package
Section 266
//no_weapon (no_weapon)
package {
import flash.media.*;
public dynamic class no_weapon extends Sound {
}
}//package
Section 267
//PlayerCheck (PlayerCheck)
package {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import flash.net.*;
import flash.system.*;
import flash.external.*;
public dynamic class PlayerCheck extends MovieClip {
public var yourVersionTxt:TextField;
public var requiredVersionTxt:TextField;
public var adobeBtn:MovieClip;
public function PlayerCheck(){
addFrameScript(0, frame1);
}
public function foofaClick(_arg1:MouseEvent){
var url:String;
var success:Boolean;
var evnt = _arg1;
url = new String("http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash/");
success = false;
if (((ExternalInterface.available) && (!((Capabilities.playerType == "External"))))){
try {
ExternalInterface.call("window.open", url, "win", "");
success = true;
} catch(error:Error) {
};
};
if (success != true){
navigateToURL(new URLRequest(url), "_blank");
};
}
function frame1(){
adobeBtn.buttonMode = true;
adobeBtn.addEventListener(MouseEvent.MOUSE_UP, foofaClick);
}
}
}//package
Section 268
//point (point)
package {
import flash.display.*;
public dynamic class point extends MovieClip {
}
}//package
Section 269
//PopupRechargeWeapon (PopupRechargeWeapon)
package {
import flash.display.*;
public dynamic class PopupRechargeWeapon extends MovieClip {
public var recharge_2:MovieClip;
public var recharge_5:MovieClip;
public var recharge_7:MovieClip;
public var recharge_9:MovieClip;
public var recharge_8:MovieClip;
public var recharge_3:MovieClip;
public var recharge_10:MovieClip;
public var recharge_4:MovieClip;
}
}//package
Section 270
//PopupWeapon (PopupWeapon)
package {
import flash.display.*;
public dynamic class PopupWeapon extends MovieClip {
public var weapon_10:MovieClip;
public var recharge_2:MovieClip;
public var recharge_5:MovieClip;
public var recharge_7:MovieClip;
public var recharge_9:MovieClip;
public var recharge_6:MovieClip;
public var recharge_8:MovieClip;
public var recharge_3:MovieClip;
public var recharge_10:MovieClip;
public var recharge_4:MovieClip;
public var weapon_2:MovieClip;
public var weapon_3:MovieClip;
public var weapon_5:MovieClip;
public var weapon_7:MovieClip;
public var weapon_8:MovieClip;
public var weapon_9:MovieClip;
public var weapon_4:MovieClip;
}
}//package
Section 271
//Preloader (Preloader)
package {
import flash.display.*;
import flash.text.*;
public dynamic class Preloader extends MovieClip {
public var bar:MovieClip;
public var percText:TextField;
public var pupille:MovieClip;
}
}//package
Section 272
//pulsanteschermataintro (pulsanteschermataintro)
package {
import flash.display.*;
public dynamic class pulsanteschermataintro extends SimpleButton {
}
}//package
Section 273
//raffica (raffica)
package {
import flash.media.*;
public dynamic class raffica extends Sound {
}
}//package
Section 274
//Roccia_1 (Roccia_1)
package {
import ThisGame.*;
public dynamic class Roccia_1 extends IsoObject {
}
}//package
Section 275
//Roccia_2 (Roccia_2)
package {
import ThisGame.*;
public dynamic class Roccia_2 extends IsoObject {
}
}//package
Section 276
//Roccia_3 (Roccia_3)
package {
import ThisGame.*;
public dynamic class Roccia_3 extends IsoObject {
}
}//package
Section 277
//Roccia_grande_1 (Roccia_grande_1)
package {
import ThisGame.*;
public dynamic class Roccia_grande_1 extends IsoObject {
}
}//package
Section 278
//Roccia_grande_2 (Roccia_grande_2)
package {
import ThisGame.*;
public dynamic class Roccia_grande_2 extends IsoObject {
}
}//package
Section 279
//Roccia_grande_3 (Roccia_grande_3)
package {
import ThisGame.*;
public dynamic class Roccia_grande_3 extends IsoObject {
}
}//package
Section 280
//sacchi_diagonali_1 (sacchi_diagonali_1)
package {
import ThisGame.*;
public dynamic class sacchi_diagonali_1 extends IsoObject {
}
}//package
Section 281
//sacchi_diagonali_2 (sacchi_diagonali_2)
package {
import ThisGame.*;
public dynamic class sacchi_diagonali_2 extends IsoObject {
}
}//package
Section 282
//sacchi_diagonali_3 (sacchi_diagonali_3)
package {
import ThisGame.*;
public dynamic class sacchi_diagonali_3 extends IsoObject {
}
}//package
Section 283
//sacchi_diagonali_4 (sacchi_diagonali_4)
package {
import ThisGame.*;
public dynamic class sacchi_diagonali_4 extends IsoObject {
}
}//package
Section 284
//sacchi_orizzontali (sacchi_orizzontali)
package {
import ThisGame.*;
public dynamic class sacchi_orizzontali extends IsoObject {
}
}//package
Section 285
//sacchi_orizzontali_2 (sacchi_orizzontali_2)
package {
import ThisGame.*;
public dynamic class sacchi_orizzontali_2 extends IsoObject {
}
}//package
Section 286
//sacchi_verticali_1 (sacchi_verticali_1)
package {
import ThisGame.*;
public dynamic class sacchi_verticali_1 extends IsoObject {
}
}//package
Section 287
//sacchi_verticali_2 (sacchi_verticali_2)
package {
import ThisGame.*;
public dynamic class sacchi_verticali_2 extends IsoObject {
}
}//package
Section 288
//scream_01 (scream_01)
package {
import flash.media.*;
public dynamic class scream_01 extends Sound {
}
}//package
Section 289
//scream_02 (scream_02)
package {
import flash.media.*;
public dynamic class scream_02 extends Sound {
}
}//package
Section 290
//scream_03 (scream_03)
package {
import flash.media.*;
public dynamic class scream_03 extends Sound {
}
}//package
Section 291
//scream_04 (scream_04)
package {
import flash.media.*;
public dynamic class scream_04 extends Sound {
}
}//package
Section 292
//scream_05 (scream_05)
package {
import flash.media.*;
public dynamic class scream_05 extends Sound {
}
}//package
Section 293
//scream_06 (scream_06)
package {
import flash.media.*;
public dynamic class scream_06 extends Sound {
}
}//package
Section 294
//scream_07 (scream_07)
package {
import flash.media.*;
public dynamic class scream_07 extends Sound {
}
}//package
Section 295
//scream_08 (scream_08)
package {
import flash.media.*;
public dynamic class scream_08 extends Sound {
}
}//package
Section 296
//scream_09 (scream_09)
package {
import flash.media.*;
public dynamic class scream_09 extends Sound {
}
}//package
Section 297
//scream_10 (scream_10)
package {
import flash.media.*;
public dynamic class scream_10 extends Sound {
}
}//package
Section 298
//scream_11 (scream_11)
package {
import flash.media.*;
public dynamic class scream_11 extends Sound {
}
}//package
Section 299
//scream_12 (scream_12)
package {
import flash.media.*;
public dynamic class scream_12 extends Sound {
}
}//package
Section 300
//scream_13 (scream_13)
package {
import flash.media.*;
public dynamic class scream_13 extends Sound {
}
}//package
Section 301
//scream_14 (scream_14)
package {
import flash.media.*;
public dynamic class scream_14 extends Sound {
}
}//package
Section 302
//scream_15 (scream_15)
package {
import flash.media.*;
public dynamic class scream_15 extends Sound {
}
}//package
Section 303
//Symbol1 (Symbol1)
package {
import flash.events.*;
import flash.display.*;
import ThisGame.*;
import flash.ui.*;
public dynamic class Symbol1 extends MovieClip {
public var app:Main_Application;
public function Symbol1(){
addFrameScript(0, frame1);
}
public function (_arg1:Event):void{
app.Loop();
}
function frame1(){
contextMenu = new ContextMenu();
contextMenu.hideBuiltInItems();
app = Main_Application.GetInstance();
app.ChangeState(new State_MainMenu(app, this));
this.addEventListener(Event.ENTER_FRAME, );
app.InitMusics();
stop();
}
}
}//package
Section 304
//Telegrafo_incl_SE (Telegrafo_incl_SE)
package {
import ThisGame.*;
public dynamic class Telegrafo_incl_SE extends IsoObject {
}
}//package
Section 305
//Telegrafo_incl_SW (Telegrafo_incl_SW)
package {
import ThisGame.*;
public dynamic class Telegrafo_incl_SW extends IsoObject {
}
}//package
Section 306
//Telegrafo_oriz (Telegrafo_oriz)
package {
import ThisGame.*;
public dynamic class Telegrafo_oriz extends IsoObject {
}
}//package
Section 307
//Tenda_militare_Front (Tenda_militare_Front)
package {
import ThisGame.*;
public dynamic class Tenda_militare_Front extends IsoObject {
}
}//package
Section 308
//Tenda_militare_Incl (Tenda_militare_Incl)
package {
import ThisGame.*;
public dynamic class Tenda_militare_Incl extends IsoObject {
}
}//package
Section 309
//Tenda_militare_Side (Tenda_militare_Side)
package {
import ThisGame.*;
public dynamic class Tenda_militare_Side extends IsoObject {
}
}//package
Section 310
//ucciso (ucciso)
package {
import flash.media.*;
public dynamic class ucciso extends Sound {
}
}//package
Section 311
//weapon1_rifle (weapon1_rifle)
package {
import flash.media.*;
public dynamic class weapon1_rifle extends Sound {
}
}//package
Section 312
//weapon2_ak47 (weapon2_ak47)
package {
import flash.media.*;
public dynamic class weapon2_ak47 extends Sound {
}
}//package
Section 313
//weapon3_shotgun (weapon3_shotgun)
package {
import flash.media.*;
public dynamic class weapon3_shotgun extends Sound {
}
}//package
Section 314
//weapon4_flamethrower (weapon4_flamethrower)
package {
import flash.media.*;
public dynamic class weapon4_flamethrower extends Sound {
}
}//package
Section 315
//weapon5_rocketlauncher (weapon5_rocketlauncher)
package {
import flash.media.*;
public dynamic class weapon5_rocketlauncher extends Sound {
}
}//package
Section 316
//weapon6_grenade (weapon6_grenade)
package {
import flash.media.*;
public dynamic class weapon6_grenade extends Sound {
}
}//package
Section 317
//weapon7_firegrenade (weapon7_firegrenade)
package {
import flash.media.*;
public dynamic class weapon7_firegrenade extends Sound {
}
}//package
Section 318
//WinGameOverMenu (WinGameOverMenu)
package {
import flash.display.*;
import flash.text.*;
public dynamic class WinGameOverMenu extends MovieClip {
public var medAccuracy1:MovieClip;
public var medHealth3:MovieClip;
public var backBtn:SimpleButton;
public var submitBtn:SimpleButton;
public var medCombo2:MovieClip;
public var nameText:TextField;
public var hallBtn:SimpleButton;
public var maxcomboTxt:TextField;
public var medCombo3:MovieClip;
public var medCombo1:MovieClip;
public var healthTxt:TextField;
public var accuracyTxt:TextField;
public var submitMessageText:TextField;
public var scoreText:TextField;
public var medHealth1:MovieClip;
public var medAccuracy2:MovieClip;
public var medAccuracy3:MovieClip;
public var medHealth2:MovieClip;
}
}//package