Section 1
//NewgroundsAPIAsset_API_Conencted_4 (APIConnector_fla.NewgroundsAPIAsset_API_Conencted_4)
package APIConnector_fla {
import flash.display.*;
import com.newgrounds.components.*;
public dynamic class NewgroundsAPIAsset_API_Conencted_4 extends MovieClip {
public function NewgroundsAPIAsset_API_Conencted_4(){
addFrameScript(36, this.frame37);
}
function frame37(){
APIConnector(parent).clear();
}
}
}//package APIConnector_fla
Section 2
//NewgroundsAPIAsset_ConnectingAPI_2 (APIConnector_fla.NewgroundsAPIAsset_ConnectingAPI_2)
package APIConnector_fla {
import flash.display.*;
public dynamic class NewgroundsAPIAsset_ConnectingAPI_2 extends MovieClip {
public function NewgroundsAPIAsset_ConnectingAPI_2(){
addFrameScript(9, this.frame10);
}
function frame10(){
stop();
}
}
}//package APIConnector_fla
Section 3
//NewgroundsAPIAsset_Connection_Error_7 (APIConnector_fla.NewgroundsAPIAsset_Connection_Error_7)
package APIConnector_fla {
import flash.display.*;
import com.newgrounds.components.*;
public dynamic class NewgroundsAPIAsset_Connection_Error_7 extends MovieClip {
public function NewgroundsAPIAsset_Connection_Error_7(){
addFrameScript(9, this.frame10, 20, this.frame21);
}
function frame10(){
stop();
}
function frame21(){
APIConnector(parent).clear();
}
}
}//package APIConnector_fla
Section 4
//NewgroundsAPIAsset_Load_Indicator_3 (APIConnector_fla.NewgroundsAPIAsset_Load_Indicator_3)
package APIConnector_fla {
import flash.display.*;
import flash.events.*;
public dynamic class NewgroundsAPIAsset_Load_Indicator_3 extends MovieClip {
public function NewgroundsAPIAsset_Load_Indicator_3(){
addFrameScript(0, this.frame1);
}
public function onEnterFrame(_arg1:Event):void{
if (((visible) && (stage))){
rotation = (rotation + 30);
} else {
removeEventListener(Event.ENTER_FRAME, this.onEnterFrame);
};
}
function frame1(){
addEventListener(Event.ENTER_FRAME, this.onEnterFrame);
}
}
}//package APIConnector_fla
Section 5
//NewgroundsAPIAsset_Login_Warning_5 (APIConnector_fla.NewgroundsAPIAsset_Login_Warning_5)
package APIConnector_fla {
import flash.display.*;
import com.newgrounds.components.*;
public dynamic class NewgroundsAPIAsset_Login_Warning_5 extends MovieClip {
public function NewgroundsAPIAsset_Login_Warning_5(){
addFrameScript(9, this.frame10, 20, this.frame21);
}
function frame10(){
stop();
}
function frame21(){
APIConnector(parent).clear();
}
}
}//package APIConnector_fla
Section 6
//MD5 (com.adobe.crypto.MD5)
package com.adobe.crypto {
import flash.utils.*;
import com.adobe.utils.*;
public class MD5 {
public static var digest:ByteArray;
public static function hash(_arg1:String):String{
var _local2:ByteArray = new ByteArray();
_local2.writeUTFBytes(_arg1);
return (hashBinary(_local2));
}
public static function hashBytes(_arg1:ByteArray):String{
return (hashBinary(_arg1));
}
public static function hashBinary(_arg1:ByteArray):String{
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local2 = 1732584193;
var _local3 = -271733879;
var _local4 = -1732584194;
var _local5 = 271733878;
var _local10:Array = createBlocks(_arg1);
var _local11:int = _local10.length;
var _local12:int;
while (_local12 < _local11) {
_local6 = _local2;
_local7 = _local3;
_local8 = _local4;
_local9 = _local5;
_local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 0))], 7, -680876936);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 1))], 12, -389564586);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 2))], 17, 606105819);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 3))], 22, -1044525330);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 4))], 7, -176418897);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 5))], 12, 1200080426);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 6))], 17, -1473231341);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 7))], 22, -45705983);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 8))], 7, 1770035416);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 9))], 12, -1958414417);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 10))], 17, -42063);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 11))], 22, -1990404162);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 12))], 7, 1804603682);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 13))], 12, -40341101);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 14))], 17, -1502002290);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 15))], 22, 1236535329);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 1))], 5, -165796510);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 6))], 9, -1069501632);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 11))], 14, 643717713);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 0))], 20, -373897302);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 5))], 5, -701558691);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 10))], 9, 38016083);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 15))], 14, -660478335);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 4))], 20, -405537848);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 9))], 5, 568446438);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 14))], 9, -1019803690);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 3))], 14, -187363961);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 8))], 20, 1163531501);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 13))], 5, -1444681467);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 2))], 9, -51403784);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 7))], 14, 1735328473);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 12))], 20, -1926607734);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 5))], 4, -378558);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 8))], 11, -2022574463);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 11))], 16, 1839030562);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 14))], 23, -35309556);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 1))], 4, -1530992060);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 4))], 11, 1272893353);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 7))], 16, -155497632);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 10))], 23, -1094730640);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 13))], 4, 681279174);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 0))], 11, -358537222);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 3))], 16, -722521979);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 6))], 23, 76029189);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 9))], 4, -640364487);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 12))], 11, -421815835);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 15))], 16, 530742520);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 2))], 23, -995338651);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 0))], 6, -198630844);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 7))], 10, 1126891415);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 14))], 15, -1416354905);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 5))], 21, -57434055);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 12))], 6, 1700485571);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 3))], 10, -1894986606);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 10))], 15, -1051523);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 1))], 21, -2054922799);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 8))], 6, 1873313359);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 15))], 10, -30611744);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 6))], 15, -1560198380);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 13))], 21, 1309151649);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 4))], 6, -145523070);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 11))], 10, -1120210379);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 2))], 15, 718787259);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 9))], 21, -343485551);
_local2 = (_local2 + _local6);
_local3 = (_local3 + _local7);
_local4 = (_local4 + _local8);
_local5 = (_local5 + _local9);
_local12 = (_local12 + 16);
};
digest = new ByteArray();
digest.writeInt(_local2);
digest.writeInt(_local3);
digest.writeInt(_local4);
digest.writeInt(_local5);
digest.position = 0;
return ((((IntUtil.toHex(_local2) + IntUtil.toHex(_local3)) + IntUtil.toHex(_local4)) + IntUtil.toHex(_local5)));
}
private static function f(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg2) | (~(_arg1) & _arg3)));
}
private static function g(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg3) | (_arg2 & ~(_arg3))));
}
private static function h(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 ^ _arg2) ^ _arg3));
}
private static function i(_arg1:int, _arg2:int, _arg3:int):int{
return ((_arg2 ^ (_arg1 | ~(_arg3))));
}
private static function transform(_arg1:Function, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int):int{
var _local9:int = (((_arg2 + int(_arg1(_arg3, _arg4, _arg5))) + _arg6) + _arg8);
return ((IntUtil.rol(_local9, _arg7) + _arg3));
}
private static function ff(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(f, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private static function gg(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(g, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private static function hh(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(h, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private static function ii(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(i, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private static function createBlocks(_arg1:ByteArray):Array{
var _local2:Array = new Array();
var _local3:int = (_arg1.length * 8);
var _local4 = 0xFF;
var _local5:int;
while (_local5 < _local3) {
_local2[int((_local5 >> 5))] = (_local2[int((_local5 >> 5))] | ((_arg1[(_local5 / 8)] & _local4) << (_local5 % 32)));
_local5 = (_local5 + 8);
};
_local2[int((_local3 >> 5))] = (_local2[int((_local3 >> 5))] | (128 << (_local3 % 32)));
_local2[int(((((_local3 + 64) >>> 9) << 4) + 14))] = _local3;
return (_local2);
}
}
}//package com.adobe.crypto
Section 7
//PNGEncoder (com.adobe.images.PNGEncoder)
package com.adobe.images {
import flash.display.*;
import flash.utils.*;
import flash.geom.*;
public class PNGEncoder {
private static var crcTable:Array;
private static var crcTableComputed:Boolean = false;
public static function encode(_arg1:BitmapData):ByteArray{
var _local6:uint;
var _local7:int;
var _local2:ByteArray = new ByteArray();
_local2.writeUnsignedInt(2303741511);
_local2.writeUnsignedInt(218765834);
var _local3:ByteArray = new ByteArray();
_local3.writeInt(_arg1.width);
_local3.writeInt(_arg1.height);
_local3.writeUnsignedInt(134610944);
_local3.writeByte(0);
writeChunk(_local2, 1229472850, _local3);
var _local4:ByteArray = new ByteArray();
var _local5:int;
while (_local5 < _arg1.height) {
_local4.writeByte(0);
if (!_arg1.transparent){
_local7 = 0;
while (_local7 < _arg1.width) {
_local6 = _arg1.getPixel(_local7, _local5);
_local4.writeUnsignedInt(uint((((_local6 & 0xFFFFFF) << 8) | 0xFF)));
_local7++;
};
} else {
_local7 = 0;
while (_local7 < _arg1.width) {
_local6 = _arg1.getPixel32(_local7, _local5);
_local4.writeUnsignedInt(uint((((_local6 & 0xFFFFFF) << 8) | (_local6 >>> 24))));
_local7++;
};
};
_local5++;
};
_local4.compress();
writeChunk(_local2, 1229209940, _local4);
writeChunk(_local2, 1229278788, null);
return (_local2);
}
private static function writeChunk(_arg1:ByteArray, _arg2:uint, _arg3:ByteArray):void{
var _local8:uint;
var _local9:uint;
var _local10:uint;
if (!crcTableComputed){
crcTableComputed = true;
crcTable = [];
_local9 = 0;
while (_local9 < 0x0100) {
_local8 = _local9;
_local10 = 0;
while (_local10 < 8) {
if ((_local8 & 1)){
_local8 = uint((uint(3988292384) ^ uint((_local8 >>> 1))));
} else {
_local8 = uint((_local8 >>> 1));
};
_local10++;
};
crcTable[_local9] = _local8;
_local9++;
};
};
var _local4:uint;
if (_arg3 != null){
_local4 = _arg3.length;
};
_arg1.writeUnsignedInt(_local4);
var _local5:uint = _arg1.position;
_arg1.writeUnsignedInt(_arg2);
if (_arg3 != null){
_arg1.writeBytes(_arg3);
};
var _local6:uint = _arg1.position;
_arg1.position = _local5;
_local8 = 4294967295;
var _local7:int;
while (_local7 < (_local6 - _local5)) {
_local8 = uint((crcTable[((_local8 ^ _arg1.readUnsignedByte()) & uint(0xFF))] ^ uint((_local8 >>> 8))));
_local7++;
};
_local8 = uint((_local8 ^ uint(4294967295)));
_arg1.position = _local6;
_arg1.writeUnsignedInt(_local8);
}
}
}//package com.adobe.images
Section 8
//JSON (com.adobe.serialization.json.JSON)
package com.adobe.serialization.json {
public class JSON {
public static function encode(_arg1:Object):String{
var _local2:JSONEncoder = new JSONEncoder(_arg1);
return (_local2.getString());
}
public static function decode(_arg1:String){
var _local2:JSONDecoder = new JSONDecoder(_arg1);
return (_local2.getValue());
}
}
}//package com.adobe.serialization.json
Section 9
//JSONDecoder (com.adobe.serialization.json.JSONDecoder)
package com.adobe.serialization.json {
public class JSONDecoder {
private var value;
private var tokenizer:JSONTokenizer;
private var token:JSONToken;
public function JSONDecoder(_arg1:String){
this.tokenizer = new JSONTokenizer(_arg1);
this.nextToken();
this.value = this.parseValue();
}
public function getValue(){
return (this.value);
}
private function nextToken():JSONToken{
return ((this.token = this.tokenizer.getNextToken()));
}
private function parseArray():Array{
var _local1:Array = new Array();
this.nextToken();
if (this.token.type == JSONTokenType.RIGHT_BRACKET){
return (_local1);
};
while (true) {
_local1.push(this.parseValue());
this.nextToken();
if (this.token.type == JSONTokenType.RIGHT_BRACKET){
return (_local1);
};
if (this.token.type == JSONTokenType.COMMA){
this.nextToken();
} else {
this.tokenizer.parseError(("Expecting ] or , but found " + this.token.value));
};
};
return (null);
}
private function parseObject():Object{
var _local2:String;
var _local1:Object = new Object();
this.nextToken();
if (this.token.type == JSONTokenType.RIGHT_BRACE){
return (_local1);
};
while (true) {
if (this.token.type == JSONTokenType.STRING){
_local2 = String(this.token.value);
this.nextToken();
if (this.token.type == JSONTokenType.COLON){
this.nextToken();
_local1[_local2] = this.parseValue();
this.nextToken();
if (this.token.type == JSONTokenType.RIGHT_BRACE){
return (_local1);
};
if (this.token.type == JSONTokenType.COMMA){
this.nextToken();
} else {
this.tokenizer.parseError(("Expecting } or , but found " + this.token.value));
};
} else {
this.tokenizer.parseError(("Expecting : but found " + this.token.value));
};
} else {
this.tokenizer.parseError(("Expecting string but found " + this.token.value));
};
};
return (null);
}
private function parseValue():Object{
if (this.token == null){
this.tokenizer.parseError("Unexpected end of input");
};
switch (this.token.type){
case JSONTokenType.LEFT_BRACE:
return (this.parseObject());
case JSONTokenType.LEFT_BRACKET:
return (this.parseArray());
case JSONTokenType.STRING:
case JSONTokenType.NUMBER:
case JSONTokenType.TRUE:
case JSONTokenType.FALSE:
case JSONTokenType.NULL:
return (this.token.value);
default:
this.tokenizer.parseError(("Unexpected " + this.token.value));
};
return (null);
}
}
}//package com.adobe.serialization.json
Section 10
//JSONEncoder (com.adobe.serialization.json.JSONEncoder)
package com.adobe.serialization.json {
import flash.utils.*;
public class JSONEncoder {
private var jsonString:String;
public function JSONEncoder(_arg1){
this.jsonString = this.convertToString(_arg1);
}
public function getString():String{
return (this.jsonString);
}
private function convertToString(_arg1):String{
if ((_arg1 is String)){
return (this.escapeString((_arg1 as String)));
};
if ((_arg1 is Number)){
return ((isFinite((_arg1 as Number))) ? _arg1.toString() : "null");
} else {
if ((_arg1 is Boolean)){
return ((_arg1) ? "true" : "false");
} else {
if ((_arg1 is Array)){
return (this.arrayToString((_arg1 as Array)));
};
if ((((_arg1 is Object)) && (!((_arg1 == null))))){
return (this.objectToString(_arg1));
};
};
};
return ("null");
}
private function escapeString(_arg1:String):String{
var _local3:String;
var _local6:String;
var _local7:String;
var _local2 = "";
var _local4:Number = _arg1.length;
var _local5:int;
while (_local5 < _local4) {
_local3 = _arg1.charAt(_local5);
switch (_local3){
case "\"":
_local2 = (_local2 + "\\\"");
break;
case "\\":
_local2 = (_local2 + "\\\\");
break;
case "\b":
_local2 = (_local2 + "\\b");
break;
case "\f":
_local2 = (_local2 + "\\f");
break;
case "\n":
_local2 = (_local2 + "\\n");
break;
case "\r":
_local2 = (_local2 + "\\r");
break;
case "\t":
_local2 = (_local2 + "\\t");
break;
default:
if (_local3 < " "){
_local6 = _local3.charCodeAt(0).toString(16);
_local7 = ((_local6.length == 2)) ? "00" : "000";
_local2 = (_local2 + (("\\u" + _local7) + _local6));
} else {
_local2 = (_local2 + _local3);
};
};
_local5++;
};
return ((("\"" + _local2) + "\""));
}
private function arrayToString(_arg1:Array):String{
var _local2 = "";
var _local3:int;
while (_local3 < _arg1.length) {
if (_local2.length > 0){
_local2 = (_local2 + ",");
};
_local2 = (_local2 + this.convertToString(_arg1[_local3]));
_local3++;
};
return ((("[" + _local2) + "]"));
}
private function objectToString(_arg1:Object):String{
var value:Object;
var key:String;
var v:XML;
var o = _arg1;
var s = "";
var classInfo:XML = describeType(o);
if (classInfo.@name.toString() == "Object"){
for (key in o) {
value = o[key];
if ((value is Function)){
} else {
if (s.length > 0){
s = (s + ",");
};
s = (s + ((this.escapeString(key) + ":") + this.convertToString(value)));
};
};
} else {
for each (v in classInfo..*.(((name() == "variable")) || ((name() == "accessor")))) {
if (s.length > 0){
s = (s + ",");
};
s = (s + ((this.escapeString(v.@name.toString()) + ":") + this.convertToString(o[v.@name])));
};
};
return ((("{" + s) + "}"));
}
}
}//package com.adobe.serialization.json
Section 11
//JSONParseError (com.adobe.serialization.json.JSONParseError)
package com.adobe.serialization.json {
public class JSONParseError extends Error {
private var _location:int;
private var _text:String;
public function JSONParseError(_arg1:String="", _arg2:int=0, _arg3:String=""){
super(_arg1);
name = "JSONParseError";
this._location = _arg2;
this._text = _arg3;
}
public function get location():int{
return (this._location);
}
public function get text():String{
return (this._text);
}
}
}//package com.adobe.serialization.json
Section 12
//JSONToken (com.adobe.serialization.json.JSONToken)
package com.adobe.serialization.json {
public class JSONToken {
private var _type:int;
private var _value:Object;
public function JSONToken(_arg1:int=-1, _arg2:Object=null){
this._type = _arg1;
this._value = _arg2;
}
public function get type():int{
return (this._type);
}
public function set type(_arg1:int):void{
this._type = _arg1;
}
public function get value():Object{
return (this._value);
}
public function set value(_arg1:Object):void{
this._value = _arg1;
}
}
}//package com.adobe.serialization.json
Section 13
//JSONTokenizer (com.adobe.serialization.json.JSONTokenizer)
package com.adobe.serialization.json {
public class JSONTokenizer {
private var obj:Object;
private var jsonString:String;
private var loc:int;
private var ch:String;
public function JSONTokenizer(_arg1:String){
this.jsonString = _arg1;
this.loc = 0;
this.nextChar();
}
public function getNextToken():JSONToken{
var _local2:String;
var _local3:String;
var _local4:String;
var _local1:JSONToken = new JSONToken();
this.skipIgnored();
switch (this.ch){
case "{":
_local1.type = JSONTokenType.LEFT_BRACE;
_local1.value = "{";
this.nextChar();
break;
case "}":
_local1.type = JSONTokenType.RIGHT_BRACE;
_local1.value = "}";
this.nextChar();
break;
case "[":
_local1.type = JSONTokenType.LEFT_BRACKET;
_local1.value = "[";
this.nextChar();
break;
case "]":
_local1.type = JSONTokenType.RIGHT_BRACKET;
_local1.value = "]";
this.nextChar();
break;
case ",":
_local1.type = JSONTokenType.COMMA;
_local1.value = ",";
this.nextChar();
break;
case ":":
_local1.type = JSONTokenType.COLON;
_local1.value = ":";
this.nextChar();
break;
case "t":
_local2 = ((("t" + this.nextChar()) + this.nextChar()) + this.nextChar());
if (_local2 == "true"){
_local1.type = JSONTokenType.TRUE;
_local1.value = true;
this.nextChar();
} else {
this.parseError(("Expecting 'true' but found " + _local2));
};
break;
case "f":
_local3 = (((("f" + this.nextChar()) + this.nextChar()) + this.nextChar()) + this.nextChar());
if (_local3 == "false"){
_local1.type = JSONTokenType.FALSE;
_local1.value = false;
this.nextChar();
} else {
this.parseError(("Expecting 'false' but found " + _local3));
};
break;
case "n":
_local4 = ((("n" + this.nextChar()) + this.nextChar()) + this.nextChar());
if (_local4 == "null"){
_local1.type = JSONTokenType.NULL;
_local1.value = null;
this.nextChar();
} else {
this.parseError(("Expecting 'null' but found " + _local4));
};
break;
case "\"":
_local1 = this.readString();
break;
default:
if (((this.isDigit(this.ch)) || ((this.ch == "-")))){
_local1 = this.readNumber();
} else {
if (this.ch == ""){
return (null);
};
this.parseError((("Unexpected " + this.ch) + " encountered"));
};
};
return (_local1);
}
private function readString():JSONToken{
var _local3:String;
var _local4:int;
var _local1:JSONToken = new JSONToken();
_local1.type = JSONTokenType.STRING;
var _local2 = "";
this.nextChar();
while (((!((this.ch == "\""))) && (!((this.ch == ""))))) {
if (this.ch == "\\"){
this.nextChar();
switch (this.ch){
case "\"":
_local2 = (_local2 + "\"");
break;
case "/":
_local2 = (_local2 + "/");
break;
case "\\":
_local2 = (_local2 + "\\");
break;
case "b":
_local2 = (_local2 + "\b");
break;
case "f":
_local2 = (_local2 + "\f");
break;
case "n":
_local2 = (_local2 + "\n");
break;
case "r":
_local2 = (_local2 + "\r");
break;
case "t":
_local2 = (_local2 + "\t");
break;
case "u":
_local3 = "";
_local4 = 0;
while (_local4 < 4) {
if (!this.isHexDigit(this.nextChar())){
this.parseError((" Excepted a hex digit, but found: " + this.ch));
};
_local3 = (_local3 + this.ch);
_local4++;
};
_local2 = (_local2 + String.fromCharCode(parseInt(_local3, 16)));
break;
default:
_local2 = (_local2 + ("\\" + this.ch));
};
} else {
_local2 = (_local2 + this.ch);
};
this.nextChar();
};
if (this.ch == ""){
this.parseError("Unterminated string literal");
};
this.nextChar();
_local1.value = _local2;
return (_local1);
}
private function readNumber():JSONToken{
var _local1:JSONToken = new JSONToken();
_local1.type = JSONTokenType.NUMBER;
var _local2 = "";
if (this.ch == "-"){
_local2 = (_local2 + "-");
this.nextChar();
};
if (!this.isDigit(this.ch)){
this.parseError("Expecting a digit");
};
if (this.ch == "0"){
_local2 = (_local2 + this.ch);
this.nextChar();
if (this.isDigit(this.ch)){
this.parseError("A digit cannot immediately follow 0");
};
} else {
while (this.isDigit(this.ch)) {
_local2 = (_local2 + this.ch);
this.nextChar();
};
};
if (this.ch == "."){
_local2 = (_local2 + ".");
this.nextChar();
if (!this.isDigit(this.ch)){
this.parseError("Expecting a digit");
};
while (this.isDigit(this.ch)) {
_local2 = (_local2 + this.ch);
this.nextChar();
};
};
if ((((this.ch == "e")) || ((this.ch == "E")))){
_local2 = (_local2 + "e");
this.nextChar();
if ((((this.ch == "+")) || ((this.ch == "-")))){
_local2 = (_local2 + this.ch);
this.nextChar();
};
if (!this.isDigit(this.ch)){
this.parseError("Scientific notation number needs exponent value");
};
while (this.isDigit(this.ch)) {
_local2 = (_local2 + this.ch);
this.nextChar();
};
};
var _local3:Number = Number(_local2);
if (((isFinite(_local3)) && (!(isNaN(_local3))))){
_local1.value = _local3;
return (_local1);
};
this.parseError((("Number " + _local3) + " is not valid!"));
return (null);
}
private function nextChar():String{
return ((this.ch = this.jsonString.charAt(this.loc++)));
}
private function skipIgnored():void{
var _local1:int;
do {
_local1 = this.loc;
this.skipWhite();
this.skipComments();
} while (_local1 != this.loc);
}
private function skipComments():void{
if (this.ch == "/"){
this.nextChar();
switch (this.ch){
case "/":
do {
this.nextChar();
} while (((!((this.ch == "\n"))) && (!((this.ch == "")))));
this.nextChar();
break;
case "*":
this.nextChar();
while (true) {
if (this.ch == "*"){
this.nextChar();
if (this.ch == "/"){
this.nextChar();
break;
};
} else {
this.nextChar();
};
if (this.ch == ""){
this.parseError("Multi-line comment not closed");
};
};
break;
default:
this.parseError((("Unexpected " + this.ch) + " encountered (expecting '/' or '*' )"));
};
};
}
private function skipWhite():void{
while (this.isWhiteSpace(this.ch)) {
this.nextChar();
};
}
private function isWhiteSpace(_arg1:String):Boolean{
return ((((((((_arg1 == " ")) || ((_arg1 == "\t")))) || ((_arg1 == "\n")))) || ((_arg1 == "\r"))));
}
private function isDigit(_arg1:String):Boolean{
return ((((_arg1 >= "0")) && ((_arg1 <= "9"))));
}
private function isHexDigit(_arg1:String):Boolean{
var _local2:String = _arg1.toUpperCase();
return (((this.isDigit(_arg1)) || ((((_local2 >= "A")) && ((_local2 <= "F"))))));
}
public function parseError(_arg1:String):void{
throw (new JSONParseError(_arg1, this.loc, this.jsonString));
}
}
}//package com.adobe.serialization.json
Section 14
//JSONTokenType (com.adobe.serialization.json.JSONTokenType)
package com.adobe.serialization.json {
public class JSONTokenType {
public static const UNKNOWN:int = -1;
public static const COMMA:int = 0;
public static const LEFT_BRACE:int = 1;
public static const RIGHT_BRACE:int = 2;
public static const LEFT_BRACKET:int = 3;
public static const RIGHT_BRACKET:int = 4;
public static const COLON:int = 6;
public static const TRUE:int = 7;
public static const FALSE:int = 8;
public static const NULL:int = 9;
public static const STRING:int = 10;
public static const NUMBER:int = 11;
}
}//package com.adobe.serialization.json
Section 15
//IntUtil (com.adobe.utils.IntUtil)
package com.adobe.utils {
public class IntUtil {
private static var hexChars:String = "0123456789abcdef";
public static function rol(_arg1:int, _arg2:int):int{
return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2))));
}
public static function ror(_arg1:int, _arg2:int):uint{
var _local3:int = (32 - _arg2);
return (((_arg1 << _local3) | (_arg1 >>> (32 - _local3))));
}
public static function toHex(_arg1:int, _arg2:Boolean=false):String{
var _local4:int;
var _local5:int;
var _local3 = "";
if (_arg2){
_local4 = 0;
while (_local4 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> (((3 - _local4) * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> ((3 - _local4) * 8)) & 15))));
_local4++;
};
} else {
_local5 = 0;
while (_local5 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> ((_local5 * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> (_local5 * 8)) & 15))));
_local5++;
};
};
return (_local3);
}
}
}//package com.adobe.utils
Section 16
//APIConnector (com.newgrounds.components.APIConnector)
package com.newgrounds.components {
import com.newgrounds.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class APIConnector extends MovieClip {
public var errorDialog:MovieClip;
public var background:MovieClip;
public var viewLatestButton:SimpleButton;
public var closeButton:SimpleButton;
public var viewAuthorizedButton:SimpleButton;
private var _initialized:Boolean;
private var _movieId:String;
private var _encryptionKey:String;
private var _movieVersion:String;
private var _showConnectingPopup:Boolean;// = true
private var _useErrorPopup:Boolean;// = true
private var _medalPopup:MedalPopup;
private var _popDelay:Timer;
public function APIConnector(){
this._popDelay = new Timer(3000, 1);
super();
addFrameScript(0, this.frame1, 6, this.frame7, 7, this.frame8);
if (((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")))){
return;
};
this.useErrorPopup = true;
this.useMedalPopup = true;
this._popDelay.addEventListener(TimerEvent.TIMER, this.errorTimerHandler);
addEventListener(Event.ENTER_FRAME, this.enterFrameHandler);
if (stage){
addEventListener(Event.RENDER, this.renderHandler);
stage.invalidate();
} else {
this.clear();
};
}
public function get movieId():String{
return (this._movieId);
}
public function set movieId(_arg1:String):void{
this._movieId = _arg1;
}
public function get encryptionKey():String{
return (this._encryptionKey);
}
public function set encryptionKey(_arg1:String):void{
this._encryptionKey = _arg1;
}
public function get movieVersion():String{
return (this._movieVersion);
}
public function set movieVersion(_arg1:String):void{
this._movieVersion = _arg1;
}
public function get debugMode():Boolean{
return (API.debugMode);
}
public function set debugMode(_arg1:Boolean):void{
API.debugMode = true;
}
public function get useMedalPopup():Boolean{
return (!((this._medalPopup == null)));
}
public function set useMedalPopup(_arg1:Boolean):void{
if (((_arg1) && (!(this._medalPopup)))){
this._medalPopup = new MedalPopup();
addChild(this._medalPopup);
} else {
if (((!(_arg1)) && (this._medalPopup))){
removeChild(this._medalPopup);
this._medalPopup = null;
};
};
}
public function get useErrorPopup():Boolean{
return (this._useErrorPopup);
}
public function set useErrorPopup(_arg1:Boolean):void{
this._useErrorPopup = _arg1;
API.addEventListener(APIEvent.API_CONNECTED, this.movieConnectedHandler);
if (this._useErrorPopup){
API.addEventListener(APIEvent.NEW_VERSION_AVAILABLE, this.newVersionAvailableHandler);
API.addEventListener(APIEvent.HOST_BLOCKED, this.hostBlockedHandler);
} else {
API.removeEventListener(APIEvent.NEW_VERSION_AVAILABLE, this.newVersionAvailableHandler);
API.removeEventListener(APIEvent.HOST_BLOCKED, this.hostBlockedHandler);
};
}
public function get showConnectingPopup():Boolean{
return (this._showConnectingPopup);
}
public function set showConnectingPopup(_arg1:Boolean):void{
this._showConnectingPopup = _arg1;
if (((!(_arg1)) && ((((currentLabel == "connecting")) || ((currentLabel == "connected")))))){
this.clear();
};
}
public function clear():void{
gotoAndStop("idle");
}
public function connect():void{
API.setVersion(this._movieVersion);
API.connect(root.loaderInfo, this._movieId, this._encryptionKey);
visible = true;
if (this.showConnectingPopup){
gotoAndStop("connecting");
};
}
private function renderHandler(_arg1:Event):void{
removeEventListener(Event.RENDER, this.renderHandler);
this.clear();
this.connect();
}
private function movieConnectedHandler(_arg1:APIEvent):void{
if (_arg1.success){
if (((((((API.isPublishedHost()) && (API.IsCompatible()))) && (!(API.hasUserSession())))) && (!(API.debugMode)))){
gotoAndStop("no_login");
this._popDelay.start();
visible = true;
} else {
if (this.showConnectingPopup){
gotoAndStop("connected");
};
};
} else {
gotoAndStop("no_connect");
this._popDelay.start();
visible = true;
};
}
private function newVersionAvailableHandler(_arg1:APIEvent):void{
gotoAndStop("new_version");
visible = true;
this.centerOnStage();
}
private function hostBlockedHandler(_arg1:APIEvent):void{
gotoAndStop("bad_host");
visible = true;
this.centerOnStage();
}
private function closeButtonClickHandler(_arg1:Event):void{
this.clear();
}
private function officialVersionClickHandler(_arg1:Event):void{
API.loadOfficialVersion();
}
private function enterFrameHandler(_arg1:Event):void{
this.forceAlwaysOnTop();
}
private function initButtons():void{
if (this.viewLatestButton){
this.viewLatestButton.addEventListener(MouseEvent.CLICK, this.officialVersionClickHandler);
};
if (this.viewAuthorizedButton){
this.viewAuthorizedButton.addEventListener(MouseEvent.CLICK, this.officialVersionClickHandler);
};
if (this.closeButton){
this.closeButton.addEventListener(MouseEvent.CLICK, this.closeButtonClickHandler);
};
}
private function forceAlwaysOnTop():void{
var myIndex:uint;
var topIndex:uint;
if (((parent) && (visible))){
try {
myIndex = parent.getChildIndex(this);
topIndex = (parent.numChildren - 1);
if (myIndex != topIndex){
parent.setChildIndex(this, topIndex);
};
} catch(e:Error) {
};
};
}
private function centerOnStage():void{
if (stage){
x = (stage.stageWidth / 2);
y = (stage.stageHeight / 2);
};
}
private function errorTimerHandler(_arg1:TimerEvent):void{
if (this.errorDialog){
this.errorDialog.gotoAndPlay("closeme");
} else {
this.clear();
};
}
function frame1(){
stop();
}
function frame7(){
this.initButtons();
}
function frame8(){
this.initButtons();
}
}
}//package com.newgrounds.components
Section 17
//FlashAd (com.newgrounds.components.FlashAd)
package com.newgrounds.components {
import com.newgrounds.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class FlashAd extends Sprite {
public var background:MovieClip;
private var _showBackground:Boolean;
private var _adURLLoader:URLLoader;
private var _adRect:Sprite;
private var _mask:Shape;
private var _ad:Loader;
private static const DEBUG_AD_URL:String = "http://www.ngads.com/adtest.php";
private static const REMOVED_FROM_STAGE:String = "removedFromStage";
private static var _adResetTime:uint = 0;
private static var _adURL:URLRequest;
public function FlashAd(_arg1:Boolean=true){
if (((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")))){
return;
};
this._adRect = new Sprite();
this._adRect.graphics.beginFill(0);
this._adRect.graphics.moveTo(0, 0);
this._adRect.graphics.lineTo(300, 0);
this._adRect.graphics.lineTo(300, 250);
this._adRect.graphics.lineTo(0, 250);
this._adRect.graphics.lineTo(0, 0);
this._adRect.graphics.endFill();
this._mask = new Shape();
this._mask.graphics.beginFill(0);
this._mask.graphics.moveTo(0, 0);
this._mask.graphics.lineTo(300, 0);
this._mask.graphics.lineTo(300, 250);
this._mask.graphics.lineTo(0, 250);
this._mask.graphics.lineTo(0, 0);
this._mask.graphics.endFill();
addChild(this._adRect);
this._adRect.addChild(this._mask);
this._adRect.visible = false;
x = Math.round(x);
y = Math.round(y);
scaleX = 1;
scaleY = 1;
if (this.background){
if (this.background.ngLinkButton){
this.background.ngLinkButton.addEventListener(MouseEvent.CLICK, this.linkClickHandler);
};
if (this.background.loadingClip){
this.background.loadingClip.visible = false;
};
};
if (API.isFlashVersion(9, 0, 28)){
addEventListener(REMOVED_FROM_STAGE, this.onRemovedFromStage);
};
if (API.adsApproved){
this.loadAdFeed(API.adFeedURL);
} else {
API.addEventListener(APIEvent.ADS_APPROVED, this.onAdsApproved, false, 0, true);
};
this.showBackground = _arg1;
}
public function get showBackground():Boolean{
return (this._showBackground);
}
public function set showBackground(_arg1:Boolean):void{
this._showBackground = _arg1;
if (this.background){
this.background.visible = _arg1;
this._adRect.mask = (_arg1) ? this.background.adMask : null;
};
}
public function removeAd():void{
removeEventListener(REMOVED_FROM_STAGE, this.onRemovedFromStage);
if (((this.background) && (this.background.loadingClip))){
this.background.loadingClip.visible = false;
};
if (this._adURLLoader){
try {
this._adURLLoader.close();
} catch(e:Error) {
};
};
if (this._adRect){
this._adRect.visible = false;
};
if (this._ad){
trace("[NewgroundsAPI] :: Ad removed");
try {
this._ad.close();
} catch(e:Error) {
};
try {
Object(this._ad).unloadAndStop(true);
} catch(e:Error) {
_ad.unload();
};
if (this._ad.parent){
this._ad.parent.removeChild(this._ad);
};
};
this._ad = null;
}
private function onAdsApproved(_arg1:APIEvent):void{
API.removeEventListener(APIEvent.ADS_APPROVED, this.onAdsApproved, false);
if (_arg1.success){
this.loadAdFeed(API.adFeedURL);
} else {
trace("[NewgroundsAPI] :: No ad feed URL supplied to Newgrounds API ad!");
};
}
private function loadAdFeed(_arg1:String):void{
var adFeedURL = _arg1;
this._adURLLoader = new URLLoader();
this._adURLLoader.addEventListener(Event.COMPLETE, this.onAdFeedLoaded);
this._adURLLoader.addEventListener(IOErrorEvent.IO_ERROR, this.onAdError);
this._adURLLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onAdError);
if (!adFeedURL){
trace("[Newgrounds API] :: Invalid feed URL!");
return;
};
if (this.hasAdElapsed){
if (adFeedURL.indexOf("?") > -1){
_adURL = new URLRequest(((adFeedURL + "&random=") + Math.random()));
} else {
_adURL = new URLRequest(((adFeedURL + "?random=") + Math.random()));
};
};
try {
this._adURLLoader.load(_adURL);
} catch(e:Error) {
onAdError(null);
};
if (((this.background) && (this.background.loadingClip))){
this.background.loadingClip.visible = true;
};
}
private function loadAd(_arg1:String):void{
if (this._ad){
this.removeAd();
};
this._ad = new Loader();
this._ad.contentLoaderInfo.addEventListener(Event.COMPLETE, this.onAdLoaded);
this._ad.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, this.onAdError);
this._ad.load(new URLRequest(_arg1), new LoaderContext(false, new ApplicationDomain(null)));
if (((this.background) && (this.background.loadingClip))){
this.background.loadingClip.visible = true;
};
}
private function onAdFeedLoaded(_arg1:Event):void{
var _local2:URLLoader = URLLoader(_arg1.target);
if (((_local2.data) && (!((_local2.data == ""))))){
this.loadAd((_local2.data as String));
} else {
dispatchEvent(new APIEvent(APIEvent.AD_ATTACHED, false, new APIError("FLASH_ADS_NOT_APPROVED", "Unable to render ad")));
if (((this.background) && (this.background.loadingClip))){
this.background.loadingClip.visible = false;
};
};
}
private function onAdFeedError(_arg1:Event):void{
trace("[NewgroundsAPI] :: Unable to load ad feed!");
if (((this.background) && (this.background.loadingClip))){
this.background.loadingClip.visible = false;
};
}
private function onAdError(_arg1:Event):void{
dispatchEvent(new APIEvent(APIEvent.AD_ATTACHED, false, new APIError("FLASH_ADS_NOT_APPROVED", "Unable to render ad")));
this.removeAd();
}
private function onAdLoaded(_arg1:Event):void{
this._adRect.addChild(this._ad);
this._ad.mask = this._mask;
this._adRect.visible = true;
if (this.background){
if (this._showBackground){
this._adRect.mask = this.background.adMask;
};
if (this.background.loadingClip){
this.background.loadingClip.visible = false;
};
};
trace("[NewgroundsAPI] :: Ad loaded!");
dispatchEvent(new APIEvent(APIEvent.AD_ATTACHED, true));
}
private function onRemovedFromStage(_arg1:Event):void{
this.removeAd();
}
private function get hasAdElapsed():Boolean{
if (getTimer() >= _adResetTime){
_adResetTime = (getTimer() + ((1000 * 60) * 5));
return (true);
};
return (false);
}
private function linkClickHandler(_arg1:MouseEvent):void{
API.loadNewgrounds();
}
}
}//package com.newgrounds.components
Section 18
//MedalPopup (com.newgrounds.components.MedalPopup)
package com.newgrounds.components {
import com.newgrounds.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
public class MedalPopup extends MovieClip {
public var medalNameText:TextField;
public var medalValueText:TextField;
public var medalContainer:Sprite;
private var _initialized:Boolean;
private var _medal:Medal;
private var _medalIcon:Bitmap;
private var _medalQueue:Array;
private var _popDelay:Timer;
public function MedalPopup(){
this._medalQueue = [];
this._popDelay = new Timer(3000, 1);
super();
addFrameScript(0, this.frame1, 9, this.frame10, 18, this.frame19);
if (((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")))){
return;
};
visible = false;
addEventListener(Event.ENTER_FRAME, this.enterFrameHandler);
stop();
API.addEventListener(APIEvent.MEDAL_UNLOCKED, this.onMedalUnlocked, false, 0, true);
this._popDelay.addEventListener(TimerEvent.TIMER, this.timerHandler);
}
public function get popupTime():Number{
return ((this._popDelay.delay / 1000));
}
public function set popupTime(_arg1:Number):void{
if (isNaN(_arg1)){
_arg1 = 3;
};
this._popDelay.delay = (_arg1 * 1000);
}
private function enterFrameHandler(_arg1:Event):void{
var myIndex:uint;
var topIndex:uint;
var event = _arg1;
if (((this._medalQueue.length) && (!(visible)))){
this._medal = this._medalQueue.pop();
this._popDelay.start();
gotoAndPlay("medal_show");
visible = true;
};
if (((visible) && (parent))){
try {
myIndex = parent.getChildIndex(this);
topIndex = (parent.numChildren - 1);
if (myIndex != topIndex){
parent.setChildIndex(this, topIndex);
};
} catch(error:Error) {
};
};
}
private function onMedalUnlocked(_arg1:APIEvent):void{
if (((((_arg1.success) && (_arg1.data))) && ((_arg1.data is Medal)))){
this._medalQueue.push(Medal(_arg1.data));
};
}
private function showMedalInfo():void{
if (!this._medal){
return;
};
if (this.medalContainer){
this._medalIcon = this._medal.createIconBitmap();
this.medalContainer.addChild(this._medalIcon);
};
if (this.medalNameText){
this.medalNameText.text = this._medal.name;
};
if (this.medalValueText){
this.medalValueText.text = (this._medal.value.toString() + "pts");
};
this._popDelay.start();
stop();
}
private function timerHandler(_arg1:TimerEvent):void{
if (((this._medalIcon) && (this._medalIcon.parent))){
this._medalIcon.parent.removeChild(this._medalIcon);
this._medalIcon = null;
};
gotoAndPlay("medal_hide");
this._popDelay.stop();
}
function frame1(){
stop();
}
function frame10(){
this.showMedalInfo();
stop();
}
function frame19(){
stop();
visible = false;
}
}
}//package com.newgrounds.components
Section 19
//API (com.newgrounds.API)
package com.newgrounds {
import flash.display.*;
import flash.events.*;
import com.newgrounds.components.*;
import flash.utils.*;
import com.adobe.serialization.json.*;
import flash.net.*;
import com.adobe.images.*;
import com.adobe.crypto.*;
import flash.system.*;
public class API {
public static const VERSION:String = "2.9";
private static const GATEWAY_URL:String = "http://www.ngads.com/gateway_v2.php";
private static const AD_TERMS_URL:String = "http://www.newgrounds.com/wiki/flashads/terms/";
private static const COMMANDS_WIKI_URL:String = "http://www.newgrounds.com/wiki/flashapi/commands/";
private static var do_echo:Boolean = false;
private static var _debug:Boolean = true;
private static var _connected:Boolean = false;
private static var _isMetadataLoaded:Boolean = false;
private static var _preloadComplete:Boolean = false;
private static var _adsApproved:Boolean = false;
private static var _saveGroupId:uint;
private static var _saveFileId:uint;
private static var _trackerId:uint;
private static var _movieId:String;
private static var _encryptionKey:String;
private static var _url:String;
private static var _host:String;
private static var connected:Boolean;
private static var version:String;
private static var ad_url:String;
private static var publisher_id:uint;
private static var session_id:String;
private static var user_email:String;
private static var user_name:String;
private static var user_id:uint;
private static var userpage_format:String;
private static var _medals:Array;
private static var timeoutTimer:Timer = new Timer(8000, 1);
private static var _userpageFormat:String;
private static var _scoreboards:Array = new Array();
private static var _bridge:Bridge;
private static var _saveFile:SaveFile;
private static var _imageFilePath:String;
private static var _saveFilePath:String;
private static var _saveGroups:Array = [];
private static var root:DisplayObject;
private static var _eventDispatcher:EventDispatcher = new EventDispatcher();
private static var score_page_counts:Object = new Object();
private static var compression_radix:String = "/g8236klvBQ#&|;Zb*7CEA59%s`Oue1wziFp$rDVY@TKxUPWytSaGHJ>dmoMR^<0~4qNLhc(I+fjn)X";
private static var compressor:BaseN = new BaseN(compression_radix);
public static var errors:Dictionary = APIError.init_codes();
private static var sharedObjects:Dictionary = new Dictionary();
private static var _preloadAssets:Array = [];
public static var periods:Object = getPeriodAliases();
private static var period_aliases:Object = {t:{name:"Today", alias:"TODAY"}, p:{name:"Yesterday", alias:"YESTERDAY"}, w:{name:"This Week", alias:"THIS_WEEK"}, m:{name:"This Month", alias:"THIS_MONTH"}, y:{name:"This Year", alias:"THIS_YEAR"}, a:{name:"All-Time", alias:"ALL_TIME"}};
private static var secureCommand:String;
public static function get adFeedURL():String{
return (ad_url);
}
public static function get preloadComplete():Boolean{
return (_preloadComplete);
}
private static function assertConnected():Boolean{
if (!_connected){
return (false);
};
return (true);
}
public static function setVersion(_arg1:String):void{
if (((_arg1) && (!((_arg1 == ""))))){
version = _arg1;
};
}
public static function setUserEmail(_arg1:String):void{
user_email = _arg1;
}
public static function get debugMode():Boolean{
return (_debug);
}
public static function set debugMode(_arg1:Boolean):void{
_debug = _arg1;
}
public static function getTrackerID():uint{
return (_trackerId);
}
public static function getUserID():uint{
return (user_id);
}
public static function getUserName():String{
return (user_name);
}
public static function isConnected():Boolean{
return (_connected);
}
public static function getOfficialURL():String{
var _local1:String = ((((((GATEWAY_URL + "?tracker_id=") + _movieId) + "&command_id=") + getCommandID("loadOfficalVersion")) + "&seed=") + Math.random());
if (debugMode){
_local1 = (_local1 + "&debug=1");
};
return (_local1);
}
public static function get adsApproved():Boolean{
return (_adsApproved);
}
public static function hasUserSession():Boolean{
return (((((!((session_id == null))) && (!((session_id == ""))))) && (!((publisher_id == 0)))));
}
public static function isNewgrounds():Boolean{
return ((((publisher_id == 1)) || ((getHost().toLowerCase().indexOf("ungrounded.net") > -1))));
}
public static function IsCompatible():Boolean{
return (!((publisher_id == 0)));
}
public static function hasUserEmail():Boolean{
return (((!((user_email == null))) && (!((user_email == "")))));
}
public static function connectionTimeOut(_arg1:Event=null):void{
dispatchEvent(new APIEvent(APIEvent.API_CONNECTED, false, new APIError("CONNECTION_FAILED", "Connection to NewgroundsAPI gateway timed out.")));
}
public static function connect(_arg1:LoaderInfo, _arg2:String, _arg3:String=null):void{
var loaderInfo = _arg1;
var m_id = _arg2;
var encrypt_key = _arg3;
if (!loaderInfo){
fatalError("Null loaderInfo paremeter passed in to connectMovie!", "");
return;
};
try {
if (loaderInfo.loader){
loaderInfo = loaderInfo.loader.loaderInfo;
};
} catch(error:Error) {
};
_url = loaderInfo.url;
_host = _url;
if ((((_host.indexOf("http://") > -1)) || ((_host.indexOf("https://") > -1)))){
_host = _host.split("/")[2].toLowerCase();
} else {
_host = "localhost";
};
var flashVars:Object = loaderInfo.parameters;
if (isPublishedHost()){
debugMode = false;
};
if (((!(debugMode)) && (flashVars))){
if (flashVars.NewgroundsAPI_UserName){
user_name = flashVars.NewgroundsAPI_UserName;
};
if (flashVars.NewgroundsAPI_UserID){
user_id = flashVars.NewgroundsAPI_UserID;
};
if (flashVars.NewgroundsAPI_PublisherID){
publisher_id = flashVars.NewgroundsAPI_PublisherID;
} else {
publisher_id = 1;
};
if (flashVars.NewgroundsAPI_UserpageFormat){
_userpageFormat = flashVars.NewgroundsAPI_UserpageFormat;
};
if (flashVars.NewgroundsAPI_SessionID){
session_id = flashVars.NewgroundsAPI_SessionID;
};
if (flashVars.NewgroundsAPI_SaveGroupID){
_saveGroupId = flashVars.NewgroundsAPI_SaveGroupID;
};
if (flashVars.NewgroundsAPI_SaveFileID){
_saveFileId = flashVars.NewgroundsAPI_SaveFileID;
};
if (flashVars.NewgroundsAPI_SandboxID){
_bridge = new Bridge(flashVars.NewgroundsAPI_SandboxID);
};
} else {
publisher_id = 1;
session_id = "D3bu64p1U53R";
user_id = 10;
user_name = "API-Debugger";
};
if (connected){
fatalError("NewgroundsAPI.connect() - connection already in progress", "connect");
return;
};
timeoutTimer.start();
if (!m_id){
fatalError("NewgroundsAPI.connectMovie() - missing required movieId parameter", "connectMovie");
};
_movieId = String(m_id);
_trackerId = uint(_movieId.substring(0, _movieId.indexOf(":")));
_encryptionKey = encrypt_key;
connected = true;
sendCommand("connectMovie", {host:getHost(), movie_version:version});
}
private static function getHost():String{
return (_host);
}
public static function isPublishedHost():Boolean{
return (((!((getHost() == "localhost"))) && ((getHost().indexOf("file://") == -1))));
}
public static function loadUserPage(_arg1:uint=0, _arg2:String=null):Boolean{
var _local3:String;
if ((((_arg1 == 0)) && ((_arg2 == null)))){
if (hasUserSession()){
_arg1 = user_id;
_arg2 = user_name;
} else {
return (false);
};
};
if (publisher_id == 1){
_local3 = (("http://" + _arg2.toLowerCase()) + ".newgrounds.com");
navigateToURL(new URLRequest(_local3), "_blank");
return (true);
};
if (userpage_format){
_local3 = userpage_format;
_local3 = _local3.split(":user_id:").join(_arg1.toString());
_local3 = _local3.split(":user_name:").join(escape(_arg2));
navigateToURL(new URLRequest(_local3), "_blank");
return (true);
};
return (false);
}
public static function loadNewgrounds():void{
sendCommand("loadNewgrounds", {host:getHost()}, true);
}
public static function loadOfficialVersion():void{
navigateToURL(new URLRequest(getOfficialURL()));
}
public static function loadMySite():void{
sendCommand("loadMySite", {host:getHost()}, true);
}
public static function loadCustomLink(_arg1:String):void{
sendCommand("loadCustomLink", {host:getHost(), link:_arg1}, true);
}
public static function logCustomEvent(_arg1:String):void{
sendCommand("logCustomEvent", {host:getHost(), event:_arg1});
}
public static function getScoreBoardByName(_arg1:String):ScoreBoard{
var _local2:ScoreBoard;
for each (_local2 in _scoreboards) {
if (_local2.name == _arg1){
return (_local2);
};
};
return (null);
}
public static function getScoreBoardById(_arg1:uint):ScoreBoard{
var _local2:ScoreBoard;
for each (_local2 in _scoreboards) {
if (_local2.id == _arg1){
return (_local2);
};
};
return (null);
}
public static function postScore(_arg1:String, _arg2:uint, _arg3:String=""):void{
if (((!(_arg1)) || ((_arg1 == "")))){
sendError({command_id:getCommandID("postScore")}, new APIError("MISSING_PARAM", "missing required parameter(s)"));
return;
};
if (_arg3 == null){
_arg3 = "";
};
sendSecureCommand("postScore", {user_name:user_name, board:_arg1, value:_arg2, publisher_id:publisher_id, tag:_arg3});
}
public static function loadScores(_arg1:ScoreBoard, _arg2:String=null):void{
var _local3 = "loadScores";
if (!_arg1.id){
sendError({command_id:getCommandID(_local3)}, new APIError("MISSING_PARAM", "missing required ScoreBoard instance"));
return;
};
var _local4:Object = {};
_local4.publisher_id = publisher_id;
_local4.period = _arg1.period;
_local4.board = _arg1.id;
_local4.num_results = _arg1.num_results;
_local4.page = _arg1.page;
if (((!(_arg2)) || ((_arg2 == "")))){
_local4.tag = _arg1.tag;
} else {
_local4.tag = _arg2;
};
sendCommand(_local3, _local4);
}
public static function loadScoresInRange(_arg1:String, _arg2:String="All-Time", _arg3:uint=1, _arg4:uint=10):void{
if (((!(_arg1)) || ((_arg1 == "")))){
sendError({command_id:getCommandID("postScore")}, new APIError("MISSING_PARAM", "missing required parameter(s)"));
return;
};
var _local5:ScoreBoard = getScoreBoardByName(_arg1);
if (_local5){
_local5.loadScoresInRange(_arg2, _arg3, _arg4);
} else {
sendWarning((("loadScoresInRange: Scoreboard " + _arg1) + " could not be found."));
};
}
private static function populateMedals(_arg1:Array):void{
var _local2:uint;
var _local3:Object;
if (_medals === null){
_medals = new Array();
_local2 = 0;
while (_local2 < _arg1.length) {
_local3 = _arg1[_local2];
_medals.push(Medal.createFromObject(_local3));
_local2++;
};
};
sendMessage("Medals loaded!");
}
private static function populateSaveGroups(_arg1:Array):void{
var _local3:SaveGroup;
_saveGroups = [];
var _local2:uint;
while (_local2 < _arg1.length) {
_local3 = SaveGroup.createFromObject(_arg1[_local2]);
_saveGroups.push(_local3);
_local2++;
};
}
private static function populateScoreBoards(_arg1:Array):void{
_scoreboards = [];
var _local2:uint;
while (_local2 < _arg1.length) {
_scoreboards.push(new ScoreBoard(_arg1[_local2].id, _arg1[_local2].name, ""));
_local2++;
};
}
public static function get medals():Array{
return ((_medals) ? _medals.concat() : []);
}
public static function getMedalById(_arg1:uint):Medal{
var _local2:Medal;
for each (_local2 in _medals) {
if (_local2.id == _arg1){
return (_local2);
};
};
return (null);
}
public static function getMedalByName(_arg1:String):Medal{
var _local2:Medal;
for each (_local2 in _medals) {
if (_local2.name == _arg1){
return (_local2);
};
};
return (null);
}
public static function unlockMedal(_arg1:String):void{
var _local3:Object;
var _local4:Object;
if (((!(_arg1)) || ((_arg1 == "")))){
sendError({command_id:getCommandID("unlockMedal")}, new APIError("MISSING_PARAM", "missing required medal name"));
return;
};
var _local2:Medal = getMedalByName(_arg1);
if (!_local2){
sendMessage(("No medal with name: " + _arg1));
return;
};
if (((hasUserSession()) || (debugMode))){
sendMessage((("Attempting to unlock '" + _local2.name) + "'"));
if (_local2.unlocked){
sendWarning((("Medal '" + _local2.name) + "' is already unlocked!"));
return;
};
_local3 = new Object();
_local3.medal_id = _local2.id;
sendSecureCommand("unlockMedal", _local3);
} else {
sendMessage(("Locally unlocking " + _local2.name));
if (_local2.unlocked){
sendWarning((("Medal '" + _local2.name) + "' is already unlocked!"));
return;
};
_local2.unlocked = true;
_local4 = loadLocal("medals_unlocked");
if (!_local4){
_local4 = new Object();
};
_local4[_local2.id.toString()] = true;
saveLocal("medals_unlocked", _local4);
callListener(APIEvent.MEDAL_UNLOCKED, true, _local2);
};
}
public static function loadMedals():void{
if (_medals){
dispatchEvent(new APIEvent(APIEvent.MEDALS_LOADED, true, medals));
return;
};
var _local1:Object = new Object();
if (hasUserSession()){
_local1.publisher_id = publisher_id;
_local1.user_id = user_id;
};
sendCommand("getMedals", _local1);
}
public static function saveLocal(_arg1:String, _arg2:Object, _arg3:uint=0):void{
var sharedObj:SharedObject;
var save_id = _arg1;
var save_data = _arg2;
var size_allocation = _arg3;
try {
if (!sharedObjects[save_id]){
sharedObjects[save_id] = SharedObject.getLocal(((("ng_ap_secure_" + _trackerId) + "_") + save_id));
};
sharedObj = sharedObjects[save_id];
sharedObj.data[save_id] = encodeData(save_data);
sharedObj.flush();
} catch(e:Error) {
sendWarning(("saveLocal ERROR: " + e));
};
}
public static function loadLocal(_arg1:String):Object{
var sharedObj:SharedObject;
var save_id = _arg1;
try {
if (!sharedObjects[save_id]){
sharedObjects[save_id] = SharedObject.getLocal(((("ng_ap_secure_" + _trackerId) + "_") + save_id));
};
sharedObj = sharedObjects[save_id];
if (((((sharedObj) && (sharedObj.data))) && (sharedObj.data[save_id]))){
return (decodeData(sharedObj.data[save_id]));
} else {
return (null);
};
} catch(e:Error) {
sendWarning(("loadLocal ERROR: " + e));
};
return (null);
}
public static function encodeData(_arg1:Object):String{
return (compressHex(RC4.encrypt(JSON.encode(_arg1), _encryptionKey)));
}
public static function decodeData(_arg1:String){
return (JSON.decode(RC4.decrypt(uncompressHex(_arg1), _encryptionKey)));
}
private static function compressHex(_arg1:String):String{
var _local2:uint = (_arg1.length % 6);
var _local3 = "";
var _local4:uint;
while (_local4 < _arg1.length) {
_local3 = (_local3 + compressor.encode(uint(("0x" + _arg1.substr(_local4, 6))), 4));
_local4 = (_local4 + 6);
};
return ((_local2.toString() + _local3));
}
private static function uncompressHex(_arg1:String):String{
var _local4:uint;
var _local6:String;
var _local7:uint;
var _local8:String;
var _local2:uint = uint(_arg1.charAt(0));
var _local3 = "";
var _local5:uint = 1;
while (_local5 < _arg1.length) {
_local6 = _arg1.substr(_local5, 4);
_local7 = uint(compressor.decode(_local6));
_local8 = _local7.toString(16);
if ((_local5 + 4) < _arg1.length){
_local4 = 6;
} else {
_local4 = _local2;
};
while (_local8.length < _local4) {
_local8 = ("0" + _local8);
};
_local3 = (_local3 + _local8);
_local5 = (_local5 + 4);
};
return (_local3);
}
public static function getSaveGroupById(_arg1:uint):SaveGroup{
if (((!(_saveGroups)) || ((_saveGroups.length < 1)))){
sendWarning("No save groups found");
return (null);
};
var _local2:uint;
while (_local2 < _saveGroups.length) {
if (_saveGroups[_local2].id == _arg1){
return (_saveGroups[_local2]);
};
_local2++;
};
return (null);
}
public static function getSaveGroupByName(_arg1:String):SaveGroup{
if (((!(_saveGroups)) || ((_saveGroups.length < 1)))){
sendWarning("No save groups found");
return (null);
};
var _local2:uint;
while (_local2 < _saveGroups.length) {
if (_saveGroups[_local2].name == _arg1){
return (_saveGroups[_local2]);
};
_local2++;
};
return (null);
}
public static function createSaveQuery(_arg1:String):SaveGroupQuery{
var _local2:SaveGroup = getSaveGroupByName(_arg1);
if (_local2){
return (_local2.createQuery());
};
return (null);
}
public static function executeSaveQuery(_arg1:SaveGroupQuery):void{
sendCommand("lookupSaveFiles", {publisher_id:publisher_id, group_id:_arg1.groupId, query:JSON.encode(_arg1.toObject())}, false, null, _arg1);
}
public static function checkFilePrivledges(_arg1:SaveFile):void{
sendCommand("checkFilePrivs", {group:_arg1.groupId, filename:_arg1.name, user_id:(user_id) ? user_id : 0, publisher_id:publisher_id});
}
public static function newSaveFile(_arg1:String):SaveFile{
var _local2:SaveGroup = getSaveGroupByName(_arg1);
if (_local2){
return (new SaveFile(_local2));
};
sendError({command_id:"newSaveFile"}, new APIError("INVALID_SAVE_GROUP", (("'" + _local2) + "' is not a valid save group.")));
return (null);
}
public static function saveFile(_arg1:SaveFile, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local4:Object = _arg1.toObject();
_local4.user_name = user_name;
if (_arg1.id){
_local4.save_id = _arg1.id;
};
_local4.overwrite = (_arg3) ? 1 : 0;
if (_arg2){
_local4.draft = 1;
};
var _local5:ByteArray = new ByteArray();
if ((_arg1.contents is ByteArray)){
_local5.writeByte(0);
_local5.writeBytes(_arg1.contents);
} else {
_local5.writeByte(1);
_local5.writeObject(_arg1.contents);
};
_local5.compress();
var _local6:Object = new Object();
_local6.file = _local5;
if (_arg1.thumbnail){
_local6.thumbnail = PNGEncoder.encode(_arg1.thumbnail);
};
sendSecureCommand("saveFile", _local4, null, _local6, _arg1);
}
public static function rateSaveFile(_arg1:SaveFile, _arg2:SaveRating, _arg3:Number):void{
sendSecureCommand("rateSaveFile", {group:_arg1.groupId, save_id:_arg1.id, rating_id:_arg2.id, vote:_arg3, user_id:user_id}, null, null, _arg1);
}
public static function loadSaveFile(_arg1:Number, _arg2:Boolean=true){
var _local3:Object = {publisher_id:publisher_id, save_id:_arg1, get_contents:_arg2};
sendCommand("loadSaveFile", _local3);
}
private static function doEvent(_arg1:Object):void{
var _local2:String;
var _local3:Object;
var _local4:String;
var _local5:Boolean;
var _local6:ScoreBoard;
var _local7:Array;
var _local8:*;
var _local9:String;
var _local10:Medal;
var _local11:SaveGroup;
var _local12:Object;
var _local13:Object;
var _local14:Object;
var _local15:SaveFile;
var _local16:uint;
var _local17:Object;
var _local18:uint;
switch (getCommandName(_arg1.command_id)){
case "connectMovie":
timeoutTimer.stop();
if (_arg1.success){
sendMessage("You have successfully connected to the Newgrounds API Gateway");
sendMessage((("Movie identified as \"" + _arg1.movie_name) + "\""));
callListener(APIEvent.API_CONNECTED, _arg1.success, {title:_arg1.movie_name});
} else {
callListener(APIEvent.API_CONNECTED, _arg1.success, {});
return;
};
_local5 = false;
if (_arg1.ad_status === -1){
_local2 = "This movie was not approved to run Flash Ads.";
sendWarning(_local2);
sendWarning((("visit " + AD_TERMS_URL) + " to view our approval guidelines"));
if (!_arg1.ad_url){
callListener(APIEvent.ADS_APPROVED, false, new APIError("FLASH_ADS_NOT_APPROVED", _local2));
} else {
_local5 = true;
};
} else {
if (_arg1.ad_status === 0){
_local2 = "Flash Ads are currently awaiting approval.";
sendNotice(_local2);
if (!_arg1.ad_url){
callListener(APIEvent.ADS_APPROVED, false, new APIError("FLASH_ADS_NOT_APPROVED", _local2));
} else {
_local5 = true;
};
};
};
if (_arg1.ad_url){
ad_url = unescape(_arg1.ad_url);
if (!_local5){
sendMessage("This movie has been approved to run Flash Ads!");
};
_adsApproved = true;
callListener(APIEvent.ADS_APPROVED, true);
};
if (_arg1.deny_host){
_local2 = (getHost() + " does not have permission to run this movie!");
sendWarning(_local2);
sendWarning(("\tUpdate your API configuration to unblock " + getHost()));
callListener(APIEvent.HOST_BLOCKED, true, {real_url:unescape(_arg1.movie_url), url:getOfficialURL()});
};
if (_arg1.movie_version){
sendWarning("According to your API Configuration, this version is out of date.");
if (version){
sendWarning(("\tThe this movie is version " + version));
};
sendWarning(("\tThe most current version is " + _arg1.movie_version));
callListener(APIEvent.NEW_VERSION_AVAILABLE, true, {version:_arg1.movie_version, real_url:unescape(_arg1.movie_url), url:getOfficialURL()});
};
if (_arg1.request_portal_url){
sendCommand("setPortalID", {portal_url:_url});
};
sendCommand("preloadSettings", {publisher_id:publisher_id, user_id:user_id});
break;
case "preloadSettings":
if (_arg1.medals){
populateMedals(_arg1.medals);
if (((!(hasUserSession())) && (!(debugMode)))){
echo("Checking for SharedObject Medals...");
_local8 = loadLocal("medals_unlocked");
if (_local8){
for (_local9 in _local8) {
if (_local8[_local9]){
_local10 = getMedalById(uint(_local9));
echo(("Now unlocking " + _local10.name));
_local10.unlocked = true;
};
};
};
};
};
if (_arg1.save_groups){
populateSaveGroups(_arg1.save_groups);
};
if (_arg1.save_file_path){
_saveFilePath = (_arg1.save_file_path + "/");
};
if (_arg1.image_file_path){
_imageFilePath = (_arg1.image_file_path + "/");
};
if (_arg1.score_boards){
populateScoreBoards(_arg1.score_boards);
};
sendMessage("Metadata loaded!");
callListener(APIEvent.METADATA_LOADED, _arg1.success);
if (((_saveFileId) && (_saveGroupId))){
_local11 = getSaveGroupById(_saveGroupId);
if (_local11){
callListener(APIEvent.FILE_REQUESTED, true, {save_id:_saveFileId, group:_local11});
};
};
_preloadComplete = true;
break;
case "logCustomEvent":
if (_arg1.success){
sendMessage((("Event '" + _arg1.event) + "' was logged."));
};
callListener(APIEvent.EVENT_LOGGED, _arg1.success, {event:_arg1.event});
break;
case "postScore":
if (_arg1.success){
_local4 = "User";
if (user_email){
_local4 = user_email;
} else {
if (user_name){
_local4 = user_name;
};
};
_local6 = getScoreBoardById(_arg1.board);
if (_local6){
sendMessage((((((_local4 + " posted ") + _arg1.value) + " to '") + _local6.name) + "'"));
};
if (_arg1.best_scores){
_local12 = {today:_arg1.best_scores.D, yesterday:_arg1.best_scores.P, week:_arg1.best_scores.W, year:_arg1.best_scores.Y, all_time:_arg1.best_scores.A};
} else {
_local12 = {};
};
if (_arg1.best_ranks){
_local13 = {today:_arg1.best_ranks.D, yesterday:_arg1.best_ranks.P, week:_arg1.best_ranks.W, year:_arg1.best_ranks.Y, all_time:_arg1.best_ranks.A};
} else {
_local13 = {};
};
if (_arg1.num_scores){
_local14 = {today:_arg1.num_scores.D, yesterday:_arg1.num_scores.P, week:_arg1.num_scores.W, year:_arg1.num_scores.Y, all_time:_arg1.num_scores.A};
} else {
_local14 = {};
};
_local3 = {score:_arg1.score, value:_arg1.value, username:_local4, best_scores:_local12, best_ranks:_local13, num_scores:_local14};
};
callListener(APIEvent.SCORE_POSTED, _arg1.success, _local3);
break;
case "loadScores":
_local3 = new Object();
_local6 = getScoreBoardById(_arg1.board);
if (_local6){
_local6.setScores(_arg1.scores, _arg1.period, _arg1.page, _arg1.num_results, _arg1.num_scores);
};
callListener(APIEvent.SCORES_LOADED, _arg1.success, _local6);
break;
case "unlockMedal":
if (_medals){
_local10 = getMedalByName(_arg1.medal_name);
if (_local10.unlocked){
return;
};
_local10.unlocked = true;
callListener(APIEvent.MEDAL_UNLOCKED, _arg1.success, _local10);
};
break;
case "getMedals":
if (_arg1.success){
populateMedals(_arg1.medals);
};
callListener(APIEvent.MEDALS_LOADED, _arg1.success, _local3);
break;
case "loadSaveFile":
if (_arg1.success){
_local11 = getSaveGroupById(_arg1.group_id);
_local15 = new SaveFile(_local11);
_local15.id = _arg1.file.save_id;
_local15.name = _arg1.file.filename;
_local15.fileUrl = (_saveFilePath + _arg1.file.file);
_local15.thumbnailUrl = (_imageFilePath + _arg1.file.thumb);
_local15.authorName = _arg1.file.user_name;
_local15.authorId = _arg1.file.user_id;
_local15.setStatus(_arg1.file.status);
_local15.description = _arg1.file.description;
_local15.setFileSize(_arg1.file.file_size);
if (((_arg1.file.keys) && (_arg1.file.keys.length))){
_local16 = 0;
while (_local16 < _arg1.file.keys.length) {
_local15.setKey(_arg1.file.keys[_local16].id, _arg1.file.keys[_local16].value);
_local16++;
};
};
if (((_arg1.file.ratings) && (_arg1.file.ratings.length))){
_local16 = 0;
while (_local16 < _arg1.file.ratings.length) {
_local15.setRating(_arg1.file.ratings[_local16].id, _arg1.file.ratings[_local16].votes, _arg1.file.ratings[_local16].score);
_local16++;
};
};
if (_arg1.get_contents){
_local15.loadContents();
};
};
callListener(APIEvent.FILE_INITIALIZED, _arg1.success, _local15);
break;
case "lookupSaveFiles":
_local7 = [];
if (((_arg1.success) && (_arg1.files))){
_local16 = 0;
while (_local16 < _arg1.files.length) {
_local17 = _arg1.files[_local16];
_local15 = new SaveFile(getSaveGroupById(_arg1.group_id));
_local15.name = _local17.filename;
_local15.id = _local17.save_id;
_local15.description = _local17.description;
_local15.thumbnailUrl = (_imageFilePath + _local17.thumb);
_local15.fileUrl = (_saveFilePath + _local17.file);
_local15.authorName = _local17.user_name;
_local15.authorId = _local17.user_id;
_local15.setStatus(_local17.status);
_local15.setFileSize(_local17.file_size);
if (((_local17.keys) && (_local17.keys.length))){
_local18 = 0;
while (_local18 < _local17.keys.length) {
_local15.setKey(_local17.keys[_local18].id, _local17.keys[_local18].value);
_local18++;
};
};
if (((_local17.ratings) && (_local17.ratings.length))){
_local18 = 0;
while (_local18 < _local17.ratings.length) {
_local15.setRating(_local17.ratings[_local18].id, _local17.ratings[_local18].votes, _local17.ratings[_local18].score);
_local18++;
};
};
_local7.push(_local15);
_local16++;
};
};
_arg1.owner.dispatchEvent(new APIEvent(APIEvent.QUERY_COMPLETE, _arg1.success, _local7));
break;
case "rateSaveFile":
_local15 = _arg1.owner;
_arg1.success = ((_arg1.success) && (!(_arg1.already_voted)));
if (_arg1.success){
_local15.setRating(_arg1.rating_id, _arg1.votes, _arg1.score);
};
_arg1.file = _local15;
_local15.dispatchEvent(new APIEvent(APIEvent.VOTE_COMPLETE, _arg1.success, _arg1));
break;
case "saveFile":
_local3 = {};
if (_arg1.success){
_local3 = {save_id:_arg1.save_id, filename:_arg1.filename, file_url:_arg1.file_url, thumbnail:_arg1.thumbnail, icon:_arg1.icon};
SaveFile(_arg1.owner).fileSaved(_local3);
};
_arg1.owner.dispatchEvent(new APIEvent(APIEvent.FILE_SAVED, _arg1.success, _local3));
break;
case "checkFilePrivs":
_local3 = {filename:_arg1.filename, folder:_arg1.folder, can_read:_arg1.can_read, can_write:_arg1.can_write};
callListener(APIEvent.FILE_PRIVS_LOADED, _arg1.success, _local3);
break;
};
}
public static function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:uint=0, _arg5:Boolean=false):void{
_eventDispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5);
}
public static function hasEventListener(_arg1:String):Boolean{
return (_eventDispatcher.hasEventListener(_arg1));
}
public static function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{
_eventDispatcher.removeEventListener(_arg1, _arg2, _arg3);
}
private static function dispatchEvent(_arg1:Event):void{
_eventDispatcher.dispatchEvent(_arg1);
echo(("Fired Event: " + _arg1.type));
}
static function callListener(_arg1:String, _arg2:Boolean=true, _arg3=undefined):void{
dispatchEvent(new APIEvent(_arg1, _arg2, _arg3));
if (_bridge){
_bridge.sendEvent(_arg1, {success:_arg2, data:_arg3});
};
}
private static function getCommandName(_arg1:String):String{
return (_arg1);
}
private static function getCommandID(_arg1:String):String{
return (_arg1);
}
private static function getPeriodAliases():Object{
var _local2:String;
var _local1:Object = new Object();
for (_local2 in period_aliases) {
_local1[period_aliases[_local2].alias] = _local2;
};
return (_local1);
}
public static function getPeriodName(_arg1:String):String{
var _local2:String;
for (_local2 in period_aliases) {
if (_local2 == _arg1){
return (period_aliases[_local2].name);
};
};
return (null);
}
public static function getPeriodAlias(_arg1:String):String{
var _local2:String;
for (_local2 in period_aliases) {
if (_local2 == _arg1){
return (period_aliases[_local2].alias);
};
};
return (null);
}
private static function sendError(_arg1:Object, _arg2:APIError):void{
var _local3:String = ((((("[NewgroundsAPI ERROR] :: " + getCommandName(_arg1.command_id)) + "() - ") + _arg2.name) + ":\n\t\t\t\t") + _arg2.message);
trace(_local3);
if (_bridge){
_bridge.sendEvent("trace", {data:_local3});
};
}
private static function sendWarning(_arg1:String, _arg2:String=null):void{
if (_arg2){
_arg1 = (_arg1 + ((("\n[NewgroundsAPI WARNING] :: \tSee " + COMMANDS_WIKI_URL) + _arg2.toLowerCase()) + " for additional information."));
};
trace(_arg1);
if (_bridge){
_bridge.sendEvent("trace", {data:_arg1});
};
}
private static function sendNotice(_arg1:String, _arg2:String=null):void{
var _local3:String;
if (_arg2){
_arg1 = (_arg1 + ((("\n[NewgroundsAPI NOTICE] :: \tSee " + COMMANDS_WIKI_URL) + _arg2.toLowerCase()) + " for additional information."));
};
trace(_arg1);
if (_bridge){
_bridge.sendEvent("trace", {data:_arg1});
};
}
private static function fatalError(_arg1:String, _arg2:String):void{
if (_arg2){
_arg1 = (_arg1 + ((("\n\tSee " + COMMANDS_WIKI_URL) + _arg2.toLowerCase()) + " for additional information."));
};
trace(("***ERROR*** class=API\n\n" + _arg1));
}
public static function sendSecureCommand(_arg1:String, _arg2:Object, _arg3:Object=null, _arg4:Object=null, _arg5=null):void{
if (((((!(debugMode)) && (!(hasUserSession())))) && (!(hasUserEmail())))){
sendError({command_id:getCommandID(_arg1)}, new APIError("IDENTIFICATION_REQUIRED", (("You must be logged in or provide an e-mail address ( using NewgroundsAPI.setUserEmail(\"name@domain.com\"); ) to use " + _arg1) + "().")));
return;
};
if (!_arg1){
fatalError("Missing command", "sendSecureCommand");
};
if (!_arg2){
fatalError("Missing secure_params", "sendSecureCommand");
};
if (!_arg3){
_arg3 = new Object();
};
var _local6 = "";
var _local7:uint;
while (_local7 < 16) {
_local6 = (_local6 + compression_radix.charAt(Math.floor((Math.random() * compression_radix.length))));
_local7++;
};
if (((debugMode) && (!(session_id)))){
_arg2.session_id = "";
} else {
_arg2.session_id = session_id;
};
_arg2.as_version = 3;
_arg2.user_email = user_email;
_arg2.publisher_id = publisher_id;
_arg2.seed = _local6;
_arg2.command_id = getCommandID(_arg1);
var _local8:String = MD5.hash(_local6);
var _local9:String = RC4.encrypt(JSON.encode(_arg2), _encryptionKey);
var _local10:String = (_local8 + _local9);
_arg3.secure = compressHex(_local10);
secureCommand = _arg1;
sendCommand("securePacket", _arg3, false, _arg4, _arg5);
}
public static function stopPendingCommands():void{
SmartURLLoader.closeAll();
}
private static function onCommandComplete(_arg1:Event):void{
var response:Object;
var error:APIError;
var e = _arg1;
var loader:SmartURLLoader = SmartURLLoader(e.target);
echo((("INPUT: \n" + loader.response) + "\n"));
var i:uint;
while (i < _preloadAssets.length) {
if (_preloadAssets[i] == loader){
_preloadAssets.splice(i, 1);
break;
};
i = (i + 1);
};
try {
response = JSON.decode(loader.response);
} catch(error:Error) {
};
if (!response){
response = {command_id:loader._command, success:false};
};
response.owner = loader.owner;
if (((!(response)) || (!(response.success)))){
if (response.command_id == "connectMovie"){
connected = false;
};
error = new APIError(response.error_code, response.error_msg);
sendError(response, error);
if (response.command_id){
doEvent(response);
};
} else {
doEvent(response);
};
}
private static function onCommandError(_arg1:Event):void{
var _local2:Object = {success:false};
var _local3:SmartURLLoader = SmartURLLoader(_arg1.target);
_local2.owner = _local3.owner;
var _local4:uint;
while (_local4 < _preloadAssets.length) {
if (_preloadAssets[_local4] == _local3){
_preloadAssets.splice(_local4, 1);
break;
};
_local4++;
};
if (_local3._command){
_local2.command_id = _local3._command;
if (_local2.command_id == "connectMovie"){
connected = false;
};
doEvent(_local2);
};
}
private static function sendCommand(_arg1:String, _arg2:Object, _arg3:Boolean=false, _arg4:Object=null, _arg5=null):void{
var _local7:String;
var _local8:String;
var _local9:String;
if (((!(connected)) && (!((_arg1 == "connectMovie"))))){
_local7 = (("NewgroundsAPI." + _arg1) + "() - NewgroundsAPI.connectMovie() must be called before this command can be called\n");
fatalError(_local7, "connectMovie");
};
var _local6:SmartURLLoader = new SmartURLLoader();
_local6.addVariable("command_id", getCommandID(_arg1));
_local6.addVariable("tracker_id", _movieId);
if (debugMode){
_local6.addVariable("debug", 1);
};
if (_arg2){
for (_local8 in _arg2) {
_local6.addVariable(_local8, _arg2[_local8]);
};
};
if (_arg4){
for (_local9 in _arg4) {
_local6.addFile(_local9, _arg4[_local9], _local9);
};
};
if (_arg3){
_local6.method = URLRequestMethod.GET;
} else {
_local6.method = URLRequestMethod.POST;
};
_local6.preventCache = true;
if (_arg3){
_local6.openBrowser = true;
_local6.method = URLRequestMethod.GET;
} else {
_local6.addEventListener(Event.COMPLETE, onCommandComplete);
_local6.addEventListener(IOErrorEvent.IO_ERROR, onCommandError);
_local6.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onCommandError);
_local6.method = URLRequestMethod.POST;
};
if (_arg2.secure){
_local6._command = secureCommand;
} else {
_local6._command = getCommandID(_arg1);
};
_local6.owner = _arg5;
_local6.load(GATEWAY_URL);
}
public static function isFlashVersion(_arg1:uint, _arg2:uint=0, _arg3:uint=0, _arg4:uint=0):Boolean{
var _local6:Array = Capabilities.version.split(" ")[1].split(",");
var _local7:Array = arguments;
var _local8:uint;
while (_local8 < _local7.length) {
_local6[_local8] = uint(_local6[_local8]);
_local8++;
};
_local8 = 0;
while (_local8 < _local7.length) {
if (_local6[_local8] > _local7[_local8]){
return (true);
};
if (_local6[_local8] < _local7[_local8]){
return (false);
};
_local8++;
};
return (true);
}
public static function createAd():FlashAd{
sendMessage("You may see a security sandbox violation. This is normal!");
return (new FlashAd());
}
public static function sendMessage(_arg1:String, _arg2:Boolean=false):void{
var _local3:String = ("[NewgroundsAPI] :: " + _arg1);
trace(_local3);
if (_bridge){
_bridge.sendEvent("trace", {data:_local3});
};
}
private static function echo(_arg1:String):void{
if (do_echo){
trace(_arg1);
};
}
}
}//package com.newgrounds
Section 20
//APIError (com.newgrounds.APIError)
package com.newgrounds {
import flash.utils.*;
public class APIError {
public var code:Number;// = 0
public var message:String;
public var name:String;
public var alias:String;
public static const aliases:Array = new Array("UNKNOWN_ERROR", "INVALID_API_ID", "MISSING_PARAM", "INVALID_STAT_ID", "INVALID_COMMAND_ID", "FLASH_ADS_NOT_APPROVED", "PERMISSION_DENIED", "IDENTIFICATION_REQUIRED", "INVALID_EMAIL_ADDRESS", "BANNED_USER", "SESSION_EXPIRED", "INVALID_SCORE", "INVALID_MEDAL", "INVALID_FOLDER", "FILE_NOT_FOUND", "SITE_ID_REQUIRED", "UPLOAD_IN_PROGRESS", "USER_CANCELLED", "CONFIRM_REQUEST", "CONNECTION_FAILED");
private static const always_caps:Array = new Array("API", "URL", "ID");
public static const error_codes:Object = init_codes();
public static const error_names:Object = init_names();
public function APIError(_arg1, _arg2:String){
if ((_arg1 is String)){
_arg1 = error_codes[_arg1];
} else {
if (!(_arg1 is uint)){
_arg1 = 0;
};
};
this.code = _arg1;
this.message = _arg2;
this.name = error_names[_arg1];
this.alias = aliases[_arg1];
}
public function isError():Boolean{
return (true);
}
public static function init_codes():Dictionary{
var _local1:Dictionary = new Dictionary();
var _local2:uint;
while (_local2 < aliases.length) {
_local1[aliases[_local2]] = _local2;
_local2++;
};
return (_local1);
}
private static function init_names():Array{
var _local3:Array;
var _local4:uint;
var _local5:String;
var _local1:Array = new Array();
var _local2:uint;
while (_local2 < aliases.length) {
_local3 = aliases[_local2].toLowerCase().split("_");
_local4 = 0;
while (_local4 < _local3.length) {
_local3[_local4] = (_local3[_local4].substr(0, 1).toUpperCase() + _local3[_local4].substr(1, _local3[_local4].length));
for each (_local5 in always_caps) {
if (_local3[_local4].toUpperCase() == _local5){
_local3[_local4] = _local3[_local4].toUpperCase();
};
};
_local4++;
};
_local1[_local2] = _local3.join(" ");
_local2++;
};
return (_local1);
}
}
}//package com.newgrounds
Section 21
//APIEvent (com.newgrounds.APIEvent)
package com.newgrounds {
import flash.events.*;
public class APIEvent extends Event {
private var _data;
private var _success:Boolean;
private var _target;
private var _error:APIError;
public static const API_CONNECTED:String = "movieConnected";
public static const ADS_APPROVED:String = "adsApproved";
public static const AD_ATTACHED:String = "adAttached";
public static const HOST_BLOCKED:String = "hostBlocked";
public static const NEW_VERSION_AVAILABLE:String = "newVersionAvailable";
public static const EVENT_LOGGED:String = "eventLogged";
public static const SCORE_POSTED:String = "scorePosted";
public static const SCORES_LOADED:String = "scoresLoaded";
public static const MEDAL_UNLOCKED:String = "medalUnlocked";
public static const MEDALS_LOADED:String = "medalsLoaded";
public static const METADATA_LOADED:String = "metadataLoaded";
public static const FILE_PRIVS_LOADED:String = "filePrivsLoaded";
public static const FILE_SAVED:String = "fileSaved";
public static const FILE_LOADED:String = "fileLoaded";
public static const FILE_INITIALIZED:String = "fileInitialized";
public static const FILE_REQUESTED:String = "fileRequested";
public static const QUERY_COMPLETE:String = "queryComplete";
public static const VOTE_COMPLETE:String = "voteComplete";
public function APIEvent(_arg1:String, _arg2:Boolean=true, _arg3=undefined){
super(_arg1);
this._data = _arg3;
this._success = _arg2;
}
public function get success():Boolean{
return (this._success);
}
public function get data(){
return (this._data);
}
}
}//package com.newgrounds
Section 22
//BaseN (com.newgrounds.BaseN)
package com.newgrounds {
import flash.utils.*;
public class BaseN {
private var _hashIndex:String;
private var _hashVal:Dictionary;
private var _base:Number;
public function BaseN(_arg1:String=null){
if (_arg1){
this._hashIndex = _arg1;
} else {
this._hashIndex = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`~@#$%^&*()+|;/";
};
this._base = this._hashIndex.length;
this._hashVal = new Dictionary();
var _local2:uint;
while (_local2 < this._base) {
this._hashVal[this._hashIndex.charAt(_local2)] = _local2;
_local2++;
};
}
public function encode(_arg1:Number, _arg2:uint=1):String{
var _local3:String = _arg1.toString();
var _local4 = "";
if (_local3.charAt(0) == "-"){
_local4 = "-";
_local3 = _local3.substring(1);
};
var _local5:Array = _local3.split(".", 2);
_local4 = (_local4 + this.baseNEncoder(_local5[0], _arg2));
if (_local5.length > 1){
_local4 = (_local4 + ("." + this.baseNEncoder(_local5[1])));
};
return (_local4);
}
public function decode(_arg1:String):Number{
var _local2 = "";
if (_arg1.charAt(0) == "-"){
_local2 = "-";
_arg1 = _arg1.substring(1);
};
var _local3:Array = _arg1.split(".", 2);
_local2 = (_local2 + this.baseNDecoder(_local3[0]));
if (_local3.length > 1){
_local2 = (_local2 + ".");
_local2 = (_local2 + this.baseNDecoder(_local3[1]));
};
return (Number(_local2));
}
private function baseNEncoder(_arg1:uint, _arg2:uint=1):String{
var _local3 = "";
var _local4:uint = _arg1;
while (_local4 != 0) {
_local3 = (this._hashIndex.charAt((_local4 % this._base)) + _local3);
_local4 = (_local4 / this._base);
};
if (_arg2){
while (_local3.length < _arg2) {
_local3 = (this._hashIndex.charAt(0) + _local3);
};
};
return (_local3);
}
private function baseNDecoder(_arg1:String):uint{
var _local2:uint;
var _local3:uint;
while (_local3 < _arg1.length) {
_local2 = (_local2 * this._base);
_local2 = (_local2 + this._hashVal[_arg1.charAt(_local3)]);
_local3++;
};
return (_local2);
}
}
}//package com.newgrounds
Section 23
//Bridge (com.newgrounds.Bridge)
package com.newgrounds {
import flash.events.*;
import flash.net.*;
public class Bridge {
private var _inConnection:LocalConnection;
private var _outConnection:LocalConnection;
private var _widgetId:String;
public function Bridge(_arg1:String){
this._widgetId = _arg1;
this._inConnection = new LocalConnection();
this._outConnection = new LocalConnection();
this._inConnection.client = this;
this._inConnection.connect(("rec_" + this._widgetId));
this._outConnection.addEventListener(StatusEvent.STATUS, this.onStatus);
}
public function sendCommand(_arg1:String, _arg2:Object):void{
if (this._outConnection){
this._outConnection.send(this._widgetId, "sendCommand", _arg1, this.scrubParameters(_arg2));
};
}
public function sendEvent(_arg1:String, _arg2:Object):void{
if (this._outConnection){
this._outConnection.send(this._widgetId, "sendEvent", _arg1, this.scrubParameters(_arg2));
};
}
public function receiveEvent(_arg1:String, _arg2:Object):void{
API.callListener(_arg1, _arg2.success, _arg2.data);
}
public function scrubParameters(_arg1:Object):Object{
var _local3:String;
var _local2:Object = new Object();
for (_local3 in _arg1) {
if ((((((((((_arg1[_local3] is String)) || ((_arg1[_local3] is Number)))) || ((_arg1[_local3] is uint)))) || ((_arg1[_local3] is int)))) || ((_arg1[_local3] is Boolean)))){
_local2[_local3] = _arg1[_local3];
};
};
return (_local2);
}
private function onStatus(_arg1:Event):void{
}
}
}//package com.newgrounds
Section 24
//Medal (com.newgrounds.Medal)
package com.newgrounds {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.system.*;
public class Medal {
private var _id:uint;
private var _name:String;
private var _value:uint;
private var _difficultyId:uint;
private var _unlocked:Boolean;// = false
private var _iconUrl:URLRequest;
private var _iconLoader:Loader;
private var _icon:BitmapData;
private static const DEFAULT_ICON:BitmapData = new BitmapData(50, 50, false, 0);
private static const DIFFICULT_NAMES:Array = [null, "Easy", "Moderate", "Challenging", "Difficult", "Brutal"];
public function Medal(_arg1:uint, _arg2:String, _arg3:uint, _arg4:uint, _arg5:Boolean, _arg6:String){
var id = _arg1;
var name = _arg2;
var value = _arg3;
var difficulty = _arg4;
var unlocked = _arg5;
var iconUrl = _arg6;
this._icon = DEFAULT_ICON;
super();
this._id = id;
this._name = name;
this._value = value;
this._difficultyId = difficulty;
this._unlocked = unlocked;
if (iconUrl){
this._iconUrl = new URLRequest(iconUrl);
this._iconLoader = new Loader();
this._iconLoader.contentLoaderInfo.addEventListener(Event.INIT, this.onIconLoaderInit);
this._iconLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, this.onIconLoaderError);
this._iconLoader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onIconLoaderError);
this._iconLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, this.onIconLoaderComplete);
try {
this._iconLoader.load(this._iconUrl, new LoaderContext(true));
} catch(e:Error) {
onIconLoaderError(null);
};
};
}
public function get difficulty():String{
return (DIFFICULT_NAMES[this._difficultyId]);
}
public function get difficultyId():uint{
return (this._difficultyId);
}
public function get icon():BitmapData{
return (this._icon);
}
public function get id():uint{
return (this._id);
}
public function get name():String{
return (this._name);
}
public function get unlocked():Boolean{
return (this._unlocked);
}
public function set unlocked(_arg1:Boolean):void{
this._unlocked = _arg1;
}
public function get value():uint{
return (this._value);
}
public function get bytesLoaded():uint{
return ((this._iconLoader) ? this._iconLoader.contentLoaderInfo.bytesLoaded : 0);
}
public function get bytesTotal():uint{
return ((this._iconLoader) ? this._iconLoader.contentLoaderInfo.bytesTotal : 0);
}
private function onIconLoaderInit(_arg1:Event):void{
}
private function onIconLoaderError(_arg1:IOErrorEvent):void{
trace((((("[NewgroundsAPI WARNING] :: Failed to load medal icon for " + this.name) + " (") + this._iconUrl.url.split("/").pop()) + ")"));
this._iconLoader.unload();
this._iconLoader = null;
}
private function onIconLoaderComplete(_arg1:Event):void{
var _local2:Bitmap = (this._iconLoader.content as Bitmap);
this._icon = _local2.bitmapData;
this._iconLoader.unload();
this._iconLoader = null;
}
public function unlock():void{
if (!this._unlocked){
API.unlockMedal(this._name);
};
}
public function createIconBitmap():Bitmap{
return (new Bitmap(this.icon));
}
public function toString():String{
return (this._name);
}
public static function createFromObject(_arg1:Object):Medal{
return (new Medal(_arg1.medal_id, _arg1.medal_name, _arg1.medal_value, _arg1.medal_difficulty, _arg1.medal_unlocked, _arg1.medal_icon));
}
}
}//package com.newgrounds
Section 25
//RC4 (com.newgrounds.RC4)
package com.newgrounds {
public class RC4 {
private static var sbox:Array = new Array(0xFF);
private static var mykey:Array = new Array(0xFF);
public static function encrypt(_arg1:String, _arg2:String):String{
var _local3:Array = strToChars(_arg1);
var _local4:Array = strToChars(_arg2);
var _local5:Array = calculate(_local3, _local4);
return (charsToHex(_local5));
}
public static function encryptbin(_arg1:String, _arg2:String):Array{
var _local3:Array = strToChars(_arg1);
var _local4:Array = strToChars(_arg2);
var _local5:Array = calculate(_local3, _local4);
return (_local5);
}
public static function decrypt(_arg1:String, _arg2:String):String{
var _local3:Array = hexToChars(_arg1);
var _local4:Array = strToChars(_arg2);
var _local5:Array = calculate(_local3, _local4);
return (charsToStr(_local5));
}
private static function initialize(_arg1:Array):void{
var _local3:uint;
var _local2:uint;
var _local4:uint = _arg1.length;
var _local5:uint;
while (_local5 <= 0xFF) {
mykey[_local5] = _arg1[(_local5 % _local4)];
sbox[_local5] = _local5;
_local5++;
};
_local5 = 0;
while (_local5 <= 0xFF) {
_local2 = (((_local2 + sbox[_local5]) + mykey[_local5]) % 0x0100);
_local3 = sbox[_local5];
sbox[_local5] = sbox[_local2];
sbox[_local2] = _local3;
_local5++;
};
}
private static function calculate(_arg1:Array, _arg2:Array):Array{
var _local6:uint;
var _local7:uint;
var _local8:uint;
var _local10:uint;
initialize(_arg2);
var _local3:uint;
var _local4:uint;
var _local5:Array = new Array();
var _local9:uint;
while (_local9 < _arg1.length) {
_local3 = ((_local3 + 1) % 0x0100);
_local4 = ((_local4 + sbox[_local3]) % 0x0100);
_local7 = sbox[_local3];
sbox[_local3] = sbox[_local4];
sbox[_local4] = _local7;
_local10 = ((sbox[_local3] + sbox[_local4]) % 0x0100);
_local6 = sbox[_local10];
_local8 = (_arg1[_local9] ^ _local6);
_local5.push(_local8);
_local9++;
};
return (_local5);
}
private static function charsToHex(_arg1:Array):String{
var _local2:String = new String("");
var _local3:Array = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f");
var _local4:uint;
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 = new Array();
var _local3:uint = ((_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 = new String("");
var _local3:uint;
while (_local3 < _arg1.length) {
_local2 = (_local2 + String.fromCharCode(_arg1[_local3]));
_local3++;
};
return (_local2);
}
private static function strToChars(_arg1:String):Array{
var _local2:Array = new Array();
var _local3:uint;
while (_local3 < _arg1.length) {
_local2.push(_arg1.charCodeAt(_local3));
_local3++;
};
return (_local2);
}
}
}//package com.newgrounds
Section 26
//SaveFile (com.newgrounds.SaveFile)
package com.newgrounds {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
public class SaveFile extends EventDispatcher {
private var _filename:String;
private var _id:uint;
private var _description:String;
private var _contents;
private var _loader:SmartURLLoader;
private var _group:SaveGroup;
private var _keys:Dictionary;
private var _ratings:Dictionary;
private var _fileUrl:String;
private var _thumbnail:BitmapData;
private var _thumbnailUrl:String;
private var _authorId:uint;
private var _authorName:String;
private var _contentSize:uint;
private var _status:uint;
public static const STATUS_PRIVATE = 1;
public static const STATUS_SHARED = 2;
public static const STATUS_UNAPPROVED = 3;
public static const STATUS_APPROVED = 4;
public function SaveFile(_arg1:SaveGroup){
this._keys = new Dictionary();
this._ratings = new Dictionary();
this._group = _arg1;
this._description = "";
}
public function get name():String{
return (this._filename);
}
public function set name(_arg1:String):void{
this._filename = _arg1;
}
public function get id():uint{
return (this._id);
}
public function set id(_arg1:uint):void{
this._id = _arg1;
}
public function get description():String{
return (this._description);
}
public function set description(_arg1:String):void{
this._description = _arg1;
}
public function get contents(){
return (this._contents);
}
public function set contents(_arg1):void{
this._contents = _arg1;
this._contentSize = 0;
}
public function get thumbnailUrl():String{
return (this._thumbnailUrl);
}
public function set thumbnailUrl(_arg1:String):void{
this._thumbnailUrl = _arg1;
}
public function get fileUrl():String{
return (this._fileUrl);
}
public function set fileUrl(_arg1:String):void{
this._fileUrl = _arg1;
}
public function get thumbnail():BitmapData{
return (this._thumbnail);
}
public function set thumbnail(_arg1:BitmapData):void{
if (this._thumbnail){
this._thumbnail.dispose();
};
this._thumbnail = _arg1.clone();
}
public function loadThumbnail():Loader{
var _local1:Loader = new Loader();
if (this._thumbnailUrl){
_local1.load(new URLRequest(this._thumbnailUrl));
};
return (_local1);
}
public function get bytesLoaded():uint{
return ((this._loader) ? this._loader.bytesLoaded : this._contentSize);
}
public function get bytesTotal():uint{
return (this._contentSize);
}
public function get status():uint{
return (this._status);
}
function setStatus(_arg1:uint):void{
this._status = _arg1;
}
public function get groupId():uint{
return (this._group.id);
}
public function get groupName():String{
return (this._group.name);
}
public function get groupType():uint{
return (this._group.type);
}
public function get authorName():String{
return (this._authorName);
}
public function set authorName(_arg1:String):void{
this._authorName = _arg1;
}
public function get authorId():uint{
return (this._authorId);
}
public function set authorId(_arg1:uint):void{
this._authorId = _arg1;
}
public function get shared():Boolean{
return (true);
}
function setFileSize(_arg1:uint):void{
this._contentSize = _arg1;
}
public function setKey(_arg1, _arg2):void{
var _local3:SaveKey;
if ((_arg1 is String)){
_local3 = this._group.getKeyByName(_arg1);
} else {
_local3 = this._group.getKeyById(_arg1);
};
if (_local3){
switch (_local3.type){
case SaveKey.TYPE_BOOLEAN:
this._keys[_local3] = {id:_local3.id, val:Boolean(int(_arg2))};
break;
case SaveKey.TYPE_FLOAT:
this._keys[_local3] = {id:_local3.id, val:Number(_arg2)};
break;
case SaveKey.TYPE_INTEGER:
this._keys[_local3] = {id:_local3.id, val:int(_arg2)};
break;
case SaveKey.TYPE_STRING:
default:
this._keys[_local3] = {id:_local3.id, val:_arg2.toString()};
break;
};
};
}
public function getKey(_arg1){
var _local2:SaveKey;
if ((_arg1 is String)){
_local2 = this._group.getKeyByName(_arg1);
} else {
_local2 = this._group.getKeyById(_arg1);
};
if (_local2){
return (this._keys[_local2]);
};
return (null);
}
public function setRating(_arg1, _arg2:Number, _arg3:Number):void{
var _local4:SaveRating;
if ((_arg1 is String)){
_local4 = this._group.getRatingByName(_arg1);
} else {
_local4 = this._group.getRatingById(_arg1);
};
if (_local4){
this._ratings[_local4] = {id:_local4.id, name:_local4.name, votes:_arg2, score:_arg3};
};
}
public function getRating(_arg1):Object{
var _local2:SaveRating;
if ((_arg1 is String)){
_local2 = this._group.getRatingByName(_arg1);
} else {
_local2 = this._group.getRatingById(_arg1);
};
if (_local2){
return (this._ratings[_local2]);
};
return (null);
}
public function sendRating(_arg1:String, _arg2:Number):void{
var _local3:SaveRating = this._group.getRatingByName(_arg1);
if (!_local3){
trace((("[NewgroundsAPISaveFile] " + _arg1) + " is not a recognized save file"));
return;
};
if ((((_arg2 < _local3.minValue)) || ((_arg2 > _local3.maxValue)))){
trace(((("[NewgroundsAPISaveFile] Vote must be between " + _local3.minValue) + " and ") + _local3.maxValue));
return;
};
_local3.voted = true;
API.rateSaveFile(this, _local3, _arg2);
}
override public function toString():String{
var _local2:Object;
var _local3:Object;
var _local1 = (((((("Save File " + this._filename) + " ID: ") + this._id) + "\n ") + this._description) + "\n");
for each (_local2 in this._keys) {
_local1 = (_local1 + ((((" " + this._group.getKeyById(_local2.id).name) + ": ") + _local2.val) + "\n"));
};
for each (_local3 in this._ratings) {
_local1 = (_local1 + ((((((" " + this._group.getRatingById(_local3.id).name) + "\n Score: ") + _local3.score) + " Votes: ") + _local3.votes) + "\n"));
};
return (_local1);
}
public function toObject():Object{
var _local2:Object;
var _local1:Object = {group:this.groupId, filename:this.name, description:this.description, shared:true};
_local1.keys = [];
for each (_local2 in this._keys) {
_local1.keys.push({id:_local2.id, value:_local2.val});
};
return (_local1);
}
public function save(_arg1:Boolean=false, _arg2:Boolean=false):void{
API.saveFile(this, _arg1, _arg2);
}
public function loadContents():void{
if (this._fileUrl){
this._loader = new SmartURLLoader();
this._loader.responseFormat = URLLoaderDataFormat.BINARY;
this._loader.addEventListener(Event.COMPLETE, this.onContentsLoaded);
this._loader.addEventListener(IOErrorEvent.IO_ERROR, this.onContentsError);
this._loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onContentsError);
this._loader.load(this._fileUrl);
};
}
private function onContentsError(_arg1:Event):void{
this._loader = null;
dispatchEvent(new APIEvent(APIEvent.FILE_LOADED, false));
}
private function onContentsLoaded(_arg1:Event):void{
var _local2:ByteArray = _arg1.target.response;
this._contentSize = _local2.length;
_local2.uncompress();
var _local3:uint = _local2.readUnsignedByte();
if (_local3 == 0){
this._contents = new ByteArray();
this._contents.writeBytes(_local2, 1);
} else {
this._contents = _local2.readObject();
};
this._loader = null;
dispatchEvent(new APIEvent(APIEvent.FILE_LOADED, true, this.contents));
}
public function loadAuthorPage(){
API.loadUserPage(this._authorId, this._authorName);
}
function fileSaved(_arg1:Object):void{
this._id = _arg1.save_id;
this._thumbnailUrl = _arg1.thumbnail;
this._fileUrl = _arg1.file_url;
}
}
}//package com.newgrounds
Section 27
//SaveGroup (com.newgrounds.SaveGroup)
package com.newgrounds {
public class SaveGroup {
private var _name:String;
private var _id:uint;
private var _type:uint;
private var _keys:Array;
private var _ratings:Array;
private var _files:Array;
public static const TYPE_SYSTEM:uint = 0;
public static const TYPE_PRIVATE:uint = 1;
public static const TYPE_PUBLIC:uint = 2;
public static const TYPE_MODERATED:uint = 3;
public function SaveGroup(_arg1:uint, _arg2:String, _arg3:uint){
this._name = _arg2;
this._id = _arg1;
this._type = _arg3;
this._ratings = [];
this._keys = [];
this._files = [];
}
public function get name():String{
return (this._name);
}
public function get id():uint{
return (this._id);
}
public function get type():uint{
return (this._type);
}
public function get keys():Array{
return (this._keys.concat());
}
public function get ratings():Array{
return (this._ratings.concat());
}
public function addRating(_arg1:SaveRating):void{
this._ratings.push(_arg1);
}
public function getRatingById(_arg1:uint):SaveRating{
var _local2:uint;
while (_local2 < this._ratings.length) {
if (this._ratings[_local2].id == _arg1){
return (this._ratings[_local2]);
};
_local2++;
};
return (null);
}
public function getRatingByName(_arg1:String):SaveRating{
var _local2:uint;
while (_local2 < this._ratings.length) {
if (this._ratings[_local2].name == _arg1){
return (this._ratings[_local2]);
};
_local2++;
};
return (null);
}
public function addKey(_arg1:SaveKey):void{
this._keys.push(_arg1);
}
public function getKeyById(_arg1:uint):SaveKey{
var _local2:uint;
while (_local2 < this._keys.length) {
if (this._keys[_local2].id == _arg1){
return (this._keys[_local2]);
};
_local2++;
};
return (null);
}
public function getKeyByName(_arg1:String):SaveKey{
var _local2:uint;
while (_local2 < this._keys.length) {
if (this._keys[_local2].name == _arg1){
return (this._keys[_local2]);
};
_local2++;
};
return (null);
}
public function createQuery():SaveGroupQuery{
return (new SaveGroupQuery(this));
}
public function toString():String{
return ((((((("SaveGroup { name: " + this._name) + ", id: ") + this._id) + ", keys: ") + this._keys) + "}"));
}
public static function createFromObject(_arg1:Object):SaveGroup{
var _local4:Object;
var _local5:Object;
var _local2:SaveGroup = new SaveGroup(_arg1.group_id, _arg1.group_name, _arg1.group_type);
var _local3:uint;
while (_local3 < _arg1.keys.length) {
_local4 = _arg1.keys[_local3];
_local2.addKey(new SaveKey(_local4.id, _local4.name, _local4.type));
_local3++;
};
_local3 = 0;
while (_local3 < _arg1.ratings.length) {
_local5 = _arg1.ratings[_local3];
_local2.addRating(new SaveRating(_local5.id, _local5.name, _local5.float, _local5.min, _local5.max));
_local3++;
};
return (_local2);
}
}
}//package com.newgrounds
Section 28
//SaveGroupQuery (com.newgrounds.SaveGroupQuery)
package com.newgrounds {
import flash.events.*;
public class SaveGroupQuery extends EventDispatcher {
private var _group:SaveGroup;
private var _groupBy:Array;
private var _lookupKeys:Array;
private var _lookupRatings:Array;
private var _fileConditions:Array;
private var _keyConditions:Array;
private var _ratingConditions:Array;
private var _sortConditions:Array;
private var _page:uint;
private var _resultsPerPage:uint;
private var _randomizeResults:Boolean;
public static const TABLE_FILES:uint = 1;
public static const TABLE_KEYS:uint = 2;
public static const TABLE_RATINGS:uint = 3;
public static const FILE_ID:uint = 0;
public static const AUTHOR_ID:uint = 1;
public static const AUTHOR_NAME:uint = 2;
public static const FILE_NAME:uint = 3;
public static const CREATED_ON:uint = 4;
public static const UPDATED_ON:uint = 5;
public static const TOTAL_VIEWS:uint = 6;
public static const FILE_STATUS:uint = 7;
public static const SCORE:String = "score";
public static const TOTAL_VOTES:String = "votes";
public function SaveGroupQuery(_arg1:SaveGroup){
this._group = _arg1;
this.reset();
}
public function get group():SaveGroup{
return (this._group);
}
public function get groupId():uint{
return (this._group.id);
}
public function get resultsPerPage():uint{
return (this._resultsPerPage);
}
public function set resultsPerPage(_arg1:uint):void{
this._resultsPerPage = _arg1;
}
public function get page():uint{
return (this._page);
}
public function set page(_arg1:uint):void{
this._page = _arg1;
}
public function get isRandomized():Boolean{
return (this._randomizeResults);
}
public function set isRandomized(_arg1:Boolean):void{
this._randomizeResults = _arg1;
}
public function reset():void{
this._fileConditions = [];
this._keyConditions = [];
this._ratingConditions = [];
this._sortConditions = [];
this._groupBy = [];
this._lookupKeys = [];
this._lookupRatings = [];
this._randomizeResults = false;
this._resultsPerPage = 20;
this._page = 1;
}
public function includeKey(_arg1:String):void{
var _local2:SaveKey = this._group.getKeyByName(_arg1);
if (_local2){
this._lookupKeys.push(_local2.id);
};
}
public function includeRating(_arg1:String):void{
var _local2:SaveRating = this._group.getRatingByName(_arg1);
if (_local2){
this._lookupRatings.push(_local2.id);
};
}
public function excludeKey(_arg1:String):void{
var _local2:SaveKey = this._group.getKeyByName(_arg1);
var _local3:uint;
while (_local3 < this._lookupKeys.length) {
if (this._lookupKeys[_local3] == _local2.id){
this._lookupKeys.splice(_local3, 1);
return;
};
_local3++;
};
}
public function excludeRating(_arg1:String):void{
var _local2:SaveRating = this._group.getRatingByName(_arg1);
var _local3:uint;
while (_local3 < this._lookupRatings.length) {
if (this._lookupRatings[_local3] == _local2.id){
this._lookupRatings.splice(_local3, 1);
return;
};
_local3++;
};
}
public function groupBy(_arg1:uint):void{
this._groupBy.push({table:TABLE_FILES, field:_arg1});
}
public function groupByRating(_arg1:String):void{
var _local2:SaveRating = this._group.getRatingByName(_arg1);
if (!_local2){
return;
};
this._groupBy.push({table:TABLE_RATINGS, field:_local2.id});
}
public function groupByKey(_arg1:String):void{
var _local2:SaveKey = this._group.getKeyByName(_arg1);
if (!_local2){
return;
};
this._groupBy.push({table:TABLE_KEYS, field:_local2.id});
}
public function addFileCondition(_arg1:uint, _arg2:String, _arg3):void{
this._fileConditions.push({field:_arg1, operator:_arg2, value:_arg3});
}
public function addKeyCondition(_arg1:String, _arg2:String, _arg3):void{
var _local4:SaveKey = this._group.getKeyByName(_arg1);
if (!_local4){
return;
};
if (!this.checkValue(_arg3, _local4.type)){
return;
};
this._keyConditions.push({key_id:_local4.id, operator:_arg2, value:_arg3});
}
public function addRatingCondition(_arg1:String, _arg2:String, _arg3, _arg4:String="score"):void{
var _local5:SaveRating = this._group.getRatingByName(_arg1);
if (!_local5){
return;
};
this._ratingConditions.push({rating_id:_local5.id, operator:_arg2, value:_arg3, column:_arg4});
}
private function addSortCondition(_arg1:uint, _arg2:uint, _arg3:Boolean=false, _arg4=null):void{
var _local5:Object = {table:_arg1, field:_arg2, desc:_arg3};
if (_arg4){
_local5.extra = _arg4;
};
this._sortConditions.push(_local5);
}
public function sortOn(_arg1:uint, _arg2:Boolean=false):void{
this.addSortCondition(TABLE_FILES, _arg1, _arg2);
}
public function sortOnKey(_arg1:String, _arg2:Boolean=false):void{
this.addSortCondition(TABLE_KEYS, this._group.getKeyByName(_arg1).id, _arg2);
}
public function sortOnRating(_arg1:String, _arg2:Boolean=false, _arg3:String="score"):void{
this.addSortCondition(TABLE_RATINGS, this._group.getRatingByName(_arg1).id, _arg2, _arg3);
}
public function execute():void{
API.executeSaveQuery(this);
}
private function checkValue(_arg1, _arg2:uint):Boolean{
return (true);
}
override public function toString():String{
return ("");
}
public function toObject():Object{
var _local1:Object = {page:this._page, num_results:this._resultsPerPage};
if (this.isRandomized){
_local1.randomize = 1;
};
if (((this._fileConditions) && ((this._fileConditions.length > 0)))){
_local1.file_conditions = this._fileConditions;
};
if (((this._keyConditions) && ((this._keyConditions.length > 0)))){
_local1.key_conditions = this._keyConditions;
};
if (((this._ratingConditions) && ((this._ratingConditions.length > 0)))){
_local1.rating_conditions = this._ratingConditions;
};
if (((this._sortConditions) && ((this._sortConditions.length > 0)))){
_local1.sort_conditions = this._sortConditions;
};
if (((this._lookupKeys) && ((this._lookupKeys.length > 0)))){
_local1.lookup_keys = this._lookupKeys;
};
if (((this._lookupRatings) && ((this._lookupRatings.length > 0)))){
_local1.lookup_ratings = this._lookupRatings;
};
if (((this._groupBy) && ((this._groupBy.length > 0)))){
_local1.group_by = this._groupBy;
};
return (_local1);
}
}
}//package com.newgrounds
Section 29
//SaveKey (com.newgrounds.SaveKey)
package com.newgrounds {
public class SaveKey {
private var _id:uint;
private var _name:String;
private var _type:uint;
public static const TYPE_FLOAT:uint = 1;
public static const TYPE_INTEGER:uint = 2;
public static const TYPE_STRING:uint = 3;
public static const TYPE_BOOLEAN:uint = 4;
public function SaveKey(_arg1:uint, _arg2:String, _arg3:uint){
this._id = _arg1;
this._name = _arg2;
this._type = _arg3;
}
public function get id():uint{
return (this._id);
}
public function get name():String{
return (this._name);
}
public function get type():uint{
return (this._type);
}
public function isValueValid(_arg1):Boolean{
if (this._type == TYPE_INTEGER){
return ((((_arg1 is int)) || ((_arg1 is uint))));
};
if (this._type == TYPE_FLOAT){
return ((((((_arg1 is int)) || ((_arg1 is uint)))) || ((_arg1 is Number))));
};
if (this._type == TYPE_STRING){
return ((_arg1 is String));
};
if (this._type == TYPE_BOOLEAN){
return ((((((((_arg1 is Boolean)) || ((_arg1 === 0)))) || ((_arg1 === 1)))) || ((_arg1 == ""))));
};
return (false);
}
public function toString():String{
return (this._name);
}
}
}//package com.newgrounds
Section 30
//SaveRating (com.newgrounds.SaveRating)
package com.newgrounds {
public class SaveRating {
private var _id:uint;
private var _name:String;
private var _minValue:Number;
private var _maxValue:Number;
private var _isFloat:Boolean;
private var _voted:Boolean;
public function SaveRating(_arg1:uint, _arg2:String, _arg3:Boolean, _arg4:Number=-INF, _arg5:Number=INF){
this._id = _arg1;
this._name = _arg2;
this._isFloat = _arg3;
this._minValue = _arg4;
this._maxValue = _arg5;
}
public function get id():uint{
return (this._id);
}
public function get name():String{
return (this._name);
}
public function get minValue():Number{
return (this._minValue);
}
public function get maxValue():Number{
return (this._maxValue);
}
public function get isFloat():Boolean{
return (this._isFloat);
}
public function get voted():Boolean{
return (this._voted);
}
public function set voted(_arg1:Boolean):void{
this._voted = _arg1;
}
public function toString():String{
return (this._name);
}
}
}//package com.newgrounds
Section 31
//Score (com.newgrounds.Score)
package com.newgrounds {
public class Score {
private var _board:ScoreBoard;
private var _position:uint;
private var _username:String;
private var _value:String;
private var _numeric_value:uint;
private var _tag:String;
public function Score(_arg1:ScoreBoard, _arg2:Number, _arg3:String, _arg4:String, _arg5:uint, _arg6:String){
this._board = _arg1;
this._position = _arg2;
this._username = _arg3;
this._value = _arg4;
this._numeric_value = _arg5;
this._tag = _arg6;
}
public function get board():ScoreBoard{
return (this._board);
}
public function get position():uint{
return (this._position);
}
public function get username():String{
return (this._username);
}
public function get value():String{
return (this._value);
}
public function get numeric_value():uint{
return (this._numeric_value);
}
public function get tag():String{
return (this._tag);
}
}
}//package com.newgrounds
Section 32
//ScoreBoard (com.newgrounds.ScoreBoard)
package com.newgrounds {
import flash.events.*;
public class ScoreBoard extends EventDispatcher {
private var _name:String;
private var _id:uint;
private var _scores:Array;
private var _period:String;// = "Today"
private var _num_results:uint;// = 10
private var _numScores:uint;
private var _desiredNumResults:uint;
private var _startRank:uint;
private var _endRank:uint;
private var _page:uint;// = 1
private var _tag:String;
public function ScoreBoard(_arg1:uint, _arg2:String, _arg3:String){
this._name = _arg2;
this._id = _arg1;
this._scores = [];
this._tag = _arg3;
}
public function exists():Boolean{
return ((this._id > 0));
}
public function get id():Number{
return (this._id);
}
public function get name():String{
return (this._name);
}
public function get period():String{
return (this._period);
}
public function get page():uint{
return (this._page);
}
public function get num_results():uint{
return (this._num_results);
}
public function get scores():Array{
return (this._scores);
}
public function get tag():String{
return (this._tag);
}
public function get num_scores():uint{
return (this._numScores);
}
public function postScore(_arg1:uint):void{
API.postScore(this._name, _arg1);
}
public function loadScores(_arg1:String="Today", _arg2:uint=1, _arg3:uint=10):void{
this._period = _arg1;
if (((!(this._period)) || ((this._period == "")))){
this._period = ScoreBoardPeriod.TODAY;
};
this._page = _arg2;
this._num_results = _arg3;
this._desiredNumResults = 0;
API.loadScores(this);
}
public function loadScoresInRange(_arg1:String="Today", _arg2:uint=1, _arg3:uint=10):void{
if (_arg2 == 0){
_arg2 = 1;
};
if (_arg3 < _arg2){
_arg3 = _arg2;
};
this._period = _arg1;
if (((!(this._period)) || ((this._period == "")))){
this._period = ScoreBoardPeriod.TODAY;
};
this._desiredNumResults = ((_arg3 - _arg2) + 1);
this._num_results = this._desiredNumResults;
while (int(((_arg2 - 1) / this._num_results)) != int(((_arg3 - 1) / this._num_results))) {
this._num_results++;
};
this._page = ((_arg2 - 1) / this._num_results);
this._startRank = _arg2;
this._endRank = _arg3;
this._page++;
API.loadScores(this);
}
function setScores(_arg1:Array, _arg2:String, _arg3:Number, _arg4:Number, _arg5:uint):void{
var _local7:uint;
this._period = _arg2;
this._page = _arg3;
this._num_results = _arg4;
this._numScores = _arg5;
this._scores = [];
var _local6:uint;
while (_local6 < _arg1.length) {
_local7 = (((this._num_results * (this._page - 1)) + 1) + _local6);
if (((!(this._desiredNumResults)) || ((((_local7 >= this._startRank)) && ((_local7 <= this._endRank)))))){
this._scores.push(new Score(this, _local7, _arg1[_local6].username, _arg1[_local6].value, _arg1[_local6].numeric_value, _arg1[_local6].tag));
};
_local6++;
};
this._num_results = this._scores.length;
}
}
}//package com.newgrounds
Section 33
//ScoreBoardPeriod (com.newgrounds.ScoreBoardPeriod)
package com.newgrounds {
public class ScoreBoardPeriod {
public static const TODAY:String = "Today";
public static const WEEK:String = "This Week";
public static const MONTH:String = "This Month";
public static const YEAR:String = "This Year";
public static const ALL_TIME:String = "All-Time";
}
}//package com.newgrounds
Section 34
//SmartURLLoader (com.newgrounds.SmartURLLoader)
package com.newgrounds {
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.errors.*;
public class SmartURLLoader extends EventDispatcher {
private var _variables:Dictionary;
private var _files:Dictionary;
private var _hasVariables:Boolean;
private var _method:String;// = "GET"
private var _urlRequest:URLRequest;
private var _urlLoader:URLLoader;
private var _dataFormat:String;// = "text"
private var _openBrowser:Boolean;// = false
private var _preventCache:Boolean;// = false
var _command:String;
public var owner;
private static const CRLF:String = "
";
private static var _loaders:Dictionary = new Dictionary();
public function SmartURLLoader(){
this._urlRequest = new URLRequest();
this._variables = new Dictionary();
}
public function get responseFormat():String{
return (this._dataFormat);
}
public function set responseFormat(_arg1:String):void{
this._dataFormat = _arg1;
}
public function get response(){
return (this._urlLoader.data);
}
public function get hasFiles():Boolean{
return (Boolean(this._files));
}
public function get method():String{
return (this._method);
}
public function set method(_arg1:String):void{
if (((this.hasFiles) && ((_arg1 == URLRequestMethod.GET)))){
throw (new IllegalOperationError("GET cannot be used to upload files."));
};
this._method = _arg1;
}
public function get openBrowser():Boolean{
return (this._openBrowser);
}
public function set openBrowser(_arg1:Boolean):void{
this._openBrowser = _arg1;
}
public function get preventCache():Boolean{
return (this._preventCache);
}
public function set preventCache(_arg1:Boolean):void{
this._preventCache = _arg1;
}
public function get bytesLoaded():uint{
return ((this._urlLoader) ? this._urlLoader.bytesLoaded : 0);
}
public function get bytesTotal():uint{
return ((this._urlLoader) ? this._urlLoader.bytesTotal : 0);
}
public function addVariable(_arg1:String, _arg2=""):void{
this._variables[_arg1] = _arg2;
if (_arg2){
this._hasVariables = true;
};
}
public function addFile(_arg1:String, _arg2:ByteArray, _arg3:String, _arg4:String="application/octet-stream"):void{
this.method = URLRequestMethod.POST;
if (!this._files){
this._files = new Dictionary();
};
this._files[_arg1] = new File(_arg1, _arg2, _arg3, _arg4);
}
public function clearVariables():void{
this._variables = new Dictionary();
}
public function clearFiles():void{
this._files = null;
}
public function load(_arg1:String):void{
var urlVariables:URLVariables;
var key:String;
var boundary:String;
var i:uint;
var event:SecurityErrorEvent;
var url = _arg1;
this._urlRequest.url = url;
if (this._preventCache){
url = (url + ("?seed=" + Math.random()));
if (this._hasVariables){
url = (url + "&");
};
};
this._urlRequest.method = this._method;
if ((((this._urlRequest.method == URLRequestMethod.GET)) || (!(this.hasFiles)))){
this._urlRequest.contentType = "application/x-www-form-urlencoded";
if (this._hasVariables){
urlVariables = new URLVariables();
for (key in this._variables) {
urlVariables[key] = this._variables[key];
};
this._urlRequest.data = urlVariables;
};
} else {
boundary = "";
i = 0;
while (i < 32) {
boundary = (boundary + String.fromCharCode(uint((97 + (Math.random() * 25)))));
i = (i + 1);
};
this._urlRequest.contentType = (("multipart/form-data; boundary=\"" + boundary) + "\"");
this._urlRequest.data = this.buildMultipartData(boundary);
};
if (this.openBrowser){
navigateToURL(this._urlRequest, "_blank");
} else {
this._urlLoader = new URLLoader();
this._urlLoader.dataFormat = this._dataFormat;
this._urlLoader.addEventListener(Event.COMPLETE, this.onComplete);
this._urlLoader.addEventListener(ProgressEvent.PROGRESS, this.onProgress);
this._urlLoader.addEventListener(IOErrorEvent.IO_ERROR, this.onIOError);
this._urlLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, this.onHTTPStatus);
this._urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onSecurityError);
_loaders[this._urlLoader] = this;
try {
this._urlLoader.load(this._urlRequest);
} catch(error:Error) {
event = new SecurityErrorEvent(SecurityErrorEvent.SECURITY_ERROR, false, false, error.message);
onSecurityError(event);
};
};
}
public function close():void{
try {
this._urlLoader.close();
} catch(e:Error) {
};
}
public function dispose():void{
this.close();
this._files = null;
this._variables = null;
if (this._urlLoader){
this._urlLoader.removeEventListener(Event.COMPLETE, this.onComplete);
this._urlLoader.removeEventListener(ProgressEvent.PROGRESS, this.onProgress);
this._urlLoader.removeEventListener(IOErrorEvent.IO_ERROR, this.onIOError);
this._urlLoader.removeEventListener(HTTPStatusEvent.HTTP_STATUS, this.onHTTPStatus);
this._urlLoader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onSecurityError);
this._urlLoader = null;
};
this._urlRequest = null;
delete _loaders[this];
}
private function buildMultipartData(_arg1:String):ByteArray{
var _local3:String;
var _local4:File;
var _local2:ByteArray = new ByteArray();
_local2.endian = Endian.BIG_ENDIAN;
_arg1 = ("--" + _arg1);
for (_local3 in this._variables) {
_local2.writeUTFBytes((_arg1 + CRLF));
_local2.writeUTFBytes(((("Content-Disposition: form-data; name=\"" + _local3) + "\"") + CRLF));
_local2.writeUTFBytes(CRLF);
_local2.writeUTFBytes((this._variables[_local3] + CRLF));
};
if (this.hasFiles){
for each (_local4 in this._files) {
_local2.writeUTFBytes((_arg1 + CRLF));
_local2.writeUTFBytes(("Content-Disposition: form-data; name=\"Filename\"" + CRLF));
_local2.writeUTFBytes(CRLF);
_local2.writeUTFBytes((_local4.fileName + CRLF));
_local2.writeUTFBytes((_arg1 + CRLF));
_local2.writeUTFBytes(((((("Content-Disposition: form-data; name=\"" + _local4.dataField) + "\"; filename=\"") + _local4.fileName) + "\"") + CRLF));
_local2.writeUTFBytes((("Content-Type: " + _local4.contentType) + CRLF));
_local2.writeUTFBytes(CRLF);
_local2.writeBytes(_local4.data);
_local2.writeUTFBytes(CRLF);
};
_local2.writeUTFBytes((_arg1 + CRLF));
_local2.writeUTFBytes(("Content-Disposition: form-data; name=\"Upload\"" + CRLF));
_local2.writeUTFBytes(CRLF);
_local2.writeUTFBytes(("Submit Query" + CRLF));
};
_local2.writeUTFBytes((_arg1 + "--"));
_local2.position = 0;
_local2.position = 0;
return (_local2);
}
private function onComplete(_arg1:Event):void{
dispatchEvent(_arg1);
this.dispose();
}
private function onProgress(_arg1:ProgressEvent):void{
dispatchEvent(_arg1);
}
private function onIOError(_arg1:IOErrorEvent):void{
dispatchEvent(_arg1);
this.dispose();
}
private function onSecurityError(_arg1:SecurityErrorEvent):void{
dispatchEvent(_arg1);
this.dispose();
}
private function onHTTPStatus(_arg1:HTTPStatusEvent):void{
dispatchEvent(_arg1);
}
public static function closeAll():void{
var _local1:SmartURLLoader;
for each (_local1 in _loaders) {
if (_local1){
_local1.dispose();
};
};
_loaders = new Dictionary();
}
}
}//package com.newgrounds
import flash.utils.*;
class File {
private var fileName:String;
private var data:ByteArray;
private var dataField:String;
private var contentType:String;
private function File(_arg1:String, _arg2:ByteArray, _arg3:String="Filedata", _arg4:String="application/octet-stream"){
this.fileName = _arg1;
this.data = _arg2;
this.dataField = _arg3;
this.contentType = _arg4;
}
}
Section 35
//NewgroundsAPIAsset_FlashAd_Container_2 (FlashAd_fla.NewgroundsAPIAsset_FlashAd_Container_2)
package FlashAd_fla {
import com.newgrounds.*;
import flash.display.*;
import flash.events.*;
public dynamic class NewgroundsAPIAsset_FlashAd_Container_2 extends MovieClip {
public var adMask:MovieClip;
public var ngLinkButton:SimpleButton;
public function NewgroundsAPIAsset_FlashAd_Container_2(){
addFrameScript(0, this.frame1, 10, this.frame11);
}
public function onNGLinkClicked(_arg1:MouseEvent):void{
API.loadNewgrounds();
}
function frame1(){
this.ngLinkButton.addEventListener(MouseEvent.CLICK, this.onNGLinkClicked);
}
function frame11(){
gotoAndPlay(1);
}
}
}//package FlashAd_fla
Section 36
//NewgroundsAPIAsset_Load_Indicator_5 (FlashAd_fla.NewgroundsAPIAsset_Load_Indicator_5)
package FlashAd_fla {
import flash.display.*;
import flash.events.*;
public dynamic class NewgroundsAPIAsset_Load_Indicator_5 extends MovieClip {
public function NewgroundsAPIAsset_Load_Indicator_5(){
addFrameScript(0, this.frame1);
}
public function onEnterFrame(_arg1:Event):void{
if (((visible) && (stage))){
rotation = (rotation + 30);
} else {
removeEventListener(Event.ENTER_FRAME, this.onEnterFrame);
};
}
function frame1(){
addEventListener(Event.ENTER_FRAME, this.onEnterFrame);
}
}
}//package FlashAd_fla
Section 37
//ArmAttack1_130 (g_dire_ng_fla.ArmAttack1_130)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class ArmAttack1_130 extends MovieClip {
public var dmgbox2:MovieClip;
public var dmgbox3:MovieClip;
public var dmgbox4:MovieClip;
public var dmgbox1:MovieClip;
public function ArmAttack1_130(){
addFrameScript(0, frame1, 15, frame16, 19, frame20);
}
function frame16(){
if (Math.random() < 0.4){
MovieClip(parent.parent.parent.parent).soundHold.addSound("gargantua_attack");
};
}
function frame1(){
stop();
}
function frame20(){
MovieClip(parent.parent.parent.parent).soundHold.addSound("smash1");
}
}
}//package g_dire_ng_fla
Section 38
//ArmAttack2_131 (g_dire_ng_fla.ArmAttack2_131)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class ArmAttack2_131 extends MovieClip {
public var dmgbox2:MovieClip;
public var dmgbox3:MovieClip;
public var dmgbox4:MovieClip;
public var dmgbox1:MovieClip;
public function ArmAttack2_131(){
addFrameScript(0, frame1, 19, frame20, 32, frame33);
}
function frame1(){
stop();
}
function frame20(){
if (Math.random() < 0.4){
MovieClip(parent.parent.parent.parent).soundHold.addSound("gargantua_attack");
};
}
function frame33(){
MovieClip(parent.parent.parent.parent).soundHold.addSound("smash2");
}
}
}//package g_dire_ng_fla
Section 39
//CrawlerCrawl_21 (g_dire_ng_fla.CrawlerCrawl_21)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class CrawlerCrawl_21 extends MovieClip {
public function CrawlerCrawl_21(){
addFrameScript(0, frame1, 16, frame17);
}
function frame1(){
stop();
}
function frame17(){
gotoAndStop(1);
}
}
}//package g_dire_ng_fla
Section 40
//CrawlerDie_25 (g_dire_ng_fla.CrawlerDie_25)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class CrawlerDie_25 extends MovieClip {
public function CrawlerDie_25(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package g_dire_ng_fla
Section 41
//CrawlerEmerge_20 (g_dire_ng_fla.CrawlerEmerge_20)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class CrawlerEmerge_20 extends MovieClip {
public function CrawlerEmerge_20(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package g_dire_ng_fla
Section 42
//CrawlerHit1_22 (g_dire_ng_fla.CrawlerHit1_22)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class CrawlerHit1_22 extends MovieClip {
public var dmgBox:MovieClip;
public function CrawlerHit1_22(){
addFrameScript(0, frame1, 6, frame7, 14, frame15, 21, frame22);
}
function frame15(){
if (Math.random() < 0.1){
MovieClip(parent.parent.parent.parent).soundHold.addSound("crawler_attack");
};
}
function frame7(){
if (Math.random() < 0.1){
MovieClip(parent.parent.parent.parent).soundHold.addSound("crawler_attack");
};
}
function frame1(){
stop();
}
function frame22(){
if (Math.random() < 0.2){
MovieClip(parent.parent.parent.parent).soundHold.addSound("crawler_attack");
};
}
}
}//package g_dire_ng_fla
Section 43
//CrawlerHit2_23 (g_dire_ng_fla.CrawlerHit2_23)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class CrawlerHit2_23 extends MovieClip {
public var dmgBox:MovieClip;
public function CrawlerHit2_23(){
addFrameScript(0, frame1, 8, frame9);
}
function frame1(){
stop();
}
function frame9(){
if (Math.random() < 0.4){
MovieClip(parent.parent.parent.parent).soundHold.addSound("crawler_attack");
};
}
}
}//package g_dire_ng_fla
Section 44
//CrawlerKill_24 (g_dire_ng_fla.CrawlerKill_24)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class CrawlerKill_24 extends MovieClip {
public var _root:MovieClip;
public function CrawlerKill_24(){
addFrameScript(0, frame1, 3, frame4, 8, frame9, 12, frame13, 29, frame30);
}
function frame1(){
_root = (parent.parent.parent.parent as MovieClip);
stop();
}
function frame13(){
_root.bmd3.draw(_root);
}
function frame4(){
_root.bmd1.draw(_root);
}
function frame9(){
_root.bmd2.draw(_root);
}
function frame30(){
_root.registerLoss();
}
}
}//package g_dire_ng_fla
Section 45
//CrocAppear1_10 (g_dire_ng_fla.CrocAppear1_10)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class CrocAppear1_10 extends MovieClip {
public function CrocAppear1_10(){
addFrameScript(0, frame1, 24, frame25);
}
function frame1(){
stop();
MovieClip(parent).tail.visible = false;
}
function frame25(){
MovieClip(parent).tail.visible = true;
}
}
}//package g_dire_ng_fla
Section 46
//CrocAttack1_13 (g_dire_ng_fla.CrocAttack1_13)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class CrocAttack1_13 extends MovieClip {
public var aimBox:MovieClip;
public function CrocAttack1_13(){
addFrameScript(0, frame1, 2, frame3);
}
function frame3(){
if (Math.random() < 0.3){
MovieClip(parent.parent.parent.parent).soundHold.addSound("crocodile_attack");
};
}
function frame1(){
stop();
}
}
}//package g_dire_ng_fla
Section 47
//CrocAttack2_14 (g_dire_ng_fla.CrocAttack2_14)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class CrocAttack2_14 extends MovieClip {
public var smashbox:MovieClip;
public function CrocAttack2_14(){
addFrameScript(0, frame1, 6, frame7);
}
function frame7(){
if (Math.random() < 0.5){
MovieClip(parent.parent.parent.parent).soundHold.addSound("crocodile_attack");
};
}
function frame1(){
stop();
}
}
}//package g_dire_ng_fla
Section 48
//CrocDie_16 (g_dire_ng_fla.CrocDie_16)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class CrocDie_16 extends MovieClip {
public function CrocDie_16(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
MovieClip(parent).tail.visible = false;
}
}
}//package g_dire_ng_fla
Section 49
//CrocKill_15 (g_dire_ng_fla.CrocKill_15)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class CrocKill_15 extends MovieClip {
public var _root:MovieClip;
public function CrocKill_15(){
addFrameScript(0, frame1, 7, frame8, 12, frame13, 30, frame31, 49, frame50, 79, frame80);
}
function frame80(){
_root.registerLoss();
}
function frame1(){
_root = (parent.parent.parent.parent as MovieClip);
stop();
}
function frame13(){
MovieClip(parent.parent.parent.parent).soundHold.addSound("crocodile_attack");
}
function frame8(){
MovieClip(parent).tail.visible = false;
_root.bmd1.draw(_root);
}
function frame31(){
_root.bmd2.draw(_root);
}
function frame50(){
_root.bmd3.draw(_root);
}
}
}//package g_dire_ng_fla
Section 50
//CrocRun_11 (g_dire_ng_fla.CrocRun_11)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class CrocRun_11 extends MovieClip {
public function CrocRun_11(){
addFrameScript(0, frame1, 12, frame13);
}
function frame1(){
stop();
}
function frame13(){
gotoAndStop(1);
}
}
}//package g_dire_ng_fla
Section 51
//CrocTail_9 (g_dire_ng_fla.CrocTail_9)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class CrocTail_9 extends MovieClip {
public function CrocTail_9(){
addFrameScript(0, frame1, 20, frame21);
}
function frame1(){
stop();
}
function frame21(){
gotoAndStop(1);
}
}
}//package g_dire_ng_fla
Section 52
//CrocTurn_12 (g_dire_ng_fla.CrocTurn_12)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class CrocTurn_12 extends MovieClip {
public function CrocTurn_12(){
addFrameScript(0, frame1, 10, frame11);
}
function frame1(){
gotoAndStop(10);
}
function frame11(){
gotoAndStop(1);
}
}
}//package g_dire_ng_fla
Section 53
//Doors1_106 (g_dire_ng_fla.Doors1_106)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class Doors1_106 extends MovieClip {
public function Doors1_106(){
addFrameScript(0, frame1, 48, frame49);
}
function frame1(){
stop();
}
function frame49(){
prevFrame();
}
}
}//package g_dire_ng_fla
Section 54
//EnemyImage_92 (g_dire_ng_fla.EnemyImage_92)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class EnemyImage_92 extends MovieClip {
public function EnemyImage_92(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package g_dire_ng_fla
Section 55
//EnemyImageFadeIn_91 (g_dire_ng_fla.EnemyImageFadeIn_91)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class EnemyImageFadeIn_91 extends MovieClip {
public var enemyBit:MovieClip;
public function EnemyImageFadeIn_91(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package g_dire_ng_fla
Section 56
//FadeIn_95 (g_dire_ng_fla.FadeIn_95)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class FadeIn_95 extends MovieClip {
public function FadeIn_95(){
addFrameScript(0, frame1, 2, frame3, 24, frame25);
}
function frame3(){
MovieClip(parent).soundHold.addSound("level_enter");
}
function frame1(){
stop();
}
function frame25(){
gotoAndStop(1);
}
}
}//package g_dire_ng_fla
Section 57
//FadeOut_98 (g_dire_ng_fla.FadeOut_98)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class FadeOut_98 extends MovieClip {
public var frm:uint;
public var _root:MovieClip;
public function FadeOut_98(){
addFrameScript(0, frame1, 2, frame3, 32, frame33);
}
function frame3(){
MovieClip(parent).soundHold.addSound("level_exit");
}
function frame1(){
stop();
frm = 0;
_root = (parent as MovieClip);
}
public function goToFrm(_arg1:uint=0):void{
frm = _arg1;
gotoAndStop(2);
}
function frame33(){
gotoAndStop(1);
_root.gotoAndStop(frm);
}
}
}//package g_dire_ng_fla
Section 58
//GameOverScreen_64 (g_dire_ng_fla.GameOverScreen_64)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class GameOverScreen_64 extends MovieClip {
public var userPage:URLRequest;
public var frm:uint;
public var bmpData2:MovieClip;
public var bmpData3:MovieClip;
public var bmpData4:MovieClip;
public var bmp1:Bitmap;
public var moreGamesBtn:PlayMoreButton;
public var bmp3:Bitmap;
public var bmp4:Bitmap;
public var bmpData1:MovieClip;
public var menuBtn:MenuButton;
public var bmp2:Bitmap;
public var retryBtn:RetryButton;
public var toGoTo:uint;
public var _root:MovieClip;
public function GameOverScreen_64(){
addFrameScript(0, frame1, 2, frame3, 29, frame30, 30, frame31, 59, frame60, 89, frame90);
}
function frame3(){
_root.musicHold.addMusic("game_over");
}
function frame1(){
stop();
_root = (parent as MovieClip);
frm = 6;
userPage = new URLRequest("http://paranoia.newgrounds.com/");
toGoTo = 0;
bmp1 = new Bitmap(_root.bmd3);
bmp2 = new Bitmap(_root.bmd2);
bmp3 = new Bitmap(_root.bmd1);
bmp4 = new Bitmap(_root.bmd1);
retryBtn.deactivateBtn();
menuBtn.deactivateBtn();
moreGamesBtn.deactivateBtn();
bmp1.smoothing = (bmp2.smoothing = (bmp3.smoothing = (bmp4.smoothing = true)));
retryBtn.onPress = function ():void{
_root.musicHold.fadeOut(20);
gotoAndPlay(31);
_root.loadWeapons();
toGoTo = _root.frm;
};
menuBtn.onPress = function ():void{
_root.musicHold.fadeOut(20);
gotoAndPlay(31);
toGoTo = 5;
};
moreGamesBtn.onPress = function ():void{
navigateToURL(userPage, "_blank");
};
bmpData4.addChild(bmp4);
bmpData3.addChild(bmp3);
bmpData2.addChild(bmp2);
bmpData1.addChild(bmp1);
if (frm == _root.currentFrame){
gotoAndPlay(2);
};
}
function frame30(){
stop();
retryBtn.activateBtn();
menuBtn.activateBtn();
moreGamesBtn.activateBtn();
}
function frame90(){
_root.gotoAndStop(toGoTo);
gotoAndStop(1);
}
function frame31(){
retryBtn.deactivateBtn();
menuBtn.deactivateBtn();
moreGamesBtn.deactivateBtn();
}
function frame60(){
_root.musicHold.resetMusic();
if (toGoTo > 5){
_root.gotoAndStop(toGoTo);
gotoAndStop(1);
};
}
}
}//package g_dire_ng_fla
Section 59
//GargantuaArm_129 (g_dire_ng_fla.GargantuaArm_129)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class GargantuaArm_129 extends MovieClip {
public var ani2:MovieClip;
public var ani3:MovieClip;
public function GargantuaArm_129(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package g_dire_ng_fla
Section 60
//GargantuaDeath_136 (g_dire_ng_fla.GargantuaDeath_136)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class GargantuaDeath_136 extends MovieClip {
public function GargantuaDeath_136(){
addFrameScript(0, frame1, 1, frame2, 14, frame15, 23, frame24, 39, frame40, 274, frame275);
}
function frame275(){
MovieClip(parent.parent.parent).soundHold.addSound("gargantua_die3");
}
function frame15(){
MovieClip(parent.parent.parent).soundHold.addSound("gargantua_die1");
}
function frame1(){
stop();
}
function frame24(){
MovieClip(parent.parent.parent).soundHold.addSound("gargantua_die1");
}
function frame2(){
MovieClip(parent.parent.parent).soundHold.addSound("gargantua_die1");
}
function frame40(){
MovieClip(parent.parent.parent).soundHold.addSound("gargantua_die2");
}
}
}//package g_dire_ng_fla
Section 61
//GargantuaIntro_135 (g_dire_ng_fla.GargantuaIntro_135)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class GargantuaIntro_135 extends MovieClip {
public function GargantuaIntro_135(){
addFrameScript(0, frame1, 6, frame7);
}
function frame7(){
MovieClip(parent.parent.parent).soundHold.addSound("gargantua_emerge");
}
function frame1(){
stop();
}
}
}//package g_dire_ng_fla
Section 62
//GunAn5_83 (g_dire_ng_fla.GunAn5_83)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class GunAn5_83 extends MovieClip {
public var aim2:MovieClip;
public var aim1:MovieClip;
public function GunAn5_83(){
addFrameScript(0, frame1, 13, frame14);
}
function frame14(){
gotoAndStop(1);
}
function frame1(){
stop();
}
}
}//package g_dire_ng_fla
Section 63
//GunAni1_79 (g_dire_ng_fla.GunAni1_79)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class GunAni1_79 extends MovieClip {
public var aim2:MovieClip;
public var aim1:MovieClip;
public function GunAni1_79(){
addFrameScript(0, frame1, 14, frame15, 19, frame20);
}
function frame15(){
gotoAndStop(8);
}
function frame1(){
stop();
}
function frame20(){
gotoAndStop(1);
}
}
}//package g_dire_ng_fla
Section 64
//GunAni2_80 (g_dire_ng_fla.GunAni2_80)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class GunAni2_80 extends MovieClip {
public var aimb1:MovieClip;
public var aimb2:MovieClip;
public var aim2:MovieClip;
public var aim1:MovieClip;
public function GunAni2_80(){
addFrameScript(0, frame1, 4, frame5);
}
function frame1(){
stop();
}
function frame5(){
gotoAndStop(1);
}
}
}//package g_dire_ng_fla
Section 65
//GunAni3_81 (g_dire_ng_fla.GunAni3_81)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class GunAni3_81 extends MovieClip {
public var aim2:MovieClip;
public var aim1:MovieClip;
public function GunAni3_81(){
addFrameScript(0, frame1, 7, frame8);
}
function frame1(){
stop();
}
function frame8(){
gotoAndStop(1);
}
}
}//package g_dire_ng_fla
Section 66
//GunAni4_82 (g_dire_ng_fla.GunAni4_82)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class GunAni4_82 extends MovieClip {
public var aim2:MovieClip;
public var aim1:MovieClip;
public function GunAni4_82(){
addFrameScript(0, frame1, 3, frame4);
}
function frame1(){
stop();
}
function frame4(){
gotoAndStop(1);
}
}
}//package g_dire_ng_fla
Section 67
//GunsClip_93 (g_dire_ng_fla.GunsClip_93)
package g_dire_ng_fla {
import flash.display.*;
import flash.text.*;
public dynamic class GunsClip_93 extends MovieClip {
public var ammoLeft:TextField;
}
}//package g_dire_ng_fla
Section 68
//GuyHealthBar_88 (g_dire_ng_fla.GuyHealthBar_88)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class GuyHealthBar_88 extends MovieClip {
public var gun1:MovieClip;
public var healthBar1:MovieClip;
public var gun5:MovieClip;
public var gunAlt1:MovieClip;
public var gunAlt2:MovieClip;
public var gunAlt4:MovieClip;
public var healthTarg1:Number;
public var gunAlt3:MovieClip;
public var healthTarg2:Number;
public var gun3:MovieClip;
public var gun4:MovieClip;
public var gunAlt5:MovieClip;
public var enemyImg:MovieClip;
public var hbox:Boolean;
public var enemyNo:uint;
public var i:uint;
public var enemyTime:uint;
public var healthTrail1:MovieClip;
public var healthTrail2:MovieClip;
public var healthBar2:MovieClip;
public var _root:MovieClip;
public var gun2:MovieClip;
public function GuyHealthBar_88(){
addFrameScript(0, frame1);
}
public function changeWeapon(_arg1:uint):void{
var _local2:uint;
_local2 = 1;
while (_local2 <= 5) {
this[("gunAlt" + _local2)].visible = !((_root.weapon == _local2));
_local2++;
};
}
public function upd():void{
if (healthBar1.scaleX > healthTarg1){
if ((healthBar1.scaleX - 0.05) > healthTarg1){
healthBar1.scaleX = (healthBar1.scaleX - 0.05);
} else {
healthBar1.scaleX = healthTarg1;
};
} else {
if (healthBar1.scaleX < healthTarg1){
healthBar1.scaleX = healthTarg1;
healthTrail1.scaleX = healthTarg1;
};
};
if (healthBar2.scaleX > healthTarg2){
if ((healthBar2.scaleX - 0.05) > healthTarg2){
healthBar2.scaleX = (healthBar2.scaleX - 0.05);
} else {
healthBar2.scaleX = healthTarg2;
};
} else {
if (healthBar2.scaleX < healthTarg2){
healthBar2.scaleX = healthTarg2;
healthTrail2.scaleX = healthTarg2;
};
};
if (healthTrail1.scaleX > healthTarg1){
if (healthTrail1.alpha > 0.6){
healthTrail1.alpha = (healthTrail1.alpha - 0.04);
} else {
if ((healthTrail1.scaleX - 0.02) > healthTarg1){
healthTrail1.scaleX = (healthTrail1.scaleX - 0.02);
healthTrail1.alpha = (healthTrail1.alpha - 0.02);
} else {
healthTrail1.scaleX = healthTarg1;
};
};
};
if (healthTrail2.scaleX > healthTarg2){
if (healthTrail2.alpha > 0.6){
healthTrail2.alpha = (healthTrail2.alpha - 0.04);
} else {
if ((healthTrail2.scaleX - 0.02) > healthTarg2){
healthTrail2.scaleX = (healthTrail2.scaleX - 0.02);
healthTrail2.alpha = (healthTrail2.alpha - 0.02);
} else {
healthTrail2.scaleX = healthTarg2;
};
};
};
if (enemyNo == 0){
if (healthBar2.alpha > 0.1){
healthBar2.alpha = (healthBar2.alpha - 0.1);
} else {
if (healthBar2.alpha > 0){
healthBar2.alpha = 0;
};
};
if (healthTrail2.alpha > 0.3){
healthTrail2.alpha = (healthTrail2.alpha - 0.3);
} else {
if (healthTrail2.alpha > 0){
healthTrail2.alpha = 0;
};
};
};
if ((((enemyImg.currentFrame > 1)) && (!((enemyImg.currentFrame == 5))))){
enemyImg.nextFrame();
};
if (enemyTime > 0){
enemyTime--;
} else {
if (enemyImg.currentFrame == 5){
enemyNo = 0;
enemyImg.nextFrame();
};
};
}
public function addWeapon(_arg1:uint=1):void{
this[("gun" + _arg1)].visible = true;
this[("gunAlt" + _arg1)].visible = false;
}
function frame1(){
stop();
_root = MovieClip(parent);
enemyTime = 100;
enemyNo = 0;
healthTarg1 = 1;
healthTarg2 = 1;
hbox = true;
healthBar2.alpha = (healthTrail2.alpha = 0);
i = 1;
while (i <= 5) {
this[("gun" + i)].gotoAndStop(i);
this[("gunAlt" + i)].gotoAndStop(i);
this[("gun" + i)].visible = _root.weaponsList[(i - 1)][0];
this[("gunAlt" + i)].visible = !((_root.weapon == i));
if (i == 1){
this[("gun" + i)].ammoLeft.text = "";
} else {
this[("gun" + i)].ammoLeft.text = String(_root.weaponsList[(i - 1)][1]);
};
i++;
};
}
public function setHealth(_arg1:Number, _arg2:Number):void{
healthTarg1 = (_arg1 / _arg2);
healthBar1.alpha = 1;
healthTrail1.alpha = 1;
}
public function setEnemyHealth(_arg1:Number, _arg2:Number, _arg3:uint=1):void{
if (enemyNo != _arg3){
enemyImg.enemyBit.gotoAndStop(_arg3);
enemyNo = _arg3;
enemyImg.gotoAndStop(2);
healthBar2.scaleX = (healthTrail2.scaleX = (_arg1 / _arg2));
};
enemyTime = 200;
healthTarg2 = (_arg1 / _arg2);
healthBar2.alpha = 1;
healthTrail2.alpha = 1;
}
public function changeAmmo(_arg1:uint=1, _arg2:uint=0):void{
this[("gun" + _arg1)].ammoLeft.text = String(_arg2);
}
}
}//package g_dire_ng_fla
Section 69
//HeadAni_85 (g_dire_ng_fla.HeadAni_85)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class HeadAni_85 extends MovieClip {
public function HeadAni_85(){
addFrameScript(0, frame1, 64, frame65);
}
function frame65(){
gotoAndStop(1);
}
function frame1(){
stop();
}
}
}//package g_dire_ng_fla
Section 70
//HintClip_97 (g_dire_ng_fla.HintClip_97)
package g_dire_ng_fla {
import flash.display.*;
import flash.text.*;
public dynamic class HintClip_97 extends MovieClip {
public var hintText:TextField;
}
}//package g_dire_ng_fla
Section 71
//IntroClip_51 (g_dire_ng_fla.IntroClip_51)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class IntroClip_51 extends MovieClip {
public var _root:MovieClip;
public function IntroClip_51(){
addFrameScript(0, frame1, 39, frame40);
}
function frame1(){
_root = (parent as MovieClip);
}
function frame40(){
_root.gotoAndStop(5);
}
}
}//package g_dire_ng_fla
Section 72
//ItemShow_96 (g_dire_ng_fla.ItemShow_96)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class ItemShow_96 extends MovieClip {
public var hintClip:MovieClip;
public var hintClip2:MovieClip;
public var hintContent:String;
public function ItemShow_96(){
addFrameScript(0, frame1, 2, frame3, 60, frame61);
}
function frame3(){
hintClip.hintText.text = hintContent;
hintClip2.hintText.text = hintContent;
}
function frame1(){
stop();
hintContent = "";
}
public function addHint(_arg1:String):void{
MovieClip(parent).soundHold.addSound("message");
gotoAndStop(2);
hintContent = (("[ " + _arg1.toUpperCase()) + " ]");
}
function frame61(){
gotoAndStop(1);
}
}
}//package g_dire_ng_fla
Section 73
//L1FirstRoom_101 (g_dire_ng_fla.L1FirstRoom_101)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class L1FirstRoom_101 extends MovieClip {
public const min:Function;
public var raises:Array;
public var enemies:EnemiesHold;
public var levelArea:MovieClip;
public var pillar2:MovieClip;
public var pillar3:MovieClip;
public var pillar4:MovieClip;
public var pillar1:MovieClip;
public var i:uint;
public var itemses:PickupsHold;
public var node1:MovieClip;
public var node2:MovieClip;
public var node3:MovieClip;
public var node5:MovieClip;
public var node6:MovieClip;
public var node7:MovieClip;
public var node8:MovieClip;
public var node9:MovieClip;
public var node4:MovieClip;
public var j:uint;
public var toUpd:Array;
public var my_legs:MovieClip;
public var mid2:MovieClip;
public var mid3:MovieClip;
public var mid1:MovieClip;
public var paths:Array;
public var effectsLow:EffectsHold;
public var effects:EffectsHold;
public var left2:MovieClip;
public var left1:MovieClip;
public var left3:MovieClip;
public var aimSpot2:MovieClip;
public var aimSpot3:MovieClip;
public var aimSpot4:MovieClip;
public var frm:uint;
public var aimSpot1:MovieClip;
public var terrain:MovieClip;
public var pile1:MovieClip;
public var pile4:MovieClip;
public var pile2:MovieClip;
public var pile3:MovieClip;
public var guy:MainChar;
public var trigger1:MovieClip;
public var base2:MovieClip;
public var base3:MovieClip;
public var base1:MovieClip;
public var right1:MovieClip;
public var right3:MovieClip;
public var aimspots:Array;
public var right2:MovieClip;
public var node10:MovieClip;
public var node11:MovieClip;
public var node13:MovieClip;
public var node15:MovieClip;
public var node12:MovieClip;
public var node14:MovieClip;
public var _root:MovieClip;
public var obstacles:MovieClip;
public function L1FirstRoom_101(){
min = Math.min;
super();
addFrameScript(0, frame1);
}
function frame1(){
frm = 9;
i = 0;
j = 0;
toUpd = new Array();
_root = (parent as MovieClip);
if (frm == _root.currentFrame){
_root.musicHold.addMusic("temple_back");
raises = [[pile1, 1.02], [pile2, 1.05], [pile3, 1.07], [pile4, 1.1]];
raises.push([pillar1, 1.04], [pillar2, 1.04], [pillar3, 1.04], [pillar4, 1.04]);
raises.push([mid1, 1.04], [mid2, 1.08], [mid3, 1.12]);
raises.push([left1, 1.03], [left2, 1.06], [left3, 1.09]);
raises.push([right1, 1.03], [right2, 1.06], [right3, 1.09]);
raises.push([base1, 1.03], [base2, 1.06], [base3, 1.09]);
paths = [node1, node2, node3, node4, node5, node6, node7, node8, node9, node10, node11, node12, node13, node14, node15];
node1.friends = [[node2, 7], [node5, 10]];
node2.friends = [[node1, 7], [node3, 5], [node7, 9]];
node3.friends = [[node2, 5], [node7, 9], [node4, 7]];
node4.friends = [[node3, 7], [node10, 10]];
node5.friends = [[node1, 10], [node6, 7], [node11, 8]];
node6.friends = [[node5, 7], [node7, 2], [node8, 3]];
node7.friends = [[node2, 9], [node3, 9], [node6, 2], [node9, 2]];
node8.friends = [[node6, 3], [node9, 3], [node12, 2], [node14, 4]];
node9.friends = [[node7, 2], [node8, 2], [node10, 7]];
node10.friends = [[node4, 10], [node9, 7], [node15, 10]];
node11.friends = [[node5, 8], [node12, 7]];
node12.friends = [[node11, 7], [node8, 2], [node13, 4], [node14, 4]];
node13.friends = [[node12, 4], [node14, 2]];
node14.friends = [[node8, 4], [node13, 2], [node15, 7]];
node15.friends = [[node10, 10], [node14, 7]];
aimspots = [aimSpot1, aimSpot2, aimSpot3, aimSpot4];
enemies.alives = new Array(guy);
_root.fadeIn.gotoAndStop(2);
guy.setVars(_root, this, terrain, obstacles, enemies.alives[i].hitbox, paths, raises, aimspots);
guy.setVals(my_legs, guy.my_arms, guy.my_head, levelArea);
effects.setVars(_root, this);
effectsLow.setVars(_root, this);
enemies.setVars(_root, this, terrain, guy, obstacles, levelArea, paths, raises, aimspots);
itemses.setVars(_root, this, guy);
upd();
};
}
public function upd():void{
if (frm == _root.currentFrame){
enemies.toUpd = enemies.getUpdatable();
itemses.upd();
effects.upd(enemies.toUpd);
effectsLow.upd(enemies.toUpd);
enemies.upd(enemies.toUpd);
guy.checkObs(enemies.alives);
guy.snapTerrain();
guy.correctTerrain();
if (((guy.hitbox.hitTestObject(trigger1)) && ((_root.fadeOut.currentFrame == 1)))){
_root.fadeOut.goToFrm(10);
};
updAni(_root.fadeIn);
updAni(_root.fadeOut);
updAni(_root.itemShower);
};
}
public function updAni(_arg1:MovieClip):void{
if (_arg1.currentFrame > 1){
_arg1.nextFrame();
};
}
}
}//package g_dire_ng_fla
Section 74
//L1TestingRoom_69 (g_dire_ng_fla.L1TestingRoom_69)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class L1TestingRoom_69 extends MovieClip {
public const min:Function;
public var raises:Array;
public var enemies:EnemiesHold;
public var levelArea:MovieClip;
public var pillar2:MovieClip;
public var pillar3:MovieClip;
public var pillar4:MovieClip;
public var pillar1:MovieClip;
public var i:uint;
public var itemses:PickupsHold;
public var node1:MovieClip;
public var node2:MovieClip;
public var node3:MovieClip;
public var node5:MovieClip;
public var node6:MovieClip;
public var node7:MovieClip;
public var node8:MovieClip;
public var node9:MovieClip;
public var node4:MovieClip;
public var j:uint;
public var toUpd:Array;
public var my_legs:MovieClip;
public var mid2:MovieClip;
public var mid3:MovieClip;
public var mid1:MovieClip;
public var paths:Array;
public var effects:EffectsHold;
public var left2:MovieClip;
public var left1:MovieClip;
public var left3:MovieClip;
public var aimSpot2:MovieClip;
public var aimSpot3:MovieClip;
public var aimSpot4:MovieClip;
public var frm:uint;
public var aimSpot1:MovieClip;
public var terrain:MovieClip;
public var pile1:MovieClip;
public var pile4:MovieClip;
public var pile2:MovieClip;
public var pile3:MovieClip;
public var guy:MainChar;
public var base2:MovieClip;
public var base3:MovieClip;
public var base1:MovieClip;
public var right1:MovieClip;
public var right3:MovieClip;
public var aimspots:Array;
public var right2:MovieClip;
public var node10:MovieClip;
public var node11:MovieClip;
public var node13:MovieClip;
public var node15:MovieClip;
public var node12:MovieClip;
public var node14:MovieClip;
public var _root:MovieClip;
public var obstacles:MovieClip;
public function L1TestingRoom_69(){
min = Math.min;
super();
addFrameScript(0, frame1);
}
function frame1(){
frm = 7;
i = 0;
j = 0;
toUpd = new Array();
_root = (parent as MovieClip);
if (frm == _root.currentFrame){
raises = [[pile1, 1.02], [pile2, 1.05], [pile3, 1.07], [pile4, 1.1]];
raises.push([pillar1, 1.04], [pillar2, 1.04], [pillar3, 1.04], [pillar4, 1.04]);
raises.push([mid1, 1.04], [mid2, 1.08], [mid3, 1.12]);
raises.push([left1, 1.03], [left2, 1.06], [left3, 1.09]);
raises.push([right1, 1.03], [right2, 1.06], [right3, 1.09]);
raises.push([base1, 1.03], [base2, 1.06], [base3, 1.09]);
paths = [node1, node2, node3, node4, node5, node6, node7, node8, node9, node10, node11, node12, node13, node14, node15];
node1.friends = [[node2, 7], [node5, 10]];
node2.friends = [[node1, 7], [node3, 5], [node7, 9]];
node3.friends = [[node2, 5], [node7, 9], [node4, 7]];
node4.friends = [[node3, 7], [node10, 10]];
node5.friends = [[node1, 10], [node6, 7], [node11, 8]];
node6.friends = [[node5, 7], [node7, 2], [node8, 3]];
node7.friends = [[node2, 9], [node3, 9], [node6, 2], [node9, 2]];
node8.friends = [[node6, 3], [node9, 3], [node12, 2], [node14, 4]];
node9.friends = [[node7, 2], [node8, 2], [node10, 7]];
node10.friends = [[node4, 10], [node9, 7], [node15, 10]];
node11.friends = [[node5, 8], [node12, 7]];
node12.friends = [[node11, 7], [node8, 2], [node13, 4], [node14, 4]];
node13.friends = [[node12, 4], [node14, 2]];
node14.friends = [[node8, 4], [node13, 2], [node15, 7]];
node15.friends = [[node10, 10], [node14, 7]];
aimspots = [aimSpot1, aimSpot2, aimSpot3, aimSpot4];
enemies.alives = new Array(guy);
_root.fadeIn.gotoAndStop(2);
guy.setVars(_root, this, terrain, obstacles, guy.hitbox, paths, raises, aimspots);
guy.setVals(my_legs, guy.my_arms, guy.my_head, levelArea);
effects.setVars(_root, this);
enemies.setVars(_root, this, terrain, guy, obstacles, levelArea, paths, raises, aimspots);
itemses.setVars(_root, this, guy);
upd();
enemies.addSpider(node1.x, node1.y, 30);
enemies.addSpider(node2.x, node2.y, 30);
enemies.addSpider(node3.x, node3.y, 30);
enemies.addSpider(node4.x, node5.y, 30);
enemies.addSpider(node5.x, node5.y, 30);
};
}
public function upd():void{
enemies.toUpd = enemies.getUpdatable();
itemses.upd();
effects.upd(enemies.toUpd);
enemies.upd(enemies.toUpd);
guy.checkObs(enemies.alives);
guy.snapTerrain();
guy.correctTerrain();
if (_root.fadeIn.currentFrame < _root.fadeIn.totalFrames){
_root.fadeIn.nextFrame();
};
if (_root.itemShower.currentFrame > 1){
_root.itemShower.nextFrame();
};
}
}
}//package g_dire_ng_fla
Section 75
//L2Court_103 (g_dire_ng_fla.L2Court_103)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class L2Court_103 extends MovieClip {
public const min:Function;
public var midSpot1:MovieClip;
public var midSpot2:MovieClip;
public var midSpot3:MovieClip;
public var midSpot4:MovieClip;
public var nookSpot1:MovieClip;
public var nookSpot2:MovieClip;
public var nookSpot5:MovieClip;
public var nookSpot4:MovieClip;
public var nookSpot3:MovieClip;
public var raises:Array;
public var enemies:EnemiesHold;
public var levelArea:MovieClip;
public var i:uint;
public var itemses:PickupsHold;
public var node1:MovieClip;
public var node2:MovieClip;
public var node3:MovieClip;
public var node5:MovieClip;
public var node6:MovieClip;
public var node7:MovieClip;
public var node8:MovieClip;
public var node9:MovieClip;
public var node4:MovieClip;
public var j:uint;
public var toUpd:Array;
public var rightSpot1:MovieClip;
public var rightSpot3:MovieClip;
public var rightSpot2:MovieClip;
public var my_legs:MovieClip;
public var paths:Array;
public var effectsLow:EffectsHold;
public var effects:EffectsHold;
public var topSpot1:MovieClip;
public var topSpot2:MovieClip;
public var topSpot3:MovieClip;
public var baseSpot1:MovieClip;
public var baseSpot3:MovieClip;
public var baseSpot2:MovieClip;
public var aimSpot1:MovieClip;
public var aimSpot2:MovieClip;
public var topSpot4:MovieClip;
public var baseSpot4:MovieClip;
public var terrain:MovieClip;
public var frm:uint;
public var pile1:MovieClip;
public var pile2:MovieClip;
public var pile3:MovieClip;
public var pile4:MovieClip;
public var guy:MainChar;
public var trigger1:MovieClip;
public var trigger2:MovieClip;
public var bitTime:uint;
public var rampa1:MovieClip;
public var rampa2:MovieClip;
public var rampa3:MovieClip;
public var rampa4:MovieClip;
public var aimspots:Array;
public var rampb1:MovieClip;
public var rampb2:MovieClip;
public var rampb4:MovieClip;
public var rampb6:MovieClip;
public var rampb7:MovieClip;
public var node10:MovieClip;
public var leftSpot2:MovieClip;
public var rampb3:MovieClip;
public var rampb5:MovieClip;
public var leftSpot1:MovieClip;
public var leftSpot3:MovieClip;
public var node12:MovieClip;
public var node13:MovieClip;
public var node11:MovieClip;
public var rampc1:MovieClip;
public var rampc2:MovieClip;
public var rampc3:MovieClip;
public var rampc4:MovieClip;
public var _root:MovieClip;
public var obstacles:MovieClip;
public var bitStage:uint;
public function L2Court_103(){
min = Math.min;
super();
addFrameScript(0, frame1);
}
function frame1(){
frm = 10;
i = 0;
j = 0;
toUpd = new Array();
bitStage = 0;
bitTime = 0;
_root = (parent as MovieClip);
if (frm == _root.currentFrame){
_root.musicHold.addMusic("temple_back");
_root.musicHold.fadeOut(50);
raises = [[pile1, 1.03], [pile2, 1.06], [pile3, 1.09], [pile4, 1.14]];
raises.push([rampa1, 1.03], [rampa2, 1.03], [rampa3, 1.06], [rampa4, 1.09]);
raises.push([rampb1, 1.03], [rampb2, 1.03], [rampb3, 1.06], [rampb4, 1.06], [rampb5, 1.09], [rampb6, 1.09], [rampb7, 1.12]);
raises.push([rampc1, 1.02], [rampc2, 1.05], [rampc3, 1.05], [rampc4, 1.07]);
paths = [node1, node2, node3, node4, node5, node6, node7, node8, node9, node10, node11, node12, node13];
node1.friends = [[node2, 7], [node6, 10]];
node2.friends = [[node1, 7], [node3, 4], [node4, 3]];
node3.friends = [[node2, 4], [node4, 4], [node7, 5]];
node4.friends = [[node2, 3], [node3, 4], [node5, 7]];
node5.friends = [[node4, 7], [node8, 10]];
node6.friends = [[node1, 10], [node7, 10], [node9, 11], [node10, 9]];
node7.friends = [[node3, 5], [node6, 10], [node8, 4], [node9, 10]];
node8.friends = [[node5, 10], [node7, 4], [node12, 9]];
node9.friends = [[node6, 11], [node7, 10], [node11, 5]];
node10.friends = [[node6, 9], [node11, 11]];
node11.friends = [[node9, 5], [node10, 11], [node12, 11], [node13, 10]];
node12.friends = [[node8, 9], [node11, 11]];
node13.friends = [[node11, 10]];
aimspots = [aimSpot1, aimSpot2];
enemies.alives = new Array(guy);
_root.fadeIn.gotoAndStop(2);
guy.setVars(_root, this, terrain, obstacles, enemies.alives[i].hitbox, paths, raises, aimspots);
guy.setVals(my_legs, guy.my_arms, guy.my_head, levelArea);
effects.setVars(_root, this);
effectsLow.setVars(_root, this);
enemies.setVars(_root, this, terrain, guy, obstacles, levelArea, paths, raises, aimspots);
itemses.setVars(_root, this, guy);
upd();
};
}
public function upd():void{
if (frm == _root.currentFrame){
enemies.toUpd = enemies.getUpdatable();
itemses.upd();
effects.upd(enemies.toUpd);
effectsLow.upd(enemies.toUpd);
enemies.upd(enemies.toUpd);
guy.checkObs(enemies.alives);
guy.snapTerrain();
guy.correctTerrain();
updAni(_root.fadeIn);
updAni(_root.fadeOut);
updAni(_root.itemShower);
updAni(terrain.doors1);
if (((guy.hitbox.hitTestObject(trigger2)) && ((_root.fadeOut.currentFrame == 1)))){
_root.fadeOut.goToFrm(11);
};
if (bitTime > 0){
bitTime--;
} else {
switch (bitStage){
case 0:
if (guy.hitTestObject(trigger1)){
_root.musicHold.resetMusic();
bitStage = 1;
bitTime = 20;
};
break;
case 1:
_root.musicHold.addMusic("fight1");
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("crawler_emerge");
enemies.addCrawler(rightSpot3.x, rightSpot3.y, 30, 90);
enemies.addCrawler(leftSpot3.x, leftSpot3.y, 30, 270);
bitStage = 2;
bitTime = 20;
break;
case 2:
if (enemies.alives.length < 2){
_root.soundHold.addSound("health_spawn");
itemses.addAnItem(midSpot2.x, midSpot2.y, 2);
bitStage = 3;
bitTime = 120;
};
break;
case 3:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("crawler_emerge");
enemies.addCrawler(topSpot1.x, topSpot1.y, 30, 180);
enemies.addCrawler(topSpot2.x, topSpot2.y, 30, 180);
enemies.addCrawler(topSpot3.x, topSpot3.y, 30, 180);
bitStage = 4;
bitTime = 20;
break;
case 4:
if (enemies.alives.length < 2){
bitTime = 80;
bitStage = 5;
};
break;
case 5:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("crawler_emerge");
enemies.addCrawler((nookSpot1.x + 50), (nookSpot1.y - 20), 20, -20);
enemies.addCrawler((nookSpot1.x - 50), (nookSpot1.y - 20), 20, 20);
enemies.addCrawler(nookSpot3.x, nookSpot3.y, 20, -45);
enemies.addCrawler(nookSpot4.x, nookSpot4.y, 20, 135);
enemies.addCrawler(nookSpot5.x, nookSpot5.y, 20, -135);
bitStage = 6;
bitTime = 20;
break;
case 6:
if (enemies.alives.length < 2){
_root.soundHold.addSound("weapon_spawn");
_root.soundHold.addSound("health_spawn");
itemses.addAnItem(midSpot1.x, midSpot1.y, 4);
itemses.addAnItem(midSpot4.x, midSpot4.y, 1);
bitTime = 180;
bitStage = 7;
};
break;
case 7:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("crawler_emerge");
enemies.addCrawler(topSpot1.x, topSpot1.y, 30);
enemies.addCrawler(topSpot2.x, topSpot2.y, 30);
enemies.addCrawler(topSpot4.x, topSpot4.y, 50);
enemies.addCrawler(topSpot1.x, topSpot1.y, 30);
enemies.addCrawler(rightSpot1.x, rightSpot1.y, 30);
enemies.addCrawler(rightSpot2.x, rightSpot2.y, 30);
enemies.addCrawler(leftSpot1.x, leftSpot1.y, 30);
enemies.addCrawler(leftSpot2.x, leftSpot2.y, 30);
enemies.addCrawler(baseSpot1.x, baseSpot1.y, 30);
enemies.addCrawler(baseSpot2.x, baseSpot2.y, 30);
enemies.addCrawler(baseSpot3.x, baseSpot3.y, 50);
bitStage = 8;
bitTime = 20;
break;
case 8:
if (enemies.alives.length < 2){
_root.soundHold.addSound("health_spawn");
_root.soundHold.addSound("weapon_spawn");
itemses.addAnItem(topSpot4.x, topSpot4.y, 3);
itemses.addAnItem(midSpot4.x, midSpot4.y, 3);
itemses.addAnItem(midSpot3.x, midSpot3.y, 8);
itemses.addAnItem(midSpot1.x, midSpot1.y, 8);
_root.soundHold.addSound("door_open");
_root.itemShower.addHint("EXIT OPEN");
terrain.doors1.gotoAndStop(2);
bitStage = 9;
};
break;
};
};
};
}
public function updAni(_arg1:MovieClip):void{
if (_arg1.currentFrame > 1){
_arg1.nextFrame();
};
}
}
}//package g_dire_ng_fla
Section 76
//L2TerrainRoom2_105 (g_dire_ng_fla.L2TerrainRoom2_105)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class L2TerrainRoom2_105 extends MovieClip {
public var doors1:MovieClip;
}
}//package g_dire_ng_fla
Section 77
//L3Gardens_107 (g_dire_ng_fla.L3Gardens_107)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class L3Gardens_107 extends MovieClip {
public const min:Function;
public var raises:Array;
public var enemies:EnemiesHold;
public var levelArea:MovieClip;
public var tree3:MovieClip;
public var tree2:MovieClip;
public var i:uint;
public var tree1:MovieClip;
public var farEnd1:MovieClip;
public var itemses:PickupsHold;
public var node1:MovieClip;
public var node2:MovieClip;
public var node3:MovieClip;
public var node5:MovieClip;
public var node6:MovieClip;
public var farEnd2:MovieClip;
public var node9:MovieClip;
public var farEnd3:MovieClip;
public var node7:MovieClip;
public var node4:MovieClip;
public var j:uint;
public var node8:MovieClip;
public var off2:MovieClip;
public var off3:MovieClip;
public var off4:MovieClip;
public var off1:MovieClip;
public var off5:MovieClip;
public var off6:MovieClip;
public var off7:MovieClip;
public var toUpd:Array;
public var my_legs:MovieClip;
public var paths:Array;
public var effectsLow:EffectsHold;
public var dip1:MovieClip;
public var dip3:MovieClip;
public var dip4:MovieClip;
public var dip6:MovieClip;
public var dip8:MovieClip;
public var dip2:MovieClip;
public var dip7:MovieClip;
public var dip9:MovieClip;
public var dip5:MovieClip;
public var hall4:MovieClip;
public var hall2:MovieClip;
public var hall3:MovieClip;
public var aimSpot1:MovieClip;
public var aimSpot2:MovieClip;
public var effects:EffectsHold;
public var hall1:MovieClip;
public var terrain:MovieClip;
public var frm:uint;
public var grass1:MovieClip;
public var grass2:MovieClip;
public var grass3:MovieClip;
public var grass4:MovieClip;
public var grass5:MovieClip;
public var grass6:MovieClip;
public var guy:MainChar;
public var grass7:MovieClip;
public var trigger1:MovieClip;
public var trigger2:MovieClip;
public var bitTime:uint;
public var walk2:MovieClip;
public var walk3:MovieClip;
public var ground2:MovieClip;
public var walk1:MovieClip;
public var ground1:MovieClip;
public var ground3:MovieClip;
public var ground4:MovieClip;
public var node10:MovieClip;
public var node11:MovieClip;
public var node13:MovieClip;
public var wall1:MovieClip;
public var wall2:MovieClip;
public var node12:MovieClip;
public var node14:MovieClip;
public var aimspots:Array;
public var side1:MovieClip;
public var _root:MovieClip;
public var obstacles:MovieClip;
public var bitStage:uint;
public function L3Gardens_107(){
min = Math.min;
super();
addFrameScript(0, frame1);
}
function frame1(){
frm = 11;
i = 0;
j = 0;
toUpd = new Array();
bitStage = 0;
bitTime = 0;
_root = (parent as MovieClip);
if (frm == _root.currentFrame){
_root.musicHold.addMusic("fight1");
raises = [[side1, 1.04]];
raises.push([dip1, 0.98], [dip2, 0.98], [dip3, 0.96], [dip4, 0.96], [dip5, 0.94], [dip6, 0.94], [dip7, 0.92], [dip8, 0.9]);
raises.push([wall1, 1.03], [wall2, 1.03]);
raises.push([grass1, 0.98], [grass2, 0.98], [grass3, 0.96], [grass4, 0.97], [grass5, 0.98], [grass6, 0.97], [grass7, 0.96]);
paths = [node1, node2, node3, node4, node5, node6, node7, node8, node9, node10, node11, node12, node13, node14];
node1.friends = [[node2, 5]];
node2.friends = [[node1, 5], [node3, 4], [node4, 12], [node5, 14]];
node3.friends = [[node2, 4], [node4, 9], [node5, 11], [node11, 6]];
node4.friends = [[node3, 9], [node5, 7], [node6, 3]];
node5.friends = [[node3, 11], [node4, 7], [node6, 9], [node8, 10], [node9, 10], [node10, 7]];
node6.friends = [[node4, 3], [node5, 9], [node7, 3]];
node7.friends = [[node6, 3], [node8, 3]];
node8.friends = [[node5, 10], [node7, 3], [node9, 6]];
node9.friends = [[node5, 10], [node8, 6], [node13, 8], [node14, 9]];
node10.friends = [[node5, 7], [node12, 6], [node13, 4]];
node11.friends = [[node3, 6], [node12, 1]];
node12.friends = [[node10, 6], [node11, 1], [node13, 8]];
node13.friends = [[node9, 8], [node10, 4], [node12, 8], [node14, 6]];
node14.friends = [[node9, 9], [node13, 6]];
aimspots = [aimSpot1, aimSpot2];
enemies.alives = new Array(guy);
_root.fadeIn.gotoAndStop(2);
guy.setVars(_root, this, terrain, obstacles, enemies.alives[i].hitbox, paths, raises, aimspots);
guy.setVals(my_legs, guy.my_arms, guy.my_head, levelArea);
effects.setVars(_root, this);
effectsLow.setVars(_root, this);
enemies.setVars(_root, this, terrain, guy, obstacles, levelArea, paths, raises, aimspots);
itemses.setVars(_root, this, guy);
upd();
};
}
public function upd():void{
if (frm == _root.currentFrame){
enemies.toUpd = enemies.getUpdatable();
itemses.upd();
effects.upd(enemies.toUpd);
effectsLow.upd(enemies.toUpd);
enemies.upd(enemies.toUpd);
guy.checkObs(enemies.alives);
guy.snapTerrain();
guy.correctTerrain();
updAni(_root.fadeIn);
updAni(_root.fadeOut);
updAni(_root.itemShower);
updAni(terrain.doors1);
if (((guy.hitbox.hitTestObject(trigger2)) && ((_root.fadeOut.currentFrame == 1)))){
_root.fadeOut.goToFrm(12);
};
if (bitTime > 0){
bitTime--;
} else {
switch (bitStage){
case 0:
if (guy.hitTestObject(trigger1)){
bitStage = 1;
bitTime = 20;
};
break;
case 1:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("crawler_emerge");
enemies.addCrawler(farEnd3.x, farEnd3.y, 30);
enemies.addCrawler((farEnd3.x - 60), farEnd3.y, 30);
enemies.addCrawler(farEnd3.x, (farEnd3.y - 60), 30);
enemies.addCrawler(farEnd3.x, (farEnd3.y + 60), 30);
bitStage = 2;
bitTime = 250;
break;
case 2:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("crawler_emerge");
enemies.addCrawler(grass1.x, grass1.y, 10);
enemies.addCrawler((grass1.x + 30), grass1.y, 10);
enemies.addCrawler((grass1.x - 60), grass1.y, 10);
bitStage = 3;
bitTime = 30;
break;
case 3:
if (enemies.alives.length < 2){
_root.soundHold.addSound("health_spawn");
_root.soundHold.addSound("weapon_spawn");
itemses.addAnItem(ground1.x, ground1.y, 3);
itemses.addAnItem(ground4.x, ground4.y, 8);
itemses.addAnItem(hall3.x, hall3.y, 3);
bitStage = 4;
bitTime = 200;
};
break;
case 4:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("crawler_emerge");
_root.soundHold.addSound("fly_emerge");
enemies.addCrawler(walk1.x, walk1.y, 10, 180);
enemies.addCrawler((walk3.x + 30), walk3.y, 10, 90);
enemies.addWasp(off1.x, off1.y, 40);
enemies.addWasp(off2.x, off2.y, 40);
enemies.addWasp(off3.x, off3.y, 40);
enemies.addWasp(off4.x, off4.y, 40);
enemies.addWasp(off5.x, off5.y, 40);
enemies.addWasp(off6.x, off6.y, 40);
enemies.addWasp(off7.x, off7.y, 40);
bitStage = 5;
bitTime = 30;
break;
case 5:
if (enemies.alives.length < 4){
_root.soundHold.addSound("health_spawn");
_root.soundHold.addSound("weapon_spawn");
itemses.addAnItem(hall1.x, hall1.y, 3);
itemses.addAnItem(hall2.x, hall2.y, 8);
itemses.addAnItem(hall3.x, hall3.y, 3);
itemses.addAnItem(ground1.x, ground1.y, 8);
itemses.addAnItem(ground2.x, ground2.y, 3);
bitStage = 6;
bitTime = 200;
};
break;
case 6:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("crawler_emerge");
_root.soundHold.addSound("fly_emerge");
enemies.addCrawler(walk1.x, walk1.y, 10);
enemies.addCrawler(tree2.x, tree2.y, 10);
enemies.addCrawler(tree3.x, tree3.y, 10);
enemies.addWasp(farEnd1.x, farEnd1.y, 20);
enemies.addWasp((farEnd3.x - 40), farEnd3.y, 20);
enemies.addWasp(grass2.x, grass2.y, 20);
enemies.addWasp(grass3.x, grass3.y, 20);
bitStage = 7;
bitTime = 220;
break;
case 7:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("fly_emerge");
enemies.addWasp(walk2.x, walk2.y, 20);
enemies.addWasp((walk2.x + 80), walk2.y, 20);
enemies.addWasp(walk2.x, (walk2.y - 40), 20);
enemies.addWasp((walk2.x + 120), (walk2.y - 60), 20);
enemies.addWasp((walk2.x + 60), (walk2.y - 60), 20);
bitStage = 8;
break;
case 8:
if (enemies.alives.length < 2){
_root.soundHold.addSound("weapon_spawn");
_root.soundHold.addSound("health_spawn");
itemses.addAnItem(walk1.x, walk1.y, 8);
itemses.addAnItem(walk2.x, walk2.y, 1);
itemses.addAnItem(walk3.x, walk3.y, 3);
itemses.addAnItem(ground1.x, ground1.y, 8);
itemses.addAnItem(hall1.x, hall1.y, 3);
bitStage = 9;
bitTime = 120;
};
break;
case 9:
_root.soundHold.addSound("door_open");
_root.itemShower.addHint("EXIT OPEN");
terrain.doors1.gotoAndStop(2);
bitStage = 10;
break;
};
};
};
}
public function updAni(_arg1:MovieClip):void{
if (_arg1.currentFrame > 1){
_arg1.nextFrame();
};
}
}
}//package g_dire_ng_fla
Section 78
//L3TerrainRoom3_109 (g_dire_ng_fla.L3TerrainRoom3_109)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class L3TerrainRoom3_109 extends MovieClip {
public var doors1:MovieClip;
}
}//package g_dire_ng_fla
Section 79
//L4TerrainRoom4_112 (g_dire_ng_fla.L4TerrainRoom4_112)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class L4TerrainRoom4_112 extends MovieClip {
public var doors1:MovieClip;
}
}//package g_dire_ng_fla
Section 80
//L4Tomb_110 (g_dire_ng_fla.L4Tomb_110)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class L4Tomb_110 extends MovieClip {
public const min:Function;
public var raises:Array;
public var stair1:MovieClip;
public var stair2:MovieClip;
public var stair3:MovieClip;
public var stair4:MovieClip;
public var stair5:MovieClip;
public var stair6:MovieClip;
public var stair7:MovieClip;
public var enemies:EnemiesHold;
public var levelArea:MovieClip;
public var ramp1:MovieClip;
public var ramp2:MovieClip;
public var ramp3:MovieClip;
public var ramp5:MovieClip;
public var ramp4:MovieClip;
public var itemses:PickupsHold;
public var node1:MovieClip;
public var node2:MovieClip;
public var node3:MovieClip;
public var node5:MovieClip;
public var node6:MovieClip;
public var node7:MovieClip;
public var node8:MovieClip;
public var node9:MovieClip;
public var node4:MovieClip;
public var j:uint;
public var swood1:MovieClip;
public var swood4:MovieClip;
public var swood5:MovieClip;
public var swood7:MovieClip;
public var swood8:MovieClip;
public var swood9:MovieClip;
public var swood3:MovieClip;
public var swood6:MovieClip;
public var swood2:MovieClip;
public var toUpd:Array;
public var i:uint;
public var tomb1:MovieClip;
public var tomb4:MovieClip;
public var tomb5:MovieClip;
public var tomb6:MovieClip;
public var tomb7:MovieClip;
public var tomb8:MovieClip;
public var plat1:MovieClip;
public var paths:Array;
public var effectsLow:EffectsHold;
public var effects:EffectsHold;
public var tomb3:MovieClip;
public var tomb2:MovieClip;
public var my_legs:MovieClip;
public var wood2:MovieClip;
public var aimSpot2:MovieClip;
public var aimSpot4:MovieClip;
public var aimSpot5:MovieClip;
public var aimSpot1:MovieClip;
public var aimSpot3:MovieClip;
public var terrain:MovieClip;
public var wood4:MovieClip;
public var frm:uint;
public var wood1:MovieClip;
public var wood3:MovieClip;
public var guy:MainChar;
public var rock2:MovieClip;
public var rock3:MovieClip;
public var rock1:MovieClip;
public var trigger1:MovieClip;
public var trigger2:MovieClip;
public var bitTime:uint;
public var midPlat:MovieClip;
public var node10:MovieClip;
public var node11:MovieClip;
public var node13:MovieClip;
public var node15:MovieClip;
public var node16:MovieClip;
public var node17:MovieClip;
public var node18:MovieClip;
public var node19:MovieClip;
public var node14:MovieClip;
public var node12:MovieClip;
public var aimspots:Array;
public var node20:MovieClip;
public var node21:MovieClip;
public var node22:MovieClip;
public var node23:MovieClip;
public var node25:MovieClip;
public var node27:MovieClip;
public var node28:MovieClip;
public var swood10:MovieClip;
public var _root:MovieClip;
public var node26:MovieClip;
public var obstacles:MovieClip;
public var node24:MovieClip;
public var pit2:MovieClip;
public var bitStage:uint;
public var pit1:MovieClip;
public function L4Tomb_110(){
min = Math.min;
super();
addFrameScript(0, frame1);
}
function frame1(){
frm = 12;
i = 0;
j = 0;
toUpd = new Array();
bitStage = 0;
bitTime = 0;
_root = (parent as MovieClip);
if (frm == _root.currentFrame){
_root.musicHold.addMusic("fight1");
raises = [[wood1, 0.97], [wood2, 0.97], [wood3, 0.96], [wood4, 0.96]];
raises.push([pit1, 0.4], [pit2, 0.6], [rock1, 1.15], [rock2, 1.3], [rock3, 1.2]);
raises.push([plat1, 0.82], [ramp1, 0.9], [ramp2, 0.9], [ramp3, 0.91], [ramp4, 0.91], [ramp5, 0.91]);
raises.push([stair1, 1.04], [stair2, 1.04], [stair3, 1.08], [stair4, 0.96], [stair5, 1.03], [stair6, 1.06], [stair7, 1.1]);
paths = [node1, node2, node3, node4, node5, node6, node7, node8, node9, node10, node11, node12, node13, node14, node15, node16, node17, node18, node19, node20, node21, node22, node23, node24, node25, node26, node27, node28];
node1.friends = [[node2, 5], [node9, 7], [node10, 2]];
node2.friends = [[node1, 5], [node3, 7], [node11, 2]];
node3.friends = [[node2, 7], undefined, [node4, 6]];
node4.friends = [[node3, 6], [node5, 7], [node12, 3]];
node5.friends = [[node4, 7], [node6, 12], [node22, 5]];
node6.friends = [[node5, 12], [node7, 12], [node13, 2], [node22, 5], [node15, 7], [node28, 4]];
node7.friends = [[node6, 12], [node8, 9], [node27, 2], [node28, 7]];
node8.friends = [[node7, 9], [node9, 8], [node14, 3]];
node9.friends = [[node1, 7], [node8, 8]];
node10.friends = [[node1, 2], [node11, 4], [node12, 5], [node13, 4], [node14, 2]];
node11.friends = [[node2, 2], [node10, 4], [node12, 2], [node13, 4], [node14, 5]];
node12.friends = [[node4, 3], [node10, 5], [node11, 2], [node13, 5], [node14, 7]];
node13.friends = [[node6, 2], [node10, 4], [node11, 4], [node12, 5], [node14, 4]];
node14.friends = [[node8, 3], [node10, 2], [node11, 5], [node12, 7], [node13, 4]];
node15.friends = [[node6, 7], [node16, 6], [node22, 9], [node28, 7]];
node16.friends = [[node15, 6], [node17, 5], [node23, 7]];
node17.friends = [[node16, 5], [node18, 10], [node23, 11]];
node18.friends = [[node17, 10], [node19, 10], [node22, 11]];
node19.friends = [[node18, 10], [node20, 7]];
node20.friends = [[node19, 7], [node21, 10]];
node21.friends = [[node20, 10], [node22, 12]];
node22.friends = [[node5, 5], [node6, 5], [node15, 9], [node18, 11], [node21, 12]];
node23.friends = [[node16, 11], [node24, 14], [node27, 9]];
node24.friends = [[node23, 14], [node25, 4]];
node25.friends = [[node24, 4], [node26, 4]];
node26.friends = [[node25, 4], [node27, 8]];
node27.friends = [[node7, 2], [node26, 8], [node23, 9], [node28, 8]];
node28.friends = [[node6, 4], [node7, 7], [node15, 7], [node27, 8]];
aimspots = [aimSpot1, aimSpot2, aimSpot3, aimSpot4, aimSpot5];
enemies.alives = new Array(guy);
_root.fadeIn.gotoAndStop(2);
guy.setVars(_root, this, terrain, obstacles, enemies.alives[i].hitbox, paths, raises, aimspots);
guy.setVals(my_legs, guy.my_arms, guy.my_head, levelArea);
effects.setVars(_root, this);
effectsLow.setVars(_root, this);
enemies.setVars(_root, this, terrain, guy, obstacles, levelArea, paths, raises, aimspots);
itemses.setVars(_root, this, guy);
upd();
};
}
public function upd():void{
if (frm == _root.currentFrame){
enemies.toUpd = enemies.getUpdatable();
itemses.upd();
effects.upd(enemies.toUpd);
effectsLow.upd(enemies.toUpd);
enemies.upd(enemies.toUpd);
guy.checkObs(enemies.alives);
guy.snapTerrain();
guy.correctTerrain();
updAni(_root.fadeIn);
updAni(_root.fadeOut);
updAni(_root.itemShower);
updAni(terrain.doors1);
if (((guy.hitbox.hitTestObject(trigger2)) && ((_root.fadeOut.currentFrame == 1)))){
_root.fadeOut.goToFrm(13);
};
if (bitTime > 0){
bitTime--;
} else {
switch (bitStage){
case 0:
if (guy.hitTestObject(trigger1)){
bitStage = 1;
bitTime = 10;
};
break;
case 1:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("crawler_emerge");
_root.soundHold.addSound("fly_emerge");
enemies.addCrawler(midPlat.x, midPlat.y, 100);
enemies.addCrawler(midPlat.x, midPlat.y, 100);
enemies.addCrawler(midPlat.x, midPlat.y, 100);
enemies.addCrawler(midPlat.x, midPlat.y, 100);
enemies.addWasp(tomb1.x, tomb1.y, 120);
enemies.addWasp(tomb1.x, tomb1.y, 120);
enemies.addWasp(tomb1.x, tomb1.y, 120);
enemies.addWasp(tomb2.x, tomb2.y, 80);
enemies.addWasp(tomb2.x, tomb2.y, 80);
enemies.addWasp(tomb2.x, tomb2.y, 80);
enemies.addWasp(tomb2.x, tomb2.y, 80);
enemies.addWasp(tomb2.x, tomb2.y, 80);
enemies.addWasp(tomb2.x, tomb2.y, 80);
enemies.addWasp(tomb2.x, tomb2.y, 80);
bitStage = 2;
bitTime = 20;
break;
case 2:
if (enemies.alives.length < 4){
_root.soundHold.addSound("health_spawn");
_root.soundHold.addSound("weapon_spawn");
itemses.addAnItem(midPlat.x, midPlat.y, 2);
itemses.addAnItem(tomb2.x, tomb2.y, 8);
itemses.addAnItem(stair1.x, stair1.y, 8);
itemses.addAnItem(tomb4.x, tomb4.y, 3);
bitStage = 3;
bitTime = 200;
};
break;
case 3:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("fly_emerge");
enemies.addWasp(tomb1.x, tomb1.y, 30);
enemies.addWasp(tomb2.x, tomb2.y, 30);
enemies.addWasp(tomb3.x, tomb3.y, 30);
enemies.addWasp(tomb7.x, tomb7.y, 30);
enemies.addWasp(swood2.x, swood2.y, 10);
enemies.addWasp(swood3.x, swood3.y, 10);
enemies.addWasp(swood5.x, swood5.y, 10);
enemies.addWasp(swood7.x, swood7.y, 10);
enemies.addWasp(swood10.x, swood10.y, 10);
bitStage = 4;
bitTime = 120;
break;
case 4:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("fly_emerge");
enemies.addWasp(midPlat.x, midPlat.y, 100);
enemies.addWasp(midPlat.x, midPlat.y, 100);
enemies.addWasp(tomb1.x, tomb1.y, 30);
enemies.addWasp(tomb2.x, tomb2.y, 30);
bitStage = 5;
bitTime = 200;
break;
case 5:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("fly_emerge");
enemies.addWasp(swood1.x, swood1.y, 10);
enemies.addWasp(swood5.x, swood5.y, 10);
enemies.addWasp(swood7.x, swood7.y, 10);
enemies.addWasp(swood9.x, swood9.y, 10);
bitStage = 6;
bitTime = 220;
break;
case 6:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("fly_emerge");
enemies.addWasp(tomb2.x, tomb2.y, 30);
enemies.addWasp(tomb8.x, tomb8.y, 30);
enemies.addWasp(swood2.x, swood2.y, 10);
enemies.addWasp(swood6.x, swood6.y, 10);
enemies.addWasp(swood10.x, swood10.y, 10);
bitStage = 7;
bitTime = 120;
break;
case 7:
if (enemies.alives.length < 2){
_root.soundHold.addSound("health_spawn");
_root.soundHold.addSound("weapon_spawn");
itemses.addAnItem(swood8.x, swood8.y, 1);
itemses.addAnItem(tomb2.x, tomb2.y, 8);
itemses.addAnItem(tomb1.x, tomb1.y, 8);
itemses.addAnItem(midPlat.x, midPlat.y, 8);
bitStage = 8;
bitTime = 200;
};
break;
case 8:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("crawler_emerge");
enemies.addCrawler(swood6.x, swood6.y, 10);
enemies.addCrawler(swood8.x, swood8.y, 10);
bitStage = 9;
bitTime = 260;
break;
case 9:
_root.soundHold.addSound("alert");
_root.itemShower.addHint("DANGER");
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("crocodile_emerge");
enemies.addCrocodile(stair1.x, stair1.y, 10);
enemies.addCrocodile(stair2.x, stair2.y, 10);
bitStage = 10;
bitTime = 10;
break;
case 10:
if (enemies.alives.length < 2){
_root.soundHold.addSound("weapon_spawn");
itemses.addAnItem(tomb5.x, tomb5.y, 5);
bitTime = 50;
bitStage = 11;
};
break;
case 11:
_root.soundHold.addSound("door_open");
_root.itemShower.addHint("EXIT OPEN");
terrain.doors1.gotoAndStop(2);
bitStage = 12;
break;
};
};
};
}
public function updAni(_arg1:MovieClip):void{
if (_arg1.currentFrame > 1){
_arg1.nextFrame();
};
}
}
}//package g_dire_ng_fla
Section 81
//L5Nest_113 (g_dire_ng_fla.L5Nest_113)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class L5Nest_113 extends MovieClip {
public const min:Function;
public var raises:Array;
public var enemies:EnemiesHold;
public var levelArea:MovieClip;
public var i:uint;
public var itemses:PickupsHold;
public var node1:MovieClip;
public var node2:MovieClip;
public var node3:MovieClip;
public var node5:MovieClip;
public var node6:MovieClip;
public var node8:MovieClip;
public var node7:MovieClip;
public var node9:MovieClip;
public var node4:MovieClip;
public var j:uint;
public var toUpd:Array;
public var topleft1:MovieClip;
public var topleft2:MovieClip;
public var topleft3:MovieClip;
public var topleft4:MovieClip;
public var pond2:MovieClip;
public var pond3:MovieClip;
public var mid1:MovieClip;
public var mid2:MovieClip;
public var mid3:MovieClip;
public var effectsLow:EffectsHold;
public var paths:Array;
public var mid4:MovieClip;
public var pond1:MovieClip;
public var cn1:MovieClip;
public var cn4:MovieClip;
public var aimSpot1:MovieClip;
public var aimSpot2:MovieClip;
public var aimSpot4:MovieClip;
public var aimSpot5:MovieClip;
public var cn3:MovieClip;
public var aimSpot7:MovieClip;
public var cn5:MovieClip;
public var aimSpot3:MovieClip;
public var terrain:MovieClip;
public var cn2:MovieClip;
public var slab2:MovieClip;
public var slab6:MovieClip;
public var slab1:MovieClip;
public var frm:uint;
public var aimSpot6:MovieClip;
public var slab4:MovieClip;
public var guy:MainChar;
public var slab5:MovieClip;
public var effects:EffectsHold;
public var slabs10:MovieClip;
public var slabs12:MovieClip;
public var slabs13:MovieClip;
public var slabs15:MovieClip;
public var slabs14:MovieClip;
public var slab3:MovieClip;
public var my_legs:MovieClip;
public var hole1:MovieClip;
public var hole2:MovieClip;
public var hole3:MovieClip;
public var hole5:MovieClip;
public var hole6:MovieClip;
public var hole7:MovieClip;
public var hole8:MovieClip;
public var trigger1:MovieClip;
public var trigger2:MovieClip;
public var hole4:MovieClip;
public var top1:MovieClip;
public var top2:MovieClip;
public var bitTime:uint;
public var corn1:MovieClip;
public var corn2:MovieClip;
public var corn3:MovieClip;
public var corn6:MovieClip;
public var corn7:MovieClip;
public var right1:MovieClip;
public var right4:MovieClip;
public var corn4:MovieClip;
public var corn5:MovieClip;
public var bottommid3:MovieClip;
public var right3:MovieClip;
public var top3:MovieClip;
public var node10:MovieClip;
public var node11:MovieClip;
public var node13:MovieClip;
public var node15:MovieClip;
public var node16:MovieClip;
public var node17:MovieClip;
public var bottommid2:MovieClip;
public var node12:MovieClip;
public var node14:MovieClip;
public var bottomleft3:MovieClip;
public var bottomleft4:MovieClip;
public var right2:MovieClip;
public var aimspots:Array;
public var bottommid1:MovieClip;
public var bottomleft1:MovieClip;
public var bottomleft2:MovieClip;
public var obstacles:MovieClip;
public var slabs2:MovieClip;
public var slabs3:MovieClip;
public var slabs4:MovieClip;
public var slabs6:MovieClip;
public var slabs7:MovieClip;
public var slabs8:MovieClip;
public var slabs9:MovieClip;
public var slabs5:MovieClip;
public var _root:MovieClip;
public var bitStage:uint;
public var slabs1:MovieClip;
public function L5Nest_113(){
min = Math.min;
super();
addFrameScript(0, frame1);
}
function frame1(){
frm = 13;
i = 0;
j = 0;
toUpd = new Array();
bitStage = 0;
bitTime = 0;
_root = (parent as MovieClip);
if (frm == _root.currentFrame){
_root.musicHold.addMusic("fight1");
raises = [[slabs1, 1.06], [slabs2, 1.03], [slabs3, 1.02], [slabs4, 1.04]];
raises.push([slabs5, 1.03], [slabs6, 1.03]);
raises.push([slabs7, 1.05], [slabs8, 1.03]);
raises.push([slabs9, 1.08], [slabs10, 1.03]);
raises.push([slabs12, 1.06], [slabs13, 1.04], [slabs14, 1.05], [slabs15, 1.08]);
raises.push([pond1, 0.94], [pond2, 0.95], [pond3, 0.96]);
raises.push([corn1, 1.05], [corn2, 1.05], [corn3, 1.09], [corn4, 1.07], [corn5, 1.03], [corn6, 1.02], [corn7, 1.03]);
raises.push([hole1, 0.95], [hole2, 0.96], [hole3, 0.94], [hole4, 0.97], [hole5, 0.96], [hole6, 0.97], [hole7, 0.95], [hole8, 0.98]);
paths = [node1, node2, node3, node4, node5, node6, node7, node8, node9, node10, node11, node12, node13, node14, node15, node16, node17];
node1.friends = [[node2, 8]];
node2.friends = [[node1, 8], [node3, 12], [node5, 11], [node6, 14], [node9, 9], [node2, 13]];
node3.friends = [[node2, 12], [node4, 11], [node5, 11], [node7, 10], [node10, 9], [node17, 10]];
node4.friends = [[node3, 11], [node7, 15], [node10, 5], [node14, 4], [node15, 8], [node17, 8]];
node5.friends = [[node2, 11], [node3, 11], [node6, 10], [node7, 10]];
node6.friends = [[node2, 14], [node5, 10], [node7, 15]];
node7.friends = [[node3, 10], [node4, 17], [node6, 10], [node17, 15]];
node8.friends = [[node9, 6]];
node9.friends = [[node2, 9], [node8, 6], [node11, 18]];
node10.friends = [[node3, 9], [node4, 5], [node11, 5], [node14, 6]];
node11.friends = [[node9, 18], [node10, 5], [node12, 7], [node13, 10]];
node12.friends = [[node11, 5], [node13, 8], [node14, 14]];
node13.friends = [[node11, 10], [node12, 8]];
node14.friends = [[node4, 4], [node10, 6], [node12, 14], [node16, 6]];
node15.friends = [[node4, 8], [node14, 6], [node16, 4]];
node16.friends = [[node15, 6], [node17, 8]];
node17.friends = [[node3, 10], [node4, 8], [node7, 15], [node16, 8]];
aimspots = [aimSpot1, aimSpot2, aimSpot3, aimSpot4, aimSpot5, aimSpot6, aimSpot7];
enemies.alives = new Array(guy);
_root.fadeIn.gotoAndStop(2);
guy.setVars(_root, this, terrain, obstacles, enemies.alives[i].hitbox, paths, raises, aimspots);
guy.setVals(my_legs, guy.my_arms, guy.my_head, levelArea);
effects.setVars(_root, this);
effectsLow.setVars(_root, this);
enemies.setVars(_root, this, terrain, guy, obstacles, levelArea, paths, raises, aimspots);
itemses.setVars(_root, this, guy);
upd();
};
}
public function upd():void{
if (frm == _root.currentFrame){
enemies.toUpd = enemies.getUpdatable();
itemses.upd();
effects.upd(enemies.toUpd);
effectsLow.upd(enemies.toUpd);
enemies.upd(enemies.toUpd);
guy.checkObs(enemies.alives);
guy.snapTerrain();
guy.correctTerrain();
updAni(_root.fadeIn);
updAni(_root.fadeOut);
updAni(_root.itemShower);
updAni(terrain.doors1);
if (((guy.hitbox.hitTestObject(trigger2)) && ((_root.fadeOut.currentFrame == 1)))){
_root.fadeOut.goToFrm(14);
};
if (bitTime > 0){
bitTime--;
} else {
switch (bitStage){
case 0:
if (guy.hitTestObject(trigger1)){
bitStage = 1;
bitTime = 10;
};
break;
case 1:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("spider_emerge");
enemies.addSpider(mid2.x, mid2.y, 100);
enemies.addSpider(mid2.x, mid2.y, 100);
enemies.addSpider(mid3.x, mid3.y, 50);
enemies.addSpider(mid4.x, mid4.y, 50);
bitStage = 2;
bitTime = 20;
break;
case 2:
if (enemies.alives.length < 2){
_root.soundHold.addSound("health_spawn");
_root.soundHold.addSound("weapon_spawn");
itemses.addAnItem(cn1.x, cn1.y, 2);
itemses.addAnItem(cn3.x, cn3.y, 9);
itemses.addAnItem(slab4.x, slab4.y, 8);
itemses.addAnItem(top1.x, top1.y, 3);
itemses.addAnItem(slab1.x, slab1.y, 9);
itemses.addAnItem(slab4.x, slab4.y, 8);
itemses.addAnItem(bottommid1.x, bottommid1.y, 3);
bitStage = 3;
bitTime = 200;
};
break;
case 3:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("spider_emerge");
enemies.addSpider(topleft1.x, topleft1.y, 50);
enemies.addSpider(topleft2.x, topleft2.y, 50);
enemies.addSpider(topleft3.x, topleft3.y, 50);
enemies.addSpider(topleft4.x, topleft4.y, 50);
enemies.addSpider(bottomleft1.x, bottomleft1.y, 50);
enemies.addSpider(bottomleft2.x, bottomleft2.y, 50);
enemies.addSpider(bottomleft3.x, bottomleft3.y, 50);
enemies.addSpider(bottomleft4.x, bottomleft4.y, 50);
enemies.addSpider(right1.x, right1.y, 50);
enemies.addSpider(right2.x, right2.y, 50);
enemies.addSpider((right2.x - 100), right2.y, 50);
bitStage = 4;
bitTime = 20;
break;
case 4:
if (enemies.alives.length < 2){
_root.soundHold.addSound("weapon_spawn");
_root.soundHold.addSound("health_spawn");
itemses.addAnItem(mid1.x, mid1.y, 1);
itemses.addAnItem(mid2.x, mid2.y, 8);
itemses.addAnItem(pond1.x, pond1.y, 9);
itemses.addAnItem(pond2.x, pond2.y, 8);
bitStage = 5;
bitTime = 200;
};
case 5:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("spider_emerge");
enemies.addSpider(slab1.x, slab1.y, 10);
enemies.addSpider(slab2.x, slab2.y, 10);
enemies.addSpider((slab2.x + 100), slab2.y, 60);
enemies.addSpider((slab2.x + 100), slab2.y, 60);
enemies.addSpider(slab3.x, slab3.y, 10);
enemies.addSpider(slab4.x, slab4.y, 10);
enemies.addSpider(slab5.x, slab5.y, 10);
enemies.addSpider(slab6.x, slab6.y, 10);
enemies.addSpider(pond3.x, pond3.y, 5);
enemies.addSpider(cn3.x, cn3.y, 30);
enemies.addSpider((cn3.x + 40), cn3.y, 30);
enemies.addSpider((cn3.x + 40), (cn3.y - 50), 30);
enemies.addSpider((cn3.x + 80), cn3.y, 30);
bitStage = 6;
bitTime = 10;
break;
case 6:
if (enemies.alives.length < 2){
bitStage = 7;
bitTime = 30;
};
break;
case 7:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("spider_emerge");
enemies.addSpider((slab5.x - 120), slab5.y, 10);
enemies.addSpider((slab5.x - 160), (slab5.y - 30), 10);
enemies.addSpider((slab5.x - 160), (slab5.y + 30), 10);
enemies.addSpider((slab5.x - 140), (slab5.y + 80), 10);
bitStage = 8;
bitTime = 180;
break;
case 8:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("spider_emerge");
enemies.addSpider((right1.x - 120), right1.y, 10);
enemies.addSpider((right1.x - 160), (right1.y - 30), 10);
enemies.addSpider((right1.x - 160), (right1.y + 20), 10);
bitStage = 9;
break;
case 9:
if (enemies.alives.length < 2){
_root.soundHold.addSound("door_open");
_root.itemShower.addHint("EXIT OPEN");
terrain.doors1.gotoAndStop(2);
bitStage = 10;
bitTime = 80;
};
break;
case 10:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("spider_emerge");
enemies.addSpider((slab5.x - 120), slab5.y, 10);
enemies.addSpider((slab5.x - 160), (slab5.y - 30), 10);
enemies.addSpider((slab5.x - 160), (slab5.y + 30), 10);
enemies.addSpider((slab5.x - 140), (slab5.y + 80), 10);
bitStage = 11;
bitTime = 120;
break;
case 11:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("spider_emerge");
enemies.addSpider((right1.x - 120), right1.y, 10);
enemies.addSpider((right1.x - 160), (right1.y - 30), 10);
enemies.addSpider((right1.x - 160), (right1.y + 20), 10);
bitStage = 12;
break;
};
};
};
}
public function updAni(_arg1:MovieClip):void{
if (_arg1.currentFrame > 1){
_arg1.nextFrame();
};
}
}
}//package g_dire_ng_fla
Section 82
//L5TerrainRoom5_115 (g_dire_ng_fla.L5TerrainRoom5_115)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class L5TerrainRoom5_115 extends MovieClip {
public var doors1:MovieClip;
}
}//package g_dire_ng_fla
Section 83
//L6Corridoor_116 (g_dire_ng_fla.L6Corridoor_116)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class L6Corridoor_116 extends MovieClip {
public const min:Function;
public var raises:Array;
public var arug1:MovieClip;
public var plank1:MovieClip;
public var plank2:MovieClip;
public var arug5:MovieClip;
public var arug6:MovieClip;
public var arug2:MovieClip;
public var arug3:MovieClip;
public var arug4:MovieClip;
public var rug1:MovieClip;
public var rug2:MovieClip;
public var levelArea:MovieClip;
public var enemies:EnemiesHold;
public var rug3:MovieClip;
public var itemses:PickupsHold;
public var node2:MovieClip;
public var node3:MovieClip;
public var node5:MovieClip;
public var node6:MovieClip;
public var node1:MovieClip;
public var node9:MovieClip;
public var node7:MovieClip;
public var node4:MovieClip;
public var j:uint;
public var node8:MovieClip;
public var toUpd:Array;
public var end2:MovieClip;
public var end3:MovieClip;
public var end1:MovieClip;
public var i:uint;
public var plat2:MovieClip;
public var plat3:MovieClip;
public var my_legs:MovieClip;
public var plat1:MovieClip;
public var paths:Array;
public var effectsLow:EffectsHold;
public var effects:EffectsHold;
public var wood2:MovieClip;
public var wood3:MovieClip;
public var open3:MovieClip;
public var open4:MovieClip;
public var aimSpot2:MovieClip;
public var aimSpot3:MovieClip;
public var aimSpot4:MovieClip;
public var aimSpot5:MovieClip;
public var open2:MovieClip;
public var frm:uint;
public var aimSpot1:MovieClip;
public var wood1:MovieClip;
public var terrain:MovieClip;
public var open1:MovieClip;
public var slab2:MovieClip;
public var slab3:MovieClip;
public var slab5:MovieClip;
public var slab6:MovieClip;
public var slab7:MovieClip;
public var slab8:MovieClip;
public var aimSpot6:MovieClip;
public var slab4:MovieClip;
public var slab1:MovieClip;
public var guy:MainChar;
public var trigger1:MovieClip;
public var trigger2:MovieClip;
public var bitTime:uint;
public var aimspots:Array;
public var node10:MovieClip;
public var node11:MovieClip;
public var node13:MovieClip;
public var node12:MovieClip;
public var _root:MovieClip;
public var altar1:MovieClip;
public var altar3:MovieClip;
public var altar4:MovieClip;
public var altar5:MovieClip;
public var altar6:MovieClip;
public var obstacles:MovieClip;
public var altar2:MovieClip;
public var bitStage:uint;
public var pit2:MovieClip;
public var pit3:MovieClip;
public var pit1:MovieClip;
public function L6Corridoor_116(){
min = Math.min;
super();
addFrameScript(0, frame1);
}
function frame1(){
frm = 14;
i = 0;
j = 0;
toUpd = new Array();
bitStage = 0;
bitTime = 0;
_root = (parent as MovieClip);
if (frm == _root.currentFrame){
_root.musicHold.addMusic("fight1");
raises = [[slab1, 1.08], [slab2, 1.03], [slab3, 1.05], [slab4, 1.03], [slab5, 1.02], [slab6, 1.08], [slab7, 1.03], [slab8, 1.06]];
raises.push([pit1, 0.96], [pit2, 0.98], [pit3, 0.4]);
raises.push([wood1, 1.04], [wood2, 1.03], [wood3, 1.05]);
raises.push([plat1, 1.04], [plat2, 1.08], [plat3, 1.12]);
raises.push([rug1, 1.01], [rug2, 1.01], [rug3, 1.015]);
paths = [node1, node2, node3, node4, node5, node6, node7, node8, node9, node10, node11, node12, node13];
node1.friends = [[node2, 6], [node3, 5]];
node2.friends = [[node1, 6], [node3, 3], [node4, 7]];
node3.friends = [[node1, 5], [node2, 3], [node5, 7]];
node4.friends = [[node2, 7], [node6, 12], [node9, 8], [node10, 10]];
node5.friends = [[node3, 7], [node6, 9], [node9, 11], [node10, 16]];
node6.friends = [[node4, 12], [node5, 9], [node7, 8], [node9, 10]];
node7.friends = [[node6, 8], [node8, 9]];
node8.friends = [[node7, 9], [node9, 8], [node11, 6]];
node9.friends = [[node4, 8], [node5, 11], [node6, 10], [node8, 8], [node10, 6], [node11, 8]];
node10.friends = [[node4, 10], [node9, 6], [node11, 5], [node12, 12]];
node11.friends = [[node8, 6], [node9, 8], [node10, 5], [node13, 12]];
node12.friends = [[node10, 12], [node13, 8]];
node13.friends = [[node11, 12], [node12, 8]];
aimspots = [aimSpot1, aimSpot2, aimSpot3, aimSpot4, aimSpot5, aimSpot6];
enemies.alives = new Array(guy);
_root.fadeIn.gotoAndStop(2);
guy.setVars(_root, this, terrain, obstacles, enemies.alives[i].hitbox, paths, raises, aimspots);
guy.setVals(my_legs, guy.my_arms, guy.my_head, levelArea);
effects.setVars(_root, this);
effectsLow.setVars(_root, this);
enemies.setVars(_root, this, terrain, guy, obstacles, levelArea, paths, raises, aimspots);
itemses.setVars(_root, this, guy);
upd();
};
}
public function upd():void{
if (frm == _root.currentFrame){
enemies.toUpd = enemies.getUpdatable();
itemses.upd();
effects.upd(enemies.toUpd);
effectsLow.upd(enemies.toUpd);
enemies.upd(enemies.toUpd);
guy.checkObs(enemies.alives);
guy.snapTerrain();
guy.correctTerrain();
updAni(_root.fadeIn);
updAni(_root.fadeOut);
updAni(_root.itemShower);
updAni(terrain.doors1);
if (((guy.hitbox.hitTestObject(trigger2)) && ((_root.fadeOut.currentFrame == 1)))){
_root.fadeOut.goToFrm(15);
};
if (bitTime > 0){
bitTime--;
} else {
switch (bitStage){
case 0:
_root.soundHold.addSound("weapon_spawn");
_root.soundHold.addSound("health_spawn");
itemses.addAnItem((plank1.x + 30), (plank1.y - 3), 8);
itemses.addAnItem((plank1.x - 30), (plank1.y + 3), 9);
itemses.addAnItem((plank2.x + 35), (plank2.y + 10), 9);
itemses.addAnItem((plank2.x - 35), (plank2.y - 10), 8);
bitStage = 1;
bitTime = 10;
case 1:
if (guy.hitTestObject(trigger1)){
bitStage = 2;
bitTime = 50;
};
break;
case 2:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("crawler_emerge");
_root.soundHold.addSound("fly_emerge");
enemies.addCrawler(open1.x, open1.y, 30);
enemies.addCrawler(open2.x, open2.y, 30);
enemies.addCrawler(open3.x, open3.y, 30);
enemies.addCrawler(open4.x, open4.y, 30);
enemies.addCrawler(arug2.x, arug2.y, 30);
enemies.addCrawler(arug3.x, arug3.y, 30);
enemies.addCrawler(arug5.x, arug5.y, 30);
enemies.addCrawler(arug6.x, arug6.y, 30);
enemies.addWasp(end1.x, end1.y, 10);
enemies.addWasp((end1.x - 30), end1.y, 10);
enemies.addWasp(end1.x, (end1.y + 30), 10);
enemies.addWasp(end2.x, end2.y, 10);
enemies.addWasp((end2.x - 30), end2.y, 10);
enemies.addWasp((end2.x + 30), end2.y, 10);
enemies.addWasp(end3.x, end3.y, 10);
enemies.addWasp((end3.x - 30), end3.y, 10);
enemies.addWasp(end3.x, (end3.y + 30), 10);
bitStage = 3;
bitTime = 20;
break;
case 3:
if (enemies.alives.length < 2){
_root.soundHold.addSound("weapon_spawn");
_root.soundHold.addSound("health_spawn");
itemses.addAnItem(arug1.x, arug1.y, 6);
itemses.addAnItem(altar2.x, altar2.y, 9);
itemses.addAnItem(open2.x, open2.y, 8);
itemses.addAnItem(plank2.x, plank2.y, 3);
itemses.addAnItem(end3.x, end3.y, 3);
bitStage = 4;
bitTime = 200;
};
break;
case 4:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("spider_emerge");
_root.soundHold.addSound("crawler_emerge");
enemies.addSpider((open1.x - 10), open1.y, 10);
enemies.addSpider((open1.x - 30), (open1.y - 40), 10);
enemies.addSpider((open1.x - 30), (open1.y + 40), 10);
enemies.addSpider((open4.x - 10), open4.y, 10);
enemies.addSpider((open4.x - 10), (open4.y - 60), 10);
enemies.addSpider((open4.x - 10), (open4.y + 60), 10);
enemies.addCrawler(end1.x, end1.y, 10);
enemies.addCrawler(end1.x, (end1.y + 50), 10);
enemies.addCrawler(end2.x, end2.y, 10);
enemies.addCrawler(end3.x, end3.y, 10);
enemies.addCrawler(end3.x, (end3.y + 50), 10);
bitStage = 5;
bitTime = 10;
break;
case 5:
if (enemies.alives.length < 2){
_root.soundHold.addSound("health_spawn");
_root.soundHold.addSound("weapon_spawn");
itemses.addAnItem(arug6.x, arug6.y, 1);
itemses.addAnItem(end1.x, end1.y, 10);
bitStage = 6;
bitTime = 60;
};
break;
case 6:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("crocodile_emerge");
_root.soundHold.addSound("wasp_emerge");
_root.soundHold.addSound("crawler_emerge");
enemies.addCrocodile(altar6.x, altar6.y, 2);
enemies.addCrawler(altar5.x, altar5.y, 10);
enemies.addCrawler(altar4.x, altar4.y, 10);
enemies.addWasp(altar1.x, altar1.y, 10);
enemies.addWasp((altar1.x - 50), altar1.y, 10);
enemies.addWasp(altar1.x, (altar1.y - 50), 10);
enemies.addWasp(altar2.x, altar2.y, 10);
enemies.addWasp((altar2.x - 50), altar2.y, 10);
enemies.addWasp((altar2.x + 50), altar2.y, 10);
enemies.addWasp(altar3.x, altar3.y, 10);
enemies.addWasp((altar3.x + 50), altar3.y, 10);
enemies.addWasp(altar3.x, (altar3.y + 50), 10);
bitStage = 7;
bitTime = 10;
break;
case 7:
if (enemies.alives.length < 2){
_root.musicHold.fadeOut(200);
_root.soundHold.addSound("weapon_spawn");
itemses.addAnItem(end1.x, end3.y, 10);
itemses.addAnItem(end3.x, end3.y, 10);
_root.soundHold.addSound("door_open");
_root.itemShower.addHint("EXIT OPEN");
terrain.doors1.gotoAndStop(2);
bitStage = 8;
bitTime = 80;
};
break;
};
};
};
}
public function updAni(_arg1:MovieClip):void{
if (_arg1.currentFrame > 1){
_arg1.nextFrame();
};
}
}
}//package g_dire_ng_fla
Section 84
//L6TerrainRoom6_118 (g_dire_ng_fla.L6TerrainRoom6_118)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class L6TerrainRoom6_118 extends MovieClip {
public var doors1:MovieClip;
}
}//package g_dire_ng_fla
Section 85
//L7Arena_119 (g_dire_ng_fla.L7Arena_119)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class L7Arena_119 extends MovieClip {
public const min:Function;
public var raises:Array;
public var enemies:EnemiesHold;
public var levelArea:MovieClip;
public var ebase1:MovieClip;
public var eright3:MovieClip;
public var ebase2:MovieClip;
public var ebase3:MovieClip;
public var door3:MovieClip;
public var door4:MovieClip;
public var eright1:MovieClip;
public var door1:MovieClip;
public var door2:MovieClip;
public var eright2:MovieClip;
public var i:uint;
public var itemses:PickupsHold;
public var node1:MovieClip;
public var node2:MovieClip;
public var node3:MovieClip;
public var node5:MovieClip;
public var node6:MovieClip;
public var node7:MovieClip;
public var node9:MovieClip;
public var node4:MovieClip;
public var j:uint;
public var node8:MovieClip;
public var toUpd:Array;
public var my_legs:MovieClip;
public var mid2:MovieClip;
public var mid3:MovieClip;
public var mid4:MovieClip;
public var mid5:MovieClip;
public var mid1:MovieClip;
public var paths:Array;
public var effectsLow:EffectsHold;
public var effects:EffectsHold;
public var aimSpot1:MovieClip;
public var aimSpot2:MovieClip;
public var aimSpot3:MovieClip;
public var aimSpot4:MovieClip;
public var aimSpot5:MovieClip;
public var frm:uint;
public var terrain:MovieClip;
public var guy:MainChar;
public var etop2:MovieClip;
public var etop3:MovieClip;
public var etop1:MovieClip;
public var trigger1:MovieClip;
public var midPlat1:MovieClip;
public var midPlat2:MovieClip;
public var midPlat3:MovieClip;
public var midPlat4:MovieClip;
public var trigger2:MovieClip;
public var bitTime:uint;
public var node10:MovieClip;
public var node11:MovieClip;
public var node13:MovieClip;
public var node15:MovieClip;
public var node16:MovieClip;
public var node17:MovieClip;
public var node18:MovieClip;
public var node19:MovieClip;
public var node14:MovieClip;
public var node12:MovieClip;
public var aimspots:Array;
public var node20:MovieClip;
public var node21:MovieClip;
public var node22:MovieClip;
public var node23:MovieClip;
public var eleft1:MovieClip;
public var _root:MovieClip;
public var eleft2:MovieClip;
public var eleft3:MovieClip;
public var obstacles:MovieClip;
public var node24:MovieClip;
public var bitStage:uint;
public function L7Arena_119(){
min = Math.min;
super();
addFrameScript(0, frame1);
}
function frame1(){
frm = 15;
i = 0;
j = 0;
toUpd = new Array();
bitStage = 0;
bitTime = 0;
_root = (parent as MovieClip);
if (frm == _root.currentFrame){
raises = [[door1, 1.04], [door2, 1.03], [door3, 1.03], [door4, 1.05]];
raises.push([midPlat1, 1.04], [midPlat2, 1.07], [midPlat3, 1.09], [midPlat4, 1.1]);
paths = [node1, node2, node3, node4, node5, node6, node7, node8, node9, node10, node11, node12, node13, node14, node15, node16, node17, node18, node19, node20, node21, node22, node23, node24];
node1.friends = [[node2, 5], [node3, 9], [node4, 5], [node5, 7], [node6, 10], [node8, 10]];
node2.friends = [[node1, 5], [node3, 5], [node4, 9], [node5, 10], [node6, 7], [node7, 10]];
node3.friends = [[node1, 9], [node2, 5], [node4, 5], [node6, 10], [node7, 7], [node8, 10]];
node4.friends = [[node1, 5], [node2, 9], [node3, 5], [node5, 10], [node7, 10], [node8, 7]];
node5.friends = [[node1, 7], [node2, 10], [node4, 10], [node9, 6], [node13, 8], [node24, 8]];
node6.friends = [[node1, 10], [node2, 7], [node3, 10], [node10, 6], [node15, 8], [node16, 8]];
node7.friends = [[node2, 10], [node3, 7], [node4, 10], [node11, 6], [node18, 8], [node19, 8]];
node8.friends = [[node1, 10], [node3, 10], [node4, 7], [node12, 6], [node21, 8], [node22, 8]];
node9.friends = [[node5, 6], [node13, 7], [node24, 7]];
node10.friends = [[node6, 6], [node15, 7], [node16, 7]];
node11.friends = [[node7, 6], [node18, 7], [node19, 7]];
node12.friends = [[node8, 6], [node21, 7], [node22, 7]];
node13.friends = [[node5, 8], [node9, 7], [node14, 2]];
node14.friends = [[node13, 2], [node15, 2]];
node15.friends = [[node6, 8], [node10, 7], [node14, 2]];
node16.friends = [[node6, 8], [node10, 7], [node17, 2]];
node17.friends = [[node16, 2], [node18, 2]];
node18.friends = [[node7, 8], [node11, 7], [node17, 2]];
node19.friends = [[node7, 8], [node11, 7], [node20, 2]];
node20.friends = [[node19, 2], [node21, 2]];
node21.friends = [[node8, 8], [node12, 7], [node20, 2]];
node22.friends = [[node8, 8], [node12, 7], [node23, 2]];
node23.friends = [[node22, 2], [node24, 2]];
node24.friends = [[node5, 8], [node9, 7], [node23, 2]];
aimspots = [aimSpot1, aimSpot2, aimSpot3, aimSpot4, aimSpot5];
enemies.alives = new Array(guy);
_root.fadeIn.gotoAndStop(2);
guy.setVars(_root, this, terrain, obstacles, enemies.alives[i].hitbox, paths, raises, aimspots);
guy.setVals(my_legs, guy.my_arms, guy.my_head, levelArea);
effects.setVars(_root, this);
effectsLow.setVars(_root, this);
enemies.setVars(_root, this, terrain, guy, obstacles, levelArea, paths, raises, aimspots);
itemses.setVars(_root, this, guy);
upd();
};
}
public function upd():void{
if (frm == _root.currentFrame){
enemies.toUpd = enemies.getUpdatable();
itemses.upd();
effects.upd(enemies.toUpd);
effectsLow.upd(enemies.toUpd);
enemies.upd(enemies.toUpd);
guy.checkObs(enemies.alives);
guy.snapTerrain();
guy.correctTerrain();
updAni(_root.fadeIn);
updAni(_root.fadeOut);
updAni(_root.itemShower);
updAni(terrain.doors1);
if (((guy.hitbox.hitTestObject(trigger2)) && ((_root.fadeOut.currentFrame == 1)))){
_root.fadeOut.goToFrm(16);
};
if (bitTime > 0){
bitTime--;
} else {
switch (bitStage){
case 0:
_root.soundHold.addSound("weapon_spawn");
_root.soundHold.addSound("health_spawn");
itemses.addAnItem(mid1.x, mid1.y, 1);
itemses.addAnItem(mid2.x, mid2.y, 8);
itemses.addAnItem(mid3.x, mid3.y, 9);
itemses.addAnItem(mid4.x, mid4.y, 10);
itemses.addAnItem(mid5.x, mid5.y, 10);
bitStage = 1;
bitTime = 10;
case 1:
if (guy.hitTestObject(trigger1)){
_root.musicHold.resetMusic();
bitStage = 2;
bitTime = 50;
};
break;
case 2:
_root.musicHold.addMusic("fight2");
_root.soundHold.addSound("alert");
_root.itemShower.addHint("WAVE ONE");
bitStage = 3;
bitTime = 80;
break;
case 3:
if (enemies.alives.length < 2){
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("crawler_emerge");
enemies.addCrawler(eleft1.x, eleft1.y, 30, 90);
enemies.addCrawler(eright1.x, eright1.y, 30, 270);
enemies.addCrawler(etop1.x, etop1.y, 30, 180);
enemies.addCrawler(ebase1.x, ebase1.y, 30, 0);
bitStage = 4;
bitTime = 120;
};
break;
case 4:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("crawler_emerge");
enemies.addCrawler(eleft2.x, eleft2.y, 30, 90);
enemies.addCrawler(eleft3.x, eleft3.y, 30, 90);
enemies.addCrawler(eright2.x, eright2.y, 30, 270);
enemies.addCrawler(eright3.x, eright3.y, 30, 270);
enemies.addCrawler(etop2.x, etop2.y, 30, 180);
enemies.addCrawler(etop3.x, etop3.y, 30, 180);
enemies.addCrawler(ebase2.x, ebase2.y, 30, 0);
enemies.addCrawler(ebase3.x, ebase3.y, 30, 0);
bitStage = 5;
bitTime = 10;
break;
case 5:
if (enemies.alives.length < 2){
_root.soundHold.addSound("weapon_spawn");
_root.soundHold.addSound("health_spawn");
itemses.addAnItem(mid1.x, mid1.y, 2);
itemses.addAnItem(mid2.x, mid2.y, 8);
itemses.addAnItem(mid3.x, mid3.y, 8);
itemses.addAnItem(mid4.x, mid4.y, 9);
itemses.addAnItem(mid5.x, mid5.y, 10);
bitStage = 6;
bitTime = 220;
};
break;
case 6:
_root.soundHold.addSound("alert");
_root.itemShower.addHint("WAVE TWO");
bitStage = 7;
bitTime = 80;
break;
case 7:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("wasp_emerge");
enemies.addWasp(eleft1.x, eleft1.y, 30, 90);
enemies.addWasp((eleft1.x - 30), eleft1.y, 30, 90);
enemies.addWasp(eleft2.x, eleft2.y, 30, 90);
enemies.addWasp(eleft3.x, eleft3.y, 30, 90);
enemies.addWasp(eright1.x, eright1.y, 30, 270);
enemies.addWasp((eright1.x + 30), eright1.y, 30, 270);
enemies.addWasp(eright2.x, eright2.y, 30, 270);
enemies.addWasp(eright3.x, eright3.y, 30, 270);
enemies.addWasp(etop1.x, etop1.y, 30, 180);
enemies.addWasp(etop1.x, (etop1.y - 30), 30, 280);
enemies.addWasp(etop2.x, etop2.y, 30, 180);
enemies.addWasp(etop3.x, etop3.y, 30, 180);
enemies.addWasp(ebase1.x, ebase1.y, 30, 0);
enemies.addWasp(ebase1.x, (ebase1.y - 30), 30, 0);
enemies.addWasp(ebase2.x, ebase2.y, 30, 0);
enemies.addWasp(ebase3.x, ebase3.y, 30, 0);
bitStage = 8;
bitTime = 260;
break;
case 8:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("wasp_emerge");
enemies.addWasp(mid1.x, mid1.y, 30);
enemies.addWasp(mid2.x, mid2.y, 30);
enemies.addWasp(mid3.x, mid3.y, 30);
enemies.addWasp(mid4.x, mid4.y, 30);
bitStage = 9;
bitTime = 60;
break;
case 9:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("wasp_emerge");
enemies.addWasp(mid1.x, mid1.y, 120);
enemies.addWasp(mid1.x, mid1.y, 120);
enemies.addWasp(mid1.x, mid1.y, 120);
enemies.addWasp(mid1.x, mid1.y, 120);
enemies.addWasp(mid1.x, mid1.y, 120);
enemies.addWasp(mid1.x, mid1.y, 120);
bitStage = 10;
break;
case 10:
if (enemies.alives.length < 2){
_root.soundHold.addSound("weapon_spawn");
_root.soundHold.addSound("health_spawn");
itemses.addAnItem(mid1.x, mid1.y, 2);
itemses.addAnItem(mid2.x, mid2.y, 9);
itemses.addAnItem(mid3.x, mid3.y, 9);
itemses.addAnItem(mid4.x, mid4.y, 8);
itemses.addAnItem(mid5.x, mid5.y, 10);
bitStage = 11;
bitTime = 220;
};
break;
case 11:
_root.soundHold.addSound("alert");
_root.itemShower.addHint("WAVE THREE");
bitStage = 12;
bitTime = 80;
break;
case 12:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("spider_emerge");
enemies.addSpider(eleft1.x, eleft1.y, 30, 90);
enemies.addSpider(eleft2.x, eleft2.y, 30, 90);
enemies.addSpider(eleft3.x, eleft3.y, 30, 90);
enemies.addSpider(eright1.x, eright1.y, 30, 270);
enemies.addSpider(eright2.x, eright2.y, 30, 270);
enemies.addSpider(eright3.x, eright3.y, 30, 270);
bitStage = 13;
bitTime = 300;
break;
case 13:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("spider_emerge");
enemies.addSpider(etop1.x, etop1.y, 30, 180);
enemies.addSpider(etop2.x, etop2.y, 30, 180);
enemies.addSpider(etop3.x, etop3.y, 30, 180);
enemies.addSpider(ebase1.x, ebase1.y, 30, 0);
enemies.addSpider(ebase2.x, ebase2.y, 30, 0);
enemies.addSpider(ebase3.x, ebase3.y, 30, 0);
bitStage = 14;
bitTime = 240;
break;
case 14:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("spider_emerge");
enemies.addSpider(eleft2.x, eleft2.y, 30, 90);
enemies.addSpider(eleft3.x, eleft3.y, 30, 90);
enemies.addSpider(eright2.x, eright2.y, 30, 270);
enemies.addSpider(eright3.x, eright3.y, 30, 270);
enemies.addSpider(etop2.x, etop2.y, 30, 180);
enemies.addSpider(etop3.x, etop3.y, 30, 180);
enemies.addSpider(ebase2.x, ebase2.y, 30, 0);
enemies.addSpider(ebase3.x, ebase3.y, 30, 0);
bitStage = 15;
bitTime = 10;
break;
case 15:
if (enemies.alives.length < 2){
_root.soundHold.addSound("weapon_spawn");
_root.soundHold.addSound("health_spawn");
itemses.addAnItem(mid1.x, mid1.y, 7);
itemses.addAnItem(mid2.x, mid2.y, 8);
itemses.addAnItem(mid3.x, mid3.y, 9);
itemses.addAnItem(mid4.x, mid4.y, 10);
itemses.addAnItem(mid5.x, mid5.y, 1);
bitStage = 16;
bitTime = 220;
};
break;
case 16:
_root.soundHold.addSound("alert");
_root.itemShower.addHint("WAVE FOUR");
bitStage = 17;
bitTime = 100;
break;
case 17:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("crocodile_emerge");
enemies.addCrocodile(eleft1.x, eleft1.y, 30, 90);
enemies.addCrocodile(eright1.x, eright1.y, 30, 270);
enemies.addCrocodile(etop1.x, etop1.y, 30, 180);
enemies.addCrocodile(ebase1.x, ebase1.y, 30, 0);
bitStage = 18;
bitTime = 300;
break;
case 18:
if (enemies.alives.length < 4){
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("crocodile_emerge");
enemies.addCrocodile(mid2.x, mid2.y, 5, 0);
enemies.addCrocodile(mid3.x, mid3.y, 5, 180);
enemies.addCrocodile(mid4.x, mid4.y, 5, 270);
enemies.addCrocodile(mid5.x, mid5.y, 5, 90);
bitStage = 19;
bitTime = 10;
};
break;
case 19:
if (enemies.alives.length < 2){
_root.soundHold.addSound("weapon_spawn");
_root.soundHold.addSound("health_spawn");
itemses.addAnItem(etop1.x, etop1.y, 1);
itemses.addAnItem(etop2.x, etop2.y, 11);
itemses.addAnItem(etop3.x, etop3.y, 11);
_root.soundHold.addSound("door_open");
_root.itemShower.addHint("EXIT OPEN");
terrain.doors1.gotoAndStop(2);
bitStage = 20;
bitTime = 80;
};
break;
};
};
};
}
public function updAni(_arg1:MovieClip):void{
if (_arg1.currentFrame > 1){
_arg1.nextFrame();
};
}
}
}//package g_dire_ng_fla
Section 86
//L7TerrainRoom7_121 (g_dire_ng_fla.L7TerrainRoom7_121)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class L7TerrainRoom7_121 extends MovieClip {
public var doors1:MovieClip;
}
}//package g_dire_ng_fla
Section 87
//L8Exit_122 (g_dire_ng_fla.L8Exit_122)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class L8Exit_122 extends MovieClip {
public const min:Function;
public var raises:Array;
public var enemies:EnemiesHold;
public var rug1:MovieClip;
public var rug2:MovieClip;
public var levelArea:MovieClip;
public var stepps2:MovieClip;
public var stepps3:MovieClip;
public var stepps4:MovieClip;
public var stepps5:MovieClip;
public var stepps1:MovieClip;
public var stepps6:MovieClip;
public var itemses:PickupsHold;
public var node1:MovieClip;
public var node2:MovieClip;
public var node3:MovieClip;
public var node5:MovieClip;
public var node6:MovieClip;
public var node8:MovieClip;
public var node7:MovieClip;
public var node9:MovieClip;
public var j:uint;
public var toUpd:Array;
public var i:uint;
public var step1:MovieClip;
public var step3:MovieClip;
public var step6:MovieClip;
public var step7:MovieClip;
public var step8:MovieClip;
public var step9:MovieClip;
public var step4:MovieClip;
public var step2:MovieClip;
public var paths:Array;
public var effectsLow:EffectsHold;
public var left5:MovieClip;
public var left2:MovieClip;
public var left4:MovieClip;
public var left1:MovieClip;
public var effects:EffectsHold;
public var left3:MovieClip;
public var my_legs:MovieClip;
public var step5:MovieClip;
public var aimSpot1:MovieClip;
public var aimSpot2:MovieClip;
public var aimSpot3:MovieClip;
public var aimSpot4:MovieClip;
public var aimSpot5:MovieClip;
public var terrain:MovieClip;
public var slab2:MovieClip;
public var frm:uint;
public var slab1:MovieClip;
public var guy:MainChar;
public var trigger1:MovieClip;
public var trigger2:MovieClip;
public var top1:MovieClip;
public var top2:MovieClip;
public var top4:MovieClip;
public var top6:MovieClip;
public var top3:MovieClip;
public var top5:MovieClip;
public var bitTime:uint;
public var right1:MovieClip;
public var right3:MovieClip;
public var right4:MovieClip;
public var right5:MovieClip;
public var aimspots:Array;
public var midstep1:MovieClip;
public var midstep2:MovieClip;
public var midstep3:MovieClip;
public var midstep4:MovieClip;
public var node10:MovieClip;
public var node11:MovieClip;
public var node13:MovieClip;
public var node15:MovieClip;
public var node16:MovieClip;
public var node17:MovieClip;
public var node18:MovieClip;
public var node12:MovieClip;
public var node14:MovieClip;
public var _root:MovieClip;
public var right2:MovieClip;
public var obstacles:MovieClip;
public var step10:MovieClip;
public var bitStage:uint;
public function L8Exit_122(){
min = Math.min;
super();
addFrameScript(0, frame1);
}
function frame1(){
frm = 16;
i = 0;
j = 0;
toUpd = new Array();
bitStage = 0;
bitTime = 0;
_root = (parent as MovieClip);
if (frm == _root.currentFrame){
_root.musicHold.addMusic("fight2");
raises = [[step1, 0.76], [step2, 0.78], [step3, 0.8], [step4, 0.82], [step5, 0.85], [step6, 0.88], [step7, 0.92], [step8, 0.96], [step9, 1.04], [step10, 1.08]];
raises.push([slab1, 0.81], [slab2, 0.81]);
paths = [node1, node2, node3, node5, node6, node7, node8, node9, node10, node11, node12, node13, node14, node15, node16, node17, node18];
node1.friends = [[node2, 6], [node3, 6], [node5, 10]];
node2.friends = [[node1, 6], [node3, 8], [node5, 7], [node6, 12]];
node3.friends = [[node1, 6], [node2, 8], [node5, 7], [node7, 12]];
node5.friends = [[node1, 10], [node2, 7], [node3, 7], [node6, 8], [node7, 8], [node9, 12], [node14, 12]];
node6.friends = [[node2, 12], [node5, 8], [node7, 5], [node8, 4], [node9, 6]];
node7.friends = [[node3, 12], [node5, 8], [node6, 5], [node8, 4], [node14, 6]];
node8.friends = [[node6, 4], [node7, 4], [node13, 5], [node18, 5]];
node9.friends = [[node5, 12], [node6, 6], [node10, 2]];
node10.friends = [[node9, 2], [node11, 3]];
node11.friends = [[node10, 3], [node12, 3]];
node12.friends = [[node11, 3], [node13, 5]];
node13.friends = [[node8, 5], [node12, 5], [node18, 9]];
node14.friends = [[node5, 12], [node7, 6], [node15, 2]];
node15.friends = [[node14, 2], [node16, 3]];
node16.friends = [[node15, 3], [node17, 3]];
node17.friends = [[node16, 3], [node18, 5]];
node18.friends = [[node8, 5], [node13, 9], [node17, 5]];
aimspots = [aimSpot1, aimSpot2, aimSpot3, aimSpot4, aimSpot5];
enemies.alives = new Array(guy);
_root.fadeIn.gotoAndStop(2);
guy.setVars(_root, this, terrain, obstacles, enemies.alives[i].hitbox, paths, raises, aimspots);
guy.setVals(my_legs, guy.my_arms, guy.my_head, levelArea);
effects.setVars(_root, this);
effectsLow.setVars(_root, this);
enemies.setVars(_root, this, terrain, guy, obstacles, levelArea, paths, raises, aimspots);
itemses.setVars(_root, this, guy);
upd();
};
}
public function upd():void{
if (frm == _root.currentFrame){
enemies.toUpd = enemies.getUpdatable();
itemses.upd();
effects.upd(enemies.toUpd);
effectsLow.upd(enemies.toUpd);
enemies.upd(enemies.toUpd);
guy.checkObs(enemies.alives);
guy.snapTerrain();
guy.correctTerrain();
updAni(_root.fadeIn);
updAni(_root.fadeOut);
updAni(_root.itemShower);
updAni(terrain.doors1);
if (((guy.hitbox.hitTestObject(trigger2)) && ((_root.fadeOut.currentFrame == 1)))){
_root.fadeOut.goToFrm(17);
};
if (bitTime > 0){
bitTime--;
} else {
switch (bitStage){
case 0:
_root.soundHold.addSound("health_spawn");
_root.soundHold.addSound("weapon_spawn");
itemses.addAnItem(midstep1.x, midstep1.y, 3);
itemses.addAnItem(rug1.x, rug1.y, 8);
itemses.addAnItem(rug2.x, rug2.y, 9);
bitStage = 1;
bitTime = 10;
case 1:
if (guy.hitTestObject(trigger1)){
bitStage = 2;
bitTime = 50;
};
break;
case 2:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("crocodile_emerge");
enemies.addCrocodile(top1.x, top1.y, 20, 180);
bitTime = 10;
bitStage = 3;
break;
case 3:
if (enemies.alives.length < 2){
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("crawler_emerge");
enemies.addCrawler(left2.x, left2.y, 5, 90);
enemies.addCrawler(right2.x, right2.y, 5, 270);
bitStage = 4;
bitTime = 60;
};
break;
case 4:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("crawler_emerge");
enemies.addCrawler(top1.x, top1.y, 30, 0);
enemies.addCrawler(top2.x, top2.y, 30, 0);
enemies.addCrawler(top3.x, top3.y, 30, 0);
enemies.addCrawler(top4.x, top4.y, 30, 0);
enemies.addCrawler(top5.x, top5.y, 30, 0);
bitStage = 5;
bitTime = 10;
break;
case 5:
if (enemies.alives.length < 2){
_root.soundHold.addSound("weapon_spawn");
itemses.addAnItem(midstep2.x, midstep2.y, 11);
itemses.addAnItem(midstep3.x, midstep3.y, 10);
bitStage = 6;
bitTime = 120;
};
break;
case 6:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("spider_emerge");
enemies.addSpider(left1.x, left1.y, 10);
enemies.addSpider(left2.x, left2.y, 10);
enemies.addSpider(left3.x, left3.y, 10);
enemies.addSpider(right1.x, right1.y, 10);
enemies.addSpider(right2.x, right2.y, 10);
enemies.addSpider(right3.x, right3.y, 10);
enemies.addSpider(top1.x, top1.y, 10);
enemies.addSpider((top1.x + 40), (top1.y + 20), 10);
enemies.addSpider((top1.x + 40), (top1.y + 20), 10);
bitStage = 7;
bitTime = 180;
break;
case 7:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("wasp_emerge");
enemies.addWasp(stepps1.x, stepps1.y, 20, 90);
enemies.addWasp(stepps1.x, (stepps1.y - 30), 20, 90);
enemies.addWasp(stepps2.x, stepps2.y, 20, 270);
enemies.addWasp(stepps2.x, (stepps2.y - 30), 20, 270);
enemies.addWasp(stepps3.x, stepps3.y, 20, 90);
enemies.addWasp(stepps3.x, (stepps3.y - 30), 20, 90);
enemies.addWasp(stepps4.x, stepps4.y, 20, 270);
enemies.addWasp(stepps4.x, (stepps4.y - 30), 20, 270);
enemies.addWasp(stepps5.x, stepps5.y, 20, 90);
enemies.addWasp(stepps5.x, (stepps5.y - 30), 20, 90);
enemies.addWasp(stepps6.x, stepps6.y, 20, 270);
enemies.addWasp(stepps6.x, (stepps6.y - 30), 20, 270);
bitStage = 8;
bitTime = 10;
break;
case 8:
if (enemies.alives.length < 2){
_root.soundHold.addSound("health_spawn");
itemses.addAnItem(midstep4.x, midstep4.y, 1);
bitStage = 9;
bitTime = 100;
};
break;
case 9:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("crocodile_emerge");
_root.soundHold.addSound("spider_emerge");
enemies.addCrocodile(left5.x, left5.y, 10, 90);
enemies.addCrocodile(right5.x, right5.y, 10, 270);
enemies.addCrocodile(top1.x, top1.y, 10, 0);
enemies.addSpider(top4.x, top4.y, 10, 0);
enemies.addSpider(top5.x, top5.y, 10, 0);
bitStage = 10;
bitTime = 10;
break;
case 10:
_root.musicHold.fadeOut(100);
if (enemies.alives.length < 2){
_root.soundHold.addSound("door_open");
_root.itemShower.addHint("EXIT OPEN");
terrain.doors1.gotoAndStop(2);
bitStage = 11;
bitTime = 60;
};
break;
case 11:
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("crocodile_emerge");
enemies.addCrocodile(top1.x, top1.y, 10, 0);
enemies.addCrocodile(top2.x, top2.y, 10, 0);
enemies.addCrocodile(top3.x, top3.y, 10, 0);
enemies.addCrocodile(top4.x, top4.y, 10, 0);
enemies.addCrocodile(top5.x, top5.y, 10, 0);
bitStage = 12;
break;
};
};
};
}
public function updAni(_arg1:MovieClip):void{
if (_arg1.currentFrame > 1){
_arg1.nextFrame();
};
}
}
}//package g_dire_ng_fla
Section 88
//L8TerrainRoom8_124 (g_dire_ng_fla.L8TerrainRoom8_124)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class L8TerrainRoom8_124 extends MovieClip {
public var doors1:MovieClip;
}
}//package g_dire_ng_fla
Section 89
//L9End_125 (g_dire_ng_fla.L9End_125)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class L9End_125 extends MovieClip {
public const min:Function;
public const ceil:Function;
public const mrandom:Function;
public var raises:Array;
public var pathLong1:MovieClip;
public var pathLong3:MovieClip;
public var pathLong4:MovieClip;
public var pathLong2:MovieClip;
public var pathLong5:MovieClip;
public var levelArea:MovieClip;
public var enemies:EnemiesHold;
public var pathLong6:MovieClip;
public var i:uint;
public var itemses:PickupsHold;
public var node1:MovieClip;
public var node2:MovieClip;
public var node3:MovieClip;
public var node5:MovieClip;
public var node6:MovieClip;
public var node7:MovieClip;
public var node8:MovieClip;
public var node9:MovieClip;
public var node4:MovieClip;
public var j:uint;
public var path1:MovieClip;
public var path2:MovieClip;
public var path3:MovieClip;
public var path4:MovieClip;
public var path5:MovieClip;
public var path6:MovieClip;
public var toUpd:Array;
public var pond2:MovieClip;
public var pond6:MovieClip;
public var pond1:MovieClip;
public var pond3:MovieClip;
public var pond5:MovieClip;
public var pond4:MovieClip;
public var pond7:MovieClip;
public var effectsLow:EffectsHold;
public var paths:Array;
public var effects:EffectsHold;
public var grassy1:MovieClip;
public var grassy3:MovieClip;
public var grassy5:MovieClip;
public var grassy6:MovieClip;
public var pond8:MovieClip;
public var grassy2:MovieClip;
public var grassy4:MovieClip;
public var aimSpot1:MovieClip;
public var aimSpot2:MovieClip;
public var aimSpot3:MovieClip;
public var aimSpot4:MovieClip;
public var aimSpot5:MovieClip;
public var aimSpot6:MovieClip;
public var frm:uint;
public var terrain:MovieClip;
public var my_legs:MovieClip;
public var guy:MainChar;
public var trigger1:MovieClip;
public var trigger2:MovieClip;
public var gargantua:MyGargantuaEnemy;
public var bitTime:uint;
public var aimspots:Array;
public var node10:MovieClip;
public var node11:MovieClip;
public var node13:MovieClip;
public var node15:MovieClip;
public var node16:MovieClip;
public var node17:MovieClip;
public var node18:MovieClip;
public var node12:MovieClip;
public var node14:MovieClip;
public var pathShort1:MovieClip;
public var pathShort2:MovieClip;
public var pathShort3:MovieClip;
public var pathShort4:MovieClip;
public var pathShort5:MovieClip;
public var _root:MovieClip;
public var pathShort6:MovieClip;
public var obstacles:MovieClip;
public var bitStage:uint;
public var posClip:MovieClip;
public function L9End_125(){
min = Math.min;
ceil = Math.ceil;
mrandom = Math.random;
super();
addFrameScript(0, frame1);
}
function frame1(){
frm = 17;
i = 0;
j = 0;
toUpd = new Array();
bitStage = 0;
bitTime = 0;
_root = (parent as MovieClip);
if (frm == _root.currentFrame){
raises = [[path1, 1.06], [path2, 1.02], [path3, 1.02], [path4, 1.06], [path5, 1.04], [path6, 1.03]];
paths = [node1, node2, node3, node5, node6, node7, node8, node9, node10, node11, node12, node13, node14, node15, node16, node17, node18];
node1.friends = [[node2, 6], [node12, 6], [node13, 4]];
node2.friends = [[node1, 6], [node3, 6], [node13, 8]];
node3.friends = [[node2, 6], [node4, 6], [node14, 7]];
node4.friends = [[node2, 6], [node5, 6]];
node5.friends = [[node4, 6], [node6, 6], [node15, 7]];
node6.friends = [[node5, 6], [node7, 6], [node16, 8]];
node7.friends = [[node6, 6], [node8, 6], [node16, 4]];
node8.friends = [[node7, 6], [node9, 6], [node16, 8]];
node9.friends = [[node8, 6], [node10, 6], [node17, 7]];
node10.friends = [[node9, 6], [node11, 6]];
node11.friends = [[node10, 6], [node12, 6], [node18, 7]];
node12.friends = [[node1, 6], [node11, 6], [node13, 8]];
node13.friends = [[node1, 4], [node2, 8], [node12, 8]];
node14.friends = [[node3, 7]];
node15.friends = [[node5, 7]];
node16.friends = [[node6, 8], [node7, 4], [node8, 8]];
node17.friends = [[node9, 7]];
node18.friends = [[node11, 7]];
aimspots = [aimSpot1, aimSpot2, aimSpot3, aimSpot4, aimSpot5, aimSpot6];
enemies.alives = new Array(guy, gargantua);
_root.fadeIn.gotoAndStop(2);
guy.setVars(_root, this, terrain, obstacles, enemies.alives[i].hitbox, paths, raises, aimspots);
guy.setVals(my_legs, guy.my_arms, guy.my_head, levelArea);
gargantua.setVars(_root, this, terrain, obstacles, gargantua.hitbox, paths, raises, aimspots);
gargantua.setVals(guy, gargantua.my_head, gargantua.my_neck, gargantua.my_body, gargantua.my_arm1, gargantua.my_arm2);
gargantua.addEventListener("finished", enemies.onEnemyKilled);
_root.enemiesSpawned++;
effects.setVars(_root, this);
effectsLow.setVars(_root, this);
enemies.setVars(_root, this, terrain, guy, obstacles, levelArea, paths, raises, aimspots);
itemses.setVars(_root, this, guy);
upd();
};
}
public function upd():void{
if (frm == _root.currentFrame){
enemies.toUpd = enemies.getUpdatable();
itemses.upd();
effects.upd(enemies.toUpd);
effectsLow.upd(enemies.toUpd);
enemies.upd(enemies.toUpd);
guy.checkObs(enemies.alives);
guy.snapTerrain();
guy.correctTerrain();
updAni(_root.fadeIn);
updAni(_root.fadeOut);
updAni(_root.itemShower);
updAni(terrain.doors1);
if (((guy.hitbox.hitTestObject(trigger2)) && ((_root.fadeOut.currentFrame == 1)))){
_root.fadeOut.goToFrm(18);
};
if (bitTime > 0){
bitTime--;
} else {
switch (bitStage){
case 0:
_root.soundHold.addSound("weapon_spawn");
_root.soundHold.addSound("health_spawn");
itemses.addAnItem(pathShort1.x, pathShort1.y, 1);
itemses.addAnItem(grassy2.x, grassy2.y, 10);
itemses.addAnItem(pathLong6.x, pathLong6.y, 9);
itemses.addAnItem(pathLong4.x, pathLong4.y, 11);
bitStage = 1;
bitTime = 10;
case 1:
if (guy.hitTestObject(trigger1)){
_root.musicHold.resetMusic();
bitStage = 2;
bitTime = 15;
};
break;
case 2:
_root.musicHold.addMusic("fight3");
_root.soundHold.addSound("enemy_spawn");
gargantua.acting = true;
bitTime = 10;
bitStage = 3;
case 3:
if (gargantua.health > 0){
if (enemies.alives.length < 6){
bitStage = 4;
bitTime = (180 + uint((gargantua.health / 1500)));
};
} else {
bitStage = 6;
bitTime = 30;
};
break;
case 4:
if (gargantua.health > 0){
if (gargantua.health > 2000){
} else {
if (gargantua.health > 1600){
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("crawler_emerge");
posClip = this[("pathShort" + ceil((mrandom() * 6)))];
enemies.addCrawler(posClip.x, posClip.y, 30, 0);
posClip = this[("pathLong" + ceil((mrandom() * 6)))];
enemies.addCrawler(posClip.x, posClip.y, 30, 0);
posClip = this[("pathLong" + ceil((mrandom() * 6)))];
enemies.addCrawler(posClip.x, posClip.y, 30, 0);
} else {
if (gargantua.health > 1000){
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("wasp_emerge");
posClip = this[("pond" + ceil((mrandom() * 8)))];
enemies.addWasp(posClip.x, posClip.y, 30, 0);
posClip = this[("pond" + ceil((mrandom() * 8)))];
enemies.addWasp(posClip.x, posClip.y, 30, 0);
posClip = this[("pond" + ceil((mrandom() * 8)))];
enemies.addWasp(posClip.x, posClip.y, 30, 0);
posClip = this[("pond" + ceil((mrandom() * 8)))];
enemies.addWasp(posClip.x, posClip.y, 30, 0);
posClip = this[("pond" + ceil((mrandom() * 8)))];
enemies.addWasp(posClip.x, posClip.y, 30, 0);
posClip = this[("pathLong" + ceil((mrandom() * 6)))];
enemies.addWasp(posClip.x, posClip.y, 30, 0);
} else {
if (gargantua.health > 400){
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("spider_emerge");
posClip = this[("grassy" + ceil((mrandom() * 6)))];
enemies.addSpider(posClip.x, posClip.y, 40, 0);
posClip = this[("grassy" + ceil((mrandom() * 6)))];
enemies.addSpider(posClip.x, posClip.y, 40, 0);
posClip = this[("grassy" + ceil((mrandom() * 6)))];
enemies.addSpider(posClip.x, posClip.y, 40, 0);
posClip = this[("grassy" + ceil((mrandom() * 6)))];
enemies.addSpider(posClip.x, posClip.y, 40, 0);
} else {
if (enemies.alives.length < 4){
_root.soundHold.addSound("enemy_spawn");
_root.soundHold.addSound("crocodile_emerge");
posClip = this[("pathLong" + ceil((mrandom() * 6)))];
enemies.addCrocodile(posClip.x, posClip.y, 20, 0);
posClip = this[("pathLong" + ceil((mrandom() * 6)))];
enemies.addCrocodile(posClip.x, posClip.y, 20, 0);
};
};
};
};
};
bitStage = 5;
bitTime = (120 + uint((gargantua.health / 1800)));
} else {
bitStage = 6;
bitTime = 30;
};
break;
case 5:
if (gargantua.health > 0){
bitStage = 3;
bitTime = 80;
_root.soundHold.addSound("weapon_spawn");
_root.soundHold.addSound("health_spawn");
posClip = this[("grassy" + ceil((mrandom() * 6)))];
itemses.addAnItem(posClip.x, posClip.y, ceil((mrandom() * 3)));
posClip = this[("grassy" + ceil((mrandom() * 6)))];
itemses.addAnItem(posClip.x, posClip.y, (7 + ceil((mrandom() * 3))));
posClip = this[("pathShort" + ceil((mrandom() * 6)))];
itemses.addAnItem(posClip.x, posClip.y, (7 + ceil((mrandom() * 3))));
posClip = this[("pathLong" + ceil((mrandom() * 6)))];
itemses.addAnItem(posClip.x, posClip.y, (7 + ceil((mrandom() * 4))));
} else {
bitStage = 6;
bitTime = 30;
};
break;
case 6:
if (enemies.alives.length < 2){
_root.musicHold.fadeOut(50);
_root.soundHold.addSound("door_open");
_root.itemShower.addHint("EXIT OPEN");
terrain.doors1.gotoAndStop(2);
bitStage = 7;
bitTime = 60;
};
break;
};
};
};
}
public function updAni(_arg1:MovieClip):void{
if (_arg1.currentFrame > 1){
_arg1.nextFrame();
};
}
}
}//package g_dire_ng_fla
Section 90
//L9TerrainRoom9_127 (g_dire_ng_fla.L9TerrainRoom9_127)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class L9TerrainRoom9_127 extends MovieClip {
public var doors1:MovieClip;
}
}//package g_dire_ng_fla
Section 91
//LasrInterface_137 (g_dire_ng_fla.LasrInterface_137)
package g_dire_ng_fla {
import com.newgrounds.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class LasrInterface_137 extends MovieClip {
public var frm:uint;
public var medals:MovieClip;
public var theTitle:MovieClip;
public var menuBtn:EndMenuButton;
public var _root:MovieClip;
public var med:Medal;
public var playStats:MovieClip;
public function LasrInterface_137(){
addFrameScript(0, frame1, 2, frame3, 14, frame15, 124, frame125, 144, frame145, 154, frame155, 179, frame180, 189, frame190, 229, frame230);
}
function frame155(){
menuBtn.deactivateBtn();
menuBtn.onPress = function ():void{
_root.musicHold.fadeOut(40);
_root.soundHold.addSound("end_click");
gotoAndPlay(191);
menuBtn.deactivateBtn();
};
}
function frame3(){
_root.musicHold.resetMusic();
}
function frame15(){
_root.musicHold.addMusic("end_screen");
}
function frame1(){
stop();
_root = (parent as MovieClip);
frm = 18;
if (frm == _root.currentFrame){
gotoAndPlay(2);
};
}
function frame190(){
stop();
}
function frame180(){
menuBtn.activateBtn();
}
function frame230(){
gotoAndStop(1);
_root.musicHold.resetMusic();
_root.gotoAndStop(5);
}
function frame125(){
playStats.playTime.text = _root.framesToTime(_root.playTime);
playStats.kills.text = String(((_root.enemiesKilled + "/") + _root.enemiesSpawned));
}
function frame145(){
medals.medalGuy.visible = _root.mGuy;
medals.medalWasp.visible = _root.mWasp;
medals.medalSpider.visible = _root.mSpider;
medals.medalCrawler.visible = _root.mCrawler;
medals.medalCrocodile.visible = _root.mCrocodile;
medals.medalGargantua.visible = _root.mGargantua;
if (_root.mGuy){
API.unlockMedal("Human");
_root.gameData.addAchievement(0);
};
if (_root.mWasp){
API.unlockMedal("Wasp");
_root.gameData.addAchievement(1);
};
if (_root.mSpider){
API.unlockMedal("Spider");
_root.gameData.addAchievement(2);
};
if (_root.mCrawler){
API.unlockMedal("Crawler");
_root.gameData.addAchievement(3);
};
if (_root.mCrocodile){
API.unlockMedal("Crocodile");
_root.gameData.addAchievement(4);
};
_root.mGargantua = (_root.gameData.totalAchievements() >= 5);
if (_root.mGargantua){
API.unlockMedal("Gargantua");
_root.gameData.addAchievement(5);
};
medals.medalGuy.visible = _root.mGuy;
medals.medalWasp.visible = _root.mWasp;
medals.medalSpider.visible = _root.mSpider;
medals.medalCrawler.visible = _root.mCrawler;
medals.medalCrocodile.visible = _root.mCrocodile;
medals.medalGargantua.visible = _root.mGargantua;
_root.gameData.checkData();
}
}
}//package g_dire_ng_fla
Section 92
//LegsDie_74 (g_dire_ng_fla.LegsDie_74)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class LegsDie_74 extends MovieClip {
public var _root:MovieClip;
public function LegsDie_74(){
addFrameScript(0, frame1, 1, frame2, 4, frame5, 19, frame20, 49, frame50);
}
function frame1(){
_root = (parent.parent.parent as MovieClip);
stop();
}
function frame5(){
_root.bmd2.draw(_root);
}
function frame20(){
_root.bmd3.draw(_root);
}
function frame2(){
_root.bmd1.draw(_root);
}
function frame50(){
_root.registerLoss();
}
}
}//package g_dire_ng_fla
Section 93
//LegsWalkBack_73 (g_dire_ng_fla.LegsWalkBack_73)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class LegsWalkBack_73 extends MovieClip {
public function LegsWalkBack_73(){
addFrameScript(0, frame1, 16, frame17);
}
function frame1(){
stop();
}
function frame17(){
gotoAndStop(1);
}
}
}//package g_dire_ng_fla
Section 94
//LegsWalkForward_72 (g_dire_ng_fla.LegsWalkForward_72)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class LegsWalkForward_72 extends MovieClip {
public function LegsWalkForward_72(){
addFrameScript(0, frame1, 16, frame17);
}
function frame1(){
stop();
}
function frame17(){
gotoAndStop(1);
}
}
}//package g_dire_ng_fla
Section 95
//LoaderClip_2 (g_dire_ng_fla.LoaderClip_2)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
public dynamic class LoaderClip_2 extends MovieClip {
public var theTitle:MovieClip;
public var playBtn:PreloadPlayBtn;
public var loadBar:MovieClip;
public var _root:MovieClip;
public var load:MovieClip;
public function LoaderClip_2(){
addFrameScript(0, frame1, 29, frame30, 59, frame60);
}
function frame1(){
_root = (root as MovieClip);
stop();
addEventListener(Event.ENTER_FRAME, onFrm);
loadBar.scaleX = 0;
playBtn.deactivateBtn();
playBtn.onPress = function ():void{
playBtn.deactivateBtn();
gotoAndPlay(31);
};
}
function frame30(){
stop();
playBtn.activateBtn();
}
public function onFrm(_arg1:Event):void{
var _local2:Number;
_local2 = (_root.loaderInfo.bytesLoaded / _root.loaderInfo.bytesTotal);
if (_local2 < 1){
loadBar.scaleX = _local2;
} else {
loadBar.scaleX = 1;
gotoAndPlay(2);
removeEventListener(Event.ENTER_FRAME, onFrm);
};
}
function frame60(){
_root.gotoAndStop(4);
}
}
}//package g_dire_ng_fla
Section 96
//MainCharLegs_71 (g_dire_ng_fla.MainCharLegs_71)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class MainCharLegs_71 extends MovieClip {
public var ani4:MovieClip;
public var ani2:MovieClip;
public var ani3:MovieClip;
public function MainCharLegs_71(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package g_dire_ng_fla
Section 97
//MainGun_78 (g_dire_ng_fla.MainGun_78)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class MainGun_78 extends MovieClip {
public var ani4:MovieClip;
public var ani1:MovieClip;
public var ani2:MovieClip;
public var ani3:MovieClip;
public var ani5:MovieClip;
public function MainGun_78(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package g_dire_ng_fla
Section 98
//MainHead_84 (g_dire_ng_fla.MainHead_84)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class MainHead_84 extends MovieClip {
public var ani1:MovieClip;
public function MainHead_84(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package g_dire_ng_fla
Section 99
//MedalBox_142 (g_dire_ng_fla.MedalBox_142)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class MedalBox_142 extends MovieClip {
public var medalCrawler:MovieClip;
public var medalWasp:MovieClip;
public var medalGargantua:MovieClip;
public var medalSpider:MovieClip;
public var medalCrocodile:MovieClip;
public var medalGuy:MovieClip;
}
}//package g_dire_ng_fla
Section 100
//MedalsClip_56 (g_dire_ng_fla.MedalsClip_56)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class MedalsClip_56 extends MovieClip {
public var medalCrawler:MovieClip;
public var medalWasp:MovieClip;
public var medalGargantua:MovieClip;
public var medalSpider:MovieClip;
public var medalCrocodile:MovieClip;
public var medalGuy:MovieClip;
}
}//package g_dire_ng_fla
Section 101
//MenuClip_52 (g_dire_ng_fla.MenuClip_52)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class MenuClip_52 extends MovieClip {
public var userPage:URLRequest;
public var frm:uint;
public var theTitle:MovieClip;
public var authorSiteBtn:AuthorSiteButton;
public var startBtn:StartButton;
public var _root:MovieClip;
public var medalsClip:MovieClip;
public function MenuClip_52(){
addFrameScript(0, frame1, 2, frame3, 4, frame5, 14, frame15, 21, frame22, 22, frame23, 24, frame25, 51, frame52);
}
function frame3(){
_root.musicHold.addMusic("temple_intro");
}
function frame15(){
startBtn.activateBtn();
}
function frame1(){
stop();
_root = (parent as MovieClip);
frm = 5;
userPage = new URLRequest("http://paranoia.newgrounds.com/");
startBtn.deactivateBtn();
authorSiteBtn.deactivateBtn();
startBtn.onPress = function ():void{
_root.musicHold.fadeOut(30);
gotoAndPlay(32);
};
authorSiteBtn.onPress = function ():void{
navigateToURL(userPage, "_blank");
};
if (frm == _root.currentFrame){
gotoAndPlay(2);
};
}
function frame22(){
authorSiteBtn.activateBtn();
}
function frame25(){
startBtn.deactivateBtn();
authorSiteBtn.deactivateBtn();
}
function frame23(){
stop();
}
function frame5(){
medalsClip.medalGuy.visible = _root.gameData.so.data.achievements[0];
medalsClip.medalWasp.visible = _root.gameData.so.data.achievements[1];
medalsClip.medalSpider.visible = _root.gameData.so.data.achievements[2];
medalsClip.medalCrawler.visible = _root.gameData.so.data.achievements[3];
medalsClip.medalCrocodile.visible = _root.gameData.so.data.achievements[4];
medalsClip.medalGargantua.visible = _root.gameData.so.data.achievements[5];
}
function frame52(){
_root.musicHold.resetMusic();
_root.gotoAndStop(8);
gotoAndStop(1);
}
}
}//package g_dire_ng_fla
Section 102
//OpenScene_99 (g_dire_ng_fla.OpenScene_99)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class OpenScene_99 extends MovieClip {
public var frm:uint;
public var _root:MovieClip;
public function OpenScene_99(){
addFrameScript(0, frame1, 1, frame2, 29, frame30, 59, frame60);
}
function frame1(){
stop();
_root = (parent as MovieClip);
frm = 8;
if (frm == _root.currentFrame){
gotoAndPlay(2);
};
}
function frame2(){
_root.musicHold.addMusic("temple_back");
_root.addEventListener("mouseClicked", advanceMe);
}
function frame30(){
stop();
}
public function advanceMe(_arg1:Event):void{
if (currentFrame > 31){
_root.soundHold.addSound("button_select");
gotoAndPlay(33);
_root.removeEventListener("mouseClicked", advanceMe);
} else {
if (currentFrame > 29){
_root.soundHold.addSound("button_select");
nextFrame();
};
};
}
function frame60(){
gotoAndStop(1);
_root.gotoAndStop(9);
}
}
}//package g_dire_ng_fla
Section 103
//PauseButton_102 (g_dire_ng_fla.PauseButton_102)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class PauseButton_102 extends MovieClip {
public function PauseButton_102(){
addFrameScript(0, frame1);
}
function frame1(){
visible = (MovieClip(parent).isPaused = false);
}
}
}//package g_dire_ng_fla
Section 104
//PickUpsClip_39 (g_dire_ng_fla.PickUpsClip_39)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class PickUpsClip_39 extends MovieClip {
public function PickUpsClip_39(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package g_dire_ng_fla
Section 105
//PlayThroughStats_140 (g_dire_ng_fla.PlayThroughStats_140)
package g_dire_ng_fla {
import flash.display.*;
import flash.text.*;
public dynamic class PlayThroughStats_140 extends MovieClip {
public var playTime:TextField;
public var kills:TextField;
}
}//package g_dire_ng_fla
Section 106
//SpiderAttack_29 (g_dire_ng_fla.SpiderAttack_29)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class SpiderAttack_29 extends MovieClip {
public var smashbox:MovieClip;
public function SpiderAttack_29(){
addFrameScript(0, frame1, 9, frame10, 13, frame14, 17, frame18, 21, frame22);
}
function frame10(){
if (Math.random() < 0.2){
MovieClip(parent.parent.parent.parent).soundHold.addSound("spider_attack");
};
}
function frame14(){
if (Math.random() < 0.2){
MovieClip(parent.parent.parent.parent).soundHold.addSound("spider_attack");
};
}
function frame18(){
if (Math.random() < 0.2){
MovieClip(parent.parent.parent.parent).soundHold.addSound("spider_attack");
};
}
function frame1(){
stop();
}
function frame22(){
if (Math.random() < 0.2){
MovieClip(parent.parent.parent.parent).soundHold.addSound("spider_attack");
};
}
}
}//package g_dire_ng_fla
Section 107
//SpiderDie_32 (g_dire_ng_fla.SpiderDie_32)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class SpiderDie_32 extends MovieClip {
public function SpiderDie_32(){
addFrameScript(0, frame1, 10, frame11);
}
function frame1(){
stop();
}
function frame11(){
if (Math.random() < 0.6){
gotoAndStop(15);
};
}
}
}//package g_dire_ng_fla
Section 108
//SpiderEmerge_27 (g_dire_ng_fla.SpiderEmerge_27)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class SpiderEmerge_27 extends MovieClip {
public function SpiderEmerge_27(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package g_dire_ng_fla
Section 109
//SpiderKill_31 (g_dire_ng_fla.SpiderKill_31)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class SpiderKill_31 extends MovieClip {
public var _root:MovieClip;
public function SpiderKill_31(){
addFrameScript(0, frame1, 4, frame5, 16, frame17, 29, frame30, 49, frame50);
}
function frame1(){
_root = (parent.parent.parent.parent as MovieClip);
stop();
}
function frame17(){
_root.bmd2.draw(_root);
}
function frame5(){
_root.bmd1.draw(_root);
}
function frame30(){
_root.bmd3.draw(_root);
}
function frame50(){
_root.registerLoss();
}
}
}//package g_dire_ng_fla
Section 110
//SpiderRun_28 (g_dire_ng_fla.SpiderRun_28)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class SpiderRun_28 extends MovieClip {
public function SpiderRun_28(){
addFrameScript(0, frame1, 11, frame12);
}
function frame12(){
gotoAndStop(1);
}
function frame1(){
stop();
}
}
}//package g_dire_ng_fla
Section 111
//SpiderSpit_30 (g_dire_ng_fla.SpiderSpit_30)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class SpiderSpit_30 extends MovieClip {
public var aimBox:MovieClip;
public function SpiderSpit_30(){
addFrameScript(0, frame1, 19, frame20);
}
function frame1(){
stop();
}
function frame20(){
if (Math.random() < 0.5){
MovieClip(parent.parent.parent.parent).soundHold.addSound("spider_attack");
};
}
}
}//package g_dire_ng_fla
Section 112
//TriggerBox_1 (g_dire_ng_fla.TriggerBox_1)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class TriggerBox_1 extends MovieClip {
public function TriggerBox_1(){
addFrameScript(0, frame1);
}
function frame1(){
visible = false;
}
}
}//package g_dire_ng_fla
Section 113
//WalkNode_18 (g_dire_ng_fla.WalkNode_18)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class WalkNode_18 extends MovieClip {
public function WalkNode_18(){
addFrameScript(0, frame1);
}
function frame1(){
visible = false;
}
}
}//package g_dire_ng_fla
Section 114
//WaspAttack_36 (g_dire_ng_fla.WaspAttack_36)
package g_dire_ng_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class WaspAttack_36 extends MovieClip {
public var dmgBox:MovieClip;
public function WaspAttack_36(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
if (Math.random() < 0.4){
MovieClip(parent.parent.parent.parent).soundHold.addSound("wasp_attack");
};
}
}
}//package g_dire_ng_fla
Section 115
//WaspDie_37 (g_dire_ng_fla.WaspDie_37)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class WaspDie_37 extends MovieClip {
public function WaspDie_37(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package g_dire_ng_fla
Section 116
//WaspFlyer_35 (g_dire_ng_fla.WaspFlyer_35)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class WaspFlyer_35 extends MovieClip {
public function WaspFlyer_35(){
addFrameScript(0, frame1, 8, frame9);
}
function frame1(){
stop();
}
function frame9(){
gotoAndStop(1);
}
}
}//package g_dire_ng_fla
Section 117
//WaspFlyerEmerge_34 (g_dire_ng_fla.WaspFlyerEmerge_34)
package g_dire_ng_fla {
import flash.display.*;
public dynamic class WaspFlyerEmerge_34 extends MovieClip {
public function WaspFlyerEmerge_34(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package g_dire_ng_fla
Section 118
//AuthorSiteButton (AuthorSiteButton)
package {
public dynamic class AuthorSiteButton extends MyButton {
}
}//package
Section 119
//BigCrocEnemy (BigCrocEnemy)
package {
public dynamic class BigCrocEnemy extends CrocodileEnemy {
public function BigCrocEnemy(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 120
//BoltFlying (BoltFlying)
package {
import flash.display.*;
public dynamic class BoltFlying extends MovieClip {
public var hitbox:MovieClip;
public function BoltFlying(){
addFrameScript(0, frame1, 16, frame17);
}
function frame1(){
stop();
}
function frame17(){
gotoAndStop(1);
}
}
}//package
Section 121
//CrawlerEnemy (CrawlerEnemy)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public dynamic class CrawlerEnemy extends LivingObject {
private var moveTime:uint;// = 0
private var onPath:Boolean;// = false
private var intelligence:uint;// = 10
private var pathTarg:MovieClip;
public var hitbox:MovieClip;
private var targ:MovieClip;
private var walkPath:Array;
public var moveStage:uint;// = 0
public var ani1:MovieClip;
public var ani2:MovieClip;
public var ani5:MovieClip;
public var ani6:MovieClip;
public var ani3:MovieClip;
public var ani4:MovieClip;
public function CrawlerEnemy(){
moveStage = 0;
moveTime = 0;
onPath = false;
intelligence = 10;
super();
}
public function updateInstance():void{
intelligence = uint(((5 + (mrandom() * 10)) * (1 + hold.enemies.toUpd.length)));
if (moveStage == 0){
targDrive = 0;
} else {
if (moveStage == 1){
if (currentFrame != 2){
gotoAndStop(2);
};
if (moveTime > 0){
if (_root.polarRadius(pos, targ.pos) > 80){
targDrive = 3;
targDir = _root.polarAngle(pos, targ.pos);
} else {
if (abs(_root.getAngle(_root.polarAngle(pos, targ.pos), curDir)) > 0.4){
targDrive = 0;
targDir = _root.polarAngle(pos, targ.pos);
} else {
moveStage = 2;
if (mrandom() < 0.6){
gotoAndStop(3);
} else {
gotoAndStop(4);
};
};
};
moveTime--;
} else {
if (!findLineOfSight(targ.pos)){
moveStage = 3;
gotoAndStop(2);
} else {
targDrive = 3;
targDir = _root.polarAngle(pos, targ.pos);
moveTime = intelligence;
};
};
} else {
if (moveStage == 2){
targDrive = 0;
if (this.ani3 != null){
if (this.ani3.dmgBox != null){
attackWith(this.ani3.dmgBox, 11, 2, targ);
};
};
if (this.ani4 != null){
if (this.ani4.dmgBox != null){
attackWith(this.ani4.dmgBox, 24, 4, targ);
};
};
} else {
if (moveStage == 3){
if (!onPath){
walkPath = findPath(targ.pos);
moveTime = 40;
onPath = true;
} else {
if (walkPath.length > 0){
if ((((_root.polarRadius(pos, targ.pos) < 160)) && (findLineOfSight(targ.pos)))){
moveStage = 1;
moveTime = intelligence;
};
targDir = _root.polarAngle(pos, new Point(walkPath[0].x, walkPath[0].y));
targDrive = 2.5;
if (moveTime > 0){
moveTime--;
if (hit.hitTestObject(walkPath[0])){
walkPath.shift();
};
} else {
if (!findLineOfSight(new Point(walkPath[0].x, walkPath[0].y))){
onPath = false;
moveStage = 1;
moveTime = 60;
} else {
moveTime = intelligence;
};
};
} else {
if ((((moveStage == 1)) && (!(hitTestObject(pathTarg))))){
targDir = _root.polarAngle(pos, new Point(pathTarg.x, pathTarg.y));
targDrive = 2.5;
} else {
onPath = false;
moveStage = 1;
moveTime = 40;
};
};
};
};
};
};
};
}
public function updateAnimation():void{
rotation = ((curDir * r_d) + 180);
if (currentFrame == 1){
if (this.ani1 != null){
if (this.ani1.currentFrame < this.ani1.totalFrames){
this.ani1.nextFrame();
} else {
gotoAndStop(2);
moveStage = 3;
moveTime = 80;
};
};
} else {
if (currentFrame == 2){
if (this.ani2 != null){
this.ani2.nextFrame();
};
} else {
if (currentFrame == 3){
if (this.ani3 != null){
if (this.ani3.currentFrame < this.ani3.totalFrames){
this.ani3.nextFrame();
} else {
this.ani3.gotoAndStop(1);
gotoAndStop(2);
moveStage = 3;
moveTime = 80;
};
};
} else {
if (currentFrame == 4){
if (this.ani4 != null){
if (this.ani4.currentFrame < this.ani4.totalFrames){
this.ani4.nextFrame();
} else {
if (this.ani4.currentFrame == this.ani4.totalFrames){
this.ani4.gotoAndStop(1);
gotoAndStop(2);
moveStage = 3;
moveTime = 80;
};
};
};
} else {
if (currentFrame == 5){
if (this.ani5 != null){
if (this.ani5.currentFrame < this.ani5.totalFrames){
this.ani5.nextFrame();
};
};
} else {
if (currentFrame == 6){
if (this.ani6 != null){
if (this.ani6.currentFrame < this.ani6.totalFrames){
this.ani6.nextFrame();
} else {
dispatchEvent(new Event("finished"));
};
};
};
};
};
};
};
};
}
public function setVals(_arg1:MovieClip):void{
var vt = _arg1;
targ = vt;
addEventListener("hurt", onHit);
addEventListener("killed", onKilled);
moveStage = 0;
gotoAndStop(1);
angSpeed = 0.2;
flying = false;
mass = 2.4;
maxHealth = 23;
health = maxHealth;
bounds = [[0, 25, 0], [25, 0, (PI / 2)], [0, -25, PI], [-25, 0, (-(PI) / 2)]];
specKill = function ():void{
moveStage = 0;
gotoAndStop(5);
};
}
public function onHit(_arg1:Event):void{
if (mrandom() < 0.15){
if (mrandom() < 0.5){
_root.soundHold.addSound("crawler_hit1");
} else {
_root.soundHold.addSound("crawler_hit2");
};
};
_root.healthbox.setEnemyHealth(health, maxHealth, 3);
}
public function onKilled(_arg1:Event):void{
_root.soundHold.addSound("crawler_die");
_root.healthbox.setEnemyHealth(health, maxHealth, 3);
if (currentFrame != 5){
targDrive = 0;
moveStage = 0;
gotoAndStop(6);
};
removeEventListener("hurt", onHit);
removeEventListener("killed", onKilled);
}
}
}//package
Section 122
//CrocodileEnemy (CrocodileEnemy)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class CrocodileEnemy extends LivingObject {
private var charges:uint;// = 10
private var moveTime:uint;// = 0
public var tail:MovieClip;
private var onPath:Boolean;// = false
private var intelligence:uint;// = 10
private var pathTarg:MovieClip;
public var hitbox:MovieClip;
private var targ:MovieClip;
private var walkPath:Array;
public var moveStage:uint;// = 3
public var ani1:MovieClip;
public var ani5:MovieClip;
public var ani6:MovieClip;
public var ani3:MovieClip;
public var ani7:MovieClip;
public var ani4:MovieClip;
public var ani8:MovieClip;
public function CrocodileEnemy(){
moveStage = 3;
moveTime = 0;
charges = 10;
onPath = false;
intelligence = 10;
super();
}
public function updateInstance():void{
intelligence = uint(((5 + (mrandom() * 5)) * (1 + hold.enemies.toUpd.length)));
if (moveStage == 0){
targDrive = 0;
} else {
if ((((moveStage == 1)) || ((moveStage == 2)))){
if (currentFrame != 3){
gotoAndStop(3);
};
if (!onPath){
if (moveStage == 1){
pathTarg = findAim(targ, 160);
walkPath = findPath(new Point(pathTarg.x, pathTarg.y));
moveTime = 1000;
} else {
walkPath = findPath(targ.pos);
moveTime = 400;
};
onPath = true;
} else {
if (walkPath.length > 0){
if (_root.polarRadius(pos, targ.pos) < 80){
moveStage = 3;
moveTime = intelligence;
};
targDir = _root.polarAngle(pos, new Point(walkPath[0].x, walkPath[0].y));
targDrive = 5;
if (hit.hitTestObject(walkPath[0])){
walkPath.shift();
};
if (moveTime > 0){
moveTime--;
} else {
walkPath = new Array();
};
} else {
if ((((moveStage == 1)) && (!(hitTestObject(pathTarg))))){
targDir = _root.polarAngle(pos, new Point(pathTarg.x, pathTarg.y));
targDrive = 4.5;
} else {
onPath = false;
if (moveStage == 1){
moveStage = 4;
moveTime = (3 - int((((2 * mrandom()) * health) / maxHealth)));
} else {
moveStage = 3;
moveTime = intelligence;
};
};
};
};
} else {
if (moveStage == 3){
if (moveTime > 0){
if (_root.polarRadius(pos, targ.pos) > 60){
targDrive = 8;
targDir = _root.polarAngle(pos, targ.pos);
if (currentFrame != 3){
gotoAndStop(3);
};
} else {
if (abs(_root.getAngle(_root.polarAngle(pos, targ.pos), curDir)) > 0.6){
targDrive = 0;
moveStage = 5;
targDir = _root.polarAngle(pos, targ.pos);
if (currentFrame != 4){
gotoAndStop(4);
};
} else {
moveTime = 3;
gotoAndStop(6);
};
};
moveTime--;
} else {
if (!findLineOfSight(targ.pos)){
moveStage = 1;
gotoAndStop(2);
} else {
if (charges > 0){
charges--;
targDrive = 3;
targDir = _root.polarAngle(pos, targ.pos);
moveTime = intelligence;
} else {
charges = intelligence;
moveStage = 1;
gotoAndStop(2);
};
};
};
} else {
if (moveStage == 4){
targDir = _root.polarAngle(pos, targ.pos);
targDrive = 0;
if (currentFrame != 5){
gotoAndStop(5);
} else {
if (this.ani5 != null){
if (this.ani5.currentFrame == 15){
if (moveTime > 0){
this.ani5.gotoAndStop(4);
moveTime--;
};
} else {
if (this.ani5.currentFrame == 12){
hold.effects.addFlyingBolt(hold.globalToLocal(this.ani5.localToGlobal(new Point(this.ani5.aimBox.x, this.ani5.aimBox.y))), targ.pos, this, 12);
} else {
if (this.ani5.currentFrame > 18){
moveStage = 2;
gotoAndStop(2);
};
};
};
};
};
} else {
if (moveStage == 5){
targDrive = 0;
if (currentFrame != 6){
gotoAndStop(6);
} else {
if (this.ani6 != null){
if (this.ani6.currentFrame > 18){
if ((((((moveTime > 0)) && ((_root.polarRadius(pos, targ.pos) < 60)))) && ((abs(_root.getAngle(_root.polarAngle(pos, targ.pos), curDir)) < 0.5)))){
this.ani6.gotoAndStop(1);
moveTime--;
} else {
moveStage = 1;
gotoAndStop(2);
};
};
if (this.ani6.smashbox != null){
attackWith(this.ani6.smashbox, 26, 5, targ);
};
};
};
} else {
targDir = _root.polarDistance(pos, targ.pos).y;
targDrive = 5;
};
};
};
};
};
}
public function updateAnimation():void{
rotation = ((curDir * r_d) + 180);
if (currentFrame == 1){
if (this.ani1 != null){
if (this.ani1.currentFrame < this.ani1.totalFrames){
this.ani1.nextFrame();
} else {
gotoAndStop(3);
moveStage = 1;
};
};
} else {
if (currentFrame == 3){
if (this.ani3 != null){
this.ani3.nextFrame();
};
} else {
if (currentFrame == 5){
if (this.ani5 != null){
this.ani5.nextFrame();
};
} else {
if (currentFrame == 6){
if (this.ani6 != null){
this.ani6.nextFrame();
};
} else {
if (currentFrame == 7){
if (this.ani7 != null){
this.ani7.nextFrame();
};
} else {
if (currentFrame == 8){
if (this.ani8 != null){
if (this.ani8.currentFrame < 12){
this.ani8.nextFrame();
} else {
if (this.ani8.currentFrame == 12){
dispatchEvent(new Event("finished"));
this.ani8.nextFrame();
};
};
};
};
};
};
};
};
};
tail.nextFrame();
}
public function setVals(_arg1:MovieClip, _arg2):void{
var vt = _arg1;
var vta = _arg2;
tail = vt;
targ = vta;
addEventListener("hurt", onHit);
addEventListener("killed", onKilled);
gotoAndStop(1);
moveStage = 0;
mass = 6;
maxHealth = 160;
health = maxHealth;
bounds = [[0, 35, 0], [35, 0, (PI / 2)], [0, -35, PI], [-35, 0, (-(PI) / 2)]];
specKill = function ():void{
moveStage = 0;
gotoAndStop(7);
};
}
public function onHit(_arg1:Event):void{
if (mrandom() < 0.2){
if (mrandom() < 0.5){
_root.soundHold.addSound("crocodile_hit1");
} else {
_root.soundHold.addSound("crocodile_hit2");
};
};
_root.healthbox.setEnemyHealth(health, maxHealth, 1);
}
public function onKilled(_arg1:Event):void{
_root.soundHold.addSound("crocodile_die");
_root.healthbox.setEnemyHealth(health, maxHealth, 1);
if (currentFrame != 7){
targDrive = 0;
moveStage = 0;
gotoAndStop(8);
};
removeEventListener("hurt", onHit);
removeEventListener("killed", onKilled);
}
}
}//package
Section 123
//DataFrame (DataFrame)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.media.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class DataFrame extends DataHandler {
public function DataFrame(){
addFrameScript(0, frame1, 2, frame3, 4, frame5, 159, frame160);
}
function frame160(){
gotoAndStop(1);
}
function frame3(){
achievement.gotoAndStop(achieveFrame);
}
function frame1(){
stop();
}
function frame5(){
MovieClip(parent).soundHold.addSound("achieved");
}
}
}//package
Section 124
//DataHandler (DataHandler)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class DataHandler extends MovieClip {
private var sumTot:int;// = 0
private var queue:Array;
public var achievement:MovieClip;
public var so:Object;
private var i:int;
public var achieveFrame:Number;// = 1
public function DataHandler(){
queue = new Array();
achieveFrame = 1;
sumTot = 0;
super();
stop();
so = SharedObject.getLocal("eddy_gDire_34223543");
if (!so.data.isset){
resetData();
};
addEventListener(Event.ENTER_FRAME, upd, false, 0, true);
}
public function upd(_arg1:Event):void{
if (currentFrame == 1){
if (queue.length > 0){
achieveFrame = queue[0];
queue.splice(0, 1);
};
};
}
public function startGame():void{
}
public function totalAchievements():uint{
var _local1:uint;
_local1 = 0;
i = 0;
while (i < so.data.achievements.length) {
if (so.data.achievements[i]){
_local1++;
};
i++;
};
return (_local1);
}
public function resetData():void{
so.data.isset = true;
so.data.achievements = new Array(false, false, false, false, false, false);
so.flush();
}
public function addAchievement(_arg1:uint):void{
if (so.data.achievements[_arg1] != true){
queue.push([(_arg1 + 1)]);
so.data.achievements[_arg1] = true;
so.flush();
};
}
public function checkData():void{
}
}
}//package
Section 125
//EffectsHandler (EffectsHandler)
package {
import flash.display.*;
import flash.geom.*;
public class EffectsHandler extends MovieClip {
private const sin:Function;
private const d_r:Number = 0.0174532925199433;
private const mrandom:Function;
private const cos:Function;
private const r_d:Number = 57.2957795130823;
private const PI:Number = 3.14159265358979;
private var ides:Array;
private var targs:Array;
private var _root:MovieClip;
private var targCheck:Sprite;
private var hold:MovieClip;
public function EffectsHandler(){
sin = Math.sin;
cos = Math.cos;
mrandom = Math.random;
super();
}
public function clearTargCheck():void{
var _local1:uint;
hold.removeChild(targCheck);
targCheck = null;
}
public function addBullet(_arg1:Point, _arg2:Number, _arg3:Number, _arg4:MovieClip, _arg5:Number=200, _arg6:Number=0xFFFFFF, _arg7=2, _arg8=2, _arg9:Number=2):void{
var rep:MovieClip;
var vp = _arg1;
var vTang = _arg2;
var vdmg = _arg3;
var vsource = _arg4;
var vtSpd = _arg5;
var vc = _arg6;
var vti = _arg7;
var vth = _arg8;
var vkb = _arg9;
ides.push(new MovieClip());
rep = ides[(ides.length - 1)];
rep.x = vp.x;
rep.y = vp.y;
rep.spd = vtSpd;
rep.dx = sin(vTang);
rep.dy = -(cos(vTang));
rep.damage = vdmg;
rep.source = vsource;
rep.col = vc;
rep.thick = vth;
rep.tim = vti;
rep.left = (1000 / vtSpd);
rep.knockBack = vkb;
rep.upd = function ():Boolean{
var _local1:uint;
var _local2:uint;
var _local3:Point;
var _local4:Point;
var _local5:Boolean;
_local3 = new Point(rep.x, rep.y);
_local5 = false;
_local1 = 0;
while (_local1 < rep.spd) {
rep.x = (rep.x + (rep.dx * 5));
rep.y = (rep.y + (rep.dy * 5));
_local4 = _root.globalToLocal(hold.localToGlobal(new Point(rep.x, rep.y)));
if (targCheck.hitTestPoint(_local4.x, _local4.y, true)){
_local2 = 0;
while (_local2 < targs.length) {
if (targs[_local2] != rep.source){
if ((((targs[_local2].health > 0)) && (targs[_local2].hitTestPoint(_local4.x, _local4.y, true)))){
targs[_local2].bash(rep.damage);
targs[_local2].addKnockBack((rep.dx * rep.knockBack), (rep.dy * rep.knockBack));
_local5 = true;
};
};
_local2++;
};
} else {
if (hold.terrain.hitTestPoint(_local4.x, _local4.y, true)){
_local5 = true;
break;
};
};
if (_local5){
break;
};
_local1 = (_local1 + 5);
};
addLine(_local3, new Point(rep.x, rep.y), rep.col, rep.tim, rep.thick);
if (rep.left > 0){
rep.left--;
} else {
removeChild(rep);
return (true);
};
if (_local5){
removeChild(rep);
return (true);
};
return (false);
};
addChild(rep);
}
public function upd(_arg1:Array):void{
var _local2:uint;
targs = _arg1;
setTargCheck(targs);
_local2 = 0;
while (_local2 < ides.length) {
if (ides[_local2].upd()){
ides.splice(_local2, 1);
_local2--;
};
_local2++;
};
clearTargCheck();
}
public function addLine(_arg1:Point, _arg2:Point, _arg3:Number=0xFFFFFF, _arg4:Number=2, _arg5:Number=1.2){
var rep:MovieClip;
var vp1 = _arg1;
var vp2 = _arg2;
var vc = _arg3;
var vt = _arg4;
var vth = _arg5;
ides.push(new MovieClip());
rep = ides[(ides.length - 1)];
rep.graphics.lineStyle(vth, vc);
rep.graphics.moveTo(vp1.x, vp1.y);
rep.graphics.lineTo(vp2.x, vp2.y);
rep.fadeSpeed = (1 / vt);
rep.upd = function ():Boolean{
if (rep.alpha > 0){
rep.alpha = (rep.alpha - rep.fadeSpeed);
} else {
removeChild(rep);
return (true);
};
return (false);
};
addChild(rep);
}
public function addFlyingBolt(_arg1:Point, _arg2:Point, _arg3:MovieClip, _arg4:Number=28){
var rep:MovieClip;
var ang:Number;
var vp = _arg1;
var vt = _arg2;
var vs = _arg3;
var vdmg = _arg4;
ides.push(new BoltFlying());
rep = ides[(ides.length - 1)];
ang = _root.polarAngle(vp, vt);
rep.x = vp.x;
rep.y = vp.y;
rep.px = vp.x;
rep.py = vp.y;
rep.source = vs;
rep.rotation = ((2 * PI) * mrandom());
rep.damage = vdmg;
rep.rSpd = (8 - mrandom());
rep.dX = sin(ang);
rep.dY = -(cos(ang));
rep.parSpd = (30 - (mrandom() * 10));
rep.t = 0;
rep.omega = ((2 * PI) * (rep.rSpd / Point.distance(new Point(), vt)));
rep.left = 100;
_root.soundHold.addSound("blast_fire");
rep.upd = function ():Boolean{
var _local1:uint;
var _local2:uint;
var _local3:Point;
var _local4:Point;
var _local5:Boolean;
_local3 = new Point(rep.x, rep.y);
_local5 = false;
rep.rotation = (rep.rotation + rep.rSpd);
_local4 = _root.globalToLocal(hold.localToGlobal(new Point(rep.x, rep.y)));
if (rep.hitbox != null){
rep.px = (rep.px + (rep.dX * rep.rSpd));
rep.py = (rep.py + (rep.dY * rep.rSpd));
rep.x = (rep.px + ((rep.parSpd * rep.dY) * sin((rep.omega * rep.t))));
rep.y = (rep.py + ((rep.parSpd * rep.dX) * sin((rep.omega * rep.t))));
rep.t++;
if (targCheck.hitTestPoint(_local4.x, _local4.y, true)){
_local2 = 0;
while (_local2 < targs.length) {
if (targs[_local2] != rep.source){
if ((((targs[_local2].health > 0)) && (targs[_local2].hitTestPoint(_local4.x, _local4.y, true)))){
targs[_local2].bash(rep.damage);
_root.soundHold.addSound("blast_blow");
rep.gotoAndStop(18);
};
};
_local2++;
};
} else {
if (hold.terrain.hitTestPoint(_local4.x, _local4.y, true)){
_root.soundHold.addSound("blast_blow");
rep.gotoAndStop(18);
};
};
};
if (rep.currentFrame < 60){
rep.nextFrame();
} else {
removeChild(rep);
return (true);
};
return (false);
};
addChild(rep);
}
public function addSpitPuddle(_arg1:Point, _arg2:MovieClip, _arg3:uint=140, _arg4:Number=18){
var rep:MovieClip;
var vp = _arg1;
var vtar = _arg2;
var vt = _arg3;
var vdmg = _arg4;
ides.push(new SpitPuddle());
rep = ides[(ides.length - 1)];
rep.x = vp.x;
rep.y = vp.y;
rep.targ = vtar;
rep.rotation = (360 * mrandom());
rep.damage = vdmg;
rep.tim = vt;
_root.soundHold.addSound("spit_splat");
rep.upd = function ():Boolean{
if (rep.currentFrame < 18){
rep.nextFrame();
} else {
if (rep.currentFrame < 20){
if (rep.hitbox1 != null){
if (rep.targ.hit.hitTestObject(rep.hitbox1)){
rep.targ.bash(rep.damage);
rep.gotoAndStop(20);
};
} else {
if (rep.hitbox2 != null){
if (rep.targ.hit.hitTestObject(rep.hitbox2)){
rep.targ.bash(rep.damage);
rep.gotoAndStop(20);
};
};
};
if (rep.tim > 0){
rep.tim--;
} else {
rep.gotoAndStop(20);
};
} else {
if (rep.currentFrame < rep.totalFrames){
rep.nextFrame();
} else {
removeChild(rep);
return (true);
};
};
};
return (false);
};
addChild(rep);
}
public function addSpitBall(_arg1:Point, _arg2:Point, _arg3:MovieClip, _arg4:Number=80, _arg5:Number=28){
var rep:MovieClip;
var ang:Number;
var dist:Number;
var vp = _arg1;
var vt = _arg2;
var vtarg = _arg3;
var vairt = _arg4;
var vdmg = _arg5;
ides.push(new SpitBall());
rep = ides[(ides.length - 1)];
ang = _root.polarAngle(vp, vt);
dist = _root.polarRadius(vp, vt);
rep.x = vp.x;
rep.y = vp.y;
rep.tim = 0;
rep.timMax = vairt;
rep.rotation = (ang * r_d);
rep.targ = vtarg;
rep.aheight = (0.8 + (dist / 500));
rep.sX = ((dist / rep.timMax) * sin(ang));
rep.sY = ((dist / rep.timMax) * -(cos(ang)));
rep.damage = vdmg;
_root.soundHold.addSound("spit_fire");
rep.upd = function ():Boolean{
if (rep.currentFrame < 19){
if (rep.currentFrame < 17){
rep.nextFrame();
} else {
rep.gotoAndStop(1);
};
if (rep.tim < rep.timMax){
rep.tim++;
rep.x = (rep.x + rep.sX);
rep.y = (rep.y + rep.sY);
rep.scaleX = (rep.scaleY = (1 + (rep.aheight * sin(((PI * rep.tim) / rep.timMax)))));
if (rep.scaleX < 1.3){
if (rep.hitTestObject(rep.targ.hit)){
rep.targ.bash(rep.damage);
rep.gotoAndStop(19);
};
};
} else {
rep.gotoAndStop(19);
if (hold.effectsLow != null){
hold.effectsLow.addSpitPuddle(new Point(rep.x, rep.y), rep.targ, (120 + uint((mrandom() * 40))), rep.damage);
};
};
} else {
if (rep.currentFrame < rep.totalFrames){
rep.nextFrame();
} else {
removeChild(rep);
return (true);
};
};
return (false);
};
addChild(rep);
}
public function setTargCheck(_arg1:Array):void{
var _local2:uint;
var _local3:Rectangle;
targCheck = new Sprite();
_local2 = 0;
while (_local2 < _arg1.length) {
if (_arg1[_local2].health > 0){
_local3 = _arg1[_local2].getRect(hold);
targCheck.graphics.beginFill(0, 1);
targCheck.graphics.drawRect(_local3.x, _local3.y, _local3.width, _local3.height);
};
_local2++;
};
hold.addChild(targCheck);
}
public function fadeAway(_arg1:MovieClip):void{
var i:uint;
var j:uint;
var rep:MovieClip;
var spit:Sprite;
var bnds:Rectangle;
var bmd:BitmapData;
var bmp:Bitmap;
var pixels:Array;
var vo = _arg1;
ides.push(new MovieClip());
rep = ides[(ides.length - 1)];
spit = new Sprite();
spit.addChild(vo);
bnds = vo.getBounds(spit);
bmd = new BitmapData(bnds.width, bnds.height, true, 0);
bmp = new Bitmap(bmd);
bmp.x = bnds.x;
bmp.y = bnds.y;
vo.x = (vo.x - bnds.x);
vo.y = (vo.y - bnds.y);
bmd.lock();
bmd.draw(spit);
bmd.unlock();
rep.disSpd = uint(((bnds.width * bnds.height) / 150));
pixels = new Array();
i = 0;
while (i < bnds.width) {
j = 0;
while (j < bnds.height) {
if (((bmd.getPixel32(i, j) >> 24) & 0xFF) > 0){
pixels.push({px:i, py:j, val:mrandom()});
};
j = (j + 1);
};
i = (i + 1);
};
pixels.sortOn("val", Array.NUMERIC);
rep.tim = 100;
rep.bmd = bmd;
rep.pixels = pixels;
rep.pixels2 = new Array();
spit.removeChild(vo);
rep.addChild(bmp);
rep.upd = function ():Boolean{
var _local1:uint;
rep.bmd.lock();
while (rep.pixels2.length > 0) {
rep.bmd.setPixel32(rep.pixels2[0].px, rep.pixels2[0].py, 0);
rep.pixels2.shift();
};
_local1 = 0;
while (_local1 < rep.disSpd) {
if (rep.pixels.length > 0){
rep.bmd.setPixel32(rep.pixels[0].px, rep.pixels[0].py, 3431530308);
rep.pixels2.push(rep.pixels[0]);
rep.pixels.shift();
} else {
rep.tim = 0;
break;
};
_local1++;
};
bmd.unlock();
if (rep.tim > 0){
rep.tim--;
} else {
removeChild(rep);
return (true);
};
return (false);
};
addChild(rep);
}
public function setVars(_arg1:MovieClip, _arg2:MovieClip){
_root = _arg1;
hold = _arg2;
ides = new Array();
}
}
}//package
Section 126
//EffectsHold (EffectsHold)
package {
public dynamic class EffectsHold extends EffectsHandler {
}
}//package
Section 127
//EndMenuButton (EndMenuButton)
package {
public dynamic class EndMenuButton extends MyButton {
}
}//package
Section 128
//EnemiesHold (EnemiesHold)
package {
public dynamic class EnemiesHold extends EnemyHandler {
}
}//package
Section 129
//EnemyHandler (EnemyHandler)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class EnemyHandler extends MovieClip {
private const mrandom:Function;
private var raises:Array;
private var honeyMoons:Array;
private var terrain:MovieClip;
private var targs:Array;
private var targ:MovieClip;
private var aimSpots:Array;
public var alives:Array;
private var area:MovieClip;
private var _root:MovieClip;
private var hold:MovieClip;
private var obstacles:MovieClip;
private var paths:Array;
public function EnemyHandler(){
mrandom = Math.random;
honeyMoons = new Array();
super();
}
public function upd(_arg1:Array):void{
var _local2:uint;
targs = _arg1.slice();
while (honeyMoons.length > 0) {
honeyMoons[0].setUp();
honeyMoons.shift();
_root.enemiesSpawned++;
};
checkBounds();
_local2 = 0;
while (_local2 < _arg1.length) {
_arg1[_local2].updateInstance();
_local2++;
};
_local2 = 0;
while (_local2 < _arg1.length) {
_arg1[_local2].updateObject();
_local2++;
};
_local2 = 0;
while (_local2 < _arg1.length) {
_arg1[_local2].updateAnimation();
_local2++;
};
}
public function addCrawler(_arg1:Number, _arg2:Number, _arg3:Number=20, _arg4:Number=1000):void{
var rep:MyCrawlerEnemy;
var vx = _arg1;
var vy = _arg2;
var vr = _arg3;
var vrot = _arg4;
honeyMoons.push(new MyCrawlerEnemy());
rep = honeyMoons[(honeyMoons.length - 1)];
rep.x = ((vx - vr) + ((mrandom() * vr) * 2));
rep.y = ((vy - vr) + ((mrandom() * vr) * 2));
rep.inp = new Point(vx, vy);
if (vrot > 360){
rep.rotation = (mrandom() * 360);
} else {
rep.rotation = vrot;
};
rep.gotoAndStop(1);
rep.setUp = function ():void{
rep.setVars(_root, hold, terrain, obstacles, rep.hitbox, paths, raises, aimSpots);
rep.setVals(targ);
alives.push(rep);
};
rep.addEventListener("finished", onEnemyKilled);
addChild(rep);
}
public function setVars(_arg1:MovieClip, _arg2:MovieClip, _arg3:MovieClip, _arg4:MovieClip, _arg5:MovieClip, _arg6:MovieClip, _arg7:Array, _arg8:Array, _arg9:Array):void{
_root = _arg1;
hold = _arg2;
terrain = _arg3;
targ = _arg4;
area = _arg6;
obstacles = _arg5;
paths = _arg7;
raises = _arg8;
aimSpots = _arg9;
}
public function addCrocodile(_arg1:Number, _arg2:Number, _arg3:Number=20, _arg4:Number=1000):void{
var rep:BigCrocEnemy;
var vx = _arg1;
var vy = _arg2;
var vr = _arg3;
var vrot = _arg4;
honeyMoons.push(new BigCrocEnemy());
rep = honeyMoons[(honeyMoons.length - 1)];
rep.x = ((vx - vr) + ((mrandom() * vr) * 2));
rep.y = ((vy - vr) + ((mrandom() * vr) * 2));
rep.inp = new Point(vx, vy);
if (vrot > 360){
rep.rotation = (mrandom() * 360);
} else {
rep.rotation = vrot;
};
rep.gotoAndStop(1);
rep.setUp = function ():void{
rep.setVars(_root, hold, terrain, obstacles, rep.hitbox, paths, raises, aimSpots);
rep.setVals(rep.tail, targ);
alives.push(rep);
};
rep.addEventListener("finished", onEnemyKilled);
addChild(rep);
}
public function onEnemyKilled(_arg1:Event):void{
var _local2:MovieClip;
var _local3:uint;
_local2 = MovieClip((_arg1.target as MovieClip));
_root.enemiesKilled++;
_local3 = 0;
while (_local3 < alives.length) {
if (alives[_local3] == _local2){
alives.splice(_local3, 1);
break;
};
_local3++;
};
_arg1.target.parent.removeChild(_local2);
hold.effectsLow.fadeAway(_local2);
}
public function getUpdatable():Array{
var _local1:uint;
var _local2:uint;
var _local3:Array;
_local2 = 0;
_local3 = new Array();
_local1 = 0;
while (_local1 < alives.length) {
if (alives[_local1].hitTestObject(_root.gameArea)){
_local3.push(alives[_local1]);
} else {
if (_local2 < 6){
_local3.push(alives[_local1]);
_local2++;
};
};
_local1++;
};
return (_local3);
}
public function checkBounds():void{
var _local1:uint;
_local1 = 0;
while (_local1 < alives.length) {
if (((((!((alives[_local1] == targ))) && (!(area.hitTestPoint(((alives[_local1].x * hold.scaleX) + hold.x), ((alives[_local1].y * hold.scaleY) + hold.y), false))))) && (alives[_local1]))){
alives[_local1].x = alives[_local1].inp.x;
alives[_local1].y = alives[_local1].inp.y;
alives[_local1].gotoAndStop(1);
alives[_local1].moveStage = 0;
};
_local1++;
};
}
public function addWasp(_arg1:Number, _arg2:Number, _arg3:Number=20, _arg4:Number=1000):void{
var rep:WaspEnemy;
var vx = _arg1;
var vy = _arg2;
var vr = _arg3;
var vrot = _arg4;
honeyMoons.push(new WaspEnemy());
rep = honeyMoons[(honeyMoons.length - 1)];
rep.x = ((vx - vr) + ((mrandom() * vr) * 2));
rep.y = ((vy - vr) + ((mrandom() * vr) * 2));
rep.inp = new Point(vx, vy);
if (vrot > 360){
rep.rotation = (mrandom() * 360);
} else {
rep.rotation = vrot;
};
rep.gotoAndStop(1);
rep.setUp = function ():void{
rep.setVars(_root, hold, terrain, obstacles, rep.hitbox, paths, raises, aimSpots);
rep.setVals(targ);
alives.push(rep);
};
rep.addEventListener("finished", onEnemyKilled);
addChild(rep);
}
public function addSpider(_arg1:Number, _arg2:Number, _arg3:Number=20, _arg4:Number=1000):void{
var rep:MySpiderEnemy;
var vx = _arg1;
var vy = _arg2;
var vr = _arg3;
var vrot = _arg4;
honeyMoons.push(new MySpiderEnemy());
rep = honeyMoons[(honeyMoons.length - 1)];
rep.x = ((vx - vr) + ((mrandom() * vr) * 2));
rep.y = ((vy - vr) + ((mrandom() * vr) * 2));
rep.inp = new Point(vx, vy);
if (vrot > 360){
rep.rotation = (mrandom() * 360);
} else {
rep.rotation = vrot;
};
rep.gotoAndStop(1);
rep.setUp = function ():void{
rep.setVars(_root, hold, terrain, obstacles, rep.hitbox, paths, raises, aimSpots);
rep.setVals(targ);
alives.push(rep);
};
rep.addEventListener("finished", onEnemyKilled);
addChild(rep);
}
}
}//package
Section 130
//FlyEnemy (FlyEnemy)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public dynamic class FlyEnemy extends LivingObject {
private var moveTime:uint;// = 0
private var onPath:Boolean;// = false
private var pathTarg:MovieClip;
public var hitbox:MovieClip;
private var targ:MovieClip;
private var walkPath:Array;
public var moveStage:uint;// = 0
public var ani1:MovieClip;
public var ani2:MovieClip;
public var ani3:MovieClip;
public var ani4:MovieClip;
public function FlyEnemy(){
moveStage = 0;
moveTime = 0;
onPath = false;
super();
}
public function updateInstance():void{
if (moveStage == 0){
targDrive = 0;
} else {
if (moveStage == 1){
if (currentFrame != 2){
gotoAndStop(2);
};
if (moveTime > 0){
if (_root.polarRadius(pos, targ.pos) > 40){
targDrive = 4;
targDir = _root.polarAngle(pos, targ.pos);
} else {
if (abs(_root.getAngle(_root.polarAngle(pos, targ.pos), curDir)) > 0.6){
targDrive = 0;
targDir = _root.polarAngle(pos, targ.pos);
} else {
moveStage = 2;
gotoAndStop(3);
};
};
moveTime--;
} else {
moveStage = 3;
gotoAndStop(2);
};
} else {
if (moveStage == 2){
targDrive = 0;
if (currentFrame != 3){
gotoAndStop(3);
} else {
if (this.ani3 != null){
if (this.ani3.dmgBox != null){
if (mrandom() < 0.5){
_root.soundHold.addSound("wasp_attack");
};
attackWith(this.ani3.dmgBox, 16, 2, targ);
};
};
};
} else {
if (moveStage == 3){
if (!onPath){
walkPath = findPath(targ.pos);
moveTime = 400;
onPath = true;
} else {
if (walkPath.length > 0){
if (_root.polarRadius(pos, targ.pos) < 80){
moveStage = 1;
moveTime = 90;
};
targDir = _root.polarAngle(pos, new Point(walkPath[0].x, walkPath[0].y));
targDrive = 5;
if (hit.hitTestObject(walkPath[0])){
walkPath.shift();
};
if (moveTime > 0){
moveTime--;
} else {
walkPath = new Array();
};
} else {
if ((((moveStage == 1)) && (!(hitTestObject(pathTarg))))){
targDir = _root.polarAngle(pos, new Point(pathTarg.x, pathTarg.y));
targDrive = 5;
} else {
onPath = false;
moveStage = 1;
moveTime = 160;
};
};
};
};
};
};
};
}
public function updateAnimation():void{
rotation = ((curDir * r_d) + 180);
if (currentFrame == 1){
if (this.ani1 != null){
if (this.ani1.currentFrame < this.ani1.totalFrames){
this.ani1.nextFrame();
} else {
gotoAndStop(2);
moveStage = 1;
moveTime = 800;
};
};
} else {
if (currentFrame == 2){
if (this.ani2 != null){
this.ani2.nextFrame();
};
} else {
if (currentFrame == 3){
if (this.ani3 != null){
if (this.ani3.currentFrame < this.ani3.totalFrames){
this.ani3.nextFrame();
} else {
this.ani3.gotoAndStop(1);
gotoAndStop(2);
moveStage = 1;
moveTime = 500;
};
};
} else {
if (currentFrame == 4){
if (this.ani4 != null){
if (this.ani4.currentFrame < 15){
this.ani4.nextFrame();
} else {
if (this.ani4.currentFrame == 15){
dispatchEvent(new Event("finished"));
};
};
};
};
};
};
};
}
public function setVals(_arg1:MovieClip):void{
targ = _arg1;
addEventListener("hurt", onHit);
addEventListener("killed", onKilled);
moveStage = 0;
gotoAndStop(1);
angSpeed = 0.1;
flying = true;
mass = 1.2;
maxHealth = 8;
health = maxHealth;
bounds = [[0, 15, 0], [15, 0, (PI / 2)], [0, -15, PI], [-15, 0, (-(PI) / 2)]];
specKill = null;
}
public function onHit(_arg1:Event):void{
if (mrandom() < 0.2){
if (mrandom() < 0.5){
_root.soundHold.addSound("wasp_hit1");
} else {
_root.soundHold.addSound("wasp_hit2");
};
};
_root.healthbox.setEnemyHealth(health, maxHealth, 2);
}
public function onKilled(_arg1:Event):void{
_root.soundHold.addSound("wasp_die");
_root.healthbox.setEnemyHealth(health, maxHealth, 2);
targDrive = 0;
moveStage = 0;
gotoAndStop(6);
removeEventListener("hurt", onHit);
removeEventListener("killed", onKilled);
}
}
}//package
Section 131
//GargantuaEnemy (GargantuaEnemy)
package {
import flash.display.*;
import flash.events.*;
public dynamic class GargantuaEnemy extends LivingObject {
public var my_arm2:MovieClip;
public var my_arm1:MovieClip;
public var acting:Boolean;// = false
private var moveTime:uint;// = 0
private var neck:MovieClip;
public var my_body:MovieClip;
private var ty:Number;
public var my_head:MovieClip;
private var tx:Number;
public var my_neck:MovieClip;
private var arm1:MovieClip;
private var arm2:MovieClip;
public var hitbox:MovieClip;
private var targ:MovieClip;
private var body:MovieClip;
public var moveStage:uint;// = 0
public var ani1:MovieClip;
public var ani3:MovieClip;
private var head:MovieClip;
public function GargantuaEnemy(){
moveStage = 0;
moveTime = 0;
acting = false;
super();
}
public function updateInstance():void{
var _local1:Number;
if (!acting){
} else {
if (moveStage == 0){
targDrive = 0;
} else {
if (moveStage < 5){
_local1 = (_root.polarAngle(pos, targ.pos) * r_d);
if (moveStage == 1){
_local1 = (_local1 - 70);
} else {
if (moveStage == 2){
_local1 = (_local1 + 70);
} else {
if (moveStage == 3){
_local1 = (_local1 - 15);
} else {
if (moveStage == 4){
_local1 = (_local1 + 15);
};
};
};
};
targDir = (_local1 * d_r);
if (abs(_root.getAngle(curDir, targDir)) < (PI / 12)){
if (moveStage == 1){
arm1.gotoAndStop(2);
} else {
if (moveStage == 2){
arm2.gotoAndStop(2);
} else {
if (moveStage == 3){
arm1.gotoAndStop(3);
} else {
arm2.gotoAndStop(3);
};
};
};
moveStage = 5;
} else {
if ((((moveStage > 2)) && ((_root.polarRadius(pos, targ.pos) > 440)))){
moveStage = chooseAim();
} else {
if (moveTime > 0){
moveTime--;
} else {
moveStage = chooseAim();
};
};
};
} else {
if (arm1.currentFrame == 2){
if (arm1.ani2 != null){
if (arm1.ani2.dmgbox1 != null){
attackWith(arm1.ani2.dmgbox1, 22, 2, targ);
attackWith(arm1.ani2.dmgbox2, 22, 2, targ);
attackWith(arm1.ani2.dmgbox3, 22, 2, targ);
attackWith(arm1.ani2.dmgbox4, 22, 2, targ);
};
};
} else {
if (arm2.currentFrame == 2){
if (arm2.ani2 != null){
if (arm2.ani2.dmgbox1 != null){
attackWith(arm2.ani2.dmgbox1, 22, 2, targ);
attackWith(arm2.ani2.dmgbox2, 22, 2, targ);
attackWith(arm2.ani2.dmgbox3, 22, 2, targ);
attackWith(arm2.ani2.dmgbox4, 22, 2, targ);
};
};
} else {
if (arm1.currentFrame == 3){
if (arm2.ani3 != null){
if (arm1.ani3.dmgbox1 != null){
attackWith(arm1.ani3.dmgbox1, 16, 6, targ);
attackWith(arm1.ani3.dmgbox2, 16, 6, targ);
attackWith(arm1.ani3.dmgbox3, 16, 6, targ);
attackWith(arm1.ani3.dmgbox4, 16, 6, targ);
};
};
} else {
if (arm2.currentFrame == 3){
if (arm2.ani3 != null){
if (arm2.ani3.dmgbox1 != null){
attackWith(arm2.ani3.dmgbox1, 16, 6, targ);
attackWith(arm2.ani3.dmgbox2, 16, 6, targ);
attackWith(arm2.ani3.dmgbox3, 16, 6, targ);
attackWith(arm2.ani3.dmgbox4, 16, 6, targ);
};
};
};
};
};
};
};
};
};
x = (x + ((tx - x) / 10));
y = (y + ((ty - y) / 10));
}
public function updateAnimation():void{
var _local1:Number;
rotation = ((curDir * r_d) + 180);
head.rotation = (((_root.polarAngle(pos, targ.pos) * r_d) + 180) - rotation);
_local1 = _root.interRotation((head.rotation * d_r), 0, 0.3, true);
neck.rotation = (_root.interRotation((neck.rotation * d_r), _local1, 0.2, true) * r_d);
if (!acting){
} else {
if (currentFrame == 1){
if (this.ani1 != null){
if (this.ani1.currentFrame < this.ani1.totalFrames){
if (this.ani1.currentFrame == 58){
head.visible = (neck.visible = (body.visible = (arm1.visible = (arm2.visible = true))));
};
this.ani1.nextFrame();
} else {
moveStage = chooseAim();
gotoAndStop(2);
};
};
} else {
if (moveStage == 5){
if (arm1.currentFrame > 1){
if (arm1.currentFrame == 2){
if (arm1.ani2 != null){
if (arm1.ani2.currentFrame < arm1.ani2.totalFrames){
arm1.ani2.nextFrame();
} else {
arm1.ani2.gotoAndStop(1);
arm1.gotoAndStop(1);
moveStage = chooseAim();
};
};
} else {
if (arm1.currentFrame == 3){
if (arm1.ani3 != null){
if (arm1.ani3.currentFrame < arm1.ani3.totalFrames){
arm1.ani3.nextFrame();
} else {
arm1.ani3.gotoAndStop(1);
arm1.gotoAndStop(1);
moveStage = chooseAim();
};
};
};
};
} else {
if (arm2.currentFrame > 1){
if (arm2.currentFrame == 2){
if (arm2.ani2 != null){
if (arm2.ani2.currentFrame < arm2.ani2.totalFrames){
arm2.ani2.nextFrame();
} else {
arm2.ani2.gotoAndStop(1);
arm2.gotoAndStop(1);
moveStage = chooseAim();
};
};
} else {
if (arm2.currentFrame == 3){
if (arm2.ani3 != null){
if (arm2.ani3.currentFrame < arm2.ani3.totalFrames){
arm2.ani3.nextFrame();
} else {
arm2.ani3.gotoAndStop(1);
arm2.gotoAndStop(1);
moveStage = chooseAim();
};
};
};
};
};
};
} else {
if (currentFrame == 3){
if (this.ani3 != null){
if (this.ani3.currentFrame < this.ani3.totalFrames){
this.ani3.nextFrame();
} else {
dispatchEvent(new Event("finished"));
};
};
};
};
};
};
}
public function setVals(_arg1:MovieClip, _arg2:MovieClip, _arg3:MovieClip, _arg4:MovieClip, _arg5:MovieClip, _arg6:MovieClip):void{
targ = _arg1;
addEventListener("hurt", onHit);
addEventListener("killed", onKilled);
moveStage = 0;
gotoAndStop(1);
acting = false;
curDir = PI;
curDrive = 0;
targDir = PI;
targDrive = 0;
head = _arg2;
neck = _arg3;
body = _arg4;
arm1 = _arg5;
arm2 = _arg6;
tx = x;
ty = y;
head.visible = (neck.visible = (body.visible = (arm1.visible = (arm2.visible = false))));
angSpeed = 0.04;
angSnap = false;
flying = true;
mass = 4;
maxHealth = 2400;
health = maxHealth;
bounds = [[0, 15, 0], [15, 0, (PI / 2)], [0, -15, PI], [-15, 0, (-(PI) / 2)]];
specKill = null;
}
public function onHit(_arg1:Event):void{
if (mrandom() < 0.1){
if (mrandom() < 0.5){
_root.soundHold.addSound("gargantua_hit1");
} else {
_root.soundHold.addSound("gargantua_hit2");
};
};
_root.healthbox.setEnemyHealth(health, maxHealth, 5);
}
public function onKilled(_arg1:Event):void{
_root.healthbox.setEnemyHealth(health, maxHealth, 5);
targDrive = 0;
targDir = 0;
moveStage = 0;
gotoAndStop(3);
head.visible = (neck.visible = (body.visible = (arm1.visible = (arm2.visible = false))));
removeEventListener("hurt", onHit);
removeEventListener("killed", onKilled);
}
public function chooseAim():uint{
var _local1:Number;
_local1 = _root.polarAngle(pos, targ.pos);
moveTime = 80;
if (_root.polarRadius(pos, targ.pos) > 440){
if (_local1 > 0){
return (1);
};
return (2);
//unresolved jump
};
if (abs(_local1) > 60){
if (_local1 > 0){
return (1);
};
return (2);
//unresolved jump
};
if (_local1 > 0){
return (3);
};
return (4);
}
}
}//package
Section 132
//InputHandler (InputHandler)
package {
import flash.display.*;
import flash.events.*;
import com.newgrounds.components.*;
import flash.geom.*;
public class InputHandler extends MovieClip {
private const min:Function;
private const abs:Function;
private const atan2:Function;
private const max:Function;
private const distance:Function;
private const PI:Number = 3.14159265358979;
public var holder1:MovieClip;
public var weapon:uint;// = 1
public var playTime:uint;// = 0
public var enemiesKilled:uint;// = 0
public var enemiesSpawned:uint;// = 0
private var oldEnemiesSpawned:uint;// = 0
public var soundHold:SoundHolderFirstLevel;
private var oldWeaponsList:Array;
public var musicHold:MusicHolderFirstLevel;
public var pauseBtn:MovieClip;
public var __id1_:MedalPopup;
public var weaps:Array;
public var __id2_:APIConnector;
public var mWasp:Boolean;// = true
public var fadeIn:MovieClip;
public var gameData:DataFrame;
public var focus:MovieClip;// = null
private var ri2:Boolean;// = false
private var ri1:Boolean;// = false
private var up1:Boolean;// = false
private var up2:Boolean;// = false
public var isPaused:Boolean;// = false
private var do1:Boolean;// = false
private var do2:Boolean;// = false
public var weaponsList:Array;
private var oldWeapon:uint;// = 0
public var frm:uint;
public var fadeOut:MovieClip;
public var mCrocodile:Boolean;// = true
public var gui:MovieClip;// = null
public var itemShower:MovieClip;
private var oldEnemiesKilled:uint;// = 0
public var stageQual:uint;
public var lastInt:MovieClip;
public var weap:uint;
public var introScene:MovieClip;
private var md:Boolean;// = false
private var oldTime:uint;// = 0
public var mGuy:Boolean;// = true
public var gameArea:MovieClip;
public var mGargantua:Boolean;// = true
public var mSpider:Boolean;// = true
private var le1:Boolean;// = false
private var le2:Boolean;// = false
public var bmd3:BitmapData;
public var bmd2:BitmapData;
public var gameOver:MovieClip;
public var healthbox:MovieClip;
public var bmd1:BitmapData;
public var loadarBit:MovieClip;
public var mCrawler:Boolean;// = true
public function InputHandler():void{
distance = Point.distance;
atan2 = Math.atan2;
abs = Math.abs;
max = Math.max;
min = Math.min;
focus = null;
gui = null;
le1 = false;
le2 = false;
ri1 = false;
ri2 = false;
up1 = false;
up2 = false;
do1 = false;
do2 = false;
md = false;
bmd1 = new BitmapData(550, 450, false, 0);
bmd2 = new BitmapData(550, 450, false, 0);
bmd3 = new BitmapData(550, 450, false, 0);
weapon = 1;
weaponsList = [[true, 0, 0], [false, 250, 500], [false, 20, 80], [false, 50, 250], [false, 10, 20]];
oldWeapon = 0;
oldWeaponsList = new Array(5);
playTime = 0;
enemiesSpawned = 0;
enemiesKilled = 0;
oldTime = 0;
oldEnemiesSpawned = 0;
oldEnemiesKilled = 0;
mGuy = true;
mWasp = true;
mSpider = true;
mCrawler = true;
mCrocodile = true;
mGargantua = true;
isPaused = false;
super();
addFrameScript(0, frame1, 1, frame2, 2, frame3, 4, frame5, 6, frame7, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 17, frame18);
stage.addEventListener(KeyboardEvent.KEY_DOWN, sonKeyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, sonKeyUp);
addEventListener(Event.ENTER_FRAME, onFrame);
addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
__setProp___id1__Scene1_Medals_1();
__setProp___id2__Scene1_Connector_1();
}
public function get left():Boolean{
return (((le1) || (le2)));
}
public function loadWeapons():void{
var _local1:uint;
playTime = oldTime;
enemiesSpawned = oldEnemiesSpawned;
enemiesKilled = oldEnemiesKilled;
weapon = oldWeapon;
_local1 = 0;
while (_local1 < oldWeaponsList.length) {
weaponsList[_local1] = oldWeaponsList[_local1].slice();
_local1++;
};
}
public function addWeapon(_arg1:int):void{
weapon = _arg1;
weaponsList[(_arg1 - 1)][0] = true;
if (Boolean(gui.hbox)){
gui.addWeapon(_arg1);
};
}
public function get right():Boolean{
return (((ri1) || (ri2)));
}
public function setFrame():void{
frm = currentFrame;
saveWeapons();
}
public function framesToTime(_arg1:Number=1):String{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:String;
_local2 = _arg1;
_local5 = "";
_local2 = (_local2 / 30);
_local2 = (_local2 - (_local2 % 0.01));
_local4 = (_local2 % 60);
_local2 = (_local2 - _local4);
_local3 = _local2;
_local3 = (_local3 / 60);
if (_local3 < 1){
_local5 = (_local5 + "00:");
} else {
if (_local3 < 10){
_local5 = (((_local5 + "0") + _local3) + ":");
} else {
_local5 = ((_local5 + _local3) + ":");
};
};
if (_local4 < 10){
_local5 = ((_local5 + "0") + _local4);
} else {
_local5 = (_local5 + _local4);
};
return (_local5.substr(0, 8));
}
public function polarAngle(_arg1:Point, _arg2:Point):Number{
var _local3:Number;
_local3 = atan2((_arg2.x - _arg1.x), (_arg1.y - _arg2.y));
return (_local3);
}
function frame10(){
focus = holder1;
gui = healthbox;
setFrame();
}
function frame14(){
focus = holder1;
gui = healthbox;
setFrame();
}
function frame15(){
focus = holder1;
gui = healthbox;
setFrame();
}
function frame16(){
focus = holder1;
gui = healthbox;
setFrame();
}
function frame12(){
focus = holder1;
gui = healthbox;
setFrame();
}
function frame18(){
if (playTime > ((10 * 60) * 30)){
mWasp = false;
};
if (enemiesKilled < enemiesSpawned){
mCrocodile = false;
};
mGargantua = (gameData.totalAchievements() >= 5);
}
function frame2(){
stop();
}
public function registerLoss():void{
this.musicHold.resetMusic();
gotoAndStop(6);
}
function frame5(){
MyButton.soundHolder = soundHold;
}
function frame7(){
focus = holder1;
gui = healthbox;
}
function frame3(){
gotoAndStop(4);
}
function frame13(){
focus = holder1;
gui = healthbox;
setFrame();
}
function frame1(){
addEventListener("qualityUp", qUp);
addEventListener("qualityDown", qDown);
addEventListener("pauseCheck", pauseOpt);
stageQual = 1;
frm = 9;
weap = 1;
weaps = new Array();
stop();
stageQual = 1;
stage.quality = StageQuality.MEDIUM;
}
function frame9(){
focus = holder1;
gui = healthbox;
playTime = (enemiesSpawned = (enemiesKilled = 0));
weapon = 1;
weaponsList = [[true, 0, 0], [false, 250, 500], [false, 20, 80], [false, 50, 250], [false, 10, 20]];
mGuy = (mWasp = (mSpider = (mCrawler = (mCrocodile = (mGargantua = true)))));
pauseBtn.visible = false;
setFrame();
}
function frame17(){
focus = holder1;
gui = healthbox;
setFrame();
}
public function get up():Boolean{
return (((up1) || (up2)));
}
function frame11(){
focus = holder1;
gui = healthbox;
setFrame();
}
public function interRotation(_arg1:Number, _arg2:Number, _arg3:Number=1, _arg4:Boolean=false):Number{
var _local5:Number;
_local5 = getAngle(_arg1, _arg2);
if (_arg4){
return ((_arg1 + (_local5 * _arg3)));
};
if (_local5 > _arg3){
return ((_arg1 + _arg3));
};
if (_local5 < -(_arg3)){
return ((_arg1 - _arg3));
};
return (_arg2);
}
public function get down():Boolean{
return (((do1) || (do2)));
}
private function cycleWeapon(_arg1:int):void{
if (!isPaused){
do {
weapon = (weapon + _arg1);
if (weapon > 5){
weapon = 1;
} else {
if (weapon < 1){
weapon = 5;
};
};
} while (!(weaponsList[(weapon - 1)][0]));
if (Boolean(gui.hbox)){
gui.changeWeapon(weapon);
};
};
}
public function qDown(_arg1:Event):void{
if (currentFrame > 3){
this.soundHold.addSound("button_click");
};
if (stageQual == 0){
} else {
if (stageQual == 1){
stage.quality = StageQuality.LOW;
stageQual = 0;
} else {
stage.quality = StageQuality.MEDIUM;
stageQual = 1;
};
};
}
private function onFrame(_arg1:Event):void{
if (!isPaused){
if (focus != null){
focus.upd();
};
if (gui != null){
gui.upd();
};
};
}
public function pauseOpt(_arg1:Event):void{
if ((((currentFrame > 8)) && ((currentFrame < 18)))){
if (this.pauseBtn.visible){
this.soundHold.addSound("unpauser");
this.musicHold.unMuteMe();
} else {
this.soundHold.addSound("pauser");
this.musicHold.muteMe();
};
this.pauseBtn.visible = (isPaused = !(isPaused));
};
}
private function sonKeyUp(_arg1:KeyboardEvent):void{
switch (_arg1.keyCode){
case 87:
up1 = false;
break;
case 83:
do1 = false;
break;
case 65:
le1 = false;
break;
case 68:
ri1 = false;
break;
case 38:
up2 = false;
break;
case 40:
do2 = false;
break;
case 37:
le2 = false;
break;
case 39:
ri2 = false;
break;
};
}
function __setProp___id2__Scene1_Connector_1(){
try {
__id2_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id2_.debugMode = true;
__id2_.encryptionKey = "9h3n7dDbRPeY3YCcT6vZ5oyyK6TCiLqh";
__id2_.movieId = "17832:wnHg4ety";
__id2_.movieVersion = "";
__id2_.showConnectingPopup = true;
__id2_.useErrorPopup = true;
__id2_.useMedalPopup = true;
try {
__id2_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
public function qUp(_arg1:Event):void{
if (currentFrame > 3){
this.soundHold.addSound("button_click");
};
if (stageQual == 2){
} else {
if (stageQual == 1){
stage.quality = StageQuality.HIGH;
stageQual = 2;
} else {
stage.quality = StageQuality.MEDIUM;
stageQual = 1;
};
};
}
public function adjustAmmo(_arg1:uint, _arg2:int):void{
var _local3:uint;
_local3 = (_arg1 - 1);
weaponsList[_local3][1] = (weaponsList[_local3][1] + _arg2);
if (weaponsList[_local3][1] < 0){
weaponsList[_local3][1] = 0;
} else {
if (weaponsList[_local3][1] > weaponsList[_local3][2]){
weaponsList[_local3][1] = weaponsList[_local3][2];
};
};
if (Boolean(gui.hbox)){
gui.changeAmmo(_arg1, weaponsList[_local3][1]);
};
}
private function setWeapon(_arg1:uint):void{
if (!isPaused){
if (((!((weapon == _arg1))) && (weaponsList[(_arg1 - 1)][0]))){
if (this.soundHold != null){
this.soundHold.addSound("weapon_change");
};
weapon = _arg1;
};
if (Boolean(gui.hbox)){
gui.changeWeapon(weapon);
};
};
}
public function getAngle(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = (_arg2 - _arg1);
while (_local3 > PI) {
_local3 = (_local3 - (PI * 2));
};
while (_local3 <= -(PI)) {
_local3 = (_local3 + (PI * 2));
};
return (_local3);
}
private function onMouseUp(_arg1:MouseEvent):void{
md = false;
}
public function polarDistance(_arg1:Point, _arg2:Point):Point{
var _local3:Number;
var _local4:Number;
_local3 = distance(_arg1, _arg2);
_local4 = atan2((_arg2.x - _arg1.x), (_arg1.y - _arg2.y));
return (new Point(_local3, _local4));
}
public function polarRadius(_arg1:Point, _arg2:Point):Number{
var _local3:Number;
_local3 = distance(_arg1, _arg2);
return (_local3);
}
public function get mousePos():Point{
return (new Point(mouseX, mouseY));
}
public function unitDistance(_arg1:Point, _arg2:Point):Point{
var _local3:Point;
_local3 = _arg2.subtract(_arg1);
_local3.normalize(1);
return (_local3);
}
public function saveWeapons():void{
var _local1:uint;
oldTime = playTime;
oldEnemiesSpawned = enemiesSpawned;
oldEnemiesKilled = enemiesKilled;
oldWeapon = weapon;
_local1 = 0;
while (_local1 < weaponsList.length) {
oldWeaponsList[_local1] = weaponsList[_local1].slice();
_local1++;
};
}
function __setProp___id1__Scene1_Medals_1(){
try {
__id1_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id1_.popupTime = 2;
try {
__id1_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
private function sonKeyDown(_arg1:KeyboardEvent):void{
switch (_arg1.keyCode){
case 187:
dispatchEvent(new Event("qualityUp"));
break;
case 189:
dispatchEvent(new Event("qualityDown"));
break;
case 80:
dispatchEvent(new Event("pauseCheck"));
break;
case 81:
cycleWeapon(-1);
break;
case 69:
cycleWeapon(1);
break;
case 87:
up1 = true;
break;
case 83:
do1 = true;
break;
case 65:
le1 = true;
break;
case 68:
ri1 = true;
break;
case 46:
cycleWeapon(-1);
break;
case 34:
cycleWeapon(1);
break;
case 38:
up2 = true;
break;
case 40:
do2 = true;
break;
case 37:
le2 = true;
break;
case 39:
ri2 = true;
break;
case 49:
setWeapon(1);
break;
case 50:
setWeapon(2);
break;
case 51:
setWeapon(3);
break;
case 52:
setWeapon(4);
break;
case 53:
setWeapon(5);
break;
};
}
private function onMouseDown(_arg1:MouseEvent):void{
if (!isPaused){
dispatchEvent(new Event("mouseClicked"));
};
md = true;
}
public function get mouseIsDown():Boolean{
return (md);
}
}
}//package
Section 133
//ItemHandler (ItemHandler)
package {
import flash.display.*;
public class ItemHandler extends MovieClip {
private const mrandom:Function;
private var ides:Array;
private var targ:MovieClip;
private var _root:MovieClip;
private var hold:MovieClip;
public function ItemHandler(){
mrandom = Math.random;
super();
}
public function upd():void{
var _local1:uint;
_local1 = 0;
while (_local1 < ides.length) {
if (ides[_local1].upd()){
ides.splice(_local1, 1);
_local1--;
};
_local1++;
};
}
public function setVars(_arg1:MovieClip, _arg2:MovieClip, _arg3:MovieClip){
_root = _arg1;
hold = _arg2;
targ = _arg3;
ides = new Array();
}
public function addAnItem(_arg1:Number, _arg2:Number, _arg3:int, _arg4:Number=20){
var rep:MovieClip;
var vx = _arg1;
var vy = _arg2;
var vi = _arg3;
var vr = _arg4;
ides.push(new PickupsAdd());
rep = ides[(ides.length - 1)];
rep.x = ((vx - vr) + ((mrandom() * vr) * 2));
rep.y = ((vy - vr) + ((mrandom() * vr) * 2));
rep.rotation = (mrandom() * 360);
rep.gotoAndStop(1);
rep.ino = vi;
rep.onFind = function ():void{
};
switch (vi){
case 1:
rep.onFind = function ():void{
targ.heal(80);
_root.soundHold.addSound("health_pickup");
_root.itemShower.addHint("LARGE HEALTH PACK");
};
break;
case 2:
rep.onFind = function ():void{
targ.heal(40);
_root.soundHold.addSound("health_pickup");
_root.itemShower.addHint("MEDIUM HEALTH PACK");
};
break;
case 3:
rep.onFind = function ():void{
targ.heal(15);
_root.soundHold.addSound("health_pickup");
_root.itemShower.addHint("SMALL HEALTH PACK");
};
break;
case 4:
rep.onFind = function ():void{
_root.addWeapon(2);
_root.soundHold.addSound("weapon_pickup");
_root.itemShower.addHint("SUBMACHINE GUNS");
};
break;
case 5:
rep.onFind = function ():void{
_root.addWeapon(3);
_root.soundHold.addSound("weapon_pickup");
_root.itemShower.addHint("SHOTGUN");
};
break;
case 6:
rep.onFind = function ():void{
_root.addWeapon(4);
_root.soundHold.addSound("weapon_pickup");
_root.itemShower.addHint("RIFLE");
};
break;
case 7:
rep.onFind = function ():void{
_root.addWeapon(5);
_root.soundHold.addSound("weapon_pickup");
_root.itemShower.addHint("SNIPER");
};
break;
case 8:
rep.onFind = function ():void{
_root.adjustAmmo(2, 120);
_root.soundHold.addSound("weapon_pickup");
_root.itemShower.addHint("SUBMACHINE GUN AMMO");
};
break;
case 9:
rep.onFind = function ():void{
_root.adjustAmmo(3, 15);
_root.soundHold.addSound("weapon_pickup");
_root.itemShower.addHint("SHOTGUN SHELLS");
};
break;
case 10:
rep.onFind = function ():void{
_root.adjustAmmo(4, 60);
_root.soundHold.addSound("weapon_pickup");
_root.itemShower.addHint("RIFLE AMMO");
};
break;
case 11:
rep.onFind = function ():void{
_root.adjustAmmo(5, 5);
_root.soundHold.addSound("weapon_pickup");
_root.itemShower.addHint("SNIPER AMMO");
};
break;
};
rep.upd = function ():Boolean{
if (rep.pickUp != null){
rep.pickUp.gotoAndStop(rep.ino);
};
if (rep.currentFrame < 30){
rep.nextFrame();
} else {
if (rep.currentFrame == 30){
if (targ.hitbox.hitTestObject(rep)){
rep.onFind();
rep.gotoAndStop(31);
};
} else {
if (rep.currentFrame < 50){
rep.nextFrame();
} else {
removeChild(rep);
return (true);
};
};
};
return (false);
};
addChild(rep);
}
}
}//package
Section 134
//LivingObject (LivingObject)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class LivingObject extends MovieClip {
protected const exp:Function;
protected const min:Function;
protected const abs:Function;
protected const sin:Function;
protected const sqrt:Function;
protected const d_r:Number = 0.0174532925199433;
protected const mrandom:Function;
protected const cos:Function;
protected const round:Function;
protected const r_d:Number = 57.2957795130823;
protected const distance:Function;
protected const PI:Number = 3.14159265358979;
protected var raisedPlats:Array;
protected var terra:MovieClip;
protected var curDir:Number;// = 0
public var health:Number;// = 100
public var angAcc:Number;// = 2
public var aiming:Boolean;// = false
public var specialMovement:Boolean;// = false
public var acc:Number;// = 2
public var angSpeed:Number;// = 0.3
public var flying:Boolean;// = false
protected var bounds:Array;
protected var hold:MovieClip;
public var angSnap:Boolean;// = true
public var aimPol:Number;
protected var paths:Array;
protected var maxHealth:Number;
protected var obs:MovieClip;
protected var hitTime:int;// = 0
protected var curDrive:Number;// = 0
public var mass:Number;// = 1
public var reversing:Boolean;// = false
public var targDrive:Number;// = 0
protected var aimSpots:Array;
public var hit:MovieClip;
public var maxSpd:Number;// = 8
public var specKill:Function;// = null
protected var _root:MovieClip;
public var scaleTarg:Number;// = 1
public var targDir:Number;// = 0
public var knockBack:Point;
public var hitWall:Boolean;// = false
public function LivingObject(){
distance = Point.distance;
mrandom = Math.random;
round = Math.round;
sqrt = Math.sqrt;
abs = Math.abs;
sin = Math.sin;
cos = Math.cos;
exp = Math.exp;
min = Math.min;
angSpeed = 0.3;
angSnap = true;
acc = 2;
angAcc = 2;
maxSpd = 8;
reversing = false;
aiming = false;
targDir = 0;
targDrive = 0;
curDir = 0;
curDrive = 0;
hitWall = false;
scaleTarg = 1;
health = 100;
hitTime = 0;
specKill = null;
specialMovement = false;
flying = false;
knockBack = new Point();
mass = 1;
super();
}
public function softRepel(_arg1:LivingObject, _arg2:LivingObject){
var _local3:Point;
if (_arg1.hit.hitTestObject(_arg2.hit)){
_local3 = _root.unitDistance(_arg1.pos, _arg2.pos);
_arg1.addKnockBack(-(_local3.x), -(_local3.y));
_arg2.addKnockBack(_local3.x, _local3.y);
};
}
public function findLineOfSight(_arg1:Point, _arg2:Point=null):Boolean{
var _local3:Boolean;
var _local4:Point;
var _local5:Point;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local3 = true;
if (_arg2 == null){
_arg2 = pos;
};
_local4 = _root.globalToLocal(hold.localToGlobal(_arg2));
_local5 = _root.globalToLocal(hold.localToGlobal(_arg1));
_local6 = _root.polarRadius(_local4, _local5);
_local7 = ((_local5.x - _local4.x) / _local6);
_local8 = ((_local5.y - _local4.y) / _local6);
while (((((_local3) && ((((_local5.x - _local4.x) * _local7) > 0)))) && ((((_local5.y - _local4.y) * _local8) > 0)))) {
_local4.x = (_local4.x + (_local7 * 10));
_local4.y = (_local4.y + (_local8 * 10));
if (terra.hitTestPoint(_local4.x, _local4.y, true)){
_local3 = false;
} else {
if (obs.hitTestPoint(_local4.x, _local4.y, true)){
_local3 = false;
};
};
};
return (_local3);
}
public function get pos():Point{
return (new Point(x, y));
}
public function addKnockBack(_arg1:Number, _arg2:Number):void{
knockBack.x = (knockBack.x + (_arg1 / mass));
knockBack.y = (knockBack.y + (_arg2 / mass));
}
public function hitObj(_arg1:Number, _arg2:Number, _arg3:MovieClip, _arg4:MovieClip=null):Boolean{
var _local5:Point;
_local5 = new Point((x + _arg1), (y + _arg2));
if (_arg4 == null){
_local5.x = ((_local5.x * hold.scaleX) + hold.x);
_local5.y = ((_local5.y * hold.scaleY) + hold.y);
} else {
_local5 = _root.globalToLocal(_arg4.localToGlobal(_local5));
};
return (_arg3.hitTestPoint(_local5.x, _local5.y, true));
}
public function closeEnemy():MovieClip{
var _local1:uint;
_local1 = 0;
while (_local1 < hold.enemies.toUpd.length) {
if ((((((hold.enemies.toUpd[_local1].health > 0)) && ((_root.polarRadius(hold.enemies.toUpd[_local1].pos, pos) < 100)))) && ((abs(_root.getAngle(_root.polarAngle(hold.enemies.toUpd[_local1].pos, pos), hold.enemies.toUpd[_local1].curDir)) < 0.6)))){
return (hold.enemies.toUpd[_local1]);
};
_local1++;
};
return (null);
}
public function findAim(_arg1:MovieClip, _arg2:Number=100):MovieClip{
var _local3:Array;
var _local4:Point;
var _local5:Point;
var _local6:uint;
_local3 = new Array();
_local4 = new Point(_arg1.x, _arg1.y);
_local6 = 0;
while (_local6 < aimSpots.length) {
_local5 = new Point(aimSpots[_local6].x, aimSpots[_local6].y);
_local3.push({spot:aimSpots[_local6], dist:_root.polarRadius(_local4, _local5)});
_local6++;
};
_local3.sortOn("dist", 16);
while (_local3[0].dist < _arg2) {
_local3.shift();
};
return (_local3[0].spot);
}
public function bash(_arg1:Number):void{
if (health > 0){
if (hitTime > 0){
dispatchEvent(new Event("notHurt"));
} else {
if (health > _arg1){
health = (health - _arg1);
dispatchEvent(new Event("hurt"));
} else {
health = 0;
dispatchEvent(new Event("killed"));
};
transform.colorTransform = new ColorTransform(0.8, 0.1, 0.05, 1, -22, -64, -64, 0);
hitTime = 2;
};
};
}
protected function hT(_arg1:Number, _arg2:Number, _arg3:MovieClip=null):Boolean{
return (hitObj(_arg1, _arg2, terra, _arg3));
}
protected function hO(_arg1:Number, _arg2:Number, _arg3:MovieClip=null):Boolean{
return (hitObj(_arg1, _arg2, obs, _arg3));
}
public function checkObs(_arg1:Array):void{
var _local2:uint;
var _local3:uint;
_local2 = 0;
while (_local2 < _arg1.length) {
_local3 = (_local2 + 1);
while (_local3 < _arg1.length) {
softRepel(_arg1[_local2], _arg1[_local3]);
_local3++;
};
_local2++;
};
}
protected function attackWith(_arg1:MovieClip, _arg2:Number, _arg3:Number=2, _arg4:MovieClip=null):void{
var _local5:uint;
var _local6:Point;
_local5 = 0;
while (_local5 < hold.enemies.toUpd.length) {
if (((!((hold.enemies.toUpd[_local5] == this))) && (_arg1.hitTestObject(hold.enemies.toUpd[_local5].hit)))){
if (hold.enemies.toUpd[_local5] == _arg4){
hold.enemies.toUpd[_local5].bash(_arg2);
} else {
hold.enemies.toUpd[_local5].bash((_arg2 / 5));
};
_local6 = _root.unitDistance(pos, hold.enemies.toUpd[_local5].pos);
hold.enemies.toUpd[_local5].addKnockBack((_local6.x * _arg3), (_local6.y * _arg3));
};
_local5++;
};
}
public function updateObject():void{
var _local1:uint;
if (hitTime > 0){
if (hitTime == 2){
transform.colorTransform = new ColorTransform(0.8, 0.1, 0.05, 1, -22, -64, -64, 0);
} else {
if (hitTime == 1){
transform.colorTransform = new ColorTransform(0.4, 0.05, 0.025, 1, -11, -32, -32, 0);
};
};
hitTime--;
} else {
if (hitTime == 0){
transform.colorTransform = new ColorTransform(1, 1, 1, 1, 0, 0, 0, 0);
hitTime--;
};
};
if (specialMovement){
targDrive = 0;
} else {
if (aiming){
if (targDrive > maxSpd){
targDrive = maxSpd;
};
if (((false) && ((abs(_root.getAngle(targDir, aimPol)) > ((4 * PI) / 5))))){
reversing = true;
targDrive = (targDrive * -0.4);
} else {
reversing = false;
};
};
};
if (curDrive < targDrive){
if ((targDrive - curDrive) < acc){
curDrive = targDrive;
} else {
curDrive = (curDrive + acc);
};
} else {
if (reversing){
if ((curDrive - targDrive) < acc){
curDrive = targDrive;
} else {
curDrive = (curDrive - acc);
};
} else {
if ((curDrive - targDrive) < (acc / 2)){
curDrive = targDrive;
} else {
curDrive = (curDrive - (acc / 2));
};
};
};
if (reversing){
targDir = (targDir + PI);
};
curDir = _root.interRotation(curDir, targDir, angSpeed, angSnap);
x = (x + knockBack.x);
y = (y + knockBack.y);
knockBack.x = (knockBack.x * 0.9);
knockBack.y = (knockBack.y * 0.9);
if (distance(new Point(), knockBack) > 6){
knockBack.normalize(6);
};
if (abs(knockBack.x) < 0.2){
knockBack.x = 0;
};
if (abs(knockBack.y) < 0.2){
knockBack.y = 0;
};
x = (x + ((sin(curDir) * curDrive) * scaleX));
y = (y - ((cos(curDir) * curDrive) * scaleY));
hitWall = false;
_local1 = 0;
while (_local1 < bounds.length) {
if (hT(bounds[_local1][0], bounds[_local1][1])){
if (abs(_root.getAngle(bounds[_local1][2], curDir)) < 0.5){
hitWall = true;
};
do {
x = (x - (bounds[_local1][0] / 20));
y = (y - (bounds[_local1][1] / 20));
} while (hT(bounds[_local1][0], bounds[_local1][1]));
};
if (((!(flying)) && (hO(bounds[_local1][0], bounds[_local1][1])))){
if (abs(_root.getAngle(bounds[_local1][2], curDir)) < 0.5){
hitWall = true;
};
do {
x = (x - (bounds[_local1][0] / 20));
y = (y - (bounds[_local1][1] / 20));
} while (hO(bounds[_local1][0], bounds[_local1][1]));
};
_local1++;
};
scaleTarg = 0;
if ((((health <= 0)) || (!(flying)))){
_local1 = 0;
while (_local1 < raisedPlats.length) {
if (hit.hitTestObject(raisedPlats[_local1][0])){
if (scaleTarg < raisedPlats[_local1][1]){
scaleTarg = raisedPlats[_local1][1];
};
};
_local1++;
};
if (scaleTarg == 0){
scaleTarg = 1;
};
if (scaleX != scaleTarg){
if (scaleX > scaleTarg){
if ((scaleX - scaleTarg) > 0.04){
scaleX = (scaleY = (scaleX - 0.04));
} else {
scaleX = (scaleY = scaleTarg);
};
} else {
if ((scaleTarg - scaleX) > 0.04){
scaleX = (scaleY = (scaleX + 0.04));
} else {
scaleX = (scaleY = scaleTarg);
};
};
};
};
}
public function findPath(_arg1:Point):Array{
var _local2:uint;
var _local3:uint;
var _local4:Point;
var _local5:Point;
var _local6:Number;
var _local7:Number;
var _local8:Array;
var _local9:Array;
var _local10:MovieClip;
var _local11:MovieClip;
var _local12:Array;
var _local13:Array;
_local5 = pos;
_local6 = _root.polarAngle(pos, _arg1);
_local8 = new Array();
_local9 = new Array();
_local2 = 0;
while (_local2 < paths.length) {
_local4 = new Point(paths[_local2].x, paths[_local2].y);
_local7 = _root.getAngle(_local6, _root.polarAngle(_local5, _local4));
_local8.push({clip:paths[_local2], pref:(_root.polarRadius(_local5, _local4) + ((80 * _local7) * _local7))});
_local9.push({clip:paths[_local2], pref:(_root.polarRadius(_arg1, _local4) + ((30 * _local7) * _local7))});
_local2++;
};
_local8.sortOn("pref", 16);
_local9.sortOn("pref", 16);
_local3 = min(_local8.length, 3);
_local2 = 0;
while (_local2 < _local3) {
if (findLineOfSight(_local5, new Point(_local8[0].clip.x, _local8[0].clip.y))){
break;
} else {
_local8.shift();
};
_local2++;
};
_local3 = min(_local9.length, 3);
_local10 = _local8[0].clip;
_local11 = _local9[0].clip;
_local12 = new Array();
_local2 = 0;
while (_local2 < paths.length) {
paths[_local2].dist = 9999;
paths[_local2].shortLead = null;
if (paths[_local2] == _local10){
paths[_local2].dist = 0;
};
_local12.push({nod:paths[_local2], dist:1});
_local3 = 0;
while (_local3 < _local12.length) {
_local12[_local3].dist = _local12[_local3].nod.dist;
_local3++;
};
_local2++;
};
while (_local12.length > 0) {
_local3 = 0;
while (_local3 < _local12.length) {
_local12[_local3].dist = _local12[_local3].nod.dist;
_local3++;
};
_local12.sortOn("dist", 16);
_local2 = 0;
while (_local2 < _local12[0].nod.friends.length) {
if (Boolean(_local12[0].nod.friends[_local2])){
if ((_local12[0].nod.dist + _local12[0].nod.friends[_local2][1]) < _local12[0].nod.friends[_local2][0].dist){
_local12[0].nod.friends[_local2][0].dist = (_local12[0].nod.dist + _local12[0].nod.friends[_local2][1]);
_local12[0].nod.friends[_local2][0].shortLead = _local12[0].nod;
};
};
_local2++;
};
_local12.shift();
};
_local13 = new Array(_local11);
_local2 = 0;
while (_local2 < 5) {
if (_local13[0].shortLead == null){
break;
} else {
_local13.unshift(_local13[0].shortLead);
};
_local2++;
};
return (_local13);
}
public function setVars(_arg1:MovieClip, _arg2:MovieClip, _arg3:MovieClip, _arg4:MovieClip, _arg5:MovieClip, _arg6:Array=null, _arg7:Array=null, _arg8:Array=null):void{
_root = _arg1;
hold = _arg2;
terra = _arg3;
obs = _arg4;
hit = _arg5;
paths = _arg6;
aimSpots = _arg8;
curDir = (targDir = (rotation * d_r));
if (_arg7 == null){
raisedPlats = new Array();
} else {
raisedPlats = _arg7.slice();
};
scaleTarg = (scaleX = (scaleY = 1));
}
public function heal(_arg1:Number):void{
health = (health + _arg1);
if (health > maxHealth){
health = maxHealth;
};
dispatchEvent(new Event("heal"));
transform.colorTransform = new ColorTransform(0.1, 0.8, 0.05, 1, -64, -22, -64, 0);
hitTime = 1;
}
}
}//package
Section 135
//MainChar (MainChar)
package {
public dynamic class MainChar extends TheGuy {
}
}//package
Section 136
//MenuButton (MenuButton)
package {
public dynamic class MenuButton extends MyButton {
}
}//package
Section 137
//MusicHolderFirstLevel (MusicHolderFirstLevel)
package {
public dynamic class MusicHolderFirstLevel extends MusicManager {
public function MusicHolderFirstLevel(){
addFrameScript(9, frame10, 20, frame21, 29, frame30, 44, frame45, 49, frame50, 50, frame51);
}
function frame10(){
gotoAndStop(30);
}
function frame21(){
gotoAndStop(45);
}
function frame30(){
gotoAndStop(21);
}
function frame45(){
gotoAndPlay(50);
}
function frame51(){
gotoAndStop(1);
}
function frame50(){
sh2.gotoAndStop(this.frm);
nextFrame();
}
}
}//package
Section 138
//MusicManager (MusicManager)
package {
import flash.display.*;
import flash.events.*;
import flash.media.*;
public class MusicManager extends MovieClip {
private var oldVol:Number;// = 1
public var frm:Number;// = 0
private var fRed2:Number;// = 0
private var fRed:Number;// = 0
private var muted:Boolean;// = false
private var fFunc:Function;
private var pseudVol:Number;// = 1
private var soT:SoundTransform;
private var amplitude:Number;// = 1
public var sh2:MovieClip;
private var holdMe:Object;
public var mIsPlaying:Boolean;// = false
public function MusicManager(){
muted = false;
holdMe = new Object();
fRed = 0;
fRed2 = 0;
soT = new SoundTransform(1, 0);
mIsPlaying = false;
amplitude = 1;
oldVol = 1;
pseudVol = 1;
frm = 0;
super();
stop();
amplitude = 1;
mIsPlaying = false;
holdMe.nuller = 1;
holdMe.temple_intro = 8;
holdMe.temple_back = 10;
holdMe.fight1 = 12;
holdMe.fight2 = 14;
holdMe.fight3 = 16;
holdMe.game_over = 18;
holdMe.end_screen = 20;
}
public function addMusic(_arg1:String="nuller", _arg2:Number=8):void{
if (!mIsPlaying){
mIsPlaying = true;
pseudVol = 1;
soT.volume = (pseudVol * amplitude);
soundTransform = soT;
frm = holdMe[_arg1];
gotoAndStop(10);
removeEventListener(Event.ENTER_FRAME, fadeOutUpd);
if (_arg2 > 0){
fadeIn(_arg2);
};
};
}
public function clearMusic():void{
mIsPlaying = false;
SoundMixer.stopAll();
}
public function isGoing():Boolean{
return (!((frm == 0)));
}
public function setVolume(_arg1:Number=1):void{
amplitude = _arg1;
soT.volume = (amplitude * pseudVol);
soundTransform = soT;
}
public function resetMusic():void{
frm = 0;
mIsPlaying = false;
soT.volume = 1;
soundTransform = soT;
SoundMixer.stopAll();
}
private function stopSound():void{
frm = 0;
soT.volume = 0;
soundTransform = soT;
}
public function fadeOut(_arg1:Number=10, _arg2:Function=null):void{
fFunc = _arg2;
fRed = (1 / _arg1);
pseudVol = 1;
soT.volume = (pseudVol * amplitude);
soundTransform = soT;
addEventListener(Event.ENTER_FRAME, fadeOutUpd);
}
public function unMuteMe():void{
soT.volume = oldVol;
soundTransform = soT;
muted = false;
}
public function muteMe():void{
oldVol = soT.volume;
soT.volume = 0;
soundTransform = soT;
muted = true;
}
private function fadeOutUpd(_arg1:Event):void{
if (muted){
pseudVol = 0;
} else {
if (pseudVol < fRed){
if (fFunc != null){
fFunc();
};
soT.volume = 0;
soundTransform = soT;
removeEventListener(Event.ENTER_FRAME, fadeOutUpd);
} else {
pseudVol = (pseudVol - fRed);
soT.volume = (pseudVol * amplitude);
soundTransform = soT;
};
};
}
private function fadeInUpd(_arg1:Event):void{
if (muted){
pseudVol = 0;
} else {
if (pseudVol > (1 - fRed2)){
pseudVol = 1;
removeEventListener(Event.ENTER_FRAME, fadeInUpd);
soT.volume = (pseudVol * amplitude);
soundTransform = soT;
} else {
pseudVol = (pseudVol + fRed2);
soT.volume = (pseudVol * amplitude);
soundTransform = soT;
};
};
}
public function isOn(_arg1:String="nuller"):Boolean{
return ((frm == holdMe[_arg1]));
}
public function fadeIn(_arg1:Number=10):void{
fRed2 = (1 / _arg1);
pseudVol = 0;
soT.volume = (pseudVol * amplitude);
soundTransform = soT;
addEventListener(Event.ENTER_FRAME, fadeInUpd);
}
}
}//package
Section 139
//MyButton (MyButton)
package {
import flash.display.*;
import flash.events.*;
public class MyButton extends MovieClip {
public var onPress:Function;
public static var soundHolder:SoundEffectManager = null;
public function MyButton(){
super();
activateBtn();
onPress = function ():void{
};
addEventListener(MouseEvent.MOUSE_OVER, onMOver, false, 0, true);
addEventListener(MouseEvent.MOUSE_OUT, onMOut, false, 0, true);
addEventListener(MouseEvent.MOUSE_DOWN, onMDown, false, 0, true);
}
private function onMDown(_arg1:MouseEvent):void{
if (currentFrame < 3){
if (soundHolder != null){
soundHolder.addSound("button_select");
};
onPress();
};
}
private function onMOut(_arg1:MouseEvent):void{
if (currentFrame < 3){
gotoAndStop(1);
};
}
public function deactivateBtn():void{
gotoAndStop(3);
buttonMode = false;
}
public function activateBtn():void{
gotoAndStop(1);
buttonMode = true;
}
private function onMOver(_arg1:MouseEvent):void{
if (soundHolder != null){
soundHolder.addSound("button_click");
};
if (currentFrame < 3){
gotoAndStop(2);
};
}
}
}//package
Section 140
//MyCrawlerEnemy (MyCrawlerEnemy)
package {
public dynamic class MyCrawlerEnemy extends CrawlerEnemy {
public function MyCrawlerEnemy(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 141
//MyGargantuaEnemy (MyGargantuaEnemy)
package {
public dynamic class MyGargantuaEnemy extends GargantuaEnemy {
public function MyGargantuaEnemy(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 142
//MySpiderEnemy (MySpiderEnemy)
package {
public dynamic class MySpiderEnemy extends SpiderEnemy {
public function MySpiderEnemy(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 143
//NewgroundsAPIAsset_big_popup_background (NewgroundsAPIAsset_big_popup_background)
package {
import flash.display.*;
public dynamic class NewgroundsAPIAsset_big_popup_background extends MovieClip {
public var tl:MovieClip;
public var br:MovieClip;
public var tr:MovieClip;
public var l:MovieClip;
public var shadow:MovieClip;
public var r:MovieClip;
public var b:MovieClip;
public var bl:MovieClip;
public var t:MovieClip;
public var c:MovieClip;
}
}//package
Section 144
//PickupsAdd (PickupsAdd)
package {
import flash.display.*;
public dynamic class PickupsAdd extends MovieClip {
public var pickUp:MovieClip;
public function PickupsAdd(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 145
//PickupsHold (PickupsHold)
package {
public dynamic class PickupsHold extends ItemHandler {
}
}//package
Section 146
//PlayMoreButton (PlayMoreButton)
package {
public dynamic class PlayMoreButton extends MyButton {
}
}//package
Section 147
//PreloadPlayBtn (PreloadPlayBtn)
package {
public dynamic class PreloadPlayBtn extends MyButton {
}
}//package
Section 148
//RetryButton (RetryButton)
package {
public dynamic class RetryButton extends MyButton {
}
}//package
Section 149
//SoundEffectManager (SoundEffectManager)
package {
import flash.display.*;
import flash.events.*;
import flash.media.*;
public class SoundEffectManager extends MovieClip {
public var frm:Number;// = 0
private var soT:SoundTransform;
public var sh2:MovieClip;
private var defVol:Number;// = 1
private var stack:Array;
private var holdMe:Object;
public function SoundEffectManager(){
defVol = 1;
stack = new Array();
holdMe = new Object();
soT = new SoundTransform(1, 0);
frm = 0;
super();
stop();
addEventListener(Event.ENTER_FRAME, sem_update);
holdMe.nuller = 0;
holdMe.button_click = 8;
holdMe.button_select = 10;
holdMe.weapon_spawn = 12;
holdMe.health_spawn = 14;
holdMe.enemy_spawn = 16;
holdMe.weapon_pickup = 18;
holdMe.health_pickup = 20;
holdMe.door_open = 22;
holdMe.alert = 24;
holdMe.pistol_fire = 26;
holdMe.smg_fire = 28;
holdMe.shotgun_fire = 30;
holdMe.rifle_fire = 32;
holdMe.sniper_fire = 34;
holdMe.wasp_emerge = 36;
holdMe.wasp_attack = 38;
holdMe.wasp_hit1 = 40;
holdMe.wasp_hit2 = 42;
holdMe.wasp_die = 44;
holdMe.spider_emerge = 46;
holdMe.spider_attack = 48;
holdMe.spider_hit1 = 50;
holdMe.spider_hit2 = 52;
holdMe.spider_die = 54;
holdMe.crawler_emerge = 56;
holdMe.crawler_attack = 58;
holdMe.crawler_hit1 = 60;
holdMe.crawler_hit2 = 62;
holdMe.crawler_die = 64;
holdMe.crocodile_emerge = 66;
holdMe.crocodile_attack = 68;
holdMe.crocodile_hit1 = 70;
holdMe.crocodile_hit2 = 72;
holdMe.crocodile_die = 74;
holdMe.gargantua_emerge = 76;
holdMe.gargantua_attack = 78;
holdMe.gargantua_hit1 = 80;
holdMe.gargantua_hit2 = 82;
holdMe.gargantua_die1 = 84;
holdMe.gargantua_die2 = 86;
holdMe.gargantua_die3 = 88;
holdMe.blast_fire = 90;
holdMe.blast_blow = 92;
holdMe.spit_fire = 94;
holdMe.spit_splat = 96;
holdMe.weapon_change = 98;
holdMe.end_click = 100;
holdMe.pauser = 102;
holdMe.unpauser = 104;
holdMe.level_enter = 106;
holdMe.level_exit = 108;
holdMe.message = 110;
holdMe.smash1 = 112;
holdMe.smash2 = 114;
holdMe.no_ammo = 116;
}
private function sem_update(_arg1:Event):void{
if (stack.length > 3){
stack.splice(3);
} else {
if (stack.length > 0){
if (currentFrame == 1){
gotoAndStop(10);
frm = stack.shift();
};
};
};
}
public function unMuteMe():void{
soT.volume = defVol;
soundTransform = soT;
}
public function muteMe():void{
defVol = soT.volume;
soT.volume = 0;
soundTransform = soT;
}
public function addSound(_arg1:String="nuller"){
stack.push(holdMe[_arg1]);
soT.volume = (defVol = 1);
soundTransform = soT;
}
}
}//package
Section 150
//SoundHolderFirstLevel (SoundHolderFirstLevel)
package {
public dynamic class SoundHolderFirstLevel extends SoundEffectManager {
public function SoundHolderFirstLevel(){
addFrameScript(9, frame10, 20, frame21, 29, frame30, 44, frame45, 49, frame50, 50, frame51);
}
function frame10(){
gotoAndStop(30);
}
function frame21(){
gotoAndStop(45);
}
function frame30(){
gotoAndStop(21);
}
function frame45(){
gotoAndPlay(50);
}
function frame51(){
gotoAndStop(1);
}
function frame50(){
sh2.gotoAndStop(frm);
nextFrame();
}
}
}//package
Section 151
//SpiderEnemy (SpiderEnemy)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class SpiderEnemy extends LivingObject {
private var moveTime:uint;// = 0
private var onPath:Boolean;// = false
private var pathTarg:MovieClip;
public var hitbox:MovieClip;
private var targ:MovieClip;
private var walkPath:Array;
public var moveStage:uint;// = 0
public var ani1:MovieClip;
public var ani2:MovieClip;
public var ani5:MovieClip;
public var ani6:MovieClip;
public var ani3:MovieClip;
public var ani4:MovieClip;
public function SpiderEnemy(){
moveStage = 0;
moveTime = 0;
onPath = false;
super();
}
public function updateInstance():void{
if (moveStage == 0){
targDrive = 0;
} else {
if ((((moveStage == 1)) || ((moveStage == 2)))){
if (currentFrame != 2){
gotoAndStop(2);
};
if (!onPath){
if (moveStage == 1){
pathTarg = findAim(targ, 200);
walkPath = findPath(new Point(pathTarg.x, pathTarg.y));
moveTime = 1000;
} else {
pathTarg = findAim(targ, 50);
walkPath = findPath(targ.pos);
moveTime = 400;
};
onPath = true;
} else {
if (walkPath.length > 0){
if (_root.polarRadius(pos, targ.pos) < 70){
moveStage = 3;
moveTime = 120;
};
targDir = _root.polarAngle(pos, new Point(walkPath[0].x, walkPath[0].y));
targDrive = 6;
if (hit.hitTestObject(walkPath[0])){
walkPath.shift();
};
if (moveTime > 0){
moveTime--;
} else {
walkPath = new Array();
};
} else {
if ((((moveStage == 1)) && (!(hitTestObject(pathTarg))))){
targDir = _root.polarAngle(pos, new Point(pathTarg.x, pathTarg.y));
targDrive = 6;
} else {
onPath = false;
if (moveStage == 1){
moveStage = 4;
moveTime = (3 - int((((2 * mrandom()) * health) / maxHealth)));
} else {
moveStage = 3;
moveTime = 100;
};
};
};
};
} else {
if (moveStage == 3){
if (moveTime > 0){
if (_root.polarRadius(pos, targ.pos) > 60){
targDrive = 4;
targDir = _root.polarAngle(pos, targ.pos);
if (currentFrame != 2){
gotoAndStop(2);
};
} else {
if (abs(_root.getAngle(_root.polarAngle(pos, targ.pos), curDir)) > 0.4){
targDrive = 0;
targDir = _root.polarAngle(pos, targ.pos);
if (currentFrame != 2){
gotoAndStop(2);
};
} else {
moveStage = 5;
moveTime = 3;
gotoAndStop(3);
};
};
moveTime--;
} else {
if (mrandom() < 0.4){
moveStage = 1;
} else {
moveStage = 2;
};
gotoAndStop(2);
};
} else {
if (moveStage == 4){
targDir = _root.polarAngle(pos, targ.pos);
targDrive = 0;
if (currentFrame != 4){
gotoAndStop(4);
} else {
if (this.ani4 != null){
if (this.ani4.currentFrame == 24){
hold.effects.addSpitBall(hold.globalToLocal(this.ani4.localToGlobal(new Point(this.ani4.aimBox.x, this.ani4.aimBox.y))), targ.pos, targ);
} else {
if (this.ani4.currentFrame > 29){
moveStage = 2;
gotoAndStop(2);
};
};
};
};
} else {
if (moveStage == 5){
targDrive = 0;
if (currentFrame != 3){
gotoAndStop(3);
} else {
if (this.ani3 != null){
if (this.ani3.currentFrame > 29){
if ((((((moveTime > 0)) && ((_root.polarRadius(pos, targ.pos) < 60)))) && ((abs(_root.getAngle(_root.polarAngle(pos, targ.pos), curDir)) < 0.5)))){
this.ani3.gotoAndStop(1);
moveTime--;
} else {
if (mrandom() < 0.4){
moveStage = 1;
} else {
moveStage = 2;
};
gotoAndStop(2);
};
};
if (this.ani3.smashbox != null){
attackWith(this.ani3.smashbox, 18, 2);
};
};
};
} else {
targDir = _root.polarDistance(pos, targ.pos).y;
targDrive = 4;
};
};
};
};
};
}
public function updateAnimation():void{
rotation = ((curDir * r_d) + 180);
if (currentFrame == 1){
if (this.ani1 != null){
if (this.ani1.currentFrame < this.ani1.totalFrames){
this.ani1.nextFrame();
} else {
gotoAndStop(2);
if (mrandom() < 0.4){
moveStage = 1;
} else {
moveStage = 2;
};
};
};
} else {
if (currentFrame == 2){
if (this.ani2 != null){
this.ani2.nextFrame();
};
} else {
if (currentFrame == 3){
if (this.ani3 != null){
if (this.ani3.currentFrame < this.ani3.totalFrames){
this.ani3.nextFrame();
} else {
gotoAndStop(2);
if (mrandom() < 0.4){
moveStage = 1;
} else {
moveStage = 2;
};
};
};
} else {
if (currentFrame == 4){
if (this.ani4 != null){
if (this.ani4.currentFrame < this.ani4.totalFrames){
this.ani4.nextFrame();
} else {
gotoAndStop(2);
if (mrandom() < 0.4){
moveStage = 1;
} else {
moveStage = 2;
};
};
};
} else {
if (currentFrame == 5){
if (this.ani5 != null){
if (this.ani5.currentFrame < this.ani5.totalFrames){
this.ani5.nextFrame();
};
};
} else {
if (currentFrame == 6){
if (this.ani6 != null){
if (this.ani6.currentFrame < this.ani6.totalFrames){
this.ani6.nextFrame();
} else {
dispatchEvent(new Event("finished"));
this.ani6.nextFrame();
};
};
};
};
};
};
};
};
}
public function setVals(_arg1):void{
var vta = _arg1;
targ = vta;
addEventListener("hurt", onHit);
addEventListener("killed", onKilled);
moveStage = 0;
mass = 2;
angSpeed = 0.2;
maxHealth = 18;
health = maxHealth;
bounds = [[0, 30, 0], [30, 0, (PI / 2)], [0, -30, PI], [-30, 0, (-(PI) / 2)]];
specKill = function ():void{
moveStage = 0;
gotoAndStop(5);
};
}
public function onHit(_arg1:Event):void{
if (mrandom() < 0.15){
if (mrandom() < 0.5){
_root.soundHold.addSound("spider_hit1");
} else {
_root.soundHold.addSound("spider_hit2");
};
};
_root.healthbox.setEnemyHealth(health, maxHealth, 4);
}
public function onKilled(_arg1:Event):void{
_root.soundHold.addSound("spider_die");
_root.healthbox.setEnemyHealth(health, maxHealth, 4);
if (currentFrame != 5){
targDrive = 0;
moveStage = 0;
gotoAndStop(6);
};
removeEventListener("hurt", onHit);
removeEventListener("killed", onKilled);
}
}
}//package
Section 152
//SpitBall (SpitBall)
package {
import flash.display.*;
public dynamic class SpitBall extends MovieClip {
}
}//package
Section 153
//SpitPuddle (SpitPuddle)
package {
import flash.display.*;
public dynamic class SpitPuddle extends MovieClip {
public var hitbox1:MovieClip;
public var hitbox2:MovieClip;
public function SpitPuddle(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 154
//StartButton (StartButton)
package {
public dynamic class StartButton extends MyButton {
}
}//package
Section 155
//TheGuy (TheGuy)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class TheGuy extends LivingObject {
private var legs:MovieClip;
private var vDir:int;
public var my_arms:MovieClip;
private var aimTarg:Number;// = 0
public var my_head:MovieClip;
private var area:MovieClip;
private var headTime:uint;// = 80
public var gunLightness:Number;// = 0.6
private var hDir:int;
public var hitbox:MovieClip;
private var headTarg:Number;// = 0
private var mousePos:Point;
private var arms:MovieClip;
private var bodyTime:uint;// = 80
private var head:MovieClip;
public function TheGuy(){
aimTarg = 0;
gunLightness = 0.6;
headTime = 80;
bodyTime = 80;
headTarg = 0;
super();
}
public function snapTerrain(_arg1:Number=275, _arg2:Number=225, _arg3:Boolean=true, _arg4:Number=6, _arg5:Number=20):void{
var _local6:Point;
var _local7:Number;
var _local8:Point;
var _local9:Point;
var _local10:Number;
_local6 = _root.globalToLocal(hold.localToGlobal(pos));
_local7 = 3;
switch (arms.currentFrame){
case 1:
_local7 = 3;
break;
case 2:
_local7 = 2.8;
break;
case 3:
_local7 = 4;
break;
case 4:
_local7 = 2;
break;
default:
_local7 = 1.4;
break;
};
if (health <= 0){
_local7 = 9999;
};
if (_arg3){
_arg1 = (_arg1 + ((_arg1 - _root.mousePos.x) / _local7));
_arg2 = (_arg2 + ((_arg2 - _root.mousePos.y) / _local7));
};
_local8 = new Point((_arg1 - _local6.x), (_arg2 - _local6.y));
_local9 = new Point(round((_local8.x / _arg4)), round((_local8.y / _arg4)));
_local10 = Point.distance(new Point(0, 0), _local9);
if (_local10 > _arg5){
hold.x = (hold.x + ((_local9.x / _local10) * _arg5));
hold.y = (hold.y + ((_local9.y / _local10) * _arg5));
} else {
hold.x = (hold.x + _local9.x);
hold.y = (hold.y + _local9.y);
};
}
public function onHeal(_arg1:Event):void{
_root.healthbox.setHealth(health, maxHealth);
}
public function updateInstance():void{
var _local1:uint;
_root.playTime++;
if (!specialMovement){
mousePos = hold.globalToLocal(_root.mousePos);
hDir = (int(_root.right) - int(_root.left));
vDir = (int(_root.up) - int(_root.down));
targDrive = 8;
if (hDir > 0){
if (vDir > 0){
targDir = (PI / 4);
} else {
if (vDir < 0){
targDir = ((3 * PI) / 4);
} else {
targDir = (PI / 2);
};
};
} else {
if (hDir < 0){
if (vDir > 0){
targDir = (-(PI) / 4);
} else {
if (vDir < 0){
targDir = ((-3 * PI) / 4);
} else {
targDir = (-(PI) / 2);
};
};
} else {
if (vDir > 0){
targDir = 0;
} else {
if (vDir < 0){
targDir = PI;
} else {
targDrive = 0;
};
};
};
};
aiming = true;
if (arms.currentFrame == 1){
aimTarg = twiddleOffset(_root.polarRadius(pos, mousePos), _root.polarAngle(pos, mousePos), (PI / 5), 70, 100);
} else {
if ((((arms.currentFrame == 3)) || ((arms.currentFrame == 4)))){
aimTarg = twiddleOffset(_root.polarRadius(pos, mousePos), _root.polarAngle(pos, mousePos), (PI / 30), 80, 120);
} else {
aimTarg = twiddleOffset(_root.polarRadius(pos, mousePos), _root.polarAngle(pos, mousePos), 0, 0, 1);
};
};
aimPol = _root.interRotation(aimPol, aimTarg, gunLightness, false);
};
}
public function shootGun(_arg1:uint=1):Boolean{
var _local2:Point;
var _local3:Number;
_local3 = (arms.rotation * d_r);
if (_arg1 > 3){
_root.mCrawler = false;
};
if ((((_root.weaponsList[(_arg1 - 1)][1] > 0)) || ((_arg1 == 1)))){
if ((((_arg1 == 1)) && (!((arms.ani1 == null))))){
_root.soundHold.addSound("pistol_fire");
_local2 = hold.globalToLocal(arms.ani1.localToGlobal(new Point(arms.ani1.aim1.x, arms.ani1.aim1.y)));
hold.effects.addBullet(_local2, _local3, 3, this, 120, 16777214, 2, 1.6, 2);
} else {
if ((((_arg1 == 2)) && (!((arms.ani2 == null))))){
_root.adjustAmmo(_arg1, -1);
_root.soundHold.addSound("smg_fire");
if (arms.ani2.currentFrame == 1){
_local2 = hold.globalToLocal(arms.ani2.localToGlobal(new Point(arms.ani2.aim1.x, arms.ani2.aim1.y)));
hold.effects.addBullet(_local2, _local3, 1.6, this, 120, 16777214, 2, 1.3, 1);
} else {
if (arms.ani2.currentFrame == 3){
_local2 = hold.globalToLocal(arms.ani2.localToGlobal(new Point(arms.ani2.aimb1.x, arms.ani2.aimb1.y)));
hold.effects.addBullet(_local2, _local3, 1.6, this, 120, 16777214, 2, 1.3, 1);
};
};
} else {
if ((((_arg1 == 3)) && (!((arms.ani3 == null))))){
_root.adjustAmmo(_arg1, -1);
_root.soundHold.addSound("shotgun_fire");
_local2 = hold.globalToLocal(arms.ani3.localToGlobal(new Point(arms.ani3.aim1.x, arms.ani3.aim1.y)));
hold.effects.addBullet(_local2, _local3, 12, this, 120, 16777214, 3, 2.2, 4);
hold.effects.addBullet(_local2, (_local3 + (0.2 - (mrandom() * 0.4))), 4, this, 120, 16777214, 2, 1.8, 1.3);
hold.effects.addBullet(_local2, (_local3 + (0.3 - (mrandom() * 0.6))), 3, this, 120, 16777214, 2, 1.6, 1.2);
hold.effects.addBullet(_local2, (_local3 + (0.4 - (mrandom() * 0.9))), 2, this, 120, 16777214, 2, 1.5, 1.1);
hold.effects.addBullet(_local2, (_local3 + (0.5 - mrandom())), 1, this, 120, 16777214, 2, 1.4, 1);
} else {
if ((((_arg1 == 4)) && (!((arms.ani4 == null))))){
_root.adjustAmmo(_arg1, -1);
_root.soundHold.addSound("rifle_fire");
_local2 = hold.globalToLocal(arms.ani4.localToGlobal(new Point(arms.ani4.aim1.x, arms.ani4.aim1.y)));
hold.effects.addBullet(_local2, _local3, 5, this, 120, 16777214, 3, 1.8, 3);
} else {
if ((((_arg1 == 5)) && (!((arms.ani5 == null))))){
_root.adjustAmmo(_arg1, -1);
_root.soundHold.addSound("sniper_fire");
_local2 = hold.globalToLocal(arms.ani5.localToGlobal(new Point(arms.ani5.aim1.x, arms.ani5.aim1.y)));
hold.effects.addBullet(_local2, _local3, 40, this, 120, 16777214, 5, 2, 8);
};
};
};
};
};
return (true);
} else {
_root.soundHold.addSound("no_ammo");
};
return (!NULL!);
}
public function twiddleOffset(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Number{
return ((_arg2 + (_arg3 / (exp(((_arg1 - _arg4) / _arg5)) + 1))));
}
public function updateAnimation():void{
if (specialMovement){
if (legs.currentFrame == 4){
if (legs.ani4 != null){
if (legs.ani4.currentFrame < legs.ani4.totalFrames){
legs.ani4.nextFrame();
};
};
};
} else {
headTarg = _root.interRotation((arms.rotation * d_r), (legs.rotation * d_r), 0.3, true);
head.rotation = (_root.interRotation((head.rotation * d_r), headTarg, 0.2, true) * r_d);
arms.rotation = (aimPol * r_d);
legs.rotation = (curDir * r_d);
if ((((head.currentFrame == 1)) && (!((head.ani1 == null))))){
if ((((abs(curDrive) < 1)) && (!(_root.mouseIsDown)))){
if (head.ani1.currentFrame > 1){
head.ani1.nextFrame();
} else {
if (headTime > 0){
headTime--;
} else {
head.ani1.gotoAndStop(2);
headTime = (180 + uint((mrandom() * 200)));
};
};
} else {
headTime = 220;
if (head.ani1.currentFrame > 1){
if (head.ani1.currentFrame < 61){
head.ani1.gotoAndStop(61);
} else {
head.ani1.nextFrame();
};
};
};
};
if ((((arms.currentFrame == 1)) && (!((arms.ani1 == null))))){
if (arms.ani1.currentFrame == 8){
if (bodyTime > 0){
bodyTime--;
} else {
arms.ani1.gotoAndStop(16);
};
} else {
if (arms.ani1.currentFrame > 1){
arms.ani1.nextFrame();
};
};
} else {
if ((((arms.currentFrame == 2)) && (!((arms.ani2 == null))))){
if (((!((arms.ani2.currentFrame == 1))) && (!((arms.ani2.currentFrame == 3))))){
arms.ani2.nextFrame();
} else {
if (((_root.mouseIsDown) && ((_root.weaponsList[1][1] > 0)))){
if (shootGun(2)){
arms.ani2.nextFrame();
};
};
};
} else {
if ((((arms.currentFrame == 3)) && (!((arms.ani3 == null))))){
if (arms.ani3.currentFrame > 1){
arms.ani3.nextFrame();
};
} else {
if ((((arms.currentFrame == 4)) && (!((arms.ani4 == null))))){
if (arms.ani4.currentFrame > 1){
arms.ani4.nextFrame();
} else {
if (((_root.mouseIsDown) && ((_root.weaponsList[3][1] > 0)))){
if (shootGun(4)){
arms.ani4.nextFrame();
};
};
};
} else {
if ((((arms.currentFrame == 5)) && (!((arms.ani5 == null))))){
if (arms.ani5.currentFrame > 1){
arms.ani5.nextFrame();
};
};
};
};
};
};
if (arms.currentFrame != _root.weapon){
arms.gotoAndStop(_root.weapon);
};
if ((((abs(curDrive) > 1)) && (!(hitWall)))){
if (reversing){
legs.gotoAndStop(3);
} else {
legs.gotoAndStop(2);
};
} else {
legs.gotoAndStop(1);
};
if ((((legs.currentFrame == 2)) && (!((legs.ani2 == null))))){
legs.ani2.nextFrame();
} else {
if ((((legs.currentFrame == 3)) && (!((legs.ani3 == null))))){
legs.ani3.nextFrame();
};
};
legs.x = x;
legs.y = y;
legs.scaleX = scaleX;
legs.scaleY = scaleY;
};
}
public function shootWeapon(_arg1:Event):void{
if ((((arms.currentFrame == 1)) && (!((arms.ani1 == null))))){
if (arms.ani1.currentFrame == 1){
shootGun(1);
bodyTime = 120;
arms.ani1.gotoAndStop(2);
} else {
if (arms.ani1.currentFrame == 8){
if (shootGun(1)){
arms.ani1.gotoAndStop(9);
};
};
};
} else {
if ((((arms.currentFrame == 3)) && (!((arms.ani3 == null))))){
if (arms.ani3.currentFrame == 1){
if (shootGun(3)){
arms.ani3.gotoAndStop(2);
};
};
} else {
if ((((arms.currentFrame == 5)) && (!((arms.ani5 == null))))){
if (arms.ani5.currentFrame == 1){
if (shootGun(5)){
arms.ani5.gotoAndStop(2);
};
};
};
};
};
}
public function setVals(_arg1:MovieClip, _arg2:MovieClip, _arg3:MovieClip, _arg4:MovieClip):void{
legs = _arg1;
arms = _arg2;
head = _arg3;
area = _arg4;
addEventListener("hurt", onHit);
addEventListener("heal", onHeal);
addEventListener("killed", onKilled);
arms.gotoAndStop(1);
mass = 3;
maxHealth = 100;
health = maxHealth;
bounds = [[0, 20, 0], [20, 0, (PI / 2)], [0, -20, PI], [-20, 0, (-(PI) / 2)]];
_root.addEventListener("mouseClicked", shootWeapon);
}
public function onHit(_arg1:Event):void{
_root.healthbox.setHealth(health, maxHealth);
}
public function onKilled(_arg1:Event):void{
var _local2:MovieClip;
_local2 = closeEnemy();
_root.musicHold.fadeOut(30);
_root.healthbox.setHealth(health, maxHealth);
_root.mSpider = false;
targDrive = 0;
specialMovement = true;
if (_local2 == null){
visible = false;
legs.gotoAndStop(4);
} else {
if (_local2.specKill != null){
visible = false;
legs.visible = false;
_local2.specKill();
} else {
visible = false;
legs.gotoAndStop(4);
};
};
removeEventListener("hurt", onHit);
removeEventListener("killed", onKilled);
}
public function correctTerrain():void{
var _local1:Rectangle;
_local1 = area.getBounds(_root);
if (_local1.left > 0){
hold.x = 0;
} else {
if (_local1.right < 550){
hold.x = (550 - _local1.width);
};
};
if (_local1.top > 0){
hold.y = 0;
} else {
if (_local1.bottom < 450){
hold.y = (450 - _local1.height);
};
};
}
}
}//package
Section 156
//WaspEnemy (WaspEnemy)
package {
public dynamic class WaspEnemy extends FlyEnemy {
public function WaspEnemy(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package