STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
229161
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2571 · P5142

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/20928226?noj=FRM20928226-19DC" width="1" height="1"></div>

game-1292018591.swf

This is the info page for
Flash #256938

(Click the ID number above for more basic data on this flash file.)


Text
ok

How to play

Click or drag a jellyfish to move a
horizontal line and to match
jellyfishes.
Match three or more jellyfishes
any direction to earn points and
to get more oxygen.
Make a match every move to
multiply points.
Watch out your oxygen level on
the top of screen.

Pause

Restart

play

Game paused, press Space or Esc to continue

menu

or

video

Space

R

Esc

O
2

x10

+2500

squirrel

square

indie game squirrels

<p align="center"><font face="a_FuturaRoundDemi" size="20" color="#ffffff" letterSpacing="0.000000" kerning="1">loading</font></p>

deep

trip

play

sounds

square

squirrel

WAVE 1

0000000

highscore

more games

host game

More great games!

walktrougth

menu

replay

submit

advertisment

no ads

Top result

<p align="left"><font face="a_FuturaRoundDemi" size="24" color="#ccffe7" letterSpacing="0.000000" kerning="1">54000</font></p>

<p align="center"><font face="a_FuturaRoundDemi" size="30" color="#ccffe7" letterSpacing="0.000000" kerning="1">54000</font></p>

Deep trip!

<p align="center"><font face="a_FuturaRoundDemi" size="20" color="#62bbe8" letterSpacing="0.000000" kerning="1"><b>Submit to compete! </b></font></p>

ActionScript [AS3]

Section 1
//JSON (com.adobe.serialization.json.JSON) package com.adobe.serialization.json { public class JSON { public static function decode(_arg1:String){ var _local2:JSONDecoder; _local2 = new JSONDecoder(_arg1); return (_local2.getValue()); } public static function encode(_arg1:Object):String{ var _local2:JSONEncoder; _local2 = new JSONEncoder(_arg1); return (_local2.getString()); } } }//package com.adobe.serialization.json
Section 2
//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){ tokenizer = new JSONTokenizer(_arg1); nextToken(); value = parseValue(); } private function nextToken():JSONToken{ return ((token = tokenizer.getNextToken())); } private function parseObject():Object{ var _local1:Object; var _local2:String; _local1 = new Object(); nextToken(); if (token.type == JSONTokenType.RIGHT_BRACE){ return (_local1); }; while (true) { if (token.type == JSONTokenType.STRING){ _local2 = String(token.value); nextToken(); if (token.type == JSONTokenType.COLON){ nextToken(); _local1[_local2] = parseValue(); nextToken(); if (token.type == JSONTokenType.RIGHT_BRACE){ return (_local1); }; if (token.type == JSONTokenType.COMMA){ nextToken(); } else { tokenizer.parseError(("Expecting } or , but found " + token.value)); }; } else { tokenizer.parseError(("Expecting : but found " + token.value)); }; } else { tokenizer.parseError(("Expecting string but found " + token.value)); }; }; return (null); } private function parseArray():Array{ var _local1:Array; _local1 = new Array(); nextToken(); if (token.type == JSONTokenType.RIGHT_BRACKET){ return (_local1); }; while (true) { _local1.push(parseValue()); nextToken(); if (token.type == JSONTokenType.RIGHT_BRACKET){ return (_local1); }; if (token.type == JSONTokenType.COMMA){ nextToken(); } else { tokenizer.parseError(("Expecting ] or , but found " + token.value)); }; }; return (null); } public function getValue(){ return (value); } private function parseValue():Object{ if (token == null){ tokenizer.parseError("Unexpected end of input"); }; switch (token.type){ case JSONTokenType.LEFT_BRACE: return (parseObject()); case JSONTokenType.LEFT_BRACKET: return (parseArray()); case JSONTokenType.STRING: case JSONTokenType.NUMBER: case JSONTokenType.TRUE: case JSONTokenType.FALSE: case JSONTokenType.NULL: return (token.value); default: tokenizer.parseError(("Unexpected " + token.value)); }; return (null); } } }//package com.adobe.serialization.json
Section 3
//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){ jsonString = convertToString(_arg1); } private function arrayToString(_arg1:Array):String{ var _local2:String; var _local3:int; _local2 = ""; _local3 = 0; while (_local3 < _arg1.length) { if (_local2.length > 0){ _local2 = (_local2 + ","); }; _local2 = (_local2 + convertToString(_arg1[_local3])); _local3++; }; return ((("[" + _local2) + "]")); } private function convertToString(_arg1):String{ if ((_arg1 is String)){ return (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 (arrayToString((_arg1 as Array))); }; if ((((_arg1 is Object)) && (!((_arg1 == null))))){ return (objectToString(_arg1)); }; }; }; return ("null"); } private function escapeString(_arg1:String):String{ var _local2:String; var _local3:String; var _local4:Number; var _local5:int; var _local6:String; var _local7:String; _local2 = ""; _local4 = _arg1.length; _local5 = 0; 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 objectToString(_arg1:Object):String{ var s:String; var classInfo:XML; var value:Object; var key:String; var v:XML; var o = _arg1; s = ""; classInfo = 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 + ((escapeString(key) + ":") + convertToString(value))); }; }; } else { for each (v in classInfo..*.(((name() == "variable")) || ((name() == "accessor")))) { if (s.length > 0){ s = (s + ","); }; s = (s + ((escapeString(v.@name.toString()) + ":") + convertToString(o[v.@name]))); }; }; return ((("{" + s) + "}")); } public function getString():String{ return (jsonString); } } }//package com.adobe.serialization.json
Section 4
//JSONParseError (com.adobe.serialization.json.JSONParseError) package com.adobe.serialization.json { public class JSONParseError extends Error { private var _text:String; private var _location:int; public function JSONParseError(_arg1:String="", _arg2:int=0, _arg3:String=""){ super(_arg1); name = "JSONParseError"; _location = _arg2; _text = _arg3; } public function get text():String{ return (_text); } public function get location():int{ return (_location); } } }//package com.adobe.serialization.json
Section 5
//JSONToken (com.adobe.serialization.json.JSONToken) package com.adobe.serialization.json { public class JSONToken { private var _value:Object; private var _type:int; public function JSONToken(_arg1:int=-1, _arg2:Object=null){ _type = _arg1; _value = _arg2; } public function set value(_arg1:Object):void{ _value = _arg1; } public function get value():Object{ return (_value); } public function set type(_arg1:int):void{ _type = _arg1; } public function get type():int{ return (_type); } } }//package com.adobe.serialization.json
Section 6
//JSONTokenizer (com.adobe.serialization.json.JSONTokenizer) package com.adobe.serialization.json { public class JSONTokenizer { private var loc:int; private var ch:String; private var obj:Object; private var jsonString:String; public function JSONTokenizer(_arg1:String){ jsonString = _arg1; loc = 0; nextChar(); } private function skipComments():void{ if (ch == "/"){ nextChar(); switch (ch){ case "/": do { nextChar(); } while (((!((ch == "\n"))) && (!((ch == ""))))); nextChar(); break; case "*": nextChar(); while (true) { if (ch == "*"){ nextChar(); if (ch == "/"){ nextChar(); break; }; } else { nextChar(); }; if (ch == ""){ parseError("Multi-line comment not closed"); }; }; break; default: parseError((("Unexpected " + ch) + " encountered (expecting '/' or '*' )")); }; }; } private function isDigit(_arg1:String):Boolean{ return ((((_arg1 >= "0")) && ((_arg1 <= "9")))); } private function readNumber():JSONToken{ var _local1:JSONToken; var _local2:String; var _local3:Number; _local1 = new JSONToken(); _local1.type = JSONTokenType.NUMBER; _local2 = ""; if (ch == "-"){ _local2 = (_local2 + "-"); nextChar(); }; if (!isDigit(ch)){ parseError("Expecting a digit"); }; if (ch == "0"){ _local2 = (_local2 + ch); nextChar(); if (isDigit(ch)){ parseError("A digit cannot immediately follow 0"); }; } else { while (isDigit(ch)) { _local2 = (_local2 + ch); nextChar(); }; }; if (ch == "."){ _local2 = (_local2 + "."); nextChar(); if (!isDigit(ch)){ parseError("Expecting a digit"); }; while (isDigit(ch)) { _local2 = (_local2 + ch); nextChar(); }; }; if ((((ch == "e")) || ((ch == "E")))){ _local2 = (_local2 + "e"); nextChar(); if ((((ch == "+")) || ((ch == "-")))){ _local2 = (_local2 + ch); nextChar(); }; if (!isDigit(ch)){ parseError("Scientific notation number needs exponent value"); }; while (isDigit(ch)) { _local2 = (_local2 + ch); nextChar(); }; }; _local3 = Number(_local2); if (((isFinite(_local3)) && (!(isNaN(_local3))))){ _local1.value = _local3; return (_local1); }; parseError((("Number " + _local3) + " is not valid!")); return (null); } private function nextChar():String{ return ((ch = jsonString.charAt(loc++))); } public function getNextToken():JSONToken{ var _local1:JSONToken; var _local2:String; var _local3:String; var _local4:String; _local1 = new JSONToken(); skipIgnored(); switch (ch){ case "{": _local1.type = JSONTokenType.LEFT_BRACE; _local1.value = "{"; nextChar(); break; case "}": _local1.type = JSONTokenType.RIGHT_BRACE; _local1.value = "}"; nextChar(); break; case "[": _local1.type = JSONTokenType.LEFT_BRACKET; _local1.value = "["; nextChar(); break; case "]": _local1.type = JSONTokenType.RIGHT_BRACKET; _local1.value = "]"; nextChar(); break; case ",": _local1.type = JSONTokenType.COMMA; _local1.value = ","; nextChar(); break; case ":": _local1.type = JSONTokenType.COLON; _local1.value = ":"; nextChar(); break; case "t": _local2 = ((("t" + nextChar()) + nextChar()) + nextChar()); if (_local2 == "true"){ _local1.type = JSONTokenType.TRUE; _local1.value = true; nextChar(); } else { parseError(("Expecting 'true' but found " + _local2)); }; break; case "f": _local3 = (((("f" + nextChar()) + nextChar()) + nextChar()) + nextChar()); if (_local3 == "false"){ _local1.type = JSONTokenType.FALSE; _local1.value = false; nextChar(); } else { parseError(("Expecting 'false' but found " + _local3)); }; break; case "n": _local4 = ((("n" + nextChar()) + nextChar()) + nextChar()); if (_local4 == "null"){ _local1.type = JSONTokenType.NULL; _local1.value = null; nextChar(); } else { parseError(("Expecting 'null' but found " + _local4)); }; break; case "\"": _local1 = readString(); break; default: if (((isDigit(ch)) || ((ch == "-")))){ _local1 = readNumber(); } else { if (ch == ""){ return (null); }; parseError((("Unexpected " + ch) + " encountered")); }; }; return (_local1); } private function skipWhite():void{ while (isWhiteSpace(ch)) { nextChar(); }; } private function isWhiteSpace(_arg1:String):Boolean{ return ((((((((_arg1 == " ")) || ((_arg1 == "\t")))) || ((_arg1 == "\n")))) || ((_arg1 == "\r")))); } public function parseError(_arg1:String):void{ throw (new JSONParseError(_arg1, loc, jsonString)); } private function skipIgnored():void{ var _local1:int; do { _local1 = loc; skipWhite(); skipComments(); } while (_local1 != loc); } private function isHexDigit(_arg1:String):Boolean{ var _local2:String; _local2 = _arg1.toUpperCase(); return (((isDigit(_arg1)) || ((((_local2 >= "A")) && ((_local2 <= "F")))))); } private function readString():JSONToken{ var _local1:JSONToken; var _local2:String; var _local3:String; var _local4:int; _local1 = new JSONToken(); _local1.type = JSONTokenType.STRING; _local2 = ""; nextChar(); while (((!((ch == "\""))) && (!((ch == ""))))) { if (ch == "\\"){ nextChar(); switch (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 (!isHexDigit(nextChar())){ parseError((" Excepted a hex digit, but found: " + ch)); }; _local3 = (_local3 + ch); _local4++; }; _local2 = (_local2 + String.fromCharCode(parseInt(_local3, 16))); break; default: _local2 = (_local2 + ("\\" + ch)); }; } else { _local2 = (_local2 + ch); }; nextChar(); }; if (ch == ""){ parseError("Unterminated string literal"); }; nextChar(); _local1.value = _local2; return (_local1); } } }//package com.adobe.serialization.json
Section 7
//JSONTokenType (com.adobe.serialization.json.JSONTokenType) package com.adobe.serialization.json { public class JSONTokenType { public static const NUMBER:int = 11; public static const FALSE:int = 8; public static const RIGHT_BRACKET:int = 4; public static const NULL:int = 9; public static const TRUE:int = 7; public static const RIGHT_BRACE:int = 2; public static const UNKNOWN:int = -1; public static const COMMA:int = 0; public static const LEFT_BRACKET:int = 3; public static const STRING:int = 10; public static const LEFT_BRACE:int = 1; public static const COLON:int = 6; } }//package com.adobe.serialization.json
Section 8
//Base64 (com.midasplayer.extras.Base64) package com.midasplayer.extras { import flash.utils.*; public class Base64 { public static const version:String = "1.1.0"; private static const BASE64_CHARS:String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; public function Base64(){ throw (new Error("Base64 class is static container only")); } public static function encode(_arg1:String):String{ var _local2:ByteArray; _local2 = new ByteArray(); _local2.writeUTFBytes(_arg1); return (encodeByteArray(_local2)); } public static function encodeByteArray(_arg1:ByteArray):String{ var _local2:String; var _local3:Array; var _local4:Array; var _local5:uint; var _local6:uint; var _local7:uint; _local2 = ""; _local4 = new Array(4); _arg1.position = 0; while (_arg1.bytesAvailable > 0) { _local3 = new Array(); _local5 = 0; while ((((_local5 < 3)) && ((_arg1.bytesAvailable > 0)))) { _local3[_local5] = _arg1.readUnsignedByte(); _local5++; }; _local4[0] = ((_local3[0] & 252) >> 2); _local4[1] = (((_local3[0] & 3) << 4) | (_local3[1] >> 4)); _local4[2] = (((_local3[1] & 15) << 2) | (_local3[2] >> 6)); _local4[3] = (_local3[2] & 63); _local6 = _local3.length; while (_local6 < 3) { _local4[(_local6 + 1)] = 64; _local6++; }; _local7 = 0; while (_local7 < _local4.length) { _local2 = (_local2 + BASE64_CHARS.charAt(_local4[_local7])); _local7++; }; }; return (_local2); } public static function decode(_arg1:String):String{ var _local2:ByteArray; _local2 = decodeToByteArray(_arg1); return (_local2.readUTFBytes(_local2.length)); } public static function decodeToByteArray(_arg1:String):ByteArray{ var _local2:ByteArray; var _local3:Array; var _local4:Array; var _local5:uint; var _local6:uint; var _local7:uint; _local2 = new ByteArray(); _local3 = new Array(4); _local4 = new Array(3); _local5 = 0; while (_local5 < _arg1.length) { _local6 = 0; while ((((_local6 < 4)) && (((_local5 + _local6) < _arg1.length)))) { _local3[_local6] = BASE64_CHARS.indexOf(_arg1.charAt((_local5 + _local6))); _local6++; }; _local4[0] = ((_local3[0] << 2) + ((_local3[1] & 48) >> 4)); _local4[1] = (((_local3[1] & 15) << 4) + ((_local3[2] & 60) >> 2)); _local4[2] = (((_local3[2] & 3) << 6) + _local3[3]); _local7 = 0; while (_local7 < _local4.length) { if (_local3[(_local7 + 1)] == 64){ break; }; _local2.writeByte(_local4[_local7]); _local7++; }; _local5 = (_local5 + 4); }; _local2.position = 0; return (_local2); } } }//package com.midasplayer.extras
Section 9
//FunflowSerializer (com.midasplayer.extras.FunflowSerializer) package com.midasplayer.extras { import flash.net.*; import flash.utils.*; public class FunflowSerializer { public static function amfEncode(_arg1:Object):String{ var _local2:ByteArray; _local2 = new ByteArray(); _local2.writeObject(_arg1); return (Base64.encodeByteArray(_local2)); } public static function objectToFlashURLVariables(_arg1:Object):URLVariables{ var _local2:URLVariables; var _local3:String; _local2 = new URLVariables(); if (_arg1 != null){ for (_local3 in _arg1) { if (_local3 != null){ if ((_arg1[_local3] is Array)){ _local2[("fv_" + _local3)] = _arg1[_local3]; } else { _local2[("fv_" + _local3)] = _arg1[_local3].toString(); }; }; }; }; return (_local2); } public static function amfDecode(_arg1:String):Object{ var _local2:ByteArray; _local2 = Base64.decodeToByteArray(_arg1); return (_local2.readObject()); } } }//package com.midasplayer.extras
Section 10
//md5 (com.midasplayer.extras.md5) package com.midasplayer.extras { public class md5 { public static const HEX_FORMAT_LOWERCASE:uint = 0; public static const HEX_FORMAT_UPPERCASE:uint = 1; public static const BASE64_PAD_CHARACTER_DEFAULT_COMPLIANCE:String = ""; public static const BASE64_PAD_CHARACTER_RFC_COMPLIANCE:String = "="; public static var hexcase:uint = 0; public static var b64pad:String = ""; public static function md5_gg(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Number{ return (md5_cmn(((_arg2 & _arg4) | (_arg3 & ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7)); } public static function md5_cmn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Number{ return (safe_add(bit_rol(safe_add(safe_add(_arg2, _arg1), safe_add(_arg4, _arg6)), _arg5), _arg3)); } public static function binl_md5(_arg1:Array, _arg2:Number):Array{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; _arg1[(_arg2 >> 5)] = (_arg1[(_arg2 >> 5)] | (128 << (_arg2 % 32))); _arg1[((((_arg2 + 64) >>> 9) << 4) + 14)] = _arg2; _local3 = 1732584193; _local4 = -271733879; _local5 = -1732584194; _local6 = 271733878; _local7 = 0; while (_local7 < _arg1.length) { _local8 = _local3; _local9 = _local4; _local10 = _local5; _local11 = _local6; _local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 7, -680876936); _local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 1)], 12, -389564586); _local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 17, 606105819); _local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 3)], 22, -1044525330); _local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 7, -176418897); _local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 5)], 12, 1200080426); _local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 17, -1473231341); _local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 7)], 22, -45705983); _local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 7, 1770035416); _local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 9)], 12, -1958414417); _local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 17, -42063); _local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 11)], 22, -1990404162); _local3 = md5_ff(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 7, 1804603682); _local6 = md5_ff(_local6, _local3, _local4, _local5, _arg1[(_local7 + 13)], 12, -40341101); _local5 = md5_ff(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 17, -1502002290); _local4 = md5_ff(_local4, _local5, _local6, _local3, _arg1[(_local7 + 15)], 22, 1236535329); _local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 5, -165796510); _local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 6)], 9, -1069501632); _local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 14, 643717713); _local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 0)], 20, -373897302); _local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 5, -701558691); _local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 10)], 9, 38016083); _local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 14, -660478335); _local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 4)], 20, -405537848); _local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 5, 568446438); _local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 14)], 9, -1019803690); _local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 14, -187363961); _local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 8)], 20, 1163531501); _local3 = md5_gg(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 5, -1444681467); _local6 = md5_gg(_local6, _local3, _local4, _local5, _arg1[(_local7 + 2)], 9, -51403784); _local5 = md5_gg(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 14, 1735328473); _local4 = md5_gg(_local4, _local5, _local6, _local3, _arg1[(_local7 + 12)], 20, -1926607734); _local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 5)], 4, -378558); _local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 8)], 11, -2022574463); _local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 11)], 16, 1839030562); _local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 14)], 23, -35309556); _local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 1)], 4, -1530992060); _local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 4)], 11, 1272893353); _local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 7)], 16, -155497632); _local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 10)], 23, -1094730640); _local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 13)], 4, 681279174); _local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 0)], 11, -358537222); _local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 3)], 16, -722521979); _local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 6)], 23, 76029189); _local3 = md5_hh(_local3, _local4, _local5, _local6, _arg1[(_local7 + 9)], 4, -640364487); _local6 = md5_hh(_local6, _local3, _local4, _local5, _arg1[(_local7 + 12)], 11, -421815835); _local5 = md5_hh(_local5, _local6, _local3, _local4, _arg1[(_local7 + 15)], 16, 530742520); _local4 = md5_hh(_local4, _local5, _local6, _local3, _arg1[(_local7 + 2)], 23, -995338651); _local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 0)], 6, -198630844); _local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 7)], 10, 1126891415); _local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 14)], 15, -1416354905); _local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 5)], 21, -57434055); _local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 12)], 6, 1700485571); _local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 3)], 10, -1894986606); _local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 10)], 15, -1051523); _local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 1)], 21, -2054922799); _local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 8)], 6, 1873313359); _local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 15)], 10, -30611744); _local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 6)], 15, -1560198380); _local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 13)], 21, 1309151649); _local3 = md5_ii(_local3, _local4, _local5, _local6, _arg1[(_local7 + 4)], 6, -145523070); _local6 = md5_ii(_local6, _local3, _local4, _local5, _arg1[(_local7 + 11)], 10, -1120210379); _local5 = md5_ii(_local5, _local6, _local3, _local4, _arg1[(_local7 + 2)], 15, 718787259); _local4 = md5_ii(_local4, _local5, _local6, _local3, _arg1[(_local7 + 9)], 21, -343485551); _local3 = safe_add(_local3, _local8); _local4 = safe_add(_local4, _local9); _local5 = safe_add(_local5, _local10); _local6 = safe_add(_local6, _local11); _local7 = (_local7 + 16); }; return ([_local3, _local4, _local5, _local6]); } public static function str2rstr_utf16le(_arg1:String):String{ var _local2:String; var _local3:Number; _local2 = ""; _local3 = 0; while (_local3 < _arg1.length) { _local2 = (_local2 + String.fromCharCode((_arg1.charCodeAt(_local3) & 0xFF), ((_arg1.charCodeAt(_local3) >>> 8) & 0xFF))); _local3++; }; return (_local2); } public static function hex_hmac_md5(_arg1:String, _arg2:String):String{ return (rstr2hex(rstr_hmac_md5(str2rstr_utf8(_arg1), str2rstr_utf8(_arg2)))); } public static function binl2rstr(_arg1:Array):String{ var _local2:String; var _local3:Number; _local2 = ""; _local3 = 0; while (_local3 < (_arg1.length * 32)) { _local2 = (_local2 + String.fromCharCode(((_arg1[(_local3 >> 5)] >>> (_local3 % 32)) & 0xFF))); _local3 = (_local3 + 8); }; return (_local2); } public static function md5_ff(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Number{ return (md5_cmn(((_arg2 & _arg3) | (~(_arg2) & _arg4)), _arg1, _arg2, _arg5, _arg6, _arg7)); } public static function md5_ii(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Number{ return (md5_cmn((_arg3 ^ (_arg2 | ~(_arg4))), _arg1, _arg2, _arg5, _arg6, _arg7)); } public static function rstr2binl(_arg1:String):Array{ var _local2:Number; var _local3:Array; _local2 = 0; _local3 = new Array((_arg1.length >> 2)); _local2 = 0; while (_local2 < _local3.length) { _local3[_local2] = 0; _local2++; }; _local2 = 0; while (_local2 < (_arg1.length * 8)) { _local3[(_local2 >> 5)] = (_local3[(_local2 >> 5)] | ((_arg1.charCodeAt((_local2 / 8)) & 0xFF) << (_local2 % 32))); _local2 = (_local2 + 8); }; return (_local3); } public static function md5_vm_test():Boolean{ return ((hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72")); } public static function b64_md5(_arg1:String):String{ return (rstr2b64(rstr_md5(str2rstr_utf8(_arg1)))); } public static function any_hmac_md5(_arg1:String, _arg2:String, _arg3:String):String{ return (rstr2any(rstr_hmac_md5(str2rstr_utf8(_arg1), str2rstr_utf8(_arg2)), _arg3)); } public static function hex_md5(_arg1:String):String{ return (rstr2hex(rstr_md5(str2rstr_utf8(_arg1)))); } public static function bit_rol(_arg1:Number, _arg2:Number):Number{ return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2)))); } public static function encrypt(_arg1:String):String{ return (hex_md5(_arg1)); } public static function md5_hh(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number):Number{ return (md5_cmn(((_arg2 ^ _arg3) ^ _arg4), _arg1, _arg2, _arg5, _arg6, _arg7)); } public static function rstr2hex(_arg1:String):String{ var _local2:String; var _local3:String; var _local4:Number; var _local5:Number; _local2 = (hexcase) ? "0123456789ABCDEF" : "0123456789abcdef"; _local3 = ""; _local5 = 0; while (_local5 < _arg1.length) { _local4 = _arg1.charCodeAt(_local5); _local3 = (_local3 + (_local2.charAt(((_local4 >>> 4) & 15)) + _local2.charAt((_local4 & 15)))); _local5++; }; return (_local3); } public static function any_md5(_arg1:String, _arg2:String):String{ return (rstr2any(rstr_md5(str2rstr_utf8(_arg1)), _arg2)); } public static function b64_hmac_md5(_arg1:String, _arg2:String):String{ return (rstr2b64(rstr_hmac_md5(str2rstr_utf8(_arg1), str2rstr_utf8(_arg2)))); } public static function rstr2b64(_arg1:String):String{ var _local2:String; var _local3:String; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; _local2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; _local3 = ""; _local4 = _arg1.length; _local5 = 0; while (_local5 < _local4) { _local6 = (((_arg1.charCodeAt(_local5) << 16) | (((_local5 + 1) < _local4)) ? (_arg1.charCodeAt((_local5 + 1)) << 8) : 0) | (((_local5 + 2) < _local4)) ? _arg1.charCodeAt((_local5 + 2)) : 0); _local7 = 0; while (_local7 < 4) { if (((_local5 * 8) + (_local7 * 6)) > (_arg1.length * 8)){ _local3 = (_local3 + b64pad); } else { _local3 = (_local3 + _local2.charAt(((_local6 >>> (6 * (3 - _local7))) & 63))); }; _local7++; }; _local5 = (_local5 + 3); }; return (_local3); } public static function safe_add(_arg1:Number, _arg2:Number):Number{ var _local3:Number; var _local4:Number; _local3 = ((_arg1 & 0xFFFF) + (_arg2 & 0xFFFF)); _local4 = (((_arg1 >> 16) + (_arg2 >> 16)) + (_local3 >> 16)); return (((_local4 << 16) | (_local3 & 0xFFFF))); } public static function str2rstr_utf8(_arg1:String):String{ var _local2:String; var _local3:Number; var _local4:Number; var _local5:Number; _local2 = ""; _local3 = -1; while (++_local3 < _arg1.length) { _local4 = _arg1.charCodeAt(_local3); _local5 = (((_local3 + 1) < _arg1.length)) ? _arg1.charCodeAt((_local3 + 1)) : 0; if ((((((((0xD800 <= _local4)) && ((_local4 <= 56319)))) && ((0xDC00 <= _local5)))) && ((_local5 <= 57343)))){ _local4 = ((65536 + ((_local4 & 1023) << 10)) + (_local5 & 1023)); _local3++; }; if (_local4 <= 127){ _local2 = (_local2 + String.fromCharCode(_local4)); } else { if (_local4 <= 2047){ _local2 = (_local2 + String.fromCharCode((192 | ((_local4 >>> 6) & 31)), (128 | (_local4 & 63)))); } else { if (_local4 <= 0xFFFF){ _local2 = (_local2 + String.fromCharCode((224 | ((_local4 >>> 12) & 15)), (128 | ((_local4 >>> 6) & 63)), (128 | (_local4 & 63)))); } else { if (_local4 <= 2097151){ _local2 = (_local2 + String.fromCharCode((240 | ((_local4 >>> 18) & 7)), (128 | ((_local4 >>> 12) & 63)), (128 | ((_local4 >>> 6) & 63)), (128 | (_local4 & 63)))); }; }; }; }; }; return (_local2); } public static function rstr_hmac_md5(_arg1:String, _arg2:String):String{ var _local3:Array; var _local4:Array; var _local5:Array; var _local6:Number; var _local7:Array; _local3 = rstr2binl(_arg1); if (_local3.length > 16){ _local3 = binl_md5(_local3, (_arg1.length * 8)); }; _local4 = new Array(16); _local5 = new Array(16); _local6 = 0; while (_local6 < 16) { _local4[_local6] = (_local3[_local6] ^ 909522486); _local5[_local6] = (_local3[_local6] ^ 1549556828); _local6++; }; _local7 = binl_md5(_local4.concat(rstr2binl(_arg2)), (0x0200 + (_arg2.length * 8))); return (binl2rstr(binl_md5(_local5.concat(_local7), (0x0200 + 128)))); } public static function str2rstr_utf16be(_arg1:String):String{ var _local2:String; var _local3:Number; _local2 = ""; _local3 = 0; while (_local3 < _arg1.length) { _local2 = (_local2 + String.fromCharCode(((_arg1.charCodeAt(_local3) >>> 8) & 0xFF), (_arg1.charCodeAt(_local3) & 0xFF))); _local3++; }; return (_local2); } public static function rstr2any(_arg1:String, _arg2:String):String{ var _local3:Number; var _local4:Array; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Array; var _local9:Array; var _local10:String; _local3 = _arg2.length; _local4 = []; _local9 = ((_arg1.length / 2) as Array); _local5 = 0; while (_local5 < _local9.length) { _local9[_local5] = ((_arg1.charCodeAt((_local5 * 2)) << 8) | _arg1.charCodeAt(((_local5 * 2) + 1))); _local5++; }; while (_local9.length > 0) { _local8 = []; _local7 = 0; _local5 = 0; while (_local5 < _local9.length) { _local7 = ((_local7 << 16) + _local9[_local5]); _local6 = Math.floor((_local7 / _local3)); _local7 = (_local7 - (_local6 * _local3)); if ((((_local8.length > 0)) || ((_local6 > 0)))){ _local8[_local8.length] = _local6; }; _local5++; }; _local4[_local4.length] = _local7; _local9 = _local8; }; _local10 = ""; _local5 = (_local4.length - 1); while (_local5 >= 0) { _local10 = (_local10 + _arg2.charAt(_local4[_local5])); _local5--; }; return (_local10); } public static function rstr_md5(_arg1:String):String{ return (binl2rstr(binl_md5(rstr2binl(_arg1), (_arg1.length * 8)))); } } }//package com.midasplayer.extras
Section 11
//BrowseSharedDataEvent (com.midasplayer.BrowseSharedDataEvent) package com.midasplayer { import flash.events.*; import flash.net.*; import com.adobe.serialization.json.*; public class BrowseSharedDataEvent extends Event { public var sharedData:Array; public function BrowseSharedDataEvent(_arg1:Event){ var eventType:String; var servletLoader:URLLoader; var tmpSharedData:Array; var obj:Object; var event = _arg1; sharedData = new Array(); eventType = FunflowAPI.BROWSE_SHARED_DATA_EVENT; try { servletLoader = URLLoader(event.target); tmpSharedData = JSON.decode(servletLoader.data); for each (obj in tmpSharedData) { try { sharedData.push(new SharedData(obj)); } catch(e:Error) { trace(((("Failed to parse shared data object " + servletLoader.data) + ", ") + e.message)); }; }; } catch(e:Error) { trace(((("Failed to parse shared data " + servletLoader.data) + ", ") + e.message)); eventType = FunflowAPI.BROWSE_SHARED_DATA_FAILED_EVENT; }; super(eventType); } } }//package com.midasplayer
Section 12
//FunflowAPI (com.midasplayer.FunflowAPI) package com.midasplayer { import flash.events.*; import flash.display.*; import flash.net.*; import com.adobe.serialization.json.*; import com.midasplayer.extras.*; import flash.system.*; import flash.external.*; public class FunflowAPI { private static const shareURL:String = "http://facebook.king.com/facebook/kinggames/games/share.jsp"; private static const LINK_TYPE_SOLUTIONS:String = "solutions"; private static const gameURL:String = "http://apps.facebook.com/funflow/game.jsp"; private static const LINK_TYPE_HIGHSCORES:String = "highscores"; public static const SHARED_DATA_SAVED_EVENT:String = "sharedDataSaved"; public static const BROWSE_SHARED_DATA_FAILED_EVENT:String = "browseSharedDataFailed"; public static const INITIALIZED_EVENT:String = "initialized"; public static const GET_NUM_SHARED_OBJECTS_EVENT:String = "getNumSharedObjects"; public static const SHARED_DATA_SAVE_FAILED_EVENT:String = "sharedDataSaveFailed"; public static const GOLD_PAYMENT_EVENT:String = "goldPayment"; public static const BROWSE_SHARED_DATA_EVENT:String = "browseSharedData"; public static const HOST_BANNED_EVENT:String = "hostBanned"; public static const GAME_SAVE_FAILED_EVENT:String = "gameSaveFailed"; public static const PAYMENT_DONE_EVENT:String = "paymentDone"; private static const LINK_TYPE_RIGHT_CLICK:String = "rightclick"; public static const GET_NUM_SHARED_OBJECTS_FAILED_EVENT:String = "getNumSharedObjectsFailed"; private static const LINK_TYPE_SIGN:String = "sign"; private static const inviteURL:String = "http://apps.facebook.com/funflow/invite.jsp"; public static const VOTE_SHARED_DATA_EVENT:String = "voteSharedData"; private static const LINK_TYPE_OTHER_GAMES:String = "other_games"; private static const SAK:String = "ggfd7sday923mdsfd8csfds34"; private static const LINK_TYPE_LOADER_MOVIE:String = "loader_movie"; private static const bounceURL:String = "http://www.mygame.com/king/bounce.jsp"; private static const LINK_TYPE_PROTECT:String = "protect"; public static const GAME_SAVED_EVENT:String = "gameSaved"; private static const LINK_TYPE_ADD_GAME:String = "add_game"; public static const GET_USER_VOTE_EVENT:String = "getUserVote"; public static const VOTE_SHARED_DATA_FAILED_EVENT:String = "voteSharedDataFailed"; private static const loadCountURL:String = "http://www.mygame.com/king/loadcount.jsp"; private static const LINK_TYPE_LOADER_PROGRESS:String = "loader_progress"; private static const sharerURL:String = "http://www.facebook.com/sharer.php"; public static var banned:Boolean = false; public static var isHome:Boolean = false; private static var sessionID:String; public static var userAccessToken:String; public static var fromURL:String; public static var friends:Array = null; public static var gameName:String; public static var userRegistered:Boolean = false; protected static var dispatcher:EventDispatcher = new EventDispatcher(); public static var sharedData:SharedData = null; public static var openSame:Boolean = false; public static var kingGameServlet:String = "http://facebook.king.com/servlet/kingGameServlet"; public static var currentUser:FunflowUser = null; private static var SSK:String = "ng43ui54hy35tdsnd6f54rews"; public static function openAddToWebsiteLink():void{ openFunflowPage(LINK_TYPE_ADD_GAME, "website_content.jsp"); } private static function openShareScorePage(_arg1:int):void{ var _local2:URLVariables; _local2 = new URLVariables(); _local2.score = _arg1; _local2.game = gameName; navigateToURL(new URLRequest(((sharerURL + "?u=") + escape(((shareURL + "?") + _local2.toString())))), "_blank"); } public static function startCreditsPayment(_arg1:String, _arg2:String=null):void{ var productShortName = _arg1; var parameter = _arg2; try { if (isHome){ if (parameter != null){ ExternalInterface.call("startCreditsPayment", productShortName, parameter); } else { ExternalInterface.call("startCreditsPayment", productShortName); }; }; } catch(e:Error) { trace(e); }; } public static function saveGame(_arg1:Object):void{ var servletLoader:URLLoader; var reqvars:URLVariables; var request:URLRequest; var data = _arg1; if (currentUser == null){ trace("Save game failed, no facebook user"); dispatcher.dispatchEvent(new Event(GAME_SAVE_FAILED_EVENT)); return; }; servletLoader = new URLLoader(); reqvars = new URLVariables(); reqvars.action = "saveGameState"; reqvars.data = FunflowSerializer.amfEncode(data); reqvars.game = gameName; reqvars.accessToken = userAccessToken; reqvars.fbId = currentUser.fbId; reqvars.sessionKey = currentUser.sessionKey; request = new URLRequest(kingGameServlet); request.method = URLRequestMethod.POST; request.data = reqvars; servletLoader.addEventListener(Event.COMPLETE, gameSavedHandler); servletLoader.addEventListener(IOErrorEvent.IO_ERROR, gameSaveFailedHandler); servletLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, gameSaveFailedHandler); try { servletLoader.load(request); } catch(error:Error) { trace(("Unable to load save game url: " + kingGameServlet)); trace(error.message); dispatcher.dispatchEvent(new Event(GAME_SAVE_FAILED_EVENT)); }; } public static function openSolutionsLink():void{ if (isHome){ ExternalInterface.call("loadSolutionsSwf"); } else { openFunflowPage(LINK_TYPE_SOLUTIONS); }; } private static function sharedDataSavedHandler(_arg1:Event):void{ var servletLoader:URLLoader; var vars:URLVariables; var gameReqvars:URLVariables; var evt:Event; var event = _arg1; try { servletLoader = URLLoader(event.target); trace(("loadCounter.data :" + servletLoader.data)); if (servletLoader.data == "nok"){ dispatcher.dispatchEvent(new Event(SHARED_DATA_SAVE_FAILED_EVENT)); } else { vars = new URLVariables(servletLoader.data); gameReqvars = new URLVariables(); gameReqvars.game = gameName; gameReqvars.ref = gameName; gameReqvars.sdid = vars.sharedDataId; evt = new SharedDataSavedEvent(vars.sharedDataId, ((gameURL + "?") + gameReqvars.toString())); dispatcher.dispatchEvent(evt); }; } catch(e:Error) { trace(("Error reading data from servletLoader url: " + e)); dispatcher.dispatchEvent(new Event(SHARED_DATA_SAVE_FAILED_EVENT)); }; } public static function openOfflineProtectionLink():void{ openFunflowPage(LINK_TYPE_PROTECT); } public static function openOtherGamesLink():void{ openFunflowPage(LINK_TYPE_OTHER_GAMES); } public static function init(_arg1:String, _arg2:LoaderInfo):void{ var loadCounter:URLLoader; var reqvars:URLVariables; var request:URLRequest; var userProductsString:String; var tmpFriends:Array; var friend:Object; var so:SharedObject; var rnd1:Number; var rnd2:Number; var name = _arg1; var loaderInfo = _arg2; gameName = name; fromURL = loaderInfo.url; if (loaderInfo.parameters.hasOwnProperty("user_access_token")){ userAccessToken = loaderInfo.parameters.user_access_token; }; if (loaderInfo.parameters.hasOwnProperty("user_registered")){ userRegistered = true; currentUser = new FunflowUser(); currentUser.fbId = loaderInfo.parameters.user_fbId; currentUser.name = loaderInfo.parameters.user_name; currentUser.firstName = loaderInfo.parameters.user_firstName; currentUser.picture = loaderInfo.parameters.user_picture; currentUser.score = loaderInfo.parameters.user_score; currentUser.level = loaderInfo.parameters.user_level; currentUser.diplomaLevel = loaderInfo.parameters.user_diplomaLevel; currentUser.gold = loaderInfo.parameters.user_gold; currentUser.sessionKey = md5.encrypt(((currentUser.fbId + ":") + SSK)); if (loaderInfo.parameters.hasOwnProperty("user_game_state")){ try { currentUser.gameState = FunflowSerializer.amfDecode(loaderInfo.parameters.user_game_state); } catch(e:Error) { trace(("Unable to deserialize gameState: " + e.message)); }; }; if (loaderInfo.parameters.hasOwnProperty("user_products")){ try { userProductsString = loaderInfo.parameters.user_products; currentUser.products = userProductsString.split(","); } catch(e:Error) { trace(("Unable to deserialize products: " + e.message)); }; }; }; if (loaderInfo.parameters.hasOwnProperty("user_friends")){ try { tmpFriends = JSON.decode(loaderInfo.parameters.user_friends); if (tmpFriends.length > 0){ friends = new Array(); for each (friend in tmpFriends) { friends.push(new FunflowUser(friend)); }; }; } catch(e:Error) { trace(((("Unable to deserialize friendlist: " + loaderInfo.parameters.friends) + ", ") + e.message)); }; }; if (loaderInfo.parameters.hasOwnProperty("shared_data")){ try { sharedData = new SharedData(JSON.decode(loaderInfo.parameters.shared_data)); } catch(e:Error) { trace(("Unable to deserialize shared data: " + e.message)); }; }; try { Security.allowDomain("*"); ExternalInterface.addCallback("paymentDone", paymentDone); } catch(e:Error) { }; loadCounter = new URLLoader(); reqvars = new URLVariables(); reqvars.game = gameName; reqvars.from = fromURL; try { so = SharedObject.getLocal("sessionId"); if (so.data.sessionID == null){ rnd1 = Math.abs(Math.floor((Math.random() * 4294967295))); rnd2 = Math.abs(Math.floor((Math.random() * 4294967295))); so.data.sessionID = (rnd1.toString(16) + rnd2.toString(16)); so.flush(); }; sessionID = so.data.sessionID; } catch(e:Error) { sessionID = "error"; }; reqvars.session = sessionID; request = new URLRequest(loadCountURL); request.data = reqvars; loadCounter.addEventListener(Event.COMPLETE, loadCountHandler); loadCounter.addEventListener(IOErrorEvent.IO_ERROR, loadUrlErrorHandler); loadCounter.addEventListener(SecurityErrorEvent.SECURITY_ERROR, loadUrlErrorHandler); try { loadCounter.load(request); } catch(error:Error) { trace(("Unable to load loadcount url: " + loadCountURL)); trace(error.message); dispatcher.dispatchEvent(new Event(INITIALIZED_EVENT)); }; } public static function openInviteDialog(_arg1:Object=null, _arg2:String=null):void{ var parameters:URLVariables; var flashVars = _arg1; var customMessage = _arg2; try { parameters = FunflowSerializer.objectToFlashURLVariables(flashVars); if (customMessage != null){ parameters.customMessage = customMessage; }; if (isHome){ ExternalInterface.call("openInviteDialog", unescape(parameters.toString())); } else { parameters.game = gameName; navigateToURL(new URLRequest(((inviteURL + "?") + parameters.toString())), "_blank"); }; } catch(e:Error) { trace(e); }; } public static function saveSharedData(_arg1:Object):void{ var servletLoader:URLLoader; var reqvars:URLVariables; var request:URLRequest; var data = _arg1; servletLoader = new URLLoader(); reqvars = new URLVariables(); reqvars.action = "saveSharedData"; reqvars.data = FunflowSerializer.amfEncode(data); reqvars.game = gameName; if (currentUser != null){ reqvars.uid = currentUser.fbId; }; request = new URLRequest(kingGameServlet); request.method = URLRequestMethod.POST; request.data = reqvars; servletLoader.addEventListener(Event.COMPLETE, sharedDataSavedHandler); servletLoader.addEventListener(IOErrorEvent.IO_ERROR, saveSharedDataFailedHandler); servletLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, saveSharedDataFailedHandler); try { servletLoader.load(request); } catch(error:Error) { trace(("Unable to load save game url: " + kingGameServlet)); trace(error.message); dispatcher.dispatchEvent(new Event(SHARED_DATA_SAVED_EVENT)); }; } private static function browseSharedDataHandler(_arg1:Event):void{ var servletLoader:URLLoader; var event = _arg1; try { servletLoader = URLLoader(event.target); if (servletLoader.data == "nok"){ dispatcher.dispatchEvent(new Event(SHARED_DATA_SAVE_FAILED_EVENT)); } else { dispatcher.dispatchEvent(new BrowseSharedDataEvent(event)); }; } catch(e:Error) { trace(("Error reading data from servletLoader url: " + e)); dispatcher.dispatchEvent(new Event(BROWSE_SHARED_DATA_FAILED_EVENT)); }; } public static function voteSharedData(_arg1:uint, _arg2:String):void{ var servletLoader:URLLoader; var reqvars:URLVariables; var request:URLRequest; var score = _arg1; var id = _arg2; if (currentUser == null){ dispatcher.dispatchEvent(new VoteSharedDataFailedEvent(VoteSharedDataFailedEvent.ERROR_NOT_LOGGED_IN)); return; }; servletLoader = new URLLoader(); reqvars = new URLVariables(); reqvars.action = "voteSharedData"; reqvars.game = gameName; reqvars.sdid = id; reqvars.score = score; reqvars.accessToken = userAccessToken; reqvars.fbId = currentUser.fbId; reqvars.sessionKey = currentUser.sessionKey; request = new URLRequest(kingGameServlet); request.method = URLRequestMethod.POST; request.data = reqvars; servletLoader.addEventListener(Event.COMPLETE, voteSharedDataHandler); servletLoader.addEventListener(IOErrorEvent.IO_ERROR, voteSharedDataFailedHandler); servletLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, voteSharedDataFailedHandler); try { servletLoader.load(request); } catch(error:Error) { trace(("Unable to load vote shared data url: " + kingGameServlet)); trace(error.message); dispatcher.dispatchEvent(new VoteSharedDataFailedEvent(VoteSharedDataFailedEvent.ERROR_SERVER)); }; } private static function loadCountHandler(_arg1:Event):void{ var loadCounter:URLLoader; var vars:URLVariables; var event = _arg1; try { loadCounter = URLLoader(event.target); trace(("loadCounter.data :" + loadCounter.data)); vars = new URLVariables(loadCounter.data); if (vars.h == "true"){ isHome = true; }; if (vars.o == "true"){ openSame = true; }; if (vars.b == "true"){ banned = true; dispatcher.dispatchEvent(new Event(HOST_BANNED_EVENT)); } else { dispatcher.dispatchEvent(new Event(INITIALIZED_EVENT)); }; } catch(e:Error) { trace(("Error reading data from loadcount url: " + e)); dispatcher.dispatchEvent(new Event(INITIALIZED_EVENT)); }; } public static function addEventListener(_arg1:String, _arg2:Function):void{ if (dispatcher == null){ dispatcher = new EventDispatcher(); }; dispatcher.addEventListener(_arg1, _arg2); } public static function removeEventListener(_arg1:String, _arg2:Function):void{ if (dispatcher == null){ return; }; dispatcher.removeEventListener(_arg1, _arg2); } public static function submitLevel(_arg1:int):void{ var hash:String; var level = _arg1; hash = md5.encrypt(((((level + ":") + gameName) + ":") + SSK)); try { if (isHome){ ExternalInterface.call("submitLevel", level, hash); if (((!((currentUser == null))) && ((level > currentUser.level)))){ currentUser.level = level; }; }; } catch(e:Error) { trace(e); }; } private static function getNumSharedDataObjectsFailedHandler(_arg1:Event):void{ trace(("Unable to get number of shared objects: " + _arg1)); dispatcher.dispatchEvent(new Event(GET_NUM_SHARED_OBJECTS_FAILED_EVENT)); } public static function openGetMoreGoldPage():void{ try { if (isHome){ ExternalInterface.call("getMoreGold"); }; } catch(e:Error) { trace(e); }; } public static function submitScore(_arg1:int):void{ var hash:String; var score = _arg1; hash = md5.encrypt(((((score + ":") + gameName) + ":") + SSK)); try { if (isHome){ ExternalInterface.call("submitScore", score, hash); if (currentUser != null){ if (score > currentUser.weeklyScore){ currentUser.weeklyScore = score; if (score > currentUser.score){ currentUser.score = score; }; }; }; } else { openShareScorePage(score); }; } catch(e:Error) { trace(e); }; } public static function openLoaderProgressLink():void{ if (!isHome){ openFunflowPage(LINK_TYPE_LOADER_PROGRESS); }; } private static function goldPaymentFailedHandler(_arg1:Event):void{ trace(("Gold payment failed: " + _arg1)); dispatcher.dispatchEvent(new GoldPaymentEvent()); } private static function loadUrlErrorHandler(_arg1:Event):void{ trace(("Unable to load url: " + _arg1)); dispatcher.dispatchEvent(new Event(INITIALIZED_EVENT)); } private static function getUserVoteFailedHandler(_arg1:Event):void{ trace(("Unable to vote for shared data: " + _arg1)); dispatcher.dispatchEvent(new GetUserVoteEvent(0)); } public static function goldPayment(_arg1:String, _arg2:String=null):void{ var servletLoader:URLLoader; var reqvars:URLVariables; var request:URLRequest; var goldPaymentEvent:GoldPaymentEvent; var productShortName = _arg1; var parameter = _arg2; if (currentUser == null){ trace("Gold payment failed, no facebook user"); goldPaymentEvent = new GoldPaymentEvent(); goldPaymentEvent.setErrorCode(GoldPaymentEvent.ERROR_NOT_LOGGED_IN); dispatcher.dispatchEvent(goldPaymentEvent); return; }; servletLoader = new URLLoader(); reqvars = new URLVariables(); reqvars.action = "goldPayment"; reqvars.accessToken = userAccessToken; reqvars.fbId = currentUser.fbId; reqvars.sessionKey = currentUser.sessionKey; reqvars.product = productShortName; if (parameter != null){ reqvars.parameter = parameter; }; request = new URLRequest(kingGameServlet); request.method = URLRequestMethod.POST; request.data = reqvars; servletLoader.addEventListener(Event.COMPLETE, goldPaymentHandler); servletLoader.addEventListener(IOErrorEvent.IO_ERROR, goldPaymentFailedHandler); servletLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, goldPaymentFailedHandler); try { servletLoader.load(request); } catch(error:Error) { trace(("Unable to load gold payment url: " + kingGameServlet)); trace(error.message); dispatcher.dispatchEvent(new GoldPaymentEvent()); }; } private static function getNumSharedDataObjectsHandler(_arg1:Event):void{ var servletLoader:URLLoader; var vars:URLVariables; var evt:Event; var event = _arg1; try { servletLoader = URLLoader(event.target); if (servletLoader.data == "nok"){ dispatcher.dispatchEvent(new Event(GET_NUM_SHARED_OBJECTS_FAILED_EVENT)); } else { vars = new URLVariables(servletLoader.data); evt = new GetNumSharedObjectsEvent(parseInt(vars.numObjects), parseInt(vars.numFeaturedObjects), parseInt(vars.numCreatorObjects)); dispatcher.dispatchEvent(evt); }; } catch(e:Error) { trace(("Error reading data for GetNumSharedObjectsEvent: " + e)); dispatcher.dispatchEvent(new Event(GET_NUM_SHARED_OBJECTS_FAILED_EVENT)); }; } private static function saveSharedDataFailedHandler(_arg1:Event):void{ trace(("Unable to save game: " + _arg1)); dispatcher.dispatchEvent(new Event(SHARED_DATA_SAVE_FAILED_EVENT)); } private static function voteSharedDataFailedHandler(_arg1:Event):void{ trace(("Unable to vote for shared data: " + _arg1)); dispatcher.dispatchEvent(new VoteSharedDataFailedEvent(VoteSharedDataFailedEvent.ERROR_SERVER)); } private static function paymentDone(_arg1:String):void{ if (currentUser.products == null){ currentUser.products = new Array(); }; currentUser.products.push(_arg1); dispatcher.dispatchEvent(new PaymentDoneEvent(_arg1)); } public static function funflowEventPost(_arg1:String, _arg2:int=1):void{ var eventText = _arg1; var priority = _arg2; try { if (isHome){ ExternalInterface.call("customGameEventPost", eventText, priority); }; } catch(e:Error) { trace(e); }; } public static function facebookStreamPost(_arg1:String, _arg2:String, _arg3:Object=null):void{ var parameters:URLVariables; var description = _arg1; var type = _arg2; var flashVars = _arg3; try { parameters = FunflowSerializer.objectToFlashURLVariables(flashVars); if (isHome){ ExternalInterface.call("customGameStreamPost", description, type, parameters.toString()); } else { openSharePage(description, flashVars, type); }; } catch(e:Error) { trace(e); }; } public static function openFunflowPage(_arg1:String, _arg2:String=null):void{ var _local3:URLVariables; var _local4:String; _local3 = new URLVariables(); _local3.game = gameName; _local3.from = fromURL; _local3.type = _arg1; _local3.session = sessionID; if (_arg2 != null){ _local3.redirect = _arg2; }; _local4 = "_blank"; if (((isHome) && (openSame))){ _local4 = "_top"; }; navigateToURL(new URLRequest(((bounceURL + "?") + _local3.toString())), _local4); } public static function getFunflowGamePage(_arg1:Object=null):String{ var _local2:URLVariables; _local2 = FunflowSerializer.objectToFlashURLVariables(_arg1); _local2.game = gameName; _local2.ref = gameName; return (((gameURL + "?") + _local2.toString())); } public static function openSignLink():void{ if (!isHome){ openFunflowPage(LINK_TYPE_SIGN); }; } public static function getUserVote(_arg1:String):void{ var servletLoader:URLLoader; var reqvars:URLVariables; var request:URLRequest; var sharedDataId = _arg1; if (currentUser == null){ dispatcher.dispatchEvent(new GetUserVoteEvent(0)); return; }; servletLoader = new URLLoader(); reqvars = new URLVariables(); reqvars.action = "getUserVote"; reqvars.sharedDataId = sharedDataId; reqvars.accessToken = userAccessToken; reqvars.fbId = currentUser.fbId; reqvars.sessionKey = currentUser.sessionKey; request = new URLRequest(kingGameServlet); request.method = URLRequestMethod.POST; request.data = reqvars; servletLoader.addEventListener(Event.COMPLETE, getUserVoteHandler); servletLoader.addEventListener(IOErrorEvent.IO_ERROR, getUserVoteFailedHandler); servletLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, getUserVoteFailedHandler); try { servletLoader.load(request); } catch(error:Error) { trace(("Unable to get user vote: " + kingGameServlet)); trace(error.message); dispatcher.dispatchEvent(new GetUserVoteEvent(0)); }; } public static function openHighscoresLink():void{ if (!isHome){ openFunflowPage(LINK_TYPE_HIGHSCORES, (("game/" + gameName) + "/highscores")); }; } private static function voteSharedDataHandler(_arg1:Event):void{ var servletLoader:URLLoader; var vars:URLVariables; var evt:Event; var event = _arg1; try { servletLoader = URLLoader(event.target); vars = new URLVariables(servletLoader.data); if (vars.error != undefined){ evt = new VoteSharedDataFailedEvent(parseInt(vars.error)); } else { evt = new VoteSharedDataEvent(parseFloat(vars.newScore)); }; dispatcher.dispatchEvent(evt); } catch(e:Error) { trace(("Error reading data for Vote Shared Data: " + e)); dispatcher.dispatchEvent(new VoteSharedDataFailedEvent(VoteSharedDataFailedEvent.ERROR_SERVER)); }; } public static function openLoaderMovieLink():void{ if (!isHome){ openFunflowPage(LINK_TYPE_LOADER_MOVIE); }; } public static function browseSharedData(_arg1:int=0, _arg2:int=10, _arg3:Boolean=false, _arg4:Boolean=false, _arg5:String=null):void{ var servletLoader:URLLoader; var reqvars:URLVariables; var request:URLRequest; var index = _arg1; var limit = _arg2; var orderByScore = _arg3; var featured = _arg4; var creatorFbid = _arg5; servletLoader = new URLLoader(); reqvars = new URLVariables(); reqvars.action = "browseSharedData"; reqvars.game = gameName; reqvars.index = index; reqvars.limit = limit; reqvars.orderByScore = orderByScore; if (featured){ reqvars.getFeatured = "1"; }; if (creatorFbid != null){ reqvars.creatorId = creatorFbid; }; request = new URLRequest(kingGameServlet); request.method = URLRequestMethod.POST; request.data = reqvars; servletLoader.addEventListener(Event.COMPLETE, browseSharedDataHandler); servletLoader.addEventListener(IOErrorEvent.IO_ERROR, browseSharedDataFailedHandler); servletLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, browseSharedDataFailedHandler); try { servletLoader.load(request); } catch(error:Error) { trace(("Unable to load browse shared data url: " + kingGameServlet)); trace(error.message); dispatcher.dispatchEvent(new Event(BROWSE_SHARED_DATA_FAILED_EVENT)); }; } public static function openRightClickLink():void{ openFunflowPage(LINK_TYPE_RIGHT_CLICK); } public static function openSharePage(_arg1:String, _arg2:Object=null, _arg3:String=null):void{ var _local4:URLVariables; _local4 = FunflowSerializer.objectToFlashURLVariables(_arg2); _local4.description = _arg1; _local4.game = gameName; _local4.description = _arg1; if (_arg3 != null){ _local4.type = _arg3; }; navigateToURL(new URLRequest(((sharerURL + "?u=") + escape(((shareURL + "?") + _local4.toString())))), "_blank"); } private static function gameSavedHandler(_arg1:Event):void{ var servletLoader:URLLoader; var event = _arg1; try { servletLoader = URLLoader(event.target); trace(("loadCounter.data :" + servletLoader.data)); if (servletLoader.data == "ok"){ dispatcher.dispatchEvent(new Event(GAME_SAVED_EVENT)); } else { dispatcher.dispatchEvent(new Event(GAME_SAVE_FAILED_EVENT)); }; } catch(e:Error) { trace(("Error reading data from servletLoader url: " + e)); dispatcher.dispatchEvent(new Event(GAME_SAVE_FAILED_EVENT)); }; } private static function goldPaymentHandler(_arg1:Event):void{ var goldPaymentEvent:GoldPaymentEvent; var event = _arg1; try { goldPaymentEvent = new GoldPaymentEvent(event); if (isHome){ if (((goldPaymentEvent.success) || ((goldPaymentEvent.errorCode == GoldPaymentEvent.ERROR_NOT_ENOUGH_GOLD)))){ currentUser.gold = goldPaymentEvent.goldBalance; ExternalInterface.call("updateGoldBalance", goldPaymentEvent.goldBalance); }; }; dispatcher.dispatchEvent(goldPaymentEvent); } catch(e:Error) { trace(("Error reading data from servletLoader url: " + e)); dispatcher.dispatchEvent(new GoldPaymentEvent()); }; } private static function browseSharedDataFailedHandler(_arg1:Event):void{ trace(("Unable to browse shared data: " + _arg1)); dispatcher.dispatchEvent(new Event(BROWSE_SHARED_DATA_FAILED_EVENT)); } public static function getNumSharedDataObjects(_arg1:String=null):void{ var servletLoader:URLLoader; var reqvars:URLVariables; var request:URLRequest; var creatorFbid = _arg1; servletLoader = new URLLoader(); reqvars = new URLVariables(); reqvars.action = "getNumberOfSharedObjects"; reqvars.game = gameName; if (creatorFbid != null){ reqvars.creatorId = creatorFbid; }; request = new URLRequest(kingGameServlet); request.method = URLRequestMethod.POST; request.data = reqvars; servletLoader.addEventListener(Event.COMPLETE, getNumSharedDataObjectsHandler); servletLoader.addEventListener(IOErrorEvent.IO_ERROR, getNumSharedDataObjectsFailedHandler); servletLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, getNumSharedDataObjectsFailedHandler); try { servletLoader.load(request); } catch(error:Error) { trace(("Unable to load browse shared data url: " + kingGameServlet)); trace(error.message); dispatcher.dispatchEvent(new Event(BROWSE_SHARED_DATA_FAILED_EVENT)); }; } public static function submitAchievement(_arg1:String):void{ var hash:String; var achievement = _arg1; hash = md5.encrypt(((((achievement + ":") + gameName) + ":") + SAK)); try { if (isHome){ ExternalInterface.call("submitAchievement", achievement, hash); }; } catch(e:Error) { trace(e); }; } private static function gameSaveFailedHandler(_arg1:Event):void{ trace(("Unable to save game: " + _arg1)); dispatcher.dispatchEvent(new Event(GAME_SAVE_FAILED_EVENT)); } private static function getUserVoteHandler(_arg1:Event):void{ var servletLoader:URLLoader; var vars:URLVariables; var event = _arg1; try { servletLoader = URLLoader(event.target); vars = new URLVariables(servletLoader.data); dispatcher.dispatchEvent(new GetUserVoteEvent(parseInt(vars.score))); } catch(e:Error) { trace(("Error reading data for Vote Shared Data: " + e)); dispatcher.dispatchEvent(new GetUserVoteEvent(0)); }; } } }//package com.midasplayer
Section 13
//FunflowLogo (com.midasplayer.FunflowLogo) package com.midasplayer { import flash.events.*; import util.*; public class FunflowLogo extends But { override protected function handleClick(_arg1:MouseEvent):void{ super.handleClick(_arg1); LinkManager.goToURL(LinkManager.FUNFLOW_LOGO); } } }//package com.midasplayer
Section 14
//FunflowUser (com.midasplayer.FunflowUser) package com.midasplayer { import com.midasplayer.extras.*; public class FunflowUser { public var diplomaLevel:int;// = 0 public var picture:String;// = "" public var name:String;// = "" public var weeklyScore:Number;// = 0 public var score:Number;// = 0 public var level:int;// = 0 public var firstName:String;// = "" public var gold:int;// = 0 public var sessionKey:String;// = "" public var products:Array;// = null public var fbId:String;// = "" public var gameState:Object;// = null public function FunflowUser(_arg1:Object=null){ var obj = _arg1; fbId = ""; name = ""; firstName = ""; picture = ""; score = 0; weeklyScore = 0; level = 0; diplomaLevel = 0; gameState = null; products = null; gold = 0; sessionKey = ""; super(); if (obj != null){ this.fbId = obj.fbId; this.name = obj.name; this.firstName = obj.firstName; this.picture = obj.picture; this.score = Number(obj.score); this.weeklyScore = Number(obj.weeklyScore); this.level = parseInt(obj.level); this.diplomaLevel = parseInt(obj.diplomaLevel); if (obj.hasOwnProperty("serializedGameState")){ try { if (obj.serializedGameState != null){ this.gameState = FunflowSerializer.amfDecode(obj.serializedGameState); }; } catch(e:Error) { trace(("Unable to deserialize gameState: " + e.message)); }; }; }; } } }//package com.midasplayer
Section 15
//GetNumSharedObjectsEvent (com.midasplayer.GetNumSharedObjectsEvent) package com.midasplayer { import flash.events.*; public class GetNumSharedObjectsEvent extends Event { public var numCreatorObjects:int; public var numObjects:int; public var numFeaturedObjects:int; public function GetNumSharedObjectsEvent(_arg1:int, _arg2:int, _arg3:int){ this.numObjects = _arg1; this.numFeaturedObjects = _arg2; this.numCreatorObjects = _arg3; super(FunflowAPI.GET_NUM_SHARED_OBJECTS_EVENT, false, false); } } }//package com.midasplayer
Section 16
//GetUserVoteEvent (com.midasplayer.GetUserVoteEvent) package com.midasplayer { import flash.events.*; public class GetUserVoteEvent extends Event { public var score:Number;// = 0 public var hasVoted:Boolean;// = false public function GetUserVoteEvent(_arg1:int, _arg2:Boolean=false, _arg3:Boolean=false){ score = 0; hasVoted = false; this.score = _arg1; if (_arg1 > 0){ hasVoted = true; }; super(FunflowAPI.GET_USER_VOTE_EVENT, _arg2, _arg3); } } }//package com.midasplayer
Section 17
//GoldPaymentEvent (com.midasplayer.GoldPaymentEvent) package com.midasplayer { import flash.events.*; import flash.net.*; import com.adobe.serialization.json.*; public class GoldPaymentEvent extends Event { public var success:Boolean; public var errorCode:int; public var productName:String; public var goldBalance:int; public var errorMessage:String; public static var ERROR_MESSAGES:Array = ["", "An error has occured, please try again later.", "You don't have enough gold.", "You are not logged in to funflow."]; public static var ERROR_SERVER:int = 1; public static var ERROR_NOT_ENOUGH_GOLD:int = 2; public static var ERROR_NOT_LOGGED_IN:int = 3; public function GoldPaymentEvent(_arg1:Event=null){ var servletLoader:URLLoader; var result:Object; var event = _arg1; try { if (event != null){ servletLoader = URLLoader(event.target); result = JSON.decode(servletLoader.data); this.success = result.success; this.goldBalance = result.goldBalance; this.errorCode = result.errorCode; this.errorMessage = result.errorMessage; this.productName = result.product; } else { this.success = false; setErrorCode(ERROR_SERVER); }; } catch(e:Error) { trace(((("Failed to parse json response: " + servletLoader.data) + ", ") + e.message)); this.success = false; setErrorCode(ERROR_SERVER); }; super(FunflowAPI.GOLD_PAYMENT_EVENT); } public function setErrorCode(_arg1:int):void{ this.errorCode = _arg1; this.errorMessage = ERROR_MESSAGES[_arg1]; } } }//package com.midasplayer
Section 18
//PaymentDoneEvent (com.midasplayer.PaymentDoneEvent) package com.midasplayer { import flash.events.*; public class PaymentDoneEvent extends Event { public var productName:String; public function PaymentDoneEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ this.productName = _arg1; super(FunflowAPI.PAYMENT_DONE_EVENT, _arg2, _arg3); } } }//package com.midasplayer
Section 19
//SharedData (com.midasplayer.SharedData) package com.midasplayer { import com.midasplayer.extras.*; public class SharedData { public var data:Object;// = null public var numVoters:int;// = 0 public var score:Number; public var featured:Boolean;// = false public var id:String;// = "" public var createdDate:Date;// = null public var creatorId:String;// = null public function SharedData(_arg1:Object=null){ var obj = _arg1; id = ""; data = null; creatorId = null; createdDate = null; numVoters = 0; featured = false; super(); if (obj != null){ this.id = obj.id; this.score = Number(obj.score); this.creatorId = obj.networkUserId; this.createdDate = new Date(); this.createdDate.time = Number(obj.createdDate); this.numVoters = obj.numVoters; this.featured = (obj.featured == "true"); try { this.data = FunflowSerializer.amfDecode(obj.sharedData); } catch(e:Error) { trace(((("Failed to parse shared object data " + obj.sharedData) + ", ") + e.message)); }; }; } } }//package com.midasplayer
Section 20
//SharedDataSavedEvent (com.midasplayer.SharedDataSavedEvent) package com.midasplayer { import flash.events.*; public class SharedDataSavedEvent extends Event { public var sharedDataId:String; public var sharedDataGameUrl:String; public function SharedDataSavedEvent(_arg1:String, _arg2:String, _arg3:Boolean=false, _arg4:Boolean=false){ this.sharedDataId = _arg1; this.sharedDataGameUrl = _arg2; super(FunflowAPI.SHARED_DATA_SAVED_EVENT, _arg3, _arg4); } } }//package com.midasplayer
Section 21
//VoteSharedDataEvent (com.midasplayer.VoteSharedDataEvent) package com.midasplayer { import flash.events.*; public class VoteSharedDataEvent extends Event { public var newScore:Number;// = 0 public function VoteSharedDataEvent(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false){ newScore = 0; this.newScore = _arg1; super(FunflowAPI.VOTE_SHARED_DATA_EVENT, _arg2, _arg3); } } }//package com.midasplayer
Section 22
//VoteSharedDataFailedEvent (com.midasplayer.VoteSharedDataFailedEvent) package com.midasplayer { import flash.events.*; public class VoteSharedDataFailedEvent extends Event { public var errorCode:int;// = 0 public var errorMessage:String;// = "" public static const ERROR_NO_ERROR:int = 0; public static const ERROR_MESSAGES:Array = ["", "Server error, please try again later.", "You have already voted.", "You must log to funflow to vote."]; public static const ERROR_DUPLICATE_VOTE:int = 2; public static const ERROR_SERVER:int = 1; public static const ERROR_NOT_LOGGED_IN:int = 3; public function VoteSharedDataFailedEvent(_arg1:int, _arg2:Boolean=false, _arg3:Boolean=false){ errorCode = 0; errorMessage = ""; this.errorCode = _arg1; if (_arg1 < ERROR_MESSAGES.length){ this.errorMessage = ERROR_MESSAGES[_arg1]; } else { this.errorMessage = ERROR_MESSAGES[1]; }; super(FunflowAPI.VOTE_SHARED_DATA_FAILED_EVENT, _arg2, _arg3); } } }//package com.midasplayer
Section 23
//Ad (CPMStar.Ad) package CPMStar { import flash.events.*; import flash.display.*; import util.*; public class Ad extends MovieClip { private var ad:DisplayObject; public var adBox:MovieClip; private var _adBox:MovieClip; private var CPMStarContentSpotID:String;// = "3358Q2184533A" public var close_bt:ad_close_cl; public function Ad(){ CPMStarContentSpotID = "3358Q2184533A"; super(); _adBox = this["adBox"]; MovieClip(this["close_bt"]).addEventListener(MouseEvent.CLICK, closeAd); } private function closeAd(_arg1:MouseEvent):void{ LinkManager.goToURL(LinkManager.CLOSE_AD); } public function hide():void{ _adBox.removeChild(ad); } public function show():void{ ad = new AdLoader(CPMStarContentSpotID); _adBox.addChild(ad); } } }//package CPMStar
Section 24
//AdLoader (CPMStar.AdLoader) package CPMStar { import flash.events.*; import flash.display.*; import flash.net.*; import flash.system.*; public class AdLoader extends Sprite { private var contentspotid:String; private var cpmstarLoader:Loader; public function AdLoader(_arg1:String){ this.contentspotid = _arg1; addEventListener(Event.ADDED, addedHandler); } private function addedHandler(_arg1:Event):void{ var _local2:String; var _local3:DisplayObjectContainer; removeEventListener(Event.ADDED, addedHandler); Security.allowDomain("server.cpmstar.com"); _local2 = "http://server.cpmstar.com/adviewas3.swf"; _local3 = parent; cpmstarLoader = new Loader(); cpmstarLoader.contentLoaderInfo.addEventListener(Event.INIT, dispatchHandler); cpmstarLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, dispatchHandler); cpmstarLoader.load(new URLRequest(((_local2 + "?contentspotid=") + contentspotid))); addChild(cpmstarLoader); } private function dispatchHandler(_arg1:Event):void{ dispatchEvent(_arg1); } } }//package CPMStar
Section 25
//FieldView (game.FieldView) package game { import flash.display.*; public class FieldView extends MovieClip { } }//package game
Section 26
//Game (game.Game) package game { import gs.*; import flash.events.*; import flash.display.*; import flash.utils.*; import util.*; import util.sound.*; public class Game extends MovieClip { private var animate_arr:Array; private var _lock:Boolean; private var line:Array; public var container_mc:MovieClip; private var _curitem:Item; private var _bubbles:BubbleEngine; private var _field_mc:MovieClip; private var _delay:Number; private var _play_fl:Boolean; private var _first_collect:Boolean; private var _arrows:Arrows; private var _move_fl:Boolean; private var field:Array; public var lock_mc:MovieClip; private var _game_view:GameView; private var _currenth:uint; public var bubbles:BubbleEngine; private var _currentv:uint; private var _multiply:uint; public var arrows:Arrows; private var collect_arr:Array; private var _check_counter:int; private var _items_swamp:Array; private var _lock_mc:MovieClip; private var _container_mc:MovieClip; private var _scroll_fl:Boolean; private var additional_animate_arr:Array; private var _beginh:int; private function moveScroll(_arg1:int):void{ var _local2:int; var _local3:int; var _local4:int; var _local5:int; var _local6:Item; var _local7:Item; _move_fl = true; _local2 = Math.abs(_arg1); _local3 = ((_arg1)>0) ? 1 : -1; while (_local2-- > 0) { _local4 = ((_local3)<0) ? 0 : (GameData.SIZEX - 1); _local5 = GameData.SIZEX; _local7 = field[_local4][_currentv]; _local4 = (_local4 - _local3); _local5--; while (_local5 > 0) { _local6 = field[_local4][_currentv]; if (_local6 != null){ _local6.h = (_local6.h + _local3); TweenLite.to(_local6, 0.1, {x:(_local6.h * GameData.GRIDX)}); }; field[(_local4 + _local3)][_currentv] = _local6; _local4 = (_local4 - _local3); _local5--; }; _local4 = (_local4 + _local3); if (_local7 != null){ _local7.h = _local4; _local7.x = ((_local7.h - _local3) * GameData.GRIDX); TweenLite.to(_local7, 0.1, {x:(_local7.h * GameData.GRIDX)}); }; field[_local4][_currentv] = _local7; }; SoundFXController.playFX("touch"); } private function getInstance(_arg1:int=-1):Item{ var _local2:Item; if (_items_swamp.length > 0){ _local2 = _items_swamp.pop(); } else { _local2 = new Item(); }; _local2.initView(_arg1); _field_mc.addChild(_local2); return (_local2); } private function initFieldItems():void{ var _local1:Item; var _local2:int; var _local3:int; _local2 = 0; _local3 = 0; while (_local2 < GameData.SIZEX) { while (_local3 < GameData.SIZEY) { _local1 = getInstance(getColor(_local2, _local3)); _local1.h = _local2; _local1.v = _local3; _local1.x = (_local1.h * GameData.GRIDX); _local1.y = (_local1.v * GameData.GRIDY); field[_local2][_local3] = _local1; _field_mc.addChild(_local1); _local3++; }; _local3 = 0; _local2++; }; } private function outHandler(_arg1:MouseEvent):void{ if ((((_arg1.target is Item)) && (!(lock)))){ _arrows.hide(); }; } private function removeHandler(_arg1:Event):void{ var _local2:Item; _local2 = Item(_arg1.target); _bubbles.addBubbles((_local2.x + 25), (_local2.y + 25)); _field_mc.removeChild(_local2); _items_swamp.push(_local2); } private function addBonusBubble(_arg1:Item, _arg2:uint):void{ SoundFXController.playFX("line"); _bubbles.addBubble((_arg1.x + 25), (_arg1.y + 25), ("x" + _arg2)); } private function addLine():void{ var _local1:int; if (getColumns() < GameData.SIZEY){ lock = true; _local1 = 0; while (_local1 < GameData.SIZEX) { var _temp1 = _local1; _local1 = (_local1 + 1); addLineItem(_temp1); }; }; } private function upHandler(_arg1:MouseEvent):void{ if (_move_fl){ stopScroll(); }; } private function collectLine(_arg1:Array):void{ var _local2:Item; var _local3:int; _multiply++; _local3 = (((_arg1.length * GameData.SCORE_STEP) * (_arg1.length - 2)) * _multiply); _game_view._points_mc.points = (_game_view._points_mc.points + _local3); setTimeout(addBonusBubble, (_delay * 1000), _arg1[(_arg1.length - 1)], _multiply); while (_arg1.length > 0) { _local2 = _arg1.pop(); _local2._collect = true; _local2.destroy(_delay); }; } private function shiftDown(_arg1:int, _arg2:int):void{ var _local3:Item; var _local4:int; _local4 = 0; if (field[_arg1][_arg2] != null){ _local3 = field[_arg1][_arg2]; while ((((field[_arg1][((_arg2 - _local4) - 1)] == null)) && ((((_arg2 - _local4) - 1) >= 0)))) { _local4++; }; } else { _arg2++; if (field[_arg1][_arg2] != null){ _local3 = field[_arg1][_arg2]; _local4 = 1; }; }; if (_local4 > 0){ while (_local3 != null) { field[_arg1][_arg2] = null; _local3.v = (_local3.v - _local4); field[_local3.h][_local3.v] = _local3; setMove(_local3, false); _arg2++; _local3 = field[_arg1][_arg2]; }; }; } private function downHandler(_arg1:MouseEvent):void{ if (!lock){ if (!_scroll_fl){ if ((_arg1.target is Item)){ startScroll(Item(_arg1.target)); _arrows.show(Item(_arg1.target).v); }; } else { setMouseTarget(); }; SoundFXController.playFX("touch"); }; } public function set lock(_arg1:Boolean):void{ _lock = _arg1; } private function shiftHandler(_arg1:Event):void{ shiftItemDown(Item(_arg1.target)); } private function clearAll():void{ while (_field_mc.numChildren) { _field_mc.removeChildAt(0); }; } private function checkCell(_arg1:Item, _arg2:uint):void{ if (_arg1 != null){ if (((!(_arg1._collect)) && ((_arg1._color == _arg2)))){ line.push(_arg1); _arg1._collect = true; checkCell(getItem((_arg1.h - 1), _arg1.v), _arg2); checkCell(getItem((_arg1.h + 1), _arg1.v), _arg2); checkCell(getItem(_arg1.h, (_arg1.v - 1)), _arg2); checkCell(getItem(_arg1.h, (_arg1.v + 1)), _arg2); }; }; } public function restartGame():void{ initGame(); _game_view._label_mc.show("RESTART"); } private function collectItems():void{ _delay = 0; while (collect_arr.length > 0) { collectLine(collect_arr.pop()); _delay = (_delay + 0.2); }; if (_multiply > 2){ _game_view._progress_bar.backward(GameData.PROGREESS_BAR_BACKWARD); }; } public function setPause():void{ _play_fl = !(App._pause_fl); } private function checkField():Boolean{ var _local1:Item; var _local2:int; var _local3:int; _local2 = (GameData.SIZEX - 1); _local3 = (GameData.SIZEY - 1); while (_local3 >= 0) { while (_local2 >= 0) { _local1 = getItem(_local2, _local3); if (_local1 != null){ line = []; checkCell(_local1, _local1._color); if (line.length > 2){ collect_arr.push(line); } else { clearLine(line); }; }; _local2--; }; _local2 = (GameData.SIZEX - 1); _local3--; }; if (collect_arr.length > 0){ _first_collect = false; collectItems(); return (true); }; return (false); } private function setMouseTarget(_arg1:int=-1):void{ if (_arg1 < 0){ _arg1 = Math.floor((this.mouseX / GameData.GRIDX)); }; if (_arg1 > (GameData.SIZEX - 1)){ _arg1 = (GameData.SIZEX - 1); } else { if (_arg1 < 0){ _arg1 = 0; }; }; if (!_scroll_fl){ _scroll_fl = true; _beginh = _arg1; _currenth = _arg1; }; if (_currenth != _arg1){ moveScroll((_arg1 - _currenth)); _currenth = _arg1; }; } private function addLineItem(_arg1:int):void{ var _local2:Item; _local2 = getInstance(getColor(_arg1, 0)); _local2.h = _arg1; _local2.v = 0; _local2.x = (_local2.h * GameData.GRIDX); _local2.y = -50; insertItem(_local2); } private function shiftItemDown(_arg1:Item):void{ var _local2:int; var _local3:int; var _local4:Item; _local2 = _arg1.h; _local3 = (_arg1.v + 1); _local4 = field[_local2][_local3]; while (_local4 != null) { _local4.v--; field[_local4.h][_local4.v] = _local4; setMove(_local4, false); _local3++; _local4 = field[_local2][_local3]; }; field[_local2][(_local3 - 1)] = null; } private function checkCellColor(_arg1:int, _arg2:int, _arg3:int):Boolean{ var _local4:Boolean; var _local5:Item; _local4 = false; _local5 = getItem(_arg1, _arg2); if (_local5 != null){ _local4 = (_local5._color == _arg3); }; return (_local4); } private function setFall(_arg1:Item):void{ _arg1._speed = (-(GameData.SPEED) * 5); _arg1.setState(Item.FALL); addAnimate(_arg1); } private function addAnimate(_arg1:Item):void{ var _local2:int; var _local3:Boolean; _local2 = 0; _local3 = true; while (_local2 < animate_arr.length) { if (animate_arr[_local2] == _arg1){ _local3 = false; break; }; _local2++; }; if (_local3){ animate_arr.push(_arg1); }; } private function checkCollect():void{ if (!checkField()){ if (_first_collect){ _multiply = 0; }; lock = false; addLine(); }; } public function init():void{ _game_view = GameView(this.parent); _container_mc = this["container_mc"]; _field_mc = _container_mc["field_mc"]; _lock_mc = this["lock_mc"]; _bubbles = this["bubbles"]; _arrows = this["arrows"]; _items_swamp = new Array(); _container_mc.addEventListener(MouseEvent.MOUSE_OVER, overHandler); _container_mc.addEventListener(MouseEvent.MOUSE_OUT, outHandler); _container_mc.addEventListener(MouseEvent.MOUSE_DOWN, downHandler); _container_mc.addEventListener(MouseEvent.MOUSE_UP, upHandler); _field_mc.addEventListener("shiftItem", shiftHandler); _field_mc.addEventListener("removeItem", removeHandler); addEventListener(Event.ENTER_FRAME, enterFrame); _play_fl = false; _game_view._progress_bar.addEventListener(Event.COMPLETE, progressBarComplete); } public function initGame():void{ _play_fl = true; _scroll_fl = false; _check_counter = 0; _multiply = 0; _arrows.hide(); _game_view._progress_bar.init(GameData.PROGREESS_BAR_STEP, GameData.PROGREESS_BAR_MAX); lock = false; _lock_mc.visible = false; initField(); addLine(); } public function get lock():Boolean{ return (_lock); } private function destroyAll():void{ var _local1:Number; var _local2:int; var _local3:int; _local1 = 0; _local2 = 0; _local3 = GameData.SIZEY; while (_local3 >= 0) { while (_local2 < GameData.SIZEX) { if (field[_local2][_local3] != null){ field[_local2][_local3].destroy(_local1); _local1 = (_local1 + 0.03); }; _local2++; }; _local2 = 0; _local3--; }; } private function setMove(_arg1:Item, _arg2:Boolean=true):void{ _arg1._speed = ((_arg2) ? 1 : -1 * GameData.SPEED); _arg1.setState(Item.MOVE); addAnimate(_arg1); } private function endGame():void{ destroyAll(); _play_fl = false; _game_view.endGame(); } private function stopScroll():void{ var _local1:int; var _local2:Item; _curitem.active = false; _local1 = 0; while (_local1 < GameData.SIZEX) { shiftDown(_local1, _currentv); _local1++; }; _scroll_fl = false; _first_collect = true; _arrows.hide(); _container_mc.buttonMode = false; } private function insertItem(_arg1:Item):void{ var _local2:int; var _local3:int; var _local4:Item; _local2 = _arg1.h; _local3 = (getY(_local2) - 1); _local4 = field[_local2][_local3]; while (_local3 >= 0) { _local4.v++; field[_local4.h][_local4.v] = _local4; setMove(_local4); _local3--; _local4 = field[_local2][_local3]; }; field[_arg1.h][_arg1.v] = _arg1; setMove(_arg1); } private function enterFrame(_arg1:Event):void{ var _local2:int; var _local3:int; var _local4:Item; var _local5:Boolean; var _local6:MovieClip; if (_play_fl){ _local2 = animate_arr.length; if (_local2 > 0){ _local3 = 0; while (_local3 < _local2) { _local4 = animate_arr[_local3]; animate_arr[_local3].y = (_local4.y + _local4._speed); _local5 = false; if (_local4._speed < 0){ _local5 = (_local4.y <= (_local4.v * GameData.GRIDY)); } else { _local5 = (_local4.y >= (_local4.v * GameData.GRIDY)); }; if (_local5){ animate_arr.splice(_local3, 1); _local2 = animate_arr.length; _local4.y = (_local4.v * GameData.GRIDY); _local4.x = (_local4.h * GameData.GRIDX); _local4.setState(Item.NONE); } else { _local3++; }; }; }; if (((((!(_scroll_fl)) && (lock))) && ((animate_arr.length == 0)))){ trace(_check_counter); if (_check_counter++ == GameData.CHECK_COUNTER){ trace("check"); checkCollect(); _check_counter = 0; }; }; if (_scroll_fl){ setMouseTarget(); }; _local2 = additional_animate_arr.length; if (_local2 > 0){ _local3 = 0; while (_local3 < _local2) { _local6 = additional_animate_arr[_local3]; _local6.animate(); if (_local6.check()){ _local6.destroy(); additional_animate_arr.splice(_local3, 1); _local2 = additional_animate_arr.length; } else { _local3++; }; }; }; }; } private function getItem(_arg1:int, _arg2:int):Item{ var _local3:Item; _local3 = null; if ((((((_arg1 >= 0)) && ((_arg1 < GameData.SIZEX)))) && ((((_arg2 >= 0)) && ((_arg2 < GameData.SIZEY)))))){ _local3 = field[_arg1][_arg2]; }; return (_local3); } public function getColumns():Number{ var _local1:int; var _local2:int; var _local3:Number; _local1 = 0; _local2 = 0; _local3 = 0; while (_local1 < GameData.SIZEX) { while (field[_local1][_local2] != null) { _local2++; }; if (_local3 < _local2){ _local3 = _local2; }; _local2 = 0; _local1++; }; return (_local3); } private function getColor(_arg1:int, _arg2:int):int{ var _local3:Boolean; var _local4:int; _local3 = true; while (_local3) { _local3 = false; _local4 = Math.round((Math.random() * (GameData.COLORS - 1))); _local3 = checkCellColor(_arg1, _arg2, _local4); if (!_local3){ _local3 = checkCellColor((_arg1 - 1), _arg2, _local4); }; }; return (_local4); } private function getY(_arg1:int):int{ var _local2:int; _local2 = 0; while (field[_arg1][_local2] != null) { _local2++; }; return (_local2); } private function initField():void{ var _local1:int; var _local2:int; clearAll(); animate_arr = new Array(); collect_arr = new Array(); additional_animate_arr = new Array(); field = new Array(); _local1 = 0; _local2 = 0; while (_local1 < GameData.SIZEX) { field[_local1] = new Array(); while (_local2 < GameData.SIZEY) { field[_local1][_local2] = null; _local2++; }; _local2 = 0; _local1++; }; } private function startScroll(_arg1:Item):void{ _move_fl = false; lock = true; _curitem = _arg1; _curitem.active = true; _currentv = _arg1.v; setMouseTarget(); _container_mc.buttonMode = true; } private function clearLine(_arg1:Array):void{ while (_arg1.length > 0) { _arg1.pop()._collect = false; }; } private function overHandler(_arg1:MouseEvent):void{ if ((((_arg1.target is Item)) && (!(lock)))){ _arrows.show(Item(_arg1.target).v); }; } private function progressBarComplete(_arg1:Event):void{ endGame(); } } }//package game
Section 27
//Item (game.Item) package game { import gs.*; import flash.events.*; import flash.display.*; import flash.utils.*; import util.*; import gs.easing.*; public class Item extends MovieClip { private var _v:int; public var _collect:Boolean; private var _active:Boolean; public var _speed:int; public var _color:int; public var _view:ItemView; public var _state:String; public var _colors:MovieClip; private var _h:int; public var _active_mc:MovieClip; public static var MOVE:String = "move"; public static var NONE:String = "none"; public static var FALL:String = "fall"; public function Item(){ init(); } public function destroy(_arg1:Number):void{ setTimeout(playDestroy, (_arg1 * 1000)); } public function set v(_arg1:int):void{ _v = _arg1; } private function init():void{ _view = new ItemView(); addChild(_view); _colors = _view["colors"]; _colors["plane"].cacheAsBitmap = true; _active_mc = _view["active_mc"]; buttonMode = true; mouseChildren = false; addEventListener(MouseEvent.MOUSE_OVER, handleMouseOver); addEventListener(MouseEvent.MOUSE_OUT, handleMouseOut); addEventListener(MouseEvent.CLICK, handleClick); } public function set active(_arg1:Boolean):void{ _active = _arg1; buttonMode = !(_active); _active_mc.visible = _active; if (_active){ _active_mc.gotoAndPlay(1); _active_mc.scaleX = (_active_mc.scaleY = 1.5); _active_mc.alpha = 0; TweenLite.to(_active_mc, 0.3, {scaleX:1, scaleY:1, alpha:0.8, ease:Quad.easeOut}); } else { _active_mc.stop(); TweenLite.to(_active_mc, 0.3, {alpha:0}); }; TweenLite.to(_colors["plane"], 0.1, {scaleX:1, scaleY:1, colorMatrixFilter:{brightness:1}, ease:Quad.easeOut}); } public function playDestroy():void{ _view.gotoAndPlay("destroy"); dispatchEvent(new Event("shiftItem", true)); } public function get active():Boolean{ return (_active); } protected function handleClick(_arg1:MouseEvent):void{ if (!active){ TweenLite.to(_colors["plane"], 0.1, {scaleX:1, scaleY:1, colorMatrixFilter:{brightness:1}, ease:Quad.easeOut}); }; } public function setState(_arg1:String):void{ if (_state != _arg1){ _state = _arg1; }; } public function get v():int{ return (_v); } public function get h():int{ return (_h); } public function remove():void{ dispatchEvent(new Event("removeItem", true)); } protected function handleMouseOut(_arg1:MouseEvent):void{ if (!active){ TweenLite.to(_colors["plane"], 0.1, {scaleX:1, scaleY:1, colorMatrixFilter:{brightness:1}, ease:Quad.easeOut}); }; } public function set h(_arg1:int):void{ _h = _arg1; } protected function handleMouseOver(_arg1:MouseEvent):void{ if (!active){ TweenLite.to(_colors["plane"], 0.1, {scaleX:1.1, scaleY:1.1, colorMatrixFilter:{brightness:1.3}, ease:Quad.easeOut}); }; } public function initView(_arg1:int=-1):void{ if (_arg1 == -1){ _color = Math.round((Math.random() * (GameData.COLORS - 1))); } else { _color = _arg1; }; _view.gotoAndStop("appear"); _colors["plane"].gotoAndStop((_color + 1)); _colors["plane"]["womb"]["plane"].gotoAndStop((_color + 1)); _active = false; _collect = false; setState(NONE); active = false; } } }//package game
Section 28
//ItemView (game.ItemView) package game { import flash.display.*; public class ItemView extends MovieClip { public var colors:MovieClip; public var active_mc:MovieClip; public function ItemView(){ addFrameScript(68, frame69); } function frame69(){ gotoAndStop("sleep"); Item(parent).remove(); } } }//package game
Section 29
//Particle (game.Particle) package game { import flash.display.*; public class Particle extends MovieClip { public var plane:MovieClip; public function Particle(){ addFrameScript(10, frame11); this["plane"]["plane"].gotoAndStop((Math.round((Math.random() * 2)) + 1)); this["plane"]["plane"].rotation = (Math.random() * 360); this["plane"]["plane"].scaleX = (this["plane"]["plane"].scaleY = ((Math.random() * 0.5) + 0.5)); rotation = (Math.random() * 360); x = (Math.round((Math.random() * 20)) - 10); y = (Math.round((Math.random() * 20)) - 10); } function frame11(){ stop(); } } }//package game
Section 30
//Particles (game.Particles) package game { import flash.events.*; import flash.display.*; public class Particles extends MovieClip { private var p:Particle; private var n:int;// = 6 public function Particles(){ n = 6; super(); addEventListener(Event.ENTER_FRAME, enterFrameHandler); } private function enterFrameHandler(_arg1:Event):void{ if (n >= 0){ addChild(new Particle()); addChild(new Particle()); n = (n - 2); } else { removeEventListener(Event.ENTER_FRAME, enterFrameHandler); }; } } }//package game
Section 31
//Elastic (gs.easing.Elastic) package gs.easing { public class Elastic { private static const _2PI:Number = 6.28318530717959; public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Number=0):Number{ var _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; if (!_arg6){ _arg6 = (_arg4 * 0.3); }; if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){ _arg5 = _arg3; _local7 = (_arg6 / 4); } else { _local7 = ((_arg6 / _2PI) * Math.asin((_arg3 / _arg5))); }; --_arg1; return ((-(((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * _2PI) / _arg6)))) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Number=0):Number{ var _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 == 2){ return ((_arg2 + _arg3)); }; if (!_arg6){ _arg6 = (_arg4 * (0.3 * 1.5)); }; if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){ _arg5 = _arg3; _local7 = (_arg6 / 4); } else { _local7 = ((_arg6 / _2PI) * Math.asin((_arg3 / _arg5))); }; if (_arg1 < 1){ --_arg1; return (((-0.5 * ((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * _2PI) / _arg6)))) + _arg2)); }; --_arg1; return ((((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * _2PI) / _arg6))) * 0.5) + _arg3) + _arg2)); } public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Number=0):Number{ var _local7:Number; if (_arg1 == 0){ return (_arg2); }; _arg1 = (_arg1 / _arg4); if (_arg1 == 1){ return ((_arg2 + _arg3)); }; if (!_arg6){ _arg6 = (_arg4 * 0.3); }; if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){ _arg5 = _arg3; _local7 = (_arg6 / 4); } else { _local7 = ((_arg6 / _2PI) * Math.asin((_arg3 / _arg5))); }; return (((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * _2PI) / _arg6))) + _arg3) + _arg2)); } } }//package gs.easing
Section 32
//Quad (gs.easing.Quad) package gs.easing { public class Quad { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((_arg3 * _arg1) * _arg1) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return (((((_arg3 / 2) * _arg1) * _arg1) + _arg2)); }; --_arg1; return ((((-(_arg3) / 2) * ((_arg1 * (_arg1 - 2)) - 1)) + _arg2)); } } }//package gs.easing
Section 33
//AutoAlphaPlugin (gs.plugins.AutoAlphaPlugin) package gs.plugins { import gs.*; import flash.display.*; public class AutoAlphaPlugin extends TweenPlugin { protected var _tweenVisible:Boolean; protected var _tween:TweenLite; protected var _visible:Boolean; protected var _target:Object; public static const VERSION:Number = 1; public static const API:Number = 1; public function AutoAlphaPlugin(){ this.propName = "autoAlpha"; this.overwriteProps = ["alpha", "visible"]; this.onComplete = onCompleteTween; } override public function set changeFactor(_arg1:Number):void{ updateTweens(_arg1); if (((!((_target.visible == true))) && (_tweenVisible))){ _target.visible = true; }; } public function onCompleteTween():void{ if (((((_tweenVisible) && (!((_tween.vars.runBackwards == true))))) && ((_tween.ease == _tween.vars.ease)))){ _target.visible = _visible; }; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ _target = _arg1; _tween = _arg3; _visible = Boolean(!((_arg2 == 0))); _tweenVisible = true; addTween(_arg1, "alpha", _arg1.alpha, _arg2, "alpha"); return (true); } override public function killProps(_arg1:Object):void{ super.killProps(_arg1); _tweenVisible = !(Boolean(("visible" in _arg1))); } } }//package gs.plugins
Section 34
//ColorMatrixFilterPlugin (gs.plugins.ColorMatrixFilterPlugin) package gs.plugins { import gs.*; import flash.display.*; import flash.filters.*; public class ColorMatrixFilterPlugin extends FilterPlugin { protected var _matrix:Array; protected var _matrixTween:EndArrayPlugin; public static const API:Number = 1; public static const VERSION:Number = 1.1; protected static var _lumG:Number = 0.71516; protected static var _lumR:Number = 0.212671; protected static var _idMatrix:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]; protected static var _lumB:Number = 0.072169; public function ColorMatrixFilterPlugin(){ this.propName = "colorMatrixFilter"; this.overwriteProps = ["colorMatrixFilter"]; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ var _local4:Object; var _local5:Array; _target = _arg1; _type = ColorMatrixFilter; _local4 = _arg2; initFilter({remove:_arg2.remove, index:_arg2.index, addFilter:_arg2.addFilter}, new ColorMatrixFilter(_idMatrix.slice())); _matrix = ColorMatrixFilter(_filter).matrix; _local5 = []; if (((!((_local4.matrix == null))) && ((_local4.matrix is Array)))){ _local5 = _local4.matrix; } else { if (_local4.relative == true){ _local5 = _matrix.slice(); } else { _local5 = _idMatrix.slice(); }; _local5 = setBrightness(_local5, _local4.brightness); _local5 = setContrast(_local5, _local4.contrast); _local5 = setHue(_local5, _local4.hue); _local5 = setSaturation(_local5, _local4.saturation); _local5 = setThreshold(_local5, _local4.threshold); if (!isNaN(_local4.colorize)){ _local5 = colorize(_local5, _local4.colorize, _local4.amount); }; }; _matrixTween = new EndArrayPlugin(); _matrixTween.init(_matrix, _local5); return (true); } override public function set changeFactor(_arg1:Number):void{ _matrixTween.changeFactor = _arg1; ColorMatrixFilter(_filter).matrix = _matrix; super.changeFactor = _arg1; } public static function setSaturation(_arg1:Array, _arg2:Number):Array{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Array; if (isNaN(_arg2)){ return (_arg1); }; _local3 = (1 - _arg2); _local4 = (_local3 * _lumR); _local5 = (_local3 * _lumG); _local6 = (_local3 * _lumB); _local7 = [(_local4 + _arg2), _local5, _local6, 0, 0, _local4, (_local5 + _arg2), _local6, 0, 0, _local4, _local5, (_local6 + _arg2), 0, 0, 0, 0, 0, 1, 0]; return (applyMatrix(_local7, _arg1)); } public static function setHue(_arg1:Array, _arg2:Number):Array{ var _local3:Number; var _local4:Number; var _local5:Array; if (isNaN(_arg2)){ return (_arg1); }; _arg2 = (_arg2 * (Math.PI / 180)); _local3 = Math.cos(_arg2); _local4 = Math.sin(_arg2); _local5 = [((_lumR + (_local3 * (1 - _lumR))) + (_local4 * -(_lumR))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * -(_lumG))), ((_lumB + (_local3 * -(_lumB))) + (_local4 * (1 - _lumB))), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * 0.143)), ((_lumG + (_local3 * (1 - _lumG))) + (_local4 * 0.14)), ((_lumB + (_local3 * -(_lumB))) + (_local4 * -0.283)), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * -((1 - _lumR)))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * _lumG)), ((_lumB + (_local3 * (1 - _lumB))) + (_local4 * _lumB)), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]; return (applyMatrix(_local5, _arg1)); } public static function setThreshold(_arg1:Array, _arg2:Number):Array{ var _local3:Array; if (isNaN(_arg2)){ return (_arg1); }; _local3 = [(_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), 0, 0, 0, 1, 0]; return (applyMatrix(_local3, _arg1)); } public static function applyMatrix(_arg1:Array, _arg2:Array):Array{ var _local3:Array; var _local4:int; var _local5:int; var _local6:int; var _local7:int; if (((!((_arg1 is Array))) || (!((_arg2 is Array))))){ return (_arg2); }; _local3 = []; _local4 = 0; _local5 = 0; _local6 = 0; while (_local6 < 4) { _local7 = 0; while (_local7 < 5) { if (_local7 == 4){ _local5 = _arg1[(_local4 + 4)]; } else { _local5 = 0; }; _local3[(_local4 + _local7)] = (((((_arg1[_local4] * _arg2[_local7]) + (_arg1[(_local4 + 1)] * _arg2[(_local7 + 5)])) + (_arg1[(_local4 + 2)] * _arg2[(_local7 + 10)])) + (_arg1[(_local4 + 3)] * _arg2[(_local7 + 15)])) + _local5); _local7++; }; _local4 = (_local4 + 5); _local6++; }; return (_local3); } public static function colorize(_arg1:Array, _arg2:Number, _arg3:Number=1):Array{ var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Array; if (isNaN(_arg2)){ return (_arg1); }; if (isNaN(_arg3)){ _arg3 = 1; }; _local4 = (((_arg2 >> 16) & 0xFF) / 0xFF); _local5 = (((_arg2 >> 8) & 0xFF) / 0xFF); _local6 = ((_arg2 & 0xFF) / 0xFF); _local7 = (1 - _arg3); _local8 = [(_local7 + ((_arg3 * _local4) * _lumR)), ((_arg3 * _local4) * _lumG), ((_arg3 * _local4) * _lumB), 0, 0, ((_arg3 * _local5) * _lumR), (_local7 + ((_arg3 * _local5) * _lumG)), ((_arg3 * _local5) * _lumB), 0, 0, ((_arg3 * _local6) * _lumR), ((_arg3 * _local6) * _lumG), (_local7 + ((_arg3 * _local6) * _lumB)), 0, 0, 0, 0, 0, 1, 0]; return (applyMatrix(_local8, _arg1)); } public static function setBrightness(_arg1:Array, _arg2:Number):Array{ if (isNaN(_arg2)){ return (_arg1); }; _arg2 = ((_arg2 * 100) - 100); return (applyMatrix([1, 0, 0, 0, _arg2, 0, 1, 0, 0, _arg2, 0, 0, 1, 0, _arg2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1], _arg1)); } public static function setContrast(_arg1:Array, _arg2:Number):Array{ var _local3:Array; if (isNaN(_arg2)){ return (_arg1); }; _arg2 = (_arg2 + 0.01); _local3 = [_arg2, 0, 0, 0, (128 * (1 - _arg2)), 0, _arg2, 0, 0, (128 * (1 - _arg2)), 0, 0, _arg2, 0, (128 * (1 - _arg2)), 0, 0, 0, 1, 0]; return (applyMatrix(_local3, _arg1)); } } }//package gs.plugins
Section 35
//EndArrayPlugin (gs.plugins.EndArrayPlugin) package gs.plugins { import gs.*; import gs.utils.tween.*; public class EndArrayPlugin extends TweenPlugin { protected var _info:Array; protected var _a:Array; public static const VERSION:Number = 1.01; public static const API:Number = 1; public function EndArrayPlugin(){ _info = []; super(); this.propName = "endArray"; this.overwriteProps = ["endArray"]; } override public function set changeFactor(_arg1:Number):void{ var _local2:int; var _local3:ArrayTweenInfo; var _local4:Number; var _local5:int; if (this.round){ _local2 = (_info.length - 1); while (_local2 > -1) { _local3 = _info[_local2]; _local4 = (_local3.start + (_local3.change * _arg1)); _local5 = ((_local4)<0) ? -1 : 1; _a[_local3.index] = ((((_local4 % 1) * _local5))>0.5) ? (int(_local4) + _local5) : int(_local4); _local2--; }; } else { _local2 = (_info.length - 1); while (_local2 > -1) { _local3 = _info[_local2]; _a[_local3.index] = (_local3.start + (_local3.change * _arg1)); _local2--; }; }; } public function init(_arg1:Array, _arg2:Array):void{ var _local3:int; _a = _arg1; _local3 = (_arg2.length - 1); while (_local3 > -1) { if (((!((_arg1[_local3] == _arg2[_local3]))) && (!((_arg1[_local3] == null))))){ _info[_info.length] = new ArrayTweenInfo(_local3, _a[_local3], (_arg2[_local3] - _a[_local3])); }; _local3--; }; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ if (((!((_arg1 is Array))) || (!((_arg2 is Array))))){ return (false); }; init((_arg1 as Array), _arg2); return (true); } } }//package gs.plugins
Section 36
//FilterPlugin (gs.plugins.FilterPlugin) package gs.plugins { import gs.*; import flash.display.*; import flash.filters.*; import gs.utils.tween.*; public class FilterPlugin extends TweenPlugin { protected var _index:int; protected var _filter:BitmapFilter; protected var _type:Class; protected var _remove:Boolean; protected var _target:Object; public static const VERSION:Number = 1.03; public static const API:Number = 1; override public function set changeFactor(_arg1:Number):void{ var _local2:int; var _local3:TweenInfo; var _local4:Array; _local4 = _target.filters; _local2 = (_tweens.length - 1); while (_local2 > -1) { _local3 = _tweens[_local2]; _local3.target[_local3.property] = (_local3.start + (_local3.change * _arg1)); _local2--; }; if (!(_local4[_index] is _type)){ _index = (_local4.length - 1); _local2 = (_local4.length - 1); while (_local2 > -1) { if ((_local4[_local2] is _type)){ _index = _local2; break; }; _local2--; }; }; _local4[_index] = _filter; _target.filters = _local4; } public function onCompleteTween():void{ var _local1:int; var _local2:Array; if (_remove){ _local2 = _target.filters; if (!(_local2[_index] is _type)){ _local1 = (_local2.length - 1); while (_local1 > -1) { if ((_local2[_local1] is _type)){ _local2.splice(_local1, 1); break; }; _local1--; }; } else { _local2.splice(_index, 1); }; _target.filters = _local2; }; } protected function initFilter(_arg1:Object, _arg2:BitmapFilter):void{ var _local3:Array; var _local4:String; var _local5:int; var _local6:HexColorsPlugin; var _local7:Object; _local3 = _target.filters; _index = -1; if (_arg1.index != null){ _index = _arg1.index; } else { _local5 = (_local3.length - 1); while (_local5 > -1) { if ((_local3[_local5] is _type)){ _index = _local5; break; }; _local5--; }; }; if ((((((_index == -1)) || ((_local3[_index] == null)))) || ((_arg1.addFilter == true)))){ _index = ((_arg1.index)!=null) ? _arg1.index : _local3.length; _local3[_index] = _arg2; _target.filters = _local3; }; _filter = _local3[_index]; _remove = Boolean((_arg1.remove == true)); if (_remove){ this.onComplete = onCompleteTween; }; _local7 = ((_arg1.isTV)==true) ? _arg1.exposedVars : _arg1; for (_local4 in _local7) { if (((((((((!((_local4 in _filter))) || ((_filter[_local4] == _local7[_local4])))) || ((_local4 == "remove")))) || ((_local4 == "index")))) || ((_local4 == "addFilter")))){ } else { if ((((((_local4 == "color")) || ((_local4 == "highlightColor")))) || ((_local4 == "shadowColor")))){ _local6 = new HexColorsPlugin(); _local6.initColor(_filter, _local4, _filter[_local4], _local7[_local4]); _tweens[_tweens.length] = new TweenInfo(_local6, "changeFactor", 0, 1, _local4, false); } else { if ((((((((_local4 == "quality")) || ((_local4 == "inner")))) || ((_local4 == "knockout")))) || ((_local4 == "hideObject")))){ _filter[_local4] = _local7[_local4]; } else { addTween(_filter, _local4, _filter[_local4], _local7[_local4], _local4); }; }; }; }; } } }//package gs.plugins
Section 37
//FramePlugin (gs.plugins.FramePlugin) package gs.plugins { import gs.*; import flash.display.*; public class FramePlugin extends TweenPlugin { public var frame:int; protected var _target:MovieClip; public static const VERSION:Number = 1.01; public static const API:Number = 1; public function FramePlugin(){ this.propName = "frame"; this.overwriteProps = ["frame"]; this.round = true; } override public function set changeFactor(_arg1:Number):void{ updateTweens(_arg1); _target.gotoAndStop(this.frame); } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ if (((!((_arg1 is MovieClip))) || (isNaN(_arg2)))){ return (false); }; _target = (_arg1 as MovieClip); this.frame = _target.currentFrame; addTween(this, "frame", this.frame, _arg2, "frame"); return (true); } } }//package gs.plugins
Section 38
//HexColorsPlugin (gs.plugins.HexColorsPlugin) package gs.plugins { import gs.*; public class HexColorsPlugin extends TweenPlugin { protected var _colors:Array; public static const VERSION:Number = 1.01; public static const API:Number = 1; public function HexColorsPlugin(){ this.propName = "hexColors"; this.overwriteProps = []; _colors = []; } override public function set changeFactor(_arg1:Number):void{ var _local2:int; var _local3:Array; _local2 = (_colors.length - 1); while (_local2 > -1) { _local3 = _colors[_local2]; _local3[0][_local3[1]] = ((((_local3[2] + (_arg1 * _local3[3])) << 16) | ((_local3[4] + (_arg1 * _local3[5])) << 8)) | (_local3[6] + (_arg1 * _local3[7]))); _local2--; }; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ var _local4:String; for (_local4 in _arg2) { initColor(_arg1, _local4, uint(_arg1[_local4]), uint(_arg2[_local4])); }; return (true); } override public function killProps(_arg1:Object):void{ var _local2:int; _local2 = (_colors.length - 1); while (_local2 > -1) { if (_arg1[_colors[_local2][1]] != undefined){ _colors.splice(_local2, 1); }; _local2--; }; super.killProps(_arg1); } public function initColor(_arg1:Object, _arg2:String, _arg3:uint, _arg4:uint):void{ var _local5:Number; var _local6:Number; var _local7:Number; if (_arg3 != _arg4){ _local5 = (_arg3 >> 16); _local6 = ((_arg3 >> 8) & 0xFF); _local7 = (_arg3 & 0xFF); _colors[_colors.length] = [_arg1, _arg2, _local5, ((_arg4 >> 16) - _local5), _local6, (((_arg4 >> 8) & 0xFF) - _local6), _local7, ((_arg4 & 0xFF) - _local7)]; this.overwriteProps[this.overwriteProps.length] = _arg2; }; } } }//package gs.plugins
Section 39
//RemoveTintPlugin (gs.plugins.RemoveTintPlugin) package gs.plugins { public class RemoveTintPlugin extends TintPlugin { public static const VERSION:Number = 1.01; public static const API:Number = 1; public function RemoveTintPlugin(){ this.propName = "removeTint"; } } }//package gs.plugins
Section 40
//TintPlugin (gs.plugins.TintPlugin) package gs.plugins { import gs.*; import flash.display.*; import flash.geom.*; import gs.utils.tween.*; public class TintPlugin extends TweenPlugin { protected var _ct:ColorTransform; protected var _ignoreAlpha:Boolean; protected var _target:DisplayObject; public static const VERSION:Number = 1.1; public static const API:Number = 1; protected static var _props:Array = ["redMultiplier", "greenMultiplier", "blueMultiplier", "alphaMultiplier", "redOffset", "greenOffset", "blueOffset", "alphaOffset"]; public function TintPlugin(){ this.propName = "tint"; this.overwriteProps = ["tint"]; } override public function set changeFactor(_arg1:Number):void{ var _local2:ColorTransform; updateTweens(_arg1); if (_ignoreAlpha){ _local2 = _target.transform.colorTransform; _ct.alphaMultiplier = _local2.alphaMultiplier; _ct.alphaOffset = _local2.alphaOffset; }; _target.transform.colorTransform = _ct; } public function init(_arg1:DisplayObject, _arg2:ColorTransform):void{ var _local3:int; var _local4:String; _target = _arg1; _ct = _target.transform.colorTransform; _local3 = (_props.length - 1); while (_local3 > -1) { _local4 = _props[_local3]; if (_ct[_local4] != _arg2[_local4]){ _tweens[_tweens.length] = new TweenInfo(_ct, _local4, _ct[_local4], (_arg2[_local4] - _ct[_local4]), "tint", false); }; _local3--; }; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ var _local4:ColorTransform; if (!(_arg1 is DisplayObject)){ return (false); }; _local4 = new ColorTransform(); if (((!((_arg2 == null))) && (!((_arg3.exposedVars.removeTint == true))))){ _local4.color = uint(_arg2); }; _ignoreAlpha = true; init((_arg1 as DisplayObject), _local4); return (true); } } }//package gs.plugins
Section 41
//TweenPlugin (gs.plugins.TweenPlugin) package gs.plugins { import gs.*; import gs.utils.tween.*; public class TweenPlugin { public var overwriteProps:Array; protected var _tweens:Array; public var round:Boolean; public var onComplete:Function; public var propName:String; protected var _changeFactor:Number;// = 0 public static const VERSION:Number = 1.03; public static const API:Number = 1; public function TweenPlugin(){ _tweens = []; _changeFactor = 0; super(); } protected function updateTweens(_arg1:Number):void{ var _local2:int; var _local3:TweenInfo; var _local4:Number; var _local5:int; if (this.round){ _local2 = (_tweens.length - 1); while (_local2 > -1) { _local3 = _tweens[_local2]; _local4 = (_local3.start + (_local3.change * _arg1)); _local5 = ((_local4)<0) ? -1 : 1; _local3.target[_local3.property] = ((((_local4 % 1) * _local5))>0.5) ? (int(_local4) + _local5) : int(_local4); _local2--; }; } else { _local2 = (_tweens.length - 1); while (_local2 > -1) { _local3 = _tweens[_local2]; _local3.target[_local3.property] = (_local3.start + (_local3.change * _arg1)); _local2--; }; }; } public function set changeFactor(_arg1:Number):void{ updateTweens(_arg1); _changeFactor = _arg1; } protected function addTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4, _arg5:String=null):void{ var _local6:Number; if (_arg4 != null){ _local6 = ((typeof(_arg4))=="number") ? (_arg4 - _arg3) : Number(_arg4); if (_local6 != 0){ _tweens[_tweens.length] = new TweenInfo(_arg1, _arg2, _arg3, _local6, ((_arg5) || (_arg2)), false); }; }; } public function killProps(_arg1:Object):void{ var _local2:int; _local2 = (this.overwriteProps.length - 1); while (_local2 > -1) { if ((this.overwriteProps[_local2] in _arg1)){ this.overwriteProps.splice(_local2, 1); }; _local2--; }; _local2 = (_tweens.length - 1); while (_local2 > -1) { if ((_tweens[_local2].name in _arg1)){ _tweens.splice(_local2, 1); }; _local2--; }; } public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ addTween(_arg1, this.propName, _arg1[this.propName], _arg2, this.propName); return (true); } public function get changeFactor():Number{ return (_changeFactor); } public static function activate(_arg1:Array):Boolean{ var _local2:int; var _local3:Object; _local2 = (_arg1.length - 1); while (_local2 > -1) { _local3 = new (_arg1[_local2]); TweenLite.plugins[_local3.propName] = _arg1[_local2]; _local2--; }; return (true); } } }//package gs.plugins
Section 42
//VisiblePlugin (gs.plugins.VisiblePlugin) package gs.plugins { import gs.*; import flash.display.*; public class VisiblePlugin extends TweenPlugin { protected var _tween:TweenLite; protected var _visible:Boolean; protected var _target:Object; public static const VERSION:Number = 1; public static const API:Number = 1; public function VisiblePlugin(){ this.propName = "visible"; this.overwriteProps = ["visible"]; this.onComplete = onCompleteTween; } override public function set changeFactor(_arg1:Number):void{ if (_target.visible != true){ _target.visible = true; }; } public function onCompleteTween():void{ if (((!((_tween.vars.runBackwards == true))) && ((_tween.ease == _tween.vars.ease)))){ _target.visible = _visible; }; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ _target = _arg1; _tween = _arg3; _visible = Boolean(_arg2); return (true); } } }//package gs.plugins
Section 43
//VolumePlugin (gs.plugins.VolumePlugin) package gs.plugins { import flash.media.*; import gs.*; import flash.display.*; public class VolumePlugin extends TweenPlugin { protected var _st:SoundTransform; protected var _target:Object; public static const VERSION:Number = 1.01; public static const API:Number = 1; public function VolumePlugin(){ this.propName = "volume"; this.overwriteProps = ["volume"]; } override public function set changeFactor(_arg1:Number):void{ updateTweens(_arg1); _target.soundTransform = _st; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ if (((isNaN(_arg2)) || (!(_arg1.hasOwnProperty("soundTransform"))))){ return (false); }; _target = _arg1; _st = _target.soundTransform; addTween(_st, "volume", _st.volume, _arg2, "volume"); return (true); } } }//package gs.plugins
Section 44
//ArrayTweenInfo (gs.utils.tween.ArrayTweenInfo) package gs.utils.tween { public class ArrayTweenInfo { public var change:Number; public var index:uint; public var start:Number; public function ArrayTweenInfo(_arg1:uint, _arg2:Number, _arg3:Number){ this.index = _arg1; this.start = _arg2; this.change = _arg3; } } }//package gs.utils.tween
Section 45
//TweenInfo (gs.utils.tween.TweenInfo) package gs.utils.tween { public class TweenInfo { public var start:Number; public var name:String; public var change:Number; public var target:Object; public var property:String; public var isPlugin:Boolean; public function TweenInfo(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number, _arg5:String, _arg6:Boolean){ this.target = _arg1; this.property = _arg2; this.start = _arg3; this.change = _arg4; this.name = _arg5; this.isPlugin = _arg6; } } }//package gs.utils.tween
Section 46
//TweenLite (gs.TweenLite) package gs { import flash.events.*; import flash.display.*; import flash.utils.*; import gs.plugins.*; import gs.utils.tween.*; public class TweenLite { public var delay:Number; protected var _hasUpdate:Boolean; protected var _hasPlugins:Boolean; public var started:Boolean; public var initted:Boolean; public var active:Boolean; public var startTime:Number; public var target:Object; public var duration:Number; public var gc:Boolean; public var vars:Object; public var ease:Function; public var tweens:Array; public var exposedVars:Object; public var combinedTimeScale:Number; public var initTime:Number; public static const version:Number = 10.092; private static var _timer:Timer = new Timer(2000); public static var defaultEase:Function = TweenLite.easeOut; public static var plugins:Object = {}; public static var currentTime:uint; public static var masterList:Dictionary = new Dictionary(false); protected static var _reservedProps:Object = {ease:1, delay:1, overwrite:1, onComplete:1, onCompleteParams:1, runBackwards:1, startAt:1, onUpdate:1, onUpdateParams:1, roundProps:1, onStart:1, onStartParams:1, persist:1, renderOnStart:1, proxiedEase:1, easeParams:1, yoyo:1, loop:1, onCompleteListener:1, onUpdateListener:1, onStartListener:1, orientToBezier:1, timeScale:1}; public static var killDelayedCallsTo:Function = TweenLite.killTweensOf; public static var timingSprite:Sprite = new Sprite(); public static var overwriteManager:Object; private static var _tlInitted:Boolean; public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){ var _local4:int; super(); if (_arg1 == null){ return; }; if (!_tlInitted){ TweenPlugin.activate([TintPlugin, RemoveTintPlugin, FramePlugin, AutoAlphaPlugin, VisiblePlugin, VolumePlugin, EndArrayPlugin]); currentTime = getTimer(); timingSprite.addEventListener(Event.ENTER_FRAME, updateAll, false, 0, true); if (overwriteManager == null){ overwriteManager = {mode:1, enabled:false}; }; _timer.addEventListener("timer", killGarbage, false, 0, true); _timer.start(); _tlInitted = true; }; this.vars = _arg3; this.duration = ((_arg2) || (0.001)); this.delay = ((_arg3.delay) || (0)); this.combinedTimeScale = ((_arg3.timeScale) || (1)); this.active = Boolean((((_arg2 == 0)) && ((this.delay == 0)))); this.target = _arg1; if (typeof(this.vars.ease) != "function"){ this.vars.ease = defaultEase; }; if (this.vars.easeParams != null){ this.vars.proxiedEase = this.vars.ease; this.vars.ease = easeProxy; }; this.ease = this.vars.ease; this.exposedVars = ((this.vars.isTV)==true) ? this.vars.exposedVars : this.vars; this.tweens = []; this.initTime = currentTime; this.startTime = (this.initTime + (this.delay * 1000)); _local4 = ((((_arg3.overwrite == undefined)) || (((!(overwriteManager.enabled)) && ((_arg3.overwrite > 1)))))) ? overwriteManager.mode : int(_arg3.overwrite); if (((!((_arg1 in masterList))) || ((_local4 == 1)))){ masterList[_arg1] = [this]; } else { masterList[_arg1].push(this); }; if ((((((this.vars.runBackwards == true)) && (!((this.vars.renderOnStart == true))))) || (this.active))){ initTweenVals(); if (this.active){ render((this.startTime + 1)); } else { render(this.startTime); }; if (((((!((this.exposedVars.visible == null))) && ((this.vars.runBackwards == true)))) && ((this.target is DisplayObject)))){ this.target.visible = this.exposedVars.visible; }; }; } public function set enabled(_arg1:Boolean):void{ var _local2:Array; var _local3:Boolean; var _local4:int; if (_arg1){ if (!(this.target in masterList)){ masterList[this.target] = [this]; } else { _local2 = masterList[this.target]; _local4 = (_local2.length - 1); while (_local4 > -1) { if (_local2[_local4] == this){ _local3 = true; break; }; _local4--; }; if (!_local3){ _local2[_local2.length] = this; }; }; }; this.gc = (_arg1) ? false : true; if (this.gc){ this.active = false; } else { this.active = this.started; }; } public function clear():void{ this.tweens = []; this.vars = (this.exposedVars = {ease:this.vars.ease}); _hasUpdate = false; } public function render(_arg1:uint):void{ var _local2:Number; var _local3:Number; var _local4:TweenInfo; var _local5:int; _local2 = ((_arg1 - this.startTime) * 0.001); if (_local2 >= this.duration){ _local2 = this.duration; _local3 = ((((this.ease == this.vars.ease)) || ((this.duration == 0.001)))) ? 1 : 0; } else { _local3 = this.ease(_local2, 0, 1, this.duration); }; _local5 = (this.tweens.length - 1); while (_local5 > -1) { _local4 = this.tweens[_local5]; _local4.target[_local4.property] = (_local4.start + (_local3 * _local4.change)); _local5--; }; if (_hasUpdate){ this.vars.onUpdate.apply(null, this.vars.onUpdateParams); }; if (_local2 == this.duration){ complete(true); }; } public function activate():void{ this.started = (this.active = true); if (!this.initted){ initTweenVals(); }; if (this.vars.onStart != null){ this.vars.onStart.apply(null, this.vars.onStartParams); }; if (this.duration == 0.001){ this.startTime = (this.startTime - 1); }; } public function get enabled():Boolean{ return ((this.gc) ? false : true); } public function initTweenVals():void{ var _local1:String; var _local2:int; var _local3:*; var _local4:TweenInfo; if (((!((this.exposedVars.timeScale == undefined))) && (this.target.hasOwnProperty("timeScale")))){ this.tweens[this.tweens.length] = new TweenInfo(this.target, "timeScale", this.target.timeScale, (this.exposedVars.timeScale - this.target.timeScale), "timeScale", false); }; for (_local1 in this.exposedVars) { if ((_local1 in _reservedProps)){ } else { if ((_local1 in plugins)){ _local3 = new (plugins[_local1]); if (_local3.onInitTween(this.target, this.exposedVars[_local1], this) == false){ this.tweens[this.tweens.length] = new TweenInfo(this.target, _local1, this.target[_local1], ((typeof(this.exposedVars[_local1]))=="number") ? (this.exposedVars[_local1] - this.target[_local1]) : Number(this.exposedVars[_local1]), _local1, false); } else { this.tweens[this.tweens.length] = new TweenInfo(_local3, "changeFactor", 0, 1, ((_local3.overwriteProps.length)==1) ? _local3.overwriteProps[0] : "_MULTIPLE_", true); _hasPlugins = true; }; } else { this.tweens[this.tweens.length] = new TweenInfo(this.target, _local1, this.target[_local1], ((typeof(this.exposedVars[_local1]))=="number") ? (this.exposedVars[_local1] - this.target[_local1]) : Number(this.exposedVars[_local1]), _local1, false); }; }; }; if (this.vars.runBackwards == true){ _local2 = (this.tweens.length - 1); while (_local2 > -1) { _local4 = this.tweens[_local2]; this.tweens[_local2].start = (_local4.start + _local4.change); _local4.change = -(_local4.change); _local2--; }; }; if (this.vars.onUpdate != null){ _hasUpdate = true; }; if (((TweenLite.overwriteManager.enabled) && ((this.target in masterList)))){ overwriteManager.manageOverwrites(this, masterList[this.target]); }; this.initted = true; } protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams))); } public function killVars(_arg1:Object):void{ if (overwriteManager.enabled){ overwriteManager.killVars(_arg1, this.exposedVars, this.tweens); }; } public function complete(_arg1:Boolean=false):void{ var _local2:int; if (!_arg1){ if (!this.initted){ initTweenVals(); }; this.startTime = (currentTime - ((this.duration * 1000) / this.combinedTimeScale)); render(currentTime); return; }; if (_hasPlugins){ _local2 = (this.tweens.length - 1); while (_local2 > -1) { if (((this.tweens[_local2].isPlugin) && (!((this.tweens[_local2].target.onComplete == null))))){ this.tweens[_local2].target.onComplete(); }; _local2--; }; }; if (this.vars.persist != true){ this.enabled = false; }; if (this.vars.onComplete != null){ this.vars.onComplete.apply(null, this.vars.onCompleteParams); }; } public static function updateAll(_arg1:Event=null):void{ var _local2:uint; var _local3:Dictionary; var _local4:Array; var _local5:int; var _local6:TweenLite; _local2 = (currentTime = getTimer()); _local3 = masterList; for each (_local4 in _local3) { _local5 = (_local4.length - 1); while (_local5 > -1) { _local6 = _local4[_local5]; if (_local6.active){ _local6.render(_local2); } else { if (_local6.gc){ _local4.splice(_local5, 1); } else { if (_local2 >= _local6.startTime){ _local6.activate(); _local6.render(_local2); }; }; }; _local5--; }; }; } public static function removeTween(_arg1:TweenLite, _arg2:Boolean=true):void{ if (_arg1 != null){ if (_arg2){ _arg1.clear(); }; _arg1.enabled = false; }; } public static function killTweensOf(_arg1:Object=null, _arg2:Boolean=false):void{ var _local3:Array; var _local4:int; var _local5:TweenLite; if (((!((_arg1 == null))) && ((_arg1 in masterList)))){ _local3 = masterList[_arg1]; _local4 = (_local3.length - 1); while (_local4 > -1) { _local5 = _local3[_local4]; if (((_arg2) && (!(_local5.gc)))){ _local5.complete(false); }; _local5.clear(); _local4--; }; delete masterList[_arg1]; }; } public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ _arg3.runBackwards = true; return (new TweenLite(_arg1, _arg2, _arg3)); } public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } protected static function killGarbage(_arg1:TimerEvent):void{ var _local2:Dictionary; var _local3:Object; _local2 = masterList; for (_local3 in _local2) { if (_local2[_local3].length == 0){ delete _local2[_local3]; }; }; } public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null):TweenLite{ return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, overwrite:0})); } public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ return (new TweenLite(_arg1, _arg2, _arg3)); } } }//package gs
Section 47
//arrows_linecopy_160 (jelly_match_funflow_viral_fla.arrows_linecopy_160) package jelly_match_funflow_viral_fla { import flash.display.*; public dynamic class arrows_linecopy_160 extends MovieClip { public var arrow:MovieClip; } }//package jelly_match_funflow_viral_fla
Section 48
//barcopy_157 (jelly_match_funflow_viral_fla.barcopy_157) package jelly_match_funflow_viral_fla { import flash.display.*; public dynamic class barcopy_157 extends MovieClip { public var bar_mc:MovieClip; } }//package jelly_match_funflow_viral_fla
Section 49
//bonus_tf_35 (jelly_match_funflow_viral_fla.bonus_tf_35) package jelly_match_funflow_viral_fla { import flash.display.*; import flash.text.*; public dynamic class bonus_tf_35 extends MovieClip { public var text_tf:TextField; } }//package jelly_match_funflow_viral_fla
Section 50
//color_back_wrapper_25 (jelly_match_funflow_viral_fla.color_back_wrapper_25) package jelly_match_funflow_viral_fla { import flash.display.*; public dynamic class color_back_wrapper_25 extends MovieClip { public var plane:MovieClip; } }//package jelly_match_funflow_viral_fla
Section 51
//color_backs_26 (jelly_match_funflow_viral_fla.color_backs_26) package jelly_match_funflow_viral_fla { import flash.display.*; public dynamic class color_backs_26 extends MovieClip { public var womb:MovieClip; } }//package jelly_match_funflow_viral_fla
Section 52
//container_mc_60 (jelly_match_funflow_viral_fla.container_mc_60) package jelly_match_funflow_viral_fla { import flash.display.*; import game.*; public dynamic class container_mc_60 extends MovieClip { public var field_mc:FieldView; } }//package jelly_match_funflow_viral_fla
Section 53
//funflow_splash_37 (jelly_match_funflow_viral_fla.funflow_splash_37) package jelly_match_funflow_viral_fla { import flash.events.*; import flash.display.*; import util.*; public dynamic class funflow_splash_37 extends MovieClip { public function funflow_splash_37(){ addFrameScript(0, frame1, 79, frame80); } function frame80(){ MovieClip(parent).play(); } function frame1(){ this.buttonMode = true; this.addEventListener(MouseEvent.CLICK, goTo); } public function goTo(_arg1:MouseEvent){ LinkManager.goToURL(LinkManager.FUNFLOW_SPLASH); } } }//package jelly_match_funflow_viral_fla
Section 54
//label_text_66 (jelly_match_funflow_viral_fla.label_text_66) package jelly_match_funflow_viral_fla { import flash.display.*; import flash.text.*; public dynamic class label_text_66 extends MovieClip { public var text_tf:TextField; } }//package jelly_match_funflow_viral_fla
Section 55
//loader_plane_2 (jelly_match_funflow_viral_fla.loader_plane_2) package jelly_match_funflow_viral_fla { import flash.display.*; public dynamic class loader_plane_2 extends MovieClip { public var plane:MovieClip; } }//package jelly_match_funflow_viral_fla
Section 56
//logo_anim_40 (jelly_match_funflow_viral_fla.logo_anim_40) package jelly_match_funflow_viral_fla { import flash.events.*; import flash.display.*; import util.*; public dynamic class logo_anim_40 extends MovieClip { public function logo_anim_40(){ addFrameScript(0, frame1, 189, frame190); } function frame1(){ this.buttonMode = true; this.addEventListener(MouseEvent.CLICK, goTo); } function frame190(){ MovieClip(parent).play(); } public function goTo(_arg1:MouseEvent){ LinkManager.goToURL(LinkManager.SQIRRELSQUARE_SPLASH); } } }//package jelly_match_funflow_viral_fla
Section 57
//particle_plane_21 (jelly_match_funflow_viral_fla.particle_plane_21) package jelly_match_funflow_viral_fla { import flash.display.*; public dynamic class particle_plane_21 extends MovieClip { public var plane:MovieClip; } }//package jelly_match_funflow_viral_fla
Section 58
//pause_anim_155 (jelly_match_funflow_viral_fla.pause_anim_155) package jelly_match_funflow_viral_fla { import flash.display.*; public dynamic class pause_anim_155 extends MovieClip { public function pause_anim_155(){ addFrameScript(15, frame16); } function frame16(){ stop(); } } }//package jelly_match_funflow_viral_fla
Section 59
//result_end_text_146 (jelly_match_funflow_viral_fla.result_end_text_146) package jelly_match_funflow_viral_fla { import flash.display.*; import util.*; import flash.text.*; public dynamic class result_end_text_146 extends MovieClip { public var result_points:ResultPoints; public var top_tf:TextField; } }//package jelly_match_funflow_viral_fla
Section 60
//Symbol2_117 (jelly_match_funflow_viral_fla.Symbol2_117) package jelly_match_funflow_viral_fla { import flash.display.*; public dynamic class Symbol2_117 extends MovieClip { public function Symbol2_117(){ addFrameScript(99, frame100); } function frame100(){ gotoAndPlay(1); } } }//package jelly_match_funflow_viral_fla
Section 61
//Symbol8_48 (jelly_match_funflow_viral_fla.Symbol8_48) package jelly_match_funflow_viral_fla { import flash.display.*; public dynamic class Symbol8_48 extends MovieClip { public function Symbol8_48(){ addFrameScript(59, frame60); } function frame60(){ gotoAndPlay(6); } } }//package jelly_match_funflow_viral_fla
Section 62
//time_bonus_mc_164 (jelly_match_funflow_viral_fla.time_bonus_mc_164) package jelly_match_funflow_viral_fla { import flash.display.*; public dynamic class time_bonus_mc_164 extends MovieClip { public function time_bonus_mc_164(){ addFrameScript(0, frame1, 20, frame21); } function frame1(){ stop(); } function frame21(){ gotoAndPlay(2); } } }//package jelly_match_funflow_viral_fla
Section 63
//watr_anim_107 (jelly_match_funflow_viral_fla.watr_anim_107) package jelly_match_funflow_viral_fla { import flash.display.*; public dynamic class watr_anim_107 extends MovieClip { public var eyes:MovieClip; public var colors:MovieClip; public var mouth:MovieClip; public function watr_anim_107(){ addFrameScript(0, frame1); } function frame1(){ colors.gotoAndStop((1 + Math.round((Math.random() * 5)))); eyes.gotoAndStop((1 + Math.round((Math.random() * 5)))); mouth.gotoAndStop((1 + Math.round((Math.random() * 7)))); } } }//package jelly_match_funflow_viral_fla
Section 64
//womb_27 (jelly_match_funflow_viral_fla.womb_27) package jelly_match_funflow_viral_fla { import flash.display.*; public dynamic class womb_27 extends MovieClip { public var plane:MovieClip; public function womb_27(){ addFrameScript(0, frame1, 24, frame25); } function frame1(){ stop(); } function frame25(){ gotoAndStop(1); } } }//package jelly_match_funflow_viral_fla
Section 65
//womb_plane_28 (jelly_match_funflow_viral_fla.womb_plane_28) package jelly_match_funflow_viral_fla { import flash.display.*; public dynamic class womb_plane_28 extends MovieClip { public function womb_plane_28(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package jelly_match_funflow_viral_fla
Section 66
//KongregateAPI (kongregate.KongregateAPI) package kongregate { import flash.events.*; import flash.display.*; import flash.net.*; import util.*; public class KongregateAPI extends MovieClip { public static var api; public function init(_arg1:LoaderInfo):void{ var _local2:Object; var _local3:String; var _local4:URLRequest; var _local5:Loader; _local2 = _arg1.parameters; _local3 = ((_local2.api_path) || ("http://www.kongregate.com/flash/API_AS3_Local.swf")); _local4 = new URLRequest(_local3); _local5 = new Loader(); _local5.contentLoaderInfo.addEventListener(Event.COMPLETE, apiLoadComplete); _local5.load(_local4); this.addChild(_local5); } public function apiLoadComplete(_arg1:Event):void{ api = _arg1.target.content; api.services.connect(); } public static function get isHome():Boolean{ return (Util.isDomain(".*kongregate.com", false)); } } }//package kongregate
Section 67
//MochiBot (mochi.as3.MochiBot) package mochi.as3 { import flash.display.*; import flash.net.*; import flash.system.*; public dynamic class MochiBot extends Sprite { public static function track(_arg1:Sprite, _arg2:String):MochiBot{ var _local3:MochiBot; var _local4:String; var _local5:URLVariables; var _local6:String; var _local7:URLRequest; var _local8:Loader; if (Security.sandboxType == "localWithFile"){ return (null); }; _local3 = new (MochiBot); _arg1.addChild(_local3); Security.allowDomain("*"); Security.allowInsecureDomain("*"); _local4 = "http://core.mochibot.com/my/core.swf"; _local5 = new URLVariables(); _local5["sb"] = Security.sandboxType; _local5["v"] = Capabilities.version; _local5["swfid"] = _arg2; _local5["mv"] = "8"; _local5["fv"] = "9"; _local6 = _local3.root.loaderInfo.loaderURL; if (_local6.indexOf("http") == 0){ _local5["url"] = _local6; } else { _local5["url"] = "local"; }; _local7 = new URLRequest(_local4); _local7.contentType = "application/x-www-form-urlencoded"; _local7.method = URLRequestMethod.POST; _local7.data = _local5; _local8 = new Loader(); _local3.addChild(_local8); _local8.load(_local7); return (_local3); } } }//package mochi.as3
Section 68
//MochiDigits (mochi.as3.MochiDigits) package mochi.as3 { public final class MochiDigits { private var Sibling:MochiDigits; private var Fragment:Number; private var Encoder:Number; public function MochiDigits(_arg1:Number=0, _arg2:uint=0):void{ Encoder = 0; setValue(_arg1, _arg2); } public function set value(_arg1:Number):void{ setValue(_arg1); } public function reencode():void{ var _local1:uint; _local1 = int((2147483647 * Math.random())); Fragment = (Fragment ^ (_local1 ^ Encoder)); Encoder = _local1; } public function toString():String{ var _local1:String; _local1 = String.fromCharCode((Fragment ^ Encoder)); if (Sibling != null){ _local1 = (_local1 + Sibling.toString()); }; return (_local1); } public function get value():Number{ return (Number(this.toString())); } public function setValue(_arg1:Number=0, _arg2:uint=0):void{ var _local3:String; _local3 = _arg1.toString(); var _temp1 = _arg2; _arg2 = (_arg2 + 1); Fragment = (_local3.charCodeAt(_temp1) ^ Encoder); if (_arg2 < _local3.length){ Sibling = new MochiDigits(_arg1, _arg2); } else { Sibling = null; }; reencode(); } public function addValue(_arg1:Number):void{ value = (value + _arg1); } } }//package mochi.as3
Section 69
//Log (SWFStats.Log) package SWFStats { import flash.events.*; import flash.net.*; import flash.utils.*; import flash.system.*; import flash.external.*; public final class Log { private static const PingR:Timer = new Timer(30000); private static const PingF:Timer = new Timer(60000); public static var GUID:String = ""; private static var Plays:int = 0; public static var Enabled:Boolean = false; private static var Request:LogRequest = new LogRequest(); private static var Pings:int = 0; public static var Queue:Boolean = true; public static var SourceUrl:String; private static var HighestGoal:int = 0; private static var FirstPing:Boolean = true; public static var SWFID:int = 0; private static function SaveCookie(_arg1:String, _arg2:int):void{ var _local3:SharedObject; _local3 = SharedObject.getLocal("swfstats"); _local3.data[_arg1] = _arg2.toString(); _local3.flush(); } public static function View(_arg1:int=0, _arg2:String="", _arg3:String=""):void{ var _local4:int; if (SWFID > 0){ return; }; SWFID = _arg1; GUID = _arg2; Enabled = true; if ((((SWFID == 0)) || ((GUID == "")))){ Enabled = false; return; }; if (((((!((_arg3.indexOf("http://") == 0))) && (!((Security.sandboxType == "localWithNetwork"))))) && (!((Security.sandboxType == "localTrusted"))))){ Enabled = false; return; }; SourceUrl = GetUrl(_arg3); if ((((SourceUrl == null)) || ((SourceUrl == "")))){ Enabled = false; return; }; Security.allowDomain("http://tracker.swfstats.com/"); Security.allowInsecureDomain("http://tracker.swfstats.com/"); Security.loadPolicyFile("http://tracker.swfstats.com/crossdomain.xml"); Security.allowDomain("http://utils.swfstats.com/"); Security.allowInsecureDomain("http://utils.swfstats.com/"); Security.loadPolicyFile("http://utils.swfstats.com/crossdomain.xml"); _local4 = GetCookie("views"); _local4++; SaveCookie("views", _local4); Send(("v/" + _local4), true); PingF.addEventListener(TimerEvent.TIMER, PingServer); PingF.start(); } public static function LevelCounterMetric(_arg1:String, _arg2):void{ if (!Enabled){ return; }; Send(((("lc/" + Clean(_arg1)) + "/") + Clean(_arg2))); } private static function Clean(_arg1:String):String{ return (escape(_arg1.replace("/", "\\").replace("~", "-"))); } public static function Play():void{ if (!Enabled){ return; }; Plays++; Send(("p/" + Plays)); } private static function Send(_arg1:String, _arg2:Boolean=false):void{ Request.Queue(_arg1); if (((((Request.Ready) || (_arg2))) || (!(Queue)))){ Request.Send(); Request = new LogRequest(); }; } private static function GetUrl(_arg1:String):String{ var url:String; var defaulturl = _arg1; if (ExternalInterface.available){ try { url = String(ExternalInterface.call("window.location.href.toString")); } catch(s:Error) { url = defaulturl; }; } else { if (defaulturl.indexOf("http://") == 0){ url = defaulturl; }; }; if ((((((url == null)) || ((url == "")))) || ((url == "null")))){ if ((((Security.sandboxType == "localWithNetwork")) || ((Security.sandboxType == "localTrusted")))){ url = "http://local-testing/"; } else { url = null; }; }; return (escape(url)); } public static function LevelRangedMetric(_arg1:String, _arg2, _arg3:int):void{ if (!Enabled){ return; }; Send(((((("lr/" + Clean(_arg1)) + "/") + Clean(_arg2)) + "/") + _arg3)); } private static function GetCookie(_arg1:String):int{ var _local2:SharedObject; _local2 = SharedObject.getLocal("swfstats"); if (_local2.data[_arg1] == undefined){ return (0); }; return (int(_local2.data[_arg1])); } public static function Goal(_arg1:int, _arg2:String):void{ } private static function PingServer(... _args):void{ if (!Enabled){ return; }; Pings++; Send(((("t/" + (FirstPing) ? "y" : "n") + "/") + Pings), true); if (FirstPing){ PingF.stop(); PingR.addEventListener(TimerEvent.TIMER, PingServer); PingR.start(); FirstPing = false; }; } public static function LevelAverageMetric(_arg1:String, _arg2, _arg3:int):void{ if (!Enabled){ return; }; Send(((((("la/" + Clean(_arg1)) + "/") + Clean(_arg2)) + "/") + _arg3)); } public static function CustomMetric(_arg1:String, _arg2:String=null):void{ if (!Enabled){ return; }; if (_arg2 == null){ _arg2 = ""; }; Send(((("c/" + Clean(_arg1)) + "/") + Clean(_arg2))); } } }//package SWFStats
Section 70
//LogRequest (SWFStats.LogRequest) package SWFStats { import flash.events.*; import flash.net.*; public final class LogRequest { public var Ready:Boolean;// = false private var Pieces:int; private var Data:String;// = "" private static var Failed:int = 0; public function LogRequest(){ Data = ""; Ready = false; super(); } private function SecurityErrorHandler(_arg1:SecurityErrorEvent):void{ } public function Send():void{ var _local1:URLLoader; _local1 = new URLLoader(); _local1.addEventListener(IOErrorEvent.IO_ERROR, this.IOErrorHandler); _local1.addEventListener(HTTPStatusEvent.HTTP_STATUS, this.StatusChange); _local1.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.SecurityErrorHandler); _local1.load(new URLRequest((((((((((("http://tracker.swfstats.com/Games/q.aspx?guid=" + Log.GUID) + "&swfid=") + Log.SWFID) + "&q=") + this.Data) + "&url=") + Log.SourceUrl) + "&") + Math.random()) + "z"))); trace((((((((((("http://tracker.swfstats.com/Games/q.aspx?guid=" + Log.GUID) + "&swfid=") + Log.SWFID) + "&q=") + this.Data) + "&url=") + Log.SourceUrl) + "&") + Math.random()) + "z")); } private function StatusChange(_arg1:HTTPStatusEvent):void{ } public function Queue(_arg1:String):void{ if (Failed > 3){ return; }; this.Pieces++; this.Data = (this.Data + (((this.Data == "")) ? "" : "~" + _arg1)); if ((((this.Pieces == 8)) || ((this.Data.length > 300)))){ this.Ready = true; }; } private function IOErrorHandler(_arg1:IOErrorEvent):void{ Failed++; } } }//package SWFStats
Section 71
//SoundBGController (util.sound.SoundBGController) package util.sound { import flash.media.*; import flash.events.*; import flash.utils.*; public class SoundBGController { private static var _soundTransform:SoundTransform = new SoundTransform(); private static var _curSound:Sound; private static var _soundChannel:SoundChannel; public static var soundHash:Object = {}; public static function playSoundBG(_arg1:String):void{ var cl:Class; var name = _arg1; if (soundHash[name] == null){ try { cl = (getDefinitionByName(name) as Class); } catch(e:Error) { return; }; try { soundHash[name] = (new (cl) as Sound); } catch(e:Error) { return; }; }; try { if (_curSound != Sound(soundHash[name])){ _curSound = Sound(soundHash[name]); playSound(); }; } catch(e:Error) { }; } public static function get soundTransform():SoundTransform{ return (_soundTransform); } private static function soundCompleteHandler(_arg1:Event):void{ playSound(); } public static function stopSound():void{ _soundChannel.stop(); _soundChannel.removeEventListener(Event.SOUND_COMPLETE, soundCompleteHandler); } public static function refreshSoundChannel():void{ if (_soundChannel != null){ _soundChannel.soundTransform = _soundTransform; }; } public static function get soundChannel():SoundChannel{ return (_soundChannel); } public static function playSound():void{ if (SoundManager.isSoundOn == false){ return; }; if (_soundChannel != null){ stopSound(); }; _soundChannel = _curSound.play(0, 0, _soundTransform); _soundChannel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler); } } }//package util.sound
Section 72
//SoundButton (util.sound.SoundButton) package util.sound { import flash.events.*; import util.*; import SWFStats.*; public class SoundButton extends But { public function SoundButton(){ addFrameScript(0, frame1, 1, frame2); super(); setState(); } function frame1(){ stop(); } override protected function handleClick(_arg1:MouseEvent):void{ super.handleClick(_arg1); SoundManager.isSoundOn = !(SoundManager.isSoundOn); Log.CustomMetric((SoundManager.isSoundOn) ? "sound_on" : "sound_off"); setState(); } public function setState():void{ if (SoundManager.isSoundOn == true){ gotoAndStop(1); } else { gotoAndStop(2); }; } function frame2(){ stop(); } } }//package util.sound
Section 73
//SoundFXController (util.sound.SoundFXController) package util.sound { import flash.media.*; import flash.utils.*; public class SoundFXController { private static var _soundTransform:SoundTransform = new SoundTransform(); public static var soundHash:Object = {}; public static function playSoundFX(_arg1:String):void{ var cl:Class; var name = _arg1; if (SoundManager.isSoundOn){ if (soundHash[name] == null){ try { cl = (getDefinitionByName(name) as Class); } catch(e:Error) { return; }; try { soundHash[name] = (new (cl) as Sound); } catch(e:Error) { return; }; }; try { Sound(soundHash[name]).play(0, 1, _soundTransform); } catch(e:Error) { }; }; } public static function get soundTransform():SoundTransform{ return (_soundTransform); } public static function playFX(_arg1:String, _arg2:int=0):void{ var _local3:int; if (_arg2 > 0){ _local3 = (Math.round((Math.random() * (_arg2 - 1))) + 1); playSoundFX((_arg1 + String(_local3))); } else { playSoundFX(_arg1); }; } } }//package util.sound
Section 74
//SoundManager (util.sound.SoundManager) package util.sound { import flash.net.*; public class SoundManager { private static const FX_VOLUME:Number = 0.3; private static const BG_VOLUME:Number = 0.8; private static var _isSoundOn:Boolean = true; private static var _inited:Boolean = init(); private static var _so:SharedObject; public static function set isSoundOn(_arg1:Boolean):void{ var value = _arg1; if (value != _isSoundOn){ if (value == false){ try { SoundBGController.stopSound(); } catch(e:Error) { trace(("[Error: SoundManager try stop chanal]: " + e.message)); }; } else { _isSoundOn = true; SoundBGController.playSound(); }; }; _isSoundOn = value; _so.data["isSoundOn"] = value; _so.flush(); } public static function get bgSoundVolume():Number{ return (SoundBGController.soundTransform.volume); } public static function get isSoundOn():Boolean{ return (_isSoundOn); } public static function set bgSoundVolume(_arg1:Number):void{ SoundBGController.soundTransform.volume = _arg1; SoundBGController.refreshSoundChannel(); } private static function init():Boolean{ _so = SharedObject.getLocal("sound_data"); if (_so.data["isSoundOn"] == null){ _so.data["isSoundOn"] = true; _so.flush(); }; _isSoundOn = _so.data["isSoundOn"]; SoundBGController.soundTransform.volume = BG_VOLUME; SoundFXController.soundTransform.volume = FX_VOLUME; _inited = true; return (true); } public static function get fxSoundVolume():Number{ return (SoundFXController.soundTransform.volume); } public static function set fxSoundVolume(_arg1:Number):void{ SoundFXController.soundTransform.volume = _arg1; } } }//package util.sound
Section 75
//AnimateBar (util.AnimateBar) package util { import flash.events.*; import flash.display.*; import flash.utils.*; public class AnimateBar extends MovieClip { private var _active:Boolean; public var time_bonus:MovieClip; private var time_int:Number;// = 0 private var _value:int; private var _max:int; private var _step:int; private var _time_bonus:MovieClip; public function AnimateBar(){ time_int = 0; super(); _time_bonus = this["time_bonus"]; } public function get active():Boolean{ return (_active); } public function init(_arg1:Number=0.1, _arg2:Number=60):void{ _step = (_arg1 * 1000); _max = (_arg2 * 1000); value = 0; active = true; startTimer(); } public function startTimer():void{ if (_active){ _time_bonus.gotoAndStop(1); stopTimer(); time_int = setInterval(update, _step); }; } public function set active(_arg1:Boolean):void{ _active = _arg1; if (!_active){ value = 0; stop(); }; } public function get progress():Number{ return ((_value / _max)); } public function stopTimer():void{ if (time_int != 0){ clearInterval(time_int); }; } public function getBonus():Number{ if (_value < _max){ _time_bonus.gotoAndPlay(2); return (Math.round(((_max - value) / 1000))); }; return (0); } public function get value():Number{ return (_value); } public function update():void{ value = (value + _step); } public function set value(_arg1:Number):void{ _value = _arg1; if (_value < 0){ _value = 0; }; if (progress >= 1){ dispatchEvent(new Event(Event.COMPLETE)); }; gotoAndStop(Math.ceil((progress * 100))); } } }//package util
Section 76
//AnimateEngine (util.AnimateEngine) package util { import flash.events.*; import flash.display.*; public class AnimateEngine extends MovieClip { private var animate_arr:Array; private var MAX_COUNT:int;// = 15 private var _item_swamp:Array; private var add_counter:int; private var ADD_COUNT:int;// = 25 public static var _play_fl:Boolean; public function AnimateEngine(){ MAX_COUNT = 15; ADD_COUNT = 25; super(); mouseEnabled = false; mouseChildren = false; addEventListener(Event.ENTER_FRAME, enterFrame); _item_swamp = []; init(); } public function destroy(_arg1:AnimateItem):void{ _item_swamp.push(_arg1); removeChild(_arg1); } public function init():void{ animate_arr = []; _play_fl = true; add_counter = ADD_COUNT; addItem(); addItem(); addItem(); addItem(); addItem(); } public function addItem(_arg1:int=0, _arg2:int=0):void{ var _local3:AnimateItem; _local3 = getItem(); if (_arg1 == 0){ _arg1 = int((Math.random() * 480)); }; if (_arg2 == 0){ _arg2 = 620; }; _local3.init(_arg1, _arg2); addChild(_local3); animate_arr.push(_local3); } private function enterFrame(_arg1:Event):void{ var _local2:int; var _local3:uint; var _local4:AnimateItem; if (_play_fl){ if (!visible){ visible = true; }; _local2 = animate_arr.length; if (_local2 > 0){ _local3 = 0; while (_local3 < _local2) { _local4 = animate_arr[_local3]; _local4.animate(); if (_local4.check()){ _local4.destroy(); animate_arr.splice(_local3, 1); _local2 = animate_arr.length; } else { _local3++; }; }; }; if (add_counter-- < 0){ if (_local2 < MAX_COUNT){ addItem(); }; add_counter = ADD_COUNT; }; } else { visible = false; }; } private function getItem():AnimateItem{ var _local1:AnimateItem; if (_item_swamp.length > 0){ _local1 = _item_swamp.pop(); } else { _local1 = new AnimateItem(); }; return (_local1); } } }//package util
Section 77
//AnimateItem (util.AnimateItem) package util { import flash.display.*; public class AnimateItem extends MovieClip { private var steps:Number;// = 40 private var speed:Number; private var _color:int; public var colors:MovieClip; public var ts:Number;// = 0 public var tx:Number;// = 0 private var sx:int;// = 500 public var ty:Number;// = 0 private var _colors:MovieClip; public function AnimateItem(){ tx = 0; ty = 0; ts = 0; steps = 40; sx = 500; super(); _colors = this["colors"]; } private function initMove():void{ tx = (x + int((((Math.random() * 4) - 2) * speed))); ty = (y - int((((Math.random() * speed) * 5) + speed))); _colors["plane"]["womb"].gotoAndPlay(2); } public function destroy():void{ AnimateEngine(parent).destroy(this); } public function init(_arg1:Number=0, _arg2:Number=0, _arg3:int=-1):void{ if (_arg3 == -1){ _color = Math.round((Math.random() * (GameData.COLORS - 1))); } else { _color = _arg3; }; _colors["plane"].gotoAndStop((_color + 1)); _colors["plane"]["womb"]["plane"].gotoAndStop((_color + 1)); x = _arg1; y = _arg2; speed = int((((Math.random() * 0.4) + 0.6) * 50)); scaleX = (scaleY = (speed / 50)); initMove(); } public function check():Boolean{ return ((((((x > sx)) || ((x < -20)))) || ((y < -20)))); } public function animate():void{ if ((y - ty) > 20){ x = (x + ((tx - x) / steps)); y = (y + ((ty - y) / steps)); } else { initMove(); }; } } }//package util
Section 78
//App (util.App) package util { import flash.events.*; import flash.display.*; import flash.net.*; import flash.utils.*; import mochi.as3.*; import util.sound.*; import SWFStats.*; import gs.plugins.*; import flash.ui.*; public class App extends MovieClip { public var views:Views; public static var _pause_fl:Boolean; public static var _first_time:Boolean; public static var _game_score:MochiDigits; public static var _win_fl:Boolean; public static var _views:Views; public static var _score_fl:Boolean; public static var _hi_score:MochiDigits; public static var _game_fl:Boolean; public static var _username:String = ""; public static var _so:SharedObject; public static var _stage:Stage; public function App(){ addEventListener(Event.ADDED_TO_STAGE, addedToStage); } private function init():void{ TweenPlugin.activate([EndArrayPlugin, ColorMatrixFilterPlugin]); _views = this["views"]; _stage = stage; _stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown); _game_score = new MochiDigits(0); _hi_score = new MochiDigits(0); getUserData(); _first_time = true; _pause_fl = false; _game_fl = false; _score_fl = false; _win_fl = false; SoundBGController.playSoundBG("jelly_theme"); } private function addedToStage(_arg1:Event):void{ init(); } public static function replayGame():void{ startGame(); } public static function startGame():void{ Log.Play(); _views.showScreen(_views._game_mc); AnimateEngine._play_fl = false; _game_fl = true; } public static function howToPlay():void{ _views.showPopup(_views._how_mc); } public static function setHiscore(_arg1:Number=0):void{ if (_arg1 > _hi_score.value){ _hi_score.value = _arg1; _so.data["hiscore"] = _hi_score.value; _so.flush(); }; } public static function hidePopup(_arg1:View):void{ _views.hide(_arg1); } private static function getUserData():void{ _so = SharedObject.getLocal("user_data_so"); if (_so.data["username"] == null){ setUser("player"); } else { setUser(_so.data["username"]); }; } public static function setPause():void{ _pause_fl = !(_pause_fl); GameView(_views._game_mc).setPause(); } public static function setUser(_arg1:String):void{ _username = _arg1; _so.data["username"] = _username; _so.flush(); if (!isNaN(_so.data["hiscore"])){ _hi_score.value = _so.data["hiscore"]; }; showMenu(); } public static function hiScore():void{ _views.showScreen(_views._result_mc); _score_fl = true; AnimateEngine._play_fl = true; } public static function showPopup(_arg1:View):void{ _views.showPopup(_arg1); } private static function keyDown(_arg1:KeyboardEvent):void{ if (_game_fl){ if (!_score_fl){ if ((((_arg1.keyCode == Keyboard.SPACE)) || ((_arg1.keyCode == Keyboard.ESCAPE)))){ setPause(); showPause(); } else { if (_arg1.keyCode == 82){ restartGame(); }; }; }; } else { if (_arg1.keyCode == Keyboard.SPACE){ if (_score_fl){ showMenu(); } else { startGame(); }; }; }; } public static function clearPause():void{ _pause_fl = false; } public static function endGame(_arg1:Boolean=false):void{ _win_fl = _arg1; setTimeout(hiScore, 1000); } public static function restartGame():void{ GameView(_views._game_mc).restartGame(); } public static function showPause():void{ if (_pause_fl){ howToPlay(); } else { hidePopup(_views._how_mc); }; } public static function showMenu():void{ _stage.focus = _stage; _game_score.value = 0; _views.showScreen(_views._menu_mc); _game_fl = false; _score_fl = false; _win_fl = false; AnimateEngine._play_fl = true; } } }//package util
Section 79
//Arrows (util.Arrows) package util { import gs.*; import flash.display.*; public class Arrows extends MovieClip { public var arrow:MovieClip; private var to:Number;// = 0 public function Arrows(){ to = 0; super(); alpha = 0; } public function show(_arg1:int):void{ y = (_arg1 * GameData.GRIDY); TweenLite.to(this, 0.3, {alpha:0.7}); } public function hide():void{ TweenLite.to(this, 0.3, {alpha:0}); } } }//package util
Section 80
//Banners (util.Banners) package util { import flash.events.*; import flash.display.*; public class Banners extends MovieClip { public var banner3:gemx_banner_cl; public var banner2:biomass_banner_cl; public var banner1:watr_banner; public function Banners(){ addEventListener(MouseEvent.CLICK, clickHandler); } private function clickHandler(_arg1:MouseEvent):void{ if ((_arg1.target is But)){ switch (But(_arg1.target).name){ case "banner1": LinkManager.goToURL(LinkManager.BANNER1); break; case "banner2": LinkManager.goToURL(LinkManager.BANNER2); break; case "banner3": LinkManager.goToURL(LinkManager.BANNER3); break; }; }; } } }//package util
Section 81
//BonusBubble (util.BonusBubble) package util { import flash.display.*; import flash.text.*; public class BonusBubble extends Bubble { public var text_mc:MovieClip; public function BonusBubble(){ addFrameScript(6, frame7); cacheAsBitmap = true; } function frame7(){ stop(); } override public function show(_arg1:Number=0, _arg2:Number=0, _arg3:String=""):void{ x = _arg1; y = _arg2; TextField(this["text_mc"]["text_tf"]).text = _arg3; gotoAndPlay(1); init(true); } } }//package util
Section 82
//Bubble (util.Bubble) package util { import flash.display.*; public class Bubble extends MovieClip { private var bonus:Boolean; private var gravity:Number; public var ts:Number;// = 0 public var tx:Number;// = 0 public var ty:Number;// = 0 public function Bubble(){ tx = 0; ty = 0; ts = 0; super(); cacheAsBitmap = true; } public function destroy():void{ BubbleEngine(parent).destroy(this); } public function init(_arg1:Boolean=false):void{ bonus = _arg1; tx = ((Math.random() * 10) - 5); ty = (Math.random() * 10); if (!bonus){ ts = ((Math.random() * 0.6) + 0.4); scaleX = (scaleY = ts); } else { ts = 1; }; gravity = -0.5; } public function check():Boolean{ return ((y < -50)); } public function animate():void{ if (ty > -5){ ty = (ty + gravity); }; if (bonus){ tx = (tx - (tx / 5)); }; x = (x + tx); y = (y + (ty * ts)); } public function show(_arg1:Number=0, _arg2:Number=0, _arg3:String=""):void{ x = _arg1; y = _arg2; init(false); } } }//package util
Section 83
//BubbleEngine (util.BubbleEngine) package util { import flash.events.*; import flash.display.*; public class BubbleEngine extends MovieClip { private var animate_arr:Array; private var _bubble_bonus_swamp:Array; private var _bubble_swamp:Array; private var _play_fl:Boolean; public function BubbleEngine(){ mouseEnabled = false; mouseChildren = false; addEventListener(Event.ENTER_FRAME, enterFrame); _bubble_swamp = []; _bubble_bonus_swamp = []; init(); } public function destroy(_arg1:Bubble):void{ if ((_arg1 is BonusBubble)){ _bubble_bonus_swamp.push(_arg1); } else { _bubble_swamp.push(_arg1); }; removeChild(_arg1); } public function init():void{ animate_arr = []; _play_fl = true; } private function getBonusBubble():BonusBubble{ var _local1:BonusBubble; if (_bubble_bonus_swamp.length > 0){ _local1 = _bubble_bonus_swamp.pop(); } else { _local1 = new BonusBubble(); }; return (_local1); } private function enterFrame(_arg1:Event):void{ var _local2:int; var _local3:uint; var _local4:Bubble; if (_play_fl){ _local2 = animate_arr.length; if (_local2 > 0){ _local3 = 0; while (_local3 < _local2) { _local4 = animate_arr[_local3]; _local4.animate(); if (_local4.check()){ _local4.destroy(); animate_arr.splice(_local3, 1); _local2 = animate_arr.length; } else { _local3++; }; }; }; }; } private function getBubble():Bubble{ var _local1:Bubble; if (_bubble_swamp.length > 0){ _local1 = _bubble_swamp.pop(); } else { _local1 = new Bubble(); }; return (_local1); } public function addBubbles(_arg1:int, _arg2:int):void{ var _local3:uint; _local3 = GameData.BUBBLES_MAX; while (_local3--) { addBubble(_arg1, _arg2); }; } public function addBubble(_arg1:int, _arg2:int, _arg3:String=""):void{ var _local4:Bubble; if (_arg3 == ""){ _local4 = getBubble(); } else { _local4 = getBonusBubble(); }; _local4.show(_arg1, _arg2, _arg3); addChild(_local4); animate_arr.push(_local4); } } }//package util
Section 84
//But (util.But) package util { import gs.*; import flash.events.*; import flash.display.*; import util.sound.*; import gs.easing.*; public class But extends MovieClip { public var _active:Boolean; public function But(){ active = true; mouseChildren = false; addEventListener(MouseEvent.MOUSE_OVER, handleMouseOver); addEventListener(MouseEvent.MOUSE_OUT, handleMouseOut); addEventListener(MouseEvent.CLICK, handleClick); } public function get active():Boolean{ return (_active); } public function set active(_arg1:Boolean):void{ _active = _arg1; mouseEnabled = _active; buttonMode = _active; } protected function handleClick(_arg1:MouseEvent):void{ if (_active){ TweenLite.to(this, 1, {scaleX:1, scaleY:1, ease:Elastic.easeOut}); SoundFXController.playFX("button"); }; } protected function handleMouseOut(_arg1:MouseEvent):void{ if (_active){ TweenLite.to(this, 1, {scaleX:1, scaleY:1, ease:Elastic.easeOut}); }; } protected function handleMouseOver(_arg1:MouseEvent):void{ if (_active){ TweenLite.to(this, 1, {scaleX:1.1, scaleY:1.1, ease:Elastic.easeOut}); }; } } }//package util
Section 85
//GameData (util.GameData) package util { public class GameData { public static var CHECK_COUNTER:int = 1; public static var COLORS:int = 6; public static var BUBBLES_MAX:uint = 3; public static var GRIDX:int = 50; public static var GRIDY:int = 50; public static var PROGREESS_BAR_BACKWARD:Number = 5; public static var SPEED:int = 10; public static var PROGREESS_BAR_MAX:Number = 120; public static var GAP:int = 0; public static var SIZEX:int = 8; public static var SIZEY:int = 10; public static var SCORE_STEP:int = 3; public static var PROGREESS_BAR_STEP:Number = 0.1; } }//package util
Section 86
//GameMessage (util.GameMessage) package util { import flash.display.*; import flash.text.*; public class GameMessage extends MovieClip { public var text_mc:MovieClip; public function GameMessage(){ addFrameScript(0, frame1, 49, frame50); this.mouseEnabled = false; this.mouseChildren = false; visible = false; } function frame1(){ stop(); } public function hide():void{ visible = false; gotoAndStop(1); } function frame50(){ hide(); } public function show(_arg1:String, _arg2:Number=0):void{ visible = true; TextField(this["text_mc"]["text_tf"]).text = _arg1; gotoAndPlay(1); } } }//package util
Section 87
//GameTimer (util.GameTimer) package util { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.text.*; public class GameTimer extends MovieClip { private var _timer:Timer; private var _text_tf:TextField; private var _counter:int; public var text_tf:TextField; public function GameTimer(){ _timer = new Timer(1000); _timer.addEventListener(TimerEvent.TIMER, onTimer); _text_tf = this["text_tf"]; } public function startTimer():void{ _counter = 0; onTimer(null); _timer.start(); } public function stopTimer():void{ _timer.stop(); } private function onTimer(_arg1:TimerEvent):void{ _text_tf.text = String(_counter++); } } }//package util
Section 88
//GameView (util.GameView) package util { import flash.events.*; import game.*; import util.sound.*; import SWFStats.*; public class GameView extends View { public var progress_bar:ProgressTimeBar; public var game_mc:Game; public var _label_mc:GameMessage; public var _points_mc:Points; public var pause_bt:pause_cl; private var _restart_bt:But; public var points_mc:Points; public var sound_bt:SoundButton; private var _pause_bt:But; public var restart_bt:restart_cl; public var label_mc:GameMessage; public var _game_mc:Game; public var _progress_bar:ProgressTimeBar; private var _sound_bt:SoundButton; public function GameView(){ init(); } public function init():void{ _label_mc = this["label_mc"]; _points_mc = this["points_mc"]; _progress_bar = this["progress_bar"]; _sound_bt = this["sound_bt"]; _restart_bt = this["restart_bt"]; _pause_bt = this["pause_bt"]; _restart_bt.addEventListener(MouseEvent.CLICK, onRestart); _pause_bt.addEventListener(MouseEvent.CLICK, onPause); _game_mc = this["game_mc"]; _game_mc.init(); } public function initGame():void{ _points_mc.points = 0; _game_mc.initGame(); if (App._first_time){ App._first_time = false; App.setPause(); App.showPause(); }; _sound_bt.setState(); } private function onRestart(_arg1:MouseEvent):void{ Log.CustomMetric("restart"); App.restartGame(); } private function onPause(_arg1:MouseEvent):void{ Log.CustomMetric("pause"); App.setPause(); App.showPause(); } public function endGame():void{ _progress_bar.stopTimer(); App.endGame(); } public function restartGame():void{ initGame(); _label_mc.show("RESTART"); } public function setPause():void{ _game_mc.setPause(); if (App._pause_fl){ _progress_bar.stopTimer(); } else { _progress_bar.startTimer(); }; } override public function show():void{ initGame(); } } }//package util
Section 89
//HowPopup (util.HowPopup) package util { import flash.events.*; import flash.display.*; public class HowPopup extends Popup { public var _video_bt:But; public var _menu_bt:But; public var anim:MovieClip; public var pause_icon:MovieClip; public var menu_bt:menu_cl; public var ok_bt:continue_cl; public var video_bt:video_cl; public function HowPopup(){ _menu_bt = this["menu_bt"]; _menu_bt.addEventListener(MouseEvent.CLICK, menuHandler); _video_bt = this["video_bt"]; _video_bt.addEventListener(MouseEvent.CLICK, videoHandler); } private function menuHandler(_arg1:MouseEvent):void{ App.clearPause(); App.showMenu(); } private function videoHandler(_arg1:MouseEvent):void{ LinkManager.goToURL(LinkManager.VIDEO_HOW); } override protected function okHandler(_arg1:MouseEvent):void{ App.setPause(); App.showPause(); } override public function show():void{ MovieClip(this["anim"]).gotoAndPlay(1); MovieClip(this["pause_icon"]).gotoAndPlay(1); } } }//package util
Section 90
//LinkManager (util.LinkManager) package util { import flash.net.*; import SWFStats.*; import com.midasplayer.*; public class LinkManager { public static const BANNER1:String = "banner1"; public static const MORE_GAMES:String = "more"; public static const BANNER3:String = "banner3"; public static const BANNER2:String = "banner2"; public static const VIDEO_HOW:String = "video_how"; public static const FUNFLOW_SPLASH:String = "funflow_splash"; public static const FUNFLOW_CONTEXT:String = "funflow_context"; public static const HISCORE:String = "hiscore"; public static const FUNFLOW_LOGO:String = "funflow_logo"; public static const SUBMIT:String = "submit"; public static const VIDEO:String = "video"; public static const HOST:String = "host"; public static const SQIRRELSQUARE_SPLASH:String = "squirrelsquare_splash"; public static const CLOSE_AD:String = "close_ad"; public static const SQUIRRELSQUARE:String = "squirrelsquare"; public static const SQIRRELSQUARE_CONTEXT:String = "squirrelsquare_context"; private static var _game_url:String = "http://apps.facebook.com/funflow/game.jsp?gameId=132&ref=deep-trip"; private static var _biomass_ref:String = "&ref=deep-trip_biomass"; private static var _watr_url:String = "http://apps.facebook.com/funflow/game.jsp?gameId=138"; private static var _gemx_url:String = "http://apps.facebook.com/funflow/game.jsp?gameId=126"; private static var _squirrel_url:String = "http://squirrelsquare.com"; private static var _biomass_url:String = "http://apps.facebook.com/funflow/game.jsp?gameId=81"; private static var _watr_ref:String = "&ref=deep-trip_we-are-the-robots"; private static var _gemx_ref:String = "&ref=deep-trip_gemclix"; public static function goToURL(_arg1:String):void{ var _local2:String; _local2 = ""; switch (_arg1){ case SQIRRELSQUARE_CONTEXT: _local2 = _squirrel_url; break; case FUNFLOW_CONTEXT: _local2 = _game_url; break; case SQIRRELSQUARE_SPLASH: _local2 = _squirrel_url; break; case FUNFLOW_SPLASH: _local2 = _game_url; break; case FUNFLOW_LOGO: _local2 = _game_url; break; case SQUIRRELSQUARE: _local2 = _squirrel_url; break; case HISCORE: FunflowAPI.openHighscoresLink(); break; case MORE_GAMES: FunflowAPI.openOtherGamesLink(); break; case BANNER1: _local2 = (FunflowAPI.isHome) ? _watr_url : (_watr_url + _watr_ref); _arg1 = (_arg1 + (FunflowAPI.isHome) ? "_funflow" : ""); break; case BANNER2: _local2 = (FunflowAPI.isHome) ? _biomass_url : (_biomass_url + _biomass_ref); _arg1 = (_arg1 + (FunflowAPI.isHome) ? "_funflow" : ""); break; case BANNER3: _local2 = (FunflowAPI.isHome) ? _gemx_url : (_gemx_url + _gemx_ref); _arg1 = (_arg1 + (FunflowAPI.isHome) ? "_funflow" : ""); break; case CLOSE_AD: _local2 = _game_url; break; case HOST: FunflowAPI.openAddToWebsiteLink(); break; case VIDEO: FunflowAPI.openSolutionsLink(); break; case VIDEO_HOW: FunflowAPI.openSolutionsLink(); break; case SUBMIT: _local2 = _game_url; break; }; if (_local2 != ""){ navigateToURL(new URLRequest(_local2), "_blank"); }; Log.CustomMetric(_arg1.toUpperCase()); } } }//package util
Section 91
//Menu (util.Menu) package util { import flash.events.*; import flash.display.*; import util.sound.*; import com.midasplayer.*; public class Menu extends View { public var hiscore_bt:hiscore; private var _host_bt:But; public var _more_bt:But; public var host_bt:host_cl; private var _walk_bt:But; public var start_bt:start_cl; public var more_bt:more; public var _logo:MovieClip; public var sound_bt:SoundButton; public var walk_bt:walktrougth_cl; public var _start_bt:But; public var logo:logo_cl; public var _hiscore_bt:But; public var _how_bt:But; public var _sound_bt:SoundButton; public function Menu(){ addFrameScript(0, frame1); _start_bt = this["start_bt"]; _hiscore_bt = this["hiscore_bt"]; _more_bt = this["more_bt"]; _logo = this["logo"]; _sound_bt = this["sound_bt"]; _host_bt = this["host_bt"]; _walk_bt = this["walk_bt"]; addEventListener(MouseEvent.CLICK, clickHandler); } function frame1(){ stop(); } private function clickHandler(_arg1:MouseEvent):void{ if ((_arg1.target is But)){ trace(But(_arg1.target).name); switch (But(_arg1.target).name){ case "start_bt": App.startGame(); break; case "more_bt": LinkManager.goToURL(LinkManager.MORE_GAMES); break; case "hiscore_bt": LinkManager.goToURL(LinkManager.HISCORE); break; case "host_bt": LinkManager.goToURL(LinkManager.HOST); break; case "walk_bt": LinkManager.goToURL(LinkManager.VIDEO); break; }; }; } override public function show():void{ _sound_bt.setState(); _hiscore_bt.active = !(FunflowAPI.isHome); } } }//package util
Section 92
//Points (util.Points) package util { import gs.*; import flash.display.*; import gs.easing.*; import flash.text.*; public class Points extends MovieClip { private var _text_tf:TextField; public var text_tf:TextField; public function Points(){ this.mouseEnabled = false; this.mouseChildren = false; _text_tf = this["text_tf"]; } public function get points():Number{ return (App._game_score.value); } public function get format_points():String{ var _local1:String; _local1 = String(points); while (_local1.length < 7) { _local1 = ("0" + _local1); }; return (_local1); } public function update():void{ _text_tf.text = format_points; scaleX = (scaleY = 1.2); TweenLite.to(this, 1, {scaleX:1, scaleY:1, ease:Elastic.easeOut}); } public function set points(_arg1:Number):void{ App._game_score.value = _arg1; update(); } } }//package util
Section 93
//Popup (util.Popup) package util { import flash.events.*; public class Popup extends View { public var _ok_bt:But; public function Popup(){ _ok_bt = this["ok_bt"]; _ok_bt.addEventListener(MouseEvent.CLICK, okHandler); } protected function okHandler(_arg1:MouseEvent):void{ App.hidePopup(this); } } }//package util
Section 94
//Preloader (util.Preloader) package util { import flash.events.*; import flash.display.*; import mochi.as3.*; import SWFStats.*; import com.midasplayer.*; import flash.text.*; import kongregate.*; import flash.ui.*; public class Preloader extends MovieClip { private var _initialized:Boolean; public var loader_plane:MovieClip; public var play_bt:play_cl; private var _banned:Boolean; public var logo:logo_cl; public var text_tf:TextField; public static var _loaderInfo:LoaderInfo; public function Preloader(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5); _banned = false; _initialized = false; stop(); addEventListener(Event.ADDED_TO_STAGE, addedToStage); } private function initPlaytomic():void{ Log.View(1207, "1fa595967bab", _loaderInfo.loaderURL); } private function initKongregate():void{ var _local1:KongregateAPI; _local1 = new KongregateAPI(); addChild(_local1); _local1.init(_loaderInfo); } private function createContextMenu():void{ var _local1:ContextMenu; var _local2:ContextMenuItem; var _local3:ContextMenuItem; _local1 = new ContextMenu(); _local1.hideBuiltInItems(); _local2 = new ContextMenuItem("Play on Funflow"); _local3 = new ContextMenuItem("SquirrelSquare game developers"); _local2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, openFunflow); _local3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, openSqSq); _local1.customItems.push(_local2, _local3); this.contextMenu = _local1; } private function banned(_arg1:Event):void{ _banned = true; } private function addedToStage(_arg1:Event):void{ this.addEventListener(Event.ENTER_FRAME, onEnterFrame); But(this["play_bt"]).addEventListener(MouseEvent.CLICK, startGame); But(this["play_bt"]).visible = false; MovieClip(this["loader_plane"]).visible = true; TextField(this["text_tf"]).visible = true; } function frame3(){ stop(); stop(); } function frame1(){ stop(); } function frame4(){ stop(); } function frame5(){ stop(); } private function startGame(_arg1:MouseEvent):void{ gotoAndStop(3); } private function openFunflow(_arg1:ContextMenuEvent):void{ LinkManager.goToURL(LinkManager.FUNFLOW_CONTEXT); } function frame2(){ stop(); } private function onEnterFrame(_arg1:Event):void{ var _local2:int; if (_loaderInfo == null){ getMainLoaderInfo(); }; _local2 = ((100 * _loaderInfo.bytesLoaded) / _loaderInfo.bytesTotal); this["loader_plane"]["plane"].scaleX = (_local2 / 100); if (_loaderInfo.bytesLoaded == _loaderInfo.bytesTotal){ if (_initialized){ if (!_banned){ But(this["play_bt"]).visible = true; MovieClip(this["loader_plane"]).visible = false; TextField(this["text_tf"]).visible = false; } else { this["text_tf"].htmlText = "<b>Domain banned.</b>"; }; this.removeEventListener(Event.ENTER_FRAME, onEnterFrame); }; }; } private function openSqSq(_arg1:ContextMenuEvent):void{ LinkManager.goToURL(LinkManager.SQIRRELSQUARE_CONTEXT); } private function initialized(_arg1:Event):void{ _initialized = true; } private function initFunflow():void{ FunflowAPI.addEventListener(FunflowAPI.INITIALIZED_EVENT, initialized); FunflowAPI.addEventListener(FunflowAPI.HOST_BANNED_EVENT, banned); FunflowAPI.init("deep-trip", _loaderInfo); } public function getMainLoaderInfo():void{ _loaderInfo = root.loaderInfo; if (_loaderInfo.loader != null){ _loaderInfo = _loaderInfo.loader.loaderInfo; }; createContextMenu(); MochiBot.track(this, "c2fc0f4d"); initPlaytomic(); initFunflow(); initKongregate(); } } }//package util
Section 95
//ProgressTimeBar (util.ProgressTimeBar) package util { import flash.events.*; import flash.display.*; import flash.utils.*; public class ProgressTimeBar extends Sprite { private var _active:Boolean; public var bar_mc:MovieClip; private var _bar:Sprite; private var _alert:MovieClip; public var alert:MovieClip; private var _value:int; private var time_int:Number;// = 0 private var _max:int; private var _step:int; public function ProgressTimeBar(){ time_int = 0; super(); _bar = this["bar_mc"]; _alert = this["alert"]; } public function backward(_arg1:int):void{ value = (value - (_arg1 * _step)); } public function get active():Boolean{ return (_active); } public function init(_arg1:Number=0.1, _arg2:Number=60):void{ _bar.scaleX = 1; _alert.visible = false; _step = (_arg1 * 1000); _max = (_arg2 * 1000); value = 0; active = true; startTimer(); } public function startTimer():void{ if (_active){ stopTimer(); time_int = setInterval(update, _step); }; } public function set active(_arg1:Boolean):void{ _active = _arg1; if (!_active){ value = 0; stopTimer(); }; } public function get progress():Number{ return ((1 - (_value / _max))); } public function stopTimer():void{ if (time_int != 0){ clearInterval(time_int); }; } public function get value():Number{ return (_value); } public function update():void{ value = (value + _step); } public function set value(_arg1:Number):void{ _value = _arg1; if (_value < 0){ _value = 0; }; trace(_value); if (((!(_alert.visible)) && ((_value >= ((_max / 3) * 2))))){ _alert.visible = true; }; if (progress <= 0){ dispatchEvent(new Event(Event.COMPLETE)); }; _bar.scaleX = progress; } } }//package util
Section 96
//ResultPoints (util.ResultPoints) package util { import gs.*; import flash.events.*; import flash.display.*; import gs.easing.*; import flash.text.*; public class ResultPoints extends MovieClip { private var _points:Number; private var _cur_points:Number; private var _text_tf:TextField; private var _step:int; public var text_tf:TextField; public function ResultPoints(){ this.mouseEnabled = false; this.mouseChildren = false; _text_tf = this["text_tf"]; } public function get format_points():String{ var _local1:String; _local1 = String(_cur_points); while (_local1.length < 7) { _local1 = ("0" + _local1); }; return (_local1); } private function completePoints(_arg1:Boolean):void{ _text_tf.htmlText = (("<b>" + _points) + "</b>"); if (_arg1){ removeEventListener(Event.ENTER_FRAME, update); }; scaleX = (scaleY = 1.6); TweenLite.to(this, 1, {scaleX:1, scaleY:1, ease:Elastic.easeOut}); dispatchEvent(new Event(Event.COMPLETE)); } public function update(_arg1:Event):void{ if (_cur_points < _points){ _cur_points = (_cur_points + _step); if (_cur_points > _points){ _cur_points = _points; }; _text_tf.htmlText = (("<b>" + _cur_points) + "</b>"); } else { completePoints(true); }; } public function set points(_arg1:Number):void{ _points = _arg1; _cur_points = 0; _step = (_points / 100); trace(_step); if ((((_points > 0)) && ((_step > 0)))){ addEventListener(Event.ENTER_FRAME, update); } else { completePoints(false); }; } } }//package util
Section 97
//ResultPopup (util.ResultPopup) package util { import flash.events.*; import flash.display.*; import SWFStats.*; import com.midasplayer.*; import CPMStar.*; import flash.text.*; import kongregate.*; public class ResultPopup extends Popup { public var ad:Ad; public var end_text:MovieClip; public var ok_bt:menu_result_bt; public var replay_bt:replay_cl; public var submit_bt:submit_cl; public var submit_tf:TextField; public function ResultPopup(){ this["replay_bt"].addEventListener(MouseEvent.CLICK, replayHandler); this["submit_bt"].addEventListener(MouseEvent.CLICK, submitHandler); ResultPoints(this["end_text"]["result_points"]).addEventListener(Event.COMPLETE, pointsComplete); } private function submitHandler(_arg1:MouseEvent=null):void{ if (_arg1 != null){ Log.CustomMetric("submit_bt"); }; if (FunflowAPI.isHome){ FunflowAPI.submitScore(App._hi_score.value); } else { LinkManager.goToURL(LinkManager.SUBMIT); }; } private function submitKongregate():void{ KongregateAPI.api.stats.submit("Highscore", App._hi_score.value); } private function closeHandler():void{ if (((!(FunflowAPI.isHome)) && (!(KongregateAPI.isHome)))){ Ad(this["ad"]).hide(); }; App.showMenu(); } private function pointsComplete(_arg1:Event):void{ But(this["submit_bt"]).active = true; But(this["replay_bt"]).active = true; But(this["ok_bt"]).active = true; But(this["submit_bt"]).active = !(FunflowAPI.isHome); } private function replayHandler(_arg1:MouseEvent):void{ Log.CustomMetric("replay"); App.replayGame(); } override protected function okHandler(_arg1:MouseEvent):void{ closeHandler(); } override public function show():void{ App.setHiscore(App._game_score.value); if (FunflowAPI.isHome){ submitHandler(); }; submitKongregate(); TextField(this["submit_tf"]).htmlText = (FunflowAPI.isHome) ? "<b>Score submitted!</b>" : "<b>Submit to compete!</b>"; TextField(this["end_text"]["top_tf"]).htmlText = (("<b>" + String(App._hi_score.value)) + "</b>"); MovieClip(this["ad"]).visible = ((!(FunflowAPI.isHome)) && (!(KongregateAPI.isHome))); if (((!(FunflowAPI.isHome)) && (!(KongregateAPI.isHome)))){ Ad(this["ad"]).show(); }; But(this["submit_bt"]).active = false; But(this["replay_bt"]).active = false; But(this["ok_bt"]).active = false; ResultPoints(this["end_text"]["result_points"]).points = App._game_score.value; } } }//package util
Section 98
//SqSqLogo (util.SqSqLogo) package util { import flash.events.*; public class SqSqLogo extends But { override protected function handleClick(_arg1:MouseEvent):void{ super.handleClick(_arg1); LinkManager.goToURL(LinkManager.SQUIRRELSQUARE); } } }//package util
Section 99
//Util (util.Util) package util { import flash.display.*; public class Util { public static function isDate(_arg1:Number, _arg2:Number, _arg3:Number):Boolean{ var _local4:Date; var _local5:Date; _local4 = new Date(); _local5 = new Date(_arg1, _arg2, _arg3); return ((_local4.valueOf() < _local5.valueOf())); } public static function isDomain(_arg1:String, _arg2:Boolean):Boolean{ var _local3:Boolean; var _local4:LoaderInfo; var _local5:String; var _local6:String; var _local7:RegExp; _local3 = false; _local4 = Preloader._loaderInfo; _local5 = _local4.loaderURL; _local6 = (("^http(|s)://(" + _arg1) + ")/"); _local7 = new RegExp(_local6, "i"); _local3 = _local7.test(_local5); return (_local3); } } }//package util
Section 100
//View (util.View) package util { import flash.display.*; public class View extends MovieClip { public function hide():void{ } public function show():void{ } } }//package util
Section 101
//Views (util.Views) package util { import gs.*; import flash.display.*; import gs.easing.*; public class Views extends MovieClip { public var _how_mc:View; public var game_mc:GameView; public var _menu_mc:View; public var menu_mc:Menu; public var _result_mc:View; public var _game_mc:View; public var how_mc:HowPopup; public var result_mc:ResultPopup; public function Views(){ _menu_mc = this["menu_mc"]; _game_mc = this["game_mc"]; _result_mc = this["result_mc"]; _how_mc = this["how_mc"]; hideAll(); } private function hideAll():void{ var _local1:*; _local1 = 0; while (_local1 < numChildren) { hide(View(getChildAt(_local1))); _local1++; }; } public function hide(_arg1:View):void{ TweenLite.to(_arg1, 0, {autoAlpha:0}); } public function showPopup(_arg1:View):void{ _arg1.show(); show(_arg1); } public function showScreen(_arg1:View):void{ hideAll(); _arg1.show(); show(_arg1); } public function show(_arg1:View):void{ _arg1.alpha = 0; _arg1.x = -500; TweenLite.to(_arg1, 0.3, {autoAlpha:1, x:0, ease:Quad.easeIn}); } } }//package util
Section 102
//ad_close_cl (ad_close_cl) package { import util.*; public dynamic class ad_close_cl extends But { } }//package
Section 103
//biomass_banner_cl (biomass_banner_cl) package { import util.*; public dynamic class biomass_banner_cl extends But { } }//package
Section 104
//continue_cl (continue_cl) package { import util.*; public dynamic class continue_cl extends But { } }//package
Section 105
//funflow_horizontal (funflow_horizontal) package { import com.midasplayer.*; public dynamic class funflow_horizontal extends FunflowLogo { } }//package
Section 106
//gemx_banner_cl (gemx_banner_cl) package { import util.*; public dynamic class gemx_banner_cl extends But { } }//package
Section 107
//hiscore (hiscore) package { import util.*; public dynamic class hiscore extends But { } }//package
Section 108
//host_cl (host_cl) package { import util.*; public dynamic class host_cl extends But { } }//package
Section 109
//jelly_theme (jelly_theme) package { import flash.media.*; public dynamic class jelly_theme extends Sound { } }//package
Section 110
//line (line) package { import flash.media.*; public dynamic class line extends Sound { } }//package
Section 111
//logo_cl (logo_cl) package { import util.*; public dynamic class logo_cl extends SqSqLogo { } }//package
Section 112
//menu_cl (menu_cl) package { import util.*; public dynamic class menu_cl extends But { } }//package
Section 113
//menu_result_bt (menu_result_bt) package { import util.*; public dynamic class menu_result_bt extends But { } }//package
Section 114
//more (more) package { import util.*; public dynamic class more extends But { } }//package
Section 115
//ok_cl (ok_cl) package { import util.*; public dynamic class ok_cl extends But { } }//package
Section 116
//pause_cl (pause_cl) package { import util.*; public dynamic class pause_cl extends But { } }//package
Section 117
//play_cl (play_cl) package { import util.*; public dynamic class play_cl extends But { } }//package
Section 118
//replay_cl (replay_cl) package { import util.*; public dynamic class replay_cl extends But { } }//package
Section 119
//restart_cl (restart_cl) package { import util.*; public dynamic class restart_cl extends But { } }//package
Section 120
//start_cl (start_cl) package { import util.*; public dynamic class start_cl extends But { } }//package
Section 121
//submit_cl (submit_cl) package { import util.*; public dynamic class submit_cl extends But { } }//package
Section 122
//touch (touch) package { import flash.media.*; public dynamic class touch extends Sound { } }//package
Section 123
//video_cl (video_cl) package { import util.*; public dynamic class video_cl extends But { } }//package
Section 124
//walktrougth_cl (walktrougth_cl) package { import util.*; public dynamic class walktrougth_cl extends But { } }//package
Section 125
//watr_banner (watr_banner) package { import util.*; public dynamic class watr_banner extends But { } }//package

Library Items

Symbol 1 GraphicUsed by:2
Symbol 2 MovieClipUses:1Used by:5
Symbol 3 FontUsed by:4 22 23 24 25 29 31 32 35 36 42 44 46 51 57 79 104 136 137 139 165 226 229 249 251 254 401 403 406 408 411 422 423 424 426 429
Symbol 4 TextUses:3Used by:5
Symbol 5 MovieClip {ok_cl}Uses:2 4
Symbol 6 GraphicUsed by:16
Symbol 7 GraphicUsed by:8
Symbol 8 MovieClipUses:7Used by:9
Symbol 9 MovieClip {jelly_match_funflow_viral_fla.time_bonus_mc_164}Uses:8Used by:16
Symbol 10 ShapeTweeningUsed by:16
Symbol 11 GraphicUsed by:16 143
Symbol 12 ShapeTweeningUsed by:16
Symbol 13 ShapeTweeningUsed by:16
Symbol 14 ShapeTweeningUsed by:16
Symbol 15 GraphicUsed by:16
Symbol 16 MovieClip {util.AnimateBar}Uses:6 9 10 11 12 13 14 15
Symbol 17 FontUsed by:18
Symbol 18 EditableTextUses:17Used by:19
Symbol 19 MovieClip {util.GameTimer}Uses:18
Symbol 20 GraphicUsed by:21
Symbol 21 MovieClipUses:20Used by:74
Symbol 22 TextUses:3Used by:74
Symbol 23 TextUses:3Used by:74
Symbol 24 TextUses:3Used by:74
Symbol 25 TextUses:3Used by:74
Symbol 26 GraphicUsed by:27
Symbol 27 MovieClipUses:26Used by:30 34 40 140 407 409 412
Symbol 28 GraphicUsed by:30
Symbol 29 TextUses:3Used by:30
Symbol 30 MovieClip {continue_cl}Uses:27 28 29Used by:74
Symbol 31 TextUses:3Used by:74
Symbol 32 TextUses:3Used by:34
Symbol 33 GraphicUsed by:34
Symbol 34 MovieClip {menu_cl}Uses:27 32 33Used by:74
Symbol 35 TextUses:3Used by:74
Symbol 36 TextUses:3Used by:40
Symbol 37 GraphicUsed by:38
Symbol 38 MovieClipUses:37Used by:39
Symbol 39 MovieClipUses:38Used by:40
Symbol 40 MovieClip {video_cl}Uses:27 36 39Used by:74
Symbol 41 GraphicUsed by:74
Symbol 42 TextUses:3Used by:74
Symbol 43 GraphicUsed by:74
Symbol 44 TextUses:3Used by:74
Symbol 45 GraphicUsed by:74
Symbol 46 TextUses:3Used by:74
Symbol 47 GraphicUsed by:48
Symbol 48 MovieClipUses:47Used by:49
Symbol 49 MovieClip {jelly_match_funflow_viral_fla.pause_anim_155}Uses:48Used by:74
Symbol 50 GraphicUsed by:55 234
Symbol 51 TextUses:3Used by:55 234
Symbol 52 GraphicUsed by:53
Symbol 53 MovieClipUses:52Used by:55 234
Symbol 54 GraphicUsed by:55 234
Symbol 55 MovieClip {jelly_match_funflow_viral_fla.barcopy_157}Uses:50 51 53 54Used by:74
Symbol 56 GraphicUsed by:59 81
Symbol 57 TextUses:3Used by:59
Symbol 58 GraphicUsed by:59 81
Symbol 59 MovieClipUses:56 57 58Used by:74
Symbol 60 GraphicUsed by:73 162
Symbol 61 GraphicUsed by:73
Symbol 62 GraphicUsed by:73
Symbol 63 GraphicUsed by:73
Symbol 64 GraphicUsed by:73
Symbol 65 GraphicUsed by:73
Symbol 66 GraphicUsed by:69 217
Symbol 67 GraphicUsed by:68
Symbol 68 MovieClipUses:67Used by:69 217
Symbol 69 MovieClip {jelly_match_funflow_viral_fla.arrows_linecopy_160}Uses:66 68Used by:73
Symbol 70 GraphicUsed by:71
Symbol 71 MovieClipUses:70Used by:72
Symbol 72 MovieClipUses:71Used by:73 164
Symbol 73 MovieClipUses:60 61 62 63 64 65 69 72Used by:74
Symbol 74 MovieClip {util.HowPopup}Uses:21 22 23 24 25 30 31 34 35 40 41 42 43 44 45 46 49 55 59 73Used by:431
Symbol 75 GraphicUsed by:76
Symbol 76 MovieClip {util.Bubble}Uses:75Used by:Timeline
Symbol 77 GraphicUsed by:78
Symbol 78 MovieClipUses:77Used by:81
Symbol 79 EditableTextUses:3Used by:80
Symbol 80 MovieClip {jelly_match_funflow_viral_fla.bonus_tf_35}Uses:79Used by:81
Symbol 81 MovieClip {util.BonusBubble}Uses:78 80 56 58Used by:Timeline
Symbol 82 GraphicUsed by:83
Symbol 83 MovieClipUses:82Used by:432  Timeline
Symbol 84 GraphicUsed by:87
Symbol 85 GraphicUsed by:86 177 213 360
Symbol 86 MovieClipUses:85Used by:87
Symbol 87 MovieClip {jelly_match_funflow_viral_fla.loader_plane_2}Uses:84 86Used by:Timeline
Symbol 88 GraphicUsed by:89
Symbol 89 MovieClipUses:88Used by:100
Symbol 90 GraphicUsed by:94
Symbol 91 GraphicUsed by:94 213
Symbol 92 GraphicUsed by:94 186
Symbol 93 GraphicUsed by:94
Symbol 94 MovieClipUses:90 91 92 93Used by:100
Symbol 95 FontUsed by:96 97 414 418
Symbol 96 TextUses:95Used by:100
Symbol 97 TextUses:95Used by:100
Symbol 98 FontUsed by:99
Symbol 99 TextUses:98Used by:100
Symbol 100 MovieClip {logo_cl}Uses:89 94 96 97 99Used by:405  Timeline
Symbol 101 BitmapUsed by:102
Symbol 102 GraphicUses:101Used by:103
Symbol 103 MovieClip {funflow_horizontal}Uses:102Used by:405 430  Timeline
Symbol 104 EditableTextUses:3 428Used by:Timeline
Symbol 105 ShapeTweeningUsed by:108
Symbol 106 ShapeTweeningUsed by:108
Symbol 107 GraphicUsed by:108 134
Symbol 108 MovieClipUses:105 106 107Used by:135
Symbol 109 ShapeTweeningUsed by:112
Symbol 110 ShapeTweeningUsed by:112
Symbol 111 GraphicUsed by:112
Symbol 112 MovieClipUses:109 110 111Used by:135
Symbol 113 ShapeTweeningUsed by:116
Symbol 114 ShapeTweeningUsed by:116
Symbol 115 GraphicUsed by:116
Symbol 116 MovieClipUses:113 114 115Used by:135
Symbol 117 ShapeTweeningUsed by:120
Symbol 118 ShapeTweeningUsed by:120
Symbol 119 GraphicUsed by:120 127
Symbol 120 MovieClipUses:117 118 119Used by:135
Symbol 121 ShapeTweeningUsed by:124
Symbol 122 ShapeTweeningUsed by:124
Symbol 123 GraphicUsed by:124
Symbol 124 MovieClipUses:121 122 123Used by:135
Symbol 125 ShapeTweeningUsed by:127
Symbol 126 ShapeTweeningUsed by:127
Symbol 127 MovieClipUses:125 126 119Used by:135
Symbol 128 ShapeTweeningUsed by:131
Symbol 129 ShapeTweeningUsed by:131
Symbol 130 GraphicUsed by:131
Symbol 131 MovieClipUses:128 129 130Used by:135
Symbol 132 ShapeTweeningUsed by:134
Symbol 133 ShapeTweeningUsed by:134
Symbol 134 MovieClipUses:132 133 107Used by:135
Symbol 135 MovieClipUses:108 112 116 120 124 127 131 134Used by:138
Symbol 136 TextUses:3Used by:138
Symbol 137 TextUses:3Used by:138
Symbol 138 MovieClipUses:135 136 137Used by:405  Timeline
Symbol 139 TextUses:3Used by:140 248
Symbol 140 MovieClip {play_cl}Uses:27 139Used by:Timeline
Symbol 141 GraphicUsed by:143
Symbol 142 GraphicUsed by:143
Symbol 143 MovieClipUses:11 141 142Used by:144
Symbol 144 MovieClip {jelly_match_funflow_viral_fla.particle_plane_21}Uses:143Used by:145
Symbol 145 MovieClip {game.Particle}Uses:144Used by:Timeline
Symbol 146 MovieClip {game.Particles}Used by:Timeline
Symbol 147 GraphicUsed by:164
Symbol 148 GraphicUsed by:162
Symbol 149 GraphicUsed by:155
Symbol 150 GraphicUsed by:155
Symbol 151 GraphicUsed by:155
Symbol 152 GraphicUsed by:155
Symbol 153 GraphicUsed by:155
Symbol 154 GraphicUsed by:155
Symbol 155 MovieClip {jelly_match_funflow_viral_fla.womb_plane_28}Uses:149 150 151 152 153 154Used by:156
Symbol 156 MovieClip {jelly_match_funflow_viral_fla.womb_27}Uses:155Used by:162
Symbol 157 GraphicUsed by:162
Symbol 158 GraphicUsed by:162
Symbol 159 GraphicUsed by:162
Symbol 160 GraphicUsed by:162
Symbol 161 GraphicUsed by:162
Symbol 162 MovieClip {jelly_match_funflow_viral_fla.color_backs_26}Uses:60 148 156 157 158 159 160 161Used by:163
Symbol 163 MovieClip {jelly_match_funflow_viral_fla.color_back_wrapper_25}Uses:162Used by:164 170
Symbol 164 MovieClip {game.ItemView}Uses:147 163 72Used by:Timeline
Symbol 165 TextUses:3Used by:169
Symbol 166 Sound {jelly_theme}Used by:169
Symbol 167 Sound {touch}Used by:169
Symbol 168 Sound {line}Used by:169
Symbol 169 MovieClipUses:165 166 167 168Used by:Timeline
Symbol 170 MovieClip {util.AnimateItem}Uses:163Used by:Timeline
Symbol 171 GraphicUsed by:Timeline
Symbol 172 BitmapUsed by:173
Symbol 173 GraphicUses:172Used by:174
Symbol 174 MovieClipUses:173Used by:177
Symbol 175 GraphicUsed by:176
Symbol 176 MovieClipUses:175Used by:177
Symbol 177 MovieClip {jelly_match_funflow_viral_fla.funflow_splash_37}Uses:85 174 176Used by:Timeline
Symbol 178 GraphicUsed by:213
Symbol 179 GraphicUsed by:180
Symbol 180 MovieClipUses:179Used by:213
Symbol 181 FontUsed by:182 193
Symbol 182 TextUses:181Used by:183
Symbol 183 MovieClipUses:182Used by:213
Symbol 184 GraphicUsed by:213
Symbol 185 GraphicUsed by:213
Symbol 186 MovieClipUses:92Used by:213
Symbol 187 GraphicUsed by:213
Symbol 188 GraphicUsed by:213
Symbol 189 GraphicUsed by:190
Symbol 190 MovieClipUses:189Used by:213
Symbol 191 GraphicUsed by:213
Symbol 192 GraphicUsed by:213
Symbol 193 TextUses:181Used by:194
Symbol 194 MovieClipUses:193Used by:213
Symbol 195 GraphicUsed by:213
Symbol 196 GraphicUsed by:200
Symbol 197 GraphicUsed by:199
Symbol 198 GraphicUsed by:199
Symbol 199 MovieClipUses:197 198Used by:200
Symbol 200 MovieClipUses:196 199Used by:213
Symbol 201 GraphicUsed by:202
Symbol 202 MovieClipUses:201Used by:211
Symbol 203 GraphicUsed by:211
Symbol 204 GraphicUsed by:211
Symbol 205 GraphicUsed by:211
Symbol 206 GraphicUsed by:207
Symbol 207 MovieClipUses:206Used by:211
Symbol 208 GraphicUsed by:209
Symbol 209 MovieClipUses:208Used by:211
Symbol 210 GraphicUsed by:211
Symbol 211 MovieClip {jelly_match_funflow_viral_fla.Symbol8_48}Uses:202 203 204 205 207 209 210Used by:213
Symbol 212 SoundUsed by:213
Symbol 213 MovieClip {jelly_match_funflow_viral_fla.logo_anim_40}Uses:85 178 180 183 184 185 91 186 187 188 190 191 192 194 195 200 211 212Used by:Timeline
Symbol 214 MovieClip {util.AnimateEngine}Used by:432
Symbol 215 GraphicUsed by:216
Symbol 216 MovieClipUses:215Used by:225
Symbol 217 MovieClip {util.Arrows}Uses:66 68Used by:225
Symbol 218 GraphicUsed by:219
Symbol 219 MovieClipUses:218Used by:221
Symbol 220 MovieClip {game.FieldView}Used by:221
Symbol 221 MovieClip {jelly_match_funflow_viral_fla.container_mc_60}Uses:219 220Used by:225
Symbol 222 MovieClip {util.BubbleEngine}Used by:225
Symbol 223 GraphicUsed by:224
Symbol 224 MovieClipUses:223Used by:225
Symbol 225 MovieClip {game.Game}Uses:216 217 221 222 224Used by:245
Symbol 226 EditableTextUses:3Used by:227
Symbol 227 MovieClip {jelly_match_funflow_viral_fla.label_text_66}Uses:226Used by:228
Symbol 228 MovieClip {util.GameMessage}Uses:227Used by:245
Symbol 229 EditableTextUses:3Used by:230
Symbol 230 MovieClip {util.Points}Uses:229Used by:245
Symbol 231 GraphicUsed by:232
Symbol 232 MovieClipUses:231Used by:233
Symbol 233 MovieClipUses:232Used by:234
Symbol 234 MovieClip {util.ProgressTimeBar}Uses:50 51 53 54 233Used by:245
Symbol 235 GraphicUsed by:236
Symbol 236 MovieClipUses:235Used by:240 242 244 255
Symbol 237 GraphicUsed by:240
Symbol 238 GraphicUsed by:240
Symbol 239 GraphicUsed by:240
Symbol 240 MovieClip {util.sound.SoundButton}Uses:236 237 238 239Used by:245 405
Symbol 241 GraphicUsed by:242
Symbol 242 MovieClip {pause_cl}Uses:236 241Used by:245
Symbol 243 GraphicUsed by:244
Symbol 244 MovieClip {restart_cl}Uses:236 243Used by:245
Symbol 245 MovieClip {util.GameView}Uses:225 228 230 234 240 242 244Used by:431
Symbol 246 GraphicUsed by:247
Symbol 247 MovieClipUses:246Used by:248 250 252 404
Symbol 248 MovieClip {start_cl}Uses:247 139Used by:405
Symbol 249 TextUses:3Used by:250
Symbol 250 MovieClip {hiscore}Uses:247 249Used by:405
Symbol 251 TextUses:3Used by:252
Symbol 252 MovieClip {more}Uses:247 251Used by:405
Symbol 253 GraphicUsed by:255
Symbol 254 TextUses:3Used by:255
Symbol 255 MovieClip {host_cl}Uses:236 253 254Used by:405
Symbol 256 GraphicUsed by:324
Symbol 257 GraphicUsed by:324
Symbol 258 BitmapUsed by:259
Symbol 259 GraphicUses:258Used by:260
Symbol 260 MovieClipUses:259Used by:321
Symbol 261 BitmapUsed by:262
Symbol 262 GraphicUses:261Used by:263
Symbol 263 MovieClipUses:262Used by:321
Symbol 264 BitmapUsed by:265
Symbol 265 GraphicUses:264Used by:266
Symbol 266 MovieClipUses:265Used by:321
Symbol 267 BitmapUsed by:268
Symbol 268 GraphicUses:267Used by:269
Symbol 269 MovieClipUses:268Used by:321
Symbol 270 BitmapUsed by:271
Symbol 271 GraphicUses:270Used by:272
Symbol 272 MovieClipUses:271Used by:321
Symbol 273 BitmapUsed by:274
Symbol 274 GraphicUses:273Used by:275
Symbol 275 MovieClipUses:274Used by:321
Symbol 276 BitmapUsed by:277
Symbol 277 GraphicUses:276Used by:278
Symbol 278 MovieClipUses:277Used by:321
Symbol 279 BitmapUsed by:280
Symbol 280 GraphicUses:279Used by:281
Symbol 281 MovieClipUses:280Used by:321
Symbol 282 BitmapUsed by:283
Symbol 283 GraphicUses:282Used by:284
Symbol 284 MovieClipUses:283Used by:321
Symbol 285 BitmapUsed by:286
Symbol 286 GraphicUses:285Used by:287
Symbol 287 MovieClipUses:286Used by:321
Symbol 288 BitmapUsed by:289
Symbol 289 GraphicUses:288Used by:290
Symbol 290 MovieClipUses:289Used by:321
Symbol 291 BitmapUsed by:292
Symbol 292 GraphicUses:291Used by:293
Symbol 293 MovieClipUses:292Used by:321
Symbol 294 BitmapUsed by:295
Symbol 295 GraphicUses:294Used by:296
Symbol 296 MovieClipUses:295Used by:321
Symbol 297 BitmapUsed by:298
Symbol 298 GraphicUses:297Used by:299
Symbol 299 MovieClipUses:298Used by:321
Symbol 300 BitmapUsed by:301
Symbol 301 GraphicUses:300Used by:302
Symbol 302 MovieClipUses:301Used by:321
Symbol 303 BitmapUsed by:304
Symbol 304 GraphicUses:303Used by:305
Symbol 305 MovieClipUses:304Used by:321
Symbol 306 BitmapUsed by:307
Symbol 307 GraphicUses:306Used by:308
Symbol 308 MovieClipUses:307Used by:321
Symbol 309 BitmapUsed by:310
Symbol 310 GraphicUses:309Used by:311
Symbol 311 MovieClipUses:310Used by:321
Symbol 312 BitmapUsed by:313
Symbol 313 GraphicUses:312Used by:314
Symbol 314 MovieClipUses:313Used by:321
Symbol 315 BitmapUsed by:316
Symbol 316 GraphicUses:315Used by:317
Symbol 317 MovieClipUses:316Used by:321
Symbol 318 BitmapUsed by:319
Symbol 319 GraphicUses:318Used by:320
Symbol 320 MovieClipUses:319Used by:321
Symbol 321 MovieClipUses:260 263 266 269 272 275 278 281 284 287 290 293 296 299 302 305 308 311 314 317 320Used by:324
Symbol 322 GraphicUsed by:324
Symbol 323 GraphicUsed by:324
Symbol 324 MovieClip {biomass_banner_cl}Uses:256 257 321 322 323Used by:402
Symbol 325 GraphicUsed by:361
Symbol 326 GraphicUsed by:361
Symbol 327 GraphicUsed by:328
Symbol 328 MovieClipUses:327Used by:360
Symbol 329 GraphicUsed by:330
Symbol 330 MovieClipUses:329Used by:360
Symbol 331 GraphicUsed by:332
Symbol 332 MovieClipUses:331Used by:360
Symbol 333 GraphicUsed by:334
Symbol 334 MovieClipUses:333Used by:360
Symbol 335 GraphicUsed by:343
Symbol 336 GraphicUsed by:343
Symbol 337 GraphicUsed by:343
Symbol 338 GraphicUsed by:343
Symbol 339 GraphicUsed by:343
Symbol 340 GraphicUsed by:343
Symbol 341 GraphicUsed by:343
Symbol 342 GraphicUsed by:343
Symbol 343 MovieClipUses:335 336 337 338 339 340 341 342Used by:360
Symbol 344 GraphicUsed by:352
Symbol 345 GraphicUsed by:352
Symbol 346 GraphicUsed by:352
Symbol 347 GraphicUsed by:352
Symbol 348 GraphicUsed by:352
Symbol 349 GraphicUsed by:352
Symbol 350 GraphicUsed by:352
Symbol 351 GraphicUsed by:352
Symbol 352 MovieClipUses:344 345 346 347 348 349 350 351Used by:360
Symbol 353 GraphicUsed by:359
Symbol 354 GraphicUsed by:359
Symbol 355 GraphicUsed by:359
Symbol 356 GraphicUsed by:359
Symbol 357 GraphicUsed by:359
Symbol 358 GraphicUsed by:359
Symbol 359 MovieClipUses:353 354 355 356 357 358Used by:360
Symbol 360 MovieClip {jelly_match_funflow_viral_fla.watr_anim_107}Uses:328 330 332 334 343 352 359 85Used by:361
Symbol 361 MovieClip {watr_banner}Uses:325 326 360Used by:402
Symbol 362 GraphicUsed by:400
Symbol 363 GraphicUsed by:399
Symbol 364 BitmapUsed by:365
Symbol 365 GraphicUses:364Used by:398
Symbol 366 BitmapUsed by:367
Symbol 367 GraphicUses:366Used by:368 384 393
Symbol 368 MovieClipUses:367Used by:388
Symbol 369 BitmapUsed by:370
Symbol 370 GraphicUses:369Used by:371 385 389 395
Symbol 371 MovieClipUses:370Used by:388
Symbol 372 BitmapUsed by:373
Symbol 373 GraphicUses:372Used by:374 386 390 396
Symbol 374 MovieClipUses:373Used by:388
Symbol 375 BitmapUsed by:376
Symbol 376 GraphicUses:375Used by:377 387 391
Symbol 377 MovieClipUses:376Used by:388
Symbol 378 BitmapUsed by:379
Symbol 379 GraphicUses:378Used by:380 392
Symbol 380 MovieClipUses:379Used by:388
Symbol 381 BitmapUsed by:382
Symbol 382 GraphicUses:381Used by:383 394
Symbol 383 MovieClipUses:382Used by:388
Symbol 384 MovieClipUses:367Used by:388
Symbol 385 MovieClipUses:370Used by:388
Symbol 386 MovieClipUses:373Used by:388
Symbol 387 MovieClipUses:376Used by:388
Symbol 388 MovieClipUses:368 371 374 377 380 383 384 385 386 387Used by:398
Symbol 389 MovieClipUses:370Used by:397
Symbol 390 MovieClipUses:373Used by:397
Symbol 391 MovieClipUses:376Used by:397
Symbol 392 MovieClipUses:379Used by:397
Symbol 393 MovieClipUses:367Used by:397
Symbol 394 MovieClipUses:382Used by:397
Symbol 395 MovieClipUses:370Used by:397
Symbol 396 MovieClipUses:373Used by:397
Symbol 397 MovieClipUses:389 390 391 392 393 394 395 396Used by:398
Symbol 398 MovieClip {jelly_match_funflow_viral_fla.Symbol2_117}Uses:365 388 397Used by:399
Symbol 399 MovieClipUses:363 398Used by:400
Symbol 400 MovieClip {gemx_banner_cl}Uses:362 399Used by:402
Symbol 401 TextUses:3Used by:402
Symbol 402 MovieClip {util.Banners}Uses:324 361 400 401Used by:405 430
Symbol 403 TextUses:3Used by:404
Symbol 404 MovieClip {walktrougth_cl}Uses:247 403Used by:405
Symbol 405 MovieClip {util.Menu}Uses:248 250 240 100 252 255 103 402 404 138Used by:431
Symbol 406 TextUses:3Used by:407
Symbol 407 MovieClip {menu_result_bt}Uses:27 406Used by:430
Symbol 408 TextUses:3Used by:409
Symbol 409 MovieClip {replay_cl}Uses:27 408Used by:430
Symbol 410 GraphicUsed by:412
Symbol 411 TextUses:3Used by:412
Symbol 412 MovieClip {submit_cl}Uses:27 410 411Used by:430
Symbol 413 GraphicUsed by:420
Symbol 414 TextUses:95Used by:420
Symbol 415 GraphicUsed by:416 420
Symbol 416 MovieClipUses:415Used by:420
Symbol 417 GraphicUsed by:419
Symbol 418 TextUses:95Used by:419
Symbol 419 MovieClip {ad_close_cl}Uses:417 418Used by:420
Symbol 420 MovieClip {CPMStar.Ad}Uses:413 414 415 416 419Used by:430
Symbol 421 GraphicUsed by:430
Symbol 422 TextUses:3Used by:427
Symbol 423 EditableTextUses:3 428Used by:427
Symbol 424 EditableTextUses:3 428Used by:425
Symbol 425 MovieClip {util.ResultPoints}Uses:424Used by:427
Symbol 426 TextUses:3Used by:427
Symbol 427 MovieClip {jelly_match_funflow_viral_fla.result_end_text_146}Uses:422 423 425 426Used by:430
Symbol 428 FontUsed by:104 423 424 429
Symbol 429 EditableTextUses:3 428Used by:430
Symbol 430 MovieClip {util.ResultPopup}Uses:407 409 412 103 420 402 421 427 429Used by:431
Symbol 431 MovieClip {util.Views}Uses:245 405 430 74Used by:432
Symbol 432 MovieClip {util.App}Uses:83 214 431Used by:Timeline

Instance Names

"loader_plane"Frame 1Symbol 87 MovieClip {jelly_match_funflow_viral_fla.loader_plane_2}
"logo"Frame 1Symbol 100 MovieClip {logo_cl}
"text_tf"Frame 1Symbol 104 EditableText
"play_bt"Frame 1Symbol 140 MovieClip {play_cl}
"time_bonus"Symbol 16 MovieClip {util.AnimateBar} Frame 1Symbol 9 MovieClip {jelly_match_funflow_viral_fla.time_bonus_mc_164}
"text_tf"Symbol 19 MovieClip {util.GameTimer} Frame 1Symbol 18 EditableText
"bar_mc"Symbol 55 MovieClip {jelly_match_funflow_viral_fla.barcopy_157} Frame 1Symbol 53 MovieClip
"arrow"Symbol 69 MovieClip {jelly_match_funflow_viral_fla.arrows_linecopy_160} Frame 1Symbol 68 MovieClip
"arrow"Symbol 69 MovieClip {jelly_match_funflow_viral_fla.arrows_linecopy_160} Frame 1Symbol 68 MovieClip
"ok_bt"Symbol 74 MovieClip {util.HowPopup} Frame 1Symbol 30 MovieClip {continue_cl}
"menu_bt"Symbol 74 MovieClip {util.HowPopup} Frame 1Symbol 34 MovieClip {menu_cl}
"video_bt"Symbol 74 MovieClip {util.HowPopup} Frame 1Symbol 40 MovieClip {video_cl}
"pause_icon"Symbol 74 MovieClip {util.HowPopup} Frame 1Symbol 49 MovieClip {jelly_match_funflow_viral_fla.pause_anim_155}
"anim"Symbol 74 MovieClip {util.HowPopup} Frame 1Symbol 73 MovieClip
"text_tf"Symbol 80 MovieClip {jelly_match_funflow_viral_fla.bonus_tf_35} Frame 1Symbol 79 EditableText
"text_mc"Symbol 81 MovieClip {util.BonusBubble} Frame 1Symbol 80 MovieClip {jelly_match_funflow_viral_fla.bonus_tf_35}
"plane"Symbol 87 MovieClip {jelly_match_funflow_viral_fla.loader_plane_2} Frame 1Symbol 86 MovieClip
"plane"Symbol 144 MovieClip {jelly_match_funflow_viral_fla.particle_plane_21} Frame 1Symbol 143 MovieClip
"plane"Symbol 145 MovieClip {game.Particle} Frame 1Symbol 144 MovieClip {jelly_match_funflow_viral_fla.particle_plane_21}
"plane"Symbol 156 MovieClip {jelly_match_funflow_viral_fla.womb_27} Frame 1Symbol 155 MovieClip {jelly_match_funflow_viral_fla.womb_plane_28}
"womb"Symbol 162 MovieClip {jelly_match_funflow_viral_fla.color_backs_26} Frame 1Symbol 156 MovieClip {jelly_match_funflow_viral_fla.womb_27}
"plane"Symbol 163 MovieClip {jelly_match_funflow_viral_fla.color_back_wrapper_25} Frame 1Symbol 162 MovieClip {jelly_match_funflow_viral_fla.color_backs_26}
"colors"Symbol 164 MovieClip {game.ItemView} Frame 1Symbol 163 MovieClip {jelly_match_funflow_viral_fla.color_back_wrapper_25}
"active_mc"Symbol 164 MovieClip {game.ItemView} Frame 1Symbol 72 MovieClip
"colors"Symbol 170 MovieClip {util.AnimateItem} Frame 1Symbol 163 MovieClip {jelly_match_funflow_viral_fla.color_back_wrapper_25}
"arrow"Symbol 217 MovieClip {util.Arrows} Frame 1Symbol 68 MovieClip
"arrow"Symbol 217 MovieClip {util.Arrows} Frame 1Symbol 68 MovieClip
"field_mc"Symbol 221 MovieClip {jelly_match_funflow_viral_fla.container_mc_60} Frame 1Symbol 220 MovieClip {game.FieldView}
"arrows"Symbol 225 MovieClip {game.Game} Frame 1Symbol 217 MovieClip {util.Arrows}
"container_mc"Symbol 225 MovieClip {game.Game} Frame 1Symbol 221 MovieClip {jelly_match_funflow_viral_fla.container_mc_60}
"bubbles"Symbol 225 MovieClip {game.Game} Frame 1Symbol 222 MovieClip {util.BubbleEngine}
"lock_mc"Symbol 225 MovieClip {game.Game} Frame 1Symbol 224 MovieClip
"text_tf"Symbol 227 MovieClip {jelly_match_funflow_viral_fla.label_text_66} Frame 1Symbol 226 EditableText
"text_mc"Symbol 228 MovieClip {util.GameMessage} Frame 1Symbol 227 MovieClip {jelly_match_funflow_viral_fla.label_text_66}
"text_tf"Symbol 230 MovieClip {util.Points} Frame 1Symbol 229 EditableText
"bar_mc"Symbol 234 MovieClip {util.ProgressTimeBar} Frame 1Symbol 53 MovieClip
"alert"Symbol 234 MovieClip {util.ProgressTimeBar} Frame 1Symbol 233 MovieClip
"game_mc"Symbol 245 MovieClip {util.GameView} Frame 1Symbol 225 MovieClip {game.Game}
"label_mc"Symbol 245 MovieClip {util.GameView} Frame 1Symbol 228 MovieClip {util.GameMessage}
"points_mc"Symbol 245 MovieClip {util.GameView} Frame 1Symbol 230 MovieClip {util.Points}
"progress_bar"Symbol 245 MovieClip {util.GameView} Frame 1Symbol 234 MovieClip {util.ProgressTimeBar}
"sound_bt"Symbol 245 MovieClip {util.GameView} Frame 1Symbol 240 MovieClip {util.sound.SoundButton}
"pause_bt"Symbol 245 MovieClip {util.GameView} Frame 1Symbol 242 MovieClip {pause_cl}
"restart_bt"Symbol 245 MovieClip {util.GameView} Frame 1Symbol 244 MovieClip {restart_cl}
"colors"Symbol 360 MovieClip {jelly_match_funflow_viral_fla.watr_anim_107} Frame 1Symbol 343 MovieClip
"mouth"Symbol 360 MovieClip {jelly_match_funflow_viral_fla.watr_anim_107} Frame 1Symbol 352 MovieClip
"eyes"Symbol 360 MovieClip {jelly_match_funflow_viral_fla.watr_anim_107} Frame 1Symbol 359 MovieClip
"banner2"Symbol 402 MovieClip {util.Banners} Frame 1Symbol 324 MovieClip {biomass_banner_cl}
"banner1"Symbol 402 MovieClip {util.Banners} Frame 1Symbol 361 MovieClip {watr_banner}
"banner3"Symbol 402 MovieClip {util.Banners} Frame 1Symbol 400 MovieClip {gemx_banner_cl}
"start_bt"Symbol 405 MovieClip {util.Menu} Frame 1Symbol 248 MovieClip {start_cl}
"hiscore_bt"Symbol 405 MovieClip {util.Menu} Frame 1Symbol 250 MovieClip {hiscore}
"sound_bt"Symbol 405 MovieClip {util.Menu} Frame 1Symbol 240 MovieClip {util.sound.SoundButton}
"logo"Symbol 405 MovieClip {util.Menu} Frame 1Symbol 100 MovieClip {logo_cl}
"more_bt"Symbol 405 MovieClip {util.Menu} Frame 1Symbol 252 MovieClip {more}
"host_bt"Symbol 405 MovieClip {util.Menu} Frame 1Symbol 255 MovieClip {host_cl}
"walk_bt"Symbol 405 MovieClip {util.Menu} Frame 1Symbol 404 MovieClip {walktrougth_cl}
"adBox"Symbol 420 MovieClip {CPMStar.Ad} Frame 1Symbol 416 MovieClip
"close_bt"Symbol 420 MovieClip {CPMStar.Ad} Frame 1Symbol 419 MovieClip {ad_close_cl}
"text_tf"Symbol 425 MovieClip {util.ResultPoints} Frame 1Symbol 424 EditableText
"top_tf"Symbol 427 MovieClip {jelly_match_funflow_viral_fla.result_end_text_146} Frame 1Symbol 423 EditableText
"result_points"Symbol 427 MovieClip {jelly_match_funflow_viral_fla.result_end_text_146} Frame 1Symbol 425 MovieClip {util.ResultPoints}
"ok_bt"Symbol 430 MovieClip {util.ResultPopup} Frame 1Symbol 407 MovieClip {menu_result_bt}
"replay_bt"Symbol 430 MovieClip {util.ResultPopup} Frame 1Symbol 409 MovieClip {replay_cl}
"submit_bt"Symbol 430 MovieClip {util.ResultPopup} Frame 1Symbol 412 MovieClip {submit_cl}
"ad"Symbol 430 MovieClip {util.ResultPopup} Frame 1Symbol 420 MovieClip {CPMStar.Ad}
"end_text"Symbol 430 MovieClip {util.ResultPopup} Frame 1Symbol 427 MovieClip {jelly_match_funflow_viral_fla.result_end_text_146}
"submit_tf"Symbol 430 MovieClip {util.ResultPopup} Frame 1Symbol 429 EditableText
"game_mc"Symbol 431 MovieClip {util.Views} Frame 1Symbol 245 MovieClip {util.GameView}
"menu_mc"Symbol 431 MovieClip {util.Views} Frame 1Symbol 405 MovieClip {util.Menu}
"result_mc"Symbol 431 MovieClip {util.Views} Frame 1Symbol 430 MovieClip {util.ResultPopup}
"how_mc"Symbol 431 MovieClip {util.Views} Frame 1Symbol 74 MovieClip {util.HowPopup}
"views"Symbol 432 MovieClip {util.App} Frame 1Symbol 431 MovieClip {util.Views}

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.

Labels

"library"Frame 2
"appear"Symbol 164 MovieClip {game.ItemView} Frame 1
"destroy"Symbol 164 MovieClip {game.ItemView} Frame 64




http://swfchan.com/52/256938/info.shtml
Created: 31/8 -2024 04:48:55 Last modified: 31/8 -2024 04:48:55 Server time: 19/09 -2024 07:29:39